PKI技術基礎I

publog發表於2009-03-15
密碼技術解決的四個最基本的問題:
(1)資訊保密性-您的通訊資訊或隱私被別人偷看了嗎?
(2)資訊完整性-其他人發給您的訊息或者您發給其他人的訊息被人篡改甚至偽造了嗎?
(3)行為不可否認性-其他人會否認他給您傳送的資訊內容嗎?
(4)身份認證性-和您通訊的人是您所瞭解的真實的那個人嗎?
1 對稱密碼的原理
自從人類有了戰爭,智慧的人們就想出了很多的辦法來解決通訊保密問題,把需要通訊的訊息按固定規律轉變成沒有意義的亂碼,而只有指定的合法接收者和自己才能恢復解讀出來,這就是密碼學的基本思想。
通常,人們總是會有很多的秘密資訊需要保護,比如個人的信用卡賬號,個人的醫療記錄和財政細節等等;企業也有秘密,例如戰略報告、銷售預測、公司財務、技術產品的細節、研究成果、人員檔案等,密碼學上將這些需要保護的原始資訊稱為明文。為了確保明文資訊不被別人獲知,在將這些明文儲存在某個地方或從網路上傳送出去之前,需要用某種方法(通常是數學方法)把它偽裝起來以隱藏它的真實內容(偽裝後看起來就像一段毫無意義的亂碼,而不是熟悉的單詞或其它語言文字),我們把偽裝的這個過程稱為加密,把偽裝採用的方法稱之為加密演算法,(明文)偽裝後得到的結果(亂碼)稱之為密文;相反地,把密文恢復成明文的過程稱為解密,恢復時所用的方法稱為解密演算法。圖4形象地描述了上述加密和解密過程。
上述這個過程還不是一個足夠安全的過程。因為無論是加密演算法還是解密演算法,我們都可以用軟體(一段程式)或者硬體(加密機或加密卡)來實現。如果我們能絕對地保證加密和解密演算法是保密的(例如只有通訊雙方知道),那麼自然可以達到保密的效果。可事實上並非如此,實踐證明,保護一段程式(而且是不小的程式)或者保護一個硬體(加密機或加密卡)是秘密的,和直接保護明文資訊是秘密的,是一樣的困難,高明的密碼破譯者們總能找到我們用來保密的加密演算法和解密演算法,從而找到我們要保密的資訊。更何況,如果我們有辦法保全加密演算法或解密演算法是秘密的,那麼我們何不用之以直接保全我們的明文資訊呢?密碼學家們最終放棄了保密加解密演算法的念頭,而選擇了設計一類新的加解密演算法,在用這類演算法加密時需要引入一個只有自己知道的秘密引數(很短的一段秘密資訊,儲存起來比較方便),密碼學家把它稱為金鑰;而且只有擁有同樣金鑰的人才能解密閱讀被加密的明文
顧名思義,"金鑰"就是秘密的鑰匙,起初人們總是把加解密比喻成利用鑰匙給堅固的保險箱上鎖開鎖。這裡"帶鎖的保險箱"好比是密碼演算法,可以用來儲存明文檔案,"鑰匙"好比是金鑰,"將明文檔案放入保險箱並用鑰匙鎖上"就是加密過程,相反地,用鑰匙將"鎖有檔案的保險箱"開啟取出檔案就是解密過程。整個過程如果沒有鑰匙,其他人即使能看到上鎖的保險箱(密文),也不可能取出該檔案,從而達到了保密的效果。
通常,人們用同一把鑰匙進行上鎖或開鎖,上鎖時,把鑰匙插入鎖裡並旋轉,鎖的栓和結構就以預定好的方式形成障礙以阻止門被開啟;開鎖時,插入鑰匙並反方向旋轉,鎖的栓和結構就會以相反的方式工作,使門可以開啟。在這裡,我們用了同一把鑰匙(當然你也可以用兩把完全相同的鑰匙,例如在配鎖店配置的)進行上鎖和開鎖,也就是說我們用於加密(上鎖)和解密(開鎖)的金鑰(鑰匙)是完全相同的,我們把這種加密金鑰和解密金鑰相同的密碼稱之為對稱密碼。
或許我們更願意來看一個簡單的對稱密碼的例子。傳說在公元前一世紀,古羅馬的愷撒大帝出於軍事目的發明了一種對稱密碼,我們稱之為"愷撒密碼"。這種密碼是針對26 個英文字母(不區分大小寫)在字母表中的排列位置來設計的,每個字母都有一個固定的位置,用數字來表示的話,A的位置為1,B的位置為2,Z的位置為26等等
26個英文字母:ABCDEFGHIJKLMNOPQRSTUVWXYZ
轉換後的字母:FGHIJKLMNOPQRSTUVWXYZABCDE
下面我們不妨對這些字母作這樣一個變換:將每個字母變換為與它位置間隔為5的那個字母。例如,與A間隔為5的字母為F,與B間隔為5的字母為G,…… ,與Z間隔為5的字母為E。因此,我們將A變成F,B 變成G, ……Z變成E。
現在讓我們來看看這將發生什麼吧。假設愷撒在一次戰役中損失慘重,他需要告訴盟軍自己的處境並請求支援。現在他用"愷撒密碼"加密一條訊息,"IAMINDANGER"(意思是"我處境危險"),加密後將變成什麼呢?根據字母轉換對照表,"IAMINDANGER"將被加密成"NFRNSIFSLJW"
"NFRNSIFSLJW"是一段毫無意義的亂碼,只有愷撒的盟軍能夠用愷撒密碼將其恢復成明文而獲知其義(因為愷撒事先將密碼演算法和金鑰告訴了自己的盟軍);而即便訊息不慎落入了敵軍之手,敵軍也將因為不能獲知訊息內容,從而不會對愷撒產生進一步的不利。
這裡,愷撒密碼的金鑰為5。當然,愷撒也可採用其它間隔作為加密金鑰,例如採用間隔6,10,26等等。
"愷撒密碼"是古典密碼中較為經典的一種,它產生於特定的條件,在當時用於軍事目的,在保障己方軍事秘密,迷惑敵人方面起到了非常重要的作用。但這種密碼相對於現代密碼破譯技術而言,顯得捉襟見肘,很容易被攻破,因此我們不得不採用比"愷撒密碼"複雜得多,安全強度強得多的密碼技術。現在國際上廣泛採用的而且被證明足夠安全的對稱密碼演算法有3DES,IDEA,RC2,RC4,RC5等,當然還有很多其它好的演算法。我們不必記住這些名字,我們只需知道,採用這些演算法,再加上一個具有足夠長度的金鑰,就能確保我們要保護的資訊是秘密的,安全的,而且在任何情況下都不會被他人獲知(除非你主動把金鑰給他)。
現在我們可以稍微輕鬆一下來做一個小結。很顯然,對稱密碼技術能幫助我們解決前面提到的四個問題當中的第一個問題,即資訊保密性問題。採用對稱密碼加密,從此我們不用再擔心通訊資訊或隱私被他人偷看了!
然而其它三個問題仍然是重要的。
還有一點不容忽視,由於對稱密碼用於加密和解密的金鑰是完全相同的,因此,當您想和誰傳遞一個秘密訊息時,您不得不和他事先單獨找個地方一起協商好相互間的金鑰並非常小心地保管好它;如果您同時又要和另外一個人傳遞秘密訊息,那麼您也不得不和他事先協商好另外一個金鑰(之所以要另外一個金鑰,是因為您總是不會希望自己的一個秘密被太多人知道),這也就意味著和您通訊的人越多,您需要協商和儲存的不同金鑰就越多。這可是一件費時又費力的苦差事,您甚至有可能會分不清哪個金鑰是用來和哪個人通訊的。那麼,有沒有更簡單的方法呢?能不能不用儲存金鑰,而只是在需要通訊的時候臨時產生金鑰?如果臨時產生金鑰,我該如何將金鑰安全地傳遞給那個要和我通訊的人呢?因為他可能和我相距很遠。
2 公鑰密碼的誕生
如果和100個人通訊,就要保管100個金鑰,和1000個人通訊,就要保管1000個金鑰,這絕對不是一個好主意。這個問題不解決,將極大影響密碼技術在更大範圍的推廣使用。
然而1976年,美國史丹佛大學的研究生Diffie和教授Hellman極富想象力和創造力的設想,註定要引來密碼學思想上的一場深刻變革。Diffie和Hellman是基於這樣一種考慮的,即用於加密和解密的金鑰是兩個不同的但又相互關聯的金鑰(這與對稱密碼不同,對稱密碼中加密和解密金鑰是相同的,參考圖5)。讓我們仍然以前面提到的"帶鎖的保險箱"為例,來看看這將有什麼不同。前面我們說過,一般來說,對一個普通的鎖,我們總是用相同的鑰匙進行上鎖和開鎖的。現在,我們假設有一位聰明絕頂的鎖匠打造了這樣一種"獨特的鎖",之所以說獨特,是因為這種鎖配備有兩把不同的鑰匙,而且當我們用其中一把鑰匙把鎖鎖上時,必須而且只能用另外一把鑰匙才能開啟。
這種鎖確實有點獨特,但不管怎樣,我們每個人都擁有了這樣一把鎖,並且擁有了屬於自己的兩把鑰匙。那麼,我們是否必須要保管好這兩把鑰匙並保證它們是絕對的秘密的呢?我們說不完全是這樣的。Diffie和Hellman的想法是,我們每個人都只需要保管好其中一把鑰匙並保證它是秘密和安全的,而另一把鑰匙則需要大家慷慨解囊貢獻出來,並放在一個任何人都能夠看到,都能夠取到的地方,也就是說另一把鑰匙是需要公開的。(至於怎麼樣公開,在哪公開,我們將在下一章詳細說明。)
也許我們應該回到正題了。有了這種鎖,我們怎麼樣利用它來傳遞自己的秘密呢?假如Alice 要給Bob傳送一份商業訂單,她該怎麼做呢?
為了下面敘述的方便,我們不得不先來說一些名詞。我們把上面所說的這種獨特的鎖稱為公鑰密碼(演算法)(也可稱為非對稱密碼(演算法)),與鎖配對的兩把鑰匙稱為金鑰,其中公開的那把鑰匙稱為公鑰,自己保管的那把鑰匙稱為私鑰。用公鑰把鎖鎖上的過程稱為公鑰加密,用私鑰把鎖開啟的過程稱為私鑰解密。
假設Alice要給Bob傳送如下一條訂購資訊:"今欲向貴方訂購ZB-105型號貂皮大衣100件,訂購價每件壹仟(¥1000)元人民幣,合計人民幣拾萬(¥100,000)元整。請務必於2004年7月31日之前將全部貨物送達我方指定地點。訂購日期:2004年6月27日。"
這是Alice和Bob之間的一條商業訂單資訊,因此,Alice希望能絕對保密,並只讓Bob能知道。為此,Alice可把訂單放入"保險箱"(這只是一個數字保險箱,而非真實保險箱)中,並用Bob的公鑰(Alice 總是能取到)給"保險箱"上鎖(加密),然後透過Internet將"保險箱"郵寄給Bob
這樣就可以了嗎?是的。由於"保險箱"是用Bob的公鑰鎖上的,只有Bob才能用他的私鑰開啟"保險箱"閱讀訂單,任何其他人因為沒有Bob的私鑰而無法做到這一點。
Alice再也不用因為要與Bob秘密通訊而事先與Bob協商好一個對稱金鑰並費盡心思去保管它,她所需作的只是在給Bob傳遞秘密前取到Bob的公鑰(這是非常容易辦到的)。同樣,Alice與John,Tom或任何其他人通訊時也一樣。
到現在為止,我們介紹了兩種不同的"保險箱",一種是帶有普通鎖的對稱密碼保險箱,另一種是帶有獨特鎖的公鑰密碼保險箱,也稱非對稱密碼保險箱。而且,非對稱密碼保險箱看起來似乎更好,因為它不需要我們儲存很多很多的金鑰。但事實是,兩種保險箱各有優缺點:對稱密碼保險箱的誕生和使用由來已久,迄今為止,各式各樣的對稱密碼保險箱(演算法)不斷被設計、被使用,目前在國際上廣泛使用的對稱密碼保險箱(演算法)具有足夠的安全強度,且加解密速度非常快,其缺點是所有這些對稱密碼保險箱(演算法)均無一例外地需要事先協商好金鑰,因此帶來金鑰管理上的困難;公鑰密碼保險箱的思想自1976年由Diffie和Hellman提出來以後,在兩年後的1978年,才正式由美國麻省理工大學的三位知名教授Rivest、Shamir和Adleman等人聯合設計出來,密碼學上稱為RSA(三人名字的第一個字母)公鑰密碼系統。公鑰密碼用全新的方式解決了對稱密碼存在的金鑰管理難的問題,但其缺點是加密解密速度較慢,大概僅是對稱密碼的幾千分之一。您大概不會願意花十幾分鍾來傳送一篇WORD文件吧。
因此,公鑰密碼一般不用於直接加密訊息。現實的做法是,將對稱密碼與公鑰密碼結合起來使用。當您要向對方傳遞一個秘密訊息的時候,您臨時產生一個對稱金鑰,用對稱密碼保險箱加密訊息檔案,同時你用公鑰密碼保險箱加密剛才產生的對稱金鑰(因為對稱金鑰一般資料量很小,加密起來只需用很短的時間),然後您將兩個保險箱同時傳遞給對方。對方可以首先用自己的私鑰開啟公鑰密碼保險箱取出對稱金鑰,然後用對稱金鑰開啟對稱密碼保險箱取出訊息檔案閱讀。這種傳遞秘密的方式,既克服了對稱密碼需要事先商量好金鑰的問題,又彌補了公鑰密碼直接加密訊息速度慢的缺點。同時,用公鑰密碼保險箱安全傳遞對稱金鑰,就好比用保密信封郵寄鑰匙一樣,因此我們形象地稱之為"數字信封"。
下面我們將花費一點時間來講一下公鑰密碼保險箱的另一種使用方法。還舉前面提到的Alice給Bob傳送商業訂購單的例子吧。前面我們說,Alice是用Bob的公鑰給保險箱上鎖安全傳遞訂購單, Bob用自己的私鑰開啟保險箱取出訂購單閱讀的。但如果Alice 不這樣做呢?如果Alice是用自己的私鑰(Alice自己保管的那把秘密的鑰匙)給保險箱上鎖,那將出現什麼情況呢?
Alice的商業訂單仍然能夠保證是秘密的嗎?顯然不能,任何人都能夠開啟保險箱閱讀該訂單,因為他們開啟保險箱只需要取得Alice的公鑰,而這是非常容易的(因為Alice的公鑰已經公開,誰都可取到)。因此,這種方式不能保證訂單的秘密,但它卻能證明這個訂單是Alice發出的,並且訂單內容沒有被更改過,而且訂單一旦發出,Alice 將無法否認這個事實。這點對Bob非常重要,因為他必須清楚的知道訂單是誰發出的,並且訂貨量是多少,這樣才不至於到時把貨發錯地方,或者因為貨物生產得太少或過多而對自己產生不利。
下面我們將解釋一下原因。
保險箱是用Alice的私鑰上鎖的,Bob收到保險箱後,將嘗試用Alice的公鑰開啟保險箱,如果開啟成功了,則表明該保險箱是Alice發出的(因為如果是Alice以外的人鎖上併發出保險箱的話,則用Alice的公鑰將無法開啟)。那麼保險箱中的檔案內容是真實的嗎?任何除Alice以外的人要想篡改保險箱中的內容並且不讓他人發現的話,他必須首先用Alice的公鑰開啟保險箱,取出檔案更改後放入其中,然後再用Alice的私鑰將保險箱鎖上(這樣看起來才和原來的一模一樣)。但他卻無法做到這一點,因為他永遠得不到Alice的私鑰,Alice的私鑰只有Alice本人擁有。
當然,如果Bob收到保險箱後,用Alice的公鑰根本就打不開保險箱,那麼他應該把保險箱丟棄,因為這個保險箱要麼不是Alice發出的,要麼保險箱中的內容被人篡改過而不可信。
讓我們再來回憶一下上面這個過程吧。Alice用自己的私鑰給保險箱上鎖,就能夠保證讓對方相信檔案是自己發出的並且檔案內容是真實的,這有點類似現實生活中人們用筆在檔案上署名,或者公司在合同上蓋章來證明檔案或合同的真實性一樣,我們給它起了一個形象的好記的名字叫"數字簽名"。有了數字簽名,Alice能否認他已經發過的一個檔案嗎?不能!這就像我們在檔案或合同上籤過字蓋過章一樣,我們將無法否認它。
還記得我們前面提到的四個問題吧?"數字簽名"是不是能解決其中的第二和第三兩個問題呢?答案是肯定的。
接下來我們只剩下第四個問題需要解決,即我怎麼樣才能知道和我通訊的那個人就是我所瞭解的真實的那個人呢?看起來數字簽名也幫我們解決了這個問題,因為我們總能夠用Alice的公鑰來驗證保險箱(嘗試將其開啟)是不是Alice發出的。但問題在於公鑰只是一串隨機的數字,它並沒有記錄上Alice的名字,就像我們鑰匙上不會記錄鑰匙持有人的名字一樣。前面我們反覆提到,我們總是能取到Alice的公鑰,但究竟怎麼取呢?我們怎麼知道所取到的公鑰就是Alice的呢?換句話說,我們每個人該怎樣公佈我們那把公開的鑰匙,並將鑰匙和我們的名字捆綁在一起呢?
當人們談到身份時,自然而然就會想到公安機關給每個人頒發的居民身份證。在現實生活中,人們用身份證去辦很多事情,如住宿酒店、到銀行提款或者參加國家舉辦的某個統一考試等等,身份證總能為我們免去許多麻煩。那麼在虛擬的網路世界呢?我們是否也需要這樣一個類似的網路身份證呢?答案是肯定的。密碼學家們以現實世界的居民身份證為參考模型,設計了一種用於虛擬世界的網路身份證------數字證書,並且透過數字證書巧妙地將公鑰及其擁有者繫結在一起。
現在,我們有了數字證書,有了加密、簽名技術,我們怎麼樣才能將它們結合起來使用以實現我們安全保密的目的呢?密碼學界提出了公鑰基礎設施(public key infrastructure,簡稱PKI)的概念。
公鑰基礎設施,即PKI,是專門提供公鑰加密和數字簽名服務的綜合系統,其最主要的任務就是要確立可信賴的數字身份,並管理數字證書及與數字證書相對應的金鑰,換句話說,我們的公鑰是要靠PKI來公佈的,公鑰與身份的繫結也要靠PKI來完成。
目前,國際上已逐漸形成了一整套成熟的PKI技術標準,建設PKI這個公鑰密碼的基礎設施,就猶如20世紀80年代建設網路的基礎設施一樣重要。
(1) 信任的原理
PKI的最基本原理是互相信任。在網際網路上的安全隱患中,最難解決的就是"可信任的關係",也即"我如何才能夠被人信任?什麼樣的人我才可以相信?"的問題,因為在網際網路中人們彼此不直接見面,完全處於一種虛擬的境界,"在Internet上,沒人知道你是一條狗",這一"名言"就是對網民虛擬身份的生動寫照。PKI目前已經成為網路資訊保安的信任基礎平臺。
(2) 什麼是認證中心(CA
只有先建立一個權威的、第三方的公正機構,才能建立認證中心。一般說來,我們把認證中心和該公正機構認為是同一概念,在PKI當中,認證中心(Certificate Authority,CA)是負責建立或者證明身份的可信賴的權威機構。
認證中心的權威來自於國家的授權。通常,國家授權一個第三方機構負責建立數字身份並允許其在一定範圍內使用,這就像國家授權公安機關頒發居民身份證,授權機動車輛管理中心頒發駕駛執照一樣。國家授權是至關重要的,有很多其它機構也能建立這樣或那樣的身份,但不見得有多少人會使用並信任它們。
被授權的認證中心在一定範圍內頒發數字證書,人們透過在網路上彼此出示數字證書來證明各自的身份, Alice和Bob都信任認證權威CA,並都擁有CA頒發的數字證書。當Alice和Bob要在網路上通訊時,他們彼此向對方出示數字證書,當雙方各自都驗證對方的數字證書是有效的之後,他們便認為彼此是值得信賴的。在這裡,Alice 和Bob之間的信任關係是透過第三方認證中心CA建立起來的,我們稱這種信任關係為第三方信任關係。
目前我們國家的認證中心是以省(直轄市)為區域來劃分範圍的。即國家在每個省(或省級市)都授權成立一個認證中心,由它們來負責各自省內數字證書的頒發和管理,並維護各自省內的信任環境。
由於認證中心負責的區域是有一定範圍的,這將使數字證書的使用受到一定的限制,比如河南省的數字證書將不能在廣東省使用,而廣東省的數字證書在福建省則不被信任等等。要想打破這一界限,除非各省級認證中心相互之間實行交叉認證,而這或許是未來5年後的事情。那麼,我們國家為什麼不建立一個覆蓋全國的認證中心呢?這個想法很好,可惜建立這樣一個龐大的認證中心是困難的,而且我們國家目前還沒有建設這樣一個認證中心的完善的經驗,因此這也將是未來幾年後的事情。
(3) 什麼是數字證書(Digital Certificate)?
前面我們已經提到,數字證書繫結了公鑰及其持有者的真實身份,它類似於現實生活中的居民身份證,所不同的是數字證書不再是紙質的證照,而是一段含有證書持有者身份資訊並經過認證中心稽核簽發的電子資料,可以更加方便靈活地運用在電子商務和電子政務中。
目前數字證書的格式普遍採用的是X.509 V3國際標準,內容包括證書序列號、證書持有者名稱、證書頒發者名稱、證書有效期、公鑰、證書頒發者的數字簽名等。
數字證書與居民身份證不僅在內容上極為相似,而且在使用和驗證上也顯得頗有雷同。回想一下您拿著存摺到銀行取款的情形吧。在您取到款之前,銀行業務員將作些什麼呢?如果他(她)是足夠負責任的話,他(她)會要您出示您的存摺和個人身份證,然後比對身份證的名字與存摺的賬戶名是否一致,接著呢?他(她)會查驗您的身份證是否有效,比如身份證是否在有效期之內、是否有公安機關的蓋章、防偽標誌是不是真實的等等。當驗明您的身份證是有效的之後,營業員還將作最後一步操作,比照身份證上的照片和您本人是否一模一樣。只有上述所有步驟均透過以後,營業員才會放心地把款發放給您,您也才能正大光明地取到您的款項。
那麼,這些如果是在網路上進行呢?假如您要從名叫Alice的賬戶上劃撥一筆款項,怎麼樣才能夠安全地進行呢?這回您和銀行是互不見面的,您不用也不會親自去銀行,但您仍然需要做兩件事情:
第一, 您需要透過網路向銀行出示您的數字證書;
第二,您需要向銀行提交您的劃款請求,當然您的請求是需要放在保險箱中並用您的私鑰鎖上的(因為請求中將涉及到賬號或金額等敏感資訊)。
(注:實際中將有一段程式為您完成這兩件事情,而並非要您親自去做,該程式還能確保您和銀行之間在網路上的通訊過程是秘密的。)
那麼銀行在收到您的數字證書及劃款請求後將怎麼做呢?首先,銀行將確信數字證書的持有人就是Alice(看看數字證書中"證書持有者名稱"一項即可);然後銀行將驗證該數字證書是否是有效的,這點和驗證居民身份證的有效性完全類似,即驗證數字證書是否在有效期之內,是否是可信的認證中心(比如河南省認證中心)頒發的,是否有認證中心的簽名(類似於蓋章)等等;接著,銀行還將用數字證書中繫結的公鑰(類似於身份證上的照片)來驗證您向銀行提交的保險箱(裡面有您的劃款請求),比如用公鑰能開啟保險箱的話,則證明保險箱就是您本人,也就是Alice提交的(因為只有您才有鎖上保險箱的私鑰),這有點類似於比對身份證上的照片和您本人,因為只有您才能照出您自己的照片。
數字證書真的是和居民身份證一模一樣!理解了居民身份證,就不難理解數字證書。
與身份證一樣,數字證書也需要發放到使用者手中。但由於數字證書不再是紙質的,而是一些電子資料,因此需要一定的儲存介質。目前,我們採用一個叫電子智慧鑰匙的硬體產品(類似於隨身碟)儲存數字證書。電子智慧鑰匙小巧美觀,攜帶方便,它儲存使用者的數字證書及私鑰並能保證其安全,使用者使用時,只需將電子智慧鑰匙插入電腦,就能方便地使用數字證書。
(4) 什麼是序號產生器構(RA,Registration Authority)?
序號產生器構是從認證中心分離出來的專門負責對使用者身份資訊進行登記稽核的機構。認證中心在給使用者頒發數字證書之前,使用者需要攜帶自己的有效身份證件(個人攜帶身份證或其它有效身份證件,企業攜帶法人營業執照等)到認證中心登記辦理,認證中心需要對其身份進行稽核。但由於使用者遍及各地市,而認證中心通常只設在省級城市,這勢必會給外地使用者帶來辦理的不便。因此,認證中心通常會選擇在各地市設立序號產生器構,使用者可就近在當地的序號產生器構登記辦理數字證書而不用直接到認證中心。這就像您辦理身份證,只需就近在您所在的街道派出所登記而不用親自到公安局身份證頒發中心辦理一樣。
(5)什麼是證書釋出系統(DA,Distributed Authority)?
前面我們多次提到,我們那把公開的鑰匙(公鑰)是需要對外公佈的。怎麼樣公佈,在哪公佈呢?我們已經把公鑰及其持有者的名字透過數字證書的形式繫結在一起,因此釋出公鑰只需釋出數字證書。而這一工作是由認證中心的證書釋出系統來完成的。證書釋出系統把認證中心頒發的所有數字證書集中起來統一發布在一個公眾目錄伺服器上,任何人都可以在這個公眾目錄伺服器上檢視自己想要的證書,這有點像現實生活中的電話號碼簿一樣,它把電話號碼集中在一塊供人檢視。
此外,認證中心還將維護這些自己頒發的證書,一旦發現有過期或失效的證書,將主動將其吊銷,並以"黑名單"(CRL)的形式釋出在公眾目錄伺服器上,使用者可透過檢視"黑名單"獲知哪些證書是可信的,哪些證書是不可信的。
--本文節選自
[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21110967/viewspace-1018738/,如需轉載,請註明出處,否則將追究法律責任。

相關文章