2010-04-04 26 views
3

在iPhone源代码和项目资源(如plist文件)上存储密钥(内部使用密码等)是否安全?在iPhone源和项目资源上存储密钥

很明显,没有什么是100%安全的,但是这些信息是否可以从安装的应用程序轻松提取?

你如何建议存储这些密钥在源代码中使用它们?

为了以防万一,这个问题不是关于存储用户密码。

回答

1

很大程度上取决于您的安全含义。对于正常的设备使用,它可以被认为是安全的,因为用户无法访问它。然而,所有的投注都是关闭的,因为它可以完全访问文件系统。因此,在您的应用程序捆绑中查看plist文件在监牢电话上微不足道。

您可能会考虑使用理论上会更安全的钥匙串,并且还具有数据在重新安装应用程序后仍能存活的优势。像以前一样,在监狱破碎的设备上,没有什么东西可以被认为是100%安全的,但这取决于您想要去的麻烦多少。

+0

使用钥匙串意味着首先将密钥存储在源代码中,不是吗?还是有另一种方法来初始化钥匙串? – hpique 2010-04-04 22:42:46

+0

好点。当用户输入密钥时,钥匙串最有意义。如果您想将应用程序的密钥发送出去,我不确定您有任何其他选择。将密钥保存在代码中可能比将其存储在plist文件中更好。一些简单的密钥混淆将防止微不足道的攻击,但正如我之前所说的那样,如果有人想破坏你的应用程序,他们可能会在监狱设备上。 – kharrison 2010-04-05 11:12:09

+0

这是关于将密钥与应用绑定在一起的。这永远不会安全。但是,就你而言,关于在设备中存储秘密(在运行时生成或从服务器端收到),ios现在拥有“Secure Enclave”,而Android有“Trust Zone”,它们是防篡改协处理器(TEE-可信任执行环境),即使对于越狱设备而言也是无法达到的。 – 2017-11-22 08:48:45