鑰匙串
鑰匙串(英語:Keychain)是蘋果公司Mac OS中的密碼管理系統。它在Mac OS 8.6中被導入,並且包括在了所有後續的Mac OS版本中,包括Mac OS X。一個鑰匙串可以包含多種類型的數據:密碼(包括網站、FTP服務器、SSH帳戶、網絡共享、無線網絡、群組軟件、加密磁盤映像等)、私鑰、電子證書和加密筆記等。
開發者 | 蘋果公司 |
---|---|
操作系統 | Mac OS X/9 |
類型 | 系統工具 |
許可協議 | APSL |
網站 | 鑰匙串編程指導 |
存儲與訪問
編輯在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/中的鑰匙串文件,但如前所述,該操作會導致鑰匙串被鎖住,並可能需要重新解鎖。
鑰匙串訪問
編輯開發者 | 蘋果公司 |
---|---|
當前版本 | 4.1 (37196)(2009年11月9日) |
操作系統 | Mac OS 9, Mac OS X |
類型 | 密碼管理器 |
許可協議 | |
網站 | http://www.apple.com/ |
鑰匙串訪問(Keychain Access)是一個Mac OS X應用程序,它允許用戶訪問和配置鑰匙串的內容(包括網站,FTP服務器,SSH帳戶,網絡共享,無線網絡,群組軟件,加密磁盤映像等內容的密碼等),加鎖或解鎖鑰匙串,顯示系統存儲的密碼,管理根證書,密鑰和加密筆記。
它的圖形用戶界面顯示了多種類型的鑰匙串(通常至少包括兩個,「登陸」和「系統」鑰匙串),也包括可以修復鑰匙串問題的鑰匙串急救工具。有數種可能造成鑰匙串錯誤的原因,有時唯一的解決方案即是刪除舊的並建立一新的鑰匙串,也刪除了舊有鑰匙串存儲的所有密碼。
通常可以在「應用程序」文件夾的「實用工具」中找到鑰匙串訪問。作為Mac OS X自帶程序,它可以通過軟件升級來升級,因此不應該從實用工具文件夾中移出。也有一個稱為「security」的訪問鑰匙串的命令行工具。
歷史
編輯鑰匙串最初為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上使用鑰匙串。
備註
編輯- ^ http://docs.info.apple.com/article.html?path=Mac/10.5/en/9066.html 網際網路檔案館的存檔,存檔日期2012-05-31. and http://docs.info.apple.com/article.html?path=Mac/10.4/en/mh463.html 網際網路檔案館的存檔,存檔日期2012-05-31.
- ^ 存档副本. [2010-09-20]. (原始內容存檔於2019-06-10).
- ^ 存档副本 (PDF). [2010-09-20]. (原始內容 (PDF)存檔於2009-05-21).
- ^ http://docs.info.apple.com/article.html?path=Mac/10.5/en/9066.html 網際網路檔案館的存檔,存檔日期2012-05-31.
- ^ 存档副本. [2022-02-12]. (原始內容存檔於2011-06-13).