新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > 講解數(shù)據(jù)庫加密技術的功能特性與實現(xiàn)方法

講解數(shù)據(jù)庫加密技術的功能特性與實現(xiàn)方法

作者: 時間:2017-06-12 來源:網絡 收藏
信息安全的核心就是數(shù)據(jù)庫的安全,也就是說數(shù)據(jù)庫加密是信息安全的核心問題。數(shù)據(jù)庫數(shù)據(jù)的安全問題越來越受到重視,數(shù)據(jù)庫加密技術的應用極大的解決了數(shù)據(jù)庫中數(shù)據(jù)的安全問題,但實現(xiàn)方法各有側重。

隨著電子商務逐漸越來越多的應用,數(shù)據(jù)的安全問題越來越受到重視。一是企業(yè)本身需要對自己的關鍵數(shù)據(jù)進行有效的保護;二是企業(yè)從應用服務提供商(Application Service Provider,)處獲得應用支持和服務,在這種情況下,企業(yè)的業(yè)務數(shù)據(jù)存放在處,其安全性無法得到有效的保障。因為傳統(tǒng)的數(shù)據(jù)庫保護方式是通過設定口令字和訪問權限等方法實現(xiàn)的,數(shù)據(jù)庫管理員可以不加限制地訪問和更改數(shù)據(jù)庫中的所有數(shù)據(jù)。解決這一問題的關鍵是要對數(shù)據(jù)本身加密,即使數(shù)據(jù)不幸泄露或丟失,也難以被人破譯,關于這一點現(xiàn)基本數(shù)據(jù)庫產品都支持對數(shù)據(jù)庫中的所有存儲。

對數(shù)據(jù)進行加密,主要有三種方式:、客戶端(外層)加密、服務器端(內核層)加密??蛻舳思用艿暮锰幨遣粫又財?shù)據(jù)庫服務器的負載,并且可實現(xiàn)網上的傳輸加密,這種加密方式通常利用數(shù)據(jù)庫外層工具實現(xiàn)。而服務器端的加密需要對數(shù)據(jù)庫管理系統(tǒng)本身進行操作,屬核心層加密,如果沒有數(shù)據(jù)庫開發(fā)商的配合,其實現(xiàn)難度相對較大。此外,對那些希望通過獲得服務的企業(yè)來說,只有在客戶端實現(xiàn)加解密,才能保證其數(shù)據(jù)的安全可靠。

1. 常用數(shù)據(jù)庫加密技術

信息安全主要指三個方面。一是數(shù)據(jù)安全,二是系統(tǒng)安全,三是電子商務的安全。核心是數(shù)據(jù)庫的安全,將數(shù)據(jù)庫的就抓住了信息安全的核心問題。

對數(shù)據(jù)庫中是為增強普通關系數(shù)據(jù)庫管理系統(tǒng)的安全性,提供一個安全適用的數(shù)據(jù)庫加密平臺,對數(shù)據(jù)庫存儲的內容實施有效保護。它通過數(shù)據(jù)庫存儲加密等安全方法實現(xiàn)了數(shù)據(jù)庫數(shù)據(jù)存儲保密和完整性要求,使得數(shù)據(jù)庫以密文方式存儲并在密態(tài)方式下工作,確保了數(shù)據(jù)安全。

1.1 數(shù)據(jù)庫加密技術的功能和特性

經過近幾年的研究,我國數(shù)據(jù)庫加密技術已經比較成熟。

一般而言,一個行之有效的數(shù)據(jù)庫加密技術主要有以下6個方面的功能和特性。

(1)身份認證:

用戶除提供用戶名、口令外,還必須按照系統(tǒng)安全要求提供其它相關安全憑證。如使用終端密鑰。

(2) 通信加密與完整性保護:

有關數(shù)據(jù)庫的訪問在網絡傳輸中都被加密,通信一次一密的意義在于防重放、防篡改。

(3) 數(shù)據(jù)庫數(shù)據(jù)存儲加密與完整性保護:

數(shù)據(jù)庫系統(tǒng)采用數(shù)據(jù)項級存儲加密,即數(shù)據(jù)庫中不同的記錄、每條記錄的不同字段都采用不同的密鑰加密,輔以校驗措施來保證數(shù)據(jù)庫數(shù)據(jù)存儲的保密性和完整性,防止數(shù)據(jù)的非授權訪問和修改。

(4) 數(shù)據(jù)庫加密設置:

系統(tǒng)中可以選擇需要加密的數(shù)據(jù)庫列,以便于用戶選擇那些敏感信息進行加密而不是全部數(shù)據(jù)都加密。只對用戶的敏感數(shù)據(jù)加密可以提高數(shù)據(jù)庫訪問速度。這樣有利于用戶在效率與安全性之間進行自主選擇。

(5)多級密鑰管理模式:

主密鑰和主密鑰變量保存在安全區(qū)域,二級密鑰受主密鑰變量加密保護,數(shù)據(jù)加密的密鑰存儲或傳輸時利用二級密鑰加密保護,使用時受主密鑰保護。

(6) 安全備份:

系統(tǒng)提供數(shù)據(jù)庫明文備份功能和密鑰備份功能。

1.2 對數(shù)據(jù)庫加密系統(tǒng)基本要求

(1) 字段加密;

(2) 密鑰動態(tài)管理;

(3) 合理處理數(shù)據(jù);

(4) 不影響合法用戶的操作;

(5) 防止非法拷貝;

1.3 數(shù)據(jù)加密的算法

加密算法是一些公式和法則,它規(guī)定了明文和密文之間的變換方法。密鑰是控制加密算法和解密算法的關鍵信息,它的產生、傳輸、存儲等工作是十分重要的。

數(shù)據(jù)加密的基本過程包括對明文(即可讀信息)進行翻譯,譯成密文或密碼的代碼形式。該過程的逆過程為解密,即將該編碼信息轉化為其原來的形式的過程。

DES算法, DES(Data Encryption Standard)是由IBM公司在1970年以后發(fā)展起來的,于1976年11月被美國政府采用,DES隨后被美國國家標準局和美國國家標準協(xié)會(American National Standard Institute,ANSI)承認, DES算法把64位的明文輸入塊變?yōu)?4位的密文輸出塊,它所使用的密鑰也是64位,DES算法中只用到64位密鑰中的其中56位。

三重DES, DES的密碼學缺點是密鑰長度相對比較短,因此,人們又想出了一個解決其長度的方法,即采用三重DES,三重DES是DES的一種變形。這種方法使用兩個獨立的56位密鑰對交換的信息(如EDI數(shù)據(jù))進行3次加密,從而使其有效密鑰長度達到112位或168位, 對安全性有特殊要求時則要采用它。

RSA算法它是第一個既能用于數(shù)據(jù)加密也能用于數(shù)字簽名的算法。它易于理解和操作,也很流行。算法的名字就是發(fā)明者的名字:Ron Rivest, AdiShamir 和Leonard Adleman, 但RSA的安全性一直未能得到理論上的證明, RSA的安全性依賴于大數(shù)的因子分解,但并沒有從理論上證明破譯RSA的難度與大數(shù)分解難度等價。即RSA的重大缺陷是無法從理論上把握它的保密性能如何,而且密碼學界多數(shù)人士傾向于因子分解不是NPC問題, RSA算法是第一個能同時用于加密和數(shù)字簽名的算法,也易于理解和操作。RSA是被研究得最廣泛的公鑰算法,從提出到現(xiàn)在已近二十年,經歷了各種攻擊的考驗,逐漸為人們接受,普遍認為是目前最優(yōu)秀的公鑰方案之一。

AES是美國高級加密標準算法,將在未來幾十年里代替DES在各個領域中得到廣泛應用,盡管人們對AES還有不同的看法,但總體來說,AES作為新一代的數(shù)據(jù)加密標準匯聚了強安全性、高性能、高效率、易用和靈活等優(yōu)點。AES設計有三個密鑰長度:128,192,256位,相對而言,AES的128密鑰比DES的56密鑰強1021倍。AES算法主要包括三個方面:輪變化、圈數(shù)和密鑰擴展。在理論上,此加密方法需要國家軍事量級的破解設備運算10年以上時間才可能破譯。

1.4 數(shù)據(jù)庫數(shù)據(jù)加密的實現(xiàn)

使用數(shù)據(jù)庫安全保密中間件對數(shù)據(jù)庫進行加密是最簡便直接的方法。主要是通過、內核層(服務器端)加密和DBMS外層(客戶端)加密。

,在系統(tǒng)中無法辨認數(shù)據(jù)庫文件中的數(shù)據(jù)關系,將數(shù)據(jù)先在內存中進行加密,然后文件系統(tǒng)把每次加密后的內存數(shù)據(jù)寫入到數(shù)據(jù)庫文件中去,讀入時再逆方面進行解密就,這種加密方法相對簡單,只要妥善管理密鑰就可以了。缺點對數(shù)據(jù)庫的讀寫都比較麻煩,每次都要進行加解密的工作,對程序的編寫和讀寫數(shù)據(jù)庫的速度都會有影響。

在DBMS內核層實現(xiàn)加密需要對數(shù)據(jù)庫管理系統(tǒng)本身進行操作。這種加密是指數(shù)據(jù)在物理存取之前完成加解密工作。這種加密方式的優(yōu)點是加密功能強,并且加密功能幾乎不會影響DBMS的功能,可以實現(xiàn)加密功能與數(shù)據(jù)庫管理系統(tǒng)之間的無縫耦合。其缺點是加密運算在服務器端進行,加重了服務器的負載,而且DBMS和加密器之間的接口需要DBMS開發(fā)商的支持。

在DBMS外層實現(xiàn)加密的好處是不會加重數(shù)據(jù)庫服務器的負載,并且可實現(xiàn)網上的傳輸,加密比較實際的做法是將數(shù)據(jù)庫加密系統(tǒng)做成DBMS的一個外層工具,根據(jù)加密要求自動完成對數(shù)據(jù)庫數(shù)據(jù)的加解密處理。

采用這種加密方式進行加密,加解密運算可在客戶端進行,它的優(yōu)點是不會加重數(shù)據(jù)庫服務器的負載并且可以實現(xiàn)網上傳輸?shù)募用埽秉c是加密功能會受到一些限制,與數(shù)據(jù)庫管理系統(tǒng)之間的耦合性稍差。

數(shù)據(jù)庫加密系統(tǒng)分成兩個功能獨立的主要部件:一個是加密字典管理程序,另一個是數(shù)據(jù)庫加解密引擎。數(shù)據(jù)庫加密系統(tǒng)將用戶對數(shù)據(jù)庫信息具體的加密要求以及基礎信息保存在加密字典中,通過調用數(shù)據(jù)加解密引擎實現(xiàn)對數(shù)據(jù)庫表的加密、解密及數(shù)據(jù)轉換等功能。數(shù)據(jù)庫信息的加解密處理是在后臺完成的,對數(shù)據(jù)庫服務器是透明的。

按以上方式實現(xiàn)的數(shù)據(jù)庫加密系統(tǒng)具有很多優(yōu)點:首先,系統(tǒng)對數(shù)據(jù)庫的最終用戶是完全透明的,管理員可以根據(jù)需要進行明文和密文的轉換工作;其次,加密系統(tǒng)完全獨立于數(shù)據(jù)庫應用系統(tǒng),無須改動數(shù)據(jù)庫應用系統(tǒng)就能實現(xiàn)數(shù)據(jù)加密功能;第三,加解密處理在客戶端進行,不會影響數(shù)據(jù)庫服務器的效率。

數(shù)據(jù)庫加解密引擎是數(shù)據(jù)庫加密系統(tǒng)的核心部件,它位于應用程序與數(shù)據(jù)庫服務器之間,負責在后臺完成數(shù)據(jù)庫信息的加解密處理,對應用開發(fā)人員和操作人員來說是透明的。數(shù)據(jù)加解密引擎沒有操作界面,在需要時由操作系統(tǒng)自動加載并駐留在內存中,通過內部接口與加密字典管理程序和用戶應用程序通訊。數(shù)據(jù)庫加解密引擎由三大模塊組成:加解密處理模塊、用戶接口模塊和數(shù)據(jù)庫接口模塊。

2. 結束語

上面的論述還遠遠沒達到數(shù)據(jù)庫安全需要,比如現(xiàn)在的數(shù)據(jù)庫基本都基于網絡架構,網際的安全傳輸?shù)龋彩且攸c考慮的方面。一個好的安全系統(tǒng)必須綜合考慮核運用這些技術,以保證數(shù)據(jù)的安全,通過以上論述希望對大家有所幫助,同時也和大家一起討論一起學習,共同進步。




評論


相關推薦

技術專區(qū)

關閉