數(shù)據(jù)庫系統(tǒng)的安全性很大程度上依賴于數(shù)據(jù)庫管理系統(tǒng)。如果數(shù)據(jù)庫管理系統(tǒng)安全機(jī)制非常強(qiáng)大,則數(shù)據(jù)庫系統(tǒng)的安全性能就較好。目前市場上流行的是關(guān)系式數(shù)據(jù)庫管理系統(tǒng),其安全性功能很弱,這就導(dǎo)致數(shù)據(jù)庫系統(tǒng)的安全性存在一定的威脅。
由于數(shù)據(jù)庫系統(tǒng)在操作系統(tǒng)下都是以文件形式進(jìn)行管理的,因此入侵者可以直接利用操作系統(tǒng)的漏洞竊取數(shù)據(jù)庫文件,或者直接利用OS工具來非法偽造、篡改數(shù)據(jù)庫文件內(nèi)容。這種隱患一般數(shù)據(jù)庫用戶難以察覺,分析和堵塞這種漏洞被認(rèn)為是B2級的安全技術(shù)措施。
數(shù)據(jù)庫管理系統(tǒng)層次安全技術(shù)主要是用來解決這一問題,即當(dāng)前面兩個(gè)層次已經(jīng)被突破的情況下仍能保障數(shù)據(jù)庫數(shù)據(jù)的安全,這就要求數(shù)據(jù)庫管理系統(tǒng)必須有一套強(qiáng)有力的安全機(jī)制。解決這一問題的有效方法之一是數(shù)據(jù)庫管理系統(tǒng)對數(shù)據(jù)庫文件進(jìn)行加密處理,使得即使數(shù)據(jù)不幸泄露或者丟失,也難以被人破譯和閱讀。
我們可以考慮在三個(gè)不同層次實(shí)現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的加密,這三個(gè)層次分別是OS層、DBMS內(nèi)核層和DBMS外層。
⑴在OS層加密。在OS層無法辨認(rèn)數(shù)據(jù)庫文件中的數(shù)據(jù)關(guān)系,從而無法產(chǎn)生合理的密鑰,對密鑰合理的管理和使用也很難。所以,對大型數(shù)據(jù)庫來說,在OS層對數(shù)據(jù)庫文件進(jìn)行加密很難實(shí)現(xiàn)。
⑵在DBMS內(nèi)核層實(shí)現(xiàn)加密。這種加密是指數(shù)據(jù)在物理存取之前完成加/脫密工作。這種加密方式的優(yōu)點(diǎn)是加密功能強(qiáng),并且加密功能幾乎不會(huì)影響DBMS的功能,可以實(shí)現(xiàn)加密功能與數(shù)據(jù)庫管理系統(tǒng)之間的無縫耦合。其缺點(diǎn)是加密運(yùn)算在服務(wù)器端進(jìn)行,加重了服務(wù)器的負(fù)載,而且DBMS和加密器之間的接口需要DBMS開發(fā)商的支持。
◆定義加密要求工具
◆DBMS
◆數(shù)據(jù)庫應(yīng)用系統(tǒng)
◆加密器
(軟件或硬件)
⑶在DBMS外層實(shí)現(xiàn)加密。比較實(shí)際的做法是將數(shù)據(jù)庫加密系統(tǒng)做成DBMS的一個(gè)外層工具,根據(jù)加密要求自動(dòng)完成對數(shù)據(jù)庫數(shù)據(jù)的加/脫密處理:
◆定義加密要求工具加密器
(軟件或硬件)
◆DBMS
◆數(shù)據(jù)庫應(yīng)用系統(tǒng)
采用這種加密方式進(jìn)行加密,加/脫密運(yùn)算可在客戶端進(jìn)行,它的優(yōu)點(diǎn)是不會(huì)加重?cái)?shù)據(jù)庫服務(wù)器的負(fù)載并且可以實(shí)現(xiàn)網(wǎng)上傳輸?shù)募用?,缺點(diǎn)是加密功能會(huì)受到一些限制,與數(shù)據(jù)庫管理系統(tǒng)之間的耦合性稍差。
由于數(shù)據(jù)庫系統(tǒng)在操作系統(tǒng)下都是以文件形式進(jìn)行管理的,因此入侵者可以直接利用操作系統(tǒng)的漏洞竊取數(shù)據(jù)庫文件,或者直接利用OS工具來非法偽造、篡改數(shù)據(jù)庫文件內(nèi)容。這種隱患一般數(shù)據(jù)庫用戶難以察覺,分析和堵塞這種漏洞被認(rèn)為是B2級的安全技術(shù)措施。
數(shù)據(jù)庫管理系統(tǒng)層次安全技術(shù)主要是用來解決這一問題,即當(dāng)前面兩個(gè)層次已經(jīng)被突破的情況下仍能保障數(shù)據(jù)庫數(shù)據(jù)的安全,這就要求數(shù)據(jù)庫管理系統(tǒng)必須有一套強(qiáng)有力的安全機(jī)制。解決這一問題的有效方法之一是數(shù)據(jù)庫管理系統(tǒng)對數(shù)據(jù)庫文件進(jìn)行加密處理,使得即使數(shù)據(jù)不幸泄露或者丟失,也難以被人破譯和閱讀。
我們可以考慮在三個(gè)不同層次實(shí)現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的加密,這三個(gè)層次分別是OS層、DBMS內(nèi)核層和DBMS外層。
⑴在OS層加密。在OS層無法辨認(rèn)數(shù)據(jù)庫文件中的數(shù)據(jù)關(guān)系,從而無法產(chǎn)生合理的密鑰,對密鑰合理的管理和使用也很難。所以,對大型數(shù)據(jù)庫來說,在OS層對數(shù)據(jù)庫文件進(jìn)行加密很難實(shí)現(xiàn)。
⑵在DBMS內(nèi)核層實(shí)現(xiàn)加密。這種加密是指數(shù)據(jù)在物理存取之前完成加/脫密工作。這種加密方式的優(yōu)點(diǎn)是加密功能強(qiáng),并且加密功能幾乎不會(huì)影響DBMS的功能,可以實(shí)現(xiàn)加密功能與數(shù)據(jù)庫管理系統(tǒng)之間的無縫耦合。其缺點(diǎn)是加密運(yùn)算在服務(wù)器端進(jìn)行,加重了服務(wù)器的負(fù)載,而且DBMS和加密器之間的接口需要DBMS開發(fā)商的支持。
◆定義加密要求工具
◆DBMS
◆數(shù)據(jù)庫應(yīng)用系統(tǒng)
◆加密器
(軟件或硬件)
⑶在DBMS外層實(shí)現(xiàn)加密。比較實(shí)際的做法是將數(shù)據(jù)庫加密系統(tǒng)做成DBMS的一個(gè)外層工具,根據(jù)加密要求自動(dòng)完成對數(shù)據(jù)庫數(shù)據(jù)的加/脫密處理:
◆定義加密要求工具加密器
(軟件或硬件)
◆DBMS
◆數(shù)據(jù)庫應(yīng)用系統(tǒng)
采用這種加密方式進(jìn)行加密,加/脫密運(yùn)算可在客戶端進(jìn)行,它的優(yōu)點(diǎn)是不會(huì)加重?cái)?shù)據(jù)庫服務(wù)器的負(fù)載并且可以實(shí)現(xiàn)網(wǎng)上傳輸?shù)募用?,缺點(diǎn)是加密功能會(huì)受到一些限制,與數(shù)據(jù)庫管理系統(tǒng)之間的耦合性稍差。