糊言亂語

          志未半斤, 才無八兩. 有苦有樂, 糊涂過活。
          posts - 25, comments - 7, trackbacks - 0, articles - 42
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          PKI介紹

          Posted on 2007-12-05 22:47 Stanley Sun 閱讀(710) 評論(0)  編輯  收藏

          一、概述

          PKI是"Public Key Infrastructure"的縮寫,意為"公鑰基礎設施"。簡單地說,PKI技術就是利用公鑰理論和技術建立的提供信息安全服務的基礎設施。公鑰體制是目前應用最廣泛的一種加密體制,在這一體制中,加密密鑰與解密密鑰各不相同,發送信息的人利用接收者的公鑰發送加密信息,接收者再利用自己專有的私鑰進行解密。這種方式既保證了信息的機密性,又能保證信息具有不可抵賴性。目前,公鑰體制廣泛地用于CA認證、數字簽名和密鑰交換等領域。

          PKI似乎可以解決絕大多數網絡安全問題,并初步形成了一套完整的解決方案,它是基于公開密鑰理論和技術建立起來的安全體系,是提供信息安全服務的具有普適性的安全基礎設施。該體系在統一的安全認證標準和規范基礎上提供在線身份認證,是CA認證、數字證書、數字簽名以及相關安全應用組件模塊的集合。作為一種技術體系,PKI可以作為支持認證、完整性、機密性和不可否認性的技術基礎,從技術上解決網上身份認證、信息完整性和抗抵賴等安全問題,為網絡應用提供可靠的安全保障。但PKI絕不僅僅涉及到技術層面的問題,還涉及到電子政務、電子商務以及國家信息化的整體發展戰略等多層面問題。PKI作為國家信息化的基礎設施,是相關技術、應用、組織、規范和法律法規的總和,是一個宏觀體系,其本身就體現了強大的國家實力。PKI的核心是要解決信息網絡空間中的信任問題,確定信息網絡空間中各種經濟、軍事和管理行為主體(包括組織和個人)身份的惟一性、真實性和合法性,保護信息網絡空間中各種主體的安全利益。

          公鑰基礎設施(PKI)是信息安全基礎設施的一個重要組成部分,是一種普遍適用的網絡安全基礎設施。PKI是20世紀80年代由美國學者提出來了的概念,實際上,授權管理基礎設施、可信時間戳服務系統、安全保密管理系統、統一的安全電子政務平臺等的構筑都離不開它的支持。數字證書認證中心CA、審核注冊中心RA(Registration Authority)、密鑰管理中心KM(Key Manager)都是組成PKI的關鍵組件。作為提供信息安全服務的公共基礎設施,PKI是目前公認的保障網絡社會安全的最佳體系。在我國,PKI建設在幾年前就已開始啟動,截至目前,金融、政府、電信等部門已經建立了30多家CA認證中心。如何推廣PKI應用,加強系統之間、部門之間、國家之間PKI體系的互通互聯,已經成為目前PKI建設亟待解決的重要問題。

          二、PKI技術的信任服務及意義

          一)PKI技術的信任服務

          公鑰基礎設施PKI是以公開密鑰技術為基礎,以數據的機密性、完整性和不可抵賴性為安全目的而構建的認證、授權、加密等硬件、軟件的綜合設施。

          PKI安全平臺能夠提供智能化的信任與有效授權服務。其中,信任服務主要是解決在茫茫網海中如何確認"你是你、我是我、他是他"的問題,PKI是在網絡上建立信任體系最行之有效的技術。授權服務主要是解決在網絡中"每個實體能干什么"的問題。在虛擬的網絡中要想把現實模擬上去,必須建立這樣一個適合網絡環境的有效授權體系,而通過PKI建立授權管理基礎設施PMI是在網絡上建立有效授權的最佳選擇。

          到目前為止,完善并正確實施的PKI系統是全面解決所有網絡交易和通信安全問題的最佳途徑。根據美國國家標準技術局的描述,在網絡通信和網絡交易中,特別是在電子政務和電子商務業務中,最需要的安全保證包括四個方面:身份標識和認證、保密或隱私、數據完整性和不可否認性。PKI可以完全提供以上四個方面的保障,它所提供的服務主要包括以下三個方面:

          1、認證

          在現實生活中,認證采用的方式通常是兩個人事前進行協商,確定一個秘密,然后,依據這個秘密進行相互認證。隨著網絡的擴大和用戶的增加,事前協商秘密會變得非常復雜,特別是在電子政務中,經常會有新聘用和退休的情況。另外,在大規模的網絡中,兩兩進行協商幾乎是不可能的。透過一個密鑰管理中心來協調也會有很大的困難,而且當網絡規模巨大時,密鑰管理中心甚至有可能成為網絡通信的瓶頸。

          PKI通過證書進行認證,認證時對方知道你就是你,但卻無法知道你為什么是你。在這里,證書是一個可信的第三方證明,通過它,通信雙方可以安全地進行互相認證,而不用擔心對方是假冒的。

          2、支持密鑰管理

          通過加密證書,通信雙方可以協商一個秘密,而這個秘密可以作為通信加密的密鑰。在需要通信時,可以在認證的基礎上協商一個密鑰。在大規模的網絡中,特別是在電子政務中,密鑰恢復也是密鑰管理的一個重要方面,政府決不希望加密系統被犯罪分子竊取使用。當政府的個別職員背叛或利用加密系統進行反政府活動時,政府可以通過法定的手續解密其通信內容,保護政府的合法權益。PKI能夠通過良好的密鑰恢復能力,提供可信的、可管理的密鑰恢復機制。PKI的普及應用能夠保證在全社會范圍內提供全面的密鑰恢復與管理能力,保證網上活動的健康有序發展。

          3、完整性與不可否認

          完整性與不可否認是PKI提供的最基本的服務。一般來說,完整性也可以通過雙方協商一個秘密來解決,但一方有意抵賴時,這種完整性就無法接受第三方的仲裁。而PKI提供的完整性是可以通過第三方仲裁的,并且這種可以由第三方進行仲裁的完整性是通信雙方都不可否認的。例如,小張發送一個合約給老李,老李可以要求小張進行數字簽名,簽名后的合約不僅老李可以驗證其完整性,其他人也可以驗證該合約確實是小張簽發的。而所有的人,包括老李,都沒有模仿小張簽署這個合約的能力。"不可否認"就是通過這樣的PKI數字簽名機制來提供服務的。當法律許可時,該"不可否認性" 可以作為法律依據(美國等一些國家已經頒布數字簽名法)。正確使用時,PKI的安全性應該高于目前使用的紙面圖章系統。

          完善的PKI系統通過非對稱算法以及安全的應用設備,基本上解決了網絡社會中的絕大部分安全問題(可用性除外)。PKI系統具有這樣的能力:

          它可以將一個無政府的網絡社會改造成為一個有政府、有管理和可以追究責任的社會,從而杜絕黑客在網上肆無忌憚的攻擊。在一個有限的局域網內,這種改造具有更好的效果。目前,許多網站、電子商務、安全E-mail系統等都已經采用了PKI技術。

          二)PKI技術的意義

          1、通過PKI可以構建一個可管、可控、安全的互聯網絡

          眾所周知,傳統的互聯網是一個無中心的、不可控的、沒有QoS保證的、"盡力而為" (Best-effort)的網絡。但是,由于互聯網具有統一的網絡層和傳輸層協議,適合全球互聯,且線路利用率高,成本低,安裝使用方便等,因此,從它誕生的那一天起,就顯示出了強大的生命力,很快地遍布全球。

          在傳統的互聯網中,為了解決安全接入的問題,人們采取了"口令字"等措施,但很容易被猜破,難以對抗有組織的集團性攻擊。近年來,伴隨寬帶互聯網技術和大規模集成電路技術的飛速發展,公鑰密碼技術有了其用武之地,加密、解密的開銷已不再是其應用的障礙。因此,國際電信聯盟(ITU)、國際標準化組織(ISO)、國際電工委員會(IEC)、互聯網任務工作組(IETF)等密切合作,制定了一系列的有關PKI的技術標準,通過認證機制,建立證書服務系統,通過證書綁定每個網絡實體的公鑰,使網絡的每個實體均可識別,從而有效地解決了網絡上"你是誰"的問題,把寬帶互聯網在一定的安全域內變成了一個可控、可管、安全的網絡。

          2、通過PKI可以在互聯網中構建一個完整的授權服務體系

          PKI通過對數字證書進行擴展,在公鑰證書的基礎上,給特定的網絡實體簽發屬性證書,用以表征實體的角色和屬性的權力,從而解決了在大規模的網絡應用中"你能干什么"的授權問題。這一特點對實施電子政務十分有利。因為電子政務從一定意義上講,就是把現實的政務模擬到網上來實現。在傳統的局域網中,雖然也可以按照不同的級別設置訪問權限,但權限最高的往往不是這個部門的主要領導,而是網絡的系統管理員,他什么都能看,什么都能改,這和政務現實是相左的,也是過去一些領導不敢用辦公自動化系統的原因之一。而利用PKI可以方便地構建授權服務系統,在需要保守秘密時,可以利用私鑰的惟一性,保證有權限的人才能做某件事,其他人包括網絡系統管理員也不能做未經授權的事;在需要大家都知道時,有關的人都能用公鑰去驗證某項批示是否確實出自某位領導之手,從而保證真實可靠,確切無誤。

          3、通過PKI可以建設一個普適性好、安全性高的統一平臺

          PKI遵循了一套完整的國際技術標準,可以對物理層、網絡層和應用層進行系統的安全結構設計,構建統一的安全域。同時,它采用了基于擴展XML標準的元素級細粒度安全機制,換言之,就是可以在元素級實現簽名和加密等功能,而不像傳統的"門衛式"安全系統,只要進了門,就可以一覽無余。而且,底層的安全中間件在保證為上層用戶提供豐富的安全操作接口功能的同時,又能屏蔽掉安全機制中的一些具體的實現細節,因此,對防止非法用戶的惡意攻擊十分有利。此外,PKI通過Java技術提供了可跨平臺移植的應用系統代碼,通過XML技術提供了可跨平臺交換和移植的業務數據,在這樣的一個PKI平臺上,可以方便地建立一站式服務的軟件中間平臺,十分有利于多種應用系統的整合,從而大大地提高平臺的普適性、安全性和可移植性。

          三.PKI的標準及體系結構

          一)PKI的標準

          從整個PKI體系建立與發展的歷程來看,與PKI相關的標準主要包括以下一些:

          1、X.209(1988)ASN.1基本編碼規則的規范

          ASN.1是描述在網絡上傳輸信息格式的標準方法。它有兩部分:第一部份(ISO 8824/ITU X.208)描述信息內的數據、數據類型及序列格式,也就是數據的語法;第二部分(ISO 8825/ITU X.209)描述如何將各部分數據組成消息,也就是數據的基本編碼規則。

          ASN.1原來是作為X.409的一部分而開發的,后來才獨立地成為一個標準。這兩個協議除了在PKI體系中被應用外,還被廣泛應用于通信和計算機的其他領域。

          2、X.500(1993)信息技術之開放系統互聯:概念、模型及服務簡述

          X.500是一套已經被國際標準化組織(ISO)接受的目錄服務系統標準,它定義了一個機構如何在全局范圍內共享其名字和與之相關的對象。X.500是層次性的,其中的管理性域(機構、分支、部門和工作組)可以提供這些域內的用戶和資源信息。在PKI體系中,X.500被用來惟一標識一個實體,該實體可以是機構、組織、個人或一臺服務器。X.500被認為是實現目錄服務的最佳途徑,但X.500的實現需要較大的投資,并且比其他方式速度慢;而其優勢具有信息模型、多功能和開放性。

          3、X.509(1993)信息技術之開放系統互聯:鑒別框架

          X.509是由國際電信聯盟(ITU-T)制定的數字證書標準。在X.500確保用戶名稱惟一性的基礎上,X.509為X.500用戶名稱提供了通信實體的鑒別機制,并規定了實體鑒別過程中廣泛適用的證書語法和數據接口。

          X.509的最初版本公布于1988年。X.509證書由用戶公共密鑰和用戶標識符組成。此外還包括版本號、證書序列號、CA標識符、簽名算法標識、簽發者名稱、證書有效期等信息。這一標準的最新版本是X.509 v3,它定義了包含擴展信息的數字證書。該版數字證書提供了一個擴展信息字段,用來提供更多的靈活性及特殊應用環境下所需的信息傳送。

          4、PKCS系列標準

          由RSA實驗室制訂的PKCS系列標準,是一套針對PKI體系的加解密、簽名、密鑰交換、分發格式及行為標準,該標準目前已經成為PKI體系中不可缺少的一部分。

          5、OCSP在線證書狀態協議

          OCSP(Online Certificate Status Protocol)是IETF頒布的用于檢查數字證書在某一交易時刻是否仍然有效的標準。該標準提供給PKI用戶一條方便快捷的數字證書狀態查詢通道,使PKI體系能夠更有效、更安全地在各個領域中被廣泛應用。

          6、LDAP 輕量級目錄訪問協議

          LDAP規范(RFC1487)簡化了笨重的X.500目錄訪問協議,并且在功能性、數據表示、編碼和傳輸方面都進行了相應的修改。1997年,LDAP第3版本成為互聯網標準。目前,LDAP v3已經在PKI體系中被廣泛應用于證書信息發布、CRL信息發布、CA政策以及與信息發布相關的各個方面。

          除了以上協議外,還有一些構建在PKI體系上的應用協議,這些協議是PKI體系在應用和普及化方面的代表作,包括SET協議和SSL協議。目前PKI體系中已經包含了眾多的標準和標準協議,由于PKI技術的不斷進步和完善,以及其應用的不斷普及,將來還會有更多的標準和協議加入。
          二)PKI的體系結構

          一個標準的PKI域必須具備以下主要內容:

          1、認證機構CA(Certificate Authority)

          CA是PKI的核心執行機構,是PKI的主要組成部分,業界人士通常稱它為認證中心。從廣義上講,認證中心還應該包括證書申請注冊機構RA(Registration Authority),它是數字證書的申請注冊、證書簽發和管理機構。

          CA的主要職責包括:

          驗證并標識證書申請者的身份。對證書申請者的信用度、申請證書的目的、身份的真實可靠性等問題進行審查,確保證書與身份綁定的正確性。

          確保CA用于簽名證書的非對稱密鑰的質量和安全性。為了防止被破譯,CA用于簽名的私鑰長度必須足夠長并且私鑰必須由硬件卡產生,私鑰不出卡。

          管理證書信息資料。管理證書序號和CA標識,確保證書主體標識的惟一性,防止證書主體名字的重復。在證書使用中確定并檢查證書的有效期,保證不使用過期或已作廢的證書,確保網上交易的安全。發布和維護作廢證書列表(CRL),因某種原因證書要作廢,就必須將其作為"黑名單"發布在證書作廢列表中,以供交易時在線查詢,防止交易風險。對已簽發證書的使用全過程進行監視跟蹤,作全程日志記錄,以備發生交易爭端時,提供公正依據,參與仲裁。

          由此可見,CA是保證電子商務、電子政務、網上銀行、網上證券等交易的權威性、可信任性和公正性的第三方機構。

          2、證書和證書庫

          證書是數字證書或電子證書的簡稱,它符合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域中的終端用戶沿著不同的認證鏈檢驗認證到根時,就能達到互相信任的目的。


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 虎林市| 榕江县| 新和县| 余姚市| 沭阳县| 郧西县| 延长县| 建阳市| 应城市| 都匀市| 沙雅县| 犍为县| 辛集市| 江西省| 徐州市| 宁化县| 赤峰市| 华池县| 嘉禾县| 蒙城县| 汽车| 日喀则市| 都江堰市| 南安市| 和林格尔县| 沧州市| 凤庆县| 四平市| 昌都县| 濉溪县| 梧州市| 基隆市| 芦溪县| 台江县| 寿阳县| 巴彦县| 郓城县| 双峰县| 灵山县| 武宣县| 营山县|