【发布时间】:2021-10-03 21:25:05
【问题描述】:
我很难理解使用 iOS 钥匙串存储应用程序密码、机密和密钥的好处。这是“处理”这些数据的推荐方式,但从安全角度来看,我没有看到好处。
首先,苹果声称钥匙串可以防止其他应用程序访问钥匙串中的敏感数据。应用程序沙盒设计已经阻止了这种情况,所以我不明白为什么需要存储在钥匙串中。其次,苹果声称数据被“加密”存储在 iOS 钥匙串中,并且可以为每个钥匙串项目指定锁定/访问控制。如果用户“root”了设备(手机越狱),则有一些工具可以访问 iOS 钥匙串中的全部数据,从而使钥匙串加密和访问控制变得无用。
在我看来,iOS 钥匙串所做的一切都是增加额外开销,从安全角度来看,Apple 的应用程序沙盒和应用程序代码签名应该足以保护敏感的应用程序数据。我们应该能够简单地将敏感数据存储在 iOS 应用程序的文件系统或代码中,并依赖 Apple 的应用程序沙盒和代码签名。我错过了什么吗?
【问题讨论】:
-
越狱是一种极端情况,从安全角度来看,它破坏了 Apple 提供的大多数安全措施,因为 root 访问有可能绕过某些安全检查。 Keychain 是比文件系统更安全的环境,它由 Secure Enclave 密钥加密(假设用户启用了 PIN 保护)。在谈论安全性时,使某些东西更难破解,为人们开始弄乱系统提供了更高的门槛
标签: ios sandbox keychain jailbreak mobile-security