異構(gòu)數(shù)據(jù)庫的安全性包括:機(jī)密性、完整性和可用性,數(shù)據(jù)庫在三個(gè)層次上的異構(gòu),客戶機(jī) /服務(wù)器通過開放的網(wǎng)絡(luò)環(huán)境,跨不同硬件和軟件平臺(tái)通信,數(shù)據(jù)庫安全問題在異構(gòu)環(huán)境下變得更加復(fù)雜。而且異構(gòu)環(huán)境的系統(tǒng)具有可擴(kuò)展性,能管理分布或聯(lián)邦數(shù)據(jù)庫環(huán)境,每個(gè)結(jié)點(diǎn)服務(wù)器還能自治實(shí)行集中式安全管理和訪問控制,對(duì)自己創(chuàng)建的用戶、規(guī)則、客體進(jìn)行安全管理。如由DBA或安全管理員執(zhí)行本部門、本地區(qū)、或整體的安全策略,授權(quán)特定的管理員管理各組應(yīng)用程序、用戶、規(guī)則和數(shù)據(jù)庫。因此訪問控制和安全管理尤為重要。異構(gòu)環(huán)境的數(shù)據(jù)庫安全策略有:
全局范圍的身份驗(yàn)證;
全局的訪問控制,以支持各類局部訪問控制(自主和強(qiáng)制訪問控制);
全局完整性控制;
網(wǎng)絡(luò)安全管理,包括網(wǎng)絡(luò)信息加密、網(wǎng)絡(luò)入侵防護(hù)和檢測(cè)等;
審計(jì)技術(shù);
數(shù)據(jù)庫及應(yīng)用系統(tǒng)安全,如自動(dòng)的應(yīng)用系統(tǒng)集成、對(duì)象管理等。開發(fā)者能定義各個(gè)對(duì)象的安全性。根據(jù)定義的數(shù)據(jù)庫安全性,DBA能迅速準(zhǔn)確地通過應(yīng)用系統(tǒng)給所有數(shù)據(jù)庫對(duì)象授權(quán)和回收權(quán)限。
復(fù)雜的口令管理技術(shù)
復(fù)雜的口令管理技術(shù)。包括數(shù)據(jù)庫中多個(gè)事務(wù)的口令同步;異構(gòu)數(shù)據(jù)庫間的口令同步,如Oracle 和Unix口令;用戶初始的口令更新;強(qiáng)制口令更新;口令可用性、口令的時(shí)間限制、口令的歷史管理、口令等級(jí)設(shè)置等。
口令安全漏洞檢查和系統(tǒng)終止。包括檢查系統(tǒng)終止前登錄失敗的次數(shù),系統(tǒng)終止前登錄成功與登錄失敗間的時(shí)間間隔,跟蹤企圖登錄的站點(diǎn)地址。
口令加密、審計(jì)技術(shù)。包括發(fā)現(xiàn)口令漏洞,記錄口令歷史, 記錄對(duì)表、行、列的訪問,記錄應(yīng)用系統(tǒng)的訪問等。
安全代理模型
異構(gòu)數(shù)據(jù)庫是一個(gè)為用戶提供服務(wù)的網(wǎng)絡(luò)互聯(lián)的服務(wù)器集合。因此應(yīng)提供全局訪問控制(GAC),并對(duì)原有安全策略重新進(jìn)行異構(gòu)描述。提供聯(lián)邦訪問表,為用戶訪問、更新存在于不同數(shù)據(jù)庫的數(shù)據(jù)信息(包括安全信息)提供服務(wù)。此表為聯(lián)邦中每個(gè)用戶指定對(duì)某個(gè)實(shí)體對(duì)象允許的操作,它由存放在某個(gè)數(shù)據(jù)庫中的安全信息創(chuàng)建。由于實(shí)體對(duì)象的集合可能被存放在許多數(shù)據(jù)庫中,應(yīng)提供特定規(guī)則和過程將安全信息轉(zhuǎn)換集成為全局信息。
使用多種代理,全局訪問控制(GAC)的安全結(jié)構(gòu)分為三層:協(xié)調(diào)層、任務(wù)層和數(shù)據(jù)庫層,每層有特定的代理強(qiáng)制執(zhí)行部分聯(lián)邦安全策略。協(xié)調(diào)層的任務(wù)由系統(tǒng)管理員的代理完成,負(fù)責(zé)管理整個(gè)環(huán)境,分派權(quán)限給稱作任務(wù)代理的其他代理,任務(wù)代理通過分派訪問單個(gè)數(shù)據(jù)庫的權(quán)限給數(shù)據(jù)庫代理,來控制對(duì)整個(gè)聯(lián)邦數(shù)據(jù)庫的訪問。比如,由系統(tǒng)管理員分派的完整性保證的任務(wù)由完整性管理員完成,數(shù)據(jù)庫功能(如獲得用戶信息)由用戶和數(shù)據(jù)代理完成。
頂層(Top Level)代理稱為委托代理。由它決定聯(lián)邦中執(zhí)行任務(wù)的類型。這一層的代理關(guān)心聯(lián)邦中所有發(fā)生或正在發(fā)生的活動(dòng)。為了獲知“誰正在做什么”,不同代理的信息都存放在一特定的目錄里。根據(jù)這些信息,頂層代理,向適當(dāng)?shù)拇砦扇蝿?wù)。
中間層(Middle Level)代理稱為安全代理。特定的任務(wù)(如保持全局完整性)由安全代理完成,它在聯(lián)邦中可見的范圍比頂層代理要窄,完成的任務(wù)更具體。安全代理只能看到和它完成同一任務(wù)的其他代理。
底層(Bottom Level)代理稱為數(shù)據(jù)代理。由更高層代理指定完成訪問、更新信息任務(wù)的代理組成。這些代理是共享數(shù)據(jù)庫和頂層、中間層代理的接口。如用戶代理記錄某個(gè)用戶的所有信息,如他/她的標(biāo)識(shí)、對(duì)不同對(duì)象的不同訪問權(quán)限等。
DM3的安全技術(shù)
可信數(shù)據(jù)庫管理系統(tǒng)的體系結(jié)構(gòu)分為兩類,第一類是 TCB子集DBMS結(jié)構(gòu),用DBMS以外的可信計(jì)算基(TCB)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫對(duì)象的強(qiáng)制訪問控制,此時(shí)多級(jí)關(guān)系被分解成單級(jí)或系統(tǒng)級(jí)片斷,多級(jí)安全DBMS將這些片斷存在物理上分離的單級(jí)對(duì)象(如文件、段或物理上分離的硬件設(shè)備)中,再對(duì)這些分離的單級(jí)或系統(tǒng)級(jí)對(duì)象的訪問實(shí)行強(qiáng)制訪問控制。第二類是可信主體DBMS,由DBMS本身實(shí)現(xiàn)強(qiáng)制訪問控制的一些或全部責(zé)任。
DM3采用可信主體DBMS體系結(jié)構(gòu),由數(shù)據(jù)庫管理系統(tǒng)實(shí)現(xiàn)強(qiáng)制訪問控制的功能,它要求操作系統(tǒng)能提供控制,防止繞過DBMS直接對(duì)數(shù)據(jù)庫的訪問,將概念上的多級(jí)數(shù)據(jù)庫存于一個(gè)或多個(gè)操作系統(tǒng)對(duì)象(如文件)中。由多級(jí)安全DBMS 給每個(gè)數(shù)據(jù)庫對(duì)象進(jìn)行標(biāo)記,這些數(shù)據(jù)庫對(duì)象對(duì)操作系統(tǒng)是不可見的,操作系統(tǒng)不能直接對(duì)數(shù)據(jù)庫對(duì)象進(jìn)行訪問,多級(jí)安全DBMS有跨操作系統(tǒng)安全級(jí)范圍操作的特權(quán)。
DM3在安全管理體制方面與其他數(shù)據(jù)庫管理系統(tǒng)不同。絕大多數(shù)數(shù)據(jù)庫管理系統(tǒng)采用的是由數(shù)據(jù)庫管理員DBA負(fù)責(zé)系統(tǒng)的全部管理工作(包括安全管理)。顯然,這種管理機(jī)制使得DBA的權(quán)力過于集中,存在安全隱患。DM3在安全管理方面采用了三權(quán)分立的安全管理體制,把系統(tǒng)管理員分為數(shù)據(jù)庫管理員DBA,數(shù)據(jù)庫安全管理員SSO,數(shù)據(jù)庫審計(jì)員Auditor三類。DBA負(fù)責(zé)自主存取控制及系統(tǒng)維護(hù)與管理方面的工作,SSO負(fù)責(zé)強(qiáng)制存取控制,Auditor負(fù)責(zé)系統(tǒng)的審計(jì)。這種管理體制真正做到三權(quán)分立,各行其責(zé),相互制約,可靠地保證了數(shù)據(jù)庫的安全性。
自主訪問控制就是對(duì)主體(用戶)訪問客體(數(shù)據(jù)庫對(duì)象) 的操作權(quán)限實(shí)施控制,目的就是要保證用戶只能存取他有權(quán)存取的數(shù)據(jù),當(dāng)用戶擁有數(shù)據(jù)庫對(duì)象上的某些操作權(quán)限及相應(yīng)的轉(zhuǎn)授權(quán)時(shí),可以自由地把這些操作權(quán)限部分或全部轉(zhuǎn)授給其他用戶,從而使得其他用戶也獲得在這些數(shù)據(jù)庫對(duì)象上的使用權(quán)限。DM3系統(tǒng)根據(jù)用戶的權(quán)限執(zhí)行自主訪問控制。規(guī)定用戶權(quán)限要考慮三個(gè)因素:用戶、數(shù)據(jù)對(duì)象和操作。所有的用戶權(quán)限都要記錄在系統(tǒng)表(數(shù)據(jù)字典)中,對(duì)用戶存取權(quán)限的定義稱為授權(quán),當(dāng)用戶提出操作請(qǐng)求時(shí),DM3根據(jù)授權(quán)情況進(jìn)行檢查,以決定是執(zhí)行操作還是拒絕執(zhí)行,從而保證用戶能夠存取他有權(quán)存取的數(shù)據(jù)。
所謂強(qiáng)制訪問控制是通過給主體(用戶)和客體(數(shù)據(jù)對(duì)象) 指定安全級(jí),并根據(jù)安全級(jí)匹配規(guī)則來確定某主體是否被準(zhǔn)許訪問某客體。DM3系統(tǒng)根據(jù)用戶的操作請(qǐng)求、安全級(jí)和客體的安全級(jí)執(zhí)行強(qiáng)制訪問控制,保證用戶只能訪問與其安全級(jí)相匹配的數(shù)據(jù)。強(qiáng)制訪問控制必須事先定義主體和客體的安全級(jí),所有主體和客體的安全級(jí)都要記錄在系統(tǒng)中。當(dāng)用戶提出操作請(qǐng)求時(shí),DM3首先檢查用戶對(duì)所操作的數(shù)據(jù)對(duì)象是否具有相應(yīng)的操作權(quán)限,然后檢查該用戶的操作請(qǐng)求及安全級(jí)與所操作的數(shù)據(jù)對(duì)象的安全級(jí)是否匹配,當(dāng)兩個(gè)條件都滿足時(shí),DM3才執(zhí)行用戶的操作請(qǐng)求,否則拒絕執(zhí)行。