鑰匙串(英語:Keychain)是蘋果公司Mac OS中的密碼管理系統。它在Mac OS 8.6中被匯入,並且包括在了所有後續的Mac OS版本中,包括Mac OS X。一個鑰匙串可以包含多種類型的資料:密碼(包括網站FTP伺服器、SSH帳戶、網路共享無線網路群組軟體加密磁碟映像等)、私鑰電子憑證和加密筆記等。

鑰匙串
Keychain Icon
開發者蘋果公司
作業系統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/中的鑰匙串檔案,但如前所述,該操作會導致鑰匙串被鎖住,並可能需要重新解鎖。

鑰匙串訪問

鑰匙串訪問
 
 
執行於Mac OS X v10.5之上的鑰匙串訪問
開發者蘋果公司
目前版本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的第一個商業版本中。

第三方程式對鑰匙串的使用狀況多少有些不均衡。雖然大多數蘋果軟體使用了這一特性(例如SafariApple Mail),而且只支援Mac的應用程式,如TransmitCamino,一些跨平台程式,例如Firefox,並沒有使用鑰匙串,而是使用其它的跨平台解決方案作為替代,而Google Chrome則選擇在Mac OS X平台下使用鑰匙串。許多程式繼續將它們的登陸訊息儲存在普通文字檔案中,雖然新程式已經很少這麼做了。Subversion命令列終端在最近的版本中選擇在Mac OS X上使用鑰匙串。

備註

  1. ^ 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.
  2. ^ 存档副本. [2010-09-20]. (原始內容存檔於2019-06-10). 
  3. ^ 存档副本 (PDF). [2010-09-20]. (原始內容 (PDF)存檔於2009-05-21). 
  4. ^ http://docs.info.apple.com/article.html?path=Mac/10.5/en/9066.html 網際網路檔案館存檔,存檔日期2012-05-31.
  5. ^ 存档副本. [2022-02-12]. (原始內容存檔於2011-06-13). 

參見

外部連結