摘要:論述了基于瀏覽器方式的數(shù)字圖書館信息系統(tǒng),在安全方面采用了身份識別驗證與數(shù)字簽名技術、多層次的權限控制技術、工作流程安全機制等安全技術,并盡最大可能利用網(wǎng)絡環(huán)境、操作系統(tǒng)以及數(shù)字圖書館服務器本身的安全機制,將非法訪問和數(shù)據(jù)的篡改降到最低的限度,以保障數(shù)字圖書館的數(shù)據(jù)安全,系統(tǒng)的安全是可以信賴的。
關鍵詞:圖書館;數(shù)據(jù)安全;安全驗證;工作流
中圖分類號:TP309文獻標識碼:A文章編號:1009-3044(2009)04-0804-03
Research and Implementation of Network and Data Security for Digital Library
HE Jun-jie
(Netcenter of Ningbo University, Ningbo 315211, China)
Abstract: This article discusses the security technology in Digital Library system which based on the browser.First it introduces basic security concepts in general,then describes the public key infrastructure. Following that,it discusses how Digital Library supports secure lnternet protocols.The paper adopts identity certification hierarchies,numeric idiograph,certificate authority and security technique of workflow.And it makes the most of using the environment of network,operating system and the security mechanism for Digital Library server.The security mechanism have to be satisfied when accessing and updating the data.
Key words: digital library; security of data; security validate; workflow
1 概述
隨著以網(wǎng)絡為核心的高新技術突飛猛進的發(fā)展,信息傳播的方式發(fā)生了重大的變革,作為文獻信息中心的圖書館也基本具備了采訪、編目、書刊流通、公共查詢和讀者咨詢服務等主要功能的計算機網(wǎng)絡管理,逐步實現(xiàn)了自動化、網(wǎng)絡化、數(shù)字化的操作和管理,在由傳統(tǒng)圖書館逐步向數(shù)字圖書館轉變。在數(shù)字圖書館的建設過程中,網(wǎng)絡安全問題會顯得越來越突出,數(shù)據(jù)資源的共享與網(wǎng)絡安全兩者之間的矛盾也將會越來越突出。保障數(shù)字圖書館網(wǎng)絡系統(tǒng)的安全和正常運行,在其現(xiàn)代化的管理中具有非常重要的地位。
2 數(shù)字圖書館網(wǎng)絡與數(shù)據(jù)安全面臨的主要問題
凡事預則立,不預則廢。做好數(shù)字圖書館網(wǎng)絡安全管理的前提是對網(wǎng)絡安全威脅和存在的問題有充分的認識和預見性。數(shù)字圖書館在帶來各種便利的同時,也帶來很多新的安全問題,如黑客攻擊、病毒爆發(fā)、非法用戶入侵等。另外,數(shù)字圖書館網(wǎng)絡中存在不安全因素,包括:非法登陸、竊取信息、安全漏洞、內(nèi)部的攻擊、病毒的侵害、非法使用網(wǎng)絡、來自外來計算機和電子郵件的破壞等。
3 構建數(shù)字圖書館網(wǎng)絡安全體系的基本原則
網(wǎng)絡安全是指網(wǎng)絡系統(tǒng)的各個組成部分不因偶然或惡意的原因而遭到破壞、篡改和泄露,網(wǎng)絡系統(tǒng)正??煽窟\行、網(wǎng)絡服務持續(xù)不中斷。它包括物理安全、軟件安全、數(shù)據(jù)安全和運行安全, 如圖l所示。物理安全是指整個圖書館網(wǎng)絡系統(tǒng)中硬件設備的安全;軟件安全是指網(wǎng)絡平臺及應用程序的安全;數(shù)據(jù)安全是指數(shù)據(jù)存儲和傳輸?shù)陌踩?,包括?shù)據(jù)的完整性、可用性、可靠性;運行安全是指整個圖書館網(wǎng)絡系統(tǒng)各部分都能正常運行。圖書館網(wǎng)絡安全體系的構建就是以物理安全、軟件安全、數(shù)據(jù)安全為內(nèi)容,在保證數(shù)據(jù)安全的前提下,為讀者提供優(yōu)質(zhì)的網(wǎng)絡信息服務,同時必須充分考慮安全體系的經(jīng)濟性。
3.1 數(shù)據(jù)安全
圖書館數(shù)據(jù)庫中存儲數(shù)據(jù)或信息是其賴以存在的物質(zhì)基礎。如圖書管理系統(tǒng)中的流通數(shù)據(jù)庫,包括讀者借閱信息、讀者個人信息,一旦發(fā)生數(shù)據(jù)丟失或損壞,必將會影響圖書館流通工作的正常開展;電子閱覽室管理系統(tǒng)數(shù)據(jù)庫中同樣也存儲著讀者存款信息、上機信息、計費信息,這些數(shù)據(jù)的丟失或損壞必將會給讀者和圖書館造成損失。因此,構建數(shù)字圖書館網(wǎng)絡安全體系的首要原則就是維護數(shù)據(jù)的安全。
3.2 服務質(zhì)量
網(wǎng)絡安全不能以犧牲服務質(zhì)量為代價, 在注重網(wǎng)絡安全的同時必須保持優(yōu)質(zhì)的網(wǎng)絡信息服務。在網(wǎng)絡受到攻擊或遇到其它意外情況時, 輕易切斷網(wǎng)絡或停止部分功能以保障網(wǎng)絡安全的做法是不可取的。在信息膨脹、節(jié)奏加快的現(xiàn)代社會,服務意味著承諾與信譽。必須保證網(wǎng)絡的強壯性,即使遭受攻擊,也能在最短的時間內(nèi)恢復服務。
3.3 經(jīng)濟性
關鍵的網(wǎng)絡設備與安全軟件比較昂貴, 在使用中并非多多益善, 否則將超出經(jīng)費預算, 給圖書館其它工作的正常運行帶來影響。對數(shù)字圖書館而言,經(jīng)濟性是選用網(wǎng)絡安全方案的一個重要參考因素??梢圆捎脙?yōu)化的網(wǎng)絡安全策略,最大限度地發(fā)揮網(wǎng)絡各部分安全措施的功效,達到立體防御的效果。
4 數(shù)字圖書館數(shù)據(jù)安全的實現(xiàn)
4.1 采用.NET技術的數(shù)據(jù)安全保障功能
微軟所開發(fā)的.NET技術是完全基于XML數(shù)據(jù)交換的革命性平臺。微軟這一平臺的設計意圖十分明確,就是要把網(wǎng)上所有可用資源通過統(tǒng)一的數(shù)據(jù)格式整合為一個解決方案。這個設計意圖使得.NET技術在對數(shù)字圖書館數(shù)據(jù)的處理方面有著很好的優(yōu)勢。.NET提供了多種符合W3C標準的命名空間和類來實現(xiàn)數(shù)據(jù)加密、數(shù)字簽名和XKMS服務的功能。利用.NET所提供的安全功能可以有效的在數(shù)字圖書館信息系統(tǒng)中保護數(shù)據(jù)的安全。
4.2 數(shù)據(jù)加密功能
數(shù)字圖書館框架中,有三個命名空間涉及到數(shù)據(jù)的加密:
1) System.Security.Cryptography
這是一個提供密碼服務的命名空間,在這個加密命名空間中有支持多種加密算法的類。密碼服務程序類的列表如表1所示。
2) System.Security.Cryptography.X5O9Certificates
包含了W3C規(guī)范中.X509證書檢索等的有關功能。
3) System.Security.Cryptography.Xml
應用在.NET框架下的特有的數(shù)據(jù)加密安全系統(tǒng),可對數(shù)字圖書館流程信息文檔部分或全部內(nèi)容進行加密。
上述的三個命名空間使得數(shù)據(jù)加密功能在使用的方便性方面有了很大的提高,這也是.NET在實現(xiàn)數(shù)據(jù)安全方面的優(yōu)勢。例如在數(shù)字圖書館信息系統(tǒng)中需要對XML的數(shù)據(jù)進行加密,可以通過例程1實現(xiàn)(例程1以.NET中的C#語言編寫)。
例程1:加密XML數(shù)據(jù)
using System.Xml;
using System.Security.Cryptography;//引用加密算法的命名空間
RSACryptoServiceProvider crypt=new RSACryptoServiceProvider();
//創(chuàng)建加密算法類的實現(xiàn)對象
System.Text.UTF8Encoding enc=new System.Text.UTF8Encoding();
//把數(shù)據(jù)字符串轉換為字節(jié)數(shù)組
Byte[]bytes=enc.GetBytes(“數(shù)字圖書館信息系統(tǒng)中的XML數(shù)據(jù)”);
Bytes=Crypt.Encrypt(bytes,1);//)加密XML數(shù)據(jù)
在上述例程中直接使用了.NET在System.Security.Cryptography命名空間中所提供的加密算法類RSACryptoServiceProvider來加密XMI 數(shù)據(jù),即快捷又安全。
4.3 數(shù)字簽名功能
數(shù)字圖書館還采用了.NET框架在System.Security.Cryptography.Xml命名空間中對數(shù)字簽名所需的全方位支持。在System.Security.Cryptography.Xml命名空間中可直接創(chuàng)建
例程2:數(shù)字圖書館文檔的簽名處理
using System.Xml;
using System.Security.Cryptography;
using System.Security.Cryptography.Xml;//引用加密算法的命名空間
SignedXml SignedXml=new SignedXml();//創(chuàng)建XML簽名
Reference reference=new Reference();//指定要簽名的數(shù)字圖書館文檔
Reference.Uri=@ “file://”+“@數(shù)字圖書館文檔”;
SignedXm1.AddReference(reference):
RSA crypt=RSA.Create();//使用RSA算法進行加密
SignedXm1.SigningKey=crypt;//生成RSA簽名的密鑰信息
Keylnfo keylnfo= new Keylnfo();
RSAKeyValue rsaKey=new RSAKeyValue(crypt);
KeyInfo.AddClause(rsaKey);
SignedXm1.Keylnfo=keyinfo;
SignedXm1.ComputeSignature();//正式簽名
XmlElement xmlSignature=signedXm1.GetXml();//把簽名放入XML文檔
XmlDocument doc=new XmlDocument();
在上述例程中使用了.NET的XML數(shù)字簽名類創(chuàng)建了一個獨立的數(shù)字圖書館文檔的數(shù)字簽名。
4.4 數(shù)字圖書館密鑰管理規(guī)范服務(XKMS)
在.NET框架下,XML密鑰管理規(guī)范服務是以Web服務的形式實現(xiàn)的,它允許客戶端應用程序訪問PKI服務,但客戶端應用程序不需要關心底層PKI的語法,從而減少客戶機應用程序的復雜性。XKMS服務幫助數(shù)字圖書館輕松地將網(wǎng)絡安全措施(如數(shù)據(jù)加密和數(shù)字簽字)和圖書館信息系統(tǒng)的應用結合起來。XML安全標準措施是建基于XKMS服務所提供的網(wǎng)絡交易中的信任關系上,XKMS服務是實現(xiàn)XML數(shù)字加密和簽名服務的媒介。
4.4.1 創(chuàng)建XKMS服務
數(shù)字圖書館使用Web服務描述語言(WSDL)來定義Web服務,WSDL定義了用于與服務通訊的SOAP消息和XML類型,而使用WSDL創(chuàng)建XKMS服務分兩個步驟:
1) 用WSDL創(chuàng)建XKMS對象模型。WSDI 實用工具可創(chuàng)建一個適當類型的字段,該字段的名稱與XML元素或?qū)傩缘拿Q對應,這些類型直接映射為.NET公共語言運行庫(CLR)類型。利用這些字段構建出XKMS對象模型。
例程3:構建XKMS的對象模型
public class Keylnfo{
[System.Xm1.Serialization.XmlElementAttribute(“KeyName”,typeof(string))]
[System.Xm1.Serialization.XmlElementAttribute(“KeyValue”,typeof(KeyValue))]
[System.Xm1.Serialization.XmlElementAttribute(“RetrievalMethod”,typeofRetrievalMethod))]
[System.Xml.Serialization.XmlElementAttribute(“XS09Data”,typeof(X509Data))]
[System.Xml.Serialization.XmlElementAttribute(“PGPData”,typeof(PGPData))]
[System.Xml.Serialization.XmlElementAttribute(“SPKIData”,typeof(string))]
[System.Xml.Serialization.XmlElementAttribute(“MgmtData”,typeof(string))]
[System.Xml.Serialization.XmlChoiceIdentifierAttribute(“ItemsElementName”)]
public object[]Items;
[System.Xml.Serialization.XmlElementAttribute(“ItemsElementName”)]
[System.Xml.Serialization.XmlIgnoreAttribute()]
public ItemsChoiceType2[]ItemsElementName;
[System. Xml.Serialization.XmlAnyElementAttribute()]
public XmlElement[]Any;
[System. Xml.Serialization.XmlAttributeAttribute(DataType=“ID”)]
public string Id;}
2) 用WSDL實用工具生成的原型代碼可以使XKMS服務得以實現(xiàn)。這些原型代碼可以控制Web服務名稱、XML命名空間和參數(shù)序列化的屬性,以該代碼創(chuàng)建一個XKMS服務實現(xiàn)非常簡單。只需把KeyService類定義和相關聯(lián)的屬性復制到一個ASMX文件并添加必需的Web服務聲明:< @WebService Language=“C#”class=“XKMS.KeyService” >。另外還需把KeyService類放置在命名空間‘XKMS’中,這有助于清楚‘KeyService’的用途。
4.4.2 構建XKMS客戶端
有了用于XKMS服務,構建客戶端應用程序很簡單。XKMS服務包含了客戶端服務需要的方法以及使用那些方法所需要的所有類型。構建KXMS客戶端包括:
1) 使用服務注冊RSA公鑰值
2) 根據(jù)KeyName值查找RSA公鑰
3) 根據(jù)KeyID或KeyName值驗證RSA公鑰
通過客戶端應用程序交互式地收集任何所需的輸人,用戶可以執(zhí)行一系列這些操作,調(diào)用XKMS服務。
4.4.3 數(shù)字圖書館的安全機制
大部分的數(shù)字圖書館信息系統(tǒng)是分布式應用程序環(huán)境,分布式協(xié)作存在巨大的安全隱患。所以現(xiàn)在除了采用XML加密、XML數(shù)字簽名和XKMS等方法來解決數(shù)據(jù)一級的安全保障外,還提供了一個可伸縮的、由權限驅(qū)動的安全機制來保障應用程序的安全。這種程序級的安全機制進一步加強了XML數(shù)據(jù)的安全,適合在物流信息系統(tǒng)中廣泛應用。
1) 程序訪問安全性
為確保應用程序的安全,需要限制授予程序的權限。當調(diào)用受保護的資源或操作時,.NET要求程序有一個確定的權限。除檢查程序的權限外,也可以為程序請求必要的運行權限以實現(xiàn)具伸縮性的安全機制。
2) 角色安全性
在.NET運行時(runtime)系統(tǒng)里,每一個正在執(zhí)行的線程都有一個身份叫管理員,這是安全環(huán)境的一部分。管理員執(zhí)行基于角色的檢查,對每一個要求連編的線程進行對象角色的檢查以確定線程的合法性。
5 結論
綜上所述,結合本市數(shù)字圖書館網(wǎng)絡安全體系的實踐,我們認識到,由于數(shù)字圖書館的最終目標是建設圖書訂閱自動化、面向統(tǒng)籌管理、面向公眾服務的資源共享的綜合信息系統(tǒng),系統(tǒng)的復雜性和特殊性便決定了其安全問題的多層次性、重要性和迫切性。
網(wǎng)絡安全管理應技術措施和管理措施并重,建立數(shù)字圖書館安全體系,應從物理安全、網(wǎng)絡安全、數(shù)據(jù)安全、應用系統(tǒng)安全、安全制度建設、安全教育培訓等多方面進行全面規(guī)劃和周密部署。另外,在構建數(shù)字圖書館安全體系的同時,還需要注意結合本市數(shù)字圖書系統(tǒng)實際進行設計,安全思路清晰、安全體系全面、安全重點突出等相關問題,使網(wǎng)絡和數(shù)據(jù)安全建設即符合現(xiàn)代化圖書管理工作的需要,又符合公共服務部門相關的安全保密要求。
參考文獻:
[1] 韋文輝.淺議圖書館網(wǎng)絡信息安全體系的構建[J].中國現(xiàn)代教育裝備,2006(7):48-50.
[2] 陳火旺.網(wǎng)絡與信息安全[J].湖南:中南大學出版社,2005.
[3] 郭建峰.網(wǎng)絡環(huán)境下數(shù)字圖書館安全體系探析[J].高校圖書情報論壇,2005(4).
[4] 李毅騁.網(wǎng)絡系統(tǒng)與服務[M].北京:清華大學出版社,2001.