【发布时间】:2016-05-06 05:23:17
【问题描述】:
我喜欢 CloudKit 有很多原因:
- 一种基于拉取的方法,让我有信心收到最新的数据;
- 与 iCloud 键值存储不同,CloudKit 数据在用户从其设备中删除应用程序后永远不会被删除。
尽管如此美丽,但数据也在同一用户的设备之间共享,无需任何登录和用户管理,这是我应该关心的。
我可以在很多情况下使用它,其中一些依赖于这样一个事实,即数据只能由应用程序访问,用户不能修改或复制。这方面的示例可能是消耗性应用内购买,这样我就可以将所有购买存储在 CloudKit 中,并且它们将在同一用户的设备之间共享。
所以实际的问题是:
没有越狱设备的用户能否以某种方式在应用程序之外修改他的 CloudKit 数据?
我相信越狱可以让他做很多事情,包括替换CloudKit方法,但是普通用户呢?
加密可能是保护数据的一种解决方案,但它不能防止复制数据,例如,一个用户可以与另一个用户共享他的记录,而另一个用户将得到他不应该拥有的东西。
看起来苹果非常小心地使这成为不可能。我听了一些device和CloudKit之间的通信,发现他们使用protobuf进行通信,这是开放的标准,但没有定义消息不全面。我似乎也使用当前时间和请求标识符对每个请求进行了签名。然而,所有这些只是我的猜测,可能有很多方法可以解决它。
【问题讨论】: