2017-03-03 9 views
1

私のAndroidアプリケーションでは、RSA、ECDH、AESなどの鍵を安全に保管する必要があります。ユーザーが入力したパスワードを使用して暗号化/復号化されます。私のオプションは、アンドロイドキーストア、バウンシーキャッスルUBERキーストア、共有プリファレンスでの暗号化とストアです。 Androidのキーストアは、カスタムパスワードでキーを暗号化しないため、オプションではありません。 UBERは良い解決策だと思われますが、鍵を保管する際に問題があります。そのため、AES GCMを暗号化して共有設定に入れることを考えています。または、AES GCMがバウンス城で使用されているTwofishよりも優れているため、さらに安全ですか?Bouncy Castleキーストアにキーを格納するのは、共有設定を暗号化して保存するよりも安全ですか?

+0

「Androidキーストア(...)が_custom_パスワードで鍵を暗号化しない」という意味を説明してください。私はちょうど[これを](https://stackoverflow.com/questions/43891059/storing-keystore-password-for-certificate-pinning-in-android)に遭遇しました。そこには、パスワードで保護された鍵を保存する可能性が示唆されています私たちが同じページにいるかどうかわかりません – Antek

答えて

0

GCMモードでAES-256で暗号化して共有設定に保存すると問題はありません。 AES-256はNSA Suite B仕様の一部であり、対称暗号化の場合とほぼ同じです。 (https://en.wikipedia.org/wiki/NSA_Suite_B_Cryptography)このリンクは、NSAが暗号の量子攻撃に直ちに対処する新しいスイート勧告をすぐに発行することを期待しているが、そのような攻撃は近い将来(3-5)

関連する問題