張博 朱璇 高熾揚(yáng)
中國(guó)軟件評(píng)測(cè)中心電子認(rèn)證實(shí)驗(yàn)室 北京 100048
一般情況下,在一個(gè)應(yīng)用系統(tǒng)中僅會(huì)使用一家CA頒發(fā)的數(shù)字證書。如果一個(gè)用戶在多個(gè)或者多種應(yīng)用系統(tǒng)中使用數(shù)字證書的話,那么該用戶會(huì)有很多的數(shù)字證書。這就會(huì)給用戶帶來(lái)很多的麻煩,光是要記住在哪個(gè)應(yīng)用系統(tǒng)中用哪個(gè)數(shù)字證書都會(huì)讓某些人感到頭痛,就更不用說(shuō)能否及時(shí)發(fā)現(xiàn)某個(gè)數(shù)字證書丟失的問(wèn)題了。
解決證書互信互認(rèn)問(wèn)題主要有四種方式,下面分別對(duì)它們的優(yōu)缺點(diǎn)進(jìn)行分析。
基于根(Root)的互信互認(rèn)技術(shù)采用根CA模式(也叫做分級(jí)結(jié)構(gòu)CA模式)來(lái)實(shí)現(xiàn)證書的互信互認(rèn),其特點(diǎn)是所有的用戶都信任同一個(gè)根CA。在進(jìn)行網(wǎng)上交易雙方的身份認(rèn)證時(shí),交易雙方互相提供自己的證書和數(shù)字簽名,由CA來(lái)對(duì)證書進(jìn)行有效性和真實(shí)性的認(rèn)證。若一個(gè)持有由CA3頒發(fā)的證書2的用戶甲要與由CA2頒發(fā)的證書4的用戶乙進(jìn)行安全通信,那么他們只要信任為這兩家CA同時(shí)簽名的根CA即可,如圖1所示。
根CA模式由于其簡(jiǎn)單的結(jié)構(gòu)和單向的可信任關(guān)系,具有4個(gè)優(yōu)點(diǎn):
(1) 根CA模式系統(tǒng)易于升級(jí)和增加新的認(rèn)證域用戶,因?yàn)橹恍枰鵆A與該認(rèn)證域的CA建立信任關(guān)系。
圖1 基于根CA模式示意圖
(2) 證書路徑由于其單向性,容易擴(kuò)展,可生成從用戶證書到可信任點(diǎn)的簡(jiǎn)單的、明確的路徑。
(3) 證書路徑相對(duì)較短。最長(zhǎng)的路徑等于樹的深度加一:每個(gè)從屬CA的證書路徑加上用戶的證書路徑。
(4) 基于分級(jí)結(jié)構(gòu)中的CA的位置,用戶隱含地知道一個(gè)證書用于哪種應(yīng)用。
根CA模式也有缺點(diǎn)。這是因?yàn)樗蕾囉谝粋€(gè)單一的可信任點(diǎn),即“根CA”。
(1) 存在單點(diǎn)故障和性能瓶頸。
(2) 構(gòu)建一個(gè)單一的、共同的根CA最主要的問(wèn)題是需要各個(gè)相關(guān)部門的共同努力與協(xié)調(diào)。
(3) 由一組彼此分離的CA過(guò)渡到根CA模式。
基于橋(Bridge)的互信互認(rèn)技術(shù)采用橋接CA(也叫橋CA)
體系結(jié)構(gòu)(參見(jiàn)圖2),該結(jié)構(gòu)被設(shè)計(jì)成用來(lái)克服根CA模式的缺點(diǎn)和連接不同結(jié)構(gòu)的PKI系統(tǒng)。橋CA不直接向用戶發(fā)放證書。而且,橋CA不作為一個(gè)可信任點(diǎn),供PKI中的用戶使用,這一點(diǎn)不同于根CA模式中的根CA。
圖2 橋CA模式
與根CA模式相比,橋CA模式的優(yōu)點(diǎn)在于:
(1) 證書路徑的發(fā)現(xiàn)變得較為容易。用戶清楚地知道他們到橋CA的路徑,從而只需確定從橋CA到用戶證書的證書路徑。
(2) 橋CA模式的PKI系統(tǒng)的分散化特性更精確地代表了現(xiàn)實(shí)世界中的證書機(jī)構(gòu)的關(guān)系。
(3) 橋CA模式更適合鏈接不同結(jié)構(gòu)的PKI體系。
基于橋CA的PKI系統(tǒng)的另一個(gè)技術(shù)挑戰(zhàn)是如何獲取證書和證書狀態(tài)信息。在有效的PKI系統(tǒng)中,用戶必須容易地獲取CA證書和用戶證書,以及通過(guò)一種分發(fā)機(jī)制獲得相應(yīng)的狀態(tài)信息。 在存在多種分發(fā)機(jī)制的PKI系統(tǒng)中,用戶端的應(yīng)用,需要支持多種檢索協(xié)議來(lái)搜尋所需要的信息。因此我們需要開(kāi)發(fā)一些技術(shù)用于發(fā)現(xiàn)和驗(yàn)證復(fù)雜的證書路徑,處理不同的PKI信息分發(fā)機(jī)制。
基于交叉認(rèn)證(Cross Certification)的互信互認(rèn)技術(shù)是通過(guò)CA之間互相簽發(fā)交叉證書的方式來(lái)實(shí)現(xiàn)互信互認(rèn)的。為交叉認(rèn)證而簽發(fā)的證書稱為交叉證書(Cross Certificate)。從類型上,交叉認(rèn)證可以細(xì)分為雙向交叉認(rèn)證(如圖3所示)和單向交叉認(rèn)證(如圖4所示)。
圖3 雙向交叉認(rèn)證技術(shù)
圖4 單向交叉認(rèn)證技術(shù)
如圖3所示,CA3和CA4都向?qū)Ψ胶炇鹆私徊孀C書(紅色的雙向箭頭表示簽署交叉證書),于是CA3和CA4都承認(rèn)證書1、證書2、證書3和證書4的合法性,也即上述4個(gè)證書可以互信互認(rèn)。如圖4所示,CA5向CA4簽署了交叉證書而CA4并未向CA5簽署交叉證書,于是在部署CA5證書鏈的應(yīng)用系統(tǒng)中證書3、證書4、證書5和證書6可以互信互認(rèn),而在部署CA4證書鏈且沒(méi)有部署CA5證書鏈的應(yīng)用系統(tǒng)中證書5和證書6不可以與證書3或者證書4實(shí)現(xiàn)互信互認(rèn)。
交叉認(rèn)證方式的優(yōu)點(diǎn)是適于少數(shù)CA間的證書實(shí)現(xiàn)互信互認(rèn),而參加基于交叉認(rèn)證方式CA的證書策略還不能太復(fù)雜。
交叉認(rèn)證方式的缺點(diǎn)在于:
(1) 不適合實(shí)現(xiàn)數(shù)量多的CA間證書的互信互認(rèn)。當(dāng)需要實(shí)現(xiàn)互信互認(rèn)的證書是來(lái)自較多家CA的時(shí)候,需要簽發(fā)的交叉證書的數(shù)量會(huì)呈現(xiàn)出指數(shù)級(jí)別的增長(zhǎng)。表1給出了CA數(shù)量與需要簽發(fā)的交叉證書數(shù)量,表中的公式P(m)(n)是排列組合中的公式,由于m取2所以P(2)(n)=n(n-1)。當(dāng)參加互認(rèn)的CA達(dá)到32個(gè)時(shí),需要簽發(fā)的交叉證書就達(dá)到了992張。需要進(jìn)一步說(shuō)明的是,表1中的公式僅適用于只有一種證書策略的CA。
表1 CA數(shù)量與需要簽發(fā)的交叉證書數(shù)量表
(2) 不適合實(shí)現(xiàn)策略復(fù)雜的CA間證書的互信互認(rèn)。如果參加互信互認(rèn)的CA有多個(gè)策略的話,還要考慮策略映射的問(wèn)題。對(duì)于CA來(lái)講,不同的證書策略對(duì)應(yīng)著不同安全措施,同時(shí)也對(duì)應(yīng)著不同的賠付額度。一般情況下,不同CA的賠付額度也是不同的。從理論講,實(shí)現(xiàn)不同CA所頒發(fā)的不同證書策略的映射是可能的。然而,得到讓很多CA都妥協(xié)(幾乎不可能是滿意)的策略映射方案的難度是可想而知的。阻力不僅來(lái)源于兼容已經(jīng)頒發(fā)證書等技術(shù)問(wèn)題,更來(lái)自證書定價(jià)等經(jīng)濟(jì)問(wèn)題。
基于列表的互信互認(rèn)技術(shù)通過(guò)公布CA的列表來(lái)表明列表中CA頒發(fā)的證書可以實(shí)現(xiàn)互信互認(rèn)。除了公布CA名稱等自然信息外,還可以公布CA的公鑰證書,以便用戶對(duì)CA的數(shù)字簽名進(jìn)行驗(yàn)證。
工業(yè)和信息化部在其網(wǎng)站上公布的獲得《電子認(rèn)證服務(wù)許可證》CA的名單就是一種列表。國(guó)家密碼管理局在其網(wǎng)站上公布的獲得《電子認(rèn)證服務(wù)使用密碼許可證》的CA(也即電子認(rèn)證服務(wù)使用密碼許可單位)名單也可以被看作是一種列表。微軟公司的根證書計(jì)劃(Root Certificate Program)同樣是一種列表,進(jìn)入該列表的CA所頒發(fā)的證書能夠在IE瀏覽器上被正確的識(shí)別出來(lái)。工信部和國(guó)密局的列表沒(méi)有給出CA的公鑰證書,而微軟卻將進(jìn)入根證書計(jì)劃CA的公鑰證書嵌入在IE瀏覽器中(如圖5所示)。
基于列表技術(shù)的優(yōu)點(diǎn)在于實(shí)現(xiàn)簡(jiǎn)單、方便,證書的依賴方和應(yīng)用系統(tǒng)都不用進(jìn)行太多的改動(dòng)就可以兼容列表方式?;诹斜砑夹g(shù)的缺點(diǎn)是相對(duì)簡(jiǎn)單,對(duì)用戶的客戶端應(yīng)用程序要求較高。為了實(shí)現(xiàn)某種功能,大致是需要一些工作的。如果CA和應(yīng)用系統(tǒng)要做的工作少,那么用戶的應(yīng)用程序要做的工作就會(huì)稍微多一些。
圖5 IE瀏覽器中嵌入的根證書列表
這里通過(guò)一張表格將上面敘述的四種證書互信互認(rèn)技術(shù)進(jìn)行對(duì)比(參見(jiàn)表2),以便能夠更加清楚地看到四種技術(shù)的優(yōu)點(diǎn)和缺點(diǎn)。
表2 四種互信互認(rèn)技術(shù)比較
續(xù)表
對(duì)于CA來(lái)講,雖然從表面上和短期來(lái)看,數(shù)字證書互信互認(rèn)會(huì)讓用戶手中的證書減少,進(jìn)而減少CA能夠發(fā)放證書的數(shù)量,也即減少了CA的利潤(rùn)。但是,如果我們從宏觀和全局的角度上來(lái)看就會(huì)發(fā)現(xiàn):目前數(shù)字證書這種身份方式的應(yīng)用面還未全面滲透入人們生活的方方面面。為什么?易用性差和用戶體驗(yàn)差是兩個(gè)主要的原因。而數(shù)字證書的互信互認(rèn)一定會(huì)推動(dòng)數(shù)字證書這種身份認(rèn)證方式的易用性并大大改進(jìn)用戶體驗(yàn),從而反過(guò)來(lái)推動(dòng)數(shù)字證書的應(yīng)用推廣,進(jìn)而增加CA的利潤(rùn)。
從對(duì)四種互認(rèn)技術(shù)的比較中,我們可以看出,目前我國(guó)CA的技術(shù)水平比較適合采用基于列表的證書互信互認(rèn)技術(shù)。綜上所述,筆者認(rèn)為在證書互信互認(rèn)方面應(yīng)該采取基于列表的證書互信互認(rèn)策略,并增強(qiáng)在證書驗(yàn)證及證書鏈部署等方面的相關(guān)技術(shù)支持。
[1] http://xxaqs.miit.gov.cn/n11293472/n11505629/n11506629/n119 67886/n11967946/12432542.html.
[2] http://xxaqs.miit.gov.cn/n11293472/n11295344/n11296947/1471 8564.html.
網(wǎng)絡(luò)安全技術(shù)與應(yīng)用2012年9期