潘 登
[摘要]簡單介紹異構(gòu)數(shù)據(jù)庫平臺知識,從數(shù)字圖書館數(shù)據(jù)庫異構(gòu)的體系特征出發(fā),論述主要的安全技術(shù)及其在數(shù)字圖書館的應(yīng)用策略
[關(guān)鍵詞]異構(gòu)數(shù)據(jù)庫 數(shù)據(jù)庫安全 數(shù)字圖書館 異構(gòu)平臺檢索
中圖分類號:TP3文獻(xiàn)標(biāo)識碼:A文章編號:1671-7597(2009)0520066-02
近幾年,圖書館通過引進(jìn)和自建數(shù)據(jù)庫,已使電子資源的建設(shè)具有相當(dāng)規(guī)模,電子文獻(xiàn)在文獻(xiàn)服務(wù)中所占的比重也不斷增加。在繼續(xù)加強(qiáng)電子資源建設(shè)的同時(shí),圖書館開始更加關(guān)注電子資源的安全和管理工作,由于數(shù)字圖書館實(shí)際的應(yīng)用環(huán)境比較復(fù)雜,不同的數(shù)據(jù)庫可能分布在不同的地理位置上,比如有些是國內(nèi)的數(shù)字資源,有些是國外的全文期刊。他們使用著不同的數(shù)據(jù)組織形式和操作系統(tǒng)平臺,加上應(yīng)用不同所造成的數(shù)據(jù)不一致性問題。因此,在普通的應(yīng)用環(huán)境中很難將這些高度分布的數(shù)據(jù)集中起來充分利用。面對當(dāng)前信息資源和網(wǎng)絡(luò)環(huán)境的復(fù)雜性,要實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫的跨庫檢索,傳統(tǒng)的DBMS(數(shù)據(jù)庫管理系統(tǒng))已經(jīng)很難勝任。圖書館要整合的數(shù)據(jù)庫主要包括:書目數(shù)據(jù)庫(OPAC)、題錄/文摘數(shù)據(jù)庫、全文數(shù)據(jù)庫、電子期刊和電子圖書、相關(guān)的WEB網(wǎng)站等。這些數(shù)據(jù)庫分布在不同的服務(wù)器,成為各具不同特性的異構(gòu)數(shù)據(jù)庫。異構(gòu)數(shù)據(jù)庫系統(tǒng)平臺是整合已有的資源,將不同類型、不同結(jié)構(gòu)、不同環(huán)境、不同用法的各種異構(gòu)數(shù)據(jù)庫納入統(tǒng)一的檢索平臺,以便于用戶更方便,更高效地獲取
信息。
一、異構(gòu)數(shù)據(jù)庫系統(tǒng)的異構(gòu)特征
異構(gòu)數(shù)據(jù)庫系統(tǒng)是相關(guān)的多個(gè)數(shù)據(jù)庫系統(tǒng)的集合,可以實(shí)現(xiàn)數(shù)據(jù)的共享和透明訪問。每個(gè)數(shù)據(jù)庫系統(tǒng)在加入異構(gòu)數(shù)據(jù)庫系統(tǒng)之前就已經(jīng)存在,擁有自己的DBMS。異構(gòu)數(shù)據(jù)庫的各個(gè)組成部分具有自身的自治性,在實(shí)現(xiàn)數(shù)據(jù)共享的同時(shí),每個(gè)數(shù)據(jù)庫系統(tǒng)仍保有自己的應(yīng)用特性、完整性控制和安全性控制,異構(gòu)數(shù)據(jù)庫系統(tǒng)的異構(gòu)性主要體現(xiàn)在以下幾個(gè)方面:
1.計(jì)算機(jī)體系結(jié)構(gòu)的異構(gòu):各個(gè)參與數(shù)據(jù)庫系統(tǒng)可以分別運(yùn)行在大型機(jī)、小型機(jī)、工作站、PC或嵌入式系統(tǒng)中。
2.基礎(chǔ)操作系統(tǒng)的異構(gòu):各個(gè)數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)操作系統(tǒng)可以是UNIX、WINDOWS Server、Linux等。
3.DMBS本身的異構(gòu):可以是同為關(guān)系型數(shù)據(jù)庫系統(tǒng)的Oracle、SQL Server等,也可以是不同數(shù)據(jù)類型的數(shù)據(jù)庫,如關(guān)系、模式、層次、網(wǎng)絡(luò)、面向?qū)ο蟆⒑瘮?shù)型數(shù)據(jù)庫共同組成一個(gè)異構(gòu)數(shù)據(jù)庫系統(tǒng)。
二、圖書館異構(gòu)數(shù)據(jù)庫的安全性問題
數(shù)據(jù)庫技術(shù)成為當(dāng)今社會信息基礎(chǔ)設(shè)施的核心技術(shù),相應(yīng)地,作為系統(tǒng)正常運(yùn)行的保證,數(shù)據(jù)庫的安全問題亦受到了廣泛的關(guān)注。尤其是隨著網(wǎng)絡(luò)技術(shù)、通訊技術(shù)的發(fā)展,數(shù)據(jù)的集中管理、多用戶存取及跨網(wǎng)絡(luò)的分布式結(jié)構(gòu),使得應(yīng)用系統(tǒng)的開發(fā)環(huán)境的開放性等要求越來越高,數(shù)據(jù)庫的安全問題變得尤為突出。廣義的數(shù)據(jù)庫安全包括了安全保密性、完整性、可靠性、可用性、一致性等。安全保密性是防止非授權(quán)或不合法用戶的使用和訪問而造成數(shù)據(jù)泄漏、更改和破壞;完整性是指數(shù)據(jù)的正確性和相容性,防止合法用戶無意中造成的破壞,保證數(shù)據(jù)在存儲或傳輸過程中保持不被修改、破壞和丟失;可靠性是指對數(shù)據(jù)完整性的信賴程度;可用性是指需要時(shí)是否能存取所需數(shù)據(jù);一致性是指數(shù)據(jù)在更新過程中數(shù)據(jù)更新的一致性。網(wǎng)絡(luò)環(huán)境下圖書館的自動化系統(tǒng)多為分布式的C/S和流行的B/S模式。數(shù)據(jù)庫的共享使多個(gè)用戶處于并發(fā)狀態(tài),此時(shí)就要設(shè)法保證數(shù)據(jù)庫中數(shù)據(jù)的一致性和完整性。因?yàn)橐恢滦允菙?shù)據(jù)可用性的前提,而完整性則涉及到數(shù)據(jù)庫內(nèi)容的正確性、有效性和一致性。圖書館的數(shù)據(jù)庫安全保護(hù)要從以上幾方面同時(shí)進(jìn)行,以確保數(shù)據(jù)的正確、有效,使其免受無效更新的影響,這些無效更新包括數(shù)據(jù)的錯(cuò)誤更改或輸入、用戶的誤操作及機(jī)器故障等,還包括非法程序或外部力量(如斷電、火災(zāi)等)篡改或干擾數(shù)據(jù),使得整個(gè)數(shù)據(jù)庫被破壞或單個(gè)數(shù)據(jù)項(xiàng)不可讀。
三、異構(gòu)數(shù)據(jù)庫安全技術(shù)在數(shù)字圖書館的應(yīng)用
異構(gòu)數(shù)據(jù)庫的安全性包括:機(jī)密性、完整性和可用性。數(shù)據(jù)庫在三個(gè)層次上的異構(gòu),客戶機(jī)/服務(wù)器通過開放的網(wǎng)絡(luò)環(huán)境,跨不同硬件和軟件平臺通信,使數(shù)據(jù)庫安全問題在異構(gòu)環(huán)境下變得更加復(fù)雜。而且異構(gòu)環(huán)境的系統(tǒng)具有可擴(kuò)展性,能管理分布或數(shù)據(jù)庫環(huán)境,每個(gè)結(jié)點(diǎn)服務(wù)器還能自治實(shí)行集中式安全管理和訪問控制,對自己創(chuàng)建的用戶、規(guī)則、客體進(jìn)行安全管理。如由DBA或安全管理員執(zhí)行本部門、本地區(qū)或整體的安全策略,授權(quán)特定的管理員管理各組應(yīng)用程序、用戶、規(guī)則和數(shù)據(jù)庫,因此訪問控制和安全管理尤為重要。
異構(gòu)環(huán)境的數(shù)據(jù)庫安全策略有:
(一)全局范圍的身份驗(yàn)證策略
全局范圍的身份驗(yàn)證策略是一種復(fù)雜的口令管理技術(shù)。包括數(shù)據(jù)庫中多個(gè)事務(wù)的口令同步;異構(gòu)數(shù)據(jù)庫間的口令同步,如Oracle和Unix口令;用戶初始的口令更新;強(qiáng)制口令更新;口令可用性、口令的時(shí)間限制、口令的歷史管理、口令等級設(shè)置等??诹畎踩┒礄z查和系統(tǒng)終止。包括檢查系統(tǒng)終止前登錄失敗的次數(shù),系統(tǒng)終止前登錄成功與登錄失敗的時(shí)間間隔,跟蹤企圖登錄的站點(diǎn)地址。Web數(shù)據(jù)庫系統(tǒng)中包含大量敏感和機(jī)密的數(shù)據(jù),必須對來訪的用戶進(jìn)行身份認(rèn)證。建立在現(xiàn)有網(wǎng)絡(luò)協(xié)議基礎(chǔ)上的一些網(wǎng)絡(luò)安全協(xié)議,如SSL和PCT等,這些協(xié)議既可用于保護(hù)機(jī)密信息,同時(shí)也用于防止其他非法用戶侵入自己的主機(jī),給自己帶來安全威脅。對于ASP中繞過登錄頁面驗(yàn)證直接進(jìn)入某頁面的安全隱患,可利用Session對象和headers信息來認(rèn)證用戶的身份。
(二)全局的訪問控制策略
全局的訪問控制策略是以支持各類局部訪問控制(包括自主和強(qiáng)制訪問控制)。訪問控制的主要功能是讓經(jīng)過身份認(rèn)證的合法用戶根據(jù)自己的權(quán)限來訪問系統(tǒng),其嚴(yán)密性將直接影響整個(gè)系統(tǒng)的安全。通常一個(gè)系統(tǒng)用訪問控制表ACL(Access Control List)和權(quán)限表(Capacity List)來確定合法用戶及權(quán)限。決定哪些用戶指訪問哪些文件夾,有什么權(quán)限。Web數(shù)據(jù)庫交互中的許多安全威脅可以在這一環(huán)節(jié)得到解決,這要求含用戶名和密碼等機(jī)密信息的文件、腳本文件放在安全的位置,有些還需加密處理。
自主訪問與強(qiáng)制訪問控制:自主訪問控制就是對主體(用戶)訪問客體(數(shù)據(jù)庫對象)的操作權(quán)限實(shí)施控制,目的就是要保證用戶只能存取他有權(quán)存取的數(shù)據(jù),當(dāng)用戶擁有數(shù)據(jù)庫對象上的某些操作權(quán)限及相應(yīng)的轉(zhuǎn)授權(quán)時(shí),可以自由地把這些操作權(quán)限部分或全部轉(zhuǎn)授給其他用戶,從而使得其他用戶也獲得在這些數(shù)據(jù)庫對象上的使用權(quán)限。DM3系統(tǒng)根據(jù)用戶的權(quán)限執(zhí)行自主訪問控制。規(guī)定用戶權(quán)限要考慮三個(gè)因素:用戶、數(shù)據(jù)對象和操作。所有的用戶權(quán)限都要記錄在系統(tǒng)表(數(shù)據(jù)字典)中,對用戶存取權(quán)限的定義稱為授權(quán),當(dāng)用戶提出操作請求時(shí),DM3根據(jù)授權(quán)情況進(jìn)行檢查,以決定是執(zhí)行操作還是拒絕執(zhí)行,從而保證用戶能夠存取他有權(quán)存取的數(shù)據(jù)。全局訪問控制(GAC)的安全結(jié)構(gòu)分為三層:協(xié)調(diào)層、任務(wù)層和數(shù)據(jù)庫層,每層有特定的代理強(qiáng)制執(zhí)行部分安全策略,協(xié)調(diào)層的任務(wù)由系統(tǒng)管理員代理完成,負(fù)責(zé)管理整個(gè)環(huán)境,分派權(quán)限給稱作任務(wù)代理的其他代理,任務(wù)代理通過分派訪問單個(gè)數(shù)裾庫的權(quán)限給數(shù)據(jù)庫代理,來控制對整個(gè)數(shù)據(jù)庫的訪問。比如,由系統(tǒng)管理員分派的完整性保證的任務(wù)由完整性管理員完成,數(shù)據(jù)庫功能(如獲得用戶信息)由用戶和數(shù)據(jù)代理完成。
所謂強(qiáng)制訪問控制是通過給主體(用戶)和客體(數(shù)據(jù)對象)指定安全級,并根據(jù)安全級匹配規(guī)則來確定某主體是否被允許訪問某客體。DM3系統(tǒng)根據(jù)用戶的操作請求、安全級和客體的安全級執(zhí)行強(qiáng)制訪問控制,保證用戶只能訪問與其安全級相匹配的數(shù)據(jù),強(qiáng)制訪問控制必須事先定義主體和客體的安全級,所有主體和客體的安全級都要記錄在系統(tǒng)中。當(dāng)用戶提出操作請求時(shí),DM3首先檢查用戶對所操作的數(shù)據(jù)對象是否具有相應(yīng)的操作權(quán)限,然后檢查該用戶的操作請求及安全級與所操作的數(shù)據(jù)對象的安全級是否匹配,當(dāng)兩個(gè)條件都滿足時(shí),DM3才執(zhí)行用戶的操作請求,否則拒絕執(zhí)行。
(三)全局完整性控制策略
數(shù)據(jù)完整性認(rèn)證,可以通過Hash函數(shù)對機(jī)密數(shù)據(jù)加密和數(shù)字簽名來實(shí)現(xiàn)。進(jìn)行數(shù)字簽名時(shí),可先用一個(gè)Hash函數(shù)對數(shù)據(jù)代碼進(jìn)行雜湊處理,然后再用用戶的私鑰對雜湊結(jié)果進(jìn)行簽名。當(dāng)數(shù)據(jù)接收方驗(yàn)證時(shí),也是用同樣的Hash函數(shù)算出雜湊值,再對簽名進(jìn)行解密,如果兩個(gè)結(jié)果一致,則說明數(shù)據(jù)沒有被更改過,數(shù)據(jù)是完整的,否則,就說明數(shù)據(jù)在傳輸?shù)倪^程中被非法更改了。跨平臺檢索數(shù)據(jù)完整性{DATA INTEGRITY)由于一般分布數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù),是重復(fù)地存放在不同的地點(diǎn)的(SIT
E)。當(dāng)查詢處理子系統(tǒng)分析出查詢所需要的數(shù)據(jù)后,還需要確定將該數(shù)據(jù)的哪一部分復(fù)制文本供給該查詢使用,以及該文本位于哪一個(gè)地點(diǎn)。這是完整性子系統(tǒng)(INTEGRITY SUBSYSTYEM)的任務(wù)之一。它使用系統(tǒng)數(shù)據(jù)字典(SYSTEM DATA DICTIONARY)并計(jì)算相應(yīng)的代價(jià),來確定這個(gè)具體文本,以使得所花費(fèi)的代價(jià)可以小一些(例如這個(gè)文本距離要取得查詢結(jié)果的地點(diǎn)最近)。同時(shí),該子系統(tǒng)還負(fù)責(zé)維護(hù)數(shù)據(jù)庫的完整性和一致性,即處理并行操作的有關(guān)問題,以及保證在修改數(shù)據(jù)時(shí)各重復(fù)文本的一致性。
(四)網(wǎng)絡(luò)安全管理策略
包括網(wǎng)絡(luò)信息加密、網(wǎng)絡(luò)入侵防護(hù)和檢測等。對機(jī)密信息實(shí)施加密保護(hù),對機(jī)密信息進(jìn)行加密存儲和傳輸是傳統(tǒng)而有效的方法,這種方法對保護(hù)機(jī)密信息的安全特別有效,能夠防止搭線竊聽和黑客入侵,即使非法得到數(shù)據(jù)也無法解讀其中的內(nèi)容。加密保護(hù)在目前基于Web服務(wù)的一些網(wǎng)絡(luò)安全協(xié)議中得到了廣泛的應(yīng)用。在Web服務(wù)中的傳輸加密一般在應(yīng)用層實(shí)現(xiàn)。WWW服務(wù)器在發(fā)送機(jī)密信息時(shí),首先根據(jù)接收方的地址或其他標(biāo)識,選取密鑰對信息進(jìn)行加密運(yùn)算;瀏覽器在接收到加密數(shù)據(jù)后,根據(jù)包中信息的源地址或其他標(biāo)識對加密數(shù)據(jù)進(jìn)行解密運(yùn)算,從而得到所需的數(shù)據(jù)。在目前流行的服務(wù)器和瀏覽器中,如微軟公司的IIS服務(wù)器和瀏覽器,都可以對信息進(jìn)行加解密運(yùn)算,同時(shí)也留有接口,用戶可以對這些加解密算法進(jìn)行重載,構(gòu)造自己的加解密模塊。為有效地防止ASP源代碼泄露,可以對ASP頁面進(jìn)行加密。一般有兩種方法對ASP頁面進(jìn)行加密。一種是使用組件技術(shù)將編程邏輯封裝入DLL之中;另一種是使用微軟的Script Encoder對ASP頁面進(jìn)行加密。
(五)審計(jì)技術(shù)策略
審計(jì)分為兩個(gè)級別,稱為低敏感級和高敏感級。處于低敏感級別時(shí),系統(tǒng)只關(guān)心流過網(wǎng)關(guān)的域名或IP地址是否符合規(guī)則的要求,當(dāng)一個(gè)新的IP包被捕獲以后,數(shù)據(jù)采集服務(wù)臺將這個(gè)IP包的詳細(xì)信息:包括源地址、源端口、目地址、目的端口,記錄到數(shù)據(jù)庫中,通過觸發(fā)器的設(shè)定,數(shù)據(jù)庫系統(tǒng)會自動啟動一個(gè)規(guī)則比對的過程,發(fā)現(xiàn)問題后及時(shí)處理。系統(tǒng)處于高敏感級別時(shí),除了關(guān)心IP地址的合法性之外,還關(guān)心流過的數(shù)據(jù)包中的內(nèi)容是否合法,是否含有敏感字句。由于數(shù)據(jù)采集服務(wù)采集到的是單個(gè)的IP包的序列,要得到數(shù)據(jù)包中內(nèi)容,必須對TCP的會話過程進(jìn)行再現(xiàn),也就是說,必須將會話中涉及到的全部IP包進(jìn)行重新組裝,并得到一個(gè)可以理解的TCP過程。TCP會話的還原過程由實(shí)時(shí)審計(jì)系統(tǒng)內(nèi)部的模擬TCP/IP棧來實(shí)現(xiàn)。通過TCP/IP棧的模擬,并結(jié)合應(yīng)用協(xié)議的分析,所有的TCP應(yīng)用協(xié)議,如TELNET、HTT'P、FTP、SMTP,POP3、IMAP,以及基于UDP的ICQ、OICQ等等都可以在實(shí)時(shí)審計(jì)系統(tǒng)面前一覽無遺。最后,規(guī)則控制模塊對協(xié)議的會話內(nèi)容進(jìn)行檢查,完成實(shí)時(shí)審計(jì)過程。如果發(fā)現(xiàn)非法情況,通知數(shù)據(jù)庫服務(wù)記錄下給定時(shí)間段某個(gè)用戶的數(shù)據(jù)流,為日后的動作回放做準(zhǔn)備,同時(shí),以告警燈、告警聲音,告警級別(從顏色上反映)、以及告警分析等方式通知監(jiān)控中心。
當(dāng)前圖書館界對實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫跨庫檢索的興趣日益增漲,國外有很多圖書館成立專門的項(xiàng)目小組對目前的相關(guān)技術(shù)和產(chǎn)品進(jìn)行考察,我國有的圖書館已經(jīng)實(shí)現(xiàn)了異構(gòu)數(shù)據(jù)庫的跨庫檢索。后PC時(shí)代的數(shù)字圖書館,隨著網(wǎng)絡(luò)環(huán)境的不斷發(fā)展和完善,網(wǎng)絡(luò)安全環(huán)境日趨復(fù)雜,安全而完整的實(shí)用異構(gòu)數(shù)據(jù)庫是數(shù)字圖書館自動化管理正常開展的保證,因此國內(nèi)對異構(gòu)數(shù)據(jù)庫安全技術(shù)策略應(yīng)用方面的研發(fā)也越來越迫切。
參考文獻(xiàn):
[1]趙曉玲,圖書館數(shù)據(jù)庫的安全保護(hù),圖書館工作與研究,2004(1).
[2]錢菁,網(wǎng)絡(luò)數(shù)據(jù)庫安全機(jī)制研究,計(jì)算機(jī)應(yīng)用研究,2003(12).
[3]吳剛等,異構(gòu)網(wǎng)絡(luò)安全管理的設(shè)計(jì),計(jì)算機(jī)工程,1999(10).
[4]陳秀萍、郭朝暉,圖書館的網(wǎng)絡(luò)信息安全及對策,農(nóng)業(yè)圖書情報(bào)學(xué)刊,2004(7).