數據庫加密的革命性創新技術
【51CTO.com 綜合消息】數據庫系統擔負著存儲和管理信息的任務,集中存放著大量數據,而且又為眾多用戶直接共享。泄露或破壞這些信息將會造成企業癱瘓,給國家帶來巨大的損失,甚至危及國家安全,需要采取適當的措施進行數據庫內數據的防護。
事實證明,保證數據安全性的最好方法是數據加密。歐美國家雖然提供了一些加密產品,但很難保證其中沒有陷阱,國內目前也沒有真正有效的數據庫加密軟件?,F在流行的大型數據庫系統提供了許多安全技術,基本能夠滿足一般的數據庫應用需求。但對一些特殊的安全需求,它們提供的安全技術還是不夠完備的,因此,為了企業、政府甚至是國家的安全,開發安全、可靠的數據庫加密系統已迫在眉睫。
一、數據庫加密的常用辦法及其缺陷
現在數據庫系統主要基于三個層次進行數據庫加密工作,即0S、DBMS內核層、DBMS外層。目前常用的辦法是在DBMS外核層加密。 DBMS外核層加密是將數據庫加密系統做成DBMS的一個工具,其優點是不會加重數據庫服務器的負載并可以實現網上傳輸加密,缺點是加密功能會受一些限制。作為一種通過加密方式來保護數據的專門系統,數據庫加密系統并不是一個數據庫應用系統,而是一個將DBMS部分功能、加密器和密鑰管理三者緊密結合起來的系統。顯然數據庫加密系統實際上主要實現的還是加密器(包括加密定義工具)的功能,它既可工作于數據庫應用系統與DBMS之間,又可作為一個獨立工作的系統直接與DBMS交互。
選擇數據庫加密方法要充分考慮數據庫特點,如數據保存比較長,每次操作涉及數據量較大等。下面分析幾種常用的加密方法,為了適合數據庫的特點,還需要對數據庫加密方法進行局部的改動。
1、基于文件的數據庫加密技術
把數據庫文件作為整體,用加密器和加密算法對整個數據庫文件加密,形成密文來保證數據的真實性和完整性。利用這種方法,數據的共享是通過用戶用解密密鑰對整個數據庫文件進行解密來實現的,但多方面的缺點極大地限制了這一方法的實際應用。首先,數據修改的工作將變得十分困難,需要進行解密、修改、復制和加密四個操作,極大地增加了系統的時空開銷;其次,即使用戶只是需要查看某一條記錄,也必須將整個數據庫文件解密,這樣無法實現對文件中不需要讓用戶知道的信息的控制。因此,這種力法只適用于能回避這些限制的應用環境。
2、基于記錄的數據庫加密技術
一般而言,數據庫系統中每條記錄所包含的信息都具有一定的封閉性,即從某種程度上說它獨立完整地存儲了一個實體的數據,因此是最常用的數據庫信息加密手段。這種方法的基本思路是:基于記錄的加密技術在各自密書的作用下,將數據庫的每一個記錄加密成密文并存放于數據庫文件中;記錄的查找是通過將需查找的值加密成密碼文后進行的,然而基于記錄的數據庫保護有一個缺點,就是在解密一個記錄的數據時,無法實現對這個記錄中不需要的字段不解密,在選擇某個字段的某些記錄時,如果不對含有這個字段的所有記錄進行解密就無法進行選擇。
3、子密鑰數據庫加密方法
子密鑰加密算法的核心思想是根據數據庫(主要針對關系型數據庫)中數據組織的特點。在加密時以記錄為單位進行加密操作,而在查詢需要解密時。則是以數據項為單位進行解密操作。兩者所用的密鑰是不同的,加密所用的密鑰是針對整個記錄的密鑰,而解密所用的密鑰是針對該數據項的子密鑰。該算法的理論依據是我國著名的孫子定理(中國剩余定理)
二、常用數據庫加密方案對數據庫的影響
數據加密是通過對明文進行復雜的加密操作,進而無法發現明文和密文之間、密文和密鑰之間的內在關系,也就是說經過加密的數據經得起來自OS和DBMS的攻擊。但在數據庫中以密文形式存在的敏感數據無法使用數據庫管理系統(DBMS)的一些功能。DBMS的功能比較完備,然而數據庫數據加密以后,DBMS的一些功能將無法直接使用。
1、加密字段不能實現索引功能。
為了達到迅速查詢的目的,數據庫文件需要建立一些索引。索引建立和應用必須是明文狀態,否則將失去索引的作用。有的DBMS中可以建立索引,這類索引也需要在明文狀態下建立、維護和使用。
2、表間的連接碼字段不能加密。
數據模型規范化以后,數據庫表之間存在著密切的聯系,這種相關性往往是通過局部編碼聯系的,這些編碼若加密就無法進行表與表之間的連接運算。
3、無法實現對數據制約因素的定義。
數據庫管理系統定義了數據之間的制約規則。數據一旦加密,DBMS將無法實現這一功能,而且,值域的定義也無法進行。
4、密文數據無法實現SQL的排序、分組和分類功能。
SELECT語句中的Group、Orderby、Having子句分別完成分組、排序、分類等操作。這些子句的操作對象如果是加密數據,那么解密后的明文數據將失去原語句的分組、排序、分類作用,顯然這不是用戶所需要的。
5、SQL語言中的內部函數將對加密數據失去作用。
6、BDMS對各種類型數據均提供了一些內部函數,這些函數不能直接作用于加密數據。
7、BDMS的一些應用開發工具的使用受到限制。
DBMS的一些應用開發工具不能直接對加密數據進行操作,因而它們的使用會受到限制。
數據庫加密影響了一些數據庫管理系統的功能,如閱讀語句中的函數、排序、分組等,但可以通過組件技術來實現這些功能,如可采用SQL解釋器。所以說數據庫加密以后,DBMS的一些功能將無法直接使用,但可以在DBMS外層的SMS(安全管理系統)中增加組件來實現這些功能。
三、全新的數據庫加密解決方案——DataBaseSec
鑒于傳統數據庫加密辦法具有種種缺陷,并對數據庫性能造成很大的影響,北京億賽通科技發展有限公司推出了全新的數據庫加密系統DataBaseSec。DataBaseSec拋棄了傳統的數據庫加密的思路,而是從數據庫的存儲設備著手,通過全磁盤加密結合端口管理的方式,真正實現了數據庫全部數據加密,并有效地解決了數據庫管理員的超級權力可能導致的泄密問題,是全球最為領先的解決方案。
億賽通數據庫加密系統DataBaseSec主要有以下優勢:
1.采用高強度的加密算法,加密后的數據不可破譯;
2.數據信息在加密后,其占用的存儲空間并不明顯增大;
3.全磁盤加密技術是透明動態加解密技術,加密和解密速度快,不改變用戶操作系統,不降低系統性能,對用戶來說完全透明;
4.采用全磁盤加密技術與端口控制相結合的制衡機制,能保證數據庫管理員和網絡管理員之間互相制約,解決了數據庫管理員權限過大無法控制的問題;
5.對數據庫的加密不影響系統的原有功能,保持對數據庫操作的靈活性和簡便性;
6.加密后的數據庫仍能滿足用戶在不同類別程度的訪問。