我们正在考虑在我们的应用程序中存储一些我们不希望用户能够干预的信息(相当于用户名,密码等)。一个(坏)方法是将它们放在应用程序文件夹中的某个加密文件中,但如果我们这样做,用户就可以使用任何iOS文件系统探索工具并编辑或替换该文件,我们不知道不想要。
如果我们将详细信息存储在钥匙串中,用户是否有任何方式可以读取或写入这些详细信息,例如通过运行等效于文件系统探索工具的钥匙串?或者,如果没有运行该应用程序,是否无法获取钥匙串中的应用程序信息?
显然,如果用户攻击我们的应用程序,或者拥有越狱设备,或者以某种方式将中间信息发送到设备等的连接,他们就可以访问钥匙串项目。我并不担心这一点 - 只是一个普通的,不受干扰的设备和没有奇怪的应用程序的用户是否可以访问钥匙串中的数据。
谢谢你的帮助。
根据 Apple文档:
在OS X中,任何应用程序都可以访问任何用户授予权限的钥匙串项目,而在iOS中,应用程序只能访问自己的钥匙串项目。
注意:在iPhone上,Keychain权限取决于用于签署应用程序的配置文件。确保在不同版本的应用程序中始终使用相同的配置文件。
因此,如果您认为您的设备未被越狱并且钥匙串子系统正常工作,则只有您的应用程序(通过其配置文件确定)可以访问其自己的钥匙串项目。如果您有不同的应用程序共享相同的配置文件,那么他们都可以访问相同的钥匙串项目。
根据 Apple文档:
在OS X中,任何应用程序都可以访问任何用户授予权限的钥匙串项目,而在iOS中,应用程序只能访问自己的钥匙串项目。
注意:在iPhone上,Keychain权限取决于用于签署应用程序的配置文件。确保在不同版本的应用程序中始终使用相同的配置文件。
因此,如果您认为您的设备未被越狱并且钥匙串子系统正常工作,则只有您的应用程序(通过其配置文件确定)可以访问其自己的钥匙串项目。如果您有不同的应用程序共享相同的配置文件,那么他们都可以访问相同的钥匙串项目。