10 PKI證書(shū)體系

思維導(dǎo)圖:

數(shù)據(jù)安全通信技術(shù)
數(shù)據(jù)安全通信技術(shù)演進(jìn)過(guò)程
PKI的核心技術(shù)就圍繞著數(shù)字證書(shū)的申請(qǐng)、頒發(fā)和使用等整個(gè)生命周期進(jìn)行展開(kāi),而在這整個(gè)生命周期過(guò)程中,PKI會(huì)使用到對(duì)稱(chēng)密鑰加密、公鑰加密、數(shù)字信封和數(shù)字簽名技術(shù)。
下圖介紹這些技術(shù)的演進(jìn)過(guò)程。甲和乙通過(guò)Internet進(jìn)行通信,丙(模擬攻擊者)專(zhuān)門(mén)破壞甲和乙間的通信。

數(shù)字信封
數(shù)字信封是指發(fā)送方采用接收方的公鑰來(lái)加密對(duì)稱(chēng)密鑰后所得的數(shù)據(jù)。采用數(shù)字信封時(shí),接收方需要使用自己的私鑰才能打開(kāi)數(shù)字信封得到對(duì)稱(chēng)密鑰。數(shù)字信封加解密過(guò)程如下:

發(fā)送方事先獲得接收方的公鑰,具體加解密過(guò)程如下:
發(fā)送方使用對(duì)稱(chēng)密鑰對(duì)明文進(jìn)行加密,生成密文信息;
發(fā)送方使用接收方的公鑰加密對(duì)稱(chēng)密鑰,生成數(shù)字信封;
發(fā)送方將數(shù)字信封和密文信息一起發(fā)送給接收方;
接收方接收到發(fā)送方的加密信息后,使用自己的私鑰打開(kāi)數(shù)字信封,得到對(duì)稱(chēng)密鑰;
接收方使用對(duì)稱(chēng)密鑰對(duì)密文信息進(jìn)行解密,得到最初的明文。
需要一種方法確保接收方收到的信息就是指定的發(fā)送方發(fā)送的。
數(shù)字簽名
數(shù)字簽名是指發(fā)送方用自己的私鑰對(duì)數(shù)字指紋進(jìn)行加密后所得的數(shù)據(jù)。
數(shù)字指紋又稱(chēng)為信息摘要,它是指發(fā)送方通過(guò)Hash算法對(duì)明文信息計(jì)算后得出的數(shù)據(jù)。采用數(shù)字指紋時(shí),發(fā)送方會(huì)將數(shù)字指紋和明文一起發(fā)送給接收方,接收方用同樣的Hash算法對(duì)明文計(jì)算生成的數(shù)據(jù)指紋,與收到的數(shù)字指紋進(jìn)行匹配,如果一致,便可確定明文信息沒(méi)有被篡改。

發(fā)送方事先獲得接收方的公鑰,具體加解密過(guò)程如下:
發(fā)送方使用接收方的公鑰對(duì)明文進(jìn)行加密,生成密文信息;
發(fā)送方使用Hash算法對(duì)明文進(jìn)行Hash運(yùn)算,生成數(shù)字指紋;
發(fā)送方使用自己的私鑰對(duì)數(shù)字指紋進(jìn)行加密,生成數(shù)字簽名;
發(fā)送方將密文信息和數(shù)字簽名一起發(fā)送給接收方;
接收方使用發(fā)送方的公鑰對(duì)數(shù)字簽名進(jìn)行解密,得到數(shù)字指紋;
接收方接收到發(fā)送方的加密信息后,使用自己的私鑰對(duì)密文信息進(jìn)行解密,得到最初的明文;
接收方使用Hash算法對(duì)明文進(jìn)行Hash運(yùn)算,生成數(shù)字指紋;
接收方將生成的數(shù)字指紋與得到的數(shù)字指紋進(jìn)行比較。如果一致,接收方接受明文;如果不一致,接收方丟棄明文。
需要一種方法確保一個(gè)特定的公鑰屬于一個(gè)特定的擁有者。
數(shù)字證書(shū)
數(shù)字證書(shū)簡(jiǎn)稱(chēng)證書(shū),它是一個(gè)經(jīng)證書(shū)授權(quán)中心(即在PKI中的證書(shū)認(rèn)證機(jī)構(gòu)CA)數(shù)字簽名的文件,包含擁有者的公鑰及相關(guān)身份信息。數(shù)字證書(shū)技術(shù)解決了數(shù)字簽名技術(shù)中無(wú)法確定公鑰是指定擁有者的問(wèn)題。
數(shù)字證書(shū)可以說(shuō)是Internet上的安全護(hù)照或身份證。當(dāng)人們到其他國(guó)家旅行時(shí),用護(hù)照可以證實(shí)其身份,并被獲準(zhǔn)進(jìn)入這個(gè)國(guó)家。數(shù)字證書(shū)提供的是網(wǎng)絡(luò)上的身份證明。
數(shù)字證書(shū)的生成:CA收到數(shù)字證書(shū)申請(qǐng)并認(rèn)證申請(qǐng)者的真實(shí)身份后,把申請(qǐng)者的公鑰、身份信息、數(shù)字證書(shū)的有效期等信息作為消息明文,進(jìn)行Hash生成摘要,并用CA的私鑰加密進(jìn)行簽名;數(shù)字簽名與證書(shū)擁有者的公鑰、身份信息、證書(shū)有效期等其他信息共同組成數(shù)字證書(shū)。簡(jiǎn)單地來(lái)說(shuō),把上面的明文換成公鑰、身份信息、有效期等其他信息,就是數(shù)字證書(shū)的生成和驗(yàn)證過(guò)程。
使用CA公鑰進(jìn)行簽名和解密,可以證明證書(shū)確實(shí)是由CA發(fā)布的。
兩份摘要的對(duì)比結(jié)果,可以證明證書(shū)內(nèi)容是否在傳輸過(guò)程中被改動(dòng)。如果消息明文中的公鑰和身份信息是CA的,則是CA自簽名的過(guò)程。
數(shù)字證書(shū)的最初目的是建立公鑰與用戶(hù)之間的對(duì)應(yīng)關(guān)系。
由于公鑰是隨機(jī)產(chǎn)生的,從公鑰無(wú)法直接判斷屬于哪個(gè)用戶(hù)。為解決公鑰與用戶(hù)映射關(guān)系問(wèn)題,PKI引入數(shù)字證書(shū),用于建立公鑰與用戶(hù)之間的對(duì)應(yīng)關(guān)系;
由于數(shù)字證書(shū)中包含用戶(hù)身份信息和公鑰信息,根據(jù)數(shù)字證書(shū)就可以直接判斷該公鑰屬于哪個(gè)用戶(hù);
由于數(shù)字證書(shū)中不包含秘密信息,因此數(shù)字證書(shū)可公開(kāi)發(fā)布。
數(shù)字證書(shū)結(jié)構(gòu)
最簡(jiǎn)單的證書(shū)包含一個(gè)公鑰、名稱(chēng)以及證書(shū)授權(quán)中心的數(shù)字簽名。
一般情況下證書(shū)中還包括密鑰的有效期,頒發(fā)者(證書(shū)授權(quán)中心)的名稱(chēng),該證書(shū)的序列號(hào)等信息。證書(shū)的結(jié)構(gòu)遵循X.509 v3版本的規(guī)范。

證書(shū)內(nèi)容中各字段含義如下:
版本:即使用X.509的版本,目前普遍使用的是v3版本(0x2);
序列號(hào):頒發(fā)者分配給證書(shū)的一個(gè)正整數(shù),同一頒發(fā)者頒發(fā)的證書(shū)序列號(hào)各不相同,可用與頒發(fā)者名稱(chēng)一起作為證書(shū)唯一標(biāo)識(shí);
簽名算法:頒發(fā)者頒發(fā)證書(shū)使用的簽名算法;
頒發(fā)者:頒發(fā)該證書(shū)的設(shè)備名稱(chēng),必須與頒發(fā)者證書(shū)中的主體名一致。通常為CA服務(wù)器的名稱(chēng);
有效期:包含有效的起、止日期,不在有效期范圍的證書(shū)為無(wú)效證書(shū);
主體名:證書(shū)擁有者的名稱(chēng),如果與頒發(fā)者相同則說(shuō)明該證書(shū)是一個(gè)自簽名證書(shū);
公鑰信息:用戶(hù)對(duì)外公開(kāi)的公鑰以及公鑰算法信息;
擴(kuò)展信息:通常包含了證書(shū)的用法、CRL的發(fā)布地址等可選字段;
簽名:頒發(fā)者用私鑰對(duì)證書(shū)信息的簽名。
數(shù)字證書(shū)分類(lèi)
數(shù)字證書(shū)有三種類(lèi)型:CA證書(shū)、本地證書(shū)及自簽名證書(shū)。
CA證書(shū)
CA自身的證書(shū)。
PKI系統(tǒng)中沒(méi)有多層級(jí)CA,CA證書(shū)就是自簽名證書(shū)。
PKI系統(tǒng)中有多層級(jí)CA,則會(huì)形成一個(gè)CA層次結(jié)構(gòu),最上層的CA是根CA,它擁有一個(gè)CA“自簽名”的證書(shū)。
申請(qǐng)者通過(guò)驗(yàn)證CA的數(shù)字簽名從而信任CA,任何申請(qǐng)者都可以得到CA的證書(shū)(含公鑰),用以驗(yàn)證它所頒發(fā)的本地證書(shū)。
本地證書(shū)
CA頒發(fā)給申請(qǐng)者的證書(shū)。
本地證書(shū)就是通常意義上的證書(shū),由用戶(hù)向CA發(fā)起申請(qǐng),CA審核通過(guò)后頒發(fā)給用戶(hù)使用的證書(shū)。
自簽名證書(shū)
自簽名證書(shū)是設(shè)備為自己頒發(fā)的證書(shū),由設(shè)備的預(yù)置CA進(jìn)行簽名。
不帶簽名的證書(shū)是在設(shè)備上生成一本證書(shū),但不進(jìn)行簽名,需要向CA機(jī)構(gòu)申請(qǐng)簽名,證書(shū)頒發(fā)者是CA。
通過(guò)設(shè)備生成自簽名證書(shū)和不帶簽名的證書(shū),可以實(shí)現(xiàn)簡(jiǎn)單證書(shū)頒發(fā)功能。
數(shù)字證書(shū)格式
數(shù)字證書(shū)支持三種文件格式保存。

數(shù)據(jù)通信全過(guò)程
數(shù)字證書(shū)提供了一種發(fā)布公鑰的簡(jiǎn)便途徑,大家通過(guò)向CA申請(qǐng)認(rèn)證發(fā)布自己的公鑰,通過(guò)向CA驗(yàn)證來(lái)確認(rèn)自己獲得了別人的公鑰。
數(shù)字證書(shū)的申請(qǐng)、發(fā)布及使用具體流程如下:
發(fā)送方先向CA發(fā)起數(shù)字證書(shū)申請(qǐng);
CA對(duì)發(fā)送方進(jìn)行身份認(rèn)證,認(rèn)證通過(guò)后生成數(shù)字證書(shū);
CA將生成的數(shù)字證書(shū)發(fā)放給發(fā)送方;
接收方下載發(fā)送方的數(shù)字證書(shū);
接收方收到數(shù)字證書(shū)后,使用CA公鑰對(duì)數(shù)字簽名解密生成消息摘要,對(duì)證書(shū)內(nèi)容進(jìn)行hash生成摘要,兩份摘要進(jìn)行比對(duì)可證明證書(shū)內(nèi)容的完整性與真實(shí)性。
下圖展示了通信雙方互相獲得公鑰完成身份認(rèn)證后的通信過(guò)程。

發(fā)送方處理過(guò)程:
發(fā)送方對(duì)要傳輸消息明文進(jìn)行Hash,生成數(shù)字指紋,再用發(fā)送方的私鑰生成數(shù)字簽名;
發(fā)送方隨機(jī)生成對(duì)稱(chēng)秘鑰,對(duì)明文加密,生成密文;
發(fā)送方用接收方公鑰加密對(duì)稱(chēng)秘鑰;
將加密后的對(duì)稱(chēng)秘鑰、數(shù)字簽名與密文一同發(fā)送給接收方。
接收方處理過(guò)程:
接收方收到消息后,用自己的私鑰解密對(duì)稱(chēng)秘鑰;
用對(duì)稱(chēng)秘鑰解密密文,得到明文;
對(duì)明文Hash得到數(shù)字指紋,用發(fā)送方的公鑰解密簽名得到數(shù)字指紋,對(duì)比兩份數(shù)字指紋,如果相同接收消息,如果不同丟棄。
非對(duì)稱(chēng)加密安全性高,但計(jì)算量大效率低,因此使用對(duì)稱(chēng)秘鑰對(duì)通信的主要內(nèi)容進(jìn)行加密。對(duì)稱(chēng)秘鑰每次使用隨機(jī)生成,用完即丟棄,降低風(fēng)險(xiǎn)。
用接收方公鑰加密對(duì)稱(chēng)秘鑰,保證了只有接收方才能對(duì)密文進(jìn)行解密。用發(fā)送方私鑰進(jìn)行簽名,使得接收方可以驗(yàn)證消息的發(fā)送方和消息是否被修改過(guò),保證了信息的完整性和抗否認(rèn)性。
PKI體系架構(gòu)
PKI是Public Key Infrastructure的縮寫(xiě),是通過(guò)使用公鑰技術(shù)和數(shù)字證書(shū)來(lái)提供系統(tǒng)信息安全服務(wù),并負(fù)責(zé)驗(yàn)證數(shù)字證書(shū)持有者身份的一種體系。PKI的本質(zhì)是把非對(duì)稱(chēng)密鑰管理標(biāo)準(zhǔn)化。

一個(gè)PKI體系由終端實(shí)體、證書(shū)認(rèn)證機(jī)構(gòu)、證書(shū)注冊(cè)機(jī)構(gòu)和證書(shū)/CRL存儲(chǔ)庫(kù)四部分共同組成。
終端實(shí)體EE(End Entity):也稱(chēng)為PKI實(shí)體,它是PKI產(chǎn)品或服務(wù)的最終使用者,可以是個(gè)人、組織、設(shè)備(如路由器、防火墻)或計(jì)算機(jī)中運(yùn)行的進(jìn)程。
證書(shū)認(rèn)證機(jī)構(gòu)CA:CA是PKI的信任基礎(chǔ),是一個(gè)用于頒發(fā)并管理數(shù)字證書(shū)的可信實(shí)體。它是一種權(quán)威性、可信任性和公正性的第三方機(jī)構(gòu),通常由服務(wù)器充當(dāng)。
CA通常采用多層次的分級(jí)結(jié)構(gòu),根據(jù)證書(shū)頒發(fā)機(jī)構(gòu)的層次,可以劃分為根CA和從屬CA;
根CA是公鑰體系中第一個(gè)證書(shū)頒發(fā)機(jī)構(gòu),它是信任的起源。
從屬CA必須從上級(jí)CA處獲取證書(shū)。
當(dāng)某個(gè)PKI實(shí)體信任一個(gè)CA,則可以通過(guò)證書(shū)鏈來(lái)傳遞信任,證書(shū)鏈就是從用戶(hù)的證書(shū)到根證書(shū)所經(jīng)過(guò)的一系列證書(shū)的集合。當(dāng)通信的PKI實(shí)體收到待驗(yàn)證的證書(shū)時(shí),會(huì)沿著證書(shū)鏈依次驗(yàn)證其頒發(fā)者的合法性;
CA的核心功能就是發(fā)放和管理數(shù)字證書(shū),包括:證書(shū)的頒發(fā)、證書(shū)的更新、證書(shū)的撤銷(xiāo)、證書(shū)的查詢(xún)、證書(shū)的歸檔、證書(shū)廢除列表CRL的發(fā)布等。
證書(shū)注冊(cè)機(jī)構(gòu)RA(Registration Authority):是數(shù)字證書(shū)注冊(cè)審批機(jī)構(gòu),RA是CA面對(duì)用戶(hù)的窗口,是CA的證書(shū)發(fā)放、管理功能的延伸,它負(fù)責(zé)接受用戶(hù)的證書(shū)注冊(cè)和撤銷(xiāo)申請(qǐng),對(duì)用戶(hù)的身份信息進(jìn)行審查,并決定是否向CA提交簽發(fā)或撤銷(xiāo)數(shù)字證書(shū)的申請(qǐng)。RA作為CA功能的一部分,實(shí)際應(yīng)用中,通常RA并不一定獨(dú)立存在,而是和CA合并在一起。RA也可以獨(dú)立出來(lái),分擔(dān)CA的一部分功能,減輕CA的壓力,增強(qiáng)CA系統(tǒng)的安全性。
證書(shū)/CRL存儲(chǔ)庫(kù):由于用戶(hù)名稱(chēng)的改變、私鑰泄漏或業(yè)務(wù)中止等原因,需要存在一種方法將現(xiàn)行的證書(shū)吊銷(xiāo),即撤消公鑰及相關(guān)的PKI實(shí)體身份信息的綁定關(guān)系。
PKI證書(shū)流程
PKI的核心技術(shù)就圍繞著本地證書(shū)的申請(qǐng)、頒發(fā)、存儲(chǔ)、下載、安裝、驗(yàn)證、更新和撤銷(xiāo)的整個(gè)生命周期進(jìn)行展開(kāi)。
證書(shū)申請(qǐng):證書(shū)申請(qǐng)即證書(shū)注冊(cè),就是一個(gè)PKI實(shí)體向CA自我介紹并獲取證書(shū)的過(guò)程。
證書(shū)頒發(fā):PKI實(shí)體向CA申請(qǐng)本地證書(shū)時(shí),如果有RA,則先由RA審核PKI實(shí)體的身份信息,審核通過(guò)后,RA將申請(qǐng)信息發(fā)送給CA。CA再根據(jù)PKI實(shí)體的公鑰和身份信息生成本地證書(shū),并將本地證書(shū)信息發(fā)送給RA。如果沒(méi)有RA,則直接由CA審核PKI實(shí)體身份信息。
證書(shū)存儲(chǔ):CA生成本地證書(shū)后,CA/RA會(huì)將本地證書(shū)發(fā)布到證書(shū)/CRL存儲(chǔ)庫(kù)中,為用戶(hù)提供下載服務(wù)和目錄瀏覽服務(wù)。
證書(shū)下載:PKI實(shí)體通過(guò)SCEP或CMPv2協(xié)議向CA服務(wù)器下載已頒發(fā)的證書(shū),或者通過(guò)LDAP、HTTP或者帶外方式,下載已頒發(fā)的證書(shū)。該證書(shū)可以是自己的本地證書(shū),也可以是CA/RA證書(shū)或者其他PKI實(shí)體的本地證書(shū)。
證書(shū)安裝:PKI實(shí)體下載證書(shū)后,還需安裝證書(shū),即將證書(shū)導(dǎo)入到設(shè)備的內(nèi)存中,否則證書(shū)不生效。該證書(shū)可以是自己的本地證書(shū),也可以是CA/RA證書(shū),或其他PKI實(shí)體的本地證書(shū)。通過(guò)SCEP協(xié)議申請(qǐng)證書(shū)時(shí),PKI實(shí)體先獲取CA證書(shū)并將CA證書(shū)自動(dòng)導(dǎo)入設(shè)備內(nèi)存中,然后獲取本地證書(shū)并將本地證書(shū)自動(dòng)導(dǎo)入設(shè)備內(nèi)存中。
證書(shū)驗(yàn)證:PKI實(shí)體獲取對(duì)端實(shí)體的證書(shū)后,當(dāng)需要使用對(duì)端實(shí)體的證書(shū)時(shí),例如與對(duì)端建立安全隧道或安全連接,通常需要驗(yàn)證對(duì)端實(shí)體的本地證書(shū)和CA的合法性(證書(shū)是否有效或者是否屬于同一個(gè)CA頒發(fā)等)。如果證書(shū)頒發(fā)者的證書(shū)無(wú)效,則由該CA頒發(fā)的所有證書(shū)都不再有效。但在CA證書(shū)過(guò)期前,設(shè)備會(huì)自動(dòng)更新CA證書(shū),異常情況下才會(huì)出現(xiàn)CA證書(shū)過(guò)期現(xiàn)象。
證書(shū)更新:當(dāng)證書(shū)過(guò)期、密鑰泄漏時(shí),PKI實(shí)體必須更換證書(shū),可以通過(guò)重新申請(qǐng)來(lái)達(dá)到更新的目的,也可以使用SCEP或CMPv2協(xié)議自動(dòng)進(jìn)行更新。
證書(shū)撤銷(xiāo):由于用戶(hù)身份、用戶(hù)信息或者用戶(hù)公鑰的改變、用戶(hù)業(yè)務(wù)中止等原因,用戶(hù)需要將自己的數(shù)字證書(shū)撤消,即撤消公鑰與用戶(hù)身份信息的綁定關(guān)系。在PKI中,CA主要采用CRL或OCSP協(xié)議撤銷(xiāo)證書(shū),而PKI實(shí)體撤銷(xiāo)自己的證書(shū)是通過(guò)帶外方式申請(qǐng)。
PKI證書(shū)申請(qǐng)流程
PKI證書(shū)申請(qǐng)流程如下:
用戶(hù)申請(qǐng):用戶(hù)獲取CA的數(shù)字證書(shū)(根證書(shū)),與安全服務(wù)器建立連接,同時(shí)生成自己的公鑰和私鑰,將公鑰和自己的身份信息提交給安全服務(wù)器。安全服務(wù)器將用戶(hù)的申請(qǐng)信息傳送給RA服務(wù)器。
RA審核:RA收到用戶(hù)的申請(qǐng),用戶(hù)向RA證明自己的身份,RA進(jìn)行核對(duì)。如果RA同意用戶(hù)申請(qǐng)證書(shū)的請(qǐng)求,則對(duì)證書(shū)申請(qǐng)信息做數(shù)字簽名,否則拒絕用戶(hù)的申請(qǐng)。
CA發(fā)行證書(shū):RA將用戶(hù)申請(qǐng)和RA簽名傳輸給CA,CA對(duì)RA數(shù)字簽名做認(rèn)證,如果驗(yàn)證通過(guò),則同意用戶(hù)請(qǐng)求,頒發(fā)證書(shū),然后將證書(shū)輸出。如果驗(yàn)證不通過(guò),則拒絕證書(shū)申請(qǐng)。
RA轉(zhuǎn)發(fā)證書(shū):RA從CA得到新的證書(shū),首先將證書(shū)輸出到LDAP服務(wù)器以提供目錄瀏覽,再通知用戶(hù)證書(shū)發(fā)行成功,告知證書(shū)序列號(hào),到指定的網(wǎng)址去下載證書(shū)。
用戶(hù)證書(shū)獲?。河脩?hù)使用證書(shū)序列號(hào)去指定網(wǎng)址下載自己的數(shù)字證書(shū),只有持有與申請(qǐng)時(shí)提交的公鑰配對(duì)的私鑰才能下載成功。
證書(shū)申請(qǐng)方式
PKI實(shí)體向CA申請(qǐng)本地證書(shū)有以下幾種方式:

PKI證書(shū)驗(yàn)證
PKI實(shí)體獲取對(duì)端實(shí)體的證書(shū)后,當(dāng)需要使用對(duì)端實(shí)體的證書(shū)時(shí),通常需要驗(yàn)證對(duì)端實(shí)體的本地證書(shū)和CA的合法性。通常檢查證書(shū)狀態(tài)的方式有三種:CRL方式、OCSP方式、None方式。
CRL方式
PKI實(shí)體可以通過(guò)SCEP、HTTP、LDAP和LDAPv3模板方式下載CRL。
當(dāng)PKI實(shí)體驗(yàn)證本地證書(shū)時(shí),先查找本地內(nèi)存的CRL,如果本地內(nèi)存沒(méi)有CRL,則需下載CRL并安裝到本地內(nèi)存中,如果對(duì)端實(shí)體的本地證書(shū)在CRL中,表示此證書(shū)已被撤銷(xiāo)。
OCSP方式
在IPSec場(chǎng)景中,PKI實(shí)體間使用證書(shū)方式進(jìn)行IPSec協(xié)商時(shí),可以通過(guò)OCSP方式實(shí)時(shí)檢查對(duì)端實(shí)體的證書(shū)狀態(tài)。
OCSP克服了CRL的主要缺陷:PKI實(shí)體必須經(jīng)常下載CRL以確保列表的更新。當(dāng)PKI實(shí)體訪(fǎng)問(wèn)OCSP服務(wù)器時(shí),會(huì)發(fā)送一個(gè)對(duì)于證書(shū)狀態(tài)信息的請(qǐng)求。OCSP服務(wù)器會(huì)回復(fù)一個(gè)“有效”、“過(guò)期”或“未知”的響應(yīng)。
None方式
如果PKI實(shí)體沒(méi)有可用的CRL和OCSP服務(wù)器,或者不需要檢查PKI實(shí)體的本地證書(shū)狀態(tài),可以采用None方式,即不檢查證書(shū)是否被撤銷(xiāo)。
OCSP方式中,服務(wù)器的響應(yīng)消息:
有效表示證書(shū)沒(méi)有被撤銷(xiāo);
過(guò)期表示證書(shū)已被撤銷(xiāo);
未知表示OCSP服務(wù)器不能判斷請(qǐng)求的證書(shū)狀態(tài)。
PKI證書(shū)注銷(xiāo)流程
證書(shū)撤銷(xiāo)流程如下:
用戶(hù)申請(qǐng):用戶(hù)向RA發(fā)送一封簽名加密郵件,申請(qǐng)撤銷(xiāo)證書(shū);
RA審核:注冊(cè)機(jī)構(gòu)同意證書(shū)撤銷(xiāo),并對(duì)申請(qǐng)簽名;
CA更新CRL:CA驗(yàn)證證書(shū)撤銷(xiāo)請(qǐng)求的RA簽名,如果正確,則同意申請(qǐng),更新CRL,并輸出;
RA轉(zhuǎn)發(fā)CRL:注冊(cè)中心收到CRL,以多種方式將CRL公布(包括LDAP服務(wù)器);
用戶(hù)告知:用戶(hù)訪(fǎng)問(wèn)LDAP服務(wù)器,下載或?yàn)g覽CRL。
PKI工作機(jī)制
針對(duì)一個(gè)使用PKI的網(wǎng)絡(luò),配置PKI的目的就是為指定的PKI實(shí)體向CA申請(qǐng)一個(gè)本地證書(shū),并由設(shè)備對(duì)證書(shū)的有效性進(jìn)行驗(yàn)證。PKI具體工作過(guò)程如下:

PKI實(shí)體向CA請(qǐng)求CA證書(shū),即CA服務(wù)器證書(shū)。
CA收到PKI實(shí)體的CA證書(shū)請(qǐng)求時(shí),將自己的CA證書(shū)回復(fù)給PKI實(shí)體。
PKI實(shí)體收到CA證書(shū)后,安裝CA證書(shū)。
當(dāng)PKI實(shí)體通過(guò)SCEP協(xié)議申請(qǐng)本地證書(shū)時(shí),PKI實(shí)體會(huì)用配置的Hash算法對(duì)CA證書(shū)進(jìn)行運(yùn)算得到數(shù)字指紋,與提前配置的CA服務(wù)器的數(shù)字指紋進(jìn)行比較,如果一致,則PKI實(shí)體接受CA證書(shū),否則PKI實(shí)體丟棄CA證書(shū)。
PKI實(shí)體向CA發(fā)送證書(shū)注冊(cè)請(qǐng)求消息(包括配置的密鑰對(duì)中的公鑰和PKI實(shí)體信息)。
當(dāng)PKI實(shí)體通過(guò)SCEP協(xié)議申請(qǐng)本地證書(shū)時(shí),PKI實(shí)體對(duì)證書(shū)注冊(cè)請(qǐng)求消息使用CA證書(shū)的公鑰進(jìn)行加密和自己的私鑰進(jìn)行數(shù)字簽名。如果CA要求驗(yàn)證挑戰(zhàn)密碼,則證書(shū)注冊(cè)請(qǐng)求消息必須攜帶挑戰(zhàn)密碼(與CA的挑戰(zhàn)密碼一致);
當(dāng)PKI實(shí)體通過(guò)CMPv2協(xié)議申請(qǐng)本地證書(shū)時(shí),PKI實(shí)體可以使用額外證書(shū)(其他CA頒發(fā)的本地證書(shū))或者消息認(rèn)證碼方式進(jìn)行身份認(rèn)證。
額外證書(shū)方式:PKI實(shí)體對(duì)證書(shū)注冊(cè)請(qǐng)求消息使用CA證書(shū)的公鑰進(jìn)行加密和PKI實(shí)體的額外證書(shū)相對(duì)應(yīng)的私鑰進(jìn)行數(shù)字簽名;
消息認(rèn)證碼方式:PKI實(shí)體對(duì)證書(shū)注冊(cè)請(qǐng)求消息使用CA證書(shū)的公鑰進(jìn)行加密,而且證書(shū)注冊(cè)請(qǐng)求消息必須包含消息認(rèn)證碼的參考值和秘密值(與CA的消息認(rèn)證碼的參考值和秘密值一致)。
PKI證書(shū)應(yīng)用場(chǎng)景 - 通過(guò)HTTPS登錄Web
在設(shè)備上為HTTPS客戶(hù)端指定本地證書(shū),該證書(shū)由Web瀏覽器信任的CA頒發(fā)。這樣,Web瀏覽器可以驗(yàn)證本地證書(shū)的合法性,避免了可能存在的主動(dòng)攻擊,保證了管理員的安全登錄。

在SSL連接建立的過(guò)程中,HTTPS客戶(hù)端和HTTPS服務(wù)器之間的主要交互流程如下:
HTTPS服務(wù)器向PKI認(rèn)證中心申請(qǐng)本地證書(shū);
PKI認(rèn)證中心向HTTPS服務(wù)器頒發(fā)本地證書(shū);
HTTPS服務(wù)器將攜帶自己公鑰信息的數(shù)字證書(shū)發(fā)送給HTTPS客戶(hù)端;
HTTPS客戶(hù)端驗(yàn)證HTTPS服務(wù)器的本地證書(shū)合法后,利用證書(shū)中的公鑰加密HTTPS客戶(hù)端隨機(jī)生成的密鑰,并發(fā)送給HTTPS服務(wù)器;
HTTPS客戶(hù)端和HTTPS服務(wù)器通過(guò)協(xié)商,最終確定所使用的密鑰和加密套件;
后續(xù)傳輸?shù)臄?shù)據(jù),雙方都會(huì)使用該密鑰和加密套件進(jìn)行加密處理。
PKI證書(shū)應(yīng)用場(chǎng)景 - IPSec VPN
IPSec采用基于PKI的證書(shū)進(jìn)行身份認(rèn)證后,在進(jìn)行IKE協(xié)商過(guò)程中交換密鑰時(shí),會(huì)對(duì)通信雙方進(jìn)行身份認(rèn)證,保證了密鑰交換的安全。

因?yàn)楣W(wǎng)是不安全的網(wǎng)絡(luò),為了保護(hù)數(shù)據(jù)的安全性,設(shè)備采用IPSec技術(shù),與對(duì)端設(shè)備建立IPSec隧道。通常情況下,IPSec采用預(yù)共享密鑰方式協(xié)商IPSec。但是,在大型網(wǎng)絡(luò)中IPSec采用預(yù)共享密鑰方式時(shí)存在密鑰交換不安全和配置工作量大的問(wèn)題。為了解決上述問(wèn)題,設(shè)備之間可以采用基于PKI的證書(shū)進(jìn)行身份認(rèn)證來(lái)完成IPSec隧道的建立。
采用基于PKI的證書(shū)進(jìn)行身份認(rèn)證后,IPSec在進(jìn)行IKE協(xié)商過(guò)程中交換密鑰時(shí),會(huì)對(duì)通信雙方進(jìn)行身份認(rèn)證,保證了密鑰交換的安全。而且,證書(shū)可以為IPSec提供集中的密鑰管理機(jī)制,并增強(qiáng)整個(gè)IPSec網(wǎng)絡(luò)的可擴(kuò)展性。同時(shí),在采用證書(shū)認(rèn)證的IPSec網(wǎng)絡(luò)中,每臺(tái)設(shè)備都擁有PKI認(rèn)證中心頒發(fā)的本地證書(shū)。有新設(shè)備加入時(shí),只需要為新增加的設(shè)備申請(qǐng)一個(gè)證書(shū),新設(shè)備就可以與其它設(shè)備進(jìn)行安全通訊,而不需要對(duì)其他設(shè)備的配置進(jìn)行修改,這大大減少了配置工作量。
PKI證書(shū)應(yīng)用場(chǎng)景 - SSL VPN
SSL VPN可以為出差員工提供方便的接入功能,使其在出差期間也可以正常訪(fǎng)問(wèn)內(nèi)部網(wǎng)絡(luò)。為了提高出差員工訪(fǎng)問(wèn)內(nèi)部網(wǎng)絡(luò)的安全性,設(shè)備可以采用PKI的證書(shū)方式來(lái)對(duì)用戶(hù)進(jìn)行認(rèn)證。

在SSL VPN應(yīng)用中,SSL VPN客戶(hù)端可以通過(guò)證書(shū)驗(yàn)證SSL VPN網(wǎng)關(guān)的身份;SSL VPN網(wǎng)關(guān)也可以通過(guò)證書(shū)來(lái)驗(yàn)證客戶(hù)端的身份。