securityPosture
는 현재 기기 상태에 따라 결정되는 기기의 보안 평가입니다.
현재 기기 상태는 기기가 루팅되었는지, 맞춤 ROM을 실행 중인지 등의 요인에 따라 결정됩니다.
securityPosture
는 응답에서 devicePosture
및 securityRisk
필드가 포함된 추가 postureDetails
목록으로 분류됩니다.
securityRisk
필드는 기기가 가장 안전한 상태로 간주되지 않는 이유를 알려 주고 advice
목록은 기기의 보안 상태를 개선하기 위한 작업을 실행하는 데 도움이 됩니다.
예를 들면 다음과 같습니다.
{ "devicePosture": "POTENTIALLY_COMPROMISED", "postureDetails": [ { "securityRisk": "UNKNOWN_OS", "advice": [ { "defaultMessage": "The user should lock their device's bootloader." } ] }, { "securityRisk": "HARDWARE_BACKED_EVALUATION_FAILED" } ] }
보안 태세 평가
기본적으로 securityPosture
는 키 증명, 특히 해당하는 경우 하드웨어 지원 키 증명 (HBKA)을 사용하여 평가되며, 보안 하드웨어에서 증명을 생성하고 서명함에 따라 신뢰할 수 있는 보안 확인 결과를 제공합니다.
이 평가에 HBKA를 사용할 수 없는 경우도 있습니다. 이를 반영하기 위해 securityRisk
는 'HARDWARE_BACKED_EVALUATION_FAILED'를 반환합니다. 즉, securityPosture
는 평가할 수 있지만 HBKA는 평가할 수 없습니다. 즉, 기기의 부팅 무결성 상태가 손상될 수 있으며 (예: 기기가 루팅될 수 있음) 소프트웨어 기반 감지에서는 감지되지 않을 수 있습니다.
보안 상태 확인 결과 이해하기
devicePosture
및 securityRisk
의 다양한 조합을 해석하여 기기의 전반적인 보안을 파악할 수 있습니다. 아래 목록은 일부일 뿐 전체 목록이 아닙니다.
devicePosture
가 'SECURE'를 반환하고securityRisk
가 'HARDWARE_BACKED_EVALUATION_FAILED'를 반환하면 기기의 무결성이 안전하지만 HBKA에서 이를 확인할 수 없습니다.devicePosture
가 'POTENTIALLY_COMPROMISED'를 반환하고securityRisk
결과가 반환되지 않으면 평가에 HBKA가 사용되고 기기가 손상된 것으로 간주됩니다.devicePosture
가 'POTENTIALLY_COMPROMISED'를 반환하고securityRisk
가 'HARDWARE_BACKED_EVALUATION_FAILED'를 반환하면 소프트웨어 기반 검사만 실행할 수 있지만 무결성 위협 신호가 충분히 강력하여 기기를 손상된 것으로 간주할 수 있습니다.devicePosture
가 'POSTURE_UNSPECIFIED'를 반환하면 보안 평가를 완료할 수 없습니다. 새 확인 결과가 반환될 때 발생하는 HBKA 재발급을 기다렸다가 특정 값을 반환할 수 있는지 확인하는 것이 좋습니다. 그러나 초기 설치 시 'POSTURE_UNSPECIFIED'가 잠시 발생할 수 있습니다.
Android Management API와 Play Integrity API 매핑
다음 표에는 AM API 확인 결과와 Play Integrity API 확인 결과 응답 간의 매핑 등가가 나와 있습니다.
AM API DevicePosture | AM API Posture.Detail.SecurityRisk | Play Integrity API 결과에 상응하는 값 |
---|---|---|
SECURE |
SECURITY_RISK_UNSPECIFIED |
MEETS_STRONG_INTEGRITY |
SECURE |
포함: HARDWARE_BACKED_EVALUATION_FAILED |
MEETS_DEVICE_INTEGRITY |
POTENTIALLY_COMPROMISED |
포함: UNKNOWN_OS |
MEETS_BASIC_INTEGRITY |
POTENTIALLY_COMPROMISED |
포함: COMPROMISED_OS |
<unset> |
POSTURE_UNSPECIFIED |
<any> |
<unset> |