macOS Tahoe 让 Keychain 跨机失效
Copying login keychains between Macs fails on Secure Enclave Macs with Tahoe

我最近在测试 macOS Tahoe 时发现,手动复制 login keychain 文件到其他 Mac 已无法正常工作。过去只需密码就能解锁,但现在 Secure Enclave 机制让密钥与硬件深度绑定。即使密码正确,目标机器因缺少源设备的 Secure Enclave 解密权限,解锁依然失败。系统日志显示 SecKeychainLogin 报错,macOS 最终自动创建了新 keychain。这意味着在 Secure Enclave 设备上,传统的文件迁移方式已彻底失效。
元数据密钥由 Secure Enclave 保护但缓存在应用处理器中,而密钥始终需要往返 Secure Enclave。
HN 评论区
47- xmddmx
如果属实,这真让人不安,因为它暗示我的“全盘”备份其实根本算不上完整的备份。
我想知道,如果你开启了 iCloud Keychain,这是否提供了另一种找回密码的途径?
假设我的 MacBook 被盗了,但我还有 iPhone。我能否用 iPhone 上的密码 App 来提取我的密码?这会包含所有密码,还是只有一部分?
- Jhsto
从 macOS 切换到 Linux 相当痛苦,因为 Mac 上的安全机制太无缝了。但我也意识到,我完全不知道我的密码是如何存储的,又基于什么保障。在 Linux 上学习并配置硬件令牌以正确实现这一切简直是场噩梦(PITA)。不过读了这篇帖子,我心里稍微好受了一点。
- shenenee
这基本上就是它本该运行的方式……
- dfabulich
macOS 登录密钥库(login keychain)能否通过 Time Machine 备份进行备份,以便在原机的 Secure Enclave 丢失或损坏时恢复密钥库?
- ok_dad
听起来他们使用的是信封加密(envelope encryption),并每次利用 Secure Enclave 派生行密钥。说实话,除了让他们提供一个导出工具外,似乎没有太容易的变通方法。我猜他们之前要么没用过信封加密,要么是从密码派生行密钥。这是一个安全的设计,但如今更高的安全性通常意味着更低的可用性。