瞭解安全防護設定

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 權限),且無法透過軟體偵測技術偵測到。

瞭解安全防護機制判定結果

您可以解讀 devicePosturesecurityRisk 的不同組合,瞭解裝置的整體安全性。請注意,以下清單僅列舉部分示例:

  • 如果 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>