基于DES和CP-ABE的混合加密算法研究
2018-04-16李永忠
包 冲 李永忠
(江苏科技大学计算机科学与工程学院 镇江 212003)
1 引言
由于信息化的不断发展,云存储技术[1]已经逐渐运用到人们的日常生活中,解决了海量数据的存储、共享、效率等问题。云存储技术就是把海量的数据资源以分布式的形式上传至云端,通过权限设置,随时为用户提供存取信息等多种服务的一种技术。云存储为用户提供了便捷、高效的服务,但也面临着存储数据的安全性和隐私性问题。针对这一现象,本文提出了一种核心技术来解决云存储中数据安全隐患问题,即 DES 和 CP-ABE[2]混合加密算法的访问控制技术。
2 相关知识
2.1 DES对称加密算法
DES算法[3]流程描述:DES算法对64位的明文分组进行加密操作,首先通过一个初始置换,将64位明文分组成左半部分和右半部分,各32位,这是算法的第一阶段;然后进行16轮完全相同的运算,这些运算成为轮函数 f,在运算过程中,数据和密钥结合,算法的第二阶段;经过16轮运算后,通过一个初始置换将左半部分和右半部分结合在一起,得到一个64位的密文,这是算法的第三阶段。至此,我们就将大文件进行了加密,得到了密钥。
2.2 CP-ABE算法
2.2.1CP-ABE算法定义
CP-ABE算法[4]的主要原理:加密者对自己的数据进行加密,从而能控制主动权,只有满足密文策略的用户才有权利获取密钥解密数据。其主要包括三个部分:
1)属性:设 P={P1,P2,…,Pn} ,P 是属性全集,设每个用户的属性集合为C(C是P的非空子集),C⊂{P1,P2,…,Pn},那么 N 个属性可以鉴别2N个用户。
2)访问结构:访问结构T是P的一个非空子集,T⊂ 2(P1,P2,…,Pn)φ ,T 是属性的一个判断条件。
3)访问树:描述访问控制策略[5]的,属性由每个节点表示,关系函数由每个内部节点表示,所以n of m(m>n),OR(1 of m)或者 AND(Mof m)可代表三个不同的函数。如图1所示。
图1 访问结构树
2.2.2CP-ABE算法的步骤
CP-ABE算法[6]包括四个部分:
Step1:输入消息M,输出主密钥MK和系统公开参数PK。这里的输入消息M是前面对大文件进行加密得到的密钥而不是整个原始的大文件。
Step2:KS=KeyGen(MK,A):输入属性结合S和主密钥MK,生成对应的私钥KS。
Step3:输入 CTT=Encrypt(PK,M,T)明文M,系统公开参数PK和访问控制结构T,输出密文CTT。
Step4:M=Decrypt(CTT,KS):使用私钥 KS解密密文后得到明文M,且只有属性S满足访问控制结构T时,Decrypt()才能操作成功并输出M。
3 DES和CP-ABE混合加密算法
对现有数据的安全性进行研究,本文提出了一种新的利用DES和CP-ABE混合加密相结合的加密算法。该算法分为两步,第一步是利用DES分块加密,这主要考虑到其速度快的优点,可以对大文件进行加密处理。第二步是利用基于密文策略[7]的CP-ABE对密钥再次进行加密,这既提高了大数据文件的加密速度,同时保证了其安全性,实现了云环境中多用户的安全及高效的数据访问。
3.1 CP-ABE的访问控制研究
CP-ABE技术将用户的每个权限用一个属性来表示,用户的身份可表示为一个属性集,加密数据时与访问控制结构相关,用户的属性集合[8]只有满足密文的访问控制策略时,才能成功解密。与传统的加密技术对比,CP-ABE在加密和解密文件时,是根据属性和访问控制结构之间的匹配关系决定的,而无需了解信息共享者之间的规模和身份信息,具有高效性,隐私性及抗串联合性等优点。
CP-ABE中的密文嵌入了带有属性的访问控制策略,解密的密钥是用户的属性集合。当且仅当用户解密密钥(即属性集合)满足密文所关联的访问控制策略时才能成功解密。云存储中基于CP-ABE的访问控制结构[9],如图2所示。
图2 CP-ABE的访问控制结构图
图中左框密文是由访问控制结构T组成,T中每个节点分别代表一个属性,这些属性集合由用户身份ID:Lucy、学校School:Yizhong、教师职位Position:English Teacher组成,这三个属性的函数关系由n ofm(m>n),OR(1 ofm)或者AND(Mofm)表示。图2的访问结构为ID:Lucy或者既是School:Yizhong又是 Position:English Teacher的人才拥有授权集合。如果用户的身份ID是Lucy,不管其他访问结构是什么,都可以获得授权集合来解密文件。而用户的身份ID不是Lucy,但是学校School:Yizhong并且授课 Position:English Teacher,同样可以获得授权集合来解密密文,除这两个访问结构以外的其他结构都不可能解密密文。
至此通过混合法,我们已经将原始的大文件层层加密。下面将分析这三个加密算法的安全性和性能指标,并进行相应的对比说明。
3.2 安全性分析
在数据进行云存储时,其安全性的地位不言而喻。DES算法的缺点在于其密钥长度太短,安全性不够;而CP-ABE算法相比而言,在安全性方面优势明显。以下从几个方面来分析CP-ABE算法[10]的访问控制策略的安全性:
1)访问权限的安全管理。加密后的数据密钥完全是由数据上传者进行产生和管理的,并对其他用户进行访问授权。
2)端到端的加密。用户是在客户端对数据进行加/解密操作,提高了数据在传输信道中的完整性。
3)加密密钥的安全管理。采用混合加密算法(即用对称加密算法提高数据加密的高效性;用非对称加密算法对加密密钥进行加密,提高数据的机密性)确保加密密钥不被非法用户获取[11]。而我们的混合法则继承了CP-ABE算法安全性,即虽然采用了DES和CP-ABE相结合的方法,并没有对安全性有太多的影响。如表1所示。
表1 三类加密算法安全性方面的比较
3.3 性能分析及仿真
对本方案的混合加密算法的性能进行仿真验证,实验环境:仿真软件为Matlab 7.0,CPU为:Intel(R)Core(TM)i5-2410M 2.30GHz,内存为 2GB,Win7 32位操作系统。设置用户的属性个数为10,通过对不同大小的文件进行加/解密操作。从图3中我们可以看出,随着数据文件大小的不断增大,DES加密算法的性能明显高于CP-ABE加密算法,而我们的混合法在性能上则十分接近于DES加密算法。而在图4中,关于解密性能的比较中,同样的是我们的混合法和DES算法这两者之间的性能比较接近,而CP-ABE算法的解密速度最慢,明显落后于DES算法与混合法。如图3和图4所示。
图3 加密时间对比
图4 解密时间对比
4 云存储的访问控制系统方案
4.1 算法的数据结构
对于云存储[12]系统中数据安全算法的结构体主要有4种,分别是访问权限体、密钥体、证书体和文件体。前三者的存放位置都是相同的,存于认证服务器中,唯独文件体是存放在元数据服务器对应的节点上。
由于文件体存放的服务器位置与其它三者不一样,所以文件体的功能与其它三者有明显的不同之处。但由于安全算法的4种结构都存放在服务器中,所以数据的存储、访问文件、修改文件数据等都可以在4种结构之间相互协调完成。安全算法结构之间的关系如图5所示。
图5 算法数据结构
图5的数据结构是描述了用户在对数据文件进行访问时的各个功能模块之间的关系。在云存储的数据结构中,用户在访问数据文件时需要进行身份验证,只有通过验证的用户才能获得相应的密钥。
4.2 安全云存储子系统的加解密流程
云存储环境下用户的信息量非常大,因此用户在上传文件时,不需要对所有数据都进行加密操作,而只需要对敏感数据进行加密后再上传至云服务器。如图6所示,提出了一个安全云存储子系统的加/解密方案架构,该方案包括客户端模块,对称加/解密模块,属性加/解密模块及对称密钥管理模块[13]。
图6 安全云存储子系统加解密流程
图6中主要有五大模块组成:分别为客户端模块、数据加密/解密模块(主体模块)、对称密钥管理模块、CP-ABE密钥加/解密模块、云存储模块。现对各个模块进行说明[14]:
1)客户端模块是用户在上传数据或者访问数据时,对系统发出访问请求,只有身份验证通过后,系统才为用户分配相应的访问权限,进行数据访问,否则请求失败。
2)对称加/解密模块(主体模块)主要是存储用户的属性信息,其采用DES算法来加密用户上传的数据,与非对称加密算法相比,其加密速度较快,但对数据文件的保密性能差,所以DES加密数据所产生的对称密钥需要再采用CP-ABE进行加密操作。
3)对称密钥管理模块主要是存储用户的私钥以及DES加密文件后所产生的对称密钥。
4)CP-ABE密钥加/解密模块是对DES加密文件后产生的对称密钥进行加密操作,将DES加密后的对称密钥存储在主体模块中。
5)云存储模块主要是存储混合加密后的密文。
由图可知,该安全云存储子系统将DES和CP-ABE两种算法相结合,即保证了用户数据的安全性和完整性,又提高了系统的性能。
现以单个文件F为例,简单描述下文件F的加密操作过程:
1)数据上传者DO通过身份验证后,利用对称加密算法DES对F进行加密操作,生成了一个对称密钥Kf,加密后得到密文Cf。
2)DO在上传数据时为F定义一个访问结构树T,使用CP-ABE算法,对文件F的加密密钥Kf进行加密操作,得到密文CT=Encrypt{PK,{Kf},T}。
3)DO通过安全信道将密文Cf和对称密钥的密文CT分别存储到各个云服务器设备上。
5 结语
通过研究云存储的数据安全[15]问题,采用密文策略的属性加密算法CP-ABE对云环境下的数据进行加/解密操作,解决了传统访问控制在分布式环境下的数据安全问题,很好的保护了用户数据的隐私性和完整性,但目前研究仍存在访问控制模型复杂、计算代价大、密钥撤销难等问题,针对这些问题,将进一步进行研究,使其更好地运用到云存储系统环境下。
[1]Miller Michael.Cloud Computing[M].San Antonio:Pearson Education,2011.
[2]温昱晖,陈广勇,赵劲涛,等.基于CP-ABE在云计算中实现数据访问控制的方案[J].重庆邮电大学学报,2013,05:658-664.WEN Yuhui,CHEN Guangyong,ZHAO Jingtao,et al.Scheme of data access control based on CP-ABE in cloud computing[J].Journal of Chongqing University of Posts and Telecommunications,2013,25(5):658-664.
[3]洪帆,崔国华,付小青,等.信息安全概论[M].第一版.武汉:华中科技大学出版社,2005.HONG Fan,CUIGuohua,FU Xiaoqing,etal.Introduction to Information Security[M].1sted.Wuhan:Huazhong University of Science and Technology,2005.
[4]洪澄,张敏,冯登国.面向云存储的高效动态密文访问控制方法[J].通信学报,2011,32(7):125-132.HONG Cheng,ZHANG Ming,FENG Dengguo.Efficient and dynamic cipher text access controlmethod for cloud storage[J].Journal of communication,2011,32(7):125-132.
[5]孙国梓,董宇,李云.基于CP-ABE算法的云存储数据访问控制[J].通信学报,2011,32(7):146-152.SUN Guozi,DONG Yu,LIYun.Cloud storage data access control based on CP-ABE algorithm[J].Journal of communication communication,2011,32(7):146-152.
[6]卞一茗,杨庚.基于ABE算法的访问控制方法研究[J].广西通信技术,2009(4):34-39.DIAN Yiming,YANG Geng.Research on Access Control Method Based on ABE Algorithm[J].Guangxi Communication Technology,2009(4):34-39.
[7]陈剑洪,陈克非,龙宇,等.密文策略的属性基并行密钥隔离加密[J].软件学报,2012,23(10):83-92.CHEN Jianhong,CHEN Kefei,LONG Yu,et al.Ciphertext Policy Attributes-Based Parallel Key-Insulated Encrytion[J].Journalof Software,2012,23(10):83-92.
[8] Foster I.Globus Toolkit Version 4:Software for Service-Oriented Systems[J].Journal of Computer Science and Technology,2006,21(4):513-520.
[9]刘萍萍,闫琳英.面向云存储的访问控制系统的研究[J].西安工业大学学报,2015,35(5):355-359.LIU Pingping,YAN Linying.Research on cloud storage oriented access control system[J].Journal of Xi'an TechnologicalUniversity,2015,35(5):355-359.
[10]周彦萍,马艳东.基于CP-ABE访问控制系统的设计与实现[J].计算机科学与发展,2014,24(2):145-148.ZHOU Yanping,MA Yandong.Design and implementation ofaccess control system based on CP-ABE[J].Computer science and development,2014,24(2):145-148.
[11]M.Pirretti,P.Traynor,P.McDaniel,and B.Waters.Secure Attribute-Based Systems.
[12]孙旭.基于CP-ABE算法的云数据服务访问控制系统的设计与实现[D].成都:电子科技大学,2015.SUN Xu.Design and implementation of cloud data service access control system based on CP-ABE algorithm[D].Chengdu:University of Electronic Science and technology,2015.
[13]程相然,陈性元,张斌,等.基于属性的访问控制策略模型[J].计算机工程,2010,36(15):131-133.CHEN Xiangran,CHEN Xingyuan,ZHANG Bin,etal.Attribute-Based Access Control Policy Model[J].Computer Engineering,2010,36(15):131-133.
[14]PSasikala.Cloud computing:presentstatusand future implications[J].International journal of cloud computing.2011,1(1):23-26.
[15]王鹏.走近云计算[M].北京:人民邮电出版社,2009.WANG Peng.Cloud Computing[M].Beijing:Post&Telecom Press,2009.