PKI系统深入介绍
??????? 公鑰基礎(chǔ)設(shè)施(Public?Key?Infrastructure,簡稱PKI)是眼下網(wǎng)絡(luò)安全建設(shè)的基礎(chǔ)與核心,是電子商務(wù)安全實施的基本保障,因此,對PKI技術(shù)的研究和開發(fā)成為眼下信息安全領(lǐng)域的熱點。本文對PKI技術(shù)進行了全面的分析和總結(jié),當中包含PKI組成、證書認證機構(gòu)CA、PKI應(yīng)用、應(yīng)用編程接口和PKI標準等,并對CA的開發(fā)做了簡要分析。本文對PKI,特別是CA的開發(fā)、應(yīng)用和普及具有一定的促進作用。
1?前言
隨著網(wǎng)絡(luò)技術(shù)和信息技術(shù)的發(fā)展,電子商務(wù)已逐步被人們所接受,并在得到不斷普及。但因為各種原因,國內(nèi)電子商務(wù)的安全性仍不能得到有效的保障。在常規(guī)業(yè)務(wù)中,交易兩方現(xiàn)場交易,可以確認購買兩方的身份。利用商場開具的發(fā)票和客戶現(xiàn)場支付商品費用,無須操心發(fā)生糾紛和無憑證可依。但通過網(wǎng)上進行電子商務(wù)交易時,因為交易兩方并不現(xiàn)場交易,因此,無法確認兩方的合法身份,同一時候交易信息是交易兩方的商業(yè)秘密,在網(wǎng)上傳輸時必須保證安全性,防止信息被竊取;兩方的交易非現(xiàn)場交易,一旦發(fā)生糾紛,必須可以提供仲裁。
因此,在電子商務(wù)中,必須從技術(shù)上保證在交易過程中可以實現(xiàn)身份認證、安全傳輸、不可否認性、數(shù)據(jù)完整性。在採用數(shù)字證書認證體系之前,交易安全一直未能真正得到解決。因為數(shù)字證書認證技術(shù)採用了加密傳輸和數(shù)字簽名,可以實現(xiàn)上述要求,因此在國內(nèi)外電子商務(wù)中,都得到了廣泛的應(yīng)用。
PKI採用證書進行公鑰管理,通過第三方的可信任機構(gòu)(認證中心,即CA),把用戶的公鑰和用戶的其它標識信息捆綁在一起,當中包含username和電子郵件地址等信息,以在Internet網(wǎng)上驗證用戶的身份。PKI把公鑰password和對稱password結(jié)合起來,在Internet網(wǎng)上實現(xiàn)密鑰的自己主動管理,保證網(wǎng)上數(shù)據(jù)的安全傳輸。
因此,從大的方面來說,全部提供公鑰加密和數(shù)字簽名服務(wù)的系統(tǒng),都可歸結(jié)為PKI系統(tǒng)的一部分,PKI的主要目的是通過自己主動管理密鑰和證書,為用戶建立起一個安全的網(wǎng)絡(luò)執(zhí)行環(huán)境,使用戶能夠在多種應(yīng)用環(huán)境下方便的使用加密和數(shù)字簽名技術(shù),從而保證網(wǎng)上數(shù)據(jù)的機密性、完整性、有效性。數(shù)據(jù)的機密性是指數(shù)據(jù)在傳輸過程中,不能被非授權(quán)者偷看;數(shù)據(jù)的完整性是指數(shù)據(jù)在傳輸過程中不能被非法篡改;數(shù)據(jù)的有效性是指數(shù)據(jù)不能被否認。
一個有效的PKI系統(tǒng)必須是安全的和透明的,用戶在獲得加密和數(shù)字簽名服務(wù)時,不須要具體地了解PKI的內(nèi)部運作機制。在一個典型、完整和有效的PKI系統(tǒng)中,除證書的創(chuàng)建和公布,特別是證書的撤銷,一個可用的PKI產(chǎn)品還必須提供對應(yīng)的密鑰管理服務(wù),包含密鑰的備份、恢復(fù)和更新等。沒有一個好的密鑰管理系統(tǒng),將極大影響一個PKI系統(tǒng)的規(guī)模、可伸縮性和在協(xié)同網(wǎng)絡(luò)中的執(zhí)行成本。在一個企業(yè)中,PKI系統(tǒng)必須有能力為一個用戶管理多對密鑰和證書;可以提供安全策略編輯和管理工具,如密鑰周期和密鑰用途等。
PKI發(fā)展的一個重要方面就是標準化問題,它也是建立互操作性的基礎(chǔ)。眼下,PKI標準化主要有兩個方面:一是RSA公司的公鑰加密標準PKCS(Public?Key?Cryptography?Standards),它定義了很多基本PKI部件,包含數(shù)字簽名和證書請求格式等;二是由Internetproject任務(wù)組IETF(Internet?Engineering?Task?Force)和PKI工作組PKIX(Public?Key?Infrastructure?Working?Group)所定義的一組具有互操作性的公鑰基礎(chǔ)設(shè)施協(xié)議。在今后非常長的一段時間內(nèi),PKCS和PKIX將會并存,大部分的PKI產(chǎn)品為保持兼容性,也將會對這兩種標準進行支持。
PKI的發(fā)展非常快,已經(jīng)從幾年前的理論階段過渡到眼下的產(chǎn)品階段,而且出現(xiàn)了大量成熟技術(shù)、產(chǎn)品和解決方式,正逐步走向成熟。PKI的發(fā)展受應(yīng)用驅(qū)動的影響,比方,早期的Internet商務(wù)和Web安全要求主要依賴于SSL,并要求應(yīng)用首先對證書進行處理,所以,在非常多公司的消息和群組產(chǎn)品中都提供了公鑰和證書系統(tǒng),如Exchange和Notes等。另外,基于標準的基礎(chǔ)設(shè)施和應(yīng)用也相同促進了PKI的發(fā)展,它可以保證基于Internet的安全消息傳送的可交互性,如S/MIME等。
眼下,PKI產(chǎn)品的生產(chǎn)廠家非常多,比較有代表性的主要有VeriSign和Entrust。VeriSign作為RSA的控股公司,借助RSA成熟的安全技術(shù),提供了PKI產(chǎn)品,為用戶之間的內(nèi)部信息交互提供安全保障。另外,VeriSign也提供對外的CA服務(wù),包含證書的公布和管理等功能,而且同一些大的生產(chǎn)商,如Microsoft、Netscape和JavaSoft等,保持了伙伴關(guān)系,以在Internet上提供代碼簽名服務(wù)。
Entrust作為北方電訊(Northern?Telecom)的控股公司,從事PKI的研究與產(chǎn)品開發(fā)已經(jīng)有非常多年的歷史了,并一直在業(yè)界保持率先地位,擁有很多成熟的PKI及配套產(chǎn)品,并提供了有效的密鑰管理功能。
另外,一些大的廠商,如Microsoft、Netscape和Novell等,都開始在自己的網(wǎng)絡(luò)基礎(chǔ)設(shè)施產(chǎn)品中添加PKI功能。Netscape已經(jīng)開始把證書server作為了SuiteSpot的一部分,盡管其證書server沒有Entrust產(chǎn)品的功能全面和完好,但提供了主要的證書生成和管理功能。即使沒有密鑰管理功能,但因為Netscape把證書server同SuiteSpotserver和Communicatorclient產(chǎn)品的集成,依靠廣泛的市場基礎(chǔ),也取得的越來越多的市場份額。由SUN和Netscape聯(lián)盟組成的iplanet公司(Sun|Netscape?Alliance)也在PKI方面做了非常大的努力,憑借其在網(wǎng)絡(luò)和電子商務(wù)方面的優(yōu)勢,發(fā)展了非常多性能優(yōu)越的PKI產(chǎn)品,如LDAP文件夾server和證書管理系統(tǒng)等。
2?PKI組成
PKI作為一組在分布式計算系統(tǒng)中利用公鑰技術(shù)和X.509證書所提供的安全服務(wù),企業(yè)或組織可利用相關(guān)產(chǎn)品建立安全域,并在當中公布密鑰和證書。在安全域內(nèi),PKI管理加密密鑰和證書的公布,并提供諸如密鑰管理(包含密鑰更新,密鑰恢復(fù)和密鑰托付等)、證書管理(包含證書產(chǎn)生和撤銷等)和策略管理等。PKI產(chǎn)品也同意一個組織通過證書級別或直接交叉認證等方式來同其它安全域建立信任關(guān)系。這些服務(wù)和信任關(guān)系不能局限于獨立的網(wǎng)絡(luò)之內(nèi),而應(yīng)建立在網(wǎng)絡(luò)之間和Internet之上,為電子商務(wù)和網(wǎng)絡(luò)通信提供安全保障,所以具有互操作性的結(jié)構(gòu)化和標準化技術(shù)成為PKI的核心
PKI在實際應(yīng)用上是一套軟硬件系統(tǒng)和安全策略的集合,它提供了一整套安全機制,使用戶在不知道對方身份或分布地非常廣的情況下,以證書為基礎(chǔ),通過一系列的信任關(guān)系進行通訊和電子商務(wù)交易。
??????????????????????????????????????????????????????? ?圖 1?????? PKI組成
一個典型的PKI系統(tǒng)如圖1所看到的,當中包含PKI策略、軟硬件系統(tǒng)、證書機構(gòu)CA、注冊機構(gòu)RA、證書公布系統(tǒng)和PKI應(yīng)用等。
1.?PKI安全策略建立和定義了一個組織信息安全方面的指導(dǎo)方針,同一時候也定義了password系統(tǒng)使用的處理方法和原則。它包含一個組織怎樣處理密鑰和有價值的信息,依據(jù)風險的級別定義安全控制的級別。普通情況下,在PKI中有兩種類型的策略:一是證書策略,用于管理證書的使用,比方,能夠確認某一CA是在Internet上的公有CA,還是某一企業(yè)內(nèi)部的私有CA;另外一個就是CPS(Certificate?Practice?Statement)。一些由商業(yè)證書發(fā)放機構(gòu)(CCA)或者可信的第三方操作的PKI系統(tǒng)須要CPS。這是一個包含怎樣在實踐中增強和支持安全策略的一些操作過程的具體文檔。它包含CA是怎樣建立和運作的,證書是怎樣發(fā)行、接收和廢除的,密鑰是怎樣產(chǎn)生、注冊的,以及密鑰是怎樣存儲的,用戶是怎樣得到它的等等。?
2.?證書機構(gòu)CA是PKI的信任基礎(chǔ),它管理公鑰的整個生命周期,其作用包含:發(fā)放證書、規(guī)定證書的有效期和通過公布證書廢除列表(CRL)確保必要時能夠廢除證書。后面將會在CA進行具體介紹。?
3.?注冊機構(gòu)RA提供用戶和CA之間的一個接口,它獲取并認證用戶的身份,向CA提出證書請求。它主要完畢收集用戶信息和確認用戶身份的功能。這里指的用戶,是指將要向認證中心(即CA)申請數(shù)字證書的客戶,能夠是個人,也能夠是集團或團體、某政府機構(gòu)等。注冊管理一般由一個獨立的注冊機構(gòu)(即RA)來承擔。它接受用戶的注冊申請,審查用戶的申請資格,并決定是否允許CA給其簽發(fā)數(shù)字證書。注冊機構(gòu)并不給用戶簽發(fā)證書,而僅僅是對用戶進行資格審查。因此,RA能夠設(shè)置在直接面對客戶的業(yè)務(wù)部門,如銀行的營業(yè)部、機構(gòu)認識部門等。當然,對于一個規(guī)模較小的PKI應(yīng)用系統(tǒng)來說,可把注冊管理的職能由認證中心CA來完畢,而不設(shè)立獨立執(zhí)行的RA。但這并非取消了PKI的注冊功能,而僅僅是將其作為CA的一項功能而已。PKI國際標準推薦由一個獨立的RA來完畢注冊管理的任務(wù),能夠增強應(yīng)用系統(tǒng)的安全。?
4.?證書公布系統(tǒng)負責證書的發(fā)放,如能夠通過用戶自己,或是通過文件夾服務(wù)。文件夾server能夠是一個組織中現(xiàn)存的,也能夠是PKI方案中提供的。?
PKI的應(yīng)用很廣泛,包含在webserver和瀏覽器之間的通訊、電子郵件、電子數(shù)據(jù)交換(EDI)、在Internet上的信用卡交易和虛擬私有網(wǎng)(VPN)等。?
?
一個簡單的PKI系統(tǒng)包含證書機構(gòu)CA、注冊機構(gòu)RA和對應(yīng)的PKI存儲庫。CA用于簽發(fā)并管理證書;RA可作為CA的一部分,也能夠獨立,其功能包含個人身份審核、CRL管理、密鑰產(chǎn)生和密鑰對備份等;PKI存儲庫包含LDAP文件夾server和普通數(shù)據(jù)庫,用于對用戶申請、證書、密鑰、CRL和日志等信息進行存儲和管理,并提供一定的查詢功能。
3?證書認證機構(gòu)CA
3.1?數(shù)字證書基礎(chǔ)
數(shù)字證書是一種數(shù)字標識,能夠說是Internet上的安全護照或身份證明。當人們到其它國家旅行時,用戶護照能夠證實其身份,并被獲準進入這個國家。數(shù)字證書提供的是網(wǎng)絡(luò)上的身份證明。
數(shù)字證書是一個經(jīng)證書授權(quán)中心數(shù)字簽名的包括公開密鑰擁有者信息和公開密鑰的文件。最簡單的證書包括一個公開密鑰、名稱以及證書授權(quán)中心的數(shù)字簽名。普通情況下證書中還包括密鑰的有效時間,發(fā)證機關(guān)(證書授權(quán)中心)的名稱,該證書的序列號等信息,證書的格式遵循ITUT?X.509國際標準。
3.1.1?證書格式?
在Internet網(wǎng)絡(luò)中,應(yīng)用程序使用的證書都來自不同的廠商或組織,為了實現(xiàn)可交互性,要求證書可以被不同的系統(tǒng)識別,符合一定的格式,并實現(xiàn)標準化。X.509為證書及其CRL格式提供了一個標準。但X.509本身不是Internet標準,而是國際電聯(lián)ITU標準,它定義了一個開放的框架,并在一定的范圍內(nèi)可以進行擴展。?
為了適應(yīng)PKI技術(shù)的發(fā)展,IETF也必須制定在Internet上使用X.509和CRL的標準。PKIX工作組就提供了一個Internet草案"Part?I:?X.509?Certificate?and?CRL?Profile"(具體內(nèi)容可見:ftp://ftp.ietf.org/internet-drafts/draft-ietf-pkix-ipki-part1-11.txt),用于定義在Internet?PKI中使用X.509和CRL的方法和規(guī)范。該草案把X.509作為標準,并對各標準項和擴展做了說明,基本接收了X.509作為Internet中的證書標準,但也定義了被PKI應(yīng)用的X.509?V3和CRL?V2標準格式的設(shè)置,這些設(shè)置包括了PKIX工作組對X.509所做的一些新的擴展。
X.509眼下有三個版本號:V1、V2和V3,當中V3是在V2的基礎(chǔ)上加上擴展項后的版本號,這些擴展包含由ISO文檔(X.509-AM)定義的標準擴展,也包含由其它組織或團體定義或注冊的擴展項。X.509由ITU-T?X.509(前身為CCITT?X.509)或ISO/IEC?9594-8定義,最早以X.500文件夾建議的一部分發(fā)表于1988年,并作為V1版本號的證書格式。X.500于1993年進行了改動,并在V1基礎(chǔ)上添加了兩個額外的域,用于支持文件夾存取控制,從而產(chǎn)生了V2版本號。
為了適應(yīng)新的需求ISO/IEC和ANSI?X9發(fā)展了X.509?V3版本號證書格式,該版本號證書通過添加標準擴展項對V1和V2證書進行了擴展。另外,依據(jù)實際須要,各個組織或團體也能夠添加自己的私有擴展。
X.509?V1和V2證書所包括的主要內(nèi)容例如以下:
·?證書版本號號(Version):版本號號指明X.509證書的格式版本號,如今的值能夠為0、1、2,也為將來的版本號進行了提前定義。?
·?證書序列號(SerialNumber):序列號指定由CA分配給證書的唯一的數(shù)字型標識符。當證書被取消時,實際上是將此證書的序列號放入由CA簽發(fā)的CRL中,這也是序列號唯一的原因。?
·?簽名算法標識符(Signature):簽名算法標識用來指定由CA簽發(fā)證書時所使用的簽名算法。算法標識符用來指定CA簽發(fā)證書時所使用的公開密鑰算法和hash算法,須向國際知名標準組織(如ISO)注冊。?
·?簽發(fā)機構(gòu)名(Issuer):此域用來標識簽發(fā)證書的CA的X.500?DN名字。包含國家、省市、地區(qū)、組織機構(gòu)、單位部門和通用名。?
·?有效期(Validity):指定證書的有效期,包含證書開始生效的日期和時間以及失效的日期和時間。每次使用證書時,須要檢查證書是否在有效期內(nèi)。?
·?證書username(Subject):指定證書持有者的X.500唯一名字。包括國家、省市、地區(qū)、組織機構(gòu)、單位部門和通用名,還可包括email地址等個人信息等?
·?證書持有者公開密鑰信息(subjectPublicKeyInfo):證書持有者公開密鑰信息域包括兩個重要信息:證書持有者的公開密鑰的值;公開密鑰使用的算法標識符。此標識符包括公開密鑰算法和hash算法。?
·?簽發(fā)者唯一標識符(Issuer?Unique?Identifier):簽發(fā)者唯一標識符在第2版增加證書定義中。此域用在當同一個X.500名字用于多個認證機構(gòu)時,用一比特字符串來唯一標識簽發(fā)者的X.500名字。可選。?
·?證書持有者唯一標識符(Subject?Unique?Identifier):持有證書者唯一標識符在第2版的標準中增加X.509證書定義。此域用在當同一個X.500名字用于多個證書持有者時,用一比特字符串來唯一標識證書持有者的X.500名字。可選。?
·?簽名值(Issuer's?Signature):證書簽發(fā)機構(gòu)對證書上述內(nèi)容的簽名值。?
X.509?V3證書是在v2的基礎(chǔ)上一標準形式或普通形式添加了擴展項,以使證書可以附帶額外信息。標準擴展是指由X.509?V3版本號定義的對V2版本號添加的具有廣泛應(yīng)用前景的擴展項,不論什么人都可以向一些權(quán)威機構(gòu),如ISO,來注冊一些其它擴展,假設(shè)這些擴展項應(yīng)用廣泛,或許以后會成為標準擴展項。
3.1.2?CRL格式?
證書廢除列表CRL(Certificate?revocation?lists,又稱證書黑名單)為應(yīng)用程序和其他系統(tǒng)提供了一種檢驗證書有效性的方式。不論什么一個證書廢除以后,證書機構(gòu)CA會通過公布CRL的方式來通知各個相關(guān)方。眼下,同X.509?V3證書對相應(yīng)的CRL為X.509?v2?CRL,其所包括的內(nèi)容格式例如以下:?
·?CRL的版本號號:0表示X.509?V1?標準;1表示X.509?V2?標準;眼下經(jīng)常使用的是同X.509?V3證書相應(yīng)的CRL?V2版本號。?
·?簽名算法:包括算法標識和算法參數(shù),用于指定證書簽發(fā)機構(gòu)用來對CRL內(nèi)容進行簽名的算法。?
·?證書簽發(fā)機構(gòu)名:簽發(fā)機構(gòu)的DN名,由國家、省市、地區(qū)、組織機構(gòu)、單位部門和通用名等組成。?
·?此次簽發(fā)時間:此次CRL簽發(fā)時間,遵循ITU-T?X.509?V2標準的CA在2049年之前把這個域編碼為UTCTime類型,在2050或2050年之后年之前把這個域編碼為GeneralizedTime類型。?
·?下次簽發(fā)時間:下次CRL簽發(fā)時間,遵循ITU-T?X.509?V2標準的CA在2049年之前把這個域編碼為UTCTime類型,在2050或2050年之后年之前把這個域編碼為GeneralizedTime類型。?
·?用戶公鑰信息,當中包含廢除的證書序列號和證書廢除時間。廢除的證書序列號是指要廢除的由同一個CA簽發(fā)的證書的一個唯一標識號,同一機構(gòu)簽發(fā)的證書不會有同樣的序列號。?
·?簽名算法:對CRL內(nèi)容進行簽名的簽名算法。?
·?簽名值:證書簽發(fā)機構(gòu)對CRL內(nèi)容的簽名值。?
另外,CRL中還包括擴展域和條目擴展域。CRL擴展域用于提供與CRL有關(guān)的額外信息部份,同意團體和組織定義私有的CRL擴展域來傳送他們獨有的信息;CRL條目擴展域則提供與CRL條目有關(guān)的額外信息部份,同意團體和組織定義私有的CRL條目擴展域來傳送他們獨有的信息。
3.1.3?證書的存放?
數(shù)字證書作為一種電子數(shù)據(jù)格式,能夠直接從網(wǎng)上下載,也能夠通過其它方式。?
·?使用IC卡存放用戶證書。即把用戶的數(shù)字證書寫到IC卡中,供用戶隨身攜帶。這樣用戶在全部可以讀IC卡證書的電子商務(wù)終端上都可以享受安全電子商務(wù)服務(wù)。?
·?用戶證書直接存放在磁盤或自己的終端上。戶將從CA申請來的證書下載或拷貝到磁盤或自己的PC機或智能終端上,當用戶使用自己的終端享受電子商務(wù)服務(wù)時,直接從終端讀入就可以。?
·?另外,CRL一般通過網(wǎng)上下載的方式存儲在用戶端。
3.2?CA框架模型
證書機構(gòu)CA用于創(chuàng)建和公布證書,它通常為一個稱為安全域(security?domain)的有限群體發(fā)放證書。創(chuàng)建證書的時候,CA系統(tǒng)首先獲取用戶的請求信息,當中包含用戶公鑰(假設(shè)用戶端是個人使用或者測試用,則公鑰一般由用戶端產(chǎn)生,如電子郵件程序或瀏覽器等或者使用第三方開發(fā)的具有獨立CSP的智能終端如USBkey),CA將依據(jù)用戶的請求信息產(chǎn)生證書,并用自己的私鑰對證書進行簽名。其它用戶、應(yīng)用程序或?qū)嶓w將使用CA的公鑰對證書進行驗證。假設(shè)一個CA系統(tǒng)是可信的,則驗證證書的用戶能夠確信,他所驗證的證書中的公鑰屬于證書所代表的那個實體。
CA還負責維護和公布證書廢除列表CRL(certificate?revocation?lists,又稱為證書黑名單)。當一個證書,特別是當中的公鑰由于其它原因無效時(不是由于到期),CRL提供了一種通知用戶和其它應(yīng)用的中心管理方式。CA系統(tǒng)生成CRL以后,要么是放到LDAPserver中供用戶查詢或下載,要么是放置在Webserver的合適位置,以頁面超級連接的方式供用戶直接查詢或下載。
一個典型的CA系統(tǒng)包含安全server、注冊機構(gòu)RA、CAserver、LDAP文件夾server和數(shù)據(jù)庫server等。如圖2所看到的。
?????????????????????????????????????????????????? 圖2??? 典型CA框架模型
安全server:安全server面向普通用戶,用于提供證書申請、瀏覽、證書撤消列表以及證書下載等安全服務(wù)。安全server與用戶的的通信採取安全信道方式(如SSL的方式,不須要對用戶進行身份認證)。用戶首先得到安全server的證書(該證書由CA頒發(fā)),然后用戶與server之間的全部通信,包含用戶填寫的申請信息以及瀏覽器生成的公鑰均以安全server的密鑰進行加密傳輸,僅僅有安全server利用自己的私鑰解密才干得到明文,這樣能夠防止其它人通過竊聽得到明文。從而保證了證書申請和傳輸過程中的信息安全性。?
CAserver:CAserver使整個證書機構(gòu)的核心,負責證書的簽發(fā)。CA首先產(chǎn)生自身的私鑰和公鑰(密鑰長度至少為1024位),然后生成數(shù)字證書,而且將數(shù)字證書傳輸給安全server。CA還負責為操作員、安全server以及注冊機構(gòu)server生成數(shù)字證書。安全server的數(shù)字證書和私鑰也須要傳輸給安全server。CAserver是整個結(jié)構(gòu)中最為重要的部分,存有CA的私鑰以及發(fā)行證書的腳本文件,出于安全的考慮,應(yīng)將CAserver與其它server隔離,不論什么通信採用人工干預(yù)的方式,確保認證中心的安全。?
注冊機構(gòu)RA:登記中心server面向登記中心操作員,在CA體系結(jié)構(gòu)中起承上啟下的作用,一方面向CA轉(zhuǎn)發(fā)安全server傳輸過來的證書申請請求,還有一方面向LDAPserver和安全server轉(zhuǎn)發(fā)CA頒發(fā)的數(shù)字證書和證書撤消列表。?
LDAPserver:LDAPserver提供文件夾瀏覽服務(wù),負責將注冊機構(gòu)server傳輸過來的用戶信息以及數(shù)字證書增加到server上。這樣其它用戶通過訪問LDAPserver就行得到其它用戶的數(shù)字證書。?
數(shù)據(jù)庫server:數(shù)據(jù)庫server是認證機構(gòu)中的核心部分,用于認證機構(gòu)中數(shù)據(jù)(如密鑰和用戶信息等)、日志合統(tǒng)計信息的存儲和管理。實際的的數(shù)據(jù)庫系統(tǒng)應(yīng)採用多種措施,如磁盤陣列、雙機備份和多處理器等方式,以維護數(shù)據(jù)庫系統(tǒng)的安全性、穩(wěn)定性、可伸縮性和高性能。?
3.3?證書的申請和撤銷
證書的申請有兩種方式,一是在線申請,另外一個就是離線申請。在線申請就是通過瀏覽器或其它應(yīng)用系統(tǒng)通過在線的方式來申請證書,這樣的方式一般用于申請普通用戶證書或測試證書。離線方式一般通過人工的方式直接到證書機構(gòu)證書受理點去辦理證書申請手續(xù),通過審核后獲取證書,這樣的方式一般用于比較重要的場合,如server證書和商家證書等。以下討論的主要是在線申請方式。
當證書申請時,用戶使用瀏覽器通過Internet訪問安全server,下載CA的數(shù)字證書(又叫做根證書),然后注冊機構(gòu)server對用戶進行身份審核,認可后便批準用戶的證書申請,然后操作員對證書申請表進行數(shù)字簽名,并將申請及其簽名一起提交給CAserver。
CA操作員獲得注冊機構(gòu)server操作員簽發(fā)的證書申請,發(fā)行證書或者拒絕發(fā)行證書,然后將證書通過硬拷貝的方式傳輸給注冊機構(gòu)server。注冊機構(gòu)server得到用戶的證書以后將用戶的一些公開信息和證書放到LDAPserver上提供文件夾瀏覽服務(wù),而且通過電子郵件的方式通知用戶從安全server上下載證書。用戶依據(jù)郵件的提示到指定的網(wǎng)址下載自己的數(shù)字證書,而其它用戶能夠通過LDAPserver獲得他的公鑰數(shù)字證書。
證書申請的過程例如以下:
1.?用戶申請?
用戶首先下載CA的證書,又叫根證書,然后在證書的申請過程中使用SSL安全方式與server建立連接,用戶填寫個人信息,瀏覽器生成私鑰和公鑰對,將私鑰保存client特定文件里,而且要求用口令保護私鑰,同一時候?qū)⒐€和個人信息提交給安全server。安全server將用戶的申請信息傳送給注冊機構(gòu)server。?
2.?注冊機構(gòu)審核?
用戶與注冊機構(gòu)人員聯(lián)系,證明自己的真實身份,或者請求代理人與注冊機構(gòu)聯(lián)系。?注冊機構(gòu)操作員利用自己的瀏覽器與注冊機構(gòu)server建立SSL安全通信,該server須要對操作員進行嚴格的身份認證,包含操作員的數(shù)字證書、IP地址,為了進一步保證安全性,能夠設(shè)置固定的訪問時間。操作員首先查看眼下系統(tǒng)中的申請人員,從列表中找出對應(yīng)的用戶,點擊username,核對用戶信息,而且能夠進行適當?shù)母膭?#xff0c;假設(shè)操作員允許用戶申請證書請求,必須對證書申請信息進行數(shù)字簽名。操作員也有權(quán)利拒絕用戶的申請。操作員與server之間的全部通信都採用加密和簽名,具有安全性、抗否認性,保證了系統(tǒng)的安全性和有效性。?
3.?CA發(fā)行證書?
注冊機構(gòu)RA通過硬拷貝的方式向CA傳輸用戶的證書申請與操作員的數(shù)字簽名,CA操作員查看用戶的具體信息,而且驗證操作員的數(shù)字簽名,假設(shè)簽名驗證通過,則允許用戶的證書請求,頒發(fā)證書。然后CA將證書輸出。假設(shè)CA操作員發(fā)現(xiàn)簽名不對,則拒絕證書申請,?CA頒發(fā)的數(shù)字證書中包括關(guān)于用戶及CA自身的各種信息,如:能唯一標識用戶的姓名及其它標識信息,如個人的email地址;證書持有者的公鑰。公鑰用于為證書持有者加密敏感信息、簽發(fā)個人證書的認證機構(gòu)的名稱、個人證書的序列號和個人證書的有效期(證書有效起止日期)等?
4.?注冊機構(gòu)證書轉(zhuǎn)發(fā)?
注冊機構(gòu)RA操作員從CA處得到新的證書,首先將證書輸出到LDAP文件夾server以提供文件夾瀏覽服務(wù),最后操作員向用戶發(fā)送一封電子郵件,通知用戶證書已經(jīng)發(fā)行成功,而且把用戶的證書序列號告訴用戶到指定的網(wǎng)址去下載自己的數(shù)字證書。而且告訴用戶怎樣使用安全server上的LDAP配置,讓用戶改動瀏覽器的client配置文件以便訪問LDAPserver,獲得他人的數(shù)字證書。?
5.?用戶證書獲取?
用戶使用證書申請時的瀏覽器到指定的網(wǎng)址,鍵入自己的證書序列號,server要求用戶必須使用申請證書時的瀏覽器,由于瀏覽器須要用該證書對應(yīng)的私鑰去驗證數(shù)字證書。僅僅有保存了對應(yīng)私鑰的瀏覽器才干成功下載用戶的數(shù)字證書。?
這時用戶打開瀏覽器的安全屬性,就能夠發(fā)現(xiàn)自己已經(jīng)擁有了CA頒發(fā)的數(shù)字證書,能夠利用該數(shù)字證書與其它人以及webserver(擁有同樣CA頒發(fā)的證書)使用加密、數(shù)字簽名進行安全通信。
認證中心還涉及到CRL的管理。用戶向特定的操作員(僅負責CRL的管理)發(fā)一份加密簽名的郵件,申明自己希望撤消證書。操作員打開郵件,填寫CRL注冊表,而且進行數(shù)字簽名,提交給CA,CA操作員驗證注冊機構(gòu)操作員的數(shù)字簽名,批準用戶撤消證書,而且更新CRL,然后CA將不同格式的CRL輸出給注冊機構(gòu),發(fā)布到安全server上,這樣其它人能夠通過訪問server得到CRL。
證書撤銷流程過程例如以下:
1.?用戶向注冊機構(gòu)操作員CRLManager發(fā)送一封簽名加密的郵件,聲明自己自愿撤消證書。?
2.?這冊機構(gòu)允許證書撤消,操作員鍵入用戶的序列號,對請求進行數(shù)字簽名。?
3.?CA查詢證書撤消請求列表,選出當中的一個,驗證操作員的數(shù)字簽名,假設(shè)正確的話,則允許用戶的證書撤消申請,同一時候更新CRL列表,然后將CRL以多種格式輸出。?
4.?注冊機構(gòu)轉(zhuǎn)發(fā)證書撤消列表。操作員導(dǎo)入CRL,以多種不同的格式將CRL發(fā)布于眾。?
5.?用戶瀏覽安全server,下載或瀏覽CRL。?
在一個PKI,特別是CA中,信息的存儲是一個很核心的問題,它包含兩個方面:一是CAserver利用數(shù)據(jù)庫來備份當前密鑰和歸檔過期密鑰,該數(shù)據(jù)庫需高度安全和機密,其安全等級同CA本身同樣;另外一個就是文件夾server,用于分發(fā)證書和CRL,一般採用LDAP文件夾server。
3.4?密鑰管理
密鑰管理也是PKI(主要指CA)中的一個核心問題,主要是指密鑰對的安全管理,包含密鑰產(chǎn)生、密鑰備份、密鑰恢復(fù)和密鑰更新等。
1.?密鑰產(chǎn)生?
密鑰對的產(chǎn)生是證書申請過程中重要的一步,當中產(chǎn)生的私鑰由用戶保留,公鑰和其它信息則交于CA中心進行簽名,從而產(chǎn)生證書。依據(jù)證書類型和應(yīng)用的不同,密鑰對的產(chǎn)生也有不同的形式和方法。對普通證書和測試證書,一般由瀏覽器或固定的終端應(yīng)用來產(chǎn)生,這樣產(chǎn)生的密鑰強度較小,不適合應(yīng)用于比較重要的安全網(wǎng)絡(luò)交易。而對于比較重要的證書,如商家證書和server證書等,密鑰對一般由專用應(yīng)用程序或CA中心直接產(chǎn)生,這樣產(chǎn)生的密鑰強度大,適合于重要的應(yīng)用場合。?
另外,依據(jù)密鑰的應(yīng)用不同,也可能會有不同的產(chǎn)生方式。比方簽名密鑰可能在client或RA中心產(chǎn)生,而加密密鑰則須要在CA中心直接產(chǎn)生。?
2.?密鑰備份和恢復(fù)?
在一個PKI系統(tǒng)中,維護密鑰對的備份至關(guān)重要,假設(shè)沒有這樣的措施,當密鑰丟失后,將意味著加密數(shù)據(jù)的全然丟失,對于一些關(guān)鍵數(shù)據(jù),這將是災(zāi)難性的。所以,密鑰的備份和恢復(fù)也是PKI密鑰管理中的重要一環(huán)。?
使用PKI的企業(yè)和組織必須恩可以得到確認:即使密鑰丟失,受密要加密保護的重要信息也必須可以恢復(fù),而且不能讓一個獨立的個人全然控制最重要的主密鑰,否則將引起嚴重后果。?
企業(yè)級的PKI產(chǎn)品至少應(yīng)該支持用于加密的安全密鑰的存儲、備份和恢復(fù)。密鑰一般用口令進行保護,而口令丟失則是管理員最常見的安全疏漏之中的一個。所以,PKI產(chǎn)品應(yīng)該可以備份密鑰,即使口令丟失,它也可以讓用戶在一定條件下恢復(fù)該密鑰,并設(shè)置新的口令。?
比如,在某些情況下用戶可能有多對密鑰,至少應(yīng)該有兩個密鑰:一個用于加密,一個用于簽名。簽名密要不須要備份,由于用于驗證簽名的公鑰(或公鑰證書)廣泛公布,即使簽名私鑰丟失,不論什么用于對應(yīng)公要的人都能夠?qū)σ押灻奈臋n進行驗證。但PKI系統(tǒng)必須備份用于加密的密鑰對,并同意用戶進行恢復(fù),否則,用于解密的私鑰丟失將意味著加密數(shù)據(jù)的全然不可恢復(fù)。?
另外,使用PKI的企業(yè)也應(yīng)該考慮所使用密鑰的生命周期,它包含密鑰和證書的有效時間,以及已撤銷密鑰和證書的維護時間等。?
3.?密鑰更新?
對每個由CA頒發(fā)的證書都會有有效期,密鑰對生命周期的長短由簽發(fā)證書的CA中心來確定,各CA系統(tǒng)的證書有效期限有所不同,一般大約為2-3年。?
當用戶的私鑰被泄漏或證書的有效期快到時,用戶應(yīng)該更新私鑰。這時用戶能夠廢除證書,產(chǎn)生新的密鑰對,申請新的證書。?
3.5?證書的使用
在實際應(yīng)用中,為了驗證信息的數(shù)字簽名,用戶首先必須獲取信息發(fā)送者的公鑰證書,以及一些額外須要的證書(如CA證書等,用于驗證發(fā)送者證書的有效性)。
證書的獲取能夠有多種方式,如發(fā)送者發(fā)送簽名信息時附加發(fā)送自己的證書,或以另外的單獨信息發(fā)送證書,或者能夠通過訪問證書公布的文件夾server來獲得,或者直接從證書相關(guān)的實體處獲得。在一個PKI體系中,能夠採取某種或某幾種上述方式獲得證書。
在電子商務(wù)系統(tǒng)中,證書的持有者能夠是個人用戶、企事業(yè)單位、商家、銀行等。不管是電子商務(wù)中的哪一方,在使用證書驗證數(shù)據(jù)時,都遵循相同的驗證流程。一個完整的驗證過程有下面幾步:
1.?將client發(fā)來的數(shù)據(jù)解密?(如解開數(shù)字信封)。?
2.?將解密后的數(shù)據(jù)分解成原始數(shù)據(jù),簽名數(shù)據(jù)和客戶證書三部分。?
3.?用CA根證書驗證客戶證書的簽名完整性。?
4.?檢查客戶證書是否有效?(當前時間在證書結(jié)構(gòu)中的所定義的有效期內(nèi))。?
5.?檢查客戶證書是否作廢?(OCSP方式或CRL方式)。?
6.?驗證客戶證書結(jié)構(gòu)中的證書用途。?
7.?客戶證書驗證原始數(shù)據(jù)的簽名完整性。?
假設(shè)以上各項均驗證通過,則接受該數(shù)據(jù)。
4?PKI應(yīng)用
---PKI技術(shù)的廣泛應(yīng)用能滿足人們對網(wǎng)絡(luò)交易安全保障的需求。當然,作為一種基礎(chǔ)設(shè)施,PKI的應(yīng)用范圍很廣泛,而且在不斷發(fā)展之中,以下給出幾個應(yīng)用實例。
1.?虛擬專用網(wǎng)絡(luò)(VPN)?
VPN是一種架構(gòu)在公用通信基礎(chǔ)設(shè)施上的專用數(shù)據(jù)通信網(wǎng)絡(luò),利用網(wǎng)絡(luò)層安全協(xié)議(尤其是IPSec)和建立在PKI上的加密與簽名技術(shù)來獲得機密性保護。基于PKI技術(shù)的IPSec協(xié)議如今已經(jīng)成為架構(gòu)VPN的基礎(chǔ),它能夠為路由器之間、防火墻之間或者路由器和防火墻之間提供經(jīng)過加密和認證的通信。盡管它的實現(xiàn)會復(fù)雜一些,但其安全性比其它協(xié)議都完好得多。?
2.?安全電子郵件?
----作為Internet上最有效的應(yīng)用,電子郵件憑借其易用、低成本和高效已經(jīng)成為現(xiàn)代商業(yè)中的一種標準信息交換工具。隨著Internet的持續(xù)增長,商業(yè)機構(gòu)或政府機構(gòu)都開始用電子郵件交換一些秘密的或是有商業(yè)價值的信息,這就引出了一些安全方面的問題,包含:消息和附件能夠在不為通信兩方所知的情況下被讀取、篡改或截掉;發(fā)信人的身份無法確認。電子郵件的安全需求也是機密、完整、認證和不可否認,而這些都能夠利用PKI技術(shù)來獲得。眼下發(fā)展非常快的安全電子郵件協(xié)議是S/MIME?(The?Secure?Multipurpose?Internet?Mail?Extension),這是一個同意發(fā)送加密和有簽名郵件的協(xié)議。該協(xié)議的實現(xiàn)須要依賴于PKI技術(shù)。?
3.?Web安全?
----瀏覽Web頁面是人們最經(jīng)常使用的訪問Internet的方式。假設(shè)要通過Web?進行一些商業(yè)交易,該怎樣保證交易的安全呢?為了透明地解決Web的安全問題,在兩個實體進行通信之前,先要建立SSL連接,以此實現(xiàn)相應(yīng)用層透明的安全通信。利用PKI技術(shù),SSL協(xié)議同意在瀏覽器和server之間進行加密通信。此外server端和瀏覽器端通信時兩方能夠通過數(shù)字證書確認對方的身份。-結(jié)合SSL協(xié)議和數(shù)字證書,PKI技術(shù)能夠保證Web?交易多方面的安全需求,使Web上的交易和面對面的交易一樣安全。?
5?應(yīng)用編程接口API
協(xié)議標準是系統(tǒng)具有可交互性的前提和基礎(chǔ),它規(guī)范了PKI系統(tǒng)各部分之間相互通信的格式和步驟。而應(yīng)用編程界面API(Application?programming?interfaces)則定義了怎樣使用這些協(xié)議,并為上層應(yīng)用提供PKI服務(wù)。當應(yīng)用須要使用PKI服務(wù),如獲取某一用戶的公鑰、請求證書廢除信息或請求證書時將會都會用到API。眼下API沒有統(tǒng)一的國際標準,大部分都是操作系統(tǒng)或某一公司產(chǎn)品的擴展,并在其產(chǎn)品應(yīng)用的框架內(nèi)提供PKI服務(wù)。
眼下,有非常多能夠讓開發(fā)人員選擇的API類型。IETF建議標準為通用安全服務(wù)API:GSS-API(Generic?Security?Service?Application?Program?Interface),它提供了一種接口與網(wǎng)絡(luò)機制和網(wǎng)絡(luò)協(xié)議相互獨立的實現(xiàn)。
歐洲建立的SESAME(Secure?European?System?for?Applications?in?a?Multi-Vendor?Environment)定義了一些安全界面,并作為該組織發(fā)展的安全技術(shù)的一部分,該接口得到了歐洲很多著名廠商的支持,如Bull?SA、ICL和Seimens等,但沒有在美國得到支持,特別是一些大的廠商,如Microsoft和Netscape等。
Entrust也為其產(chǎn)品提供了一套API,如Entrust證書管理服務(wù)API(CMS?API,Entrust's?Certificate?Management?Services?API),該API同意應(yīng)用使用Entrust的證書管理和分發(fā)服務(wù)。在1996年指定,并與1997年更新的PKIX?Internet草案"Architecture?for?Public?Key?Infrastructure"定義了PKI結(jié)構(gòu),并建議了很多標準,當中就包含API。?
眼下,在API市場處于率先地位的是Microsoft的CryptoAPI和Intel的公用數(shù)據(jù)安全框架CDSA(Common?Data?Security?Architecture),他們憑借自己的產(chǎn)品優(yōu)勢相互競爭。Microsoft利用其廣泛的操作系統(tǒng)市場,而Intel則憑借其PC芯片的優(yōu)勢,并與其他廠商,如IBM、Entrust和Netscape等進行聯(lián)合,共同支持CDSA。如今也有非常多廠商的PKI產(chǎn)品同一時候支持這兩種API,如Entrust等。PKIX在非常多情況下支持CDSA,并建議其為"Architecture?for?Public?Key?Infrastructure"草案的標準。
除此之外,Entrust、IBM、Intel、?Netscape和TIS等聯(lián)合向開放組織(Open?Group)提議了一個基于CDSA的加密和證書管理接口,并使用了Entrust的CMS?API、IBM的密鑰恢復(fù)API。但開放組織同一時候也在考慮使用PKCS?#11作為安全API接口。
以下介紹眼下兩個比較經(jīng)常使用的安全API接口:CryptoAPI和CDSA接口。
5.1?CryptoAPI
微軟加密應(yīng)用程序接口CryptoAPI(Microsoft?Cryptographic?Application?Programming?Interface)為Win32應(yīng)用程序提供了認證、編碼、加密和簽名等安全處理,它可使用戶在對復(fù)雜的加密機制和加密算法不了解的情況下,而相應(yīng)用程序添加安全功能。這樣非常符合Windows的設(shè)計風格,就像用戶但是使用圖形庫而不須要了解圖形硬件一樣。
眼下CryptoAPI的最新版本號是2.0版,在包括CryptoAPI?1.0的所有功能外,還添加了證書管理功能,為網(wǎng)絡(luò)身份認證提供的基本保證。
CryptoAPI通過一系列的庫函數(shù)來相應(yīng)用程序提供PKI安全服務(wù),其總體系統(tǒng)結(jié)構(gòu)如圖3所看到的:
??????????????????????????????????????????????????????????????????????????????????? 圖3??? CryptoAPI結(jié)構(gòu)圖
CryptoAPI的編程模型同Windows系統(tǒng)的圖形設(shè)備接口?GDI比較類似,當中加密服務(wù)提供者CSP(Cryptographic?Service?Providers)等同于圖形設(shè)備驅(qū)動程序?,加密硬件(可選)等同于圖形硬件,其上層的應(yīng)用程序也類似,都不須要同設(shè)備驅(qū)動程序和硬件直接打交道
CryptoAPI共同擁有五部分組成:簡單消息函數(shù)(Simplified?Message?Functions)、低層消息函數(shù)(Low-level?Message?Functions)、基本加密函數(shù)(Base?Cryptographic?Functions)、證書編解碼函數(shù)(Certificate?Encode/Decode?Functions)和證書庫管理函數(shù)(Certificate?Store?Functions)。當中前三者可用于對敏感信息進行加密或簽名處理,可保證網(wǎng)絡(luò)傳輸信心的私有性;后兩者通過對證書的使用,可保證網(wǎng)絡(luò)信息交流中的認證性。
5.2?CDSA
CDSA(Common?Data?Security?Architecture)為安全應(yīng)用服務(wù)提供了一個總體框架和解決方式,提供了諸如證書管理等很多PKI功能。
同CryptoAPI類似,CDSA也是以一個分層的服務(wù)提供者框架為基礎(chǔ),其的應(yīng)用模式可分為四層,最上層是應(yīng)用程序,應(yīng)用程序的下層是中間件,比如SSL、IPSEC接口、語言接口轉(zhuǎn)換器等,接下來是CSSM層,CSSM層是CDSA的核心層,CSSM的下層是詳細的服務(wù)提供者,如加密服務(wù)、證書服務(wù)、政策服務(wù)、數(shù)據(jù)存儲服務(wù)等,如圖4所看到的。
?????????????????????????????????????????????????????????????????????????????????????????? 圖4????? CDSA系統(tǒng)結(jié)構(gòu)
---?CSSM?是CDSA的核心部分,它表現(xiàn)為一組公開的應(yīng)用編程接口(API),為應(yīng)用程序提供安全功能的調(diào)用,共包括4個主要的安全模塊。
·?加密服務(wù)提供(Cryptographic?Service?Provider,CSP)模塊。?CSP負責加/解密、數(shù)字簽名和私鑰保存等工作,是整個CDSA結(jié)構(gòu)的基礎(chǔ)。?
·?信任策略(Trust?Policy,TP)模塊。TP負責信任策略的詳細實施,判定特定行為(如開支票或訪問涉密信息)所需的信任級別。因為具有模塊化的結(jié)構(gòu),TP可以對不同的機構(gòu)應(yīng)用不同的策略,比方,對商業(yè)銀行和政府機構(gòu)運用的策略就有所不同。?
·?證書庫(Certificate?Library,CL)模塊。CL提供證書的維護、撤銷和數(shù)字簽名等功能。?
·?數(shù)據(jù)存儲庫(Data?Storage?Library,DL)模塊。DL進行安全相關(guān)數(shù)據(jù)對象的存儲,包含證書、密鑰和信任規(guī)則對象等,而實際的存儲位置可能在大型數(shù)據(jù)庫、原始的文件系統(tǒng)或某種特定的硬件設(shè)備中。?
----?另外,不論什么軟、硬件廠商都能夠建立自己的服務(wù)提供模塊,無縫嵌入到CDSA的開放式框架中。在CDSA?2.0中又添加任選模塊管理,支持更方便地添加模塊。
另外,還能夠?qū)SSM進行更高一層的抽象,提供高層的API,使開發(fā)人員更easy使用CDSA提供的PKI安全功能。
6?PKI標準
隨著PKI的發(fā)展和應(yīng)用的不斷普及,PKI的產(chǎn)品也越來越多,為了保持個產(chǎn)品之間的兼容性,標準化成了PKI不可避免的發(fā)展趨勢。
PKI的標準可分為兩個部分:一類用于定義PKI,而還有一類用于PKI的應(yīng)用。
6.1?定義PKI的標準
在PKI技術(shù)框架中,很多方面都經(jīng)過嚴格的定義,如用戶的注冊流程、數(shù)字證書的格式、CRL的格式、證書的申請格式以及數(shù)字簽名格式等。
國際電信聯(lián)盟ITU?X.509協(xié)議,是PKI技術(shù)體系中應(yīng)用最為廣泛、也是最為基礎(chǔ)的一個國際標準。它的主要目的在于定義一個規(guī)范的數(shù)字證書的格式,以便為基于X.500協(xié)議的文件夾服務(wù)提供一種強認證手段。但該標準并不是要定義一個完整的、可互操作的PKI認證體系。
PKCS是由美國RSA數(shù)據(jù)安全公司及其合作伙伴制定的一組公鑰password學(xué)標準,當中包含證書申請、證書更新、證書作廢表發(fā)布、擴展證書內(nèi)容以及數(shù)字簽名、數(shù)字信封的格式等方面的一系列相關(guān)協(xié)議。到1999年底,PKCS已經(jīng)發(fā)布了下面標準:
·?PKCS#1:定義RSA公開密鑰算法加密和簽名機制,主要用于組織PKCS#7中所描寫敘述的數(shù)字簽名和數(shù)字信封。?
·?PKCS#3:定義Diffie-Hellman密鑰交換協(xié)議。?
·?PKCS#5:描寫敘述一種利用從口令派生出來的安全密鑰加密字符串的方法。使用MD2或MD5?從口令中派生密鑰,并採用DES-CBC模式加密。主要用于加密從一個計算機傳送到還有一個計算機的私人密鑰,不能用于加密消息。?
·?PKCS#6:描寫敘述了公鑰證書的標準語法,主要描寫敘述X.509證書的擴展格式。?
·?PKCS#7:定義一種通用的消息語法,包含數(shù)字簽名和加密等用于增強的加密機制,PKCS#7與PEM兼容,所以不需其它password操作,就能夠?qū)⒓用艿南⑥D(zhuǎn)換成PEM消息。?
·?PKCS#8:描寫敘述私有密鑰信息格式,該信息包含公開密鑰算法的私有密鑰以及可選的屬性集等。?
·?PKCS#9:定義一些用于PKCS#6證書擴展、PKCS#7數(shù)字簽名和PKCS#8私鑰加密信息的屬性類型。?
·?PKCS#10:描寫敘述證書請求語法。?
·?PKCS#11:稱為Cyptoki,定義了一套獨立于技術(shù)的程序設(shè)計接口,用于智能卡和PCMCIA卡之類的加密設(shè)備。?
·?PKCS#12:描寫敘述個人信息交換語法標準。描寫敘述了將用戶公鑰、私鑰、證書和其它相關(guān)信息打包的語法。?
·?PKCS#13:橢圓曲線password體制標準。?
·?PKCS#14:偽隨機數(shù)生成標準。?
·?PKCS#15:password令牌信息格式標準。?
另外,PKCS#2和PKCS#4已經(jīng)合并到PKCS#1之中。PKIX是由IETF組織中的PKI工作小組制定的系列國際標準。此類標準主要定義基于X.509和PKCS的PKI模型框架。PKIX中定義的四個主要模型為用戶、認證中心CA、注冊中心RA和證書存取庫。
6.2?PKI應(yīng)用標準
眼下世界上已經(jīng)出現(xiàn)了很多依賴于PKI的安全標準,即PKI的應(yīng)用標準,如安全的套接層協(xié)議SSL、傳輸層安全協(xié)議TLS、安全的多用途互連網(wǎng)郵件擴展協(xié)議S/MIME和IP安全協(xié)議IPSEC等。
·?S/MIME是一個用于發(fā)送安全報文的IETF標準。它採用了PKI數(shù)字簽名技術(shù)并支持消息和附件的加密,無須收發(fā)兩方共享同樣密鑰。S/MIME委員會採用PKI技術(shù)標準來實現(xiàn)S/MIME,并適當擴展了PKI的功能。眼下該標準包含password報文語法、報文規(guī)范、證書處理以及證書申請語法等方面的內(nèi)容。?
·?SSL/TLS是互連網(wǎng)中訪問WEBserver最重要的安全協(xié)議。當然,他們也能夠應(yīng)用于基于客戶機/server模型的非WEB類型的應(yīng)用系統(tǒng)。SSL/TLS都利用PKI的數(shù)字證書來認證客戶和server的身份。?
·?IPSEC是IETF制定的IP層加密協(xié)議,PKI技術(shù)為其提供了加密和認證過程的密鑰管理功能。IPSEC主要用于開發(fā)新一代的VPN。?
另外,隨著PKI的進一步發(fā)展,新的標準也在不斷的添加和更新。
7?結(jié)論
從眼下的發(fā)展來說,PKI的范圍很廣,而不只局限于通常覺得的CA機構(gòu),它還包含完整的安全策略和安全應(yīng)用。因此,PKI的開發(fā)也從傳統(tǒng)的身份認證到各種與應(yīng)用相關(guān)的安全場合,如企業(yè)安全電子商務(wù)和政府的安全電子政務(wù)等。
另外,PKI的開發(fā)也從大型的認證機構(gòu)到與企業(yè)或政府應(yīng)用相關(guān)的中小型PKI系統(tǒng)發(fā)展,既保持了兼容性,又和特定的應(yīng)用相關(guān)。在以后的文章中,我們會對PKI的源碼projectOpenCA進行具體分析,為PKI的開發(fā)提供借鑒。
參考資料?
·?http://www.pkiforum.org/:PKI論壇,能夠獲取很多其它關(guān)于PKI的信息。?
·?http://www.pki-page.org/:當中包括了大量PKI網(wǎng)站的鏈接。?
·?http://www.openca.org:是一個CA開放源碼機構(gòu),能夠獲取很多其它的關(guān)于CA開發(fā)的信息。?
?
?
?
?
?
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
- 上一篇: 更改消息存储的位置
- 下一篇: python读取postgresql数据