張樂樂
摘 要:隨著計(jì)算機(jī)的普及和計(jì)算機(jī)網(wǎng)絡(luò)的高速發(fā)展,分布式數(shù)據(jù)研究和應(yīng)用也越來越廣泛,其安全性也越來越受到重視。如果不能妥善解決分布式數(shù)據(jù)庫(kù)系統(tǒng)中的安全性問題,那么分布式數(shù)據(jù)庫(kù)的優(yōu)勢(shì)將不能充分發(fā)揮出來。本文首先簡(jiǎn)介了分布式數(shù)據(jù)庫(kù)安的概念,討論了其安全因素和安全需求,然后對(duì)分布式數(shù)據(jù)庫(kù)的安全策略和安全機(jī)制進(jìn)行了綜合分析。
關(guān)鍵詞:分布式數(shù)據(jù)庫(kù)安全策略訪問控制
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2012)07(a)-0015-01
伴隨著計(jì)算機(jī)的普及和信息技術(shù)的高速發(fā)展,信息平臺(tái)的構(gòu)建越來越多的用到了分布式數(shù)據(jù)庫(kù)系統(tǒng)。關(guān)于分布式數(shù)據(jù)庫(kù)系統(tǒng)的一個(gè)粗略定義是:分布式數(shù)據(jù)庫(kù)是一組數(shù)據(jù)的集合,這些數(shù)據(jù)在邏輯上屬于同一個(gè)系統(tǒng),但物理上卻分散在計(jì)算機(jī)網(wǎng)絡(luò)的若干節(jié)點(diǎn)上,這些數(shù)據(jù)庫(kù)站點(diǎn)由統(tǒng)一的數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行管理,在邏輯上是一個(gè)整體,每個(gè)節(jié)點(diǎn)都有自治能力,而且數(shù)據(jù)分布也透明。因此分布式數(shù)據(jù)庫(kù)系統(tǒng)可以看成是計(jì)算機(jī)網(wǎng)絡(luò)與數(shù)據(jù)庫(kù)系統(tǒng)的有機(jī)結(jié)合,具有物理分布性、邏輯關(guān)聯(lián)性、節(jié)點(diǎn)自治性和協(xié)作性等幾方面的特點(diǎn)。
1分布式數(shù)據(jù)庫(kù)安全需求分析
在開發(fā)分布式數(shù)據(jù)庫(kù)系統(tǒng)的過程中,保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的安全是一項(xiàng)非常重要的工作。試想一下,如果沒有充分的安全性控制機(jī)制,那么任何無管理權(quán)限的人員都可以訪問數(shù)據(jù)庫(kù),也都可以查詢或更改其數(shù)據(jù),則數(shù)據(jù)庫(kù)必然遭到破壞,甚至可能造成整個(gè)系統(tǒng)的癱瘓。因此,一個(gè)好的分布式數(shù)據(jù)庫(kù)必須能確保系統(tǒng)數(shù)據(jù)的完整性、有效性和安全性,防止未授權(quán)用戶對(duì)其訪問,跟蹤用戶對(duì)其訪問的情況,控制授權(quán)用戶僅能對(duì)自己所擁有權(quán)限的子系統(tǒng)和數(shù)據(jù)進(jìn)行訪問,使系統(tǒng)免于因各種破壞而造成數(shù)據(jù)丟失和偷竊,這也是分布式數(shù)據(jù)庫(kù)系統(tǒng)安全管理必須要解決的問題。
一般情況下,分布式數(shù)據(jù)庫(kù)面臨三大類安全問題:一是要保障數(shù)據(jù)庫(kù)數(shù)據(jù)的可靠性、完整性,預(yù)防和減少因?yàn)檐?、硬件系統(tǒng)誤差所造成的數(shù)據(jù)庫(kù)惡性破壞,針對(duì)由單站點(diǎn)故障、網(wǎng)絡(luò)故障等自然因素引起的問題,可以考慮利用網(wǎng)絡(luò)安全性來提供安全防護(hù)。二是來自于本機(jī)或網(wǎng)絡(luò)上的人為攻擊,例如黑客的攻擊。三是數(shù)據(jù)庫(kù)管理系統(tǒng)自身的安全脆弱性,現(xiàn)階段系統(tǒng)的安全與操作系統(tǒng)的安全是相互配套的,由于數(shù)據(jù)庫(kù)管理系統(tǒng)所存在的操作系統(tǒng)的結(jié)構(gòu)多種多樣,一個(gè)可以打補(bǔ)丁和可滲透的操作系統(tǒng)是難以從根本上解決安全問題的,因此,數(shù)據(jù)庫(kù)管理系統(tǒng)也是脆弱的。
2 分布式數(shù)據(jù)庫(kù)安全策略
面對(duì)以上數(shù)據(jù)庫(kù)存在的安全威脅,我們必須采取有效的措施,以滿足安全需求。為此,筆者在多年的分布式數(shù)據(jù)庫(kù)系統(tǒng)的教學(xué)及實(shí)踐過程中,總結(jié)了幾種頗具成效的安全策略,來解決其存在的安全隱患。對(duì)于一種分布式數(shù)據(jù)庫(kù)系統(tǒng)來說,安全策略是安全體系結(jié)構(gòu)中的重要部分。所謂安全策略,即是指規(guī)定一套如何管理、保護(hù)和分配敏感信息的分布規(guī)律和實(shí)踐經(jīng)驗(yàn)的集合。
2.1 站點(diǎn)間的身份驗(yàn)證
在執(zhí)行數(shù)據(jù)訪問操作之前,為了有效防止各種可能的假冒攻擊,有必要在客戶端和數(shù)據(jù)庫(kù)服務(wù)器之間進(jìn)行雙向身份驗(yàn)證。具體為:需要各站點(diǎn)從密鑰管理中心獲得與目標(biāo)站點(diǎn)通信用的秘密密鑰,除此之外,為了完成各種分布式事務(wù)處理及數(shù)據(jù)處理等的功能,各站點(diǎn)間的分布式數(shù)據(jù)庫(kù)系統(tǒng)的服務(wù)器與服務(wù)器之間也要取得相應(yīng)的密鑰,完成身份驗(yàn)證,保證數(shù)據(jù)庫(kù)操作的安全性。
2.2 保密性安全策略
經(jīng)過上述的身份驗(yàn)證成功后,就已經(jīng)可以進(jìn)行數(shù)據(jù)傳輸了。但由于傳輸?shù)臄?shù)據(jù)量往往很大,因此需要對(duì)數(shù)據(jù)進(jìn)行加密后再傳輸。具體做法通常是采用信息加密的方式來防止黑客攻擊或者采用實(shí)時(shí)入侵檢測(cè)等,在通信雙方之間建立安全通道。
2.3 訪問控制
保障數(shù)據(jù)庫(kù)操作的安全性,還有一項(xiàng)非常重要的條件,即是對(duì)其權(quán)限的認(rèn)證。當(dāng)某客戶端以某種身份登錄服務(wù)器以后,需要依據(jù)系統(tǒng)管理員的恰當(dāng)授權(quán),來限制其在數(shù)據(jù)庫(kù)中所能從事的工作,以及其對(duì)數(shù)據(jù)庫(kù)對(duì)象的訪問方式和訪問范圍,包括能對(duì)該數(shù)據(jù)庫(kù)做什么樣的操作和管理,或可訪問哪部分的數(shù)據(jù)庫(kù)等。合法用戶的訪問控制一般就兩種形式:獨(dú)立授權(quán)訪問控制和強(qiáng)制訪問授權(quán)控制。其中獨(dú)立授權(quán)訪問控制是由系統(tǒng)管理員設(shè)置訪問控制表,為用戶提供對(duì)數(shù)據(jù)對(duì)象具有的操作權(quán)限。而強(qiáng)制訪問授權(quán)控制則是先給系統(tǒng)內(nèi)的合法用戶和數(shù)據(jù)對(duì)象分別授予一定的安全級(jí)別,然后根據(jù)用戶、數(shù)據(jù)對(duì)象之間的安全級(jí)別對(duì)應(yīng)關(guān)系,來限定用戶所具有的操作權(quán)限。
2.4 數(shù)據(jù)庫(kù)庫(kù)文加密
數(shù)據(jù)庫(kù)系統(tǒng)往往擔(dān)負(fù)著管理和存儲(chǔ)各項(xiàng)關(guān)鍵信息以及數(shù)據(jù)的任務(wù),在管理過程中,為了抵御黑客利用各種手段和方法繞過數(shù)據(jù)庫(kù)的安全機(jī)制,從而直接訪問數(shù)據(jù)庫(kù)文件的危害,就有必要對(duì)數(shù)據(jù)庫(kù)庫(kù)文進(jìn)行合理的加密,以強(qiáng)化數(shù)據(jù)存儲(chǔ)的安全性。
2.5 密鑰管理與密碼體制
在分布式數(shù)據(jù)庫(kù)系統(tǒng)工作過程中,上述的方法:各站點(diǎn)間的身份驗(yàn)證、保密性安全策略以及數(shù)據(jù)庫(kù)庫(kù)文加密等都離不開加密和解密的算法,其應(yīng)用背景是有很大區(qū)別的:站點(diǎn)間身份驗(yàn)證不需要傳輸大量的控制信息;而保密性安全策略則需要頻繁的傳遞大量的信息;數(shù)據(jù)庫(kù)庫(kù)文加密則是利用私密信息的變換將需要保護(hù)的明文數(shù)據(jù),按照一定的加密算法變換成他人無法識(shí)別和偽造的密碼文。在這不同的應(yīng)用中,要涉及不同粒度的數(shù)據(jù)對(duì)象,還要確保能在保證重要數(shù)據(jù)對(duì)象安全性的同時(shí)提高訪問速度。因此,有必要針對(duì)不同的目標(biāo)來分別制定密碼體制。
2.6 安全審核
任何系統(tǒng)的安全措施都不可能是十全十美的,總是存在一些惡意非法的用戶想方設(shè)法對(duì)數(shù)據(jù)庫(kù)進(jìn)行破壞,并企圖逃避責(zé)任。因此數(shù)據(jù)庫(kù)管理系統(tǒng)應(yīng)建立起明確的用戶權(quán)限的劃分和嚴(yán)格的數(shù)據(jù)庫(kù)管理體制。在用戶登錄會(huì)話期間,如果出現(xiàn)了分布式數(shù)據(jù)庫(kù)系統(tǒng)的可能非法入侵行為,那么就應(yīng)該執(zhí)行數(shù)據(jù)庫(kù)的安全審核。除此之外,還應(yīng)該加強(qiáng)對(duì)分布式數(shù)據(jù)庫(kù)管理人員的審核,因?yàn)樵诋?dāng)今社會(huì),大量的經(jīng)惡意代碼而產(chǎn)生的安全問題已經(jīng)非常普遍,而這些惡意的代碼的傳播,有很大一部分是由數(shù)據(jù)庫(kù)程序的編制人員或內(nèi)部的管理人員加到數(shù)據(jù)庫(kù)系統(tǒng)中去的,因此,加強(qiáng)內(nèi)部工作人員的道德教育是很有必要的。
2.7 故障恢復(fù)
經(jīng)過上面所述的數(shù)據(jù)庫(kù)安全的重重保障,看似已經(jīng)非常完善了,但在分布式數(shù)據(jù)庫(kù)系統(tǒng)中,由于計(jì)算機(jī)故障或操作失誤以及人為的破壞,導(dǎo)致問題仍會(huì)層出不窮,情況更嚴(yán)重者甚至?xí)?dǎo)致數(shù)據(jù)庫(kù)中現(xiàn)有的信息全部或部分遭到破壞。而一個(gè)功能強(qiáng)大的數(shù)據(jù)庫(kù)系統(tǒng),必須具有把處于故障狀態(tài)的數(shù)據(jù)庫(kù)恢復(fù)到一個(gè)已知的正確狀態(tài)的功能。分布式事務(wù)的兩段提交協(xié)議就是一種很好的用于故障恢復(fù)的方法,對(duì)任何故障均有一定的恢復(fù)能力,當(dāng)然其前提是在系統(tǒng)運(yùn)行日志不丟失的情況下。
3結(jié)語
綜上所述,既然我們很難兼顧到分布式數(shù)據(jù)庫(kù)系統(tǒng)中的安全和效率,那么在選擇安全策略的時(shí)候,我們就應(yīng)當(dāng)試圖平衡這兩方面的因素,根據(jù)具體情況結(jié)合多種安全機(jī)制保障。另外,由于不安全因素?zé)o處不在,而且有不可預(yù)見性,因此數(shù)據(jù)庫(kù)安全的防護(hù)是伴隨著數(shù)據(jù)庫(kù)的存在而存在的,是一項(xiàng)不可松懈的任務(wù)。
參考文獻(xiàn)
[1] 邵佩英.分布式數(shù)據(jù)庫(kù)系統(tǒng)及其應(yīng)用[M].北京:科學(xué)出版社,2000.
[2] 江文斌,張仁津,張方霞.分布式數(shù)據(jù)庫(kù)系統(tǒng)安全策略分析[J].電腦知識(shí)與技術(shù),2009.
[3] 賈焰,王志英,韓偉紅,李霖.分布式數(shù)據(jù)庫(kù)技術(shù)[M].北京:國(guó)防工業(yè)出版社,2001.