吳 穎 劉 凡
(武漢職業(yè)技術(shù)學(xué)院藝術(shù)設(shè)計(jì)學(xué)院,湖北武漢 430074)
在現(xiàn)實(shí)生活中,經(jīng)常需要驗(yàn)證各種憑據(jù),從文憑、工商注冊(cè)、車輛記錄到設(shè)備、藥品目錄等。人們關(guān)心的主要問題是憑據(jù)的真實(shí)性,即是否由權(quán)威機(jī)構(gòu)發(fā)放;其次需要方便快捷的檢索,如果相關(guān)機(jī)構(gòu)在Internet上公布這些憑據(jù),還可以很方便的通過瀏覽器檢索?,F(xiàn)有一些憑據(jù)管理與檢索系統(tǒng)一般是基于關(guān)系數(shù)據(jù)庫(kù),實(shí)際使用起來(lái)受到很多限制,如:分級(jí)管理難于實(shí)現(xiàn),無(wú)法自然反映組織機(jī)構(gòu)內(nèi)在的層次結(jié)構(gòu);安全性實(shí)現(xiàn)起來(lái)比較復(fù)雜,也沒有一個(gè)通行的安全標(biāo)準(zhǔn);數(shù)據(jù)缺乏統(tǒng)一的、系統(tǒng)的表示,使兼容性和擴(kuò)展性受到限制等。因此,需要尋求一種更安全、高效、便捷的管理和檢索方法。
近幾年,電子商務(wù)發(fā)展很快,隨之產(chǎn)生的很多技術(shù)也可以推廣應(yīng)用到其他領(lǐng)域,如數(shù)據(jù)安全技術(shù)。很顯然,可以用數(shù)字證書來(lái)表示現(xiàn)實(shí)中的各類憑據(jù),由數(shù)字證書提供所需要的真實(shí)性、可驗(yàn)證性、完整性;而且對(duì)于數(shù)字證書,可以用X.500目錄服務(wù)管理,用LDAP協(xié)議檢索,用XML表示檢索結(jié)果等。在此思路下,本文試分析這類基于目錄的數(shù)字證書檢索系統(tǒng)的關(guān)鍵技術(shù)及實(shí)現(xiàn)方案。
Internet上的安全解決方案廣泛采用PKI(公開密鑰基礎(chǔ)設(shè)施)體系,PKI體系采用數(shù)字證書管理公鑰,利用證書機(jī)制較好地解決了公鑰系統(tǒng)的密鑰管理問題,保證網(wǎng)上數(shù)據(jù)的真實(shí)性、完整性、機(jī)密性。X.509是已經(jīng)實(shí)施的PKI系統(tǒng),SET協(xié)議采用第3版的X.509標(biāo)準(zhǔn)。
數(shù)字證書是各類實(shí)體(個(gè)人/持卡人、商戶/企業(yè)、網(wǎng)關(guān)/銀行等)在網(wǎng)上進(jìn)行信息交流及商務(wù)活動(dòng)的身份證明,在相互通信的各個(gè)環(huán)節(jié),通信雙方都需驗(yàn)證對(duì)方證書的有效性,從而解決相互間的信任問題,數(shù)字證書具有權(quán)威性和唯一性。簡(jiǎn)單地說,數(shù)字證書是一段包含用戶身份信息、用戶公鑰信息以及身份驗(yàn)證機(jī)構(gòu)數(shù)字簽名的數(shù)據(jù),身份驗(yàn)證機(jī)構(gòu)CA的數(shù)字簽名可以確保證書信息的真實(shí)性。
證書依據(jù)所包含的信息分為兩種,一種是類似身份證書,提供了認(rèn)證、數(shù)據(jù)完整性和保密性,電子商務(wù)中最常提及的是此類證書;另一種是憑據(jù)證書,是包含了實(shí)體屬性的證書,一個(gè)主體可有多個(gè)憑據(jù)證書。數(shù)字證書格式及內(nèi)容遵循X.509國(guó)際標(biāo)準(zhǔn)。
使用證書機(jī)制的前提是建立CA中心(Certification Authority-數(shù)字證書認(rèn)證中心)。CA中心作為電子商務(wù)交易中權(quán)威的、公正的、可信賴的第三方,其作用至關(guān)重要。CA的主要功能是證書發(fā)放、證書更新、證書撤銷和證書驗(yàn)證等。CA中心為每個(gè)使用公開密鑰的用戶發(fā)放一個(gè)數(shù)字證書,數(shù)字證書的作用是證明證書中列出的用戶名稱與證書中列出的公開密鑰相對(duì)應(yīng),CA中心對(duì)證書做的數(shù)字簽名使得攻擊者不能偽造和篡改數(shù)字證書。各級(jí)CA認(rèn)證機(jī)構(gòu)的存在組成一條信任鏈,通過這條 “簽字鏈”來(lái)驗(yàn)證證書的有效性?;贑A牢固的安全機(jī)制,CA應(yīng)用可擴(kuò)大到一切有安全要求的網(wǎng)絡(luò)服務(wù)。
CA認(rèn)證中心主要由以下部分組成:
(1)證書申請(qǐng)受理和審核機(jī)構(gòu):負(fù)責(zé)證書的申請(qǐng)和審核。
(2)注冊(cè)服務(wù)器:接受用戶網(wǎng)上申請(qǐng)的 Web站點(diǎn)。
(3)認(rèn)證中心服務(wù)器:提供證書的生成、發(fā)放、管理、證書廢止列表(CRL)的生成和處理等服務(wù)。
(4)證書庫(kù):存放CA已簽發(fā)證書和已撤銷證書列表,通過目錄技術(shù)提供服務(wù)。
目錄是網(wǎng)絡(luò)中的資源清單,是一種特殊的數(shù)據(jù)庫(kù),提供以目錄檢索為主要服務(wù)的服務(wù)器稱為目錄服務(wù)器,X.500是目錄服務(wù)的國(guó)際標(biāo)準(zhǔn)。與關(guān)系型數(shù)據(jù)庫(kù)相比,目錄數(shù)據(jù)庫(kù)有以下幾個(gè)的特性:
(1)分布性,即保證目錄信息總體結(jié)構(gòu)的一致,又可滿足分級(jí)管理的需要。
(2)檢索功能強(qiáng)大,增、刪、改等數(shù)據(jù)庫(kù)更新功能則較弱。
(3)簡(jiǎn)化數(shù)據(jù)操作,無(wú)事務(wù)處理和完整性約束,數(shù)據(jù)更新較少時(shí)很有性能優(yōu)勢(shì)。
(4)X.500定義的Search操作取代SQL查詢接口,提供靈活的可擴(kuò)充的查詢。
(5)X.500規(guī)定了總體命名方式,各種類型的對(duì)象的名字結(jié)構(gòu)都是相同的。
目錄服務(wù)的應(yīng)用領(lǐng)域集中于以檢索而非以更新為主的數(shù)據(jù)庫(kù)服務(wù),如黃頁(yè)檢索、白頁(yè)檢索、E-mail地址檢索等,這些數(shù)據(jù)在物理上是分布的、在邏輯上是集中的。安全系統(tǒng)中的目錄服務(wù)可用于存放和管理用戶公鑰。
基于TCP/IP的LDAP協(xié)議是Internet上目錄服務(wù)的通用訪問協(xié)議,在X.509公鑰體系中,建議CA提供的服務(wù)都基于LDAP。證書庫(kù)的訪問很適合使用LDAP,如從證書庫(kù)中檢索交易對(duì)象的證書、驗(yàn)證證書的真?zhèn)巍⒒虿樵冏C書的狀態(tài)。目前主流PKI廠商都支持LDAP協(xié)議。
系統(tǒng)級(jí)目錄服務(wù)主要有Novell的NDS與Microsoft的ADS,都符合LDAP標(biāo)準(zhǔn)。ADS公布了目錄服務(wù)開發(fā)程序接口(ADSI),使第三方可在ADS等各種LDAP目錄服務(wù)上開發(fā)應(yīng)用,IIS中還內(nèi)置了一個(gè)證書服務(wù)器。NDS?最早達(dá)到LDAP V3標(biāo)準(zhǔn),能處理10億個(gè)以上對(duì)象,做到跨平臺(tái)系統(tǒng)級(jí)核心集成,NDS也支持ADSI。
XML(Extensible Markup Language)語(yǔ)言是對(duì)HTML的擴(kuò)展,XML提供在應(yīng)用程序和系統(tǒng)之間傳輸和交換結(jié)構(gòu)化數(shù)據(jù)的方法。它的另一突出優(yōu)點(diǎn)是將數(shù)據(jù)和表示(XSL)分開,同樣的數(shù)據(jù)集根據(jù)XSL定義的不同樣式顯示。XML具有開放的互操作性,可作為Internet應(yīng)用尤其是電子商務(wù)的主要數(shù)據(jù)存儲(chǔ)和傳輸機(jī)制。
目錄服務(wù)方面,IBM、Microsoft、Netscape、Novell等廠商已就目錄服務(wù)標(biāo)記語(yǔ)言(Directory Service Markup Language)達(dá)成了一致,目錄服務(wù)標(biāo)記語(yǔ)言是XML的一種擴(kuò)展,它建立一種目錄之間相互告訴對(duì)方自己保存數(shù)據(jù)的標(biāo)準(zhǔn)方式。
綜合運(yùn)用上述技術(shù),實(shí)現(xiàn)一個(gè)數(shù)字證書查詢系統(tǒng)并不困難。
根據(jù)實(shí)際應(yīng)用的情況設(shè)計(jì)證書管理結(jié)構(gòu),形成合適的證書有效性驗(yàn)證路徑。以高教文憑檢索為例來(lái)說明,可以參照現(xiàn)實(shí)系統(tǒng)運(yùn)行機(jī)制,建立三級(jí)CA結(jié)構(gòu),如圖1所示。根CA是國(guó)家教育部,第二級(jí)CA(地理策略CA-GCA)是省級(jí)教育廳局,最下面一級(jí)是高校。具體證書(文憑)的發(fā)放由最底層的高校CA直接進(jìn)行,而注冊(cè)審批主要由第二級(jí)CA來(lái)完成。
圖1 CA層次結(jié)構(gòu)圖
最終實(shí)體的證書遵循X.509.3證書的標(biāo)準(zhǔn)格式,相關(guān)數(shù)據(jù)和現(xiàn)實(shí)情況保持一致,例如文憑,相應(yīng)的數(shù)字證書也包括姓名、學(xué)號(hào)、專業(yè)等信息,不同的是學(xué)校蓋章在數(shù)字證書中用CA的簽名替代了。
X.509證書基本數(shù)據(jù)區(qū)定義如圖2所示,其中:版本字段用于識(shí)別證書格式,總是用3,表示第3版;緊接是由發(fā)證CA指定的唯一序列號(hào);接下來(lái)的字段標(biāo)識(shí)了用來(lái)對(duì)證書簽名的算法及算法所需的參數(shù);發(fā)行者為CA的主體名稱;有效期是一對(duì)日期,證書在這段日期之內(nèi)有效;主體為實(shí)體的X.500名字;主體的公開密鑰信息包括算法名稱、需要的參數(shù)和公開密鑰;最后一個(gè)字段為CA的簽名。
圖2 證書基本數(shù)據(jù)區(qū)
最終實(shí)體證書的Issuer Name數(shù)據(jù)區(qū)和CA自身證書的Subject Name部分一致。這條證書鏈可一直追溯到根CA。
在指定有關(guān)算法和參數(shù)后,具體應(yīng)用中主要涉及的是Subject Name數(shù)據(jù)區(qū),以高教文憑為例,本數(shù)據(jù)區(qū)格式如圖3所示。
采用X.500標(biāo)準(zhǔn)的目錄數(shù)據(jù)庫(kù)作證書庫(kù)非常合適,目錄結(jié)構(gòu)是對(duì)現(xiàn)實(shí)中組織邏輯結(jié)構(gòu)的模擬。和CA的層次結(jié)構(gòu)類似,可以建立一棵相應(yīng)的目錄樹,樹根和根CA對(duì)應(yīng),實(shí)體的證書對(duì)應(yīng)葉子節(jié)點(diǎn)對(duì)象,在葉對(duì)象和根之間有由各級(jí)組織單元形成的一條路徑。
圖3 Subject Name數(shù)據(jù)區(qū)
系統(tǒng)級(jí)目錄服務(wù)可以選擇NDS或ADS平臺(tái),開發(fā)LDAP目錄服務(wù)應(yīng)用比較好的選擇是采用ADSI接口。
檢索系統(tǒng)采用基于瀏覽器的界面,建議使用SSL協(xié)議訪問。檢索結(jié)果的表示有兩種實(shí)現(xiàn)方式:
(1)模板技術(shù),檢索引擎是其中的核心,檢索引擎發(fā)出消息要求LDAP存取客戶從系統(tǒng)目錄數(shù)據(jù)庫(kù)取得數(shù)據(jù),然后通過模板按照一定的格式顯示LDAP存取客戶返回的數(shù)據(jù),再發(fā)送給Web服務(wù)器,最后顯示在客戶瀏覽器。
(2)XML技術(shù),使用上與模板技術(shù)類似,區(qū)別在于從LDAP存取客戶返回的是轉(zhuǎn)換為XML格式的數(shù)據(jù),檢索引擎簡(jiǎn)單的在XML數(shù)據(jù)上套用XSL就可以顯示。如果目錄數(shù)據(jù)庫(kù)用目錄服務(wù)標(biāo)記語(yǔ)言,那么LDAP存取客戶會(huì)變得極其簡(jiǎn)單。
檢索系統(tǒng)框架圖如圖4所示。
此外,系統(tǒng)提供在兩種數(shù)據(jù)庫(kù)模型間雙向轉(zhuǎn)換的工具,即X.500-RDMS轉(zhuǎn)換器。很多基本的管理操作用關(guān)系數(shù)據(jù)庫(kù)處理,處理完后通過轉(zhuǎn)換器轉(zhuǎn)入X.500數(shù)據(jù)庫(kù)中,這種目錄系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)的有機(jī)結(jié)合,可以在保持和現(xiàn)有系統(tǒng)兼容性的前提下將管理系統(tǒng)推向更深更廣。
圖4 檢索系統(tǒng)框架圖
本系統(tǒng)的設(shè)計(jì)中用到了目前Internet和電子商務(wù)中眾多熱門的技術(shù),這些技術(shù)可以推廣應(yīng)用到任何涉及身份驗(yàn)證和信任機(jī)制的領(lǐng)域,也從另一個(gè)側(cè)面說明數(shù)據(jù)安全技術(shù)是Internet時(shí)代的基礎(chǔ)技術(shù)。現(xiàn)實(shí)中,由于商業(yè)領(lǐng)域以外很少建立數(shù)字的“信用機(jī)制”,具體實(shí)施起來(lái)會(huì)有一些約束,但建立“數(shù)字信用”是Internet時(shí)代的一個(gè)必然趨勢(shì)。
目錄系統(tǒng)內(nèi)在的樹型結(jié)構(gòu)客觀上與現(xiàn)實(shí)中的組織結(jié)構(gòu)形式一致,容易在計(jì)算機(jī)系統(tǒng)中體現(xiàn)實(shí)際運(yùn)作的組織規(guī)則,方便地將組織與外界聯(lián)結(jié)在一起。目錄服務(wù)是系統(tǒng)級(jí)基礎(chǔ)軟件,也是現(xiàn)代信息安全網(wǎng)絡(luò)的基礎(chǔ)。正如曾任Novell CEO的埃里克·施密特所說:“目錄與身份是Internet上一個(gè)硬幣的兩面。”身份是網(wǎng)絡(luò)安全、基于政策的管理、控制用戶使用資源的基礎(chǔ)。目錄服務(wù)在Internet中的新作用是管理用戶身份,支持身份應(yīng)用軟件。借助目錄服務(wù),可以為基于用戶身份的Internet服務(wù)提供基礎(chǔ),將目錄和身份結(jié)合在一起,將成為Internet上計(jì)算的重要模式。
1 Bruce Schneier.應(yīng)用密碼學(xué):協(xié)議,算法和C源程序[M].北京:機(jī)械工業(yè)出版社,1999.
2 盧開澄.計(jì)算機(jī)密碼學(xué)[M].北京:清華大學(xué)出版社,1998.
3 梁晉.電子商務(wù)技術(shù)-安全電子交易的理論與設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版社,2000.
4 Novell公司.NDS開發(fā)指南[M].北京:電子工業(yè)出版社,1999.
5 Micro Modeling Associates公司.微軟電子商務(wù)解決方案[M].北京:人民郵電出版社,1999.
6 劉超.可視化對(duì)象建模技術(shù)[M].北京:航空航天大學(xué)出版社,1999.