私のアプローチでは、初めてユーザーがクレジットカードで支払いをしたいとき、彼はログインパスワードと完全なクレジットカード情報を再入力する必要があります。アンドロイドにクレイドカード情報を保存するのは安全ですか?
成功した後、私はランダムキーを生成し、それをキーストアとしてパックし、最後に内部ストレージにキーストアファイルを保存します。このキーストアファイルはユーザーのログインパスワードによってロックされます。一方、クレジットカード情報はこの鍵で暗号化され、Base64でエンコードされた文字列に変換され、最終的に内部ストレージのファイルに書き込まれます。
次回のクレジットカード決済時には、ユーザーはログインパスワードを再入力する必要がありますので、キーストアファイルのロックを解除してキーを抽出することもできます。この時点で、私はユーザーのクレジットカード情報を解読する能力を持っています。
私のアプローチは、デバイスに保存されたクレジットカード情報を保護することです。安全ですか?
あなたはすべてを守ることはできません。例えば、ユーザは自分のキーボードアプリケーション(例えば、Swype)をインストールすることができ、入力されたときにそのような情報を常に記録することができる。私は重要な部分は、このデータをまったく格納しないというオプションをユーザーに許可することを含め、アプリケーションからのリークを防ぐためのあらゆる妥当な手順を実行していると思います。 – Thor84no
コメントありがとうございます! –