钥匙串 (Mac OS)
维基百科,自由的百科全书
字詞轉換是中文维基的一項自動轉換,目的是通過计算机程序自動消除繁简、地区词等不同用字模式的差異,以達到閱讀方便。字詞轉換包括全局轉換和手動轉換,本說明所使用的标题转换和全文转换技術,都屬於手動轉換。
如果您想对我们的字词转换系统提出一些改进建议,或者提交应用面更广的转换(中文维基百科全站乃至MediaWiki软件),或者报告转换系统的错误,请前往Wikipedia:字词转换请求或候选发表您的意见。
钥匙串
钥匙串(Keychain)是苹果公司Mac OS中的密码管理系统。它在Mac OS 8.6中被导入,并且包括在了所有后续的Mac OS版本中,包括Mac OS X。一个钥匙串可以包含多种类型的数据:密码(包括网站,FTP服务器,SSH帐户,网络共享,无线网络,群组软件,加密磁盘映像等),私钥,电子证书和加密笔记等。
[编辑] 存储与访问
在Mac OS X中,钥匙串文件储存在~/Library/Keychains/,/Library/Keychains/以及/Network/Library/Keychains/中,钥匙串访问GUI程序则位于/Applications/Utilities/(“应用程序”下的“实用工具”)中[1]。它是一个在APSL协议下发布的自由软件[2]。
钥匙串文件存储了包括标题,URL,注释以及密码等多种信息。除了使用钥匙串访问建立的加密笔记外,只有密码被使用3DES加密[3] 。加密笔记的内容也是加密的。
[编辑] 加锁与解锁
默认钥匙串文件是login钥匙串,通常在登陆时使用用户登陆密码解锁,但该钥匙串的密码可以不同于用户登陆密码,通过牺牲部分便利性来提供更强的安全性[4]。钥匙串访问程序不允许为钥匙串设置空密码。
钥匙串可以被设为在计算机闲置一定时间后自动“加锁”[5],亦可通过钥匙串访问程序手动加锁。如果钥匙串已被加锁,则访问钥匙串需要再次输入密码以解锁之。以新文件覆盖~/Library/Keychains/中的文件(例如,恢复操作的一部分)也会导致钥匙串被锁住。
[编辑] 密码同步
若login钥匙串被登陆密码所保护(即二者密码相同),则当登陆密码在Mac OS X中被更改时该钥匙串密码也会被更改。然而,在共享的Mac或非Mac局域网中,若从非Mac系统中更改用户登陆密码,则存在两个密码不同步的可能。某些网络管理员通过在登出时删除钥匙串文件,以在用户下次登陆时创建新的钥匙串文件来解决这个问题。这代表钥匙串中存储的密码也会在登出时丢失,即使没有改变登陆密码。如果发生了这种事情,用户可以从备份中恢复~/Library/Keychains/中的钥匙串文件,但如前所述,该操作会导致钥匙串被锁住,并可能需要重新解锁。
[编辑] 历史
钥匙串最初为Apple的e-mail系统,PowerTalk,所开发。Powertalk的特性包括使用插件以允许从很多类型的邮件服务器和在线服务中收取邮件。从这里自然的产生了钥匙串的概念,并用于管理PowerTalk中用户用于登陆Powertalk支持的各类系统的各种登陆信息。钥匙串将这些密码置于一个加密文件中,并在文件被一个密码所“打开”后根据命令自动的返回密码。
由于这些密码被加密,因此并不容易被破解,而其接口的简易性允许用户可以选择用于不同系统的不同密码而不必担心忘记它们,因为只需要一个密码就可以打开钥匙串文件并取得所有的密码。当时这的确是一个创新性的概念,在其它平台上并没有类似的实现。钥匙串是Powertalk中几个很有用的原创特性之一,因此被建议成为Mac OS的一部分。但由于内部政策的原因,它被限制在了Powertalk系统内部,因此只有少数Mac用户可以利用它。
直到史蒂夫·乔布斯回归苹果,钥匙串才被从现在已经废弃的PowerTalk系统中解放出来。此时这个概念已经相对普遍了,但仍然难以见到一个没有被限制在某一特定应用程序(主要是网络浏览器)上的类似钥匙串的系统。钥匙串成为了Mac OS 9的一个标准部分,并被包括在Mac OS X的第一个商业版本中。
第三方程序对钥匙串的使用状况多少有些不均衡。虽然大多数苹果软件使用了这一特性(例如Safari和Apple Mail),而且只支持Mac的应用程序,如Transmit和Camino,一些跨平台程序,例如Firefox,并没有使用钥匙串,而是使用其它的跨平台解决方案作为替代,而Google Chrome则选择在Mac OS X平台下使用钥匙串。许多程序继续将它们的登陆信息存储在普通文本文件中,虽然新程序已经很少这么做了。Subversion命令行终端在最近的版本中选择在Mac OS X上使用钥匙串。