日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

PKI系统相关知识点介绍

發布時間:2023/11/29 windows 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PKI系统相关知识点介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ?公鑰基礎設施(Public?Key?Infrastructure,簡稱PKI)是目前網絡安全建設的基礎與核心,是電子商務安全實施的基本保障,因此,對PKI技術的研究和開發成為目前信息安全領域的熱點。本文對PKI技術進行了全面的分析和總結,其中包括PKI組成、證書認證機構CA、PKI應用、應用編程接口和PKI標準等,并對CA的開發做了簡要分析。本文對PKI,特別是CA的開發、應用和普及具有一定的促進作用。

1?前言

隨著網絡技術和信息技術的發展,電子商務已逐步被人們所接受,并在得到不斷普及。但由于各種原因,國內電子商務的安全性仍不能得到有效的保障。在常規業務中,交易雙方現場交易,可以確認購買雙方的身份。利用商場開具的發票和客戶現場支付商品費用,無須擔心發生糾紛和無憑證可依。但通過網上進行電子商務交易時,由于交易雙方并不現場交易,因此,無法確認雙方的合法身份,同時交易信息是交易雙方的商業秘密,在網上傳輸時必須保證安全性,防止信息被竊取;雙方的交易非現場交易,一旦發生糾紛,必須能夠提供仲裁。

因此,在電子商務中,必須從技術上保證在交易過程中能夠實現身份認證、安全傳輸、不可否認性、數據完整性。在采用數字證書認證體系之前,交易安全一直未能真正得到解決。由于數字證書認證技術采用了加密傳輸和數字簽名,能夠實現上述要求,因此在國內外電子商務中,都得到了廣泛的應用。

PKI采用證書進行公鑰管理,通過第三方的可信任機構(認證中心,即CA),把用戶的公鑰和用戶的其他標識信息捆綁在一起,其中包括用戶名和電子郵件地址等信息,以在Internet網上驗證用戶的身份。PKI把公鑰密碼和對稱密碼結合起來,在Internet網上實現密鑰的自動管理,保證網上數據的安全傳輸。

因此,從大的方面來說,所有提供公鑰加密和數字簽名服務的系統,都可歸結為PKI系統的一部分,PKI的主要目的是通過自動管理密鑰和證書,為用戶建立起一個安全的網絡運行環境,使用戶可以在多種應用環境下方便的使用加密和數字簽名技術,從而保證網上數據的機密性、完整性、有效性。數據的機密性是指數據在傳輸過程中,不能被非授權者偷看;數據的完整性是指數據在傳輸過程中不能被非法篡改;數據的有效性是指數據不能被否認。

一個有效的PKI系統必須是安全的和透明的,用戶在獲得加密和數字簽名服務時,不需要詳細地了解PKI的內部運作機制。在一個典型、完整和有效的PKI系統中,除證書的創建和發布,特別是證書的撤銷,一個可用的PKI產品還必須提供相應的密鑰管理服務,包括密鑰的備份、恢復和更新等。沒有一個好的密鑰管理系統,將極大影響一個PKI系統的規模、可伸縮性和在協同網絡中的運行成本。在一個企業中,PKI系統必須有能力為一個用戶管理多對密鑰和證書;能夠提供安全策略編輯和管理工具,如密鑰周期和密鑰用途等。

PKI發展的一個重要方面就是標準化問題,它也是建立互操作性的基礎。目前,PKI標準化主要有兩個方面:一是RSA公司的公鑰加密標準PKCS(Public?Key?Cryptography?Standards),它定義了許多基本PKI部件,包括數字簽名和證書請求格式等;二是由Internet工程任務組IETF(Internet?Engineering?Task?Force)和PKI工作組PKIX(Public?Key?Infrastructure?Working?Group)所定義的一組具有互操作性的公鑰基礎設施協議。在今后很長的一段時間內,PKCS和PKIX將會并存,大部分的PKI產品為保持兼容性,也將會對這兩種標準進行支持。

PKI的發展非常快,已經從幾年前的理論階段過渡到目前的產品階段,并且出現了大量成熟技術、產品和解決方案,正逐步走向成熟。PKI的發展受應用驅動的影響,比如,早期的Internet商務和Web安全要求主要依賴于SSL,并要求應用首先對證書進行處理,所以,在很多公司的消息和群組產品中都提供了公鑰和證書系統,如Exchange和Notes等。另外,基于標準的基礎設施和應用也同樣促進了PKI的發展,它能夠保證基于Internet的安全消息傳送的可交互性,如S/MIME等。

目前,PKI產品的生產廠家很多,比較有代表性的主要有VeriSign和Entrust。VeriSign作為RSA的控股公司,借助RSA成熟的安全技術,提供了PKI產品,為用戶之間的內部信息交互提供安全保障。另外,VeriSign也提供對外的CA服務,包括證書的發布和管理等功能,并且同一些大的生產商,如Microsoft、Netscape和JavaSoft等,保持了伙伴關系,以在Internet上提供代碼簽名服務。

Entrust作為北方電訊(Northern?Telecom)的控股公司,從事PKI的研究與產品開發已經有很多年的歷史了,并一直在業界保持領先地位,擁有許多成熟的PKI及配套產品,并提供了有效的密鑰管理功能。

另外,一些大的廠商,如Microsoft、Netscape和Novell等,都開始在自己的網絡基礎設施產品中增加PKI功能。Netscape已經開始把證書服務器作為了SuiteSpot的一部分,雖然其證書服務器沒有Entrust產品的功能全面和完善,但提供了基本的證書生成和管理功能。即使沒有密鑰管理功能,但由于Netscape把證書服務器同SuiteSpot服務器和Communicator客戶端產品的集成,依靠廣泛的市場基礎,也取得的越來越多的市場份額。由SUN和Netscape聯盟組成的iplanet公司(Sun|Netscape?Alliance)也在PKI方面做了很大的努力,憑借其在網絡和電子商務方面的優勢,發展了很多性能優越的PKI產品,如LDAP目錄服務器和證書管理系統等。

2?PKI組成

PKI作為一組在分布式計算系統中利用公鑰技術和X.509證書所提供的安全服務,企業或組織可利用相關產品建立安全域,并在其中發布密鑰和證書。在安全域內,PKI管理加密密鑰和證書的發布,并提供諸如密鑰管理(包括密鑰更新,密鑰恢復和密鑰委托等)、證書管理(包括證書產生和撤銷等)和策略管理等。PKI產品也允許一個組織通過證書級別或直接交叉認證等方式來同其他安全域建立信任關系。這些服務和信任關系不能局限于獨立的網絡之內,而應建立在網絡之間和Internet之上,為電子商務和網絡通信提供安全保障,所以具有互操作性的結構化和標準化技術成為PKI的核心

PKI在實際應用上是一套軟硬件系統和安全策略的集合,它提供了一整套安全機制,使用戶在不知道對方身份或分布地很廣的情況下,以證書為基礎,通過一系列的信任關系進行通訊和電子商務交易。

??????????????????????????????????????????????????????? ?圖 1?????? PKI組成

一個典型的PKI系統如圖1所示,其中包括PKI策略、軟硬件系統、證書機構CA、注冊機構RA、證書發布系統和PKI應用等。

1.?PKI安全策略建立和定義了一個組織信息安全方面的指導方針,同時也定義了密碼系統使用的處理方法和原則。它包括一個組織怎樣處理密鑰和有價值的信息,根據風險的級別定義安全控制的級別。一般情況下,在PKI中有兩種類型的策略:一是證書策略,用于管理證書的使用,比如,可以確認某一CA是在Internet上的公有CA,還是某一企業內部的私有CA;另外一個就是CPS(Certificate?Practice?Statement)。一些由商業證書發放機構(CCA)或者可信的第三方操作的PKI系統需要CPS。這是一個包含如何在實踐中增強和支持安全策略的一些操作過程的詳細文檔。它包括CA是如何建立和運作的,證書是如何發行、接收和廢除的,密鑰是如何產生、注冊的,以及密鑰是如何存儲的,用戶是如何得到它的等等。?

2.?證書機構CA是PKI的信任基礎,它管理公鑰的整個生命周期,其作用包括:發放證書、規定證書的有效期和通過發布證書廢除列表(CRL)確保必要時可以廢除證書。后面將會在CA進行詳細介紹。?

3.?注冊機構RA提供用戶和CA之間的一個接口,它獲取并認證用戶的身份,向CA提出證書請求。它主要完成收集用戶信息和確認用戶身份的功能。這里指的用戶,是指將要向認證中心(即CA)申請數字證書的客戶,可以是個人,也可以是集團或團體、某政府機構等。注冊管理一般由一個獨立的注冊機構(即RA)來承擔。它接受用戶的注冊申請,審查用戶的申請資格,并決定是否同意CA給其簽發數字證書。注冊機構并不給用戶簽發證書,而只是對用戶進行資格審查。因此,RA可以設置在直接面對客戶的業務部門,如銀行的營業部、機構認識部門等。當然,對于一個規模較小的PKI應用系統來說,可把注冊管理的職能由認證中心CA來完成,而不設立獨立運行的RA。但這并不是取消了PKI的注冊功能,而只是將其作為CA的一項功能而已。PKI國際標準推薦由一個獨立的RA來完成注冊管理的任務,可以增強應用系統的安全。?

4.?證書發布系統負責證書的發放,如可以通過用戶自己,或是通過目錄服務。目錄服務器可以是一個組織中現存的,也可以是PKI方案中提供的。?

PKI的應用非常廣泛,包括在web服務器和瀏覽器之間的通訊、電子郵件、電子數據交換(EDI)、在Internet上的信用卡交易和虛擬私有網(×××)等。?

?

一個簡單的PKI系統包括證書機構CA、注冊機構RA和相應的PKI存儲庫。CA用于簽發并管理證書;RA可作為CA的一部分,也可以獨立,其功能包括個人身份審核、CRL管理、密鑰產生和密鑰對備份等;PKI存儲庫包括LDAP目錄服務器和普通數據庫,用于對用戶申請、證書、密鑰、CRL和日志等信息進行存儲和管理,并提供一定的查詢功能。

3?證書認證機構CA

3.1?數字證書基礎

數字證書是一種數字標識,可以說是Internet上的安全護照或×××明。當人們到其他國家旅行時,用戶護照可以證實其身份,并被獲準進入這個國家。數字證書提供的是網絡上的×××明。

數字證書是一個經證書授權中心數字簽名的包含公開密鑰擁有者信息和公開密鑰的文件。最簡單的證書包含一個公開密鑰、名稱以及證書授權中心的數字簽名。一般情況下證書中還包括密鑰的有效時間,發證機關(證書授權中心)的名稱,該證書的序列號等信息,證書的格式遵循ITUT?X.509國際標準。

3.1.1?證書格式?
在Internet網絡中,應用程序使用的證書都來自不同的廠商或組織,為了實現可交互性,要求證書能夠被不同的系統識別,符合一定的格式,并實現標準化。X.509為證書及其CRL格式提供了一個標準。但X.509本身不是Internet標準,而是國際電聯ITU標準,它定義了一個開放的框架,并在一定的范圍內可以進行擴展。?

為了適應PKI技術的發展,IETF也必須制定在Internet上使用X.509和CRL的標準。PKIX工作組就提供了一個Internet草案"Part?I:?X.509?Certificate?and?CRL?Profile"(詳細內容可見:ftp://ftp.ietf.org/internet-drafts/draft-ietf-pkix-ipki-part1-11.txt),用于定義在Internet?PKI中使用X.509和CRL的方法和規范。該草案把X.509作為標準,并對各標準項和擴展做了說明,基本接收了X.509作為Internet中的證書標準,但也定義了被PKI應用的X.509?V3和CRL?V2標準格式的設置,這些設置包含了PKIX工作組對X.509所做的一些新的擴展。

X.509目前有三個版本:V1、V2和V3,其中V3是在V2的基礎上加上擴展項后的版本,這些擴展包括由ISO文檔(X.509-AM)定義的標準擴展,也包括由其他組織或團體定義或注冊的擴展項。X.509由ITU-T?X.509(前身為CCITT?X.509)或ISO/IEC?9594-8定義,最早以X.500目錄建議的一部分發表于1988年,并作為V1版本的證書格式。X.500于1993年進行了修改,并在V1基礎上增加了兩個額外的域,用于支持目錄存取控制,從而產生了V2版本。

為了適應新的需求ISO/IEC和ANSI?X9發展了X.509?V3版本證書格式,該版本證書通過增加標準擴展項對V1和V2證書進行了擴展。另外,根據實際需要,各個組織或團體也可以增加自己的私有擴展。

X.509?V1和V2證書所包含的主要內容如下:

·?證書版本號(Version):版本號指明X.509證書的格式版本,現在的值可以為0、1、2,也為將來的版本進行了預定義。?

·?證書序列號(SerialNumber):序列號指定由CA分配給證書的唯一的數字型標識符。當證書被取消時,實際上是將此證書的序列號放入由CA簽發的CRL中,這也是序列號唯一的原因。?

·?簽名算法標識符(Signature):簽名算法標識用來指定由CA簽發證書時所使用的簽名算法。算法標識符用來指定CA簽發證書時所使用的公開密鑰算法和hash算法,須向國際知名標準組織(如ISO)注冊。?

·?簽發機構名(Issuer):此域用來標識簽發證書的CA的X.500?DN名字。包括國家、省市、地區、組織機構、單位部門和通用名。?

·?有效期(Validity):指定證書的有效期,包括證書開始生效的日期和時間以及失效的日期和時間。每次使用證書時,需要檢查證書是否在有效期內。?

·?證書用戶名(Subject):指定證書持有者的X.500唯一名字。包括國家、省市、地區、組織機構、單位部門和通用名,還可包含email地址等個人信息等?

·?證書持有者公開密鑰信息(subjectPublicKeyInfo):證書持有者公開密鑰信息域包含兩個重要信息:證書持有者的公開密鑰的值;公開密鑰使用的算法標識符。此標識符包含公開密鑰算法和hash算法。?

·?簽發者唯一標識符(Issuer?Unique?Identifier):簽發者唯一標識符在第2版加入證書定義中。此域用在當同一個X.500名字用于多個認證機構時,用一比特字符串來唯一標識簽發者的X.500名字。可選。?

·?證書持有者唯一標識符(Subject?Unique?Identifier):持有證書者唯一標識符在第2版的標準中加入X.509證書定義。此域用在當同一個X.500名字用于多個證書持有者時,用一比特字符串來唯一標識證書持有者的X.500名字。可選。?

·?簽名值(Issuer's?Signature):證書簽發機構對證書上述內容的簽名值。?

X.509?V3證書是在v2的基礎上一標準形式或普通形式增加了擴展項,以使證書能夠附帶額外信息。標準擴展是指由X.509?V3版本定義的對V2版本增加的具有廣泛應用前景的擴展項,任何人都可以向一些權威機構,如ISO,來注冊一些其他擴展,如果這些擴展項應用廣泛,也許以后會成為標準擴展項。

3.1.2?CRL格式?
證書廢除列表CRL(Certificate?revocation?lists,又稱證書黑名單)為應用程序和其它系統提供了一種檢驗證書有效性的方式。任何一個證書廢除以后,證書機構CA會通過發布CRL的方式來通知各個相關方。目前,同X.509?V3證書對對應的CRL為X.509?v2?CRL,其所包含的內容格式如下:?

·?CRL的版本號:0表示X.509?V1?標準;1表示X.509?V2?標準;目前常用的是同X.509?V3證書對應的CRL?V2版本。?

·?簽名算法:包含算法標識和算法參數,用于指定證書簽發機構用來對CRL內容進行簽名的算法。?

·?證書簽發機構名:簽發機構的DN名,由國家、省市、地區、組織機構、單位部門和通用名等組成。?

·?此次簽發時間:此次CRL簽發時間,遵循ITU-T?X.509?V2標準的CA在2049年之前把這個域編碼為UTCTime類型,在2050或2050年之后年之前把這個域編碼為GeneralizedTime類型。?

·?下次簽發時間:下次CRL簽發時間,遵循ITU-T?X.509?V2標準的CA在2049年之前把這個域編碼為UTCTime類型,在2050或2050年之后年之前把這個域編碼為GeneralizedTime類型。?

·?用戶公鑰信息,其中包括廢除的證書序列號和證書廢除時間。廢除的證書序列號是指要廢除的由同一個CA簽發的證書的一個唯一標識號,同一機構簽發的證書不會有相同的序列號。?

·?簽名算法:對CRL內容進行簽名的簽名算法。?

·?簽名值:證書簽發機構對CRL內容的簽名值。?

另外,CRL中還包含擴展域和條目擴展域。CRL擴展域用于提供與CRL有關的額外信息部份,允許團體和組織定義私有的CRL擴展域來傳送他們獨有的信息;CRL條目擴展域則提供與CRL條目有關的額外信息部份,允許團體和組織定義私有的CRL條目擴展域來傳送他們獨有的信息。

3.1.3?證書的存放?
數字證書作為一種電子數據格式,可以直接從網上下載,也可以通過其他方式。?

·?使用IC卡存放用戶證書。即把用戶的數字證書寫到IC卡中,供用戶隨身攜帶。這樣用戶在所有能夠讀IC卡證書的電子商務終端上都可以享受安全電子商務服務。?

·?用戶證書直接存放在磁盤或自己的終端上。戶將從CA申請來的證書下載或復制到磁盤或自己的PC機或智能終端上,當用戶使用自己的終端享受電子商務服務時,直接從終端讀入即可。?

·?另外,CRL一般通過網上下載的方式存儲在用戶端。


3.2?CA框架模型

證書機構CA用于創建和發布證書,它通常為一個稱為安全域(security?domain)的有限群體發放證書。創建證書的時候,CA系統首先獲取用戶的請求信息,其中包括用戶公鑰(如果用戶端是個人使用或者測試用,則公鑰一般由用戶端產生,如電子郵件程序或瀏覽器等或者使用第三方開發的具有獨立CSP的智能終端如USBkey),CA將根據用戶的請求信息產生證書,并用自己的私鑰對證書進行簽名。其他用戶、應用程序或實體將使用CA的公鑰對證書進行驗證。如果一個CA系統是可信的,則驗證證書的用戶可以確信,他所驗證的證書中的公鑰屬于證書所代表的那個實體。

CA還負責維護和發布證書廢除列表CRL(certificate?revocation?lists,又稱為證書黑名單)。當一個證書,特別是其中的公鑰因為其他原因無效時(不是因為到期),CRL提供了一種通知用戶和其他應用的中心管理方式。CA系統生成CRL以后,要么是放到LDAP服務器中供用戶查詢或下載,要么是放置在Web服務器的合適位置,以頁面超級連接的方式供用戶直接查詢或下載。

一個典型的CA系統包括安全服務器、注冊機構RA、CA服務器、LDAP目錄服務器和數據庫服務器等。如圖2所示。

?????????????????????????????????????????????????? 圖2??? 典型CA框架模型

安全服務器:安全服務器面向普通用戶,用于提供證書申請、瀏覽、證書撤消列表以及證書下載等安全服務。安全服務器與用戶的的通信采取安全信道方式(如SSL的方式,不需要對用戶進行身份認證)。用戶首先得到安全服務器的證書(該證書由CA頒發),然后用戶與服務器之間的所有通信,包括用戶填寫的申請信息以及瀏覽器生成的公鑰均以安全服務器的密鑰進行加密傳輸,只有安全服務器利用自己的私鑰解密才能得到明文,這樣可以防止其他人通過竊聽得到明文。從而保證了證書申請和傳輸過程中的信息安全性。?

CA服務器:CA服務器使整個證書機構的核心,負責證書的簽發。CA首先產生自身的私鑰和公鑰(密鑰長度至少為1024位),然后生成數字證書,并且將數字證書傳輸給安全服務器。CA還負責為操作員、安全服務器以及注冊機構服務器生成數字證書。安全服務器的數字證書和私鑰也需要傳輸給安全服務器。CA服務器是整個結構中最為重要的部分,存有CA的私鑰以及發行證書的腳本文件,出于安全的考慮,應將CA服務器與其他服務器隔離,任何通信采用人工干預的方式,確保認證中心的安全。?

注冊機構RA:登記中心服務器面向登記中心操作員,在CA體系結構中起承上啟下的作用,一方面向CA轉發安全服務器傳輸過來的證書申請請求,另一方面向LDAP服務器和安全服務器轉發CA頒發的數字證書和證書撤消列表。?

LDAP服務器:LDAP服務器提供目錄瀏覽服務,負責將注冊機構服務器傳輸過來的用戶信息以及數字證書加入到服務器上。這樣其他用戶通過訪問LDAP服務器就能夠得到其他用戶的數字證書。?

數據庫服務器:數據庫服務器是認證機構中的核心部分,用于認證機構中數據(如密鑰和用戶信息等)、日志合統計信息的存儲和管理。實際的的數據庫系統應采用多種措施,如磁盤陣列、雙機備份和多處理器等方式,以維護數據庫系統的安全性、穩定性、可伸縮性和高性能。?

3.3?證書的申請和撤銷

證書的申請有兩種方式,一是在線申請,另外一個就是離線申請。在線申請就是通過瀏覽器或其他應用系統通過在線的方式來申請證書,這種方式一般用于申請普通用戶證書或測試證書。離線方式一般通過人工的方式直接到證書機構證書受理點去辦理證書申請手續,通過審核后獲取證書,這種方式一般用于比較重要的場合,如服務器證書和商家證書等。下面討論的主要是在線申請方式。

當證書申請時,用戶使用瀏覽器通過Internet訪問安全服務器,下載CA的數字證書(又叫做根證書),然后注冊機構服務器對用戶進行身份審核,認可后便批準用戶的證書申請,然后操作員對證書申請表進行數字簽名,并將申請及其簽名一起提交給CA服務器。

CA操作員獲得注冊機構服務器操作員簽發的證書申請,發行證書或者拒絕發行證書,然后將證書通過硬拷貝的方式傳輸給注冊機構服務器。注冊機構服務器得到用戶的證書以后將用戶的一些公開信息和證書放到LDAP服務器上提供目錄瀏覽服務,并且通過電子郵件的方式通知用戶從安全服務器上下載證書。用戶根據郵件的提示到指定的網址下載自己的數字證書,而其他用戶可以通過LDAP服務器獲得他的公鑰數字證書。

證書申請的步驟如下:

1.?用戶申請?

用戶首先下載CA的證書,又叫根證書,然后在證書的申請過程中使用SSL安全方式與服務器建立連接,用戶填寫個人信息,瀏覽器生成私鑰和公鑰對,將私鑰保存客戶端特定文件中,并且要求用口令保護私鑰,同時將公鑰和個人信息提交給安全服務器。安全服務器將用戶的申請信息傳送給注冊機構服務器。?

2.?注冊機構審核?

用戶與注冊機構人員聯系,證明自己的真實身份,或者請求代理人與注冊機構聯系。?注冊機構操作員利用自己的瀏覽器與注冊機構服務器建立SSL安全通信,該服務器需要對操作員進行嚴格的身份認證,包括操作員的數字證書、IP地址,為了進一步保證安全性,可以設置固定的訪問時間。操作員首先查看目前系統中的申請人員,從列表中找出相應的用戶,點擊用戶名,核對用戶信息,并且可以進行適當的修改,如果操作員同意用戶申請證書請求,必須對證書申請信息進行數字簽名。操作員也有權利拒絕用戶的申請。操作員與服務器之間的所有通信都采用加密和簽名,具有安全性、抗否認性,保證了系統的安全性和有效性。?

3.?CA發行證書?

注冊機構RA通過硬拷貝的方式向CA傳輸用戶的證書申請與操作員的數字簽名,CA操作員查看用戶的詳細信息,并且驗證操作員的數字簽名,如果簽名驗證通過,則同意用戶的證書請求,頒發證書。然后CA將證書輸出。如果CA操作員發現簽名不正確,則拒絕證書申請,?CA頒發的數字證書中包含關于用戶及CA自身的各種信息,如:能唯一標識用戶的姓名及其他標識信息,如個人的email地址;證書持有者的公鑰。公鑰用于為證書持有者加密敏感信息、簽發個人證書的認證機構的名稱、個人證書的序列號和個人證書的有效期(證書有效起止日期)等?

4.?注冊機構證書轉發?

注冊機構RA操作員從CA處得到新的證書,首先將證書輸出到LDAP目錄服務器以提供目錄瀏覽服務,最后操作員向用戶發送一封電子郵件,通知用戶證書已經發行成功,并且把用戶的證書序列號告訴用戶到指定的網址去下載自己的數字證書。并且告訴用戶如何使用安全服務器上的LDAP配置,讓用戶修改瀏覽器的客戶端配置文件以便訪問LDAP服務器,獲得他人的數字證書。?

5.?用戶證書獲取?

用戶使用證書申請時的瀏覽器到指定的網址,鍵入自己的證書序列號,服務器要求用戶必須使用申請證書時的瀏覽器,因為瀏覽器需要用該證書相應的私鑰去驗證數字證書。只有保存了相應私鑰的瀏覽器才能成功下載用戶的數字證書。?

這時用戶打開瀏覽器的安全屬性,就可以發現自己已經擁有了CA頒發的數字證書,可以利用該數字證書與其他人以及web服務器(擁有相同CA頒發的證書)使用加密、數字簽名進行安全通信。

認證中心還涉及到CRL的管理。用戶向特定的操作員(僅負責CRL的管理)發一份加密簽名的郵件,申明自己希望撤消證書。操作員打開郵件,填寫CRL注冊表,并且進行數字簽名,提交給CA,CA操作員驗證注冊機構操作員的數字簽名,批準用戶撤消證書,并且更新CRL,然后CA將不同格式的CRL輸出給注冊機構,公布到安全服務器上,這樣其他人可以通過訪問服務器得到CRL。

證書撤銷流程步驟如下:

1.?用戶向注冊機構操作員CRLManager發送一封簽名加密的郵件,聲明自己自愿撤消證書。?

2.?這冊機構同意證書撤消,操作員鍵入用戶的序列號,對請求進行數字簽名。?

3.?CA查詢證書撤消請求列表,選出其中的一個,驗證操作員的數字簽名,如果正確的話,則同意用戶的證書撤消申請,同時更新CRL列表,然后將CRL以多種格式輸出。?

4.?注冊機構轉發證書撤消列表。操作員導入CRL,以多種不同的格式將CRL公布于眾。?

5.?用戶瀏覽安全服務器,下載或瀏覽CRL。?

在一個PKI,特別是CA中,信息的存儲是一個非常核心的問題,它包括兩個方面:一是CA服務器利用數據庫來備份當前密鑰和歸檔過期密鑰,該數據庫需高度安全和機密,其安全等級同CA本身相同;另外一個就是目錄服務器,用于分發證書和CRL,一般采用LDAP目錄服務器。

3.4?密鑰管理

密鑰管理也是PKI(主要指CA)中的一個核心問題,主要是指密鑰對的安全管理,包括密鑰產生、密鑰備份、密鑰恢復和密鑰更新等。

1.?密鑰產生?
密鑰對的產生是證書申請過程中重要的一步,其中產生的私鑰由用戶保留,公鑰和其他信息則交于CA中心進行簽名,從而產生證書。根據證書類型和應用的不同,密鑰對的產生也有不同的形式和方法。
對普通證書和測試證書,一般由瀏覽器或固定的終端應用來產生,這樣產生的密鑰強度較小,不適合應用于比較重要的安全網絡交易。而對于比較重要的證書,如商家證書和服務器證書等,密鑰對一般由專用應用程序或CA中心直接產生,這樣產生的密鑰強度大,適合于重要的應用場合。?
另外,根據密鑰的應用不同,也可能會有不同的產生方式。比如簽名密鑰可能在客戶端或RA中心產生,而加密密鑰則需要在CA中心直接產生。?

2.?密鑰備份和恢復?
在一個PKI系統中,維護密鑰對的備份至關重要,如果沒有這種措施,當密鑰丟失后,將意味著加密數據的完全丟失,對于一些重要數據,這將是災難性的。所以,密鑰的備份和恢復也是PKI密鑰管理中的重要一環。?
使用PKI的企業和組織必須恩能夠得到確認:即使密鑰丟失,受密要加密保護的重要信息也必須能夠恢復,并且不能讓一個獨立的個人完全控制最重要的主密鑰,否則將引起嚴重后果。?
企業級的PKI產品至少應該支持用于加密的安全密鑰的存儲、備份和恢復。密鑰一般用口令進行保護,而口令丟失則是管理員最常見的安全疏漏之一。所以,PKI產品應該能夠備份密鑰,即使口令丟失,它也能夠讓用戶在一定條件下恢復該密鑰,并設置新的口令。?
例如,在某些情況下用戶可能有多對密鑰,至少應該有兩個密鑰:一個用于加密,一個用于簽名。簽名密要不需要備份,因為用于驗證簽名的公鑰(或公鑰證書)廣泛發布,即使簽名私鑰丟失,任何用于相應公要的人都可以對已簽名的文檔進行驗證。但PKI系統必須備份用于加密的密鑰對,并允許用戶進行恢復,否則,用于解密的私鑰丟失將意味著加密數據的完全不可恢復。?
另外,使用PKI的企業也應該考慮所使用密鑰的生命周期,它包括密鑰和證書的有效時間,以及已撤銷密鑰和證書的維護時間等。?

3.?密鑰更新?
對每一個由CA頒發的證書都會有有效期,密鑰對生命周期的長短由簽發證書的CA中心來確定,各CA系統的證書有效期限有所不同,一般大約為2-3年。?
當用戶的私鑰被泄漏或證書的有效期快到時,用戶應該更新私鑰。這時用戶可以廢除證書,產生新的密鑰對,申請新的證書。?

3.5?證書的使用

在實際應用中,為了驗證信息的數字簽名,用戶首先必須獲取信息發送者的公鑰證書,以及一些額外需要的證書(如CA證書等,用于驗證發送者證書的有效性)。

證書的獲取可以有多種方式,如發送者發送簽名信息時附加發送自己的證書,或以另外的單獨信息發送證書,或者可以通過訪問證書發布的目錄服務器來獲得,或者直接從證書相關的實體處獲得。在一個PKI體系中,可以采取某種或某幾種上述方式獲得證書。

在電子商務系統中,證書的持有者可以是個人用戶、企事業單位、商家、銀行等。無論是電子商務中的哪一方,在使用證書驗證數據時,都遵循同樣的驗證流程。一個完整的驗證過程有以下幾步:

1.?將客戶端發來的數據解密?(如解開數字信封)。?

2.?將解密后的數據分解成原始數據,簽名數據和客戶證書三部分。?

3.?用CA根證書驗證客戶證書的簽名完整性。?

4.?檢查客戶證書是否有效?(當前時間在證書結構中的所定義的有效期內)。?

5.?檢查客戶證書是否作廢?(OCSP方式或CRL方式)。?

6.?驗證客戶證書結構中的證書用途。?

7.?客戶證書驗證原始數據的簽名完整性。?

如果以上各項均驗證通過,則接受該數據。

4?PKI應用

---PKI技術的廣泛應用能滿足人們對網絡交易安全保障的需求。當然,作為一種基礎設施,PKI的應用范圍非常廣泛,并且在不斷發展之中,下面給出幾個應用實例。

1.?虛擬專用網絡(×××)?
×××是一種架構在公用通信基礎設施上的專用數據通信網絡,利用網絡層安全協議(尤其是IPSec)和建立在PKI上的加密與簽名技術來獲得機密性保護。基于PKI技術的IPSec協議現在已經成為架構×××的基礎,它可以為路由器之間、防火墻之間或者路由器和防火墻之間提供經過加密和認證的通信。雖然它的實現會復雜一些,但其安全性比其他協議都完善得多。?

2.?安全電子郵件?
----作為Internet上最有效的應用,電子郵件憑借其易用、低成本和高效已經成為現代商業中的一種標準信息交換工具。隨著Internet的持續增長,商業機構或政府機構都開始用電子郵件交換一些秘密的或是有商業價值的信息,這就引出了一些安全方面的問題,包括:消息和附件可以在不為通信雙方所知的情況下被讀取、篡改或截掉;發信人的身份無法確認。電子郵件的安全需求也是機密、完整、認證和不可否認,而這些都可以利用PKI技術來獲得。目前發展很快的安全電子郵件協議是S/MIME?(The?Secure?Multipurpose?Internet?Mail?Extension),這是一個允許發送加密和有簽名郵件的協議。該協議的實現需要依賴于PKI技術。?

3.?Web安全?
----瀏覽Web頁面是人們最常用的訪問Internet的方式。如果要通過Web?進行一些商業交易,該如何保證交易的安全呢?為了透明地解決Web的安全問題,在兩個實體進行通信之前,先要建立SSL連接,以此實現對應用層透明的安全通信。利用PKI技術,SSL協議允許在瀏覽器和服務器之間進行加密通信。此外服務器端和瀏覽器端通信時雙方可以通過數字證書確認對方的身份。-結合SSL協議和數字證書,PKI技術可以保證Web?交易多方面的安全需求,使Web上的交易和面對面的交易一樣安全。?

5?應用編程接口API

協議標準是系統具有可交互性的前提和基礎,它規范了PKI系統各部分之間相互通信的格式和步驟。而應用編程界面API(Application?programming?interfaces)則定義了如何使用這些協議,并為上層應用提供PKI服務。當應用需要使用PKI服務,如獲取某一用戶的公鑰、請求證書廢除信息或請求證書時將會都會用到API。目前API沒有統一的國際標準,大部分都是操作系統或某一公司產品的擴展,并在其產品應用的框架內提供PKI服務。

目前,有很多可以讓開發者選擇的API類型。IETF建議標準為通用安全服務API:GSS-API(Generic?Security?Service?Application?Program?Interface),它提供了一種接口與網絡機制和網絡協議相互獨立的實現。

歐洲建立的SESAME(Secure?European?System?for?Applications?in?a?Multi-Vendor?Environment)定義了一些安全界面,并作為該組織發展的安全技術的一部分,該接口得到了歐洲許多著名廠商的支持,如Bull?SA、ICL和Seimens等,但沒有在美國得到支持,特別是一些大的廠商,如Microsoft和Netscape等。

Entrust也為其產品提供了一套API,如Entrust證書管理服務API(CMS?API,Entrust's?Certificate?Management?Services?API),該API允許應用使用Entrust的證書管理和分發服務。在1996年指定,并與1997年更新的PKIX?Internet草案"Architecture?for?Public?Key?Infrastructure"定義了PKI結構,并建議了許多標準,其中就包括API。?

目前,在API市場處于領先地位的是Microsoft的CryptoAPI和Intel的公用數據安全框架CDSA(Common?Data?Security?Architecture),他們憑借自己的產品優勢相互競爭。Microsoft利用其廣泛的操作系統市場,而Intel則憑借其PC芯片的優勢,并與其它廠商,如IBM、Entrust和Netscape等進行聯合,共同支持CDSA。現在也有很多廠商的PKI產品同時支持這兩種API,如Entrust等。PKIX在很多情況下支持CDSA,并建議其為"Architecture?for?Public?Key?Infrastructure"草案的標準。

除此之外,Entrust、IBM、Intel、?Netscape和TIS等聯合向開放組織(Open?Group)提議了一個基于CDSA的加密和證書管理接口,并使用了Entrust的CMS?API、IBM的密鑰恢復API。但開放組織同時也在考慮使用PKCS?#11作為安全API接口。

下面介紹目前兩個比較常用的安全API接口:CryptoAPI和CDSA接口。

5.1?CryptoAPI

微軟加密應用程序接口CryptoAPI(Microsoft?Cryptographic?Application?Programming?Interface)為Win32應用程序提供了認證、編碼、加密和簽名等安全處理,它可使用戶在對復雜的加密機制和加密算法不了解的情況下,而對應用程序增加安全功能。這樣很符合Windows的設計風格,就像用戶可是使用圖形庫而不需要了解圖形硬件一樣。

目前CryptoAPI的最新版本是2.0版,在包含CryptoAPI?1.0的全部功能外,還增加了證書管理功能,為網絡身份認證提供的基本保證。

CryptoAPI通過一系列的庫函數來對應用程序提供PKI安全服務,其整體系統結構如圖3所示:

??????????????????????????????????????????????????????????????????????????????????? 圖3??? CryptoAPI結構圖

CryptoAPI的編程模型同Windows系統的圖形設備接口?GDI比較類似,其中加密服務提供者CSP(Cryptographic?Service?Providers)等同于圖形設備驅動程序?,加密硬件(可選)等同于圖形硬件,其上層的應用程序也類似,都不需要同設備驅動程序和硬件直接打交道

CryptoAPI共有五部分組成:簡單消息函數(Simplified?Message?Functions)、低層消息函數(Low-level?Message?Functions)、基本加密函數(Base?Cryptographic?Functions)、證書編解碼函數(Certificate?Encode/Decode?Functions)和證書庫管理函數(Certificate?Store?Functions)。其中前三者可用于對敏感信息進行加密或簽名處理,可保證網絡傳輸信心的私有性;后兩者通過對證書的使用,可保證網絡信息交流中的認證性。

5.2?CDSA

CDSA(Common?Data?Security?Architecture)為安全應用服務提供了一個整體框架和解決方案,提供了諸如證書管理等許多PKI功能。

同CryptoAPI類似,CDSA也是以一個分層的服務提供者框架為基礎,其的應用模式可分為四層,最上層是應用程序,應用程序的下層是中間件,例如SSL、IPSEC接口、語言接口轉換器等,接下來是CSSM層,CSSM層是CDSA的核心層,CSSM的下層是具體的服務提供者,如加密服務、證書服務、政策服務、數據存儲服務等,如圖4所示。

?????????????????????????????????????????????????????????????????????????????????????????? 圖4????? CDSA系統結構

---?CSSM?是CDSA的核心部分,它表現為一組公開的應用編程接口(API),為應用程序提供安全功能的調用,共包含4個基本的安全模塊。

·?加密服務提供(Cryptographic?Service?Provider,CSP)模塊。?CSP負責加/解密、數字簽名和私鑰保存等工作,是整個CDSA結構的基礎。?

·?信任策略(Trust?Policy,TP)模塊。TP負責信任策略的具體實施,判定特定行為(如開支票或訪問涉密信息)所需的信任級別。由于具有模塊化的結構,TP能夠對不同的機構應用不同的策略,比如,對商業銀行和政府機構運用的策略就有所不同。?

·?證書庫(Certificate?Library,CL)模塊。CL提供證書的維護、撤銷和數字簽名等功能。?

·?數據存儲庫(Data?Storage?Library,DL)模塊。DL進行安全相關數據對象的存儲,包括證書、密鑰和信任規則對象等,而實際的存儲位置可能在大型數據庫、原始的文件系統或某種特定的硬件設備中。?

----?另外,任何軟、硬件廠商都可以建立自己的服務提供模塊,無縫嵌入到CDSA的開放式框架中。在CDSA?2.0中又增加任選模塊管理,支持更方便地增加模塊。

另外,還可以對CSSM進行更高一層的抽象,提供高層的API,使開發者更容易使用CDSA提供的PKI安全功能。

6?PKI標準

隨著PKI的發展和應用的不斷普及,PKI的產品也越來越多,為了保持個產品之間的兼容性,標準化成了PKI不可避免的發展趨勢。

PKI的標準可分為兩個部分:一類用于定義PKI,而另一類用于PKI的應用。

6.1?定義PKI的標準

在PKI技術框架中,許多方面都經過嚴格的定義,如用戶的注冊流程、數字證書的格式、CRL的格式、證書的申請格式以及數字簽名格式等。

國際電信聯盟ITU?X.509協議,是PKI技術體系中應用最為廣泛、也是最為基礎的一個國際標準。它的主要目的在于定義一個規范的數字證書的格式,以便為基于X.500協議的目錄服務提供一種強認證手段。但該標準并非要定義一個完整的、可互操作的PKI認證體系。

PKCS是由美國RSA數據安全公司及其合作伙伴制定的一組公鑰密碼學標準,其中包括證書申請、證書更新、證書作廢表發布、擴展證書內容以及數字簽名、數字信封的格式等方面的一系列相關協議。到1999年底,PKCS已經公布了以下標準:

·?PKCS#1:定義RSA公開密鑰算法加密和簽名機制,主要用于組織PKCS#7中所描述的數字簽名和數字信封。?

·?PKCS#3:定義Diffie-Hellman密鑰交換協議。?

·?PKCS#5:描述一種利用從口令派生出來的安全密鑰加密字符串的方法。使用MD2或MD5?從口令中派生密鑰,并采用DES-CBC模式加密。主要用于加密從一個計算機傳送到另一個計算機的私人密鑰,不能用于加密消息。?

·?PKCS#6:描述了公鑰證書的標準語法,主要描述X.509證書的擴展格式。?

·?PKCS#7:定義一種通用的消息語法,包括數字簽名和加密等用于增強的加密機制,PKCS#7與PEM兼容,所以不需其他密碼操作,就可以將加密的消息轉換成PEM消息。?

·?PKCS#8:描述私有密鑰信息格式,該信息包括公開密鑰算法的私有密鑰以及可選的屬性集等。?

·?PKCS#9:定義一些用于PKCS#6證書擴展、PKCS#7數字簽名和PKCS#8私鑰加密信息的屬性類型。?

·?PKCS#10:描述證書請求語法。?

·?PKCS#11:稱為Cyptoki,定義了一套獨立于技術的程序設計接口,用于智能卡和PCMCIA卡之類的加密設備。?

·?PKCS#12:描述個人信息交換語法標準。描述了將用戶公鑰、私鑰、證書和其他相關信息打包的語法。?

·?PKCS#13:橢圓曲線密碼體制標準。?

·?PKCS#14:偽隨機數生成標準。?

·?PKCS#15:密碼令牌信息格式標準。?

另外,PKCS#2和PKCS#4已經合并到PKCS#1之中。PKIX是由IETF組織中的PKI工作小組制定的系列國際標準。此類標準主要定義基于X.509和PKCS的PKI模型框架。PKIX中定義的四個主要模型為用戶、認證中心CA、注冊中心RA和證書存取庫。

6.2?PKI應用標準

目前世界上已經出現了許多依賴于PKI的安全標準,即PKI的應用標準,如安全的套接層協議SSL、傳輸層安全協議TLS、安全的多用途互連網郵件擴展協議S/MIME和IP安全協議IPSEC等。

·?S/MIME是一個用于發送安全報文的IETF標準。它采用了PKI數字簽名技術并支持消息和附件的加密,無須收發雙方共享相同密鑰。S/MIME委員會采用PKI技術標準來實現S/MIME,并適當擴展了PKI的功能。目前該標準包括密碼報文語法、報文規范、證書處理以及證書申請語法等方面的內容。?

·?SSL/TLS是互連網中訪問WEB服務器最重要的安全協議。當然,他們也可以應用于基于客戶機/服務器模型的非WEB類型的應用系統。SSL/TLS都利用PKI的數字證書來認證客戶和服務器的身份。?

·?IPSEC是IETF制定的IP層加密協議,PKI技術為其提供了加密和認證過程的密鑰管理功能。IPSEC主要用于開發新一代的×××。?

另外,隨著PKI的進一步發展,新的標準也在不斷的增加和更新。

7?結論

從目前的發展來說,PKI的范圍非常廣,而不僅僅局限于通常認為的CA機構,它還包括完整的安全策略和安全應用。因此,PKI的開發也從傳統的身份認證到各種與應用相關的安全場合,如企業安全電子商務和政府的安全電子政務等。

另外,PKI的開發也從大型的認證機構到與企業或政府應用相關的中小型PKI系統發展,既保持了兼容性,又和特定的應用相關。在以后的文章中,我們會對PKI的源代碼工程OpenCA進行詳細分析,為PKI的開發提供借鑒。


轉載于:https://blog.51cto.com/12156221/1862243

總結

以上是生活随笔為你收集整理的PKI系统相关知识点介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。