摘要:分布式數(shù)據(jù)庫作為數(shù)據(jù)庫系統(tǒng)與計算機網(wǎng)絡(luò)的有機結(jié)合,正成為目前互聯(lián)網(wǎng)環(huán)境下信息資源的共享和應(yīng)用核心,其安全問題舉足輕重。針對分布式數(shù)據(jù)庫系統(tǒng)的安全性要求,在分析了系統(tǒng)的體系結(jié)構(gòu)和可能受到的攻擊的基礎(chǔ)上,對安全策略和安全機制中身份驗證、保密通信、訪問控制、庫文加密、密碼體制及密鑰管理、分布事務(wù)管理、審計跟蹤、故障恢復(fù)等方面進行了綜合分析。
關(guān)鍵詞:數(shù)據(jù)庫;數(shù)據(jù)庫系統(tǒng);分布式;分布式數(shù)據(jù)庫;安全
中圖分類號:TP311.133.1文獻標(biāo)志號:A 文章編號:1009-3044(2009)04-0769-02
Analysis of Security Strategy on DDBS
JIANG Wen-bin, ZHANG Ren-jin, ZHANG Fang-xia
(Guizhou Normal University Mathematic and Computer Institue, Guizhou Normal University the multi-media Computer Assisted Instruction Institue, Guiyang 550001, China)
Abstract: As the combination of computer network and database system Distributed Database is becoming the share center of information resource in the Internet situation and its security is very important. Aiming at the secure requests of Distributed Database System, on the base of analysing system frame and possible attacking. It discusses user authentication, secret communication, access control, content ciphertext, cryptosystem, key and distributed affair management, audit track, fault repair in the security police and security mechanism.
Key words: database; database system; distributed; distributed database system; security
Internet的高速發(fā)展推動著分布式數(shù)據(jù)庫的發(fā)展,另一方面它也增加了分布式數(shù)據(jù)庫安全問題的復(fù)雜性。如何保證開放網(wǎng)絡(luò)環(huán)境中分布式數(shù)據(jù)庫系統(tǒng)的安全是一個復(fù)雜的問題,需要進行認(rèn)真分析研究。分布式數(shù)據(jù)庫面臨著兩大類安全問題:一類安全問題研究抗擊單站點故障、網(wǎng)絡(luò)故障等自然因素故障,即研究在發(fā)生了障時如何使系統(tǒng)仍能可靠運行或從故障中恢復(fù)。另一類安全問題研究抗擊來自于本機或網(wǎng)絡(luò)上的人為攻擊,即研究在有黑客攻擊時如何保證庫存數(shù)據(jù)和通信報文的保密性和可靠性。數(shù)據(jù)庫最突出的特點是之一是數(shù)據(jù)共享,數(shù)據(jù)共享給數(shù)據(jù)庫應(yīng)用帶來了眾多的好處;但給數(shù)據(jù)庫特別是網(wǎng)絡(luò)化的開放環(huán)境與基于網(wǎng)絡(luò)的分布式數(shù)據(jù)庫系統(tǒng)的安全帶來了嚴(yán)重的問題,如何保證分布式數(shù)據(jù)庫的安全問題己經(jīng)成為數(shù)據(jù)庫領(lǐng)域的重要課題之一。
1 分布式數(shù)據(jù)庫構(gòu)建與應(yīng)用概述
1.1 分布式數(shù)據(jù)庫的定義和特點
分布式數(shù)據(jù)庫系統(tǒng)是由若干個站集合而成,這些站(節(jié)點)在通訊網(wǎng)絡(luò)中互聯(lián)在一起,每個站都擁有各自的數(shù)據(jù)庫、中央處理機,以及各自的局部數(shù)據(jù)庫管理系統(tǒng),因此分布式數(shù)據(jù)庫系統(tǒng)可看作是一系列集中式數(shù)據(jù)庫系統(tǒng)的聯(lián)合。它們在邏輯上屬于同一系統(tǒng),但在物理結(jié)構(gòu)上是分散的。分布式數(shù)據(jù)庫系統(tǒng)使用計算機網(wǎng)絡(luò),將地理位置分散,而管理又需要不同程度集中的多個邏輯單位(通常是集中式數(shù)據(jù)庫系統(tǒng))聯(lián)接起來,共同組成一個統(tǒng)一的數(shù)據(jù)庫系統(tǒng),因此分布式數(shù)據(jù)庫系統(tǒng)可以看成是:計算機網(wǎng)絡(luò)與數(shù)據(jù)庫系統(tǒng)的有機結(jié)合。它應(yīng)該具有如下的特點:
1) 物理分布性:分布式數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)不是存儲在一個站點上,而是分散存儲在由計算機網(wǎng)絡(luò)聯(lián)結(jié)起來的多個站點上。所以分布式數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)具有物理分布性,這是與集中式數(shù)據(jù)庫系統(tǒng)的最大差別之一。
2) 邏輯整體性:分布式數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)物理上是分散在各個站點中,但這些分散的數(shù)據(jù)邏輯上卻是一個整體,它們被分布式數(shù)據(jù)庫系統(tǒng)的所有用戶(全局用戶)共享,并由一個分布式數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理。這是分布式數(shù)據(jù)庫的“邏輯整體性”特點,也是與分散式數(shù)據(jù)庫的最大區(qū)別。區(qū)別一個數(shù)據(jù)庫系統(tǒng)是分散式還是分布式,只要判斷該數(shù)據(jù)庫系統(tǒng)是否支持全局應(yīng)用(數(shù)據(jù)在邏輯
上統(tǒng)一管理,在物理上分散存儲)。因此,分布式數(shù)據(jù)庫系統(tǒng)中就有了全局?jǐn)?shù)據(jù)庫(GDB-Global Database)和局部數(shù)據(jù)庫(LDB-Local Database)的概念。全局?jǐn)?shù)據(jù)庫由全局?jǐn)?shù)據(jù)庫管理系統(tǒng)進行管理,所謂全局是從整個系統(tǒng)角度出發(fā)研究問題。局部數(shù)據(jù)庫由局部數(shù)據(jù)庫管理系統(tǒng)進行管理,所謂局部是從各個站點的角度出發(fā)研究問題。
3)站點自治性:站點自治性也稱場地自治性,各站點上的數(shù)據(jù)由本地的DBMS管理,具有自治處理能力,完成本站點的應(yīng)用(局部應(yīng)用),這是分布式數(shù)據(jù)庫系統(tǒng)與多處理機系統(tǒng)的區(qū)別。
1.2 體系結(jié)構(gòu)圖
圖1為體系結(jié)構(gòu)圖。
1.3 分布式數(shù)據(jù)庫運行過程
用戶欲訪問分布式數(shù)據(jù)庫系統(tǒng),首先要由任意一個站點登錄,進行身份驗證,系統(tǒng)確認(rèn)用戶的合法身份后接受用戶提出的事務(wù)處理請求,并把用戶事務(wù)經(jīng)用戶接口轉(zhuǎn)換后由編譯層進行語法、語義分析、授權(quán)檢查、事務(wù)分解等操作,而后交事務(wù)管理層監(jiān)督執(zhí)行。分解得到的訪問本地數(shù)據(jù)的子事務(wù),由本地數(shù)據(jù)庫管理系統(tǒng)具體執(zhí)行,訪問遠(yuǎn)程數(shù)據(jù)的子事務(wù),則通過通訊系統(tǒng)交給遠(yuǎn)程的事務(wù)管理層,由遠(yuǎn)程事務(wù)管理層監(jiān)督遠(yuǎn)程數(shù)據(jù)庫管理系統(tǒng)具體執(zhí)行。子事務(wù)的分解和異步執(zhí)行過程對用戶是透明的。這樣通過分布式數(shù)據(jù)庫系統(tǒng)把物理上分布的數(shù)據(jù)在邏輯上統(tǒng)一起來了。
2 分布式數(shù)據(jù)庫系統(tǒng)的主要安全隱患
在一個支持場地自治性的分布式數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的安全性可完全由局部數(shù)據(jù)庫系統(tǒng)負(fù)責(zé)。但是,一旦遠(yuǎn)程場地用戶被授權(quán)訪問局部數(shù)據(jù),則局部場地就不能確保數(shù)據(jù)的完整性。因為數(shù)據(jù)可能被拷貝到網(wǎng)絡(luò)中的其它場地上而超出原有數(shù)據(jù)庫系統(tǒng)的控制范圍。因此,需要考慮接收場地安全性保護和網(wǎng)絡(luò)的安全性。為了保證數(shù)據(jù)在分布環(huán)境下的安全性,不應(yīng)該在非安全的通訊線路上傳遞保密數(shù)據(jù),也不允許將保密數(shù)據(jù)傳遞給不安全的場地。
對于分布式數(shù)據(jù)庫安全問題擴展地來說,應(yīng)該保障數(shù)據(jù)庫數(shù)據(jù)的完整性,包括數(shù)據(jù)的物理完整性、邏輯完整性和元素完整性;保障數(shù)據(jù)庫數(shù)據(jù)的保密性:身份鑒別、推理防范、數(shù)據(jù)庫系統(tǒng)的可審計性等;保障數(shù)據(jù)庫數(shù)據(jù)的可靠性,就是防止和減少因為軟、硬件系統(tǒng)的錯誤所造成的數(shù)據(jù)庫惡性破壞,和及時修復(fù)軟、硬件系統(tǒng)的錯誤所造成的數(shù)據(jù)庫惡性破壞。對于第一類由單站點故障、網(wǎng)絡(luò)故障等自然因素引起,這類故障通??衫镁W(wǎng)絡(luò)提供的安全性來實現(xiàn)安全防護,所以說網(wǎng)絡(luò)安全是分布式數(shù)據(jù)庫安全的基礎(chǔ);對于另一類來自本機或網(wǎng)絡(luò)上的人為攻擊,主要有:
1) 黑客的攻擊:為了竊取數(shù)據(jù)或擾亂系統(tǒng)正常運行,黑客對分布式數(shù)據(jù)庫系統(tǒng)主要采取以下攻擊方式:
竊聽:黑客在網(wǎng)絡(luò)信道上監(jiān)聽客戶-數(shù)據(jù)庫服務(wù)器或服務(wù)器-服務(wù)器之間的報文來竊取數(shù)據(jù)。
重發(fā)攻擊:黑客把竊聽到的報文又重發(fā)給客戶或服務(wù)器,重發(fā)的報文或保持原樣或做了修改,以擾亂系統(tǒng)正常運行甚至修改數(shù)據(jù)庫中數(shù)據(jù)。重發(fā)攻擊可以是針對站點間的數(shù)據(jù)通信過程,也可以是針對站點間的身份驗證過程。
假冒攻擊:黑客可以發(fā)送報文使客戶或服務(wù)器通訊端口堵塞,然后再假冒該客戶或服務(wù)器擾亂分布式數(shù)據(jù)庫系統(tǒng)內(nèi)其它站點的正常運行甚至非法訪問數(shù)據(jù)。
越權(quán)攻擊:黑客本身是分布式數(shù)據(jù)庫系統(tǒng)的合法用戶,但他利用訪問控制方面的安全漏洞越權(quán)訪問非授權(quán)數(shù)據(jù)。
迂回攻擊:黑客利用網(wǎng)絡(luò)協(xié)議、操作系統(tǒng)的安全漏洞繞過分布式數(shù)據(jù)庫系統(tǒng)直接訪問數(shù)據(jù)庫文件。在上述各種過程中,為了實施更有效的攻擊,黑客往往還借助于破譯工具,采用密碼分析方法對得到的密文進行解密或纂攻。
2) 計算機病毒的攻擊:病毒的種類迅速增加,病毒的機制越來越復(fù)雜化,破壞性和攻擊性越來越強。
3) 網(wǎng)絡(luò)安全環(huán)境的脆弱性:包括操作系統(tǒng)安全的脆弱性,數(shù)據(jù)庫管理系統(tǒng)安全的脆弱性,網(wǎng)絡(luò)協(xié)議的脆弱性等。
4) 數(shù)據(jù)庫應(yīng)用系統(tǒng)的不安全性:包括非法用戶使用應(yīng)用系統(tǒng)存取數(shù)據(jù),授權(quán)用戶超越權(quán)限訪問存取非授權(quán)信息等等。
3 解決分布式數(shù)據(jù)庫安全問題的關(guān)健技術(shù)
如何保證開放網(wǎng)絡(luò)環(huán)境中分布式數(shù)據(jù)庫系統(tǒng)的安全是一個非常復(fù)雜的問題,需要進行認(rèn)真分析研究。針對上述開放式網(wǎng)絡(luò)環(huán)境下分布式數(shù)據(jù)庫系統(tǒng)的安全隱患,總結(jié)解決這些問題的身份驗證、保密通信、訪問控制和審計、庫文加密、密碼體制與密鑰管理、分布事務(wù)管理和故障恢復(fù)等關(guān)鍵技術(shù)。
3.1 身份驗證
為了防止各種假冒攻擊,在執(zhí)行真正的數(shù)據(jù)訪問操作前,要在客戶和數(shù)據(jù)庫服務(wù)器之間進行雙向身份驗證:用戶登錄進人分布式數(shù)據(jù)庫系統(tǒng),進行數(shù)據(jù)訪問操作前要進行身份驗證,以便確認(rèn)該用戶的真實身份,從而進一步?jīng)Q定該用戶的訪問權(quán)限;此外,由于分布式數(shù)據(jù)庫系統(tǒng)服務(wù)器與服務(wù)器之間要完成傳輸數(shù)據(jù)、協(xié)調(diào)分布式事務(wù)處理等功能,因此它們之間也要相互驗證身份。
3.2 在通訊雙方之間建立保密信道
保密通信客戶一服務(wù)器、服務(wù)器一服務(wù)器之間身份驗證成功后,就可以進行數(shù)據(jù)傳輸了,為了對抗報文竊聽和報文重發(fā)攻擊,需要在通訊雙方之間建立保密信道,對數(shù)據(jù)進行加密傳輸。在分布式數(shù)據(jù)庫系統(tǒng)中,由于傳輸?shù)臄?shù)據(jù)量往往很大,加解密算法的速度對系統(tǒng)性能影響也就大,而非對稱密碼體制運算復(fù)雜、速度慢,對稱密碼體制速度快,所以一般采用對稱密碼算法來進行加解密。因此,建立保度信道的過程就是約定會話密鑰,用會話密鑰來加解密數(shù)據(jù)的過程。通常這一過程也可以和身份驗證結(jié)合在一起。
3.3 訪問控制和審計
在通常的數(shù)據(jù)庫管理系統(tǒng)中,為了抗擊越權(quán)攻擊,任何用戶不能直接操作庫存數(shù)據(jù)。用戶的數(shù)據(jù)訪問請求先要送訪問控制模塊審查,然后系統(tǒng)的訪問控制模塊代理有訪間權(quán)限的用戶去完成相應(yīng)的數(shù)據(jù)操作。訪問控制主要有兩種形式:自主訪問授權(quán)控制和強制訪問授權(quán)控制。其中自主訪問授權(quán)控制由管理員設(shè)置訪問控制表,此表規(guī)定用戶對數(shù)據(jù)對象能夠進行的操作或不能進行的操作;而強制訪問授權(quán)控制先給系統(tǒng)內(nèi)的用戶和數(shù)據(jù)對象分別授予安全級別,根據(jù)用戶、數(shù)據(jù)對象之間的安全級別關(guān)系限定用戶的操作權(quán)限。
3.4 庫文加密
在分布式數(shù)據(jù)庫系統(tǒng)中,為了對抗黑客利用網(wǎng)絡(luò)協(xié)議、操作系統(tǒng)安全漏洞繞過數(shù)據(jù)庫的安全機制而直接訪問數(shù)據(jù)庫文件,有必要對庫文進行加密。只要保管好密鑰,并且加密算法具有一定的強度,即使黑客得到了數(shù)據(jù)庫文件,他們也難以知道明文,這樣使得重要數(shù)據(jù)受系統(tǒng)安全漏洞因素的威脅減小。
3.5 密碼體制與密鑰管理
在分布式數(shù)據(jù)庫系統(tǒng)中,身份驗證、保密信道、庫文加密等都用到加解密算法,但是它們的應(yīng)用背景是有區(qū)別的:身份驗證僅需傳輸少量控制信息;保密通信除了傳遞少量控制信息外,通常還傳遞大量的數(shù)據(jù)信息;庫文加密涉及不同粒度的數(shù)據(jù)對象,而且還要考慮數(shù)據(jù)庫的插人、刪除、更改數(shù)據(jù)密鑰等操作。
3.6 全局視圖機制
和集中式數(shù)據(jù)庫一樣,分布式數(shù)據(jù)庫環(huán)境中同樣可定義視圖,實現(xiàn)數(shù)據(jù)的獨立和安全性,這是,視圖的作用更加顯著,因為分布式數(shù)據(jù)庫非常大而且復(fù)雜,用戶數(shù)目也非常大。利用視圖,可以將用戶分組,只向用戶提有關(guān)數(shù)據(jù)。
3.7 安全審核
檢測是否有人的最佳方式是建立恰當(dāng)?shù)木瘓笙到y(tǒng)。如SQL SERVER2000建立的警報系統(tǒng)方法是通過啟用“FAlLED LOGIN(失敗的登錄)” 選項 (“選SERVER PROPERTIES [服務(wù)器屬性]”l“SECURITY(安全)”選項卡),你就可以看到何時有不受歡迎的訪問者正在濃度訪問你的系統(tǒng)。當(dāng)有一個僅使用幾個賬戶的封裝CM應(yīng)用程序時,這特別有用。
3.8 分布事務(wù)管理
在分布式數(shù)據(jù)庫系統(tǒng)中,分布事務(wù)管理的目的在于保證事務(wù)的正確執(zhí)行及執(zhí)行結(jié)果有性主要解決系統(tǒng)可靠性、事務(wù)并發(fā)控制及系統(tǒng)資源的有效利用等問題。分布事務(wù)首先要分解為多個子事務(wù)到各個站點上去執(zhí)行,各個服務(wù)器之間還必須采取合理的算法進行分布式并發(fā)控制和提交,以保證事務(wù)的完整性。
3.9 故障恢復(fù)
在數(shù)據(jù)庫系統(tǒng)中盡管采取了很多措施和手段保證數(shù)據(jù)庫系統(tǒng)的正常運行,然而計算機系統(tǒng)中的軟、硬件的故障及操作的失誤和人為的破壞仍是不可避免的,這經(jīng)常造成數(shù)據(jù)庫不能正常的執(zhí)行,出現(xiàn)錯誤,數(shù)據(jù)的全部或部分遭到破壞。因此數(shù)據(jù)庫系統(tǒng)必須具有把數(shù)據(jù)庫系統(tǒng)從故障狀態(tài)恢復(fù)到一個已知的正確狀態(tài)。分布式事務(wù)的兩段提交協(xié)議(2PC協(xié)議)是一種用于故障恢復(fù)的方法,在系統(tǒng)運行日志無丟失的情況下,對任何故障均有一定的恢復(fù)能力。
4 結(jié)束語
從分布式數(shù)據(jù)庫安全的研究來看,目前存在幾種方向,一是從一般數(shù)據(jù)庫安全理論出發(fā),將其理論放在分布式數(shù)據(jù)庫的具體環(huán)境下進行考察,然后進行修正;二是從數(shù)據(jù)庫安全的焦點問題入手,主要研究分布式數(shù)據(jù)庫中這些問題的實現(xiàn),三是著重分析分布式數(shù)據(jù)庫的安全風(fēng)險而缺乏對具體實施的關(guān)注。這些研究思路同分布式數(shù)據(jù)庫安全需求的滿足還存在一定的距離,這方面的工作還有待進一步的研究。
參考文獻:
[1] 邵佩英.分布式數(shù)據(jù)庫系統(tǒng)及其應(yīng)用[M].北京:科學(xué)出版社,2005.
[2] 鞠海玲,寧洪,鄭若忠,等.分布式數(shù)據(jù)庫安全關(guān)鍵技術(shù)[J].微型電腦應(yīng)用,1999,15(9):6-8.
[3] 鞠海玲,寧洪,鄭若忠,等.分布式數(shù)據(jù)庫安全機制[J].計算機工程與應(yīng)用,2000,36(3):98-100.
[4] 鄭振媚,于戈,郭敏.分布式數(shù)據(jù)庫[M].北京:科學(xué)出版社,l999.
[5] 吳江,李太勇,吳曉知.分布式數(shù)據(jù)庫系統(tǒng)中的安全策略研究[J].網(wǎng)絡(luò)安全技術(shù)與運用,2006,2(4):98-102.
[6] Brink Knight.SQL Server 2000 for Experienced DBAS[M].北京:清華大學(xué)出版社,2003.
[7] 劉義理.分布式數(shù)據(jù)庫安全框架研究[J].微計算機信息,2006,6(22):53-55.
[8] 徐超漢.計算機信息安全管理[M].北京:電子工業(yè)出版社,2006.