管理 X.509 憑證

目錄

42.1. 數位憑證原理
42.2. 適用於 CA 管理的 YaST 模組

愈來愈多的驗證機制基於加密程序構建。能將加密金鑰指派給其擁有者的數位憑證在上述技術中扮演重要的角色。舉例來說,除了用於通訊之外,這些憑證也可應用在公司 ID 卡上。憑證的產生與管理大部分是由「官方」機構處理,並以商業服務形式提供。然而在某些情況下,例如,若公司不願意將個人資料交給第三者,則必須由您自行完成這些工作。

YaST 針對憑證提供了兩種模組,可處理數位 X.509 憑證的基本管理功能。以下各節將說明數位憑證的基礎,以及如何使用 YaST 來建立和管理此類憑證。如需更多詳細資訊,請參閱 http://www.ietf.org/html.charters/pkix-charter.html

數位憑證原理

數位憑證使用加密程序來加密資料,以防止未經授權的使用者存取資料。使用者資料是透過第二資料記錄或金鑰來加密的。金鑰會透過數學運算方式來套用到使用者資料,會產生變更過的資料記錄,其原始內容無法辨識。目前廣泛使用的是非對稱式加密 (公用金鑰方法)。金鑰必定成對出現:

私密金鑰

私密金鑰必須由金鑰擁有者妥善保管。意外地公開私密金鑰,會危及金鑰組合並使其失效。

公用金鑰

金鑰擁有者會發行公用金鑰,以供第三者使用。

金鑰驗證性

由於公用金鑰程序應用廣泛,有許多公用金鑰在流通。若要順利使用本系統,每個使用者都必須能確定公用金鑰確實為假定的擁有者所擁有。使用者的公用金鑰指派要由可信任的組織根據公用金鑰憑證來確認。這類的憑證含有金鑰擁有者的名稱,對應的公用金鑰,以及發行該憑證的個人電子簽名。

發行及簽署公用金鑰憑證的可信任組織,通常是憑證基礎結構的一份子,這些組織還需負責其他方面的憑證管理,例如,發行、撤銷和更新憑證。這類基礎結構一般稱為公用金鑰基礎結構PKI。常見的 PKI 是 OpenPGP 標準,其中不採用中央授權點,而是由使用者自行發行他們的憑證。透過「信任網」中的其他廠商簽署後,這些憑證會變成可信任的。

X.509 公用金鑰基礎結構 (PKIX) 是 IETF (網際網路工程任務推動小組) 定義的替代模型,此模型目前幾乎已成為所有公用 PKI 的典範。在此模型中,認證機構 (CA) 會在階層樹狀結構中執行驗證。此樹狀結構的根目錄是根 CA,它會簽發所有子 CA 的憑證。子 CA 的最低層發行使用者憑證。使用者憑證的憑證可追蹤至根 CA,因此可以信任。

這類 PKI 的安全性有賴 CA 憑證的可靠性而定。為了讓 PKI 客戶瞭解憑證實施內容,PKI 操作人員定義了憑證實施準則 (CPS) 來界定憑證管理程序。這可確保 PKI 只發行可信任憑證。

X.509 憑證

X.509 憑證是個含有多個固定欄位並可能含有其他延伸資料的資料結構。固定欄位內容主要包含金鑰擁有者名稱、公用金鑰以及發行 CA (名稱和簽章) 的相關資料。基於安全性考量,憑證有效性應有時間上的限制,因此另有一個欄位內含有效期限。CA 會保證憑證在特定期間當中的有效性。CPS 通常需要 PKI (發行 CA) 來建立憑證並在到期前分發新憑證。

延伸資料可以包含任何其他資訊。只有當延伸資料被辨識為關鍵資料時,應用程式才需要評估它。如果應用程式無法辨別關鍵的延伸資料,則該程式必須拒絕憑證。有些延伸資料只適用於特定應用程式,例如簽名或加密。

表格 42.1顯示版本 3 中的基本 X.509 憑證欄位。

表格 42.1. X.509v3 憑證

欄位

內容

版本

憑證版本,例如 v3

序號

唯一憑證 ID (整數)

簽名

用來簽署憑證的演算法 ID。

發證者

發行機構 (CA) 的唯一名稱 (DN)

有效性

有效期間

標題

擁有者的唯一名稱 (DN)

主旨公用金鑰資訊

擁有者的公用金鑰和演算法的 ID

發行者唯一 ID

發行 CA 的唯一 ID (選擇性)

主旨唯一 ID

擁有者的唯一 ID (選擇性)

延伸

其他選擇性資訊,例如 「KeyUsage」 或 「BasicConstraints


封鎖 X.509 憑證

如果憑證在到期前就變成不可信任,此憑證應立即封鎖。舉例來說,意外公開私密金鑰時,就需要這麼做。如果此私密金鑰屬於 CA 而非使用者憑證,封鎖憑證這個動作就特別重要。在此情況下,透過相關 CA 所發行的全部使用者憑證必須立即加以封鎖。如果憑證遭封鎖,PKI (負責 CA) 必須使用憑證撤銷清單 (CRL),向所有相關人士通知此資訊。

這些清單由 CA 定期提供給公用 CRL 發布點 (CDP)。CDP 也可以命名為憑證中的延伸,好讓檢查程式擷取目前的 CRL 來進行驗證。完成此工作的方法是使用線上憑證狀態通訊協定 (OCSP)。CRL 的真實性是根據發行 CA 的簽名來確認。表格 42.2 「X.509 憑證撤銷清單 (CRL)」 顯示 X.509 CRL 的基本部分。

表格 42.2. X.509 憑證撤銷清單 (CRL)

欄位

內容

版本

CRL 版本,例如 v2

簽名

用來簽署 CRL 的演算法 ID。

發證者

CRL 發行者 (通常為發行 CA) 的唯一名稱 (DN)

這次更新

此 CRL 的發行時間 (日期、時間)

下一次更新

下一個 CRL 的發行時間 (日期、時間)

撤銷憑證清單

每個項目都包含憑證序號、撤銷時間以及選擇性的延伸 (CRL 項目延伸)

延伸

選擇性 CRL 延伸


憑證與 CRL 的儲存區

CA 的憑證與 CRL 必須使用儲存庫來提供公開存取。由於簽章能防止憑證與 CRL 被偽造,因此儲存庫本身並不需要採用特殊保護方式。相反地,它會盡可能提供簡單、快速的存取環境。因此,憑證通常會在 LDAP 或 HTTP 伺服器上提供。如需 LDAP 的說明,請參閱 第 36 章「LDAP—一種目錄服務第 40 章「Apache HTTP 伺服器 包含 HTTP 伺服器的相關資訊。

專用 PKI

YaST 包含提供 X.509 憑證基本管理的模組。這部分主要與建立 CA、子 CA 以及其憑證有關。PKI 的服務不單只是建立和分發憑證與 CRL 而已。PKI 的操作需要設想完善的管理基礎結構,才能持續更新憑證與 CRL。這個基礎結構由 PKI 商業產品提供,也可以部分自動化。YaST 提供建立和分發 CA 與憑證的工具,但目前無法提供此背景基礎結構。若要設定小型 PKI,您可以使用可用的 YaST 模組。不過,您應該使用商業產品來設定「正式」或商用 PKI。