數(shù)據(jù)庫加密之前置代理及加密網(wǎng)關(guān)技術(shù)

前置代理及加密網(wǎng)關(guān)技術(shù)

該技術(shù)思路是在數(shù)據(jù)庫之前增加一道安全代理服務(wù),對數(shù)據(jù)庫訪問的用戶必須經(jīng)過該安全代理服務(wù),在此服務(wù)中實(shí)現(xiàn)如數(shù)據(jù)加解密、存取控制等安全策略;然后安全代理服務(wù)通過數(shù)據(jù)庫的訪問接口實(shí)現(xiàn)數(shù)據(jù)在庫中的最終存儲。安全代理服務(wù)存在于客戶端應(yīng)用與數(shù)據(jù)庫存儲引擎之間,負(fù)責(zé)完成庫中數(shù)據(jù)的加解密工作,加密數(shù)據(jù)存儲在安全代理服務(wù)中。

這種技術(shù)也會存在一些問題和限制:

1)由于在安全增強(qiáng)代理中需要存儲加密數(shù)據(jù),因此要解決與數(shù)據(jù)庫存儲數(shù)據(jù)的一致性問題,這基本不可實(shí)現(xiàn)。

2)數(shù)據(jù)的聯(lián)合檢索問題:由于在數(shù)據(jù)庫內(nèi)外都存在數(shù)據(jù),這些數(shù)據(jù)的聯(lián)合檢索將變得很困難;SQL語法的完全兼容也非常困難。

3)開發(fā)無法透明問題:數(shù)據(jù)庫協(xié)議雖然存在標(biāo)準(zhǔn),但事實(shí)上每個不同的數(shù)據(jù)庫版本都會進(jìn)行若干變更、擴(kuò)展和增強(qiáng),使用了這些特性的用戶必須進(jìn)行改造。同時在安全代理中對數(shù)據(jù)庫通訊協(xié)議的模擬非常困難。

4)數(shù)據(jù)庫的優(yōu)化處理、事務(wù)處理、并發(fā)處理等特性都無法使用:查詢分析、優(yōu)化處理、事務(wù)處理、并發(fā)處理工作都需要在安全增強(qiáng)器中完成,無法使用數(shù)據(jù)庫在并發(fā)處理和查詢優(yōu)化上的優(yōu)勢,系統(tǒng)的性能和穩(wěn)定性更多地依賴于安全代理;

5) 對于對存儲過程、觸發(fā)器、函數(shù)等存儲程序的實(shí)現(xiàn)支持也非常困難。

另外該技術(shù)需要在安全代理服務(wù)層提供非常復(fù)雜的數(shù)據(jù)庫管理功能,如:SQL命令解析,通訊服務(wù),加密數(shù)據(jù)索引存儲管理、事務(wù)管理等等,因此存在巨大的開發(fā)工作量及很高的技術(shù)復(fù)雜度,此外還有類似于存儲過程、觸發(fā)器等無法解決的技術(shù)問題。