8

我正在努力寻找这方面的确切细节,所以我希望在这里得到一些帮助。我正在寻找有关iOS共享NSHTTPCookieStorage的底层存储机制的一些信息:

  • 当使用共享的 NSHTTPCookieStorage 存储 cookie 时,是否默认提供任何加密,例如使用 keychain 服务?或者 cookie 只是使用 NSUserDefaults 以明文形式存储?
  • 我了解 cookie 存储在应用程序的沙箱中,因此其他应用程序将无法访问,但我的理解是正确的,可以物理访问设备的人可以轻松访问应用程序的 cookie 及其值(特别是如果它们未加密存储)?

例如,如果必须处理 cookie 中的一些敏感数据,但又想利用 NSURLSession API 的默认 cookie 处理/存储(共享 NSHTTPCookieStorage),那么最好的选择是什么?

抱歉,我知道我已经问了 3 个单独的问题,但对此的任何帮助将不胜感激。

谢谢。

4

1 回答 1

1

我不知道 cookie 是如何具体存储的,但所有应用程序文件在 iOS 上都是加密的,使用特定于应用程序的 AES256 密钥。这些密钥源自其他密钥,这些密钥最终来自 CPU 芯片内的“安全飞地”,只有在用户解锁设备时才会释放密钥。(Apple 有一个非常全面的 iOS 安全白皮书,详细描述了这一点。)

因此,即使通过物理访问,在 iOS 上访问文件也非常困难,除非您可以获取设备的密码并将其解锁。常规 cookie 存储对于您的目的来说可能足够安全。

于 2016-06-29T22:05:55.550 回答