田先春,王光義,楊文宵
(杭州電子科技大學(xué)電子信息學(xué)院,浙江 杭州 310018)
?
一種新的數(shù)據(jù)庫混沌加密系統(tǒng)
田先春,王光義,楊文宵
(杭州電子科技大學(xué)電子信息學(xué)院,浙江 杭州 310018)
摘要:為了提高數(shù)據(jù)庫安全性,提出了一種基于混沌映射的數(shù)據(jù)庫加密的方法,設(shè)計(jì)實(shí)現(xiàn)了一個(gè)數(shù)據(jù)庫加密系統(tǒng).加密系統(tǒng)采用一種性能良好的改進(jìn)型Logistic映射,加密算法采用混沌AES混合算法,該算法把混沌二值序列作為AES算法的基密鑰.為提高混沌基密鑰的安全性,設(shè)計(jì)了一種新的改進(jìn)型Logistic映射,該映射為滿映射,且具有任意大的映射范圍和參數(shù)密鑰空間,因此具著良好的隨機(jī)性和安全性.
關(guān)鍵詞:Logistic映射;數(shù)據(jù)庫加密;AES算法
0引言
隨著互聯(lián)網(wǎng)技術(shù)和信息技術(shù)的快速發(fā)展,政府、學(xué)校、企業(yè)等相關(guān)領(lǐng)域?qū)?shù)據(jù)庫的依賴性越來越大,工作過程中產(chǎn)生的敏感信息也存儲(chǔ)在數(shù)據(jù)庫中.如何保障數(shù)據(jù)庫系統(tǒng)的安全,對(duì)信息進(jìn)行有效、安全的存儲(chǔ),已經(jīng)成為信息系統(tǒng)安全的重要課題之一[1].對(duì)數(shù)據(jù)庫的保護(hù)僅僅依靠數(shù)據(jù)庫系統(tǒng)訪問權(quán)限的管理是遠(yuǎn)遠(yuǎn)不夠的,存儲(chǔ)設(shè)備的遺失或者遭到網(wǎng)絡(luò)黑客的惡意攻擊,都會(huì)在很大程度上威脅到數(shù)據(jù)庫存儲(chǔ)的信息[2].Oracle公司是當(dāng)今比較主流的數(shù)據(jù)庫產(chǎn)品供應(yīng)商,在Oracle8i版本中初次加入了加密函數(shù),并在Oracle10g的版本中提出了透明數(shù)據(jù)加密技術(shù)(TDE).和Oracle公司的加密方式不同,IBM公司分別從數(shù)據(jù)庫底層和限制管理員權(quán)限兩個(gè)方面對(duì)數(shù)據(jù)庫加密問題做了研究,這種做法涉及到數(shù)據(jù)庫的內(nèi)部結(jié)構(gòu)和外層的管理,顯得更加全面和徹底.在國內(nèi),清華大學(xué)提出了一種密鑰管理方案,華中科技大學(xué)設(shè)計(jì)出了一種數(shù)據(jù)庫加密系統(tǒng),能夠?qū)崿F(xiàn)對(duì)數(shù)據(jù)庫加密的效果.這些研究都取得了不錯(cuò)的成果.但是,國內(nèi)在這方面的研究起步依然比較晚,真正成熟、易用、滿足企業(yè)需求的加密數(shù)據(jù)庫產(chǎn)品尚未出現(xiàn).混沌系統(tǒng)因其具有初值高度敏感性和不可預(yù)測性,在信息安全領(lǐng)域得到了廣泛的應(yīng)用[2-3].針對(duì)關(guān)系型數(shù)據(jù)庫的特點(diǎn),結(jié)合混沌加密與傳統(tǒng)加密,本文設(shè)計(jì)實(shí)現(xiàn)了一種可行性高的數(shù)據(jù)庫加密系統(tǒng).
1改進(jìn)型Logistic映射
傳統(tǒng)的Logistic映射的表達(dá)式如下:
xn+1=μxn(1-xn).
(1)
式中:μ∈(0,4),xn∈[0,1],混沌區(qū)間為(2.35,3),該映射數(shù)據(jù)結(jié)構(gòu)簡單,隨機(jī)性比較好,應(yīng)用比較廣泛,但存在密鑰參數(shù)空間小、滿映射區(qū)間小等缺點(diǎn).
為了增加密鑰參數(shù)空間和擴(kuò)展?jié)M映射范圍,對(duì)式(1)中的Logistic映射進(jìn)行改進(jìn),改進(jìn)之后的表達(dá)式為:
(2)
圖1 改進(jìn)型Logistic映射的分岔圖
式中:μ∈(0,+∞),k∈(1,+∞),xn∈(0,k2),與Logistic映射的(0,1)迭代范圍相比,改進(jìn)型的序列迭代范圍(0,k2)有很大的擴(kuò)展,混沌區(qū)間(0.5,μ)也比原來的混沌映射區(qū)間(2.35,3)有很大的提高,參數(shù)個(gè)數(shù)由原來的單個(gè)參數(shù)μ增加到了兩個(gè)參數(shù)μ,k,參數(shù)范圍也比傳統(tǒng)的Logistic映射有很大的提高,因此密鑰空間更大.選擇參數(shù)x0=0.1,μ=4.0,k=5,改進(jìn)型Logistic映射的分岔圖如圖1所示,其中x軸表示的是參數(shù)μ的取值范圍,y軸表示的是xn的取值區(qū)間.從圖1中可以看出,改進(jìn)后的Logistic映射有更好的混沌映射區(qū)間和滿映射區(qū)間.
2混沌序列的量化
為了生成適合加密的密鑰,需要對(duì)混沌序列進(jìn)行量化.常見的量化方法有門檻函數(shù)法、二進(jìn)制化法、L比特量法以及離散化方法.本文依據(jù)上述的量化方法,設(shè)計(jì)了一種新的量化方法.
1)取{xn}的小數(shù)部分,用n位二進(jìn)制數(shù)表示,即|xn|=a.bn-1bn-2…b0,其中,a是{xn}的整數(shù)部分,取值為0或者1,bi為二進(jìn)制數(shù),i=0,1…,n-2,n-1;
表1 NIST測試結(jié)果
3數(shù)據(jù)庫加密方式
3.1加密技術(shù)
數(shù)據(jù)庫包含操作系統(tǒng)(OS)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)內(nèi)核、數(shù)據(jù)庫管理系統(tǒng)(DBMS)外層3個(gè)層次[4],因此對(duì)數(shù)據(jù)庫的加密可在這3個(gè)層次上執(zhí)行.因?yàn)镺S層加密只能實(shí)現(xiàn)對(duì)小型數(shù)據(jù)庫的操作,而DBMS內(nèi)核層加密會(huì)增加服務(wù)器的負(fù)荷,所以選取比較常用的在DBMS外層對(duì)數(shù)據(jù)庫進(jìn)行加密.其中DBMS建立在OS之上,需要OS的支持.DBMS是用戶操作、管理DB的工具.
數(shù)據(jù)庫加密粒度指的是數(shù)據(jù)能夠?qū)嵤┘用艿淖钚卧?,依次可分為表?jí)、記錄級(jí)和字段級(jí).每一種加密粒度都有各自的特點(diǎn),但總的來說,加密粒度越小,加密操作時(shí)的靈活性和安全性也就越高,但同時(shí)密鑰的產(chǎn)生和管理也就越復(fù)雜.根據(jù)加密的安全需要以及加密強(qiáng)度,本文選取了記錄級(jí)加密粒度.
3.2加密算法
數(shù)據(jù)加密就是把可見的數(shù)據(jù)經(jīng)過加密算法處理后,使之變成不可讀的數(shù)據(jù),其中可讀的數(shù)據(jù)稱為“明文”,不可讀的數(shù)據(jù)稱為“密文”.通過這種方式,在很大程度上保護(hù)數(shù)據(jù)的安全.解密是加密的逆過程,需要在“密文”的基礎(chǔ)上輸入正確的密鑰,才能轉(zhuǎn)化為原來的數(shù)據(jù)[6-7].加密和解密流程如圖2所示.
圖2 加解密流程圖
加密算法根據(jù)密鑰的形式,可分為“對(duì)稱式”和“非對(duì)稱式”兩種.本文采用的是對(duì)稱式加密算法—AES加密算法[8].加解密過程的基本操作是輪變換.輪變換由4個(gè)運(yùn)算組成,分別為S變換(逆S變換)、行變換(逆行變換)、列變換(逆列變換)和輪密鑰加.
加密步驟如下:
1)異或運(yùn)算.
Si⊕bi′=Ci.
(3)
2)S盒變換.
3)行變換.
圖3 行變換
4)列變換
(4)
經(jīng)過上面的運(yùn)算,原來的一列就被替換成了下面的式子所表達(dá)的新列:
(5)
4仿真結(jié)果與結(jié)果分析
在數(shù)據(jù)庫加密系統(tǒng)中,數(shù)據(jù)庫的設(shè)計(jì)也是很重要的部分,數(shù)據(jù)庫中所設(shè)計(jì)的表結(jié)構(gòu)的好壞會(huì)影響到整體系統(tǒng)的效率.本文設(shè)計(jì)的數(shù)據(jù)庫有4張表,分別為課程表(Course)、成績表(Score)、學(xué)生表(Student)、教師表(Teacher).下面以學(xué)生表為例,展示數(shù)據(jù)庫加密的實(shí)現(xiàn)效果.其中學(xué)生表中有如下字段:學(xué)生編號(hào)(sno)、學(xué)生姓名(sname)、學(xué)生性別(ssex)、出生日期(sbirthday),并增加了添加學(xué)生、修改信息、刪除學(xué)生等功能.學(xué)生表(Student)未加密之前存儲(chǔ)的信息如圖4所示.
為了更好地表現(xiàn)出加密之后的效果,本文只對(duì)學(xué)生表(Student)中的姓名(sname)和生日(sbirthday)進(jìn)行加密.取加密密鑰K=(0.1,3.0),其中0.1是映射的初始值,3.0是映射方程的參數(shù)μ.加密之后的信息如圖5所示.從圖5中可以看出,經(jīng)過加密之后,原來有效的數(shù)據(jù)已經(jīng)變成了不可識(shí)別的亂碼,如果沒有通過正確的解密,完全看不出其信息的有效性.
圖4 學(xué)生表未加密的信息
圖5 學(xué)生表加密之后的信息
對(duì)上述加密的數(shù)據(jù)用相同的密鑰K=(0.1,3.0)進(jìn)行解密,結(jié)果如圖6所示.從圖6中可以看出,解密之后的信息和初始信息完全一致.
密鑰敏感性指的是,加密密鑰的微小變化會(huì)產(chǎn)生完全不同結(jié)果,解密密鑰的微小變化則會(huì)導(dǎo)致無法正確還原初始信息.為了驗(yàn)證密鑰的敏感性,設(shè)置解密密鑰為K=(0.100 000 1,3.000 001).解密出來的效果如圖7所示,從圖7中完全看不出有用的信息.
圖6 學(xué)生表解密之后的信息
圖7 學(xué)生表錯(cuò)誤解密之后的信息
本系統(tǒng)采用的是混沌映射與AES加密算法相結(jié)合的加密方法.混沌映射具有對(duì)參數(shù)和初始值的高度敏感性,細(xì)微的變化就會(huì)引起混沌序列的完全不同.本文設(shè)計(jì)了一種量化方法,混沌映射經(jīng)過該量化方法量化后,大大提高了序列的隨機(jī)性.改進(jìn)后的Logistic映射的取值范圍為(0,k2),混沌區(qū)間為(0.5,μ),參數(shù)以雙精度計(jì)算,計(jì)算機(jī)的精度以10-6估算.綜上所述,密鑰空間為2.4×1016×0.63×1016×106=1.56×1038.目前,性能最好的計(jì)算機(jī)如果以千萬億次每秒的速率進(jìn)行破解,大約需要1015年左右才能破解,因此系統(tǒng)具有很強(qiáng)的安全性,很難實(shí)現(xiàn)暴力破解.
5結(jié)束語
本文采用Logistic映射產(chǎn)生的密鑰序列,結(jié)合對(duì)稱性加密算法—AES算法,對(duì)數(shù)據(jù)庫進(jìn)行了有效的加密,為數(shù)據(jù)庫加密安全提供一種方法.實(shí)驗(yàn)結(jié)果顯示,該加密方法能很好地根據(jù)個(gè)人需求把敏感信息有效的保護(hù)起來,下一步將對(duì)混沌理論作進(jìn)一步的研究,并對(duì)Logistic映射進(jìn)行改進(jìn),對(duì)加密算法做進(jìn)一步優(yōu)化.
參考文獻(xiàn)
[1]孫楊.基于混沌算法信息安全系統(tǒng)的研究[J].信息安全與技術(shù),2014,5(12):25-27.
[2]吳曉剛.混沌密碼在數(shù)據(jù)庫加密中的應(yīng)用[J].計(jì)算機(jī)安全,2014(5):8-11.
[3]MARWITZ C.Database Encryption Solutions[J].SQL Server Magazine,2008,10(9):41-43.
[4]JO H,HONG S T,CHANG J W,et al.Data Encryption on GPU for High-Performance Database Systems[J].Procedia Computer Science, 2013, 19:147-154.
[5]SESAY S, YANG Z, CHEN J, et al. A secure database encryption scheme[C]// Consumer Communications and Networking Conference, 2005. CCNC. 2005 Second IEEE. IEEE, 2005:49-53.
[6]SERBAN M.Methods to Increase Search Performance for Encrypted Databases[J].Procedia Economics and Finance,2012,3:1063-1068.
[7]秦軍,王正飛,談子敬,等.一種數(shù)據(jù)庫加密及密鑰管理方法[J].計(jì)算機(jī)應(yīng)用與軟件,2006,23(12):5-6.
[8]舒濤.AES算法在數(shù)據(jù)庫加密中的應(yīng)用[J].哈爾濱師范大學(xué)(自然科學(xué)學(xué)報(bào)),2013,29(2):53-56.
A New Chaotic Database Encryption System
TIAN Xianchun, WANG Guangyi, YANG Wenxiao
(SchoolofElectronicInformation,HangzhouDianziUniversity,HangzhouZhejiang310018,China)
Abstract:In order to improve the security of the database, this paper proposes a method of database encryption based on chaotic map for designing and implementing a database encryption system. This encryption system uses an improved Logistic map that possesses good performances, and employs the chaotic-AES hybrid algorithm for encryption, which takes the chaotic binary sequences as the base key of AES. A new improved Logistic map is designed to improve the security of chaos base key. The map is a full mapping, which has an arbitrarily large mapping range and parameter key space, so it has good randomness and security.
Key words:Logistic map; database encryption; AES algorithm
DOI:10.13954/j.cnki.hdu.2016.02.002
收稿日期:2015-07-23
基金項(xiàng)目:國家自然科學(xué)基金資助項(xiàng)目(61271064,60971046);浙江省自然科學(xué)基金重點(diǎn)資助項(xiàng)目(LZ12F01001)
作者簡介:田先春(1990-),男,安徽亳州市人,碩士研究生,非線性電路與智能信息處理.通信作者:王光義教授,E-mail:wanggyi@163.com.
中圖分類號(hào):TP309.7
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1001-9146(2016)02-0008-05