|
知识路径: > 网络信息安全概述 > 网络信息安全目标与功能 > 移动应用安全需求分析与安全保护工程 > iOS系统安全与保护机制 >
|
相关知识点:1个
|
|
|
|
iOS平台的安全架构可以分为硬件、固件、软件,如下图所示。
|
|
|
|
|
硬件、固件层由设备密钥、设备组密钥、苹果根认证、加密引擎、内核组成。Secure Enclave是苹果高版本A系列处理器中的协处理器,独立于应用处理器之外,提供所有加密操作。
|
|
|
软件层则由文件系统、操作系统分区、用户分区、应用沙盒及数据保护类构成。
|
|
|
苹果基于这一整体安全架构,集成了多种安全机制,共同保护iOS平台的安全性,主要安全机制如下。
|
|
|
|
iOS平台的安全依赖于启动链的安全,为防止黑客攻击启动过程,iOS启动过程使用的组件要求完整性验证,确保信任传递可控。iOS启动过程如下图所示。
|
|
|
打开iOS设备后,其应用处理器会立即执行只读内存(也称为引导ROM)中的代码。这些不可更改的代码是在制造芯片时设置好的,为隐式受信任代码。引导ROM代码包含苹果根CA公钥,该公钥用于验证底层引导加载程序(LLB)是否经过苹果签名,以决定是否允许其加载。引导路径从引导ROM出来之后分叉为两条执行路径:一条是普通引导;另一条则是设备固件更新模式,这个模式用于更新iOS镜像。
|
|
|
|
|
|
针对移动设备因丢失或被窃取导致的泄露数据的风险,苹果公司的iOS 4提供了数据保护API(Data Protection API)。API让应用开发者尽可能简单地对文件和keychain项中存储的敏感用户数据施以足够的保护,以防它们在用户设备丢失时被泄露。
|
|
|
|
加解密是耗时耗能源的操作,而iOS内所有用户数据都是强制加密的,加密功能不能关闭。苹果的AES加解密引擎都是硬件级的,位于存储与系统之间的DMA内,所有进出存储的数据都要经过硬件的加密与解密,这样提供了较高的效率与性能。除此之外,iOS提供了名为File Data Protection的数据保护方法。所有文件在加密时使用的key都是不同的,这些key被称作Profile Key,存储于Metafile内。
|
|
|
|
iOS引入地址空间布局随机化(ASLR)安全保护技术,利用ASLR技术,确保iOS的二进制文件、库文件、动态链接文件、栈和堆内存地址的位置是随机分布的,从而增强抗攻击能力。
|
|
|
|
为防止应用攻击,iOS系统要求所有可执行程序必须使用苹果公司发放的证书签名。
|
|
|
|
iOS为限制恶意代码执行所造成的破坏,提供iOS沙箱机制,通过沙箱机制,可以限制进程的恶意行为。
|
|
|