iPhone 和 iPad 裝置的開機程序
開機程序中每個步驟包含的元件都經過 Apple 加密編譯簽署以啟用其完整性檢查,如此一來,每個步驟都必須在驗證信任鏈結後才能繼續。這些元件包含啟動程式、核心、核心延伸功能和行動網路基頻韌體。此安全開機鏈旨在確認底層的軟體未經竄改。
開啟 iPhone 和 iPad 裝置後,其「應用程式處理器」會立即執行唯讀記憶體(稱為開機 ROM)中的程式碼。此類無法更改的程式碼(稱為硬體的信任根)是在製造晶片時完成設定,且已間接獲得信任。開機 ROM 程式碼包含 Apple Root 憑證授權管理中心(CA)公用密鑰,該公用密鑰用於驗證 iBoot Bootloader 是否經過 Apple 簽署,以決定是否允許其載入。這是信任鏈結中的第一步,信任鏈結中的每個步驟都會檢查下一個步驟經由 Apple 簽署。當 iBoot 完成其任務後,便會驗證和執行 iOS 或 iPadOS 核心。若為配備 A9 或較早 A 系列處理器的裝置,會載入額外的 Low-Level Bootloader(LLB)階段並由開機 ROM 加以驗證,接著會載入並驗證 iBoot。
視硬體而定,載入或驗證以下階段失敗的處理方式會有所不相同:
開機 ROM 無法載入 LLB(較舊裝置):裝置韌體升級(DFU)模式
LLB 或 iBoot:復原模式
在兩種情況下,裝置都必須透過 USB 連接 Finder(macOS 10.15 或以上版本)或 iTunes(macOS 10.14 或較早版本),並回復為出廠預設值。
「開機進度暫存器」(BPR)是「安全隔離區」用來在不同模式中限制使用者資料存取的機制,其會在進入以下模式前更新:
DFU 模式:在配備 Apple A12 或較新版 SoC 的裝置上透過開機 ROM 設定
復原模式:在配備 Apple A10、S2 和較新版 SoC 的裝置上透過 iBoot 設定
在具有行動數據連線功能的裝置上,行動網路基頻子系統會使用已簽署的軟體以及由基頻處理器驗證的密鑰,來執行其他安全開機作業。
「安全隔離區」也會執行安全開機,以檢查其軟體(sepOS)已經過 Apple 驗證和簽署。