securityPosture
是裝置的安全性評估,由目前的裝置狀態決定。裝置目前的狀態取決於多項因素,例如裝置是否已啟用 Root 權限、是否搭載自訂 ROM 等等。
securityPosture
在回應中會細分為 devicePosture
和額外的 postureDetails
清單,後者包含 securityRisk
欄位。
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,也就是說,裝置的啟動完整性狀態可能遭到破壞 (例如裝置可能已取得 root 權限),且無法透過軟體偵測技術偵測到。
瞭解安全防護機制判定結果
您可以解讀 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> |