主要观点:依靠 FileVault 和 APFS 通过加密包含文档和数据的卷来保护秘密,其工作原理对很多人是个谜,此文试图揭开其神秘面纱。
关键信息:
- 朴素加密:简单加密方案存在诸多弱点和困难,如用户密码难以记忆、易破解且丢失遗忘后无恢复途径。
- FileVault 基础加密:T2 或苹果硅芯片的 Mac 机中,FileVault 禁用时内部 SSD 上数据卷仍加密,由安全隔区处理密钥和加密/解密,生成用于加密卷的密钥(VEK)需要两个大数、Mac 独有的硬件密钥和安全隔区生成的 xART 密钥,擦除所有内容和设置时 VEK 被安全擦除,数据不可访问且无法恢复或重建,此方案可自动解锁解密但不由用户控制,需启用 FileVault 获得全保护。
- FileVault 全加密:通过用密钥加密密钥(KEK)来加密 VEK 实现,用户输入 FileVault 密码后与硬件密钥结合生成 KEK,再与硬件和 xART 密钥一起用于解密/加密 VEK,具有可更改 KEK 而无需重新加密整个卷、生成多个 KEK 支持恢复密钥等重要益处。
- APFS 加密:True FileVault 需将所有密钥存储在安全隔区,Intel Mac 机无 T2 芯片及外部存储等其他保护卷使用 APFS 的 AES 密钥包装规范,用密码等秘密维持密钥机密性,APFS 也使用单独的 VEK 和 KEK,可在单个 VEK 上使用多个 KEK 且可更改 KEK 而无需解密和重新加密整个卷,VEK 和 KEK 存储在与容器和卷相关的 Keybags 中,不同秘密可用于包装 KEK,目前 APFS 正常软件加密中仅用户密码和机构恢复密钥可用。
重要细节:文中配有多张图表辅助说明相关加密过程和原理,如各种密钥的生成和使用流程等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。