SafetyNet Attestation API 통합 체크리스트

이 페이지에서는 SafetyNet Attestation API를 앱에 통합하는 데 필요한 각 단계를 완료했는지 확인하는 체크리스트를 제공합니다.

할당량 증가 요청을 제출하기 전에 먼저 이 페이지에 나온 각 단계를 처리해야 합니다.

체크리스트 항목

최종 업데이트: 2019년 3월

  • 서비스는 SafetyNet Attestation API 외에 다른 신호도 사용하여 악용 사례를 감지합니다.

  • API 키를 신청했고 프로젝트용 할당량을 요청했으며 앱에서 올바른 관련 API 키를 사용했습니다.

  • 앱은 SafetyNetClient를 사용하며 지원 중단된 SafetyNetApi를 사용하지 않습니다.

  • 앱은 최신 버전의 Google Play 서비스가 설치되어 있는지 확인합니다.

  • 앱은 서버에서 생성되거나 더 나은 16바이트 이상의 큰 nonce를 만들어 사용하며, nonce의 일부는 서버로 보내는 데이터에서 파생됩니다.

  • 앱은 재시도 사이의 시간을 점점 늘려가며 요청을 다시 시도하여(지수 백오프) 일시적인 오류를 처리합니다.

  • 직접 제어하는 서버에서 API의 결과를 확인합니다.

  • Google이 제공하는 코드 샘플의 예처럼 자체 서버에서 JWS 서명 검사기를 구현했습니다.

  • 최소한, 서버는 증명 응답에 포함된 타임스탬프, nonce, APK 이름, APK 서명 인증서 해시를 확인합니다.

  • 응답 메시지를 검사하는 데 Android Device Verification API를 사용하지 않습니다. 이 API는 테스트 목적으로만 사용합니다.

  • 할당량 사용을 모니터링하여 할당량 초과에 가까워지면 알려 주는 시스템을 마련합니다. 이렇게 하면 수요에 따라 할당량 증가를 요청할 수 있습니다.

  • 응답에서 ctsProfileMatch 필드와 basicIntegrity 필드 사이의 해석 차이를 평가합니다.

  • 적합하지 않은 SafetyNet Attestation API 결과를 무시하도록 특정 기기나 사용자에 적용되는 동적 허용 목록을 마련합니다.

  • SafetyNet Attestation API에서 대규모 중단이 발생해도 정상적으로 작동하도록 앱을 구성할 수 있습니다.

  • API의 클라이언트 메일링 리스트에 가입했습니다. 이 리스트는 서비스와 관련하여 예정된 변경사항이나 새 기능과 같은 중요 공지사항을 전달하는 데 사용됩니다.