2012-10-24 10 views
5

私のアプローチでは、初めてユーザーがクレジットカードで支払いをしたいとき、彼はログインパスワードと完全なクレジットカード情報を再入力する必要があります。アンドロイドにクレイドカード情報を保存するのは安全ですか?

成功した後、私はランダムキーを生成し、それをキーストアとしてパックし、最後に内部ストレージにキーストアファイルを保存します。このキーストアファイルはユーザーのログインパスワードによってロックされます。一方、クレジットカード情報はこの鍵で暗号化され、Base64でエンコードされた文字列に変換され、最終的に内部ストレージのファイルに書き込まれます。

次回のクレジットカード決済時には、ユーザーはログインパスワードを再入力する必要がありますので、キーストアファイルのロックを解除してキーを抽出することもできます。この時点で、私はユーザーのクレジットカード情報を解読する能力を持っています。

私のアプローチは、デバイスに保存されたクレジットカード情報を保護することです。安全ですか?

答えて

1

を使用してみてください私の記事で私のアプローチは、最終的には私の答えであると思われます。

andriodが内部ストレージ(see this link) にアクセス制限を設定しているため、デバイスが紛失または盗難されても、ハッカーは依然としてキーストアにアクセスしてブルートフォース方式で破ることができません。

しかし、別の問題があります。

根っからの携帯電話では、「悪いプログラム」がソフトキーボードを聴くことができます。私がすべき別の研究があります。

+0

あなたはすべてを守ることはできません。例えば、ユーザは自分のキーボードアプリケーション(例えば、Swype)をインストールすることができ、入力されたときにそのような情報を常に記録することができる。私は重要な部分は、このデータをまったく格納しないというオプションをユーザーに許可することを含め、アプリケーションからのリークを防ぐためのあらゆる妥当な手順を実行していると思います。 – Thor84no

+0

コメントありがとうございます! –

2

デバイスにユーザーのクレジットカードデータを保存しないでください。それを安全にする方法はありません。ルーツの携帯電話は、アプリが機密データにアクセスするためのさらに簡単な方法です。デバイスが紛失または盗難に遭う可能性があります。サーバーへの安全なユーザーログインを実装し、そこでCCデータを保存する必要があります。

このhttp://developer.authorize.net/downloads/

+0

-1技術的に、この正確な使用のために内蔵された安全な要素を備えたいくつかの現在の(そして2年以上古い)デバイスを丸ごと持っているので、あなたはちょっと時代遅れだと思います。 – paulkayuk

+1

私は、時間が経つにつれて、セキュリティもまた簡単に損なわれる可能性があることを理解していると思います。 Androidの開発者サイトの –

+0

[このリンク](http://developer.android.com/guide/practices/security.html#Data)では、キーストアファイルを内部ストレージに置くと、そのファイルは私のアプリケーション。私のキーストアファイルを保護して、ブルートフォース攻撃から保護することで十分ですか? –

0

ユーザーデバイスに決してクレジットカード番号を保存しないでください。

PCIでは、暗号化された要素の四半期ごとの鍵の変更が必要です。これをどのように達成しますか?ユーザーに3か月ごとにパスワードを変更するように強制する?もし彼らがそれを変更するためにログインしないのであれば?

攻撃者がシステムを破壊しようとすると、攻撃者は「顧客」になる可能性が非常に高くなります。攻撃されたことが検出されたり抵抗されたりすることなく、自分のデバイスで正しく処理できます。その後、彼はあなたの他の顧客の口座を攻撃するために学んだことを使うことができます。あなたが取り組んでいるウェブサイトを教えてください - この設計方法に従えば、遠く離れていたいです。

+0

「四半期キーの変更」は、キーストア内のキーを頻繁に変更する必要があることを意味しますか? –

+0

「四半期キーの変更」は、キーストア内のキーを頻繁に変更する必要があることを意味しますか?たぶん、ユーザーのログイン後または支払いを終えるたびに秘密鍵を変更することで達成できます(ユーザーは常にクレジットカードで支払う前にパスワードを再入力する必要があります)。一方、...キーストアは、アンドロイドOSによって保護されている内部ストレージに格納されていますが、OSによって提供されるセキュリティ機構を信頼してはいけないという意味ですか? –

関連する問題