張 躍
遼寧裝備制造職業(yè)技術(shù)學(xué)院(沈陽(yáng) 110161)
B/S模式和C/S模式是兩種典型的網(wǎng)絡(luò)數(shù)據(jù)庫(kù)模式。C/S模式采用“客戶機(jī)-應(yīng)用服務(wù)器-數(shù)據(jù)庫(kù)服務(wù)器”三層結(jié)構(gòu),B/S模式采用“瀏覽器-Web 服務(wù)器-數(shù)據(jù)庫(kù)服務(wù)器”三層結(jié)構(gòu)。兩種模式在結(jié)構(gòu)上存在很多共同點(diǎn):均涉及到網(wǎng)絡(luò)、系統(tǒng)軟件和應(yīng)用軟件。為了使整個(gè)安全機(jī)制概念清晰,針對(duì)兩種模式的特點(diǎn)和共性,得到網(wǎng)絡(luò)數(shù)據(jù)庫(kù)系統(tǒng)安全機(jī)制分層結(jié)構(gòu)模型。
威脅數(shù)據(jù)安全的因素有很多,主要有以下幾個(gè)比較常見,如硬盤驅(qū)動(dòng)器損壞、人為錯(cuò)誤、黑客、病毒和竊取等。
數(shù)據(jù)庫(kù)安全就是保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的保密性、正確性。保密性指保護(hù)數(shù)據(jù)庫(kù)中的數(shù)據(jù)不被非法用戶獲取;正確性是指數(shù)據(jù)不因?yàn)楣室獾钠茐?、操作員失誤或者軟硬件故障導(dǎo)致數(shù)據(jù)錯(cuò)誤。當(dāng)前常常使用以下典型技術(shù)保證數(shù)據(jù)安全。
由系統(tǒng)提供一定的方式讓用戶標(biāo)識(shí)自己的名字或身份,當(dāng)用戶要求進(jìn)入系統(tǒng)時(shí),由系統(tǒng)進(jìn)行核對(duì)。這種技術(shù)不僅僅用于數(shù)據(jù)庫(kù)安全維護(hù),也常見于一般的軟件安全維護(hù)和系統(tǒng)維護(hù)中。在數(shù)據(jù)庫(kù)系統(tǒng)中,系統(tǒng)內(nèi)部記錄所有合法用戶的用戶標(biāo)識(shí)和口令。系統(tǒng)要求用戶在進(jìn)入系統(tǒng)之前輸入自己的用戶標(biāo)識(shí)和口令,系統(tǒng)核對(duì)用戶信息輸入正確方可進(jìn)入。這種方法簡(jiǎn)單易行,但是用戶信息容易被人竊取。因此還可以用更復(fù)雜的辦法:隨機(jī)數(shù)認(rèn)證。隨機(jī)數(shù)認(rèn)證實(shí)際上是非固定口令的認(rèn)證,即用戶的口令每次都是不同的。鑒別時(shí)系統(tǒng)提供一個(gè)隨機(jī)數(shù),用戶根據(jù)預(yù)先約定的計(jì)算過(guò)程或計(jì)算函數(shù)進(jìn)行計(jì)算,并將計(jì)算結(jié)果輸送到計(jì)算機(jī),系統(tǒng)根據(jù)用戶計(jì)算結(jié)果判定用戶是否合法。
也稱存取控制。大部分的DBMS中都提供了數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限控制。在DBMS中可以定義用戶權(quán)限,并且將用戶權(quán)限登記到數(shù)據(jù)字典中。用戶的權(quán)限包括:數(shù)據(jù)對(duì)象權(quán)限、數(shù)據(jù)操作權(quán)限。DBMS提供語(yǔ)句來(lái)定義用戶的這兩種權(quán)限,這樣,不同的用戶對(duì)于不同的數(shù)據(jù)對(duì)象享有不同的操作權(quán)限。當(dāng)用戶發(fā)出存取數(shù)據(jù)庫(kù)的操作請(qǐng)求后,DBMS查找數(shù)據(jù)字典,根據(jù)記載的權(quán)限規(guī)則進(jìn)行合法權(quán)限檢查,若用戶的操作請(qǐng)求超出了定義的權(quán)限,系統(tǒng)拒絕執(zhí)行此操作。存取控制的模型有自主存取控制 DAC 和強(qiáng)制存取控制MAC。目前,大部分的DBMS都支持自主存取控制,目前的 SQL標(biāo)準(zhǔn)是通過(guò) GRANT和REVOKE語(yǔ)句授予和收回權(quán)限。強(qiáng)制存取控制方法可以給系統(tǒng)提供更高的安全性。在MAC中,DBMS將實(shí)體分為主體和客體兩大類。對(duì)于不同的實(shí)體,DBMS指派一個(gè)敏感度標(biāo)記,例如:絕密、機(jī)密、可信、公開等。一般用于政府或軍事部門。
數(shù)據(jù)加密是防止數(shù)據(jù)泄漏的有效手段。 數(shù)據(jù)加密是就是將明文數(shù)據(jù)經(jīng)過(guò)一定的交換變成密文數(shù)據(jù)。與傳統(tǒng)的數(shù)據(jù)加密技術(shù)相比較,數(shù)據(jù)庫(kù)有其自身的要求和特點(diǎn)傳統(tǒng)的加密以報(bào)文為單位,加、脫密都是從頭至尾順序進(jìn)行。大型數(shù)據(jù)庫(kù)管理系統(tǒng)的運(yùn)行平臺(tái)一般是 Windows NT和Unix,這些操作系統(tǒng)的安全級(jí)別通常為 C1、C2級(jí)。它們具有用戶注冊(cè)、識(shí)別用戶、任意存取控制(DAC)、審計(jì)等安全功能。雖然DBMS在OS的基礎(chǔ)上增加了不少安全措施,例如基于權(quán)限的訪問(wèn)控制等,但OS和DBMS對(duì)數(shù)據(jù)庫(kù)文件本身仍然缺乏有效的保護(hù)措施,有經(jīng)驗(yàn)的網(wǎng)上黑客會(huì)“繞道而行”,直接利用 OS工具竊取或篡改數(shù)據(jù)庫(kù)文件內(nèi)容。這種隱患被稱為通向DBMS的“隱秘通道”它所帶來(lái)的危害一般數(shù)據(jù)庫(kù)用戶難以覺察。分析和堵塞 “隱秘通道”被認(rèn)為是B2級(jí)的安全技術(shù)措施。對(duì)數(shù)據(jù)庫(kù)中的敏感數(shù)據(jù)進(jìn)行加密處理,是堵塞這一“隱秘通道”的有效手段。
對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的操作審計(jì)就是記錄、檢查和回顧對(duì)系統(tǒng)進(jìn)行所有相關(guān)操作的行為。審計(jì)的主要任務(wù)是對(duì)用戶及應(yīng)用程序使用系統(tǒng)資源包括軟硬件或數(shù)據(jù)的情況進(jìn)行記錄和審查,一時(shí)出現(xiàn)問(wèn)題,審計(jì)人員可以通過(guò)審計(jì)跟蹤,找出問(wèn)題原因,追查相關(guān)責(zé)任人,防止問(wèn)題再度發(fā)生審計(jì)過(guò)程不可繞過(guò),審計(jì)記錄也應(yīng)該得到保護(hù)且不能輕易更改。審計(jì)記錄要想有效地起作用,就保證審計(jì)記錄的粒度和數(shù)。審計(jì)作為保證數(shù)據(jù)庫(kù)安全的補(bǔ)救措施,可以提高系統(tǒng)的抗否認(rèn)能力。
進(jìn)行存取權(quán)限的控制,不僅可以通過(guò)授權(quán)來(lái)實(shí)現(xiàn),而且還可以通過(guò)定義用戶的外模式來(lái)提供一定的安全保護(hù)功能。在關(guān)系數(shù)據(jù)庫(kù)中,可以為不同的用戶定義不同的視圖,通過(guò)視圖機(jī)制把要保密的數(shù)據(jù)對(duì)無(wú)權(quán)操作的用戶隱藏起來(lái),從而自動(dòng)地對(duì)數(shù)據(jù)提供一定程度的安全保護(hù)。對(duì)視圖也可以進(jìn)行授權(quán)。視圖機(jī)制使系統(tǒng)具有數(shù)據(jù)安全性、數(shù)據(jù)邏輯獨(dú)立性和操作簡(jiǎn)便等優(yōu)點(diǎn)。
網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的安全是一個(gè)系統(tǒng)性、綜合性的問(wèn)題。綜上所述,網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的安全防范是多層次、大范圍的,隨著計(jì)算機(jī)技術(shù)的發(fā)展和數(shù)據(jù)庫(kù)技術(shù)應(yīng)用范圍的擴(kuò)大,數(shù)據(jù)庫(kù)安全必須走立體式發(fā)展道路。因此,在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)不能將它孤立考慮,只有結(jié)合實(shí)際層層防設(shè),這個(gè)問(wèn)題才能得到有效解決。安全防范是一個(gè)永久性的問(wèn)題,只有通過(guò)不斷地改進(jìn)和完善安全手段,才能提高系統(tǒng)的可靠性。
[1]張曉偉,金濤.信息安全策略與機(jī)制.北京:機(jī)械工業(yè)出版社,2004.
[2]張建軍.淺析數(shù)據(jù)庫(kù)管理系統(tǒng)加密技術(shù)及其應(yīng)用.甘肅高師學(xué)報(bào),2008.