Android
アプリケーションレベルの保護
アプリケーションのインストーラーを検証する
アプリケーションの強制更新
アプリケーションリソースを内部ストレージのみに保存する
SDK がサポートする OS バージョンとの互換性
デバイスのロック画面を有効にする
KeyguardManager kgManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);kgManager.isDeviceSecure()過剰な権限を防ぐ
プラットフォームセキュリティのエクスポート属性
リリースバリアントでアプリケーションのデバッグを無効にする
アプリリンクとディープリンクの評価
自動生成されたスクリーンショットの防止
適切なアプリ署名
注記
アプリケーションデータのバックアップを防止する
機密画面でのアクセシビリティを防ぐ
オーバーレイ攻撃を防ぐ
を参照してください。
専用キーボードが不可能な場合は、カスタマイズされた PIN パッドを優先してください。PIN パッドのレイアウトをシャッフルすることもできます。シャッフルは画面上にランダムなキー配置を生成します。これにより肩越し盗み見やアクセシビリティベースのマルウェア攻撃を軽減できます。
データ保護
アプリケーションは、個人を特定できる情報(PII)などの機密データをサーバーに送信する際には特に注意を払う必要があります。TLS の保護に加えて機密性と認証を強制することを推奨します。
Protecting data at rest
を参照してください。
生体認証を有効にする
多要素認証を強制する
多要素認証(MFA)の強制は、SDK およびアプリケーションの機密操作を保護するための重要なセキュリティ対策です。MFA は、エンドユーザーが機密機能やデータにアクセスする前に複数の認証方式を提供することを要求することで追加のセキュリティ層を加えます。これにより、エンドユーザーの主要な認証要素が侵害された場合でも不正アクセスのリスクを大幅に低減できます。
を使用することを推奨します。
SecureRandom.getInstanceStrong()
を使用することを推奨します。
アプリケーションを初期化する前および機密操作を実行する前に、ルーティングフレームワークやスーパーユーザーバイナリなどの妥協されたデバイス環境を検出してください。詳しくは
アプリケーションでのフッキングの検出
を参照してください。
Debug Detection Methods
Emulator Detection
DexGuard
を使用して難読化されていますが、バイナリパッケージと共有されたルールを適用して Thales TPC SDK の公開 API をアプリ側で難読化することも重要です。難読化の推奨事項に従い、特に次の点に注意を払うことが極めて重要です:
// バイト配列を消去するメソッドを実装する一つの方法は、MemoryHelper 内で配列の各要素を書き換えることです
return;
各機能が完成する前、および最終納品の完了前に、lint を使用してセキュリティ問題を特定して修正してください。
最終更新
役に立ちましたか?