钥匙串是加密存在 iCloud 上的,但重点是 用来加密钥匙串的密钥是存在可信任设备上的,不是在 iCloud 上的!
解锁 iCloud 钥匙串需要任意可信任设备+可信任设备上的 passcode (对手机来说就是锁屏密码)。这意味着你如果把手机 A 抹去了当然是不可能通过手机 A 原来的 passcode 解锁的(因为手机 A 和 iCloud 相关联的密码学信息包括锁屏密码已经被完全抹去了),这时候只能通过其他已信任设备进行解锁。
这样一来也解释了另外一个问题,就是当你把所有可信任设备移除之后 iCloud 钥匙串会自动删除,因为跟 iCloud 钥匙串相关联的所有解密密钥全部被删除了,继续保留 iCloud 钥匙串也没有任何意义。
结论:Apple 的逻辑是 iCloud 钥匙串本质是用来同步的,并不是拿来备份的,当你失去所有访问本地钥匙串的手段(即设备+解锁密码)时,iCloud 钥匙串没有任何方式访问(不管 iCloud 钥匙串有没有实际被删除)。
但这里有一点问题在于,如果本地恢复钥匙串时并不需要另一台已信任设备在线并提供验证,而只需要提供 passcode ,所以设备捆绑的私钥多半服务器是有备份的,这也意味着 Apple 原则上是有能力直接从 iCloud 中恢复钥匙串信息的
解锁 iCloud 钥匙串需要任意可信任设备+可信任设备上的 passcode (对手机来说就是锁屏密码)。这意味着你如果把手机 A 抹去了当然是不可能通过手机 A 原来的 passcode 解锁的(因为手机 A 和 iCloud 相关联的密码学信息包括锁屏密码已经被完全抹去了),这时候只能通过其他已信任设备进行解锁。
这样一来也解释了另外一个问题,就是当你把所有可信任设备移除之后 iCloud 钥匙串会自动删除,因为跟 iCloud 钥匙串相关联的所有解密密钥全部被删除了,继续保留 iCloud 钥匙串也没有任何意义。
结论:Apple 的逻辑是 iCloud 钥匙串本质是用来同步的,并不是拿来备份的,当你失去所有访问本地钥匙串的手段(即设备+解锁密码)时,iCloud 钥匙串没有任何方式访问(不管 iCloud 钥匙串有没有实际被删除)。
但这里有一点问题在于,如果本地恢复钥匙串时并不需要另一台已信任设备在线并提供验证,而只需要提供 passcode ,所以设备捆绑的私钥多半服务器是有备份的,这也意味着 Apple 原则上是有能力直接从 iCloud 中恢复钥匙串信息的