iPhone手機啟動流程

iOS設(shè)備的硬件和軟件實現(xiàn)了緊密集成,可確保系統(tǒng)的每個組件均獲得信任,并對系統(tǒng)進(jìn)行整體驗證。從初始啟動到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)失敗后會進(jìn)入,固件更新模式在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,它會進(jìn)入DFU(設(shè)備固件升級)模式。這兩種情況下,設(shè)備都必須通過USB連接到iTunes,并恢復(fù)為出廠默認(rèn)設(shè)置。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,062評論 25 709
  • 使用Window的時候需要注意 公司代碼中有一個HUD界面,創(chuàng)建的動畫View是在Window上面的,使用[UIA...
    李小爭閱讀 894評論 0 1
  • 每個人都有一段回憶起來有酸有甜的高三生活,我的高三生活是數(shù)不盡的無聊頹廢,這并不是說我的生活有多糜爛,只是無所事事...
    桃子芒果李子閱讀 258評論 0 0
  • 宋朝有一規(guī)矩,孝子奔喪不能騎馬。 話說宋江接到父親病故的家書,十萬火急往家里趕。走到家門口的張記酒家,...
    娃娃果果妮妮閱讀 1,355評論 0 1
  • 前一階段我寫了一篇文章《才華不會讓你成為好的伴侶,而愛情一定會》,一個讀者在下面留言:如果愛情就只有愛情該多好!隔...
    楊帆叨叨閱讀 1,559評論 2 3

友情鏈接更多精彩內(nèi)容