繁体   English   中英

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

[英]Can the user access the keychain on iOS?

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

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

显然,如果用户破解了我们的应用程序,或者拥有越狱的设备,或者以某种方式通过中间人将信息发送到设备的连接等,他们就可以访问钥匙串项目。 我并不担心这一点 - 只是担心拥有常规、未受攻击的设备且其上没有奇怪应用程序的用户是否可以访问钥匙串中的数据。

谢谢你的帮助。

根据苹果文档

在 OS X 中,只要用户允许,任何应用程序都可以访问任何钥匙串项目,而在 iOS 中,应用程序只能访问自己的钥匙串项目。

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

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

https://stackoverflow.com/a/20848094/248062 中所述,无法在 iOS 设备上访问应用程序外部。

但是,用户现在可以在 macOS 上安装该应用程序,这将提供常规的 macOS 访问以查看和操作钥匙串数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM