最近在翻 WWDC 2021 的视频,突然发现,iCloud 面向开发者的库,CloudKit,居然支持了端对端加密。
CloudKit 是一个云数据库,存储的最小单位是 Record,每个 Record 有若干 fields 。从 iOS 15 开始,开发者可以选择给某些 fields 启用加密。加密的密钥会存储在 iCloud Keychain 里;因为 iCloud Keychain 是端对端的,所以 CloudKit 里的加密的数据也是端对端加密的。当然,这种加密是比较弱的,Apple 依然可以知道比如每个 Record 的数量,只是具体内容不可见。看样子之前 Apple 承诺的端对端加密的 iCloud 服务,比如说 Safari 、Home,都是通过这套功能实现的,只是终于暴露给开发者了。
不知道这套东西的备份密钥会不会被包括在 iCloud 云备份里。
