Keychain

使用到

保存 密码 密钥 证书等

Keychain 访问控制

每个 Keychain 中的 Keychain 项,包含了授权访问的控制信息(访问对象 access object)

其中每个 Keychain 数据关联了 ACL(访问控制列表),每个 ACL 包含一个操作系统的验证标志,用于验证操作的合法性。

每个 ACL 条目中包含了一份执行特定操作的可信任应用程序列表(tursted application)

且工作机制是白名单,如果程序请求Keychain时,ACL为空,那么系统

如果不为空,就会判断是否时 信任的应用程序,如果是直接允许用户访问,如果不在对应的可信任条例里面,需要访问密码解锁。

FileVault2

磁盘加密技术

通过 AES 对称加密 使用128位密钥

有三种攻击

  1. 旁路攻击

    针对操作系统攻击

    利用创建一个有解密磁盘权限的用户组,删除了其他用户,从而导致,之后的磁盘不能解密,也没有账户可以登录,从而磁盘再也无法访问。

  2. 内存攻击

    可以在内存中直接搜索到 密钥 (主密钥)存在系统系统内核中的只读区域中

  3. 物理攻击

    DMA

代码签名

公开密钥加密算法