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 保存明文密码会在一定程度上提高安全性。

- END -

阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。