iOS設(shè)備的硬件和軟件實現(xiàn)了緊密集成,可確保系統(tǒng)的每個組件均獲得信任抒抬,并對系統(tǒng)進行整體驗證杨刨。從初始啟動到iOS軟件更新,再到第三方應(yīng)用擦剑,每個步驟都經(jīng)過分析和審查妖胀,確保硬件和軟件以最優(yōu)化的方式協(xié)同工作,并以恰當(dāng)?shù)姆绞绞褂觅Y源惠勒。
iOS的啟動引導(dǎo)分為三種模式赚抡,分別是正常模式引導(dǎo)、恢復(fù)模式引導(dǎo)以及固件更新模式引導(dǎo)纠屋⊥砍迹恢復(fù)模式引導(dǎo)在正常模式引導(dǎo)失敗后會進入,固件更新模式在iOS系統(tǒng)升級或者越獄時會使用售担。
安全啟動鏈
啟動過程每個步驟包含的組件都經(jīng)Apple加密簽名以確保其完整性赁遗,只有在驗證信任鏈后,每個步驟才能繼續(xù)族铆。這些組件包括引導(dǎo)加載程序岩四、內(nèi)核、內(nèi)核擴展項和基帶固件骑素。打開iOS設(shè)備后炫乓,其應(yīng)用程序處理器會立即執(zhí)行只讀內(nèi)存(稱為Boot ROM)中的代碼刚夺。這些不可更改的代碼(稱為硬件的信任根)是在制造芯片時設(shè)好的,為隱式受信任代碼末捣。Boot ROM代碼包含Apple根CA公鑰侠姑,該公鑰用于驗證底層引導(dǎo)加載程序(LLB)是否經(jīng)過Apple簽名,以決定是否允許其加載箩做。這是信任鏈中的第一步莽红,信任鏈中的每個步驟都確保下一步驟獲得Apple的簽名。當(dāng)LLB完成其任務(wù)后邦邦,它會驗證并運行下一階段的引導(dǎo)加載程序iBoot安吁,后者又會驗證并運行iOS內(nèi)核。
此安全啟動鏈有助于確保底層的軟件未被篡改燃辖,并只允許iOS運行在經(jīng)過驗證的Apple設(shè)備上鬼店。對于可接入蜂窩移動網(wǎng)絡(luò)的設(shè)備,基帶子系統(tǒng)也使用其類似的安全啟動過程黔龟,包括已簽名的軟件以及由基帶處理器驗證的密鑰妇智。對于搭載A7或更高版本A系列處理器的設(shè)備,Secure Enclave協(xié)處理器還會使用安全啟動過程氏身,用以確保其單獨的軟件經(jīng)過Apple驗證和簽名巍棱。如果該啟動過程中的某個步驟無法加載或驗證下一過程,啟動過程會停止蛋欣,設(shè)備屏幕會顯示“連接到iTunes”航徙。這就是所謂的恢復(fù)模式。如果Boot ROM無法加載或驗證LLB陷虎,它會進入DFU(設(shè)備固件升級)模式到踏。這兩種情況下,設(shè)備都必須通過USB連接到iTunes尚猿,并恢復(fù)為出廠默認(rèn)設(shè)置夭禽。