安華金和全面適配國產(chǎn)化操作系統(tǒng)及芯片CPU
數(shù)據(jù)安全治理關(guān)鍵技術(shù)之數(shù)據(jù)庫脫敏技術(shù)詳解
數(shù)據(jù)安全治理之API監(jiān)測系統(tǒng) ,解決API接口安全問題【安華金和】
新一代數(shù)據(jù)庫脫敏技術(shù),為敏感數(shù)據(jù)建立保護盾!
數(shù)據(jù)庫脫敏系統(tǒng)與金融行業(yè)案例解讀
數(shù)據(jù)安全治理建設思路的著力點——數(shù)據(jù)安全咨詢服務【安華金和】
數(shù)據(jù)庫防火墻功能有哪些?-數(shù)據(jù)安全-安華金和
數(shù)據(jù)安全關(guān)鍵技術(shù)之數(shù)據(jù)庫脫敏技術(shù)詳解【安華金和】
數(shù)據(jù)庫加密作為近年來興起的數(shù)據(jù)庫安防技術(shù),已經(jīng)被越來越多的人所重視。這種基于存儲層加密的防護方式,不僅可以有效解決數(shù)據(jù)庫明文存儲引起的泄密風險,也可以防止來自內(nèi)部或者外部的入侵及越權(quán)訪問行為。
從技術(shù)手段上來看,現(xiàn)今數(shù)據(jù)庫加密技術(shù)主要有三大類,分別是前置代理及加密網(wǎng)關(guān)方式、應用層加密方式以及后置代理方式。這三類技術(shù)各自的特點如何,彼此之間孰優(yōu)孰劣,下文詳盡介紹。
該技術(shù)思路是在數(shù)據(jù)庫之前增加一道安全代理服務,對數(shù)據(jù)庫訪問的用戶必須經(jīng)過該安全代理服務,在此服務中實現(xiàn)如數(shù)據(jù)加解密、存取控制等安全策略;然后安全代理服務通過數(shù)據(jù)庫的訪問接口實現(xiàn)數(shù)據(jù)在庫中的最終存儲。安全代理服務存在于客戶端應用與數(shù)據(jù)庫存儲引擎之間,負責完成庫中數(shù)據(jù)的加解密工作,加密數(shù)據(jù)存儲在安全代理服務中。
這種技術(shù)也會存在一些問題和限制:
1)由于在安全增強代理中需要存儲加密數(shù)據(jù),因此要解決與數(shù)據(jù)庫存儲數(shù)據(jù)的一致性問題,這基本不可實現(xiàn)。
2)數(shù)據(jù)的聯(lián)合檢索問題:由于在數(shù)據(jù)庫內(nèi)外都存在數(shù)據(jù),這些數(shù)據(jù)的聯(lián)合檢索將變得很困難;SQL語法的完全兼容也非常困難。
3)開發(fā)無法透明問題:數(shù)據(jù)庫協(xié)議雖然存在標準,但事實上每個不同的數(shù)據(jù)庫版本都會進行若干變更、擴展和增強,使用了這些特性的用戶必須進行改造。同時在安全代理中對數(shù)據(jù)庫通訊協(xié)議的模擬非常困難。
4)數(shù)據(jù)庫的優(yōu)化處理、事務處理、并發(fā)處理等特性都無法使用:查詢分析、優(yōu)化處理、事務處理、并發(fā)處理工作都需要在安全增強器中完成,無法使用數(shù)據(jù)庫在并發(fā)處理和查詢優(yōu)化上的優(yōu)勢,系統(tǒng)的性能和穩(wěn)定性更多地依賴于安全代理;
5) 對于對存儲過程、觸發(fā)器、函數(shù)等存儲程序的實現(xiàn)支持也非常困難。
另外該技術(shù)需要在安全代理服務層提供非常復雜的數(shù)據(jù)庫管理功能,如:SQL命令解析,通訊服務,加密數(shù)據(jù)索引存儲管理、事務管理等等,因此存在巨大的開發(fā)工作量及很高的技術(shù)復雜度,此外還有類似于存儲過程、觸發(fā)器等無法解決的技術(shù)問題。
應用層加密的主要技術(shù)原理在于,應用系統(tǒng)通過加密API(JDBC,ODBC,C API等)對敏感數(shù)據(jù)進行加密,將加密數(shù)據(jù)存儲到數(shù)據(jù)庫的底層文件中;在進行數(shù)據(jù)檢索時,將密文數(shù)據(jù)取回客戶端,再進行解密。另外應用系統(tǒng)將自行管理密鑰體系。
這種方案也存在明顯缺陷,最主要的不足在于,應用程序必須對數(shù)據(jù)進行加解密,增加編程復雜度,而且無法對現(xiàn)有的系統(tǒng)做到透明,應用程序必須進行大規(guī)模的改造。從效率角度來看,這種技術(shù)方案無法利用數(shù)據(jù)庫的索引機制,加密后數(shù)據(jù)的檢索性能將產(chǎn)生大幅度下降。
這種技術(shù)使用“視圖”+“觸發(fā)器”+“擴展索引”+“外部調(diào)用”的方式實現(xiàn)數(shù)據(jù)加密,同時保證應用完全透明。它的核心思想是充分利用數(shù)據(jù)庫自身提供的應用定制擴展能力,分別使用其觸發(fā)器擴展能力、索引擴展能力、自定義函數(shù)擴展能力以及視圖等技術(shù)來滿足數(shù)據(jù)存儲加密,加密后數(shù)據(jù)檢索,對應用無縫透明等最主要需求。
這種方案的技術(shù)原理主要有以下四個方面
(1)通過視圖實現(xiàn)加密數(shù)據(jù)透明查詢處理
數(shù)據(jù)庫的視圖可以實現(xiàn)對表內(nèi)數(shù)據(jù)的過濾、投影、聚集、關(guān)聯(lián)和函數(shù)運算。該方案正是通過數(shù)據(jù)庫的視圖原理實現(xiàn)對數(shù)據(jù)的透明訪問;首先對將原有的表進行改名,然后在該表上建立與原表同名的視圖;在視圖內(nèi)實現(xiàn)對敏感列的解密函數(shù)調(diào)用,實現(xiàn)數(shù)據(jù)的解密。
(2)通過觸發(fā)器實現(xiàn)數(shù)據(jù)的加密插入和更新處理
數(shù)據(jù)庫中的觸發(fā)器可以實現(xiàn)對數(shù)據(jù)更新動作的特定行為的響應,同時數(shù)據(jù)庫中可以支持針對視圖的觸發(fā)器。這種方案在建立的視圖上建立Instead of觸發(fā)器,通過Instead of觸發(fā)器實現(xiàn)對明文數(shù)據(jù)的加密,將加密數(shù)據(jù)插入到表中。
(3)通過數(shù)據(jù)庫的擴展索引接口實現(xiàn)加密索引
以Oracle數(shù)據(jù)庫為例,在Oracle Data Cartridge的索引擴展機制提供了一套現(xiàn)成的框架,可以自己定義索引并實現(xiàn)Operator,自行編寫索引在Create Index、Insert、Delete、Update語句執(zhí)行、以及Scan Index發(fā)生時的相應處理代碼。通過該機制,可以使用自定義的擴展加密索引,這樣當使用該索引對加密數(shù)據(jù)進行檢索時,可以進行正常的排序及比較,這也就解決了加密后數(shù)據(jù)檢索的難題,大幅度提升了密文檢索的效率。
(4)通過外部接口調(diào)用實現(xiàn)獨立于數(shù)據(jù)庫的權(quán)限控制和國產(chǎn)加密算法
在實現(xiàn)透明加密訪問和高效索引訪問之外,另一重要目的是實現(xiàn)對國產(chǎn)加密算法的調(diào)用和獨立于數(shù)據(jù)庫的權(quán)限控制。實現(xiàn)這一目的的技術(shù)關(guān)鍵是外部程序調(diào)用和外部通訊支持。在數(shù)據(jù)庫中支持外部程序調(diào)用,只要定義好通訊接口即可。那么這種方案可以將加密函數(shù)和解密函數(shù)做成外部調(diào)用,這樣不僅可以在外部調(diào)用國產(chǎn)加密設備的加密算法,還可以將權(quán)限校驗過程放在數(shù)據(jù)庫之外完成,確保了對超級用戶的權(quán)限限制。
目前國內(nèi)領先數(shù)據(jù)庫安全廠商,安華金和數(shù)據(jù)庫加密產(chǎn)品DBCoffer采用的即是這種技術(shù)的典型代表。