私は、Android 4.3で導入された安全で改良されたキーストアを使用して調査しています。Androidキーストア、鍵の安全な値
このキーストアに暗号化キーを格納したいと思っています。このキーは、sqllite dbと共有設定に含まれる値を暗号化するために使用されます。
私は以下を参照してください。SDKのキーストアのサンプルを見てみましょう:
public static final String ALIAS = "my_key"
誰かが私のコードを逆コンパイルすることができるだろう場合、それらはクリアテキストの別名を見ることができるようになる(=キーキーストアから暗号化キーを取得するため)、私の暗号化キーへの参照を取得することができます。私はALIASを秘密に管理できますか?または私はここでポイントを逃していますか?
の良い例えばSecretKeyWrapper.javaを参照してください?私は現在、サンプルからKeyStoreHelper.javaを探しています。 KeyPairGeneratorから生成されたKeyPairオブジェクトがあることがわかります。このオブジェクトにプライベートキーと公開キーが含まれていますか?攻撃者が自分のコードを再パッケージし、これらのキーにアクセスすることは可能でしょうか? –
@ user2987274パスワードは、「load」内の['KeyStore'](http://docs.oracle.com/javase/7/docs/api/java/security/KeyStore.html)クラスとともに使用されます。 'getKey'メソッドと' setKeyEntry'メソッドです。キーストアにキーを格納するまで、キーには関連付けられたパスワードはありません。したがって、新しく生成された 'KeyPair'オブジェクトには、キーストアに永続化するまではパスワードがありません。 –
私のコードを逆コンパイルしてALIASへの参照を取得する人は、コードを再パッケージ化できず、KeyPairへの参照を取得できないため、永続化されませんでしたか?その人が正しいKeyPairへの参照を取得できないようにしますか? –