このページは、SafetyNet Attestation API をアプリに統合するために必要な各手順が完了していることを確認するチェックリストです。
割り当て増加のリクエストを送信する前に、このページに記載されている各手順に対応していることを確認してください。
チェックリストの項目
最終更新日: 2019 年 3 月
サービスにおいて、不正行為を検出するために SafetyNet Attestation API 以外の他の情報も使用している。
API キーを適用し、プロジェクト用の割り当てをリクエストして、関連付けられた正しい API キーをアプリで使用している。
アプリで
SafetyNetClient
を使用しており、非推奨のSafetyNetApi
は使用していない。アプリが作成し使用するノンスは 16 バイト以上で、サーバーで生成されたものか、ノンスの一部がサーバーに送信されたデータから作成したものである(後者の方がより好ましい)。
アプリで一時的なエラーに対処するため、時間間隔を広げながらリクエストを再試行している(指数バックオフ)。
管理しているサーバーで API の結果を確認している。
JWS 署名検証は Google が提供するコードサンプルのように、独自のサーバーで実装している。
サーバーでは少なくとも、構成証明レスポンスに含まれるタイムスタンプ、ノンス、APK 名、APK 署名証明書のハッシュを検証している。
テスト目的専用であるため、レスポンス メッセージの検証に Android Device Verification API を使用していない。
割り当ての使用状況をモニタリングするためのシステムがあり、上限を超えそうになると通知される。これにより、需要に基づいて割り当ての増加をリクエストできる。
レスポンスの
ctsProfileMatch
フィールドとbasicIntegrity
フィールドの意味の違いを評価している。SafetyNet Attestation API の好ましくない結果を無視できるように、特定のデバイスまたはユーザー用の動的な許可リストを用意している。
SafetyNet Attestation API で大規模な障害が発生したときに、アプリが正常に機能するように構成できる。
今後の変更や新機能など、サービスに関する重要なお知らせを伝えるために使用される、API のクライアント向けメーリング リストに登録している。