公鑰基礎設施
出自 MBA智库百科(https://wiki.mbalib.com/)
- 公鑰基礎設施(Public Key Infrastructure,PKI)
目錄 |
公鑰基礎設施(以下簡稱PKI)是一套通過公鑰密碼演算法原理與技術提供安全服務的具有通用性的安全基礎設施,是能夠為電子商務提供一套安全基礎平臺的技術規範。它通過數字證書管理公鑰,通過CA把用戶的公鑰與其他標識信息捆綁在一起,實現互聯網上的用戶身份驗證。PKI的基礎技術包括加密、數字簽名、數據完整性機制、數字信封、雙重數字簽名等。
PKI的地位[1]
PKI彌補了SSL協議缺少數字簽名、授權、存取控制和不支持不可抵賴性等功能的缺陷。目前,它已初步形成一整套的Intemet安全解決方案,成為信息安全技術的核心和電子商務的安全基礎。
PKI的構建[1]
PKI是新的安全技術和安全規範,它必須具有認證機關(CA)、證書庫、密鑰備份及恢復系統、證書作廢處理系統、客戶端證書處理系統等基本成分,構建PKI也將圍繞著這五大系統來進行。
1)認證中心。CA是數字證書的申請及簽發機構。它的職責如下:
(1)驗證並標識證書申請者的身份;
(2)確保CA用於簽名證書的非對稱密鑰的質量;
(3)確保整個簽證過程的安全性,確保簽名私鑰的安全性;
(4)證書材料信息(包括公鑰證書序列號、CA標識等)的管理;
(5)確定並檢查證書的有效期限;
(6)確保證書主體標識的唯一性,防止重名;
(7)發佈並維護作廢證書表;
(8)對整個證書簽發過程做日誌記錄;
(9)向申請人發通知。
2)證書庫。證書庫是證書的集中存放地,它與網上“白頁”類似,是網上的一種公共信息庫,用戶可以從此處獲得其他用戶的證書和公鑰。構造證書庫的最佳方法是採用支持LDAP協議的目錄系統,用戶或相關的應用通過LDAP來訪問證書庫。系統必須確保證書庫的完整性,防止偽造、篡改證書。
3)密鑰備份及恢復系統。如果用戶丟失了用於脫密數據的密鑰,則密文數據將無法被脫密,造成數據丟失。為避免這種情況的出現,PKI應該提供備份與恢復脫密密鑰的機制。密鑰的備份與恢復應該由可信的機構來完成,例如,CA可以充當這一角色。值得強調的是,密鑰備份與恢復只能針對脫密密鑰,簽名私鑰不能夠作備份。
4)證書作廢處理系統(X.509 Version 3,CRL Version2)。證書作廢處理系統是PKI的一個重要組件。同日常生活中的各種證件一樣,證書在CA為其簽署的有效期以內也可能需要作廢。例如,A公司的職員a辭職離開公司,這就需要終止a證書的生命期。為實現這一點,PKI必須提供作廢證書的一系列機制。作廢證書有如下三種策略:
(1)作廢一個或多個主體的證書;
(2)作廢由某一對密鑰簽發的所有證書;
(3)作廢由某CA簽發的所有證書。
作廢證書一般通過將證書列入作廢證書表(CRL)來完成。通常,系統中由CA負責創建並維護一張及時更新的CRL,而由用戶在驗證證書時負責檢查該證書是否在CRL之列。CRL一般存放在目錄系統中。證書的作廢處理必須在安全及可驗證的情況下進行,系統還必須保證CRL的完整性。
通過PKI能夠營造可管、可控、安全可靠的互聯網環境,構建完整的授權範圍體系,建立普適性好、安全性高的統一平臺,為電子金融的不斷發展奠定良好的基礎。
PKI使用的密碼技術[2]
1976年,Whitefield Diffie和Martin Hellmam發表了論文“New directions in cryptography”這篇文章奠定了公鑰密碼系統的基礎。公鑰密碼系統的概念在密碼學的發展史上具有劃時代的意義。公鑰密碼演算法又稱為非對稱密鑰演算法、雙鑰密碼演算法。
目前有兩種類型的公鑰系統是安全實用的,即基於大整數困難分解問題的密碼體制和基於離散對數困難的密碼體制。
基於大整數困難分解問題的公鑰密碼體制有RSA、Rabin體制、LUC體制及其推廣、二次剩餘體制等。基於離散對數困難的密碼體制主要包括基於有限域的乘法群上的離散對數問題的E1Gamal體制和基於橢圓曲線離散對數的橢圓曲線密碼體制(ECC),以及近年來Lenstra等人提出的XTR群的離散對數問題的XTR公鑰體制。
糾錯碼和密碼學是兩門不同的學科,但是公鑰密碼體制思想是建立在一個難解的數學問題之上的,即NPC問題。1978年,Berlekamp等人證明瞭糾錯碼中的一些解碼問題屬於NPC問題。這兩項成果建立起糾錯碼和密碼學相結合的理論基礎。
有限自動機公鑰密碼體制是由我國學者陶仁驥發明的,它的思想與RSA體制類似。此類體制是基於分解兩個有限自動機的合成而構成的,尤其是當其中的一個或兩個為非線性時,難度更大。目前已經公開了該體制的三個演算法,分別為FAPKCOF、FAPKCl、FAPKC2,後者比較複雜,研究出來以支持基於身份鑒別的操作。
PKI提供的安全服務[2]
通常,一個完善的PKI基礎設施提供的服務主要包括以下幾個方面。
- 1.安全登錄
在訪問網路資源,或者使用某些應用程式的時候,用戶往往會被要求首先“登錄”或者“註冊”。這一步驟中,典型的操作過程包括用戶輸入用戶身份的信息(如用戶D或者昵稱)以及認證信息(如口令或其他機密信息)。除了合法用戶沒人能夠獲取用戶的認證信息,採用這種方法能夠安全地允許合法用戶進入系統或者指定的應用程式。
選用一個符合安全規範的好的口令,並且記住它而不要用筆寫下來,而且要經常修改口令,這對一般用戶來說不是一件容易的事,很可能因為頻繁更換到後來自己也不記得口令了。這正是安全基礎設施提供的服務之一,它可以幫助解決這些問題。
安全基礎設施並不意味著取消口令,因為口令方式是用戶進入基礎設施本身的認證機制。安全基礎設施只是解決了使用口令方式時存在的一個最嚴重問題,它可以避免口令在不信任的或不安全的網路中傳遞,根本避免口令在傳輸中被截獲的可能性。
使用普適性的安全基礎設施可以極大地改善這種狀況。安全基礎設施能夠將一個成功登錄的結果安全地通知到其他重要登錄的設備,減少遠程登錄的需求。
安全單點登錄是安全基礎設施提供的一項服務,適用於所有應用程式和設備。在任何時候和地方,如果需要使用安全傳送認證信息的機制,基礎設施就可以為之提供:應用程式在必要時接入基礎設施,從而獲得認證信息。這種基礎服務減少了用戶必須登錄的次數。另外,在安全性上的另一個好處就是,一個設計良好的基礎設施能夠保證用戶只需在它們工作的機器上登錄。所以在某些情況下,口令無須在易於受到攻擊的網路上傳遞,極大地降低了口令被竊聽和口令存儲、重覆攻擊的風險。
- 2.終端用戶透明
用戶使用安全基礎設施時,基礎設施只是一個黑盒子,用戶需要的是服務而不是如何提供服務的細節。換句話說,對終端用戶而言,安全基礎設施是完全透明的,這是普適性基礎設施的一個極其重要的特性。
- 3.全面的安全性
一個普適性安全基礎設施最大的益處是在整個環境中實施的是單一的、可信的安全技術(如公鑰密碼技術),所有它能夠提供跟設備無關的安全服務。它能夠保證數目不受限制的應用程式、設備和伺服器無縫地協調工作,安全地傳輸、存儲和檢索數據,安全地進行事務處理,安全地訪問伺服器等。這種環境不僅極大地簡化了終端用戶使用各種設備和應用程式的方式,而且簡化了設備和應用程式的管理工作。
使基礎設施達到全面安全性所採取的重要機制之一就是保證大範圍的組織實體和設備採用統一的方式使用、理解和處理密鑰。為瞭解決Intemet的安全問題,世界各國對其進行了多年的研究,初步形成了一套完整的Intemet安全解決方案,即目前被廣泛使用的PKI技術,PKI技術採用證書管理公鑰,通過第三方的可信任機構,即認證中心,(Certificate Authority,CA),把用戶的公鑰和用戶的其他標識信息(如名稱,E-mail、身份證號碼等)捆綁在一起在Intemet驗證用戶的身份。採用建立在PKI基礎上的數字證書,通過對要傳輸的數字信息進行加密和簽名,保證信息傳輸的機密性、真實性、完整性和不可否認性,從而保證信息的安全傳輸。
PKI的管理[3]
PKI的管理可以歸納為證書管理和密鑰管理兩個部分。
- 1.證書管理
(1)策略批准。在實現認證操作之前,必鬚生成各種認證策略以指導認證過程。策略主要包括:操縱策略——闡明有關個人、設備和應用事宜;簽發策略——檢查用於簽發證書的準則。
(2)證書簽發。證書簽發需要以下步驟:檢查公開密鑰信息的正確性。計算公開密鑰信息的簽名;簽名與公開密鑰信息一起生成證書;CA在證書簽發過程中的行為應該被記錄。
(3)證書發佈。簽發後的證書將被放在資料庫中,以便第三方或證書用戶訪問。資料庫應該有各種訪問控制,以便證書等數據的安全存儲。
(4)證書歸檔。數字簽名文檔的有效期比證書有效期長,因此為了確保失效的證書仍可以訪問,就必須對證書、證書撤銷表等數據進行長期歸檔。
(5)證書撤銷。證書撤銷主要涉及下列方面:撤銷證書的歸檔,無論證書是過期還是被撤銷,舊證書的拷貝應由可信的第三方保留一段時間,時間長度由具體情況確定;撤銷證書的公佈,CA維護並定期發佈證書撤銷列表,讓用戶查詢證書狀態來瞭解證書撤銷的情況。
- 2.密鑰管理
主要指對密鑰的安全管理,密鑰管理的功能主要包括以下方面:
(1)密鑰產生。密鑰可由用戶自己產生,也可由CA產生。在初始化客戶端時,必須通過安全通道或某些分發機制來安全地分發密鑰。
(2)密鑰備份及恢復。用戶遺忘密鑰的保護口令,用戶丟失密鑰或者用戶調離工作崗位時仍可訪問密鑰及加密的數據;應用戶或有關部門的要求,對某些加密數據進行檢查(密鑰的托管);應用戶要求,恢復加密密鑰。
(3)密鑰更新。任何密鑰都不能長期不變。密鑰必須定期更新。更新的周期取決於CA或相關的策略需求,CA應配備相應的密鑰更換規程。
密鑰管理中心負責對密鑰的產生、登記、論證、註銷、分發、歸檔、撤銷和銷毀等服務的實施和運用。其中密鑰管理的目標是安全地實施和運用這些密鑰管理服務功能。