淺析四種常見數(shù)據(jù)庫加密技術(shù)

隨著數(shù)據(jù)庫加密技術(shù)在國內(nèi)市場的興起,更多數(shù)據(jù)安全企業(yè)的涌入,市面上出現(xiàn)了幾種具有代表性的數(shù)據(jù)庫加密技術(shù)。

淺析四種常見數(shù)據(jù)庫加密技術(shù)

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

應(yīng)用層改造加密技術(shù)
應(yīng)用層加密方案的主要技術(shù)原理是應(yīng)用系統(tǒng)通過加密API(JDBC,ODBC,CAPI等)對敏感數(shù)據(jù)進行加密,將加密數(shù)據(jù)存儲到數(shù)據(jù)庫的底層文件中;在進行數(shù)據(jù)檢索時,將密文數(shù)據(jù)取回到客戶端,再進行解密,應(yīng)用系統(tǒng)自行管理密鑰體系。

基于文件級的加解密技術(shù)
顧名思義,基于文件級的加解密技術(shù)是不與數(shù)據(jù)庫自身原理融合,只是對數(shù)據(jù)存儲的載體從操作系統(tǒng)或文件系統(tǒng)層面進行加解密的技術(shù)手段。
這種技術(shù)通過在操作系統(tǒng)中植入具有一定入侵性的“鉤子”進程,在數(shù)據(jù)存儲文件被打開的時候進行解密動作,在數(shù)據(jù)落地的時候執(zhí)行加密動作,具備基礎(chǔ)加解密能力的同時,能夠根據(jù)操作系統(tǒng)用戶或者訪問文件的進程ID進行基本的訪問權(quán)限控制。

基于視圖及觸發(fā)器的后置代理技術(shù)
這種技術(shù)是使用“視圖”+“觸發(fā)器”+“擴展索引”+“外部調(diào)用”的方式實現(xiàn)數(shù)據(jù)加密,同時保證應(yīng)用完全透明。核心思想是充分利用數(shù)據(jù)庫自身提供的應(yīng)用定制擴展能力,分別使用其觸發(fā)器擴展能力、索引擴展能力、自定義函數(shù)擴展能力以及視圖等技術(shù)來滿足數(shù)據(jù)存儲加密,加密后數(shù)據(jù)檢索,對應(yīng)用無縫透明等核心需求。