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