越狱设备上的NSFileProtection

时间:2016-05-22 23:26:56

标签: ios security jailbreak

我需要在我的应用中保护一些敏感数据。我想使用NSFileProtection来做到这一点。我想知道,如果他将越狱其设备,用户是否能够浏览受NSFileProtection保护的文件?如果是,是否还有其他方法可以保护此类数据免受越狱设备的侵害?

1 个答案:

答案 0 :(得分:4)

NSFileProtection不对具有root权限的设备上执行的代码提供任何实际保护。没有密码,您只需打开任何文件即可。当设备被锁定时,将无法访问密码文件,但是很容易拦截输入的密码并在以后使用它以编程方式禁用保护并随时打开任何文件。但如果用户自己想要访问,那么他将不会首先使用密码。

至于其他保护方式,我认为您无法从技术熟练的用户那里获得任何保护。有几种方法,但总有办法解决它们:

  1. 加密数据并存储加密密钥。用户可以找到密钥并解密所有内容
  2. 加密数据但在服务器端存储加密密钥,永远不要将它们缓存在任何地方。用户可以嗅探网络流量并获取密钥。带证书固定的SSL可以保护您免受此攻击。但是用户可以随时修补应用程序的二进制文件或使用挂钩来完全禁用加密或转储加密密钥。
  3. 不要存储任何localy,始终从Web访问数据。将SSL与ceertificate pinning一起使用以避免嗅探。但同样,二进制补丁和钩子仍然是可能的。
  4. 所以我认为您不能完全保护您的数据,但是您可以使保护足够难以进行逆向工程和禁用,以便大多数用户不会通过它。