倪兆霞
摘 要:信息安全的核心就是數據庫的安全,也就是說數據庫加密是信息安全的核心問題。數據庫數據的安全問題越來越受到重視,數據庫加密技術的應用極大的解決了數據庫中數據的安全問題,但實現方法各有側重。
關鍵詞:數據庫加密;加密算法、加密實現;加密的應用
一、加密的概念
數據加密的基本過程就是對原來為明文的文件或數據按某種算法進行處理,使其成為不可讀的一段代碼,通常稱為“密文”,使其只能在輸入相應的密鑰之后才能顯示出本來內容,通過這樣的途徑來達到保護數據不被非法人竊取、閱讀的目的。該過程的逆過程為解密,即將該編碼信息轉化為其原來數據的過程。
二、 數據庫加密技術的功能和特性
一般而言,一個行之有效的數據庫加密技術主要有以下6個方面的功能和特性。
1、身份認證。用戶除提供用戶名、口令外,還必須按照系統安全要求提供其它相關安全憑證。如使用終端密鑰。
2、通信加密與完整性保護。有關數據庫的訪問在網絡傳輸中都被加密,通信一次一密的意義在于防泄密、防篡改。
3、數據庫數據存儲加密與完整性保護。數據庫系統采用數據項級存儲加密,即數據庫中不同的記錄、每條記錄的不同字段都采用不同的密鑰加密,輔以校驗措施來保證數據庫數據存儲的保密性和完整性,防止數據的非授權訪問和修改。
4、數據庫加密設置。系統中可以選擇需要加密的數據庫列,以便于用戶選擇那些敏感信息進行加密而不是全部數據都加密。只對用戶的敏感數據加密可以提高數據庫訪問速度。這樣有利于用戶在效率與安全性之間進行自主選擇。
5、多級密鑰管理模式。主密鑰和主密鑰變量保存在安全區域,二級密鑰受主密鑰變量加密保護,數據加密的密鑰存儲或傳輸時利用二級密鑰加密保護,使用時受主密鑰保護。
6、安全備份。系統提供數據庫明文備份功能和密鑰備份功能。
三、 數據加密的算法
加密算法是一些公式和法則,它規定了明文和密文之間的變換方法。密鑰是控制加密算法和解密算法的關鍵信息,它的產生、傳輸、存儲等工作是十分重要的。
數據加密的基本過程包括對明文(即可讀信息)進行翻譯,譯成密文或密碼的代碼形式。該過程的逆過程為解密,即將該編碼信息轉化為其原來的形式的過程。
DES算法,對稱密鑰加密算法DES(Data Encryption Standard)是把64位的明文輸入塊變為64位的密文輸出塊,它所使用的密鑰也是64位,DES算法中只用到64位密鑰中的其中56位。DES的密碼學缺點是密鑰長度相對比較短,因此,人們又想出了一個解決其長度的方法,即采用三重DES,三重DES是DES的一種變形。這種方法使用兩個獨立的56位密鑰對交換的信息如EDI數據進行3次加密,從而使其有效密鑰長度達到112位或168位, 對安全性有特殊要求時則要采用它。
RSA(Rivest-Shamir-Adleman)算法它是第一個既能用于數據加密也能用于數字簽名的算法。它易于理解和操作,也很流行。但RSA的安全性一直未能得到理論上的證明, RSA的安全性依賴于大數的因子分解,但并沒有從理論上證明破譯RSA的難度與大數分解難度等價。
AES是美國高級加密標準算法,將在未來幾十年里代替DES在各個領域中得到廣泛應用,盡管人們對AES還有不同的看法,但總體來說,AES作為新一代的數據加密標準匯聚了強安全性、高性能、高效率、易用和靈活等優點。
四、數據庫數據加密的實現
使用數據庫安全保密中間件對數據庫進行加密是最簡便直接的方法。主要是通過系統中加密、DBMS內核層(服務器端)加密和DBMS外層(客戶端)加密。
在系統中加密,在系統中無法辨認數據庫文件中的數據關系,將數據先在內存中進行加密,然后文件系統把每次加密后的內存數據寫入到數據庫文件中去,讀入時再逆方面進行解密,這種加密方法相對簡單,只要妥善管理密鑰就可以了。
在DBMS內核層實現加密需要對數據庫管理系統本身進行操作。這種加密是指數據在物理存取之前完成加解密工作。這種加密方式的優點是加密功能強,并且加密功能幾乎不會影響DBMS的功能,可以實現加密功能與數據庫管理系統之間的無縫耦合。
數據庫加密系統分成兩個功能獨立的主要部件:一個是加密字典管理程序,另一個是數據庫加解密引擎。數據庫加密系統將用戶對數據庫信息具體的加密要求以及基礎信息保存在加密字典中,通過調用數據加解密引擎實現對數據庫表的加密、解密及數據轉換等功能。數據庫信息的加解密處理是在后臺完成的,對數據庫服務器是透明的。
五、加密技術的應用
1、在電子商務方面的應用
電子商務(E-business)要求顧客可以在網上進行各種商務活動,不必擔心自己的信用卡會被人盜用。在過去,用戶為了防止信用卡的號碼被竊取到,一般是通過電話訂貨,然后使用用戶的信用卡進行付款。現在人們開始用RSA(一種公開/私有密鑰)的加密技術,提高信用卡交易的安全性,從而使電子商務走向實用成為可能。
2、加密技術在VPN中的應用
當今的網絡社會人們的要求希望將這些LAN連結在一起組成一個公司的廣域網,這個在現在已不是什么難事了。現在具有加密/解密功能的路由器已到處都是,這就使人們通過互聯網連接這些局域網成為可能,這就是我們通常所說的虛擬專用網(Virtual Private Network ,VPN)。當數據離開發送者所在的局域網時,該數據首先被用戶湍連接到互聯網上的路由器進行硬件加密,數據在互聯網上是以加密的形式傳送的,當達到目的LAN的路由器時,該路由器就會對數據進行解密,這樣目的LAN中的用戶就可以看到真正的信息了。
3、密鑰交換
假設你需要發送一份受保護報文給某人,而你們相互不認識。這種情形比你想像的要普遍。例如,可能想發送你的所得稅申報表給政府。你希望信息受保護,但并不需要知道接收信息的人是誰。同樣,可能想用你的web瀏覽器連接一個購物站點,或交換私人的(加密的)E-mail,或安排兩臺主機建立受保護的信道。這些情形都需要交換加密密鑰,并且沒有其他人能截取它。事先不認識的雙方交換密碼密鑰的問題既困難也重要。實際上,這個問題幾乎是循環的:為了建立一個加密的會話,就需要一個加密的手段來交換密鑰。
4、數字簽名
普通人會遇到的另一種典型情形是:從一個人到另一個人的資金轉移。換句話說,我們希望能用電子方式發送計算機化的支票。使用支票的交易要依賴規定格式的有形事物,但通過計算機交易就不存在有形事物了,因此,通過計算機同意支付就需要一種不同的方式。數字簽名(digital signature)就是產生和真實簽名相同效果的協議:它是一個只有發送者才可以生成的標志,而且其他人可以輕易的辨認出它是否屬于發送者。就像真實簽名一樣,數字簽名用來證實對報文的批準。公鑰加密完全適合于數字簽名,但還有其他的一些途徑來實現,有人使用對稱加密,有人使用非對稱的。
六、總結
由于在現實生活中,我們要確保一些敏感的數據只能被有相應權限的人看到,要確保信息在傳輸的過程中不會被篡改,截取,這就需要很多的安全系統大量的應用于政府、大公司以及個人系統。該論述還遠遠沒達到數據庫安全需要,比如現在的數據庫基本都給與網絡架構,網際的安全傳輸等,也是要重點考慮的方面等等。 一個好的安全系統必須綜合考慮這些技術的綜合運用,以保證數據的安全。