带有 Touch ID 或 Face ID 的 iPhone 和 Mac 使用单独的处理器来处理您的生物特征信息。 它被称为 Secure Enclave,它本身基本上就是一台完整的计算机,它提供了多种安全功能。
Secure Enclave 与您设备的其余部分分开启动。 它运行自己的微内核,您的操作系统或设备上运行的任何程序都无法直接访问该微内核。 有 4MB 的可闪存存储,专门用于存储 256 位椭圆曲线私钥。 这些密钥对您的设备来说是唯一的,并且永远不会同步到云端,甚至不会被您设备的主操作系统直接看到。 相反,系统要求 Secure Enclave 使用密钥解密信息。
为什么安全飞地存在?
Secure Enclave 使黑客很难在没有物理访问您设备的情况下解密敏感信息。 由于 Secure Enclave 是一个独立的系统,而且您的主操作系统实际上从未看到解密密钥,因此在没有适当授权的情况下解密您的数据非常困难。
值得注意的是,您的生物特征信息本身并不存储在 Secure Enclave 上; 4MB 不足以存储所有数据。 相反,Enclave 存储用于锁定该生物特征数据的加密密钥。
第三方程序也可以在 enclave 中创建和存储密钥以锁定数据,但应用程序本身永远无法访问密钥。 相反,应用程序会请求 Secure Enclave 来加密和解密数据。 这意味着使用 Enclave 加密的任何信息都很难在任何其他设备上解密。
去引用 Apple 为开发人员提供的文档:
当您将私钥存储在 Secure Enclave 中时,您从未真正处理过该密钥,这使得密钥很难被泄露。 相反,您指示 Secure Enclave 创建密钥、安全地存储它并使用它执行操作。 您只会收到这些操作的输出,例如加密数据或加密签名验证结果。
还值得注意的是,Secure Enclave 无法从其他设备导入密钥:它专门用于在本地创建和使用密钥。 这使得解密任何设备上的信息变得非常困难,但创建它的设备除外。
等等,Secure Enclave 不是被黑了吗?
Secure Enclave 是一个精心设计的设置,让黑客的生活变得非常困难。 但是没有完美的安全性这样的东西,并且可以合理地假设有人最终会妥协所有这一切。
2017 年夏天,热情的黑客透露,他们 设法解密了 Secure Enclave 的固件,可能让他们深入了解飞地的工作原理。 我们确信 Apple 更希望这次泄漏没有发生,但值得注意的是,黑客还没有找到一种方法来检索存储在 enclave 上的加密密钥:他们只是解密了固件本身。
出售 Mac 前清理 Enclave
如何清除 MacBook 的 Touch Bar 并保护 Enclave 数据
当您执行恢复出厂设置时,iPhone 上 Secure Enclave 中的密钥会被擦除。 理论上,当您重新安装 macOS 时,它们也应该被清除,但如果您使用的不是官方 macOS 安装程序,Apple 建议您清除 Mac 上的 Secure Enclave。