在watchOS 2中,不再存在共享的钥匙串。
如果我想将一个钥匙串值从iOS应用发送到Watch应用,通过WCSession updateApplicationContext发送它是否安全?
在watchOS 2中,不再存在共享的钥匙串。
如果我想将一个钥匙串值从iOS应用发送到Watch应用,通过WCSession updateApplicationContext发送它是否安全?
是的。
如果您的钥匙串值不变,而您反复更新应用程序上下文,则可能希望安排仅发送一次该值(以便手表添加到其钥匙串),而不是重复发送钥匙串值。
一位苹果工程师在开发者论坛上讨论了使用手表连接发送钥匙串项:
如果您在手机上拥有要在手表上访问的数据,则您的应用程序可以使用WatchConnectivity传输所需的特定数据和钥匙串项。 Apple Watch上的钥匙串包含与配对iPhone上的钥匙串不同的条目集,因此,如果您需要在两个位置都需要某些内容,则可以为每个设备生成一次或使用WatchConnectivity在它们之间传输它。
更新:
在watchOS 2中,Watch Connectivity是在配对的手机和手表之间传输数据的机制。根据iOS安全指南,设备之间的通信是加密的。
关于字典是否可以在内存中访问,或者在您的扩展程序接收到它之前如何持久化,我认为您必须依赖于苹果公司来解决可能存在的漏洞。苹果的回复:
应用程序的内容在传输过程中是加密的。否则,内容存储在应用程序的容器中,这提供了容器固有的安全性。
这里是安全白皮书的链接。 https://www.apple.com/business/docs/iOS_Security_Guide.pdf
关于传输部分,您应该查看“应用程序安全”下的“Apple Watch”部分。关于容器安全的相关部分,您应该查看“加密和数据保护”下的“文件数据保护”部分。