PKI應用體系架構

2022-02-11 02:15:05 字數 4212 閱讀 4863

由於電子商務、電子政務、網上銀行、網上**等金融業網上交易業務的飛速發展,網路安全,特別是網際網路通訊的安全性令人矚目。為此,越來越多的安全協議如ssl、set、s/mime 等得到了廣泛的應用。但是,最新發展起來的網路安全技術和安全服務規範卻是公鑰基礎設施pki(public key infrastructure)。 

乙個標準的pki域必須具備以下主要內容。

1. 認證機構ca(certificate authority)

證書是數字證書或電子證書的簡稱,它符合x.509標準,是網上實體身份的證明。證書是由具備權威性、可信任性和公正性的第三方機構簽發的,因此,它是權威性的電子文件。

證書庫是ca頒發證書和撤消證書的集中存放地,它像網上的「白頁」一樣,是網上的公共資訊庫,可供公眾進行開放式查詢。一般來說,查詢的目的有兩個:其一是想得到與之通訊實體的公鑰;其二是要驗證通訊對方的證書是否已進入 「黑名單」。證書庫支援分布式存放,即可以採用資料庫映象技術,將ca簽發的證書中與本組織有關的證書和證書撤消列表存放到本地,以提高證書的查詢效率,減少向總目錄查詢的瓶頸。

3. 金鑰備份及恢復

金鑰備份及恢復是金鑰管理的主要內容,使用者由於某些原因將解密資料的金鑰丟失,從而使已被加密的密文無法解開。為避免這種情況的發生,pki提供了金鑰備份與金鑰恢復機制:當使用者證書生成時,加密金鑰即被ca備份儲存;當需要恢復時,使用者只需向ca提出申請,ca就會為使用者自動進行恢復。

4. 金鑰和證書的更新

乙個證書的有效期是有限的,這種規定在理論上是基於當前非對稱演算法和金鑰長度的可破譯性分析;在實際應用中是由於長期使用同乙個金鑰有被破譯的危險,因此,為了保證安全,證書和金鑰必須有一定的更換頻度。為此,pki對已發的證書必須有乙個更換措施,這個過程稱為「金鑰更新或證書更新」。

證書更新一般由pki系統自動完成,不需要使用者干預。即在使用者使用證書的過程中,pki也會自動到目錄伺服器中檢查證書的有效期,當有效期結束之前,pki/ca會自動啟動更新程式,生成乙個新證書來代替舊證書。

5.證書歷史檔案

從以上金鑰更新的過程,我們不難看出,經過一段時間後,每乙個使用者都會形成多個舊證書和至少乙個當前新證書。這一系列舊證書和相應的私鑰就組成了使用者金鑰和證書的歷史檔案。

記錄整個金鑰歷史是非常重要的。例如,某使用者幾年前用自己的公鑰加密的資料或者其他人用自己的公鑰加密的資料無法用現在的私鑰解密,那麼該使用者就必須從他的金鑰歷史檔案中,查詢到幾年前的私鑰來解密資料。

6.客戶端軟體

為方便客戶操作,解決pki的應用問題,在客戶裝有客戶端軟體,以實現數字簽名、加密傳輸資料等功能。此外,客戶端軟體還負責在認證過程中,查詢證書和相關證書的撤消資訊以及進行證書路徑處理、對特定文件提供時間戳請求等。

7.交叉認證

交叉認證就是多個pki域之間實現互操作。交叉認證實現的方法有多種:一種方法是橋接ca,即用乙個第三方ca作為橋,將多個ca連線起來,成為乙個可信任的統一體;另一種方法是多個ca的根ca(rca)互相簽發根證書,這樣當不同pki域中的終端使用者沿著不同的認證鏈檢驗認證到根時,就能達到互相信任的目的。

pki服務

pki作為安全基礎設施,能為不同的使用者按不同安全需求提供多種安全服務。這些服務主要包括認證、資料完整性、資料保密性、不可否認性、公正及時間戳服務。 

1. 認證

認證服務即身份識別與鑑別,就是確認實體即為自己所宣告的實體,鑑別身份的真偽。我們以甲乙雙方的認證為例:甲首先要驗證乙的證書的真偽,當乙在網上將證書傳送給甲時,甲首先要用ca的公鑰解開證書上ca的數字簽名,如果簽名通過驗證,則證明乙持有的證書是真的;接著甲還要驗證乙身份的真偽,乙可以將自己的口令用自己的私鑰進行數字簽名傳送給甲,甲已經從乙的證書中或從證書庫中查得了乙的公鑰,甲就可以用乙的公鑰來驗證乙的數字簽名。如果該簽名通過驗證,乙在網上的身份就確鑿無疑 

2. 資料完整性服務

資料完整性服務就是確認資料沒有被修改。實現資料完整性服務的主要方法是數字簽名,它既可以提供實體認證,又可以保障被簽名資料的完整性,這是由密碼雜湊演算法和簽名演算法提供的保證。雜湊演算法的特點是輸入資料的任何變化都會引起輸出資料不可**的極大變化,而簽名是用自己的私鑰將該雜湊值進行加密,然後與資料一道傳送給接受方。如果敏感資料在傳輸和處理過程中被篡改,接受方就不會收到完整的資料簽名,驗證就會失敗。反之,如果簽名通過了驗證,就證明接收方收到的是未經修改的完整資料。

3. 資料保密性服務

pki的保密性服務採用了「數字信封」機制,即傳送方先產生乙個對稱金鑰,並用該對稱金鑰加密敏感資料。同時,傳送方還用接收方的公鑰加密對稱金鑰,就像把它裝入乙個「數字信封」。然後,把被加密的對稱金鑰(「數字信封」)和被加密的敏感資料一起傳送給接收方。接收方用自己的私鑰拆開「數字信封」,並得到對稱金鑰,再用對稱金鑰解開被加密的敏感資料。 

4. 不可否認性服務

不可否認性服務是指從技術上保證實體對其行為的認可。在這中間,人們更關注的是資料**的不可否認性、接收的不可否認性以及接收後的不可否認性。此外還有傳輸的不可否認性、建立的不可否認性和同意的不可否認性。 

5. 公證服務

pki中的公證服務與一般社會公證人提供的服務有所不同,pki中支援的公證服務是指「資料認證」,也就是說,公證人要證明的是資料的有效性和正確性,這種公證取決於資料驗證的方式。例如,在pki 中被驗證的資料是基於雜湊值的數字簽名、公鑰在數學上的正確性和簽名私鑰的合法性。

應用模式

上述pki提供的安全服務恰好能滿足電子商務、電子政務、網上銀行、網上**等金融業交易的安全需求,是確保這些活動順利進行必備的安全措施,沒有這些安全服務,電子商務、電子政務、網上銀行、網上**等都無法正常運作。

模式1:電子商務應用

電子商務的參與方一般包括買方、賣方、銀行和作為中介的電子交易市場。買方通過自己的瀏覽器上網,登入到電子交易市場的web伺服器並尋找賣方。當買方登入伺服器時,互相之間需要驗證對方的證書以確認其身份,這被稱為雙向認證。

在雙方身份被互相確認以後,建立起安全通道,並進行討價還價,之後向商場提交訂單。訂單裡有兩種資訊:一部分是訂貨資訊,包括商品名稱和**;另一部分是提交銀行的支付資訊,包括金額和支付賬號。買方對這兩種資訊進行「雙重數字簽名」,分別用商場和銀行的證書公鑰加密上述資訊。當商場收到這些交易資訊後,留下訂貨單資訊,而將支付資訊**給銀行。商場只能用自己專有的私鑰解開訂貨單資訊並驗證簽名。同理,銀行只能用自己的私鑰解開加密的支付資訊、驗證簽名並進行劃賬。銀行在完成劃賬以後,通知起中介作用的電子交易市場、物流中心和買方,並進行商品配送。整個交易過程都是在pki所提供的安全服務之下進行,實現了安全、可靠、保密和不可否認性。

模式2:電子政務

電子政務包含的主要內容有:網上資訊發布、辦公自動化、網上辦公、資訊資源共享等。按應用模式也可分為g2c、g2b、g2g,pki在其中的應用主要是解決身份認證、資料完整性、資料保密性和不可抵賴性等問題。

例如,乙個保密檔案發給誰或者哪一級公務員有權查閱某個保密檔案等,這些都需要進行身份認證,與身份認證相關的還有訪問控制,即許可權控制。認證通過證書進行,而訪問控制通過屬性證書或訪問控制列表(acl)完成。有些檔案在網路傳輸中要加密以保證資料的保密性;有些檔案在網上傳輸時要求不能被丟失和篡改;特別是一些保密檔案的收發必須要有數字簽名等。只有pki提供的安全服務才能滿足電子政務中的這些安全需求。

模式3:網上銀行

網上銀行是指銀行借助於網際網路技術向客戶提供資訊服務和金融交易服務。銀行通過網際網路向客戶提供資訊查詢、對賬、網上支付、資金劃轉、信貸業務、投資理財等金融服務。網上銀行的應用模式有b2c個人業務和b2b對公業務兩種。

網上銀行的交易方式是點對點的,即客戶對銀行。客戶瀏覽器端裝有客戶證書,銀行伺服器端裝有伺服器證書。當客戶上網訪問銀行伺服器時,銀行端首先要驗證客戶端證書,檢查客戶的真實身份,確認是否為銀行的真實客戶;同時伺服器還要到ca的目錄伺服器,通過ldap協議查詢該客戶證書的有效期和是否進入「黑名單」;認證通過後,客戶端還要驗證銀行伺服器端的證書。雙向認證通過以後,建立起安全通道,客戶端提交交易資訊,經過客戶的數字簽名並加密後傳送到銀行伺服器,由銀行後台資訊系統進行劃賬,並將結果進行數字簽名返回給客戶端。這樣就做到了支付資訊的保密和完整以及交易雙方的不可否認性。 

模式4:網上**

PKI體系重點內容

對稱密碼學扼要重述 1 在對稱密碼學中,同乙個秘鑰既用於加密也用於解密 2 對稱加密速度快 3 對稱加密是安全的 4 對稱加密得到的密文是緊湊的 5 因為接受者需要得到對稱秘鑰,所以對稱加密容易受到中途攔截竊聽攻擊 6 對稱密碼系統當中秘鑰的個數大約是以參與者數目平方的速度增長,因此很難將它擴充套件...

PKI 公共金鑰體系 原理

pki原理 pki 即公共金鑰體系。它利用公共金鑰演算法的特點,建立一套證書發放 管理和使用的體系,來支援和完成網路系統中的身份認證 資訊加密 保證資料完整性和抗抵賴性。pki 體系可以有多種不同的體系結構 實現方法和通訊協議。公共金鑰方法還提供了進行數字簽名的辦法 簽字方對要傳送的資料提取摘要並用...

HTTPS協議詳解 三 PKI 體系

1 rsa身份驗證的隱患 身份驗證和金鑰協商是tls的基礎功能,要求的前提是合法的伺服器掌握著對應的私鑰。但rsa演算法無法確保伺服器身份的合法性,因為公鑰並不包含伺服器的資訊,存在安全隱患 客戶端c和伺服器s進行通訊,中間節點m截獲了二者的通訊 節點m自己計算產生一對公鑰pub m和私鑰pri m...