刘萍萍,闫琳英
(西安工业大学 计算机科学与工程学院,西安710021)
云存储是在云计算基础上延伸和发展出来的,是一个以数据存储和管理为核心的云计算系统[1],通过集群应用、网络技术或分布式文件系统等功能,将许多存储设备与应用软件相结合,共同对外提供数据存储和业务访问功能的一个系统[2].
云存储作为云计算的一种典型的应用方式,使得用户可以随时随地、通过任何可连网的装置连接到云上方便地存取数据.云存储具有灵活性、方便性、数据共享和价格低廉等特点,能够满足诸多领域对海量数据存储的需求.近几年得到企业用户和个人的广泛使用.但是随之而来的是云存储环境下的数据安全问题,如何保护用户敏感数据的机密性和合法访问成为用户最为关注的问题.目前,实现安全云存储的重要技术和内容主要是访问控制、用户授权等.在访问控制方面,文献[3]最早提出了自主访问控制和强制访问控制的概念,这两种传统的访问控制模型并不能很好地适应分布式环境.到1996年,文献[4]提出了基于角色的访问控制,通过“角色”的引入,实现了“用户-角色-权限”的模式.然而这几种访问控制模型只是为了解决数据的合法访问和相对完整性,无法保证数据在传输过程中不被用户非法截取.因此文献[5]提出了一种加密方法Fuzzy IBE,第一次出现了属性加密的概念,直到2006年,文献[6]首次提出了KP-ABE的概念,这种加密方法能够较好地对数据进行加解密.文中将从访问控制和属性加密两方面进行研究,利用基于角色的访问控制方法和属性加密两方面技术提出一种云存储访问控制系统方案,同时达到保证数据的合法访问,机密性以及完整性.
访问控制是通过限制用户的操作权限来达到保护系统数据不被非法访问和窃取,进而保证数据资源的完整性和保密性,是针对越权用户访问资源数据的防御措施,即限制访问主体对访问客体的访问权限.
传统的访问控制包括自主访问控制(Discretionary Access Control,DAC)和强制访问控制(Mandatory Access Control,MAC).自主访问控制是基于主体授权的访问控制策略,系统中的主体对其所拥有的客体具有管理权限,并且主体可以决定是否将自己所拥有的客体资源的访问权限授予其他主体.这种控制方式具有自主的,但是授予主体用户的权限过大,导致系统的安全性大大降低.
强制访问控制与自主访问控制不同,它是由安全管理员分配给主体用户和客体资源一个固定的安全级别,分配好的安全级别主体用户自己不能更改,并且也不能改变其能访问的客体的安全级别.在用户访问请求时,系统自动检测主体用户和客体资源的安全级别,判断其是否具有访问客体资源的权限.强制访问控制通过单向的信息流通方式,能够在一定程度上增强系统的安全,但是其缺乏灵活性、不便于管理,因此一般不用于复杂的分布式环境中.
文中提出的面向云存储的访问控制系统中,访问控制模块就是利用基于角色的访问控制模型.基于角色的访问控制(Role-Based Access Control,RBAC)主要思想是将传统访问控制中的主体和客体相分离,访问权限不直接针对主体和客体,而是将其分配给角色,当用户被赋予某种角色之后,将拥有该角色所包含的所有权限.
数据加密技术[7]是指将一段信息(明文)按照一定的加密规则转换为一段无意义的信息(密文),接收方必须拥有解密密钥才能恢复密文为明文,而未授权的用户无法得到信息内容.经过加密技术的使用使得系统数据在传输过程中不易受到非法截取而导致信息泄露,而且数据在存储系统中也得到了保护,加密技术保证了数据的完整性和保密性.
根据密钥的不同,加密算法分为对称加密体系和非对称加密体系[8].
1)对称加密体系
对称加密算法是应用比较早的算法,技术已经很成熟,在对称加密中,加密使用的密钥和解密使用的密钥相同,它要求发送方和接收方在安全通信之前,商定一个密钥.对称加密算法中最为著名的加密算法是数据加密标准(Data Encryption Standard,DES),DES算法公开、加密速度快、复杂度低,但其安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信性至关重要.
2)非对称加密体系
与对称加密算法不同,非对称加密算法有两个密钥,公开密钥和私有密钥.公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密,如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密.非对称加密算法中最为著名的是RSA算法[6].与对称加密算法相比,非对称加密算法安全性高,但是其加密效率低,只适合对少量数据进行加密.
基于 属 性 的 加 密 (Attribute Based Encryption,ABE)机制是在基于身份的加密机制(Identity Based Encryption,IBE)[9]基础上扩展而来.主要是基于密钥策略的属性加密体制(Key-Policy ABE,KP-ABE)和基于密文策略的属性加密体制(Ciphertext-Policy ABE,CP-ABE)[10].在 KPABE中,可描述的一组属性与密文相联系,解密密钥用决策树来约束.当用户属性匹配访问控制策略树,用户才能获取解密密钥.因此,加密方对明文无任何控制权.KP-ABE适合于大规模网络下的密钥管理.在CP-ABE中,访问控制策略树和密文相联系,解密密钥用一组可描述的属性来约束.当解密者拥有的属性能够匹配决策树,就可以获得解密密钥,获得对资源的访问权限.由于云计算资源的高度集中,系统的高度开放以及可伸缩性,CPABE比KP-ABE更适用于云存储系统,使得密钥管理更加方便快捷.
为了提高加密技术的效率,考虑到实际系统中并不是所有的数据都需要加密,因此文中将云存储环境下的数据分为两类:敏感数据和非敏感数据,以档案管理系统为例,网站上的图片、公告、视频等本身供用户共享的数据没有必要进行加密,称之为非敏感数据,对于系统中的合同、档案文件等数据则使用加密技术进行加密,称之为敏感数据.
在云存储中进行数据的加密访问控制,密钥的管理很困难,使用传统的对称加密无法保证密钥的安全性,使用非对称加密机制可以增强系统的安全性,但是算法通常较复杂,直接用于数据文件的加密效率很低.因此在云环境中,必须要同时实现高效的加密数据的访问控制和保证数据和密钥的安全性.因此文中的加密技术将充分利用属性加密机制在访问控制中的优势,同时结合使用高效的对称加密算法以实现云环境中多用户的安全和高效的数据访问.云存储中基于属性的数据访问如图1所示,以档案管理系统为例,说明云存储中基于属性加密的数据访问结构.
图1 云存储敏感数据访问结构Fig.1 Sensitive data access structure of cloud storage
文中云存储访问控制系统包括四大模块:基于角色的访问控制模块、基于属性的加解密模块、主体信息模块和云存储模块.
系统结构如图2所示.
图2 云存储访问控制系统Fig.2 Cloud storage access control system
当用户提交资源访问请求时,基于角色的访问控制模块进行用户身份认证,若验证失败,则向用户返回失败信息,此次请求终止,若验证成功,则查看请求资源的类型,若资源为非敏感型(未加密数据),则此模块对用户进行角色分配,并且为角色赋予权限,进而转向云存储模块,用户进行数据的利用,当用户请求的资源为敏感型时,从主体信息模块中检索用户属性,若用户属性符合资源访问控制策略,则执行基于属性的加解密模块进行明文(密文)的加密(解密).
系统中各模块内容为
①基于角色的访问控制模块:此模块用于主体用户信息的验证和非敏感数据的访问控制.当主体用户提出资源访问请求时,先由访问控制模块将用户信息提交给云授权中心,云授权中心进行用户信息的审核,若符合系统的安全规则,则继续查看需要访问资源的类型,若为非敏感数据,则为用户授予需要的角色,进而为用户角色分配相对应的访问权限,用户可直接提交数据到云存储模块,进行资源的利用.若需要访问的数据是敏感型,则直接将用户相关信息提交给加解密模块.
②主体信息模块:用来存储主体用户的属性信息、用户私钥和由(Data Encrypition Standard,DES)算法生成的对称密钥.
③云存储模块:存储经过加密的密文和未经加密直接由访问控制模块存储的明文.
④ 属性加解密模块:包括对称加解密功能、属性加密功能和属性解密功能.其中对称加解密功能,采用DES加密算法,用于生成对称密钥,并用对称密钥加密明文,解密密文;属性加密功能采用CP-ABE加密算法对对称密钥进行加密,得到加密后的对称密钥并存储到主体信息管理模块中;属性解密功能,根据身份用户信息对主体信息管理模块进行检索,得到用户私钥和加密后的对称密钥,使用用户私钥运行CP-ABE解密算法对加密后的对称密钥进行解密得到对称密钥.
模块采用DES对称加密算法加密数据,其复杂度比非对称加密低,且加密效率高,但是密钥不安全,因此再使用CP-ABE进行对称密钥的加密,CP-ABE算法最大的优点就是适用于分布式环境下解密不固定的情况,加密方加密信息时不需要了解解密方的是谁,而解密方只需要符合加密方所指定的策略,便可以解密密文得到明文.
CP-ABE算法包括以下四个部分为
①Setup():一个随机化算法,输入消息M,生成主密钥MK和系统公开参数PK;
②KS= KeyGen(MK,A):也是一个随机化算法,使用MK和用户属性集S生成用户的私钥KS;
③ CTT= Encrypt(PK,M,T):同样是一个随机化算法,使用PK、访问控制策略结构T将明文数据M加密为密文CTT;
④M=Decrypt(CTT,KS):使用私钥KA解密密文CTT得到明文M.当S满足T的条件,Decrypt()的操作才能成功.
文中所提出的云存储访问控制系统实现的平台选用的是 Linux ubuntu 12.04,实验环境为在VMware Workstation 8上安装 Ubuntu 12.04,并安装Hadoop0.20.0,开发环境采用 MyEclipse10.
系统部署实体机拓扑图如图3所示.
图3 系统部署实体机拓扑图Fig.3 Topology of system deployment entity machine
系统部署主要包括认证服务器和存储节点.认证服务器利用基于角色的访问控制实现用户身份验证和非敏感数据的访问,验证通过的用户根据其属性生成的策略判断是否授权用户访问数据资源,若用户属性符合访问策略则授权,否则返回未授权响应.存储节点主要利用DES对称加密算法对敏感数据进行加解密、并利用CP-ABE属性加密算法对密钥进行加解密,以及数据的存储功能.
系统测试界面如图4所示,由三部分组成:①系统登录,包括用户名、密码和系统身份的验证,这部分就是对用户合法访问的一个简单的控制;②属性策略设置部分,在用户上传数据文件时填写的策略属性集,包括用户类别、部门和职位;③文件目录显示区,左半部显示本地文件的目录,主要用于用户上传文件时查找并上传本地文件数据包含添加文件、上传文件和删除等操作按钮;右半部为云端文件目录显示窗口,主要显示用户在云存储器上所拥有的文件数据,还包含了云端操作按钮如下载文件和显示文件列表等.
图4 系统界面Fig.4 The interface of the system
对本访问控制方案中的加密算法利用仿真实验进行验证,得出如图5~6所示的结果,可以明显看出DES的加解密性能明显大于CP-ABE.加密敏感数据时本系统采用的是DES对称加密算法,既保证数据的完整性和机密性,又因为对称加密算法效率高,保证系统的性能下降在用户可接受范围内,然后使用CP-ABE加密DES对称密钥,从而保证密钥的机密性.
图5 加密时间对比图Fig.5 Comparison between encryption times
图6 解密时间对比图Fig.6 Comparison between decryption times
通过研究云存储环境下的数据安全问题,使用基于角色的访问控制模型,对云存储环境下系统进行访问权限的控制,并使用属性加密算法对云存储环境下的系统数据进行加解密,通过这两者的结合提出一种面向云存储的访问控制系统方案,该方案能够在一定程度上保证云存储中数据的完整性和保密性.
[1] 李乔,郑啸.云计算研究现状综述[J].计算机科学,2011,38(4):32.LI Qiao,ZHENG Xiao.Research Survey of Cloud Computing[J].Computer Science,2011,38(4):32.(in Chinese)
[2] 傅颖勋,罗圣美,舒继武.安全云存储与关键技术综述[J].计算机研究与发展,2013,50(1):136.FU Ying-xun,LUO Sheng-mei,SHU Ji-wu.Survey of Secure Cloud Storage System and Key Technologies[J].Journal of Computer Research and Development,2013,50(1):136.(in Chinese)
[3] 张基温.信息系统安全教程[M].北京:清华大学出版社,2007.ZHANG Ji-wen.Course of Information System Security[M].Beijing:Tsinghua University Press,2007.(in Chinese)
[4] 龙勤,刘鹏,潘爱民.基于角色的扩展可管理访问控制模型研究与实现[J].计算机研究与发展,2005,42(5):868.LONG Qin,LIU Peng,PAN Ai-min.Research on and Implementation of an Extended Administrative Rolebased Access Control Model[J].Journal of Computer Research and Development,2005,42(5):868.(in Chinese)
[5] 牛德华,马建峰,马卓.基于属性的安全增强云存储访问控制方案[J].通信学报,2013,34(Z1):276.NIU De-hua,MAN Jian-feng,MA Zhuo.Enhanced Cloud Storage Access Control Scheme Based on Attribute[J].Journal on Communications,2013,34(Z1):276.(in Chinese)
[6] 孙国梓,董宇,李云.基于CP-ABE算法的云存储数据访问控制[J].通信学报,2011,32(7):147.SUN Guo-zi,DONG Yu,LI Yun.CP-ABE-Based Data Access Control for Cloud Storage[J].Journal on Communications,2011,32(7):147.
[7] BETHENCOURT J,SAHAI A,WATERSs B.Ciphertext-Policy Attribute-Based Encryption[C]//Proc of IEEE Symposium on Security and Privacy,Los Angeles:IEEE Computer Society,2007:321.
[8] FU K.Group Sharing and Random Access in Crypt-Graphic Storage File Systems[D].Massachusetts:MIT,1999.
[9] HUR J B,NOH D K.Attribute-Based Access Control with Efficient Revocation in Data Outsourcing Systems[J].IEEE Transactions on Parallel and Distributed Systems,2011,22(7):1214.
[10] GOYAL V,JAIN A,PANDEY O,et,al.Bounded Ciphertext Policy Attribute-Based Encryption[C]//Proc of the 35th International Colloquium on Automata,Berlin Heidelberg:Springer-Verlag,2008:579.