iPhoneアプリにクレジットカード番号を保存する必要があります。データを安全に保存する方法。キーホルダーを見てきました。それとは別に、私が使用できるものはありますか。
4 に答える
上記のように、最初にこれの合法性を調べる必要があります。特に、Appleがアプリストアに何を入れるかについての制限があります。
そうは言っても、私は以前に機密情報を暗号化する必要があり、AES-256暗号化を採用することにしました。ユーザー名、パスワード、個人データはネットワーク経由で送信されていたため、必要でした。私はこれにFBEncryptを使用しました-これはCCCryptの優れたラッパーです。
https://github.com/dev5tec/FBEncryptor
これにより、特にbase-64エンコーディングとAES-256エンコーディングを実行できるようになり、非常に便利です。本当に必要な場合はチェックしてください!
述べたように、この質問に答えるのは難しいです。必要なセキュリティのレベルを決定するのは、要件の作成者次第です。彼らは、もしあれば、データの漏洩に対してどのような責任が発生する可能性があるかについて、いくつかの法的助言を得たいと思うかもしれません。
適切な保護レベルがわかれば、ソリューションの評価を開始できます。キーチェーンは優れていますが、利用可能な暗号化オプションはかなりあります。
番号を保存する方法以外に回答を得たいと思うかもしれない質問は次のとおりです。
- 番号を公開するにはどのような認証が必要ですか?
- 暴露された数の予想されるライフサイクルは何ですか?
- 番号はどのくらい公開されたままにできますか?
- 番号はどのようにメモリから削除されますか?
- 公開された番号はどのように使用できますか?
- 番号をユーザーに表示することはできますか?
- 番号をクリップボードにコピーすることを許可しますか?
情報(あらゆる情報)の保護に真剣に取り組みたい場合は、真剣な設計作業を行う必要があります。
あなたはこれについて非常に真剣な調査を行う必要があり、あなたの側で徹底的な調査と確認なしにこのサイトの人々が言うことを必ずしも受け入れる必要はありません。
クレジットカード情報などの情報を保存することは、このサイトIMOの応答だけに基づいて実装する必要があるものではありません。
真面目な人は、「iOSアプリケーションのハッキングとセキュリティ保護」という本の内容を読んで理解し、適用して、危険性とその危険性を軽減する方法、そして人々が言うテクニックが実際には安全ではないことを理解する必要があります。あなたが思うほど安全です。
この場合、暗号化とSSL/HTTPSの使用で十分と思われます。このサブジェクトを初めて使用する場合は、ここに適切な一般的なガイドラインがあります:モバイルアプリ開発のヒント:データセキュリティを確保する方法
多くの実装があります。たとえば、上記のAES256アルゴリズムを使用できます。
- アプリが初めてクレジットカード番号を保存すると、ランダムなmasterKeyと初期化ベクトル(IV)が生成されます。後で暗号化に使用します。
- masterSaltが生成され、ローカルに保存されます。
- plainPasswordとmasterSaltを使用して、ハッシュ(PBKDF2)が計算されます。
- AES256アルゴリズムを使用して、計算されたハッシュはMasterKeyとIVの両方を暗号化するために使用されます。
- 暗号化されたMasterKeyとIVはローカルに保存されます。
- plainPasswordとmasterSaltハッシュ(PBKDF2)を使用してMasterKeyとIVを復号化します。
- 次に、AES256アルゴリズムを使用してMasterKeyとIVでデータを暗号化します。