ios - 私有(private)钥匙串(keychain)商店

标签 ios keychain

我们有一个企业 iOS SDK,它使用 Keychain 来存储高度敏感的信息。这些信息对客户端的应用程序不可用。
我一直认为您需要一个 key 来从钥匙串(keychain)中获取关联的值。但最近,我发现你可以 ask Keychain to return all the stored keys在钥匙串(keychain)中(恕我直言,这是一个糟糕的设计)。
由于客户端的应用程序可以轻松获取所有 Keychain 元素,我真的很想为 SDK 创建一个单独的 Keychain 存储。我已经查看了 SO 问题,但从未找到答案。
TL;博士:
如何在 iOS 中创建单独的钥匙串(keychain)商店?

最佳答案

你不能。
KeyChain 的安全边界是应用程序(如果您启用 KeyChain 共享,则为来自同一开发人员的多个应用程序的 KeyChain 标识符)。
一旦您的框架嵌入到客户端应用程序中,它就是客户端应用程序的一部分。它没有自己的上下文或进程空间或任何将其代码与客户端代码区分开来的东西。
如果您的框架中的代码在 KeyChain 中放置了一些东西,那么对于 iOS,它是客户端应用程序在 KeyChain 中放置了一些东西,并且没有理由对其自身保密。
即使您可以仅为您的框架创建一个 KeyChain,也可能将信息放入 KeyChain 的代码在您的框架中,因此攻击者可以通过反编译您的框架来获取信息。

关于ios - 私有(private)钥匙串(keychain)商店,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62705872/

相关文章:

ios - SecItemCopyMatching 不断返回 errSecItemNotFound

ios - Opentok session 失败

ios - 使用标签栏定位按钮

ios - 这里 map : How to differentiate between two markers at same location

ios - 应用程序内的钥匙串(keychain)解锁,这种方法安全吗?

objective-c - 在 Mac OS X 上创建类型为 'Web Form Password' 的钥匙串(keychain)项

ios - 通用音频播放器,在多个 View Controller 中具有控件

iphone - 如何为 ImageView 数组中的三个 ImageView 添加 UIPanGestureRecognizer?

ios - 在某些情况下,UUID 是否会发生变化

ios - iOS TouchID每次访问后如何强制重新授权,或者查看是否解锁?