コード内の暗号プリミティブのすべてのインスタンスを特定します。すべてのカスタム暗号実装を特定します。以下のものを探すことができます。
クラス Cipher, Mac, MessageDigest, Signature
Cipher
Mac
MessageDigest
Signature
インタフェース Key, PrivateKey, PublicKey, SecretKey
Key
PrivateKey
PublicKey
SecretKey
関数 getInstance, generateKey
getInstance
generateKey
例外 KeyStoreException, CertificateException, NoSuchAlgorithmException
KeyStoreException
CertificateException
NoSuchAlgorithmException
java.security.*, javax.crypto.*, android.security.*, android.security.keystore.* パッケージを使用するクラス
java.security.*
javax.crypto.*
android.security.*
android.security.keystore.*
getInstance へのすべてのコールで、指定しないことによりセキュリティプロバイダのデフォルト provider (つまり AndroidOpenSSL 別名 Conscrypt を意味する) を使用することを特定します。 provider は KeyStore 関連のコードでのみ指定できます (その場合 KeyStore は provider として提供される必要があります) 。他の provider が指定されている場合は、状況とビジネスケース (Android API バージョンなど) にしたがって検証する必要があり、 provider は潜在的な脆弱性に対して検査する必要があります。
provider
KeyStore
"モバイルアプリの暗号化" の章で説明されているベストプラクティスに従っていることを確認します。 非セキュアおよび非推奨のアルゴリズム および よくある設定の問題 をご覧ください。
暗号メソッドで メソッドトレース (Method Tracing)arrow-up-right を使用して、使用されている鍵などの入出力値を判別できます。暗号操作の実行中にファイルシステムへのアクセスを監視し、鍵マテリアルの書き込み先または読み取り元を評価します。たとえば、RMS Runtime Mobile Security の API monitorarrow-up-right を使用してファイルシステムを監視します。
Last updated 2 months ago