數據加密技術論文(2)
數據加密技術論文
數據加密技術論文篇二
數據庫加密技術研究
摘要:文章結合筆者多年工作的實踐經驗,就數據庫加密層次的選擇、加密算法的選擇以及數據庫加密與外部系統(tǒng)之間的關系進行了分析與闡述。
關鍵詞:數據庫加密;加密算法;加密粒度
隨著計算機在社會各個領域的廣泛應用,人們對信息系統(tǒng)的依賴程度越來越高,數據庫在計算機和軟件開發(fā)領域的作用是至關重要。數據庫系統(tǒng)負擔著客戶端對數據信息的訪問控制和存儲管理的任務,數據庫中的數據(包括一些機密數據)一般以明文的形式保存。關鍵數據以明文的形式在數據庫中存儲使數據庫的安全性降低,通過對數據庫中關鍵字段的加密可以提高其安全性。
一、加密層次的選擇
可以考慮在3個不同層次實現(xiàn)對數據庫數據的加密,這3個層次分別是OS、DBMS內核層和DBMS外層。
第一,從操作系統(tǒng)的角度來看OS層位于DBMS層之下,所以無法辨認數據庫文件中的數據關系,也就無法合理地產生、管理和使用密鑰。因此,在OS層對數據庫文件進行加密,對于大型數據庫來說,目前還難以實現(xiàn)。
第二,DBMS內核層加密是指數據在物理存取之前完成加解密工作。這種方式的優(yōu)點是加密功能強,并且加密功能幾乎不會影響DBMS的功能;缺點是在服務器端進行加解密運算,加重了數據庫服務器的負載,并且因為加解密是在DBMS內核中完成,就勢必需要數據庫供應商對其進行技術支持,這一點不容易實現(xiàn)。
第三,DBMS外層實現(xiàn)加密的優(yōu)點是可擴充性強,數據庫的加解密系統(tǒng)可以做成一個獨立于DBMS的平臺,不需要數據庫供應商進行技術支持,并且可以將加密密文直接在網上傳輸;缺點是數據庫的功能和查詢效率會受一些限制。
根據以上理論得出,應用程序的數據通過數據庫加密接口轉換成相應的密文保存在數據源中;當應用程序需要調用數據源時,通過數據解密模塊將相應的密文轉換成原本的數據。這樣,即使其他非法用戶竊取數據庫文件他們也只能得到密文無法得到有意義的明文,從而提高數據庫的安全性。
數據庫加密系統(tǒng)分成兩個功能獨立的主要部件:一個是加密字典管理程序,另一個是數據庫加解密引擎。按以上方式實現(xiàn)的數據庫加密系統(tǒng)具有很多優(yōu)點:首先,系統(tǒng)對數據庫的最終用戶是完全透明的,管理員可以根據需要進行明文和密文的轉換工作;其次,加密系統(tǒng)完全獨立于數據庫應用系統(tǒng),無須改動數據庫應用系統(tǒng)就能實現(xiàn)數據加密功能;再次,加解密處理在客戶端進行,不會影響數據庫服務器的效率。
二、加密算法
數據庫加密技術的安全很大程度上取決于加密算法的強度,加密算法直接影響到數據庫加密的安全和性能。因此,加密算法的選擇在數據庫加密方案中也顯得舉足輕重。選擇算法主要指標是安全和便于使用。
安全的算法是可靠的算法。一個算法要可靠應該至少滿足這樣一些條件:首先,核心加密必須公認可靠,如DES和RSA算法,他們經過二十多年的考驗、鑒定,數人攻擊而無人承認攻破;加密算法復雜度,主要是解密算法的復雜性要強,事實證明,僅靠對算法保密是不安全的,因為軟件加密可以通過反匯編可執(zhí)行程序來發(fā)現(xiàn);另外加密算法必須支持足夠長的密鑰,加密算法的實現(xiàn)必須可靠,這樣才能具有較強的抗分析破譯能力。
三、數據庫加密與操作系統(tǒng)的關系
數據庫管理系統(tǒng)是建立在操作系統(tǒng)的平臺上,數據庫管理系統(tǒng)的安全離不開操作系統(tǒng)的安全,沒有操作系統(tǒng)的安全,就不能真正解決數據庫的安全。作為加強數據庫安全技術之一,數據庫加密,必須依賴操作系統(tǒng)自身的安全。如數據以加密形式存儲于數據庫中,一旦訪問這些加密數據,往往需要把它們調入內存并解密。這時,如果內存的安全得不到保障,那么這些數據就可能被攻擊者竊取,即使再好的加密方法也是無效的。而內存的安全問題通常由操作系統(tǒng)解決。典型的,操作系統(tǒng)提供的安全機制有:
第一,訪問控制機制。操作系統(tǒng)提供了訪問控制機制,用來標識、鑒別、審核用戶,只有通過認證的用戶才能根據授權訪問特定的數據。但是,操作系統(tǒng)中的對象一般是文件系統(tǒng),粒度較粗。而數據庫需要處理更為精細粒度的數據,如記錄、字段值,所以,數據庫管理系統(tǒng)也提供了訪問控制機制,以便更好控制數據庫中數據的訪問。數據庫加密和數據庫訪問控制室兩種不同的安全措施,二者不可互相替換。
數據庫加密以犧牲性能為代價,并且不能提供靈活的訪問控制。因此,數據庫中的數據加密后,一方面應該對特權用戶(DBA,SA)的訪問進行限制,使只有經過授權的用戶才能訪問密文數據,為數據增加進一步的保護;另一方面也不能單純?yōu)榱税踩远ㄟ^分配密鑰控制數據庫的訪問,因為這樣極大地犧牲了系統(tǒng)性能,破壞了安全性和可用性的平衡,并且失去了靈活的控制策略。
加密技術和訪問控制技術是兩種不同的安全措施,可以這么說,如果訪問控制是保護數據庫的第一道防線,那么加密技術就是進一步保護數據庫的第二道防線,有了加密技術的保護,數據庫更加安全。二者的結合,可以對數據庫數據進行深度的保護。
第二,內存保護。在多道程序運行的系統(tǒng)中,需要對緩沖區(qū)中的各用戶(私人)空間采取隔離措施,使之不要互相干擾。用戶進程一旦退出,應當及時清空用戶數據。
第三,提供最小特權管理。操作系統(tǒng)提供了最小特權管理,不給用戶超過執(zhí)行任務所需要特權以外的特權,使特權用戶(如系統(tǒng)管理員)只具有完成其任務所需要的特權,盡量減少誤操作、惡意操作、特權用戶口令丟失所引起的損失。
第四,監(jiān)控機制。提供審計、隱蔽通道分析、病毒防護等措施。當然,僅僅依靠目前操作系統(tǒng)的安全措施,還不能夠完全保證數據庫的安全。對于數據庫,操作系統(tǒng)的安全措施是防御攻擊者攻擊數據庫的一道基本屏障,而加密措施則是加固數據庫安全的又一道防線,兩者結合起來,能夠更加有效地增強數據庫的安全。
總之,數據庫加密技術是提高數據庫安全的一個重要手段,但加密數據并提高安全性的同時也帶來了其他問題,頻繁的加密和解密使得數據庫的性能降低用戶體驗降低,故此還需進一步做研究,進一步提高數據庫加密技術的各項性能。
(作者單位:浙江省氣象信息網絡中心)
看了“數據加密技術論文”的人還看:
4.安全防范技術論文