苹果在 macOS Tahoe 里改了钥匙串,安全性更高了。可登录钥匙串被绑到设备专属的安全隔区密钥上之后,用户没法再手动拷贝这份文件,拿到另一台 Mac 上继续用。
针对 Mac 用户的攻击越来越精细,AI 也让恶意软件和新的入侵手法更容易出现。苹果一直在给系统和软件加安全措施,用来对付这些威胁,但对管理员来说,这些改动有时也会变成负担。
Rich Trouton 在 9 月 8 日的一篇博文里写到,登录钥匙串文件没法再从一台 Mac 手动拷到另一台。至少,拷过去之后,在新机器上没法正常使用。
他解释说,登录钥匙串是用户主目录里的一个 SQLite 数据库文件,以前可以直接从一台 Mac 拷到另一台。早期系统上拷过去就能用;到了 macOS Tahoe,只要机器用了安全隔区,这份文件就用不了了。
安全隔区保管着保护钥匙串属性的元数据密钥,解密钥匙串必须靠这些属性。改完之后,访问登录钥匙串文件都得经过安全隔区。
元数据密钥可以缓存在应用处理器里,方便快速读取钥匙串条目。但这个缓存本身也得先访问安全隔区才能建立。
把钥匙串文件挪到另一台 Mac 上,那边没有原来那颗安全隔区,文件就打不开。
macOS Tahoe 里改掉的这条链
这件事最近才被广泛注意到,实际改动发生在今年 3 月。Trouton 和 Jeff Johnson 9 月 10 日的另一篇文章都指出,是 macOS 26.4 更新带进来的。
测试确认,macOS 26.3 上还能拷这份文件,虚拟机里也一样。但从运行 macOS 26.4 的虚拟机里拷出登录钥匙串,到别的 Mac 上就读不了。
非登录钥匙串不受影响,拿到其他 Mac 上仍能正常解锁。
Johnson 在 9 月 11 日的补记里说,这是苹果塞进一次小版本更新里的“定时炸弹”。macOS 26.3 及更早版本里,用户还能在新 Mac 上恢复登录钥匙串;到了 26.4,靠拷文件这一招就不行了。
万一机器突然坏掉,Johnson 说,用户往往要到最糟的时候才发现登录钥匙串没法用。他的结论是:“苹果这么做极不负责任。”
例外和变通办法
很清楚,把登录钥匙串原样拷走、到别处打开,已经行不通。加固安全的目的,正是防止有人这么干。
不过,只有用这种办法搬运凭据时,才会撞上这个问题。
把备份恢复到同一台 Mac 上不受影响,因为还是同一台机器。用迁移助理的人一般也没事,但企业里做批量迁移的管理员会头疼。
迁移前先导出条目,或者改用自定义钥匙串、其他密码管理器,也能绕开。
对家庭用户来说,走 iCloud 钥匙串可能更合适。密码不但能同步到 iPhone 和 iPad,也能在你的其他 Mac 之间同步。