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

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

2.4 信譽(yù)度初值
信譽(yù)度是對一個節(jié)點(diǎn)的歷史給予評價,而對于剛加入系統(tǒng)的節(jié)點(diǎn),由于其沒有提供上傳及下載服務(wù),其信譽(yù)度的初值不能為0,如果為0,則被選中的機(jī)會很少。因此,可設(shè)其信譽(yù)度的初值為一個平均值,以保證其有機(jī)會被選中。
2.5 信譽(yù)度更新
信譽(yù)度更新可以采用時間驅(qū)動和事件驅(qū)動更新兩種方法。時間驅(qū)動更新可以定期或不定期地根據(jù)現(xiàn)有基礎(chǔ)數(shù)據(jù)進(jìn)行信譽(yù)度評估;事件驅(qū)動更新則是發(fā)生的某一動作或事件導(dǎo)致某一信譽(yù)度評價的基礎(chǔ)數(shù)據(jù)發(fā)生變化。事件驅(qū)動更新能及時準(zhǔn)確地反映信譽(yù)度的變化。在節(jié)點(diǎn)沒有下載服務(wù)時,其信譽(yù)度應(yīng)該降低。在這種情況下應(yīng)該采用時間驅(qū)動更新服務(wù),以隨時更新節(jié)點(diǎn)信譽(yù)度。所以本系統(tǒng)采用事件與時間驅(qū)動相結(jié)合的更新方式。
2.6 信譽(yù)度管理與下載服務(wù)器的選擇
在信譽(yù)度的管理中,可以采用有統(tǒng)一中心節(jié)點(diǎn)的管理模式。但是由于中心節(jié)點(diǎn)存在瓶頸問題,一旦中心節(jié)點(diǎn)癱瘓,整個系統(tǒng)也將崩潰。另外,由于P2P模式的自組織特性,也不便于使用中心節(jié)點(diǎn)模式。因此,在本系統(tǒng)中,每一個加入網(wǎng)絡(luò)的用戶自己維護(hù)一張信譽(yù)度表格。當(dāng)用戶需要在系統(tǒng)中下載資源時,提出請求通過洪泛機(jī)制,然后查詢相應(yīng)節(jié)點(diǎn)和資源的信譽(yù)度記錄,找到最優(yōu)記錄的節(jié)點(diǎn),然后節(jié)點(diǎn)之間可以直接建立連接。
假定某個節(jié)點(diǎn)A已在網(wǎng)絡(luò)中,當(dāng)一個新節(jié)點(diǎn)B加入系統(tǒng)中時,節(jié)點(diǎn)A中的表格中給該新節(jié)點(diǎn)B設(shè)定初值,而B節(jié)點(diǎn)則在表格中將系統(tǒng)中的其他節(jié)點(diǎn)設(shè)定初值。隨著下載服務(wù)的進(jìn)行,不斷更新每一個節(jié)點(diǎn)的信譽(yù)度值。總是給CA設(shè)定一個中間值,以保證CA不會被最先選到,但又能在其他服務(wù)器失效時,提供下載服務(wù)。對于系統(tǒng)中已有節(jié)點(diǎn)也可仿照此法設(shè)定初值。
如果一個節(jié)點(diǎn)在較長時間內(nèi)(如6個月)沒有登錄或者沒有提供下載服務(wù),則刪除節(jié)點(diǎn)記錄。
用戶在選擇下載服務(wù)器時,總是綜合考慮選擇信譽(yù)度大的節(jié)點(diǎn)進(jìn)行資源下載,如果失敗,則順序選擇信譽(yù)度次大的節(jié)點(diǎn)。
系統(tǒng)也可以將資源信譽(yù)度和節(jié)點(diǎn)信譽(yù)度進(jìn)行合并,按照權(quán)重進(jìn)行計算、優(yōu)選。將資源信譽(yù)度和節(jié)點(diǎn)信譽(yù)度分開,可以根據(jù)用戶所關(guān)心方面的不同,進(jìn)行合理選擇下載服務(wù)器。
3 性能分析
當(dāng)一個提供CRL分塊下載服務(wù)的節(jié)點(diǎn)中的CRL分塊不可靠時(是偽造的或者其來源本身就不可靠),那么隨著時間的推移,其資源信譽(yù)度將越來越低。反之,當(dāng)一個節(jié)點(diǎn)提供的資源可信時,其資源信譽(yù)度也越高。
當(dāng)一個節(jié)點(diǎn)本身不可靠、網(wǎng)絡(luò)質(zhì)量差、節(jié)點(diǎn)不穩(wěn)定或不提供下載服務(wù),那么它的節(jié)點(diǎn)信譽(yù)度值也將逐漸降低。而提供良好下載服務(wù)的節(jié)點(diǎn)將會得到較高的信譽(yù)度。
傳承ICRL的優(yōu)點(diǎn),本文提供的CRL證書撤銷機(jī)制,可以最大限度地降低通信載荷,節(jié)約帶寬。同時,由于系統(tǒng)將下載服務(wù)分散到各個參與者服務(wù)器中,因此大大降低了CA的平均及峰值請求率,減輕了CA服務(wù)器的負(fù)擔(dān)。
由于P2P方式是一種自組織的分享下載方式,驗證方下載CRL要依賴于其他下載用戶同時在線提供上傳服務(wù)來提高下載速度,這是不可靠的服務(wù),因此其性能有一定的不穩(wěn)定性。
綜上所述,P2P共享下載模式,能為客戶端提供CRL列表,以供用戶在本地進(jìn)行證書的驗證。這種模式能夠有效減少CRL的下載尺寸,真正降低通信載荷以及系統(tǒng)的峰值請求率,提供更為及時的證書撤銷信息。但是,P2P方式下載是一種自組織的分享下載方式,當(dāng)同時下載人數(shù)數(shù)量太少時,它的優(yōu)勢根本不能體現(xiàn),驗證方下載CRL要依賴于其他下載用戶同時在線提供上傳服務(wù)來提高下載速度,這是不可靠的服務(wù)。P2P下載模式可以通過對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é)報,2006(4):13-15.
[5] 李國敬,溫濤.基于增量的CRL證書撤銷機(jī)制研究[J].廣西師范大學(xué)學(xué)報,2008(4):51-53.
