摘 要: 基于增量CRL證書撤銷機(jī)制,提出了基于P2P共享下載模式的證書撤銷機(jī)制。在Delta-CRL的發(fā)布周期內(nèi),CA發(fā)布Base-CRL和Delta-CRL,用戶除初始化外,其他時(shí)刻只需下載Delta-CRL即可。當(dāng)用戶提出請(qǐng)求,通過洪泛機(jī)制查詢相應(yīng)節(jié)點(diǎn)和資源的信譽(yù)度記錄,找到最優(yōu)記錄節(jié)點(diǎn),建立P2P連接。然后,將下載的CRL模塊在客戶端重構(gòu)以獲得完整的CRL。與其他CRL相比,該方法能夠有效減少CRL的下載尺寸,真正降低通信載荷以及系統(tǒng)的峰值請(qǐng)求率,提供更為及時(shí)的證書撤銷信息。
關(guān)鍵詞: 公鑰基礎(chǔ)設(shè)施;證書撤銷列表;信譽(yù)度;P2P模式
公開密鑰基礎(chǔ)設(shè)施PKI(Public Key Infrastructure)是以公開密鑰密碼技術(shù)為基礎(chǔ)、提供安全服務(wù)的具有通用性的安全基礎(chǔ)設(shè)施,在網(wǎng)絡(luò)傳輸與交換過程中可以提供身份鑒別、完整性、不可否認(rèn)性和機(jī)密性的信息安全服務(wù)。數(shù)字證書主要通過數(shù)字簽名和加密功能來實(shí)現(xiàn)安全通信的功能。在確認(rèn)交易之前,驗(yàn)證方必須檢查證書的有效性,確保持證者身份真實(shí)、合法、有效,這樣就可以降低網(wǎng)絡(luò)環(huán)境下的交易風(fēng)險(xiǎn),保證電子商務(wù)安全、公正。然而證書在發(fā)布后,其合法性會(huì)隨著時(shí)間的推移以及突發(fā)的或某些特殊原因而變?yōu)闊o效,因此,在證書發(fā)行之后,認(rèn)證中心(CA)將發(fā)布證書撤銷列表CRL(Certificate Revocation List)供用戶查詢驗(yàn)證證書的有效性。
傳統(tǒng)的證書撤銷機(jī)制有基本CRL(Base-CRL)、分段CRL[1]、重復(fù)發(fā)布CRL[2]、增量CRL(Delta-CRL)[3]、隨機(jī)CRL證書撤銷機(jī)制[4]等,這些證書撤銷機(jī)制分別在如何提高CRL的傳輸與查詢效率、減少通信載荷和計(jì)算代價(jià)、降低峰值請(qǐng)求率、提供及時(shí)性等方面對(duì)CRL證書撤銷機(jī)制作了一定的改進(jìn),以適應(yīng)不同的應(yīng)用需求。本文以改進(jìn)的增量CRL證書撤銷機(jī)制[5](簡(jiǎn)稱ICRL)為基礎(chǔ),提出點(diǎn)對(duì)點(diǎn)(P2P)共享下載模式,為客戶端提供CRL列表,以供用戶在本地進(jìn)行證書的驗(yàn)證。這種模式能夠有效減少CRL的下載尺寸,真正降低通信載荷以及系統(tǒng)的峰值請(qǐng)求率,提供更為及時(shí)的證書撤銷信息。
1 P2P共享下載模式原理
1.1基本原理
如果文件大小在150 MB以上,可以采用P2P技術(shù)上的文件共享軟件下載模式。這種下載模式與傳統(tǒng)文件共享下載模式的區(qū)別是:共享文件不是在集中的服務(wù)器上等待用戶端來下載,而是分散在所有參與者的硬盤上。所有參與者組成一個(gè)虛擬網(wǎng)絡(luò),每個(gè)用戶端都可以從這個(gè)虛擬網(wǎng)絡(luò)里的任何一個(gè)人的計(jì)算機(jī)里下載文件,同時(shí)每個(gè)人也可以把自己的文件共享給任何人。
圖1為ftp、http等分享下載流程,P2P共享下載模式的分享流程如圖2所示。

這種P2P共享下載模式的典型代表為BT(BitTorrent)、ED和EM。以BT為例介紹其原理。BT首先在CA服務(wù)器端把一個(gè)文件分成了Z個(gè)部分,甲在服務(wù)器隨機(jī)下載了第N個(gè)部分,乙在服務(wù)器隨機(jī)下載了第M個(gè)部分,這樣甲的BT就會(huì)根據(jù)情況到乙的電腦上去下載乙己經(jīng)下載好的M部分,乙的BT就會(huì)根據(jù)情況到甲的電腦上下載甲已經(jīng)下載好的N部分,這樣不但減輕了服務(wù)器端的負(fù)荷,也加快了用戶方(甲、乙)的下載速度,提高了效率,同時(shí)減少了地域之間的限制。例如,丙要連到服務(wù)器去下載可能速度較慢(只有幾K),但是要是到甲和乙的電腦上去下載就快得多了。客戶端在下載的同時(shí),也在上傳文件,下載的人越多,下載的速度也越快。所以在峰值請(qǐng)求時(shí),服務(wù)器的負(fù)擔(dān)得以減輕,并且客戶端下載的速度也越快,這就是BT的優(yōu)越性。
BT使用了分布式計(jì)算的概念,讓每一個(gè)對(duì)等節(jié)點(diǎn)參與到通信協(xié)作中來,充分利用每一個(gè)節(jié)點(diǎn)的上載能力,使得傳輸一個(gè)文件的實(shí)際帶寬數(shù)十倍、百倍、千倍地?cái)U(kuò)大。
1.2 P2P下載模型
應(yīng)用P2P方式組織下載CRL列表時(shí),所有參與下載的可信CA、不可信的目錄服務(wù)器、驗(yàn)證方以及最終用戶都加入到P2P網(wǎng)絡(luò)中,所有參與者都提供上傳與下載服務(wù)。
CA參照ICRL證書撤銷機(jī)制[5],在發(fā)布CRL時(shí),一方面發(fā)布最新和完整的CRL列表(Total-CRL),同時(shí)又發(fā)布Base-CRL和Delta-CRL供用戶下載。CA將Total-CRL和Base-CRL根據(jù)需要分成了Z個(gè)部分。更新周期到達(dá)時(shí),目錄服務(wù)器、驗(yàn)證方等用戶可以到CA隨機(jī)地下載CA的各個(gè)部分。隨著時(shí)間的推移,加入P2P網(wǎng)絡(luò)的用戶就能以一定的策略選擇網(wǎng)絡(luò)中的終端進(jìn)行CRL的下載。
1.3 CRL的重組
與ICRL證書撤銷機(jī)制相同,P2P模式下載得到的CRL需要在本地進(jìn)行重組,以剔除過期的證書,得到最新的、完整的CRL證書撤銷列表,以供驗(yàn)證方使用。
重組過程可以參照ICRL證書撤銷機(jī)制,與之不同的是,由于P2P模式下,驗(yàn)證方下載的CRL有可能是從不可信的第三方(客戶端或參與驗(yàn)證的第三方),而不是從可信的CA那里獲得到的CRL,不可信的客戶端有可能進(jìn)行重放攻擊,偽造虛假的CRL列表,從而妨礙CRL列表的正常下載與重組,所以驗(yàn)證方就要在本地通過比對(duì)CA簽名驗(yàn)證下載CRL的有效性。一旦下載的CRL不可靠,則必須重新選擇下載服務(wù)器,下載可靠的CRL列表。在最壞情況下,客戶端必須重新從CA下載CRL列表信息。
2 客戶端信譽(yù)度評(píng)價(jià)
2.1 風(fēng)險(xiǎn)與安全性分析
P2P系統(tǒng)自由開放的特性也為其應(yīng)用帶來了一定的風(fēng)險(xiǎn)隱患,如:不可信的客戶端進(jìn)行重放攻擊,偽造虛假的CRL列表妨礙CRL列表的正常下載,由于網(wǎng)絡(luò)性能差造成客戶端下載的不穩(wěn)定,客戶端自由地進(jìn)出P2P系統(tǒng)和中止服務(wù)以及拒絕服務(wù)攻擊、客戶端的在線時(shí)間等。
用戶一方面可以根據(jù)X.509的定義,通過檢查CRL列表中的This update和Next update字段來判斷所下載證書是否為最新,以抵御重放攻擊。另一方面可以通過CA提供的簽名來驗(yàn)證CRL是否為偽造。對(duì)于假冒的非CRL證書信息則比較容易判斷。
為使客戶端在P2P系統(tǒng)順利、及時(shí)地下載到可靠的CRL列表,就必須選擇信譽(yù)好的客戶端。為此,就必須對(duì)參與提供下載服務(wù)的客戶端進(jìn)行信譽(yù)評(píng)價(jià),以便讓驗(yàn)證方選擇信譽(yù)度高的客戶端,這樣才能最大限度地保證驗(yàn)證方能夠下載到最及時(shí)、完整、可靠的CRL列表。
2.2 信譽(yù)度模型
系統(tǒng)中主要涉及資源信譽(yù)度RC(Resource Credit)和節(jié)點(diǎn)信譽(yù)度NC(Node Credit)。資源信譽(yù)度是指節(jié)點(diǎn)提供的CRL列表是否可靠,同時(shí)體現(xiàn)節(jié)點(diǎn)提供CRL分塊的下載量;而節(jié)點(diǎn)信譽(yù)度是指某個(gè)節(jié)點(diǎn)是否能夠及時(shí)、正確無誤地提供CRL分塊的下載,同時(shí)也體現(xiàn)了節(jié)點(diǎn)的在線時(shí)間以及穩(wěn)定性等因子。
(1)資源信譽(yù)度RC(x)
一個(gè)資源信譽(yù)度的值由歷史信譽(yù)度值和新的評(píng)價(jià)值共同合成。

2.4 信譽(yù)度初值
信譽(yù)度是對(duì)一個(gè)節(jié)點(diǎn)的歷史給予評(píng)價(jià),而對(duì)于剛加入系統(tǒng)的節(jié)點(diǎn),由于其沒有提供上傳及下載服務(wù),其信譽(yù)度的初值不能為0,如果為0,則被選中的機(jī)會(huì)很少。因此,可設(shè)其信譽(yù)度的初值為一個(gè)平均值,以保證其有機(jī)會(huì)被選中。
2.5 信譽(yù)度更新
信譽(yù)度更新可以采用時(shí)間驅(qū)動(dòng)和事件驅(qū)動(dòng)更新兩種方法。時(shí)間驅(qū)動(dòng)更新可以定期或不定期地根據(jù)現(xiàn)有基礎(chǔ)數(shù)據(jù)進(jìn)行信譽(yù)度評(píng)估;事件驅(qū)動(dòng)更新則是發(fā)生的某一動(dòng)作或事件導(dǎo)致某一信譽(yù)度評(píng)價(jià)的基礎(chǔ)數(shù)據(jù)發(fā)生變化。事件驅(qū)動(dòng)更新能及時(shí)準(zhǔn)確地反映信譽(yù)度的變化。在節(jié)點(diǎn)沒有下載服務(wù)時(shí),其信譽(yù)度應(yīng)該降低。在這種情況下應(yīng)該采用時(shí)間驅(qū)動(dòng)更新服務(wù),以隨時(shí)更新節(jié)點(diǎn)信譽(yù)度。所以本系統(tǒng)采用事件與時(shí)間驅(qū)動(dòng)相結(jié)合的更新方式。
2.6 信譽(yù)度管理與下載服務(wù)器的選擇
在信譽(yù)度的管理中,可以采用有統(tǒng)一中心節(jié)點(diǎn)的管理模式。但是由于中心節(jié)點(diǎn)存在瓶頸問題,一旦中心節(jié)點(diǎn)癱瘓,整個(gè)系統(tǒng)也將崩潰。另外,由于P2P模式的自組織特性,也不便于使用中心節(jié)點(diǎn)模式。因此,在本系統(tǒng)中,每一個(gè)加入網(wǎng)絡(luò)的用戶自己維護(hù)一張信譽(yù)度表格。當(dāng)用戶需要在系統(tǒng)中下載資源時(shí),提出請(qǐng)求通過洪泛機(jī)制,然后查詢相應(yīng)節(jié)點(diǎn)和資源的信譽(yù)度記錄,找到最優(yōu)記錄的節(jié)點(diǎn),然后節(jié)點(diǎn)之間可以直接建立連接。
假定某個(gè)節(jié)點(diǎn)A已在網(wǎng)絡(luò)中,當(dāng)一個(gè)新節(jié)點(diǎn)B加入系統(tǒng)中時(shí),節(jié)點(diǎn)A中的表格中給該新節(jié)點(diǎn)B設(shè)定初值,而B節(jié)點(diǎn)則在表格中將系統(tǒng)中的其他節(jié)點(diǎn)設(shè)定初值。隨著下載服務(wù)的進(jìn)行,不斷更新每一個(gè)節(jié)點(diǎn)的信譽(yù)度值??偸墙oCA設(shè)定一個(gè)中間值,以保證CA不會(huì)被最先選到,但又能在其他服務(wù)器失效時(shí),提供下載服務(wù)。對(duì)于系統(tǒng)中已有節(jié)點(diǎn)也可仿照此法設(shè)定初值。
如果一個(gè)節(jié)點(diǎn)在較長(zhǎng)時(shí)間內(nèi)(如6個(gè)月)沒有登錄或者沒有提供下載服務(wù),則刪除節(jié)點(diǎn)記錄。
用戶在選擇下載服務(wù)器時(shí),總是綜合考慮選擇信譽(yù)度大的節(jié)點(diǎn)進(jìn)行資源下載,如果失敗,則順序選擇信譽(yù)度次大的節(jié)點(diǎn)。
系統(tǒng)也可以將資源信譽(yù)度和節(jié)點(diǎn)信譽(yù)度進(jìn)行合并,按照權(quán)重進(jìn)行計(jì)算、優(yōu)選。將資源信譽(yù)度和節(jié)點(diǎn)信譽(yù)度分開,可以根據(jù)用戶所關(guān)心方面的不同,進(jìn)行合理選擇下載服務(wù)器。
3 性能分析
當(dāng)一個(gè)提供CRL分塊下載服務(wù)的節(jié)點(diǎn)中的CRL分塊不可靠時(shí)(是偽造的或者其來源本身就不可靠),那么隨著時(shí)間的推移,其資源信譽(yù)度將越來越低。反之,當(dāng)一個(gè)節(jié)點(diǎn)提供的資源可信時(shí),其資源信譽(yù)度也越高。
當(dāng)一個(gè)節(jié)點(diǎn)本身不可靠、網(wǎng)絡(luò)質(zhì)量差、節(jié)點(diǎn)不穩(wěn)定或不提供下載服務(wù),那么它的節(jié)點(diǎn)信譽(yù)度值也將逐漸降低。而提供良好下載服務(wù)的節(jié)點(diǎn)將會(huì)得到較高的信譽(yù)度。
傳承ICRL的優(yōu)點(diǎn),本文提供的CRL證書撤銷機(jī)制,可以最大限度地降低通信載荷,節(jié)約帶寬。同時(shí),由于系統(tǒng)將下載服務(wù)分散到各個(gè)參與者服務(wù)器中,因此大大降低了CA的平均及峰值請(qǐng)求率,減輕了CA服務(wù)器的負(fù)擔(dān)。
由于P2P方式是一種自組織的分享下載方式,驗(yàn)證方下載CRL要依賴于其他下載用戶同時(shí)在線提供上傳服務(wù)來提高下載速度,這是不可靠的服務(wù),因此其性能有一定的不穩(wěn)定性。
綜上所述,P2P共享下載模式,能為客戶端提供CRL列表,以供用戶在本地進(jìn)行證書的驗(yàn)證。這種模式能夠有效減少CRL的下載尺寸,真正降低通信載荷以及系統(tǒng)的峰值請(qǐng)求率,提供更為及時(shí)的證書撤銷信息。但是,P2P方式下載是一種自組織的分享下載方式,當(dāng)同時(shí)下載人數(shù)數(shù)量太少時(shí),它的優(yōu)勢(shì)根本不能體現(xiàn),驗(yàn)證方下載CRL要依賴于其他下載用戶同時(shí)在線提供上傳服務(wù)來提高下載速度,這是不可靠的服務(wù)。P2P下載模式可以通過對(duì)CRL列表文件進(jìn)行哈希生成摘要以抵御安全性攻擊,但是共享系統(tǒng)中也有可能產(chǎn)生假冒CA發(fā)布CRL或拒絕服務(wù)攻擊,因此存在一定缺陷。
參考文獻(xiàn)
[1] AARNES A, JUST M, KNAPSKOG S J, et al. Selecting revocation solutions for PKI[C]. Proceedings of the Fifth Nordic Workshop on Secure IT Systems(NORDSEC 2000). Reykjavik, Iceland, 2000:360-376.
[2] COPPER D A. A model of certificate revocation[C]. Proceedings of 15th Annual Computer Security Application Conference, Phoenix, 1999: 256-264.
[3] COOPER D A. A more efficient use of delta-CRLs[C]. Proceedings of the 2000 IEEE Symposium on Security and Privacy, Berkeley, 2000: 190-202.
[4] 李國敬.隨機(jī)CRL證書撤銷機(jī)制研究[J].沈陽理工大學(xué)學(xué)報(bào),2006(4):13-15.
[5] 李國敬,溫濤.基于增量的CRL證書撤銷機(jī)制研究[J].廣西師范大學(xué)學(xué)報(bào),2008(4):51-53.
