iPhone手机启动流程

iOS设备的硬件和软件实现了紧密集成,可确保系统的每个组件均获得信任,并对系统进行整体验证。从初始启动到iOS软件更新,再到第三方应用,每个步骤都经过分析和审查,确保硬件和软件以最优化的方式协同工作,并以恰当的方式使用资源。

iOS的启动引导分为三种模式,分别是正常模式引导、恢复模式引导以及固件更新模式引导。恢复模式引导在正常模式引导失败后会进入,固件更新模式在iOS系统升级或者越狱时会使用。

安全启动链

启动过程每个步骤包含的组件都经Apple加密签名以确保其完整性,只有在验证信任链后,每个步骤才能继续。这些组件包括引导加载程序、内核、内核扩展项和基带固件。打开iOS设备后,其应用程序处理器会立即执行只读内存(称为Boot ROM)中的代码。这些不可更改的代码(称为硬件的信任根)是在制造芯片时设好的,为隐式受信任代码。Boot ROM代码包含Apple根CA公钥,该公钥用于验证底层引导加载程序(LLB)是否经过Apple签名,以决定是否允许其加载。这是信任链中的第一步,信任链中的每个步骤都确保下一步骤获得Apple的签名。当LLB完成其任务后,它会验证并运行下一阶段的引导加载程序iBoot,后者又会验证并运行iOS内核。

此安全启动链有助于确保底层的软件未被篡改,并只允许iOS运行在经过验证的Apple设备上。对于可接入蜂窝移动网络的设备,基带子系统也使用其类似的安全启动过程,包括已签名的软件以及由基带处理器验证的密钥。对于搭载A7或更高版本A系列处理器的设备,Secure Enclave协处理器还会使用安全启动过程,用以确保其单独的软件经过Apple验证和签名。如果该启动过程中的某个步骤无法加载或验证下一过程,启动过程会停止,设备屏幕会显示“连接到iTunes”。这就是所谓的恢复模式。如果Boot ROM无法加载或验证LLB,它会进入DFU(设备固件升级)模式。这两种情况下,设备都必须通过USB连接到iTunes,并恢复为出厂默认设置。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,511评论 25 708
  • 使用Window的时候需要注意 公司代码中有一个HUD界面,创建的动画View是在Window上面的,使用[UIA...
    李小争阅读 849评论 0 1
  • 每个人都有一段回忆起来有酸有甜的高三生活,我的高三生活是数不尽的无聊颓废,这并不是说我的生活有多糜烂,只是无所事事...
    桃子芒果李子阅读 243评论 0 0
  • 宋朝有一规矩,孝子奔丧不能骑马。 话说宋江接到父亲病故的家书,十万火急往家里赶。走到家门口的张记酒家,...
    娃娃果果妮妮阅读 1,178评论 0 1
  • 前一阶段我写了一篇文章《才华不会让你成为好的伴侣,而爱情一定会》,一个读者在下面留言:如果爱情就只有爱情该多好!隔...
    杨帆叨叨阅读 1,496评论 2 3