用户可以访问iOS上的钥匙串吗?

Col*_*len 12 keychain ios

我们正在考虑在我们的应用程序中存储一些我们不希望用户能够干预的信息(相当于用户名,密码等).一个(坏)方法是将它们放在应用程序文件夹中的某个加密文件中,但如果我们这样做,用户就可以使用任何iOS文件系统探索工具并编辑或替换该文件,我们不知道不想要.

如果我们将详细信息存储在钥匙串中,那么用户是否可以读取或写入这些详细信息,例如通过运行等效于文件系统探索工具的钥匙串?或者,如果没有运行该应用程序,是否无法获取钥匙串中的应用程序信息?

显然,如果用户攻击我们的应用程序,或者拥有越狱设备,或者以某种方式将中间信息发送到设备等等,他们就可以访问钥匙串项目.我并不担心这一点 - 只是一个普通的,不受干扰的设备和没有奇怪的应用程序的用户是否可以访问钥匙串中的数据.

谢谢你的帮助.

ser*_*gio 11

根据Apple文档:

在OS X中,任何应用程序都可以访问任何用户授予权限的钥匙串项目,而在iOS中,应用程序只能访问自己的钥匙串项目.

注意:在iPhone上,Keychain权限取决于用于签署应用程序的配置文件.确保在不同版本的应用程序中始终使用相同的配置文件.

因此,如果您认为您的设备没有越狱并且钥匙串子系统正常工作,则只有您的应用程序(通过其配置文件确定)可以访问自己的钥匙串项目.如果您有不同的应用程序共享相同的配置文件,则他们都可以访问相同的钥匙串项目.

  • 共享相同的配置文件并不是可以访问相同的钥匙串项目的不同应用程序.它与应用程序的配置文件中的权利有关.应用程序需要在其配置文件中拥有相同的钥匙串访问组的权利,但配置文件不必相同. (3认同)