複製鏈接
請複製以下鏈接發送給好友

公鑰基礎設施

鎖定
公鑰基礎設施是一個包括硬件、軟件、人員、策略和規程的集合,用來實現基於公鑰密碼體制的密鑰和證書的產生、管理、存儲、分發和撤銷等功能。
PKI體系是計算機軟硬件、權威機構及應用系統的結合。它為實施電子商務、電子政務、辦公自動化等提供了基本的安全服務,從而使那些彼此不認識或距離很遠的用户能通過信任鏈安全地交流。 [1] 
中文名
公鑰基礎設施
外文名
Public Key Infrastructure
英文簡稱
PKI
組    成
公開密鑰密碼技術數字證書

公鑰基礎設施PKI的發展

美國的PKI建設過程經歷了1996年之前的無序、1996—2002年間以FBCA為核心的體系搭建、2003之後策略管理和體系建設並舉的三個階段。1996年以前,很多政府部門自建PKI系統,例如美國郵政服務部門、社會安全部門、美國國防部、能源部、美國商標與知識產權局等。1996年美國提出聯邦橋接計劃,2001年正式公佈,計劃最終建立一個覆蓋美國80個機構、19個部的PKI以保護電子政府通信安全 [2] 
美國聯邦PKI體系主要由聯邦的橋認證機構(Federal Bridge CA,FBCA)、首級認證機構(Principal CA,PCA)和次級認證機構(Subordinate CA,SCA)等組成。聯邦PKI的體系結構中沒有采用根CA,而採用了首級CA。 [2] 
這是因為在美國,信任域的結構是多種多樣的,美國聯邦PKI體系結構可以支持分級(樹狀)維構、網狀結構和信任列表等。聯邦的橋CA是聯邦PKI體系中的核心組織,是不同信任域之間的橋樑,主要負責為不同信任域的首級CA頒發交叉認證的證書,建立各個信任域的擔保等級與聯邦CA的擔保等級之間的映射關係,更新交叉認證證書,發佈交叉認證證書註銷黑名單。但是聯邦的橋CA不要求一個機構在與另一個機構發生信任關係時必須述循聯邦PKI所確定的這種映射關係,而是可以採用它認為合適的映射關係確定彼此之間的信任。 [2] 
歐洲在PKI基礎建設方面也成績顯著。已頒佈了93/1999EC法規,強調技術中立、隱私權保護、國內與國外相互認證以及無歧視等原則。為了解決各國PKI之間的協同工作問題,它採取了一系列措施:積極資助相關研究所、大學和企業研究PKI相關技術;資助PKI互操作性相關技術研究,並建立CA網絡及其頂級CA。並於2000年10月成立了歐洲橋CA指導委員會,於2001年3月23日成立了歐洲橋CA。 [2] 
我國的PKI技術從1998年開始起步,政府和各有關部門對PKI產業的發展給予了高度重視。2001年PKI技術被列為“十五”863計劃信息安全主題重大項目,並於同年10月成立了國家863計劃信息安全基礎設施研究中心。國家電子政務工程中明確提出了要構建PKI體系。我國已全面推動PKI技術研究與應用。2004年8月28日,十屆全國人大常委會第十一次會議28日表決通過了電子簽名法,規定電子簽名與手寫簽名或者蓋章具有同等的法律效力。這部法律的誕生極大地推動了我國的PKI建設。 [2] 
1998年國內第一家以實體形式運營的上海CA中心(SHECA)成立,此後,PKI技術在我國的商業銀行、政府採購以及網上購物中得到了廣泛應用。國內的CA機構大致可分為區域型、行業型、商業型和企業型四類,並出現了得安科技、創原世紀、國創科技、吉大正元、國瑞數碼等一批PKI服務提供商 [2] 

公鑰基礎設施PKI系統組成

一個典型的PKI系統包括PKI策略、軟硬件系統、證書機構CA、註冊機構RA、證書發佈系統和PKI應用等。
PKI安全策略
建立和定義了一個組織信息安全方面的指導方針,同時也定義了密碼系統使用的處理方法和原則。它包括一個組織怎樣處理密鑰和有價值的信息,根據風險的級別定義安全控制的級別。 [1] 
證書機構CA
證書機構CA是PKI的信任基礎,它管理公鑰的整個生命週期,其作用包括:發放證書、規定證書的有效期和通過發佈證書廢除列表(CRL)確保必要時可以廢除證書。 [1] 
註冊機構RA
註冊機構RA提供用户和CA之間的一個接口,它獲取並認證用户的身份,向CA提出證書請求。它主要完成收集用户信息和確認用户身份的功能。這裏指的用户,是指將要向認證中心(即CA)申請數字證書的客户,可以是個人,也可以是集團或團體、某政府機構等。註冊管理一般由一個獨立的註冊機構(即RA)來承擔。它接受用户的註冊申請,審查用户的申請資格,並決定是否同意CA給其簽發數字證書。註冊機構並不給用户簽發證書,而只是對用户進行資格審查。因此,RA可以設置在直接面對客户的業務部門,如銀行的營業部、機構認識部門等。當然,對於一個規模較小的PKI應用系統來説,可把註冊管理的職能由認證中心CA來完成,而不設立獨立運行的RA。但這並不是取消了PKI的註冊功能,而只是將其作為CA的一項功能而已。PKI國際標準推薦由一個獨立的RA來完成註冊管理的任務,可以增強應用系統的安全。 [1] 
證書發佈系統
證書發佈系統負責證書的發放,如可以通過用户自己,或是通過目錄服務器發放。目錄服務器可以是一個組織中現存的,也可以是PKI方案中提供的。 [1] 
PKI的應用
PKI的應用非常廣泛,包括應用在web服務器和瀏覽器之間的通信、電子郵件電子數據交換(EDI)、在Internet上的信用卡交易和虛擬私有網(VPN)等。 [1] 
通常來説,CA是證書的簽發機構,它是PKI的核心。眾所周知,構建密碼服務系統的核心內容是如何實現密鑰管理公鑰體制涉及一對密鑰(即私鑰和公鑰),私鑰只由用户獨立掌握,無須在網上傳輸,而公鑰則是公開的,需要在網上傳送,故公鑰體制的密鑰管理主要是針對公鑰的管理問題,較好的方案是數字證書機制。

公鑰基礎設施相關標準

PKI的標準可分為兩個部分:一類用於定義PKI,而另一類用於PKI的應用,下面主要介紹定義PKI的標準。
ASN.1基本編碼規則的規範——X.209(1988)。ASN.1是描述在網絡上傳輸信息格式標準方法。它有兩部分:第一部分(ISO 8824/ITU X.208)描述信息內的數據、數據類型及序列格式-也就是數據的語法;第二部分(ISO8825/ITU X.209)描述如何將各部分數據組成消息,也就是數據的基本編碼規則。這兩個協議除了在PKI體系中被應用外,還被廣泛應用於通信和計算機的其他領域。
目錄服務系統標準——X.500(1993)。X.500是一套已經被國際標準化組織(ISO)接受的目錄服務系統標準,它定義了一個機構如何在全局範圍內共享其名字和與之相關的對象。X.500是層次性的.其中的管理域(機構、分支、部門和工作組)可以提供這些域內的用户和資源信息。在PKI體系中,X.500被用來標識一個實體。該實體可以是機構、組織、個人或一台服務器。X.500被認為是實現目錄服務的最佳途徑,但X.500的實現需要較大的投資,並且比其他方式速度慢;但其優勢是具有信息模型、多功能和開放性。 [3] 
LDAP輕量級目錄訪問協議一LDAP V3。LDAP規範(RFCl487)簡化了笨重的X.500目錄訪問協議,並且在功能性、數據表示、編碼和傳輸方面部進行了相應的修改,1997年.LDAP第3版本成為互聯網標準。IDAP V3已經在PKI體系中被廣泛應用於證書信息發佈、CRL。信息發佈、CA政策以及與信息發佈相關的各個方面。
數字證書標準 X.509(1 993)。X.5(19是南國際電信聯盟(ITU—T)制定的數字證書標準、在X.500確保用户名稱唯一性的基礎上.X.509為X.500用户名稱提供了通信實體的鑑別機制並規定了實體鑑別過程中廣泛適用的證書語法和數據接口。X.509的最初版本公佈於l 988年,由用户公開密鑰用户標識符組成此外還包括版本號證書序列號、CA標識符簽名算法標識、簽發者名稱、證書有效期等信息。這一標準的最新版本是X.509 V3,該版數字證書提供了一個擴展信息字段.用來提供更多的靈活性及特殊應用環境下所需的信息傳送。
OCSP在線證書狀態協議。OCSP(OnIine Certificate Status Protocol)是IETF頒佈的用於檢查數字證書在某一交易時刻是否仍然有效的標準。該標準提供給PKI用户一條方便快捷的數字證書狀態查詢通道.使PKI體系能夠更有效、更安全地在各個領域中被廣泛應用。
PKCS系列標準。PKCS是南美RSA數據安全公司及其合作伙伴制定的一組公鑰密碼學標準,其中包括證書申請、證書更新、證書作廢表發佈、擴展證書內容以及數字簽名、數字信封的格式等方面的一系列相關協議。 [3] 

公鑰基礎設施信任模型

實際網絡環境中不可能只有一個CA.多個認證機構之間的信任關係必須保證原有的PKI户不必依賴和信任專一的CA,否則將無法進行擴展、管理和包含。 信任模型建立的目的是確保一個認證機構簽發的證書能夠被另一個認證機構的用户所信任。常見的信任模型包括以下四種:
嚴格層次信任模型
嚴格層次信任模型是一個以主從CA關係建立的分級PKl結構,它可以描繪為一棵倒轉的樹,在這棵樹上,根代表一個對整個PKI域內的所有實體都有特別意義的CA:根CA,在根CA的下面是多層子CA,與非CA的PKI實體相對應的樹葉通常被稱作終端用户
在嚴格層次信任模型中,上層CA為下層頒發證書,所有的實體都信任根CA,以根CA作為信任點。信任關係是單向的,上層CA可以而且必須認證下層CA,但下層CA不能認證上層CA,根CA通常不直接為終端用户頒發證書而只為子CA頒發證書。兩個不同的終端用户進行交互時,雙方都提供自己的證書和數字簽名,通過根CA來對證書進行有效性和真實性的認證。只要找到一條從根CA到一個證書的認證路徑,就可以實現對證書的驗證。 [4] 
分佈式信任模型
與嚴格層次信任模型中的所有實體都信任唯一CA相反,分佈式信任模型把信任分佈在兩個或多個CA上,在分佈式信任模型中,CA間存在着交叉認證。因為存在多個信任點,單個CA安全性的削弱不會影響到整個PKI。因此該信任模型具有更好的靈活性但其路徑發現比較困難,因為從終端用户到信任點建立證書的路徑是不確定的。 [4] 
以用户為中心的信任模型
在以用户為中心的信任模型中,每個用户自己決定信任哪些證書和拒絕哪些證書,沒有可信的第三方作為CA,用户就是自己的根CA。通常,用户的信任對象一般為關係密切的用户。
以用户為中心的信任模型具有安全性高和用户可控性強的優點.但是其使其範闈較小,因為要依賴用户自身的行為和決策能力,這在技術水平較高的羣體中是可行的,而在一般的羣體中是不現實的。 [4] 
交叉認證模型
交叉認證是一種把以前無關的CA連接在一起的機制.可以使得它們各自終端用户之間的安全通信成為可能.有兩種類型的交叉認證:域內交叉認證和域間交叉認證。 [4] 

公鑰基礎設施安全服務

PKI的應用非常廣泛,其為網上金融、網上銀行網上證券、電子商務、電子政務等網絡中的數據交換提供了完備的安全服務功能。PKI作為安全基礎設施,能夠提供身份認證數據完整性、數據保密性、數據公正性不可抵賴性時間戳六種安全服務。

公鑰基礎設施身份認證

由於網絡具有開放性匿名性等特點,非法用户通過一些技術手段假冒他人身份進行網上欺詐的門檻越來越低,從而對合法用户和系統造成極大的危害。身份認證的實質就是證實被認證對象是否真實和是否有效的過程,被認為是當今網上交易的基礎。在PKI體系中,認證中心(Certification Authority,CA)為系統內每個合法用户辦一個網上身份認證,即身份證 [2] 

公鑰基礎設施數據完整性

數據的完整性就是防止非法篡改信息,如修改、複製、插入、刪除等。在交易過程中,要確保交易雙方接收到的數據與原數據完全一致,否則交易將存在安全問題。如果依靠觀察的方式來判斷數據是否發生過改變,在大多數情況下是不現實的。在網絡安全中,一般使用散列函數的方法(Hash函數,也稱密碼雜湊函數)來保證通信時數據的完整性。通過Hash算法我們將任意長度的數據通過變換為長度固定的數字摘要(消息認證碼,MAC),並且原始數據中任何一位的改變都將會在相同的計算條件下產生截然不同的數字摘要。
這一特性使得人們很容易判斷原始數據是否發生非法篡改,從而很好地保證了數據的完整性和準確性。PKI系統主要採用的散列算法SHA一1和MD一5。 [2] 

公鑰基礎設施數據保密性

數據的保密性就是對需要保護的數據進行加密,從而保證信息在傳輸和存儲過程中不被未授權人獲取。在PKl系統中,所有的保密性都是通過密碼技術實現的。密鑰對分為兩種,一種稱作加密密鑰對,用作加解密;另一種稱作簽名密鑰對,用作簽名。一般情況下,用來加解密的密鑰對並不對實際的大量數據進行加解密,只是用於協商會話密鑰,而真正用於大量數據加解密的是會話密鑰。 [2] 
在實際的數據通信中,首先發送方產生一個用於實際數據加密對稱算法密鑰,此密鑰被稱為會話密鑰,用此密鑰對所需處理的數據進行加密。然後,發送方使用接收方加密密鑰對應的公鑰對會話密鑰進行加密,連同經過加密處理的數據一起傳送給接收方。接收方收到這些信息後,首先用自己加密密鑰對中的私鑰解密會話密鑰,然後用會話密鑰對實際數據進行解密。 [2] 

公鑰基礎設施數據公正性

PKI中支持的公正性是指數據認證。也就是説,公證人要證明的是數據的正確性,這種公正取決於數據驗證的方式,與公正服務和一般社會公證人提供的服務是有所不同的。在PKI中,被驗證的數據是基於對原數據Hash後數字摘要的數字簽名、公鑰在數學上的正確性和私鑰的合法性 [2] 

公鑰基礎設施不可抵賴性

不可抵賴性保證參與雙方不能否認自己曾經做過的事情。在PKI系統中,不可抵賴性來源於數字簽名。由於用户進行數字簽名的時候.簽名私鑰只能被簽名者自己掌握,系統中的其他實體不能做出這樣的簽名,因此,在私鑰安全的假設下簽名者就不能否認自己做出的簽名。保護簽名私鑰的安全性是不可抵賴問題的基礎。 [2] 

公鑰基礎設施時間戳服務

時間戳也叫安全時間戳,是一個可信的時間權威,使用一段可以認證的數據來表示。
PKl中權威時間源提供的時間並不需要正確,僅僅需要用户作為一個參照“時間”,以便完成基於PKI的事務處理,如時間A發生在時間B的前面等。一般的PKI系統中都設置一個時鐘統一PKI時間。當然也可以使用時間官方事件源所提供的時間,其實現方法是從網中這個時鐘位置獲得安全時間,要求實體在需要的時候向這些權威請求在數據上蓋上時間戳。一份文檔上的時間戳涉及對時間和文檔內容的哈希值的簽名,權威的簽名提供了數據的真實性和完整性。一個PKI系統中是否需要實現時間戳服務,完全依照應用的需求來決定。 [2] 

公鑰基礎設施數字簽名

由於單一的、獨一無二的私鑰創建了簽名,所以在被簽名數據與私鑰對應的實體之間可以建立一種聯繫,這種聯繫通過使用實體公鑰驗證簽名來實現。如果簽名驗證正確,並且從諸如可信實體簽名的公鑰證書中知道了用於驗證簽名的公鑰對應的實體,那麼就可以用數字簽名來證明被數字簽名數據確實來自證書中標識的實體。
因此,PK的數字簽名服務分為兩部分:簽名生成服務和簽名驗證服務。簽名生成服務要求能夠訪問簽名者的私鑰,由於該私鑰代表了簽名者,所以是敏感信息,必須加以保護。如果被盜,別人就可以冒充簽名者用該密鑰簽名。因此,簽名服務通常是安全應用程序中能夠安全訪問簽名私鑰的那一部分。相反,簽名驗證服務要開放一些,公鑰一旦被可信簽名者簽名,通常就被認為是公共信息。驗證服務接收簽名數據、簽名、公鑰或公鑰證書,然後檢查簽名對所提供的數據是否有效。它返回驗證成功與否的標識。 [5] 
參考資料
  • 1.    趙振洲著.信息安全管理與應用:中國財富出版社,2015
  • 2.    張文俊,倪受春,許春明著.復旦大學出版社:數字新媒體版權管理,2014
  • 3.    谷利澤,鄭世慧,楊義先編著.現代密碼學教程(第2版):北京郵電大學出版社,2015
  • 4.    尹淑玲主編;蔡傑濤,魏鑑,嚴申,王傳健副主編.網絡安全技術教程:,武漢大學出版社,2014
  • 5.    杜曄,張大偉,範豔芳編著.網絡攻防技術教程第2版:武漢大學出版社,2012