數據庫加密技術論文(2)
數據庫加密技術論文篇二
淺談數據庫加密技術的應用
摘要:數據庫系統(tǒng)作為信息系統(tǒng)的核心,其安全直接影響信息系統(tǒng)的安全。本文簡要介紹了加密技術的概念及主要方法,針對數據庫系統(tǒng)的特點和安全問題提出數據庫系統(tǒng)加密的策略,并對數據庫系統(tǒng)加密的相關技術進行了闡述。最后討論了數據庫加密技術存在的局限性。
Abstract: The database system is the core of information system, its safety directly influences the safety of information system.This text synopsis introduced to encrypt technical concept and main method, the characteristics aiming at database system and safe problem to put forward the strategy that the database system encrypts, and the related technique encrypting to the database system carried on to elaborate.Finally discussed the database encrypts limiting of technique existence sex.
關鍵字:加密技術 數據庫系統(tǒng) 安全
Key word:Encrypt the technique database system safety
中圖分類號:G250.74 文獻標識碼:A文章編號:
1、引言
隨著因特網的普及和計算機技術的飛速發(fā)展,各行各業(yè)的信息化程度得到了顯著的提高。信息系統(tǒng)已經成為企業(yè)、金融機構、政府及國防等部門現代化的重要標志。如何保證現代信息系統(tǒng)的安全是計算機領域面臨的一大挑戰(zhàn)。數據庫系統(tǒng)作為信息的聚集體是信息系統(tǒng)的核心,其安全性對整個信息系統(tǒng)來說至關重要,數據庫加密技術成為保障數據庫系統(tǒng)安全的基石。
2、加密技術
加密技術主要是為了能夠有效地保護數據的安全性,下面簡單介紹加密技術的概念及主要算法。
2、1加密的概念
數據加密的基本過程就是對原來為明文的文件多數據按某種算法進行處理,使其成為不可讀的一段代碼,通常稱為“密文”,使其只能在輸入相應的密鑰之后才恩能夠顯示出本來內容,通過這樣的途徑來達到保護數據不被非法人竊取、閱讀的目的。該過程的逆過程為解密,即將該編碼信息轉化成為其原來數據的過程。
2、2數據加密的原理
數據加密就是把數據信息即明文轉換為不可辨識的形式即密文的過程,目的是使不應了解該數據信息的人不能夠知道和識別。將密文轉變?yōu)槊魑牡倪^程(如圖1所示)就是解密。加密和解密過程形成加密系統(tǒng),明文與密文統(tǒng)稱為報文。任何加密系統(tǒng)通常都包括如下4個部分:
(1)需要加密的報文,也稱為明文P。
(2)加密以后形成的報文,也稱為密文Y。
(3)加密(解密)算法E(D)。
(4)用于加密和解密的鑰匙,稱為密鑰K。
加密過程可描述為:在發(fā)送端利用加密算法E和加密密鑰Ke對明文P進行加密,得到密文Y=EKe(P)。密文Y被傳送到接收端后應進行解密。解密過程可描述為:接收端利用解密算法D和解密密鑰Kd對密文Y進行解密,將密文恢復為明文P=DKd(Y)。在密碼學中,把設計密碼的技術稱為密碼編碼.把破譯密碼的技術稱為密碼分析。密碼編碼和密碼分析合起來稱為密碼學。在加密系統(tǒng)中,算法是相對穩(wěn)定的。為了加密數據的安全性,應經常改變密鑰。
2、3加密的兩種主要算法
加密技術通常通常分為兩大類:“對稱式”和“非對稱式”。
對稱式加密就是加密和解密使用同一個密鑰,通常稱之為“Session Key”。這種加密技術目前被廣泛采用,如美國政府所采用的DES加密標準就是一種典型的“對稱式”加密法,它的Session Key長度為56Bits。
非對稱式加密就是加密和解密所使用的不是同一個密鑰,通常有兩個密鑰,稱為“公鑰”和“私鑰”,她們兩個必須配對使用,否則不能打開加密文件。這里的“公鑰”是指可以對外公布的,“私鑰”則不能,只能由持有人一個人知道。它的優(yōu)越性就在這里,因為對稱式的加密方法如果是在網絡上傳輸加密文件及很難把密鑰告訴對方,不管用什么方法都有可能被竊聽到。而非對稱式的加密方法有兩個密鑰,且其中的“公鑰”是可以公開的,也就不怕別人知道,收件人解密時只要用自己的私鑰就可以,這樣就很好的避免了密鑰的傳輸安全性問題。
3、加密技術在數據庫加密的應用
加密技術的應用是多方面的,例如電子商務、、數據庫系統(tǒng)等,下面主要介紹加密技術在數據庫加密中的應用。
3、1數據庫加密的特點
數據庫是大量、持久、結構化數據的集合,數據的存儲、管理和使用都有自身特點,不適合像一般文件存儲加密那樣對整個文件加密。與傳統(tǒng)的數據加密技術相比,數據庫存儲加密系統(tǒng)有自身的特點和要求。構建數據庫有兩種基本方式:硬件平臺是通用計算機系統(tǒng),即數據庫專用計算機,數據庫直接構建在磁盤上;軟件平臺是通用的操作系統(tǒng)。數據庫存儲加密的主要目的是按照用戶的要求將敏感數據加密存儲,防止非法用戶采用其他手段獲取數據,同時保證合法用戶通過數據加密系統(tǒng)仍然能夠正常訪問數據。因此,數據庫存儲加密系統(tǒng)的開發(fā)原則應該是:安全,高效,保持數據庫特點。
3、1、1快速隨機存取
雖然數據庫中的數據最終是以文件形式存儲在物理介質上,卻不能將整個數據作為一個文件來加密。一般情況下,文件是作為一個整體來使用的。傳統(tǒng)的文件存儲加密從頭至尾順序執(zhí)行,訪問加密文件時再從頭至尾進行解密。而數據庫操作最小單位是一個數據元素,該元素是數據庫文件中隨機的一段;同時,數據庫文件較為龐大,如果每次訪問數據庫都一次全文加/解密,則執(zhí)行速度很慢,以致數據庫實際不可用。因此數據庫加密必須解決對數據庫文件快速隨機存取問題和最小操作粒度的數據加/解密問題。
為了快速的查詢、更新數據,數據庫管理系統(tǒng)通常有一系列快速隨機存取的方法,這些方法的實現基于存儲數據的模型和描述應用數據的元數據。關系數據庫中,組織存儲數據的模型就是系統(tǒng)表。系統(tǒng)表是保證數據庫管理系統(tǒng)正常工作的數據信息。
關系數據庫所使用的關系語言是高度的非過程化的,用戶不必請求數據庫管理員為其建立特殊的存取路徑,存取路徑的選擇是由DBMS自動完成的。這是關系數據庫的主要優(yōu)點之一。因此,在關系數據庫存儲加密系統(tǒng)中,沿用數據庫管理系統(tǒng)對存儲數據的定位和維護功能,是實現快速隨機存取數據庫文件的一個好辦法。
3、1、2存儲容量
數據庫存儲數據量大、存儲時間長,這給敵方破譯加密數據帶來一定的有利條件。因此,數據庫存儲加密必須采用高強度的算法,同時要保證密鑰定期更換。由于數據存儲量大,應盡量避免加密造成的數據長度增加,防止數據庫存儲容量大幅度膨脹。
3、1、3一次一密
數據庫中的數據是結構化的。因此,必須保證加密后的數據仍然是結構化的。同時,由于數據庫中數據的結構化存儲,同一字段的數據類型(長度、值域)和邏輯含義相同,這便于破譯者分析密文數據結構,獲得大量相同密文,從而利用統(tǒng)計規(guī)律獲得明文。數據數存儲加密也應采取“一次一密”。因此,這里的“一次一密”與傳輸加密的一次一密不同,是指每個加密單位采用不同的密鑰。對于實現最小操作粒度的加密來說,就是一個數據元素一個密鑰。保證即使明文中同段值重復出現,對應的密文也各不相同。
3、2數據庫加密的方法
3、2、1加密粒度的選擇
數據庫加密的粒度一直是一個令人困擾的問題。一般來講,數據庫加密的粒度可以有三種:表、記錄和數據項。
(1)表級加密:表級加密是在表一級進行加密,加密解密的對象是整個表。這種加密方法完全是照搬操作系統(tǒng)中文件的加密方法,用于數據庫的加密顯然是不合適的。
(2)記錄級加密:記錄級加密是在表一級上進行,即記錄加密方法。它將數據庫中的記錄看成操作對象,統(tǒng)一作加密解密處理。這種方法比第一種能更好地保證數據的安全,使用時較為方便,但其靈活性不高。
3、2、2加密算法的選擇
密碼算法在早期有序列算法,移位算法等。當前,加密技術通常通常分為兩大類:“對稱式”和“非對稱式”。如DES就是一種對稱密鑰算法,而RSA是一種公開密鑰算法。選擇合適的加密算法是很重要的,其加密強度應能滿足系統(tǒng)安全需要,但要考慮加密結果是否符合數據約束條件,存儲會不會造成額外負擔;對加密速度的要求則是不應該對系統(tǒng)性能產生明顯影響,響應時間越短越好。同時,對應用系統(tǒng)的用戶來說,數據庫加解密過程應該是透明的,不能影響合法用戶的正常操作。數據庫加密要求加密效率要盡可能的高,以DES算法為代表的對稱密鑰加密算法則是簡單高效,適合進行數據庫加密,不過由于DES密鑰長度過短,隨著計算機運算能力的增強和密碼分析技術的發(fā)展,DES將會由AES替代。而以RSA算法為代表的公開密鑰加密算法加密強度較高,但算法復雜,效率較低,但由于它的非對稱加密的特點,可以用它來對AES加密的密鑰進行加密保護,這樣用戶只要保證自己的私鑰安全,在保證加密信息安全性的同時,大大簡化了加密數據庫的密鑰管理。
3、2、3數據類型的轉換
數據庫中的數據是以結構化方式存儲的,各種類型的數據有其特定的格式、長度、值域。如果要將加密后的數據仍然存儲在原來的表(簡稱明表)中,則必須保證加密后數據的格式、長度、值域都仍然保持不變。這樣的要求對于加密算法來說是難以達到的。于是我們將各種類型的數據以統(tǒng)一的格式加密,并存儲在一張表(簡稱密文表)中,對數據進行查詢和更新操作時,再將密文表中所操作的各字段數據根據加密字典“屬性信息表”中相應的類型進行轉換。
3、2、4密鑰的管理
數據庫具有高度共享的特點,數據庫中數據信息長期存儲,反復加密解密,相應地密鑰也需要長期存儲,宜采用共享密鑰機制。數據庫加密的主要目的在于防止非法用戶通過非法途徑獲得明文數據,而仍要保證任何合法用戶可以通過合法渠道獲得解密數據。所以,密鑰共享機制一方面要求加密算法的絕對保密和一定的強度,另一方面則要求密鑰的共享是一定范圍和程度的,不是任何人都可以無條件地獲得密鑰。
1、 密鑰管理體制應該具備的特性
首先,密鑰難以被竊取。
其次,一定條件下竊取了密鑰也是沒有用的,密鑰的使用范圍和時間有一定的限制。
再者,密鑰的分配和更換過程對用戶透明,用戶不一定要親自掌管密鑰。
2、 密鑰管理方式
層次化的密鑰管理方式,用于數據加密的工作密鑰需要動態(tài)產生:工作密鑰由上層的加密密鑰進行保護,最上層的密鑰稱為主密鑰,是整個管理系統(tǒng)的核心;多層密鑰體制大大加強了密碼系統(tǒng)的可靠性,因為用得最多的工作密鑰時時更換,而高層密鑰的數量有限,使得破譯的難度大大提升。
3、3 數據庫加密的局限性
數據庫加密技術在保證安全性的同時,也給數據庫系統(tǒng)的可用性帶來一些影響
3、3、1系統(tǒng)運行效率受到影響
加密技術帶來的主要問題之一是影響效率。為了減少這種影響,一般對加密的范圍做一些約束,如不加密索引字段和關系運算的比較字段等。
3、3、2對數據的SQL語言及SQL函數受到制約
SQL語言中的Group by、Order by及Having子句分別完成分組和排序等操作,如果這些子句的操作對象是加密數據,那么解密后的明文數據將失去原語句的分組和排序作用。另外,DBMS擴展的SQL內部函數一股也不能直接作用于密文數據。
3、3、3難以實現對數據完整性約束的定義
數據庫一般都定義了關系數據之間的完整性約束,如主/外鍵約束及值域的定義等。數據一旦加密,DBMS將難以實現這些約束。
3、3、4密文數據容易成為攻擊目標
加密技術把有意義的明文轉換為看上去沒有實際意義的密文信息,但密文的隨機性同時也暴露了消息的重要性,容易引起攻擊者的注意和破壞,從而造成了一種新的不安全性。加密技術往往需要和其他非加密安全機制相結合,以提高數據庫系統(tǒng)的整體安全性。
4、總結
隨著計算機技術的飛速發(fā)展,數據庫的應用十分廣泛,深入到各個領域,越來越多的資源與信息被放入數據庫供大家使用,但隨之而來產生了數據的安全問題。數據庫系統(tǒng)作為信息的聚集體,是計算機信息系統(tǒng)的核心部件,其安全性至關重要。關系到企業(yè)興衰、國家安全。因此,如何有效地保證數據庫系統(tǒng)的安全,實現數據的保密性、完整性和有效性,已經成為人們探索研究的重要課題之一。目前除了數據庫的安全性以外,最有效的方式就是對數據庫內的數據進行加密儲存。這樣即使有非法入侵者能進入到數據庫竊取到密文數據,由于解密技術相對復雜,他們也不能輕易得到其明文資料,因此能在很大程度上保護數據的安全,可以說數據加密是數據安全的最后一道防線,也是最后可用的安全手段。數據庫加密技術作為一種對數據進行安全保護的有效手段,將起到越來越重要的作用。
參考文獻
1、 吳曉春 《加密技術概念、加密方法以及應用詳解》 中國科技信息2006.3 17-18
2、 林斯 《數據庫加密策略及相關技術研究》 科技創(chuàng)新導報 2009 34
3、 陳云 《數據庫加密系統(tǒng)相關技術研究》 硅谷
4、 周碧英 張鵬 《數據庫加密技術的實現與加密方法》 內肛科技 2008.2 119
5、 陳鐵英 陳華 劉瑜 《基于三層次的數據庫加密應用系統(tǒng)》 華中科技大學學報(自然科學版)2005.7 41-46
看了“數據庫加密技術論文”的人還看:
5.安全防范技術論文