四種常見數據庫加密技術分析

數據庫 技術 操作系統 SQL 安華金和 2019-04-14

“xxx拖庫”、“xxxx數據洩露”等等層出不窮的安全事件表明,要想根本上解決這種越過網絡防護,繞開權控體系,直接複製文件塊並異地還原解析的“內鬼”式攻擊方式,必須採用存儲層的加密技術,確保敏感信息一旦落盤,必須密文存儲。隨著數據庫加密技術在國內市場的興起,更多數據安全企業的湧入,市面上出現了幾種具有代表性的數據庫加密技術。

一、前置代理及加密網關技術

1)技術原理

該方案的總體技術思路即在數據庫之前增加一道安全代理服務,對數據庫訪問的用戶都必須經過該安全代理服務,在此服務中實現如數據加解密、存取控制等安全策略。然後安全代理服務通過數據庫的訪問接口實現數據存儲。安全代理服務存在於客戶端應用與數據庫存儲引擎之間,負責完成數據的加解密工作,加密數據存儲在安全代理服務中。

四種常見數據庫加密技術分析


2)利弊分析:前置代理及代理網關加密技術,邁不過去的“坎”

①由於在安全增強代理中需要存儲加密數據,因此要解決與數據庫存儲數據的一致性問題,這基本不可實現。

②數據的聯合檢索問題:由於在數據庫內外都存在數據,這些數據的聯合檢索將變得很困難;SQL語法的完全兼容也非常困難。

③開發無法透明問題:數據庫協議雖然存在標準,但事實上每個不同的數據庫版本都會進行若干變更、擴展和增強,使用了這些特性的用戶必須進行改造。同時在安全代理中對數據庫通訊協議的模擬非常困難。

④數據庫的優化處理、事務處理、併發處理等特性都無法使用:查詢分析、優化處理、事務處理、併發處理工作都需要在安全增強器中完成,無法使用數據庫在併發處理和查詢優化上的優勢,系統的性能和穩定性更多地依賴於安全代理;

⑤對於對存儲過程、觸發器、函數等存儲程序的實現支持也非常困難。

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

一、應用層改造加密技術

1)技術原理應用層

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

2)利弊分析:應用層加密技術,只是看起來很美

最主要不足在於:應用程序必須對數據進行加解密,增加編程複雜度,而且無法對現有系統做到透明,應用程序必須進行大規模改造。這種技術無法利用數據庫的索引機制,加密後數據的檢索性能大幅下降。

三、基於文件級的加解密技術

1)技術原理

顧名思義,基於文件級的加解密技術是不與數據庫自身原理融合,只是對數據存儲的載體從操作系統或文件系統層面進行加解密的技術手段。

這種技術通過在操作系統中植入具有一定入侵性的“鉤子”進程,在數據存儲文件被打開的時候進行解密動作,在數據落地的時候執行加密動作,具備基礎加解密能力的同時,能夠根據操作系統用戶或者訪問文件的進程ID進行基本的訪問權限控制。

四種常見數據庫加密技術分析


2)利弊分析:跳出“體系”之外,優勢與風險同在

這種技術巧妙的繞過了讓各路英雄頭疼的問題。對數據庫高端特性兼容、查詢檢索性能保障、統計分析效率等關鍵技術指標均有較好的適應情況。

然而在這種機制下,存在的問題也會比較明顯,包含以下幾類:

①操作系統或文件系統級加解密,對不同平臺適應性較差,而且與內核綁定過重,一旦出現程序故障,會對操作系統造成較大影響,容易導致業務中斷。

②操作系統或文件級加解密的權控在系統層,因此無法單獨完成對不同數據庫賬號的訪問權限的設置,需要和其他產品與技術進行組合。

③操作系統或文件級的加解密針對落地文件進行操作,加解密粒度比較粗糙,無法針對列級進行加密。

四、基於視圖及觸發器的後置代理技術

1)技術原理

這種技術是使用“視圖”+“觸發器”+“擴展索引”+“外部調用”的方式實現數據加密,同時保證應用完全透明。核心思想是充分利用數據庫自身提供的應用定製擴展能力,分別使用其觸發器擴展能力、索引擴展能力、自定義函數擴展能力以及視圖等技術來滿足數據存儲加密,加密後數據檢索,對應用無縫透明等核心需求。

四種常見數據庫加密技術分析


2)利弊分析:後置代理,獨自過獨木橋

以傳統的列加密DBCoffer為代表的後置代理加密技術,經過幾年演進逐步被大家接受,這種技術擁有前置代理和應用改造所不具備的透明性,靈活性以及數據庫高端技術的兼容性,可謂率先走過了數據庫加密這一風險與挑戰都巨大的“獨木橋”。然而向前看,“獨木橋”還在。

“應用環境下,單表億級數據規模,加密後查詢檢索性能會不會受到明顯影響?”“對密文數據的統計分析操作,如何保證速度基本不下降?”“實施加密後,對密文數據的運維、遷移、備份等操作,如何將改動降至最低”“大量的數據加密,會否帶來更大量的空間膨脹”……這些自數據庫加密技術問世以來就相伴而生的問題,不僅變成了用戶心頭的疑雲,也成為了後置代理加密技術提供商亟待解決的當務之急。

壓力下的技術突破——表空間加密技術

有沒有一種加密手段能夠滿足如下要求呢?

1)透明性足夠好。不影響sql語句執行,不需要應用改造已上線系統。

2)兼容性足夠好。既能滿足多節點,數據分區等特性,又滿足該數據庫常用的運維工具和手段。

3)性能足夠好。即使對密文字段進行統計分析,或批量模糊查詢,也能保證其可用。

4)安全性足夠好。密鑰獨立,權控獨立,算法獨立(國密),均納入剛需。

放眼目前的技術體系,多數商業數據庫已經提供了基於存儲文件層進行加解密的手段,儘管不同數據庫實現機制可能不同,但是這些技術手段統稱為TDE(transparent Data Encryption),並且作為數據庫的組件提供用戶使用。這種組件的優點顯而易見:第一,來自原廠,兼容適配有保障;第二,在邏輯層之下,存儲層之上進行加密,保證數據庫高端檢索查詢特性無損。同時不影響透明性。

安華金和數據庫加密系統採用的技術正是在這種TDE組件上進行改造,通過插件的方式,替換掉數據庫源生TDE組件的加密算法及密鑰管理邏輯,並植入獨立的權限控制體系。實現了透明、兼容、性能、安全這四個關鍵因素的平衡。

相關推薦

推薦中...