事情是这样的:有一些数据敏感,它们使用 NSCoding 序列化存储在设备中。
我想知道其他人是否可以找到密钥并取消归档序列化目标文件以获取数据?
感谢帮助。
事情是这样的:有一些数据敏感,它们使用 NSCoding 序列化存储在设备中。
我想知道其他人是否可以找到密钥并取消归档序列化目标文件以获取数据?
感谢帮助。
仅使用 NSCoding 存储敏感数据是不安全的。NSCoded 值没有以任何方式加密——你甚至不需要知道密钥——你可以直接查看存储的文件,如果它们是字符串,则可以轻松查看值。
理想情况下,敏感数据(特别是提供对后端 Web 服务或财务信息的特权访问的 API 访问密钥)根本不应该保存在客户端设备上。即使加密。在极端情况下,在其设备上安装了您的应用程序的黑帽可以发起中间人攻击并通过您的服务器窥探您的互联网流量。相反,如果担心安全性,您应该使用特定于设备的令牌方法,这样您就可以在必要时撤销令牌而不会影响其他用户。
如果真的担心,除了令牌之外,您还应该查看两个因素身份验证。
这是进一步阅读的介绍。
这取决于。每个应用程序在文件系统上都有自己的“沙箱”。在尚未越狱的设备上,应用程序无法查看其自己的沙箱之外的内容。但是,当用户将他们的设备连接到 Mac 或 PC 时,可以使用实用程序应用程序,例如 iExplorer ( http://www.macroplant.com/iexplorer/ ) 来访问他们设备上每个应用程序的沙盒。