哪位仁兄詳細地講一下什麼是公鑰體系?

  • 作者:由 匿名使用者 發表于 文化
  • 2022-09-26

哪位仁兄詳細地講一下什麼是公鑰體系?akcek2237052013-05-25

公鑰基礎設施PKI 簡介

中科院計算機網路資訊中心 在讀研究生 孔 寧

摘要:本文簡介了當前廣泛用於解決電子商務中安全問題的PKI 技術。PKI(Pubic Key Infrastructure)是一

種遵循標準的利用公鑰加密技術為電子商務的開展提供一套安全基礎平臺的技術和規範。PKI 的核心組成

部分CA( Certification Authority),即認證中心,它是數字證書的簽發機構。數字證書,有時被稱為數字身

份證,是一個符合一定格式的電子檔案,用來識別電子證書持有者的真實身份。

關鍵詞:公鑰基礎設施PKI 認證中心CA 數字證書

一 PKI 簡介

隨著Internet 的普及,人們透過因特網進行溝通越來越多,相應的透過網路進行商務活

動即電子商務也得到了廣泛的發展。電子商務為我國企業開拓國際國內市場、利用好國內

外各種資源提供了一個千載難逢的良機。電子商務對企業來說真正體現了平等 競爭、高效

率、低成本、高質量的優勢,能讓企業在激烈的市場競爭中把握商機、脫穎而出。發達國

家已經把電子商務作為21 世紀國家經濟的增長重點,我國的有關部門也正在大力推進我國

企業發展電子商務。然而隨著電子商務的飛速發展也相應的引發出一些Internet 安全問題。

概括起來,進行電子交易的網際網路使用者所面臨的安全問題有: 一,保密性 :如何保證電

子商務中涉及的大量保密資訊在公開網路的傳輸過程中不被竊取;二,完整性 :如何保證

電子商務中所傳輸的交易資訊不被中途篡改及透過重複傳送進行虛假交易;三,身份認證

與授權 :在電子商務的交易過程中,如何對雙方進行認證,以保證交易雙方身份的正確性;

四,抗抵賴 :在電子商務的交易完成後,如何保證交易的任何一方無法否認已發生的交易。

這些安全問題將在很大程度上限制電子商務的進一步發展,因此如何保證Internet 網上資訊

傳輸的安全,已成為發展電子商務的重要環節。

為解決這些Internet 的安全問題,世界各國對其進行了多年的研究,初步形成了一套完

整的Internet 安全解決方案,即目前被廣泛採用的PKI 技術(Public Key Infrastructure-公鑰基

礎設施),PKI(公鑰基礎設施)技術採用證書管理公鑰,透過第三方的可信任機構——認證中

心CA(Certificate Authority),把使用者的公鑰和使用者的其他標識資訊(如名稱、e-mail、身份

證號等)捆綁在一起,在Internet 網上驗證使用者的身份。目前,通用的辦法是採用基於PKI

結構結合數字證書,透過把要傳輸的數字資訊進行加密,保證資訊傳輸的保密性、完整性,

簽名保證身份的真實性和抗抵賴。

二 PKI 的基本定義與組成

PKI 的基本定義十分簡單,所謂PKI 就是一個用公鑰概念和技術實施和提供安全服務

的具有普適性的安全基礎設施。

PKI 是一種新的安全技術,它由公開金鑰密碼技術、數字證書、證書發放機構(CA)

和關於公開金鑰的安全策略等基本成分共同組成的。PKI 是利用公鑰技術實現電子商務安全

的一種體系,是一種基礎設施,網路通訊、網上交易是利用它來保證安全的。從某種意義上

講,PKI 包含了安全認證系統,即安全認證系統-CA 系統是PKI 不可缺的組成部分。

PKI(Public Key Infrastructure)公鑰基礎設施是提供公鑰加密和數字簽名服務的系統或

平臺,目的是為了管理金鑰和證書。一個機構透過採用PKI 框架管理金鑰和證書可以建立

一個安全的網路環境。PKI 主要包括四個部分:X。509 格式的證書(X。509 V3)和證書廢止

列表CRL(X。509 V2);CA 操作協議;CA 管理協議;CA 政策制定。一個典型、完整、

有效的PKI 應用系統至少應具有以下五個部分;

1) 認證中心CA CA 是PKI 的核心,CA 負責管理PKI 結構下的所有使用者(包括

各種應用程式)的證書,把使用者的公鑰和使用者的其他資訊捆綁在一起,在網上

驗證使用者的身份,CA 還要負責使用者證書的黑名單登記和黑名單釋出,後面有

CA 的詳細描述。

2) X。500 目錄伺服器 X。500 目錄伺服器用於釋出使用者的證書和黑名單資訊,使用者

可透過標準的LDAP 協議查詢自己或其他人的證書和下載黑名單資訊。

3) 具有高強度密碼演算法(SSL)的安全WWW伺服器 Secure socket layer(SSL)協議

最初由Netscape 企業發展,現已成為網路用來鑑別網站和網頁瀏覽者身份,以

及在瀏覽器使用者及網頁伺服器之間進行加密通訊的全球化標準。

4) Web(安全通訊平臺) Web 有Web Client 端和Web Server 端兩部分,分別安裝

在客戶端和伺服器端,透過具有高強度密碼演算法的SSL 協議保證客戶端和服務

器端資料的機密性、完整性、身份驗證。

5) 自開發安全應用系統 自開發安全應用系統是指各行業自開發的各種具體應用

系統,例如銀行、證券的應用系統等。

完整的PKI 包括認證政策的制定(包括遵循的技術標準、各CA 之間的上下級或同級

關係、安全策略、安全程度、服務物件、管理原則和框架等)、認證規則、運作制度的制定、

所涉及的各方法律關係內容以及技術的實現等。

三 PKI 的原理

公鑰基礎設施PKI 的原理,顧名思義PKI 是基於公鑰密碼技術的。要想深刻理解PKI

的原理,就一定要對PKI 涉及到的密碼學知識有比較透徹的理解。下面簡單介紹一下密碼

學知識。對於普通的對稱密碼學,加密運算與解密運算使用同樣的金鑰。通常,使用的加密

演算法比較簡便高效,金鑰簡短,破譯極其困難,由於系統的保密性主要取決於金鑰的安全

性,所以,在公開的計算機網路上安全地傳送和保管金鑰是一個嚴峻的問題。正是由於對

稱密碼學中雙方都使用相同的金鑰,因此無法實現資料簽名和不可否認性等功能。而與此

不同的非對稱密碼學,具有兩個金鑰,一個是公鑰一個是私鑰,它們具有這種性質:用公

鑰加密的檔案只能用私鑰解密,而私鑰加密的檔案只能用公鑰解密。公鑰顧名思義是公開

的,所有的人都可以得到它;私鑰也顧名思義是私有的,不應被其他人得到,具有唯一性。

這樣就可以滿足電子商務中需要的一些安全要求。比如說要證明某個檔案是特定人的,該

人就可以用他的私鑰對檔案加密,別人如果能用他的公鑰解密此檔案,說明此檔案就是這

個人的,這就可以說是一種認證的實現。還有如果只想讓某個人看到一個檔案,就可以用

此人的公鑰加密檔案然後傳給他,這時只有他自己可以用私鑰解密,這可以說是保密性的

實現。基於這種原理還可以實現完整性。這就是PKI 所依賴的核心思想,這部分對於深刻

把握PKI 是很重要的,而恰恰這部分是最有意思的。

比如在現實生活中,我們想給某個人在網上傳送一個機密檔案,該檔案我們只想讓那

個人看到,我們設想了很多方法,首先我們想到了用對稱密碼將檔案加密,而在我們把加

密後的檔案傳送給他後,我們又必須得讓他知道解密用的金鑰,這樣就又出現了一個新的

問題,就是我們如何保密的傳輸該金鑰,此時我們發現傳輸對稱金鑰也不可靠。後來我們

可以改用非對稱密碼的技術加密,此時發現問題逐漸解決了。然而又有了一個新的問題產

生,那就是如何才能確定這個公鑰就是某個人的,假如我們得到了一個虛假的公鑰,比如

說我們想傳給A 一個檔案,於是開始查詢A 的公鑰,但是這時B 從中搗亂,他把自己的公鑰

替換了A 的公鑰,讓我們錯誤的認為B 的公鑰就是A 的公鑰,導致我們最終使用B 的公鑰

加密檔案,結果A 無法開啟檔案,而B 可以開啟檔案,這樣B 實現了對保密資訊的竊取行

為。因此就算是採用非對稱密碼技術,我們仍舊無法保證保密性的實現,那我們如何才能

確切的得到我們想要的人的公鑰呢?這時我們很自然的想到需要一個仲裁機構,或者說是

一個權威的機構,它能為我準確無誤的提供我們需要的人的公鑰,這就是CA。

這實際上也是應用公鑰技術的關鍵,即如何確認某個人真正擁有公鑰(及對應的私鑰)。

在PKI 中,為了確保使用者的身份及他所持有金鑰的正確匹配,公開金鑰系統需要一個值得

信賴而且獨立的第三方機構充當認證中心(Certification Authority,CA),來確認公鑰擁有人

的真正身份。就象公安局發放的身份證一樣,認證中心發放一個叫“數字證書”的身份證明。

這個數字證書包含了使用者身份的部分資訊及使用者所持有的公鑰。象公安局對身份證蓋章一

樣,認證中心利用本身的私鑰為數字證書加上數字簽名。任何想發放自己公鑰的使用者,可以

去認證中心申請自己的證書。認證中心在鑑定該人的真實身份後,頒發包含使用者公鑰的數字

證書。其他使用者只要能驗證證書是真實的,並且信任頒發證書的認證中心,就可以確認使用者

的公鑰。認證中心是公鑰基礎設施的核心,有了大家信任的認證中心,使用者才能放心方便的

使用公鑰技術帶來的安全服務。

四PKI 的核心部分CA

認證中心CA 作為PKI 的核心部分,CA 實現了PKI 中一些很重要的功能,概括地說,

認證中心(CA)的功能有:證書發放、證書更新、證書撤銷和證書驗證。CA 的核心功能就

是發放和管理數字證書,具體描述如下:

(1)接收驗證終端使用者數字證書的申請。

(2)確定是否接受終端使用者數字證書的申請-證書的審批。

(3)向申請者頒發、拒絕頒發數字證書-證書的發放。

(4)接收、處理終端使用者的數字證書更新請求-證書的更新。

(5)接收終端使用者數字證書的查詢、撤銷。

(6)產生和釋出證書廢止列表(CRL)。

(7)數字證書的歸檔。

(8)金鑰歸檔。

(9)歷史資料歸檔。

認證中心CA 為了實現其功能,主要由以下三部分組成:

註冊伺服器:透過 Web Server 建立的站點,可為客戶提供24×7 不間斷的服務。客戶

在網上提出證書申請和填寫相應的證書申請表。

證書申請受理和稽核機構:負責證書的申請和稽核。它的主要功能是接受客戶證書申

請並進行稽核。

認證中心伺服器:是數字證書生成、發放的執行實體,同時提供發放證書的管理、證書

廢止列表(CRL)的生成和處理等服務。

在具體實施時,CA 的必須做到以下幾點:

1) 驗證並標識證書申請者的身份。

2) 確保CA 用於簽名證書的非對稱金鑰的質量。

3) 確保整個簽證過程的安全性,確保簽名私鑰的安全性。

4) 證書資料資訊(包括公鑰證書序列號,CA 標識等)的管理。

5) 確定並檢查證書的有效期限。

6) 確保證書主體標識的唯一性,防止重名。

7) 釋出並維護作廢證書列表。

8) 對整個證書籤發過程做日誌記錄。

9) 向申請人發出通知。

在這其中最重要的是CA 自己的一對金鑰的管理,它必須確保其高度的機密性,防止他

方偽造證書。CA 的公鑰在網上公開,因此整個網路系統必須保證完整性。CA 的數字簽名

保證了證書(實質是持有者的公鑰)的合法性和權威性。使用者的公鑰有兩種產生的方式:(1)

使用者自己生成金鑰隊,然後將公鑰以安全的方式傳送給CA,該過程必須保證使用者公鑰的驗

證性和完整性。(2)CA 替使用者生成金鑰隊,然後將其以安全的方式傳送給使用者,該過程必

須確保金鑰對的機密性,完整性和可驗證性。該方式下由於使用者的私鑰為CA 所產生,所以

對CA 的可信性有更高的要求。CA 必須在事後銷燬使用者的私鑰。

一般而言公鑰有兩大類用途,就像本文前面所述,一個是用於驗證數字簽名,一個是

用於加密資訊。相應的在CA 系統中也需要配置用於數字簽名/驗證簽名的金鑰對和用於數

據加密/脫密的金鑰對,分別稱為簽名金鑰對和加密金鑰對。由於兩種金鑰對的功能不同,

管理起來也不大相同,所以在CA 中為一個使用者配置兩對金鑰,兩張證書。

CA 中比較重要的幾個概念點有:證書庫。證書庫是CA 頒發證書和撤銷證書的集中存

放地,它像網上的“白頁“一樣,是網上的一種公共資訊庫,供廣大公眾進行開放式查詢。

這是非常關鍵的一點,因為我們構建CA 的最根本目的就是獲得他人的公鑰。目前通常的做

法是將證書和證書撤消資訊釋出到一個數據庫中,成為目錄伺服器,它採用LDAP 目錄訪

問協議,其標準格式採用X。500 系列。隨著該資料庫的增大,可以採用分散式存放,即採用

資料庫映象技術,將其中一部分與本組織有關的證書和證書撤消列表存放到本地,以提高證

書的查詢效率。這一點是任何一個大規模的PKI 系統成功實施的基本需求,也是建立一個

有效的認證機構CA 的關鍵技術之一。

另一個重要的概念是證書的撤消。由於現實生活中的一些原因,比如說私鑰的洩漏,

當事人的失蹤死亡等情況的發生,應當對其證書進行撤消。這種撤消應該是及時的,因為如

果撤消延遲的話,會使得不再有效的證書仍被使用,將造成一定的損失。在CA 中,證書的

撤消使用的手段是證書撤消列表或稱為CRL。即將作廢的證書放入CRL 中,並及時的公佈

於眾,根據實際情況不同可以採取週期性釋出機制和線上查詢機制兩種方式。

金鑰的備份和恢復也是很重要的一個環節。如果使用者由於某種原因丟失瞭解密資料的

金鑰,那麼被加密的密文將無法解開,這將造成資料丟失。為了避免這種情況的發生,PKI

提供了金鑰備份於解密金鑰的恢復機制。這一工作也是應該由可信的機構CA 來完成的,而

且,金鑰的備份與恢復只能針對解密金鑰,而簽名金鑰不能做備份,因為簽名金鑰匙用於不

不可否認性的證明的,如果存有備份的話,將會不利於保證不可否認性。

還有,一個證書的有效期是有限的,這樣規定既有理論上的原因,又有實際操作的因

素。在理論上諸如關於當前非對稱演算法和金鑰長度的可破譯性分析,同時在實際應用中,證

明金鑰必須有一定的更換頻度,才能得到金鑰使用的安全性。因此一個已頒發的證書需要有

過期的措施,以便更換新的證書。為了解決金鑰更新的複雜性和人工干預的麻煩,應由PKI

本身自動完成金鑰或證書的更新,完全不需要使用者的干預。它的指導思想是:無論使用者的證

書用於何種目的,在認證時,都會線上自動檢查有效期,當失效日期到來之前的某時間間隔

內,自動啟動更新程式,生成一個新的證書來替代舊證書。

結束語

個人感覺PKI/CA 技術很有發展前途,只是在我國的應用才剛剛起步。另外CA 作為電

子商務的特殊實體,它必須具有權威性,這種權威性來自政府或公共組織的授予;它必須使

公眾所依賴的機構,它頒發的證書可信;它必須是公正的,不參與交易雙方的。本文僅是停

留在比較簡單的理論介紹,希望此文能讓更多人瞭解PKI,投入到PKI 的研究中來。

參考書目:

[1] 《公鑰基礎設施(PKI)實現和管理電子安全》 [美] Andrew Nash 等著 清華大學出版社

[2] 《公鑰基礎設施PKI 與認證機構CA》 關振勝 著 電子工業出版社出版

Top