Play Integrity API: 계정 활동 사전 체험 프로그램(EAP)

Play Integrity API의 새로운 신호인 Play 계정 활동으로 보다 효과적이고 정교한 악용 방지 전략을 수립하세요. 계정 활동은 스토어 활동의 존재와 그 규모 및 기기에 등록된 계정의 이용 기간에 기반한 등급으로 표시됩니다. 평가 시 현재 사용자 세션의 계정 활동 등급이 반환되며 이 등급은 사용자 또는 기기 식별자에 연결되지 않습니다.

Play 계정 활동이란 무엇인가요?

Play Integrity API는 앱 및 게임 개발자가 잠재적으로 위험한 허위 트래픽을 감지할 수 있도록 무결성 신호 모음을 제공합니다. 이 사전 체험 프로그램에 참여하는 개발자는 이미 기기, 애플리케이션, 계정 라이선스 확인 결과가 포함된 API 응답에 계정 활동을 추가할 수 있습니다. 기기, 애플리케이션 또는 라이선스 확인 결과에서 문제가 발생하면 계정 활동이 평가되지 않습니다. 기존 확인 결과에 문제가 없으면 계정 활동에서 등급을 반환합니다. 등급은 스토어 활동의 존재와 그 규모 및 기기에 등록된 계정의 이용 기간에 기반하여 결정됩니다. 이 등급을 통해 앱에서 실제 사용자와 허위 트래픽(예: 사기에 사용되는 계정, 자동 트래픽에 사용되는 계정 또는 기기 팜에서 사용되는 계정)을 구별할 수 있습니다. 앱에서는 중요하거나 민감한 작업을 보호할 때 이 신호를 다른 신호와 함께 사용할 수 있습니다.

사전 체험 프로그램(EAP)에 참여하는 앱은 현재 사용자 세션에 관해 다음 계정 활동 등급 중 하나를 수신할 수 있습니다.

  • UNEVALUATED: 기기를 신뢰할 수 없거나 사용자에게 Play 앱 라이선스가 없어서 계정 활동이 평가되지 않습니다.
  • UNUSUAL: 기기의 사용자 계정 중 하나 이상에서 Google Play 스토어 활동이 평소와 다릅니다. Google Play에서는 실제 사용자인지 확인할 것을 권장합니다.
  • UNKNOWN: Google Play에 기기의 사용자 계정에 관한 스토어 활동이 충분하지 않습니다. 계정이 신규 계정이거나 Google Play에서의 활동이 부족할 수 있습니다.
  • TYPICAL (BASIC): 기기에 있는 사용자 계정의 Google Play 스토어 활동이 일반적입니다.
  • TYPICAL (STRONG): 기기에 있는 사용자 계정의 Google Play 스토어 활동이 일반적이며 복제하기 어려운 신호를 사용합니다.

악용 방지 전략의 일환으로 계정 활동 사용

계정 활동은 단독 악용 방지 메커니즘이 아니라 전반적인 악용 방지 전략의 일부로 다른 신호와 함께 사용할 때 가장 효과적입니다. 이 신호와 Play Integrity API를 앱의 다른 적절한 보안 권장사항과 함께 사용하세요.

작업 진행 전 원격 분석 수집 및 잠재고객 파악

계정 활동 또는 기타 Play Integrity API 확인 결과에 따라 기능을 변경하기 전에 시행 없이 API를 구현하여 기존 잠재고객과 관련된 현재 상황을 파악하세요. 현재 설치한 사용자 수에서 반환되는 등급을 파악하고 나면 계획 중인 모든 시행의 영향을 추정하고 그에 따라 악용 방지 전략을 조정할 수 있습니다.

중요하거나 민감한 기능에 액세스할 때 위험한 트래픽 확인

앱 또는 게임에 대한 액세스를 완전히 거부하는 대신 앱 또는 게임에서 중요하거나 민감한 작업을 식별하여 Play Integrity API로 보호하세요. 가능하면 중요 작업을 진행하도록 허용하기 전에 위험한 트래픽을 확인합니다. 예를 들어 계정 활동 등급이 UNUSUAL인 경우 보호 중인 작업을 사용자가 완료하려면 두 번째 인증 메커니즘이 필요할 수 있습니다.

사용자 지원 계획

가능한 경우 사용자에게 유용한 오류 메시지를 제공하여 인터넷 연결 재시도나 사용 설정 또는 Google Play 스토어 앱이 최신 상태인지 확인하는 등 문제 해결을 위해 할 수 있는 작업을 사용자가 알도록 합니다. 계정 활동 평가는 Google Play에서 주기적으로 업데이트합니다. 새로운 스토어 활동은 이러한 주기적인 업데이트 중에 사용자의 등급을 자동으로 변경할 수 있습니다.

Play Integrity API 기존 권장사항 따르기

이전 권장사항 외에도 Play Integrity API 보안 고려사항을 읽어보세요.

Play Integrity API 계정 활동 사전 체험판 이용

계정 활동을 사용하려면 다음 단계를 따르세요.

1단계: 중요한 고려사항 검토

  • 계정 활동은 현재 개발 중이며 변경될 수 있습니다.
  • 계정 활동은 여전히 기밀입니다. 계정 활동 또는 계정 활동 등급에 관한 정보를 최종 사용자와 공유하지 마세요.
  • 계정 활동을 사용하면 Google Play 개발자 배포 계약Play Integrity API 서비스 약관의 약관에 동의하는 것으로 간주됩니다.
  • 사전 체험 프로그램에 참여하는 개발자는 시행 전략을 변경하기 전에 계정 활동 신호를 평가하고 평가 결과에 관한 의견과 정보를 Google Play에 제공해야 합니다.

2단계: Play Integrity API 계정 활동 EAP 참여 요청

Google Play 게임즈 파트너 프로그램에 참여하는 개발자는 계정 활동 EAP에 자동으로 액세스할 수 있으므로 3단계로 건너뛰어도 됩니다.

다른 개발자는 다음 정보를 이메일로 integrity-api-eap@google.com에 보내 사전 체험 프로그램 참여 의사를 표현할 수 있습니다.

  • 패키지 이름과 개발자 계정 ID
  • 계정 활동 관련 권장사항을 읽었다는 확인 메시지
  • 계정 활동을 평가하려는 방법과 (이미 아이디어가 있다면) 계정 활동을 사용할 방법
  • 계정 활동 사전 체험 프로그램에 등록된 후 예상되는 일정

현재는 계정 상태가 양호하며 Google Play의 대규모 성능 기준을 충족하는 개발자만 허용됩니다.

3단계: Google Play Console의 Integrity API 응답에서 계정 활동 사용 설정

사전 체험 프로그램 참여가 수락되면 Play Console의 Integrity API 페이지에는 Play Integrity API 응답에 계정 활동을 포함할 수 있는 새로운 옵션이 표시됩니다. 준비가 되면 Play Console에서 계정 활동을 사용 설정합니다.

  1. Play Console에 로그인합니다.
  2. 계정 활동을 사용할 앱을 선택합니다.
  3. 왼쪽 메뉴의 출시 섹션에서 앱 무결성으로 이동합니다.
  4. Play Integrity API 옆에 있는 설정을 클릭합니다.
  5. 페이지의 응답 섹션에서 계정 활동 옆에 있는 사용 설정을 클릭합니다.
  6. 나타나는 창에서 사용 설정을 클릭합니다.

계정 활동을 사용 설정 또는 사용 중지하면 Play Console에서 설정한 Play Integrity API 테스트 응답이 삭제되므로 다시 만들어야 합니다.

4단계: 앱 및 앱의 백엔드 서버에서 Integrity API 통합

아직 통합하지 않았다면 문서에 따라 앱 및 앱의 백엔드 서버에 Play Integrity API를 통합하세요.

5단계: 계정 활동 사용

사용 설정되면 Play Integrity API 페이로드accountDetails 필드에 기기의 사용자 계정과 연결된 활동을 나타내는 새 계정 활동 신호가 포함됩니다.

accountDetails: {
  // Represents the licensing status of the user session.
  // This field can be LICENSED, UNLICENSED, or UNEVALUATED.
  appLicensingVerdict: "LICENSED"

  // Represents the activity level associated with the user accounts on
  // the device of the user session.
  accountActivity: {
     // This field can be UNEVALUATED, UNUSUAL,
     // UNKNOWN, TYPICAL_BASIC, TYPICAL_STRONG
     activityLevel: "UNUSUAL"
  }
}

accountActivity가 보유할 수 있는 값은 다음과 같습니다.

UNUSUAL
기기의 사용자 계정 중 하나 이상에서 Google Play 스토어 활동이 평소와 다릅니다.
UNKNOWN
기기에 있는 사용자 계정의 스토어 활동이 Google Play에 충분하지 않습니다. 계정이 신규 계정이거나 Google Play에서의 활동이 부족할 수 있습니다.
TYPICAL(BASIC)
기기에 있는 사용자 계정의 Google Play 스토어 활동이 일반적입니다.
TYPICAL(STRONG)
기기에 있는 사용자 계정의 Google Play 스토어 활동이 일반적이며 복제하기 어려운 신호를 사용합니다.
UNEVALUATED

필요한 요구사항을 충족하지 못하여 계정 활동이 평가되지 않습니다.

이는 다음을 비롯하여 여러 가지 이유로 발생할 수 있습니다.

  • 기기를 충분히 신뢰할 수 없습니다.
  • 기기에 설치된 앱 버전을 Google Play에서 알 수 없습니다.
  • 사용자가 Google Play에 로그인하지 않았습니다.
  • 사용자에게 앱 액세스에 필요한 라이선스가 없습니다.

기기의 사용자 계정에 비정상적인 계정 활동이 있는지 확인하려면 다음 코드 스니펫과 같이 accountActivity.activityLevel이 예상대로인지 확인하세요.

Kotlin

val requestDetails = JSONObject(payload).getJSONObject("accountDetails")
val accountActivity = requestDetails.getJSONObject("accountActivity")
val activityLevel = accountActivity.getString("activityLevel")

if (activityLevel == "UNUSUAL") {
    // One of the accounts is UNUSUAL! Be careful.
}

Java

JSONObject requestDetails =
    new JSONObject(payload).getJSONObject("accountDetails");
JSONObject accountActivity =
    new JSONObject(requestDetails).getJSONObject("accountActivity");
String activityLevel = accountActivity.getString("activityLevel");

if (activityLevel == "UNUSUAL") {
    // One of the accounts is UNUSUAL! Be careful.
}

6단계: 계정 활동과의 통합 테스트

제공되는 Play Integrity API 테스트 기능을 사용하여 Play Integrity API의 계정 활동 등급이 앱과 상호작용하는 방식을 평가하는 테스트를 만들 수 있습니다. 이 테스트 기능을 사용하는 방법은 Play Console 고객센터에서 확인할 수 있습니다.

7단계: Google Play에 사전 체험판 의견 제공

사전 체험 프로그램 참여자는 계정 활동에 관한 의견을 보내주세요. 의견을 제공하려면 integrity-api-eap@google.com으로 이메일을 보내주세요. 개발자 리서치팀에서 면접 일정을 조율하기 위해 연락을 드립니다. 다음 사항에 관한 정보가 도움이 됩니다.

  • 계정 활동 등급이 앱 또는 게임에 관해 알려진 악용 계정과 얼마나 정확하게 관련이 있나요?
  • 계정 활동 및 기타 Play Integrity API 확인 결과의 잠재고객 분포가 예상과 일치하나요?
  • 계정 활동 및 기타 Play Integrity API 확인 결과로 어떤 악용 문제를 해결하려고 하나요?
  • 계정 활동 및 기타 Play Integrity API 확인 결과에 따라 어떤 기능을 변경하려고 하나요?

기타 Play 무결성 도구

악용 방지 전략의 일환으로 다음 무결성 보호 도구를 사용하는 것이 좋습니다.

  • Google Play에서 앱을 찾아 설치할 수 없도록 신뢰할 수 없는 기기를 제외합니다. 이렇게 해도 사용자가 다른 방법(예: 사이드로드)을 통해 앱을 가져오고 설치하는 것을 차단하지는 않습니다.
  • 자동 무결성 보호를 사용하면 코드 변경 없이 무단 수정 및 재배포를 방지할 수 있습니다. 현재 이 기능에 액세스할 수 없다면 파트너 관리자에게 문의하세요.
  • 패키지 이름 보호(사전 체험 프로그램)를 요청하여 Google Play 서비스를 실행하는 Android 11 이상 기기에 앱이 설치될 때마다 알 수 없거나 수정된 버전의 앱을 방지합니다.