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