APP下载

一种新的数据库混沌加密系统

2016-06-18田先春王光义杨文宵

田先春,王光义,杨文宵

(杭州电子科技大学电子信息学院,浙江 杭州 310018)



一种新的数据库混沌加密系统

田先春,王光义,杨文宵

(杭州电子科技大学电子信息学院,浙江 杭州 310018)

摘要:为了提高数据库安全性,提出了一种基于混沌映射的数据库加密的方法,设计实现了一个数据库加密系统.加密系统采用一种性能良好的改进型Logistic映射,加密算法采用混沌AES混合算法,该算法把混沌二值序列作为AES算法的基密钥.为提高混沌基密钥的安全性,设计了一种新的改进型Logistic映射,该映射为满映射,且具有任意大的映射范围和参数密钥空间,因此具着良好的随机性和安全性.

关键词:Logistic映射;数据库加密;AES算法

0引言

随着互联网技术和信息技术的快速发展,政府、学校、企业等相关领域对数据库的依赖性越来越大,工作过程中产生的敏感信息也存储在数据库中.如何保障数据库系统的安全,对信息进行有效、安全的存储,已经成为信息系统安全的重要课题之一[1].对数据库的保护仅仅依靠数据库系统访问权限的管理是远远不够的,存储设备的遗失或者遭到网络黑客的恶意攻击,都会在很大程度上威胁到数据库存储的信息[2].Oracle公司是当今比较主流的数据库产品供应商,在Oracle8i版本中初次加入了加密函数,并在Oracle10g的版本中提出了透明数据加密技术(TDE).和Oracle公司的加密方式不同,IBM公司分别从数据库底层和限制管理员权限两个方面对数据库加密问题做了研究,这种做法涉及到数据库的内部结构和外层的管理,显得更加全面和彻底.在国内,清华大学提出了一种密钥管理方案,华中科技大学设计出了一种数据库加密系统,能够实现对数据库加密的效果.这些研究都取得了不错的成果.但是,国内在这方面的研究起步依然比较晚,真正成熟、易用、满足企业需求的加密数据库产品尚未出现.混沌系统因其具有初值高度敏感性和不可预测性,在信息安全领域得到了广泛的应用[2-3].针对关系型数据库的特点,结合混沌加密与传统加密,本文设计实现了一种可行性高的数据库加密系统.

1改进型Logistic映射

传统的Logistic映射的表达式如下:

xn+1=μxn(1-xn).

(1)

式中:μ∈(0,4),xn∈[0,1],混沌区间为(2.35,3),该映射数据结构简单,随机性比较好,应用比较广泛,但存在密钥参数空间小、满映射区间小等缺点.

为了增加密钥参数空间和扩展满映射范围,对式(1)中的Logistic映射进行改进,改进之后的表达式为:

(2)

图1 改进型Logistic映射的分岔图

式中:μ∈(0,+∞),k∈(1,+∞),xn∈(0,k2),与Logistic映射的(0,1)迭代范围相比,改进型的序列迭代范围(0,k2)有很大的扩展,混沌区间(0.5,μ)也比原来的混沌映射区间(2.35,3)有很大的提高,参数个数由原来的单个参数μ增加到了两个参数μ,k,参数范围也比传统的Logistic映射有很大的提高,因此密钥空间更大.选择参数x0=0.1,μ=4.0,k=5,改进型Logistic映射的分岔图如图1所示,其中x轴表示的是参数μ的取值范围,y轴表示的是xn的取值区间.从图1中可以看出,改进后的Logistic映射有更好的混沌映射区间和满映射区间.

2混沌序列的量化

为了生成适合加密的密钥,需要对混沌序列进行量化.常见的量化方法有门槛函数法、二进制化法、L比特量法以及离散化方法.本文依据上述的量化方法,设计了一种新的量化方法.

1)取{xn}的小数部分,用n位二进制数表示,即|xn|=a.bn-1bn-2…b0,其中,a是{xn}的整数部分,取值为0或者1,bi为二进制数,i=0,1…,n-2,n-1;

表1 NIST测试结果

3数据库加密方式

3.1加密技术

数据库包含操作系统(OS)、数据库管理系统(DBMS)内核、数据库管理系统(DBMS)外层3个层次[4],因此对数据库的加密可在这3个层次上执行.因为OS层加密只能实现对小型数据库的操作,而DBMS内核层加密会增加服务器的负荷,所以选取比较常用的在DBMS外层对数据库进行加密.其中DBMS建立在OS之上,需要OS的支持.DBMS是用户操作、管理DB的工具.

数据库加密粒度指的是数据能够实施加密的最小单元,依次可分为表级、记录级和字段级.每一种加密粒度都有各自的特点,但总的来说,加密粒度越小,加密操作时的灵活性和安全性也就越高,但同时密钥的产生和管理也就越复杂.根据加密的安全需要以及加密强度,本文选取了记录级加密粒度.

3.2加密算法

数据加密就是把可见的数据经过加密算法处理后,使之变成不可读的数据,其中可读的数据称为“明文”,不可读的数据称为“密文”.通过这种方式,在很大程度上保护数据的安全.解密是加密的逆过程,需要在“密文”的基础上输入正确的密钥,才能转化为原来的数据[6-7].加密和解密流程如图2所示.

图2 加解密流程图

加密算法根据密钥的形式,可分为“对称式”和“非对称式”两种.本文采用的是对称式加密算法—AES加密算法[8].加解密过程的基本操作是轮变换.轮变换由4个运算组成,分别为S变换(逆S变换)、行变换(逆行变换)、列变换(逆列变换)和轮密钥加.

加密步骤如下:

1)异或运算.

Si⊕bi′=Ci.

(3)

2)S盒变换.

3)行变换.

图3 行变换

4)列变换

(4)

经过上面的运算,原来的一列就被替换成了下面的式子所表达的新列:

(5)

4仿真结果与结果分析

在数据库加密系统中,数据库的设计也是很重要的部分,数据库中所设计的表结构的好坏会影响到整体系统的效率.本文设计的数据库有4张表,分别为课程表(Course)、成绩表(Score)、学生表(Student)、教师表(Teacher).下面以学生表为例,展示数据库加密的实现效果.其中学生表中有如下字段:学生编号(sno)、学生姓名(sname)、学生性别(ssex)、出生日期(sbirthday),并增加了添加学生、修改信息、删除学生等功能.学生表(Student)未加密之前存储的信息如图4所示.

为了更好地表现出加密之后的效果,本文只对学生表(Student)中的姓名(sname)和生日(sbirthday)进行加密.取加密密钥K=(0.1,3.0),其中0.1是映射的初始值,3.0是映射方程的参数μ.加密之后的信息如图5所示.从图5中可以看出,经过加密之后,原来有效的数据已经变成了不可识别的乱码,如果没有通过正确的解密,完全看不出其信息的有效性.

图4 学生表未加密的信息

图5 学生表加密之后的信息

对上述加密的数据用相同的密钥K=(0.1,3.0)进行解密,结果如图6所示.从图6中可以看出,解密之后的信息和初始信息完全一致.

密钥敏感性指的是,加密密钥的微小变化会产生完全不同结果,解密密钥的微小变化则会导致无法正确还原初始信息.为了验证密钥的敏感性,设置解密密钥为K=(0.100 000 1,3.000 001).解密出来的效果如图7所示,从图7中完全看不出有用的信息.

图6 学生表解密之后的信息

图7 学生表错误解密之后的信息

本系统采用的是混沌映射与AES加密算法相结合的加密方法.混沌映射具有对参数和初始值的高度敏感性,细微的变化就会引起混沌序列的完全不同.本文设计了一种量化方法,混沌映射经过该量化方法量化后,大大提高了序列的随机性.改进后的Logistic映射的取值范围为(0,k2),混沌区间为(0.5,μ),参数以双精度计算,计算机的精度以10-6估算.综上所述,密钥空间为2.4×1016×0.63×1016×106=1.56×1038.目前,性能最好的计算机如果以千万亿次每秒的速率进行破解,大约需要1015年左右才能破解,因此系统具有很强的安全性,很难实现暴力破解.

5结束语

本文采用Logistic映射产生的密钥序列,结合对称性加密算法—AES算法,对数据库进行了有效的加密,为数据库加密安全提供一种方法.实验结果显示,该加密方法能很好地根据个人需求把敏感信息有效的保护起来,下一步将对混沌理论作进一步的研究,并对Logistic映射进行改进,对加密算法做进一步优化.

参考文献

[1]孙杨.基于混沌算法信息安全系统的研究[J].信息安全与技术,2014,5(12):25-27.

[2]吴晓刚.混沌密码在数据库加密中的应用[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]秦军,王正飞,谈子敬,等.一种数据库加密及密钥管理方法[J].计算机应用与软件,2006,23(12):5-6.

[8]舒涛.AES算法在数据库加密中的应用[J].哈尔滨师范大学(自然科学学报),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

基金项目:国家自然科学基金资助项目(61271064,60971046);浙江省自然科学基金重点资助项目(LZ12F01001)

作者简介:田先春(1990-),男,安徽亳州市人,硕士研究生,非线性电路与智能信息处理.通信作者:王光义教授,E-mail:wanggyi@163.com.

中图分类号:TP309.7

文献标识码:A

文章编号:1001-9146(2016)02-0008-05