前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >苹果安全体系架构

苹果安全体系架构

作者头像
Al1ex
发布2024-04-29 12:28:26
560
发布2024-04-29 12:28:26
举报
文章被收录于专栏:网络安全攻防网络安全攻防
安全架构

下图是IOS系统安全架构图,它分为两个部分,第一个部分是硬件和固件层上面提供的安全保障,第二个部分是软件上面提供的安全保障,可以看到的是在硬件层上面它有一个加密引擎对我们的设备密钥、组密钥以及Apple的根证书进行加密,除了加密引擎以外它还有一个Secure Enclave的一个模块,这个模块是用来加密和解密我们Touch ID保存用户的指纹密码,在软件层有一个用户分区,整个用户分区是完全加密的,而且这个加密功能是不能关闭的,苹果的加密引擎是硬件级别的,所有进出的存储数据都要通过苹果加密引擎进行加密,而且加密引擎进行加密的key是跟硬件相关的,所以说我不能把一个设备加密的数据拿到另外一个设备上面去解密,应用沙盒提供了一个数据保护类的一个安全机制,这个数据保护类可以保护我们应用类数据的安全性,比如我们在应用沙盒里面写入的数据,我们可以通过数据保护类限定只有在用户解锁了设备之后才能读取这个数据

安全启动

在启动过程中每一步所包含的组件都是通过苹果的签名,只有验证了签名之后才能继续往后面执行,在iOS设备里面集成了一段名为Boot ROM的代码片段,这段代码被烧制到处理器的一块存储上并且是只读的,在系统启动的时候它会通过苹果的证书对底层引导加载程序进行签名验证,如果通过验证的话那么底层加载引导程序就会对引导加载程序进行验证,如果引导加载程序也通过验证了才会去加载内核,在上面所谓的过程中都会有签名验证,如果某一部发现签名验证失败了就会进入到恢复和固件升级模式,下面我们通过的刷入固件到手机上面这么一个流程来讲解

软件授权

为避免设备降级并为缺少最新安全性更新的早期版本,IOS采用了为名为"系统软件授权"的过程,下面的流程是iTunes刷入固件到手机上面的流程:

我们的固件要通过CPU刷到手机上面去,CPU在写入我们的固件之前会让iTunes把我们的固件签名发送到服务器,如果服务器开启了验证的话它就会返回,验证许可或者是验证许可加一个随机串,拿到这个验证许可的时候我们才能通过验证,CPU才会真正的把我们的固件刷到手机上面去上面去,如果关闭"开启验证",在早期的版本只会返回一个验证许可,可以通过保存SHSH来欺骗CPU刷入我们的固件

在后面的版本中苹果除了返回验证许可之外还返回了一个随机串,这个随机串是和硬件相关的并且只能使用一次,也就保证了这个是不能模拟的,所以保存SHSH无效

参考连接

https://www.apple.com.cn/iphone/business/docs/iOS_Security_Guide.pdf

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-28,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 七芒星实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安全架构
  • 安全启动
  • 软件授权
  • 参考连接
相关产品与服务
云硬盘
云硬盘(Cloud Block Storage,CBS)为您提供用于 CVM 的持久性数据块级存储服务。云硬盘中的数据自动地在可用区内以多副本冗余方式存储,避免数据的单点故障风险,提供高达99.9999999%的数据可靠性。同时提供多种类型及规格,满足稳定低延迟的存储性能要求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com