
綜上所述,公鑰分配方法主要有以下幾種。
(1)公鑰的公開發佈
公鑰密碼體制出現的一個原因是解決密鑰分配問題,也就是公鑰密碼體制中的公鑰可以公開,無需特殊的安全渠道,相應地降低了密鑰管理的要求和成本。缺點是可能出現偽造公鑰公開發佈,從而讀取到其他方利用該偽造的公鑰加密後的消息。
(2)建立公鑰目錄
建立公鑰目錄是即需要名為目錄管理員的可信實體或組織來維護此公共目錄,而其他用戶可顺利获得公鑰目錄以獲取公鑰。
這種方法比個人公開發佈公鑰更安全,但它也有缺點:一旦目錄管理員的私鑰泄露,其他人可假冒通信方,傳遞假的公鑰,或竊取發送給該通信方的消息。
(3)帶認證的公鑰分發
更安全的公鑰分發方法是基於公鑰目錄的建立來增加認證功能。目錄管理員的角色是維護通信方的公鑰的動態目錄,管理員向請求方返回經自己的私鑰簽名變換過的公鑰,請求方可用管理員的公鑰解密證實獲取的簽名變換過的公鑰,來確定公鑰的真實性。實際上,這是一個在線服務器類型的公鑰分發解決方案。
該方案的缺點:可能導致可信服務器成為一個瓶頸;因而必須在目標通信方和可信服務器間建立通信鏈路。
(4)使用數字證書的分鑰分發
若通信各方用證書交換密鑰並非是公鑰管理員,同樣可以取得與其相同的可靠性。這時,數字證書可基於離線服務器的方式進行工作,但需要證書和密鑰持有者攜帶的公鑰具有一定的相關性。如何保證與證明這種關聯性是重要的,因為一方面,需要傳遞密鑰和簽名者之間的關聯,以便其他人可以驗證簽名,在傳遞的過程中需保證這種關聯性不會被篡改;另一方面,需要記錄該關聯性的起源。可採用對該關聯進行簽名的辦法,數字證書即為給出一種確保此關聯的可靠性與傳遞該關聯和公鑰自身的機制。
該方案要求用戶要登記他的公鑰並獲取CA的證書證實公鑰。CA顺利获得把用戶的公鑰與其身份綁定來認證用戶的公鑰,結果生成一個證書。證書的內容包括:用戶的名稱、用戶的公鑰,另外,證書中還包括:證書序列號、證書發行者名稱、證書的失效日期,最後還必須有CA的簽名,以表明該證書的真實性。作為認證中心與離線可信方聯繫證書由證書管理員生成,並發它具有通信方的相應私鑰。通信方利用傳遞證書把密鑰信息傳給另一方,其他通信各方可核驗此證書就是顺利获得證書管理者產生的得到公鑰認證。
由CA產生的用戶證書有兩個方面的特點:任何擁有CA公鑰的用戶都可以恢復並驗證用戶的公鑰;CA以外的任何一方都無法被檢測到更改此證書。正是由於這兩個特點,證書是不可偽造的,這樣它們就可以放在一個目錄中而無需特殊保護的目錄中。
