
Apple 裝置的「管理式裝置證明」
iOS 16、iPadOS 16、macOS 14、tvOS 16、visionOS 1.1、watchOS 9 或以上版本提供「管理式裝置證明」。其使用「安全隔離區」提供有關裝置身份及其安全狀況的加密保證。iPad、iPhone、Apple TV 裝置需配備 A11 仿生晶片或後續晶片,並且僅支援採用 Apple 晶片的 Mac 電腦。「管理式裝置證明」有助於防範以下威脅:
被入侵的裝置虛報自身屬性
被入侵的裝置提供過期的認證資訊
被入侵的裝置傳送其他裝置的識別資訊
專用密鑰被竊取並用於惡意裝置
攻擊者劫持憑證要求,誘使憑證授權管理中心(CA)為其簽發憑證
透過管理式裝置證明,裝置可以向 Apple 認證伺服器要求認證,伺服器會返回一組資料,包括根植於 Apple Enterprise Attestation Root CA 的葉憑證和中繼憑證。根據裝置類型,葉憑證可能包含特定屬性,詳情請參見下表。
OID 和值 | 支援的最低作業系統版本 | 說明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
1.2.840.113635.100.8.9.1 序號 | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | 表示裝置的序號,可用於識別裝置。為了保護使用者隱私,使用「使用者註冊」進行「管理式裝置證明」時,此值不會包含在內。 | |||||||||
1.2.840.113635.100.8.9.2 UDID | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | 表示唯一的硬體識別碼,可用於識別裝置。在 Mac 上,UDID 與裝置的佈建 UDID 相符。為了保護使用者隱私,使用「使用者註冊」進行「管理式裝置證明」時,此值不會包含在內。 | |||||||||
1.2.840.113635.100.8.10.2 sepOS 版本 | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | 表示「安全隔離區」韌體的版本。 | |||||||||
1.2.840.113635.100.8.11.1 新鮮度代碼 | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | 唯一且不可預測的代碼,用於識別特定的認證。此代碼表示認證是在代碼製作後產生的。 | |||||||||
1.2.840.113635.100.8.13.1 SIP 狀態 | macOS 14 | 表示採用 Apple 晶片的 Mac 上的 SIP 啟用狀態。 | |||||||||
1.2.840.113635.100.8.13.2 安全開機狀態 | macOS 14 | 表示採用 Apple 晶片的 Mac 其所選安全開機設定。 | |||||||||
1.2.840.113635.100.8.13.3 允許第三方核心延伸功能 | macOS 14 | 表示採用 Apple 晶片的 Mac 上是否允許第三方核心延伸功能。 | |||||||||
1.2.840.113635.100.8.10.3 LLB版本 | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | 表示 Low-Level Bootloader 的版本。 | |||||||||
1.2.840.113635.100.8.10.1 作業系統版本 | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | 表示作業系統和 iBoot 版本。 | |||||||||
1.2.840.113635.100.8.9.4 軟體更新裝置 ID | iOS 16 iPadOS 16 macOS 14 tvOS 16 visionOS 1.1 watchOS 9 | 證明在 | |||||||||
認證要求可透過兩種方式發起:由裝置管理服務傳送的 DeviceInformation 要求,或是安裝 ACME 設定。在這兩種情況下,裝置都會從裝置管理服務或 ACME 解決方案接收到一個新鮮度代碼。使用 DeviceInformation 認證時,新鮮度代碼是要求中指定的 DeviceAttestationNonce 值。使用 ACME 認證時,新鮮度代碼則是來自 device-attest-01 質詢的 SHA-256 雜湊值。產生的值會作為屬性包含在葉憑證中,讓裝置管理服務或 ACME 解決方案能夠驗證該認證是否與原始要求相符。
收到認證後,後端服務需要仔細執行驗證檢查。這些檢查包括確保葉憑證由 Apple Enterprise Attestation Root CA 簽發、將新鮮度代碼的雜湊值與預期值進行比較,以及檢查認證中的其他屬性。
根據組織的部署模式,「管理式裝置證明」可以成為現代安全部署的重要基礎,並以不同方式使用:
使用由 ACME 簽發的憑證來驗證用戶端與裝置管理服務的連線,並運用
DeviceInformation認證持續檢查裝置屬性。驗證裝置的識別身份及其安全狀態,並讓 ACME 解決方案在簽發憑證前執行信任評估。以此方式,確保只有符合所需標準的裝置才能收到憑證。
將裝置的認證屬性嵌入 ACME 憑證中,並讓依賴方執行信任評估。
硬體綁定的密鑰
在透過 ACME 通訊協定簽發憑證的過程中,裝置可能會被要求提供認證,這也會使相關的密鑰組受到「安全隔離區」的保護,受益於其強大的硬體安全性,並有助於防止專用密鑰被輸出。
若要製作硬體綁定密鑰,ACME 設定需使用 ECSECPrimeRandom 演算法,密鑰大小為 256 或 384 位元。此設定指定使用 NIST SP 800-186 中定義的 P-256 或 P-384 曲線密鑰組。
為了產生專用密鑰,「安全隔離區」會先使用以下來源來建立一個封裝的加密編譯密鑰:
其硬體層級的真亂數產生器(TRNG)
儲存在「安全隔離區」安全非揮發性儲存空間中的熵值
資料保護密鑰
作業系統會儲存封裝後的密鑰資料,但這個封裝後的密鑰資料本身並沒有任何作用。若要衍生專用密鑰,「安全隔離區」必須使用相同的密鑰資料、相同的已儲存熵值,以及相同的「資料保護」密鑰。由於已儲存的熵值與「資料保護」密鑰皆為該特定「安全隔離區」所獨有,因此只有該「安全隔離區」能夠產生對應的專用密鑰,這也使硬體綁定密鑰實際上與該「安全隔離區」進行綁定。
當裝置被清除時,「安全隔離區」會抹除已儲存的熵值。因此,即使還原至同一部裝置,硬體綁定密鑰也無法在備份與回復後重新產生。
任何包含 ACME 承載資料與硬體綁定密鑰的設定檔在還原後將被移除。若硬體綁定密鑰用作裝置管理服務用戶端身份識別,裝置將取消註冊。在此情況下,若裝置是透過「自動裝置註冊」進行註冊的,裝置將再次取得其註冊描述檔並重新註冊。