我很难找到确切的细节,所以我希望在这里得到一些帮助。我正在寻找一些关于iOS共享NSHTTPCookieStorage的底层存储机制的信息:
- 当使用共享的NSHTTPCookieStorage存储cookie时,是否默认提供任何加密,例如使用密钥链服务?还是cookie只是使用NSUserDefaults以明文形式存储
- 我知道cookie存储在应用程序的沙盒中,因此其他应用程序将无法访问,但我的理解是否正确,即物理访问设备的人可以轻松访问应用程序的cookie及其值(尤其是在未加密存储的情况下)
例如,如果必须处理cookie中的一些敏感数据,但希望使用NSURLSession API的默认cookie处理/存储(共享NSHTTPCookieStorage),那么什么是最佳选择?
对不起,我知道我已经问了三个单独的问题,但如果能提供任何帮助,我们将不胜感激。
谢谢。
我不知道cookie是如何具体存储的,但所有应用程序文件都在iOS上加密,使用特定于应用程序的AES256密钥。这些密钥源自其他密钥,这些密钥最终来自CPU芯片内的"安全包围区",只有当用户解锁设备时,CPU芯片才会释放密钥。(苹果有一份非常全面的iOS安全白皮书,详细描述了这一点。)
因此,在iOS上访问文件非常困难,即使是物理访问,除非你能获得设备的密码并解锁它。常规的cookie存储可能对你来说足够安全。