KEYCHAIN 是什么

KEYCHAIN 文档由 Apple Keychain 建立,Apple Keychain 是一个与 Mac OS X 捆绑程序用于存储身份认证信息 。它包含加密资源验证数据集,如密码、证书和私钥 。

KEYCHAIN 是什么

文章插图
KEYCHAIN 文档用于在客户检查并记住身份认证信息的选项后,自动对用户进行身份认证 。它们用于网站,SSH 账号,FTP 文件或无线网络 。
login.keychain – 全球客户密钥链,包括密码、网站登录、可信身份、开发者证书和其他密钥 。它位于?/ Library / Keychains /目录中 。
根据苹果的介绍,iOS 设备里的 Keychain 它是一种安全的存储器皿,可用于存储不同的敏感信息,如登录名称、密码、网络密码、认证令牌等 。苹果自己用 keychain 来储存 Wi-Fi 网络密码,VPN 凭据等等 。它是一个 sqlite 位于//数据库的数据库private/var/Keychains/keychain-2.db,存储的所有数据都是加密的 。
开发人员一般希望利用操作系统提供的功能来存储凭证(credentials)而不是将它们(凭证)保存到 NSUserDefaults,plist 文件等地区 。存储这些信息的原因是开发人员不希望客户每次登录,所以他们会将认证信息保存到设备的某个地方,并在客户再次打开应用程序时自动登录 。Keychain 信息存在于每个应用程序中(app)沙盒外的 。
从 Keychain 从中导出数据的最流行工具是 ptomey3 的 Keychain dumper 。其 github 地址就在这里 。现在到这个地址下载它 。随后解压 zip 文档 。在解压文件夹中,您感兴趣的文档是 keychain_dumper 二进制文件 。一个应用程序可以访问 keychain 数据是通过它的 entitlements 文档指定 。keychain_dumper 使用自签名文件,包含*通配符 entitlments,所以它可以浏览 keychain 所有内容 。自然,还有其他方式来促进一切 keychain 所有的信息都是授权的,比如使用一个包括所有访问组在内的信息(access group)的 entitlements 或者使用一个特定的访问组(access group)促使你能浏览所有的东西 keychain 数据 。比如,工具 Keychain-viewer 使用如下 entitlements.
尽管 keychain 也容易破解,但比较 NSUserDefaults 和 plist 安全多了,因为我们记得不能在那里, keychain 保存明文密码会在一定程度上提高安全性 。
【KEYCHAIN 是什么】