ios系统的安全架构分为硬件和固件层面以及软件层面的安全保障。硬件层面提供了一个加密引擎,用
ios系统的安全架构分为硬件和固件层面以及软件层面的安全保障。硬件层面提供了一个加密引擎,用于加密设备密钥、组密钥以及apple的根证书。此外,还有一个secure enclave模块,用于加密和解密touch id保存的用户指纹密码。在软件层面,用户分区是完全加密的,且这种加密功能无法关闭。苹果的加密引擎是硬件级别的,所有进出存储的数据都需要通过苹果加密引擎进行加密,且加密引擎的密钥与硬件相关,因此无法将一个设备的加密数据转移到另一个设备上进行解密。应用沙盒提供了一个数据保护类的安全机制,可以保护应用数据的安全性。例如,应用沙盒中的数据可以通过数据保护类设置,只有在用户解锁设备后才能读取。
在启动过程中,每个组件都通过苹果的签名进行验证,只有通过验证才能继续执行。iOS设备中集成了名为Boot ROM的代码片段,这段代码被烧制到处理器的一块存储上且为只读。在系统启动时,它会通过苹果的证书对底层引导加载程序进行签名验证。如果验证通过,底层加载引导程序会对引导加载程序进行验证,只有引导加载程序也通过验证后,才会加载内核。整个过程中都有签名验证,如果某一步验证失败,设备将进入恢复和固件升级模式。下面通过刷入固件到手机的流程来详细说明。
为了防止设备降级并确保早期版本缺少最新安全更新,iOS采用了名为“系统软件授权”的过程。以下是iTunes刷入固件到手机的流程:
固件需要通过CPU刷到手机上。在写入固件之前,CPU会让iTunes将固件签名发送到服务器。如果服务器开启了验证,它会返回验证许可或验证许可加一个随机串。只有拿到验证许可,CPU才会真正将固件刷到手机上。如果关闭“开启验证”,早期版本只会返回一个验证许可,可以通过保存SHSH来欺骗CPU刷入固件。
在后续版本中,苹果除了返回验证许可外,还返回了一个随机串。这个随机串与硬件相关且只能使用一次,确保无法模拟,因此保存SHSH无效。
参考链接:https://www.php.cn/link/1e81d9ddb81fa08481c942a7f794300e
菜鸟下载发布此文仅为传递信息,不代表菜鸟下载认同其观点或证实其描述。
版权投诉请发邮件到 cn486com#outlook.com (把#改成@),我们会尽快处理
Copyright © 2019-2020 菜鸟下载(www.cn486.com).All Reserved | 备案号:湘ICP备2022003375号-1
本站资源均收集整理于互联网,其著作权归原作者所有,如有侵犯你的版权,请来信告知,我们将及时下架删除相应资源