PC용 Google Play 게임즈 무결성 보호

PC용 Google Play 게임즈는 Play Integrity API와 기타 여러 Google Play 기능을 통해 무결성 보호를 지원하여 게임이 신뢰할 수 없는 소스에서 조작되거나 이러한 소스에서 설치되지 않도록 합니다.

Play Integrity API

Play Integrity API를 사용하면 잠재적으로 위험하고 허위일 가능성이 있는 상호작용으로부터 게임을 보호할 수 있습니다. 이 API를 사용하면 사기, 속임수, 무단 액세스와 같은 공격 및 악용을 줄일 수 있습니다. Play Integrity API는 SafetyNet Attestation API(SNAA)와 Play App Licencing API를 대체합니다. SNAA는 PC용 Google Play 게임즈에서 작동하지 않습니다.

기기 무결성 필드

deviceRecognitionVerdict 필드에는 기기가 앱 무결성을 얼마나 잘 시행할 수 있는지 나타내는 단일 값 deviceRecognitionVerdict가 포함됩니다. 기본적으로 deviceRecognitionVerdict는 다음 값 중 하나를 보유할 수 있습니다.

  • MEETS_DEVICE_INTEGRITY: 앱이 Google Play 서비스가 설치된 Android 지원 기기에서 실행 중입니다. 기기는 시스템 무결성 검사를 통과하고 Android 호환성 요구사항을 충족합니다.
  • MEETS_VIRTUAL_INTEGRITY: 앱이 Google Play 서비스가 설치된 가상 Android 환경에서 실행 중이며 현재 PC용 Google Play 게임즈로 제한됩니다. 환경은 핵심 Android 호환성 요구사항을 충족하고 Google Play 무결성 검사를 통과합니다.
  • 없음(예: 빈 값): 앱이 공격(예: API 후킹)이나 시스템 손상(예: 루팅됨) 징후가 있는 기기에서 실행 중이거나 Google Play 무결성 검사를 통과하지 못한, 실제 기기가 아닌 기기(예: 에뮬레이터)에서 실행 중입니다.

Play Integrity API는 deviceRecognitionVerdictMEETS_VIRTUAL_INTEGRITY를 사용하여 게임이 PC용 Google Play 게임즈에서 실행 중임을 나타냅니다. 다음은 Play Integrity API의 통과 응답 예입니다.

deviceIntegrity: {
    // "MEETS_VIRTUAL_INTEGRITY" indicates the game is running on Google Play Games on PC
    deviceRecognitionVerdict: ["MEETS_VIRTUAL_INTEGRITY"]
}

모바일과 PC용 Google Play 게임즈에서 모두 크로스 플랫폼 게임을 사용할 수 있다면 유효성 검사 로직에서 MEETS_VIRTUAL_INTEGRITYMEETS_DEVICE_INTEGRITY를 모두 확인해야 합니다.

자동 무결성 보호

자동 무결성 보호는 게임이 실행될 때마다 Google Play에서 추가하는 런타임 검사입니다. 조작되었거나 Google Play를 통해 설치되지 않은 게임은 실행되지 않도록 자동 무결성 보호를 통해 차단할 수 있습니다. 자동 무결성 보호는 기기를 확인하지 않습니다. Play Integrity API를 사용하여 기기 무결성 상태를 가져와야 합니다.

자동 무결성 보호는 다음 기능을 사용하여 무결성 보호를 지원합니다.

  • Google Play를 통한 설치 요구: 앱이 Google Play에서 설치되었는지 확인하는 검사를 추가합니다. 검사를 통과하지 못하면 사용자에게 Google Play에서 앱을 다운로드하라는 메시지가 표시됩니다. 이 기능은 기본적으로 사용 설정되어 있지만 사용 중지할 수도 있습니다. 이 기능을 사용 중지하면 유료 앱의 불법 복제 방지 기능이 사용 중지됩니다.
  • 수정 제한: 앱이 수정되지 않았는지 확인하는 검사를 추가합니다. 검사를 통과하지 못하면 앱이 실행되지 않습니다. 이 기능은 항상 사용 설정되어 있으며 사용 중지할 수 없습니다.
  • 리버스 엔지니어링 제한: 난독화와 함께 공격자가 런타임 검사를 삭제하기 어렵게 하는 기타 고급 기법을 추가합니다. 이 기능은 항상 사용 설정되어 있으며 사용 중지할 수 없습니다.

자동 무결성 보호는 개발자가 선택해야 사용할 수 있습니다. 코드 변경이나 개발자 작업이 필요하지 않습니다.

데이터 또는 인터넷 연결 여부와 관계없이 보호 기능이 실행됩니다. 서버 측 구성요소는 필요하지 않습니다. 기기의 Play 스토어 앱이 장시간 오프라인 상태인 경우 'Play에서 설치 필요'를 선택하면 데이터 연결 여부를 주기적으로 확인합니다.