〔摘 要〕隨著數(shù)字圖書館全方面網(wǎng)絡(luò)信息服務(wù)的提供,數(shù)字圖書館中數(shù)據(jù)的存儲和訪問安全變得越來越重要。數(shù)字圖書館中的元數(shù)據(jù)可以通過XML語言描述,XML作為數(shù)據(jù)交換的規(guī)范已經(jīng)在數(shù)字圖書館中進行了應(yīng)用。通過對XML數(shù)據(jù)安全進行分析,使用XML加密和數(shù)字簽名技術(shù)可以確保數(shù)字圖書館在互聯(lián)網(wǎng)應(yīng)用環(huán)境下的數(shù)據(jù)安全。
〔關(guān)鍵詞〕數(shù)字圖書館;數(shù)據(jù)安全;XML加密;數(shù)字簽名
〔中圖分類號〕G250.76 〔文獻標識碼〕C 〔文章編號〕1008-0821(2009)12-0082-03
Research of XML Data Security in Digital LibraryLi Junyan
(Institute of Scientific and Technical Information of Jilin Province,Changchun 130021,China)
〔Abstract〕Along with digital library entire aspect network information service providing,the data memory and visit in the digital library becomes more and more important.Meta data may descript through the XML language.The XML as data exchange standard has widespread application in the digital library.Through the analysis of the XML data security,the XML encryption and the digital signature technology may guarantee data security in the digital library under Internet application environment.
〔Keywords〕digital library;data security;XML encryption;digital signature
隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展和應(yīng)用,各種數(shù)據(jù)信息的存儲、表達和檢索等要求越來越高。伴隨著數(shù)據(jù)信息深層次處理要求的不斷提高,可擴展標記語言(Extensible Markup Language,XML)應(yīng)運而生。XML是一種基于SGML標準簡單靈活的語言,并得到了W3C(World Wide Web,聯(lián)合組織)的認可。XML解決了HTML的諸多問題,被認為是第二代因特網(wǎng)信息組織的格式標準。目前,XML技術(shù)已經(jīng)被業(yè)界廣泛的接受,并成為網(wǎng)絡(luò)應(yīng)用中事實上的數(shù)據(jù)表達和數(shù)據(jù)交換的標準,在Web服務(wù)、數(shù)字圖書館、以及電子商務(wù)中得到了應(yīng)用。
1 XML技術(shù)與數(shù)字圖書館
1.1 XML技術(shù)對數(shù)字圖書館的影響XML技術(shù)對數(shù)字圖書館的影響,有以下3個方面:(1)XML是一種對信息資源的結(jié)構(gòu)化描述,其功能用來規(guī)定數(shù)字化信息組織的數(shù)據(jù)結(jié)構(gòu)標準,因而可以描述各種類型的信息資源。XML與元數(shù)據(jù)的發(fā)展不可分割,利用XML可以生成各種用于不同目的元數(shù)據(jù)。XML允許用戶自定義標記集,實現(xiàn)個性化文獻定制,這些標記集能用超越標準HTML的元素類型表達特殊信息。從數(shù)字圖書館的角度來看,元數(shù)據(jù)是數(shù)字圖書館信息描述的方法,為數(shù)字化信息的發(fā)現(xiàn)、存儲、組織、共享和檢索奠定了基礎(chǔ)。利用XML可以生成各種用于不同目的的元數(shù)據(jù),如:導(dǎo)航圖、內(nèi)容評價、流路徑、定義和著者等,由此可見,用XML語法寫成的元數(shù)據(jù)將為數(shù)字圖書館建設(shè)做出很大貢獻。(2)XML有利于不同系統(tǒng)之間信息交換,能夠方便的將圖書館數(shù)字化建設(shè)中用到的各種數(shù)據(jù)庫系統(tǒng)之間的數(shù)據(jù)進行自動轉(zhuǎn)換。XML不僅支持字符集Unicode,而且支持開放性文本,因此,數(shù)據(jù)自我描述和獲取不同結(jié)構(gòu)數(shù)據(jù)的操作非常方便。XML數(shù)據(jù)方便信息的獲取和利用,便于各種數(shù)字資源的整合。(3)XML使Web信息發(fā)布方式發(fā)生了變化。XML的良構(gòu)性和可擴展性使得對Web結(jié)構(gòu)化信息管理成為可能,使得圖書館參與網(wǎng)絡(luò)信息資源組織和整理的環(huán)境更為有利。XML對圖書館館藏信息資源的描述和發(fā)布產(chǎn)生的影響將改變圖書館基于MARC格式的書目數(shù)據(jù)形式。MARC格式提供了對不同文獻對象進行著錄的統(tǒng)一標準,但該標準卻阻礙了圖書館書目數(shù)據(jù)資源融入網(wǎng)絡(luò)信息資源,參與網(wǎng)絡(luò)信息流通,通過XML技術(shù)可以有效的解決這一問題。
1.2 數(shù)字圖書館的數(shù)據(jù)安全隨著數(shù)字圖書館建設(shè)的步伐加快,圖書館開展了全方位的網(wǎng)絡(luò)信息服務(wù)。由于以Internet為基礎(chǔ)設(shè)施的網(wǎng)絡(luò)系統(tǒng)本身存在的安全隱患,加之圖書館網(wǎng)絡(luò)系統(tǒng)的開放性、復(fù)雜性和用戶的多樣性,使得圖書館網(wǎng)絡(luò)系統(tǒng)極易受到黑客的攻擊、病毒的侵襲和合法用戶的誤操作等。數(shù)字圖書館系統(tǒng)的數(shù)據(jù)主要是元數(shù)據(jù)、對象數(shù)據(jù)和用戶數(shù)據(jù)等。這些數(shù)據(jù)所面臨的威脅主要有:數(shù)據(jù)泄露或丟失,非法竊取,修改或重發(fā),非授權(quán)用戶訪問等。數(shù)據(jù)的安全主要表現(xiàn)在:如何確保數(shù)據(jù)的機密性、完整性、可用性、可控性和可審查性等特征。確保數(shù)據(jù)安全的方法:依靠操作系統(tǒng)的訪問控制功能實現(xiàn),采用用戶身份認證來實現(xiàn),通過數(shù)據(jù)加密技術(shù)來實現(xiàn)等。目前,在數(shù)字圖書館中元數(shù)據(jù)大都可以通過XML語言來描述,而且在數(shù)字圖書館資源使用過程中多數(shù)都以XML文檔作為數(shù)據(jù)對象在服務(wù)器和瀏覽器之間傳輸,XML是Internet交換數(shù)據(jù)事實標準。因此,只有解決了XML數(shù)據(jù)的安全問題,XML才能得到更廣泛的應(yīng)用,數(shù)字圖書館的數(shù)據(jù)安全才能有所保證。
2 XML數(shù)據(jù)安全標準
2.1 XML數(shù)據(jù)加密W3C的加密方案規(guī)定了把XML數(shù)據(jù)明文加密產(chǎn)生密文以及對密文解密恢復(fù)XML數(shù)據(jù)明文的過程。XML加密包括加密語法和處理規(guī)則兩部分,前者描述加密數(shù)據(jù)的表示形式,后者描述加密的處理過程。XML數(shù)據(jù)加密根據(jù)加密粒度可分為:加密XML文檔,加密XML元素,加密XML元素內(nèi)容。XML數(shù)據(jù)加密的過程:將XML文檔轉(zhuǎn)換成為一個DOM(Document Object Model,文檔對象模型)對象,標記要加密的內(nèi)容并記錄其位置,加密相關(guān)內(nèi)容,將加密內(nèi)容封裝成標準的XML文擋。XML加密數(shù)據(jù)的一般格式如下:
2.2 XML簽名規(guī)范當對XML數(shù)據(jù)進行交換和訪問時,可能會出現(xiàn)數(shù)據(jù)的偽裝、篡改和抵賴等,數(shù)字簽名是確保數(shù)據(jù)安全的一種常用方法。XML簽名規(guī)范是W3C為了對敏感的數(shù)據(jù)通過會話密鑰或公、私密鑰進行加密而定義的數(shù)字簽名進程和XML文檔結(jié)構(gòu)的規(guī)則。XML簽名提供了靈活的數(shù)字簽名機制,不僅支持對網(wǎng)絡(luò)資源和消息整體的簽名,也支持對XML文檔或消息的部分進行簽名,既支持公鑰數(shù)字簽名,也支持對稱密鑰的密鑰散列驗證。XML數(shù)字簽名標準包括如何用XML和XML簽名命名空間來描述一個數(shù)字簽名。傳統(tǒng)的數(shù)字簽名技術(shù)其簽名對象是要簽署的文檔整體,不支持對文檔的部分簽名。而XML數(shù)字簽名標準充分利用XML數(shù)據(jù)的強大表達能力和擴展能力,增強了XML數(shù)字簽名的靈活性和擴展性。XML簽名不僅可以對整個文檔進行簽名,而且還可以實現(xiàn)對文檔的特定部分進行簽名,并支持多重XML數(shù)字簽名。下面給出的是應(yīng)用XML簽名的示例:
...
...
Signature標識了整個XML數(shù)字簽名,它包含了4個關(guān)鍵子元素:(1)SignedInfo:是簽字信息元素,整個XML簽名中最重要的核心元素,XML數(shù)字簽名對整個簽字信息元素簽字,它包含與簽字相關(guān)的所有信息。(2)SignatureValue:容納Base64編碼的簽字值。(3)KeyInfo:包括用來驗證XML簽名的具體信息。(4)Object:包含XML簽名所需要的附加屬性。在XML簽名中,簽字元素(Signature)和數(shù)據(jù)對象的相對位置有3種:(1)封裝簽字:數(shù)據(jù)對象放在客體元素中,簽字元素就是數(shù)據(jù)對象的祖先元素。(2)被封裝簽字:簽字元素作為數(shù)據(jù)對象的子孫元素。(3)分離簽字:簽字元素與數(shù)據(jù)對象相分離。
2.3 XML密鑰管理規(guī)范W3C在2001年制定了XML密鑰管理規(guī)范(XML Key Management Specification,XKMS)。XML數(shù)據(jù)加密和數(shù)字簽名技術(shù)以公共密鑰基礎(chǔ)設(shè)施(Public Key Infrastructure,PKI)為基礎(chǔ)來實現(xiàn)加密、解密、簽名和驗證等操作。XKMS為訪問和集成PKI提出了解決方案。XKMS由VeriSign、微軟和webMethods共同制定,其主要功能包括:公鑰的登記、發(fā)布、撤銷、驗證、管理和查詢。XKMS以Web服務(wù)的形式實現(xiàn),允許客戶端應(yīng)用程序訪問PKI功能,從而減少客戶端應(yīng)用程序的復(fù)雜性。XKMS由XML密鑰信息服務(wù)規(guī)范(XML Key Information Service Specification,X-KISS)和XML密鑰登記服務(wù)規(guī)范(XML Key Registration Service Specification,X-KRSS)兩部分組成。X-KISS定義了一種可用于驗證互聯(lián)網(wǎng)上公鑰合法性的服務(wù)實現(xiàn)規(guī)范。使用X-KISS,應(yīng)用XML數(shù)據(jù)的用戶可通過互聯(lián)網(wǎng)委托可信的第三方處理有關(guān)簽名認證、數(shù)據(jù)加密等服務(wù),包括提供其它客戶的加密公鑰,驗證公鑰合法性等。X-KRSS定義了一種可通過互聯(lián)網(wǎng)接受公鑰登記、撤銷、恢復(fù)的服務(wù)規(guī)范。若一個XML應(yīng)用建立了一個密鑰對,則可通過X-KRSS協(xié)議將公鑰部分及其它有關(guān)本人身份的信息發(fā)給可信第三方登記。XML數(shù)據(jù)加密和解密的原理如下:(1)接收方生成兩個非對稱密鑰,一個是公鑰,一個是私鑰。(2)發(fā)送方獲取接收方的公鑰,生成一個對稱密鑰,用對稱密鑰加密XML數(shù)據(jù)。(3)發(fā)送方使用接收方的公鑰加密生成的對稱密鑰,然后將加密的XML數(shù)據(jù)、加密的對稱密鑰結(jié)合在一起,生成一個XML文檔發(fā)送給接收方。(4)接收方使用非對稱密碼算法和自己保管的私鑰來解密對稱密鑰,然后用解密的對稱密鑰來解密XML數(shù)據(jù)。XML加密和XML數(shù)字簽名是兩個既獨立又緊密相關(guān)的技術(shù)。XML加密確保數(shù)據(jù)的機密性,XML數(shù)字簽名確保數(shù)據(jù)的完整性和不可否認性。
3 結(jié)束語在數(shù)字圖書館中應(yīng)該確保數(shù)據(jù)存儲、訪問和交換的安全,XML數(shù)據(jù)作為數(shù)據(jù)交換的規(guī)范已經(jīng)在數(shù)字圖書館中有了廣泛的應(yīng)用,W3C制定的XML數(shù)據(jù)加密和數(shù)據(jù)簽名技術(shù)可以在一定程度上確保數(shù)據(jù)的安全。XML數(shù)據(jù)安全技術(shù)在電子商務(wù),WEB服務(wù)中也有應(yīng)用。采用合理的加密算法,根據(jù)XML數(shù)據(jù)的加密技術(shù)和數(shù)據(jù)簽名規(guī)范實現(xiàn)數(shù)字圖書館的數(shù)據(jù)安全在技術(shù)上是可行。隨著數(shù)字圖書館全方面網(wǎng)絡(luò)信息服務(wù)的提供,數(shù)據(jù)安全將在以后的應(yīng)用中彰顯它的重要性。將XML加密和簽名技術(shù)結(jié)合起來,可以確保數(shù)字圖書館在網(wǎng)絡(luò)環(huán)境下的數(shù)據(jù)安全。
參考文獻
[1]周艷.XML在圖書館中的應(yīng)用探討[J].情報科學(xué),2002,(3):279-280.
[2]嚴永松.XML技術(shù)在Web中的應(yīng)用[J].軟件導(dǎo)刊,2007,(4):56-57.
[3]Eastlake D.XML Encryption Syntax and Processing,W3C Recommendation[EB/OL].http:∥www.w3.org/TR/xmlenc-core,2002-12-10.
[4]Mark Bartel.XML Signature Syntax and Processing(Second Edition),W3C Recommendation[EB/OL].http:∥www.w3.org/TR/2008/REC-xmldsig-core-20080610,2008-06-10.
[5]王東波,張宏濤.數(shù)字圖書館數(shù)據(jù)安全技術(shù)的新進展及應(yīng)用研究[J].圖書館學(xué)研究,2008,(6):7-10.
[6]張宏.數(shù)字圖書館網(wǎng)絡(luò)系統(tǒng)與數(shù)據(jù)安全問題探討[J].江西教育學(xué)院學(xué)報,2008,(2):111-114.
[7]李芳,陳勇,呂向風.基于XML的網(wǎng)絡(luò)安全的研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2008,(3):19-20.
[8]虞歌.XML加密及其在電子公文中的應(yīng)用[J].計算機工程與設(shè)計,2007,(2):935-938.
[9]李軍.XML數(shù)據(jù)加密研究及應(yīng)用[J].河南師范大學(xué)學(xué)報:自然科學(xué)版,2008,(7):164-165,180.
[10]林學(xué)練,劉旭東,懷進鵬.XML數(shù)據(jù)安全系統(tǒng)的研究與實現(xiàn)[J].北京航空航天大學(xué)學(xué)報,2003,(4):362-365.
[11]楊文花,賀紅梅.高校數(shù)字圖書館的安全解決方案[J].河北軟件職業(yè)技術(shù)學(xué)院學(xué)報,2008,(9):78-80.