基于CP—ABE的数字图书馆云存储访问控制模型研究
2017-02-04高媛陈亮亮陈丽晖
高媛+陈亮亮+陈丽晖
[摘 要]本文提出了一种基于密文策略的属性加密体制(Ciphertext-Policy Attribute-Based Encryption,CP-ABE)算法的数字图书馆云存储访问控制模型(CP-ABE-based Digital Library Cloud Storage Access Control Model,CDCSACM),该模型是一个以数字图书馆属性认证中心(Library-based Property Certificate Authority,LPCA)为核心的,基于云存储访问控制机制的安全云存储模型。通过LPCA对数字图书馆的访问者进行管理,动态生成用户所需的访问密钥(SK),加之与云存储服务商之间的高效协作,在保证数字图书馆信息安全的基础上,有效地降低了现有数字图书馆的运营成本,在增加数字资源使用效率的同时,为数字图书馆的馆际互借提供了一个可行的解决方案。
[关键词]数字图书馆;访问控制;云计算;CP-ABE
doi:10.3969/j.issn.1673 - 0194.2016.24.103
[中图分类号]G250.76 [文献标识码]A [文章编号]1673-0194(2016)24-0-05
0 引 言
基于属性的加密方案(Attribute-Based Encryption,ABE)最早由Sahai等人于2005年的欧洲密码学年会上提出。这种加密体制是用属性的集合鉴别和表示用户的身份,相对与原有基于身份的加密体制(Identity-Based Encryption,IBE)而言有着根本的区别:在基于属性的加密方案中将密文和密钥引入访问控制结构。
基于属性的加密方案是基于身份加密方案的扩展和改进,它将基于身份加密方案中关于身份的概念泛化,抽象为属性的集合。这种属性的集合模式使其能够和访问控制结构有效地结合,由此可以便捷地表示具有相同属性组合的身份类型,从而实现一对多的通信。这也是基于属性加密所具有的重要优势,而传统基于身份的加密体制仅仅只能够实现一对一的通信,有一定的局限性。
目前,国内外关于ABE方案的研究主要可以分为3个方向,分别是基于属性的密钥策略加密方案(KP-ABE)、基于属性的密文策略加密方案(CP-ABE)以及两者的混合策略。在本文中,笔者将重点论述CP-ABE算法的应用及其研究进展。
CP-ABE算法最早由Bethencourt 等人于2007年提出。该方案的主要思想是:将密文策略表示成访问控制树,并且将该访问控制树部署在密文中,这种部署方式恰恰与基于属性的密钥加密策略(KP-ABE)相反。在CP-ABE策略中,用户的私钥生成与其所拥有的属性集合相关,只有当用户的属性集合满足密文中的密文策略时,才能够解密得到明文数据。基于属性的密文策略加密方案实施过程如图1所示。
Setup(过程一):输入一个隐含的安全参数γ,无需再输入其他参数,输出系统公共参数PK和系统主密钥MK。
数据的加密(过程二):以明文消息D、系统公共参数PK和在全局属性集合上构建的访问结构T作为算法的输入参数,输出得到经过访问结构T加密后的密文CT。
密钥的生成(过程三):以系统公共参数PK、系统主密钥MK和以子属性集合A作为输入参数,输出解密密钥SK。
密文的解密(过程四):以密文CT、系统公共参数PK和解密密钥SK作为输入参数,如果子属性集合A满足访问结构A,则可以解密密文CT得到明文消息D。
在Bethencourt的CP-ABE算法中,可以非常方便地通过访问结构T来表示属性之间的逻辑与(AND)和逻辑或(OR)的关系,其简单的表示如图2所示。
此后,有Cheung、Goyal及Waters 等分别从不同的角度对Bethencourt的CP-ABE算法尽量改进,主要包括对访问结构支持的逻辑类型的改进、算法安全性的证明与改进以及算法运算效率的改进。这些改进在一定的程度上弥补了Bethencourt算法中存在的不足,为后续CP-ABE的应用奠定了基础。
近年来,随着云存储相关研究的深入,CP-ABE算法在云存储数据加密与访问控制上的应用研究也进一步加强。在云存储系统中的基于属性的加密方式及其应用研究的要点在于,如何使用这种新的加密机制提高其服务的效率和质量,而不是在加密方式本身。
从云存储角度来看,基于属性的加密方式至少有以下特点。
(1)资源的所有者只需要根据已有的属性集合及其自身设定的访问结构加密数据后,将密文上传到云端,而不需要知道每个属性确切所属的用户,从而能够保护用户的隐私。
(2)基于属性的加密方式具有一对多的加密通信特点,并且只有符合密文策略的用户才能够解密得到明文,云端的其他不符合密文策略的用户无法获得明文数据,从而保证了数据的机密性。
(3)用户解密密钥的生成具有随机性,不同用户之间的密钥无法联合,防止了用户的联合攻击。
(4)基于属性的加密机制具备较细粒度的控制能力,符合云存储用户的身份及使用特点。
本文以CP-ABE算法为理论依据,以满足云存储环境下数字图书馆信息安全需求为应用前提,提出了一种以数字图书馆属性认证中心(LPCA)为基础的访问控制模型。通过引入LPCA,使CP-ABE算法在使用过程中所需维护密钥的数量大大的减少,并且通过LPCA动态生成SK,有效地保证了数据的机密性。该模型主要用以解决云数字图书馆的信息安全问题,为云数字图书馆的建设提供一个有效的安全参考模型。
1 基于CP-ABE的数字图书馆云存储访问控制模型概述
1.1 系统结构模型的关键要素
基于CP-ABE的数字图书馆云存储访问控制模型(CDCSACM)主要可以分为三个部分:用户、云存储服务商以及数字图书馆(数字图书馆属性认证中心)。三者之间的相互联系如图3所示。
1.1.1 云存储服务商
云存储服务商是独立于数字图书馆和用户的第三方服务商,在云存储环境下的数字图书馆的建设过程中承担着数据存储和安全策略执行的作用。目前,较为大型的云存储服务商主要有亚马逊Web服务、AT&T云存储、谷歌云存储、惠普云存储、IBM云存储、Internap云存储及微软云存储。上述厂商几乎都能提供企业级的云服务,但是在应用、安全性、开放性、价格等方面各有优劣,需要根据不同数字图书馆的建设方案灵活选取。
1.1.2 数字图书馆
在CDCSACM系统中,数字图书馆的核心组成部分是LPCA。LPCA的职责主要包括3个部分:用户属性证书(User Property Certificate,UPC)的管理、主秘钥资源属性变更列表(User MK Property Alteration List,,UMKPAL)的管理以及用户访问密钥(SK)的管理,其主要任务包括以下几个方面。
(1)用户属性证书(UPC)的管理:包括接受用户UPC证书的申请、对用户进行审查、审查后证书的发放以及UPC吊销列表的维护与管理。
(2)主秘钥资源属性变更列表(UMKPAL)的管理:包括UPC证书发放时(用户ID,主密钥)键值映射的管理、云端资源生成时(云端数据资源ID、读属性撤销集合、读属性授予集合、写属性撤销集合与写属性授予集合)键值映射的管理及属性集合的修改管理。
(3)用户访问密钥(SK)的管理:包括接受用户资源访问请求,根据用户属性集合动态生成资源访问密钥。
1.2 安全模型假设
在CDCSACM系统结构中,由于LPCA、云存储服务商和用户属于3个独立的个体,为了系统安全分析的需要,作出如下安全模型假设。
假设一:云存储服务商不可信。出于利益的追求,云存储服务商可能会窃取数字图书馆的信息明文数据或转交他人,从中获取收益。
假设二:如果无法获取数字图书馆的明文数据,云存储服务商不会因此故意损坏数字图书馆的密文数据,而会保证数据的可用性。
假设三:云存储服务商会严格遵守数字图书馆的访问控制策略,对用户的访问请求进行控制,给合法用户提供服务,拒绝非法用户请求。
假设四: LPCA中心能够保证UMKPAL的机密性以及密钥系统的安全性。对于用户、云存储服务商和其他友馆LPCA而言,LPCA之间是可信的。
2 基于CP-ABE的数字图书馆云存储访问控制模型研究的具体方案
2.1 数据结构定义
2.1.1 UPC证书
UPC证书是用户与数字图书馆属性认证中心(LPCA)以及云存储服务商之间进行通信的有效认证手段。通过UPC证书能够识别合法用户以及为LPCA生成SK提供参考,其基本结构见表1。
其中,UPC证书申请的关键步骤为:①用户向LPCA中心提出UPC证书的申请;②LPCA鉴定用户的属性集合及其他资质;③LPCA中心为用户生成对应CP-ABE算法的公开参数PK以及主密钥MK,并将PK存放在用户的UPC证书中;④LPCA在主秘钥资源属性变更列表中形成(用户ID,主密钥)的键值映射;⑤其他处理事项,发放UPC证书。
2.1.2 主秘钥资源属性变更列表(UMKPAL)
UMKPAL是LPCA所需要处理和保存的核心信息。其中(COID,MK)映射由LPCA唯一保存,任何其他用户或者云存储服务商都无法获取该信息。对应的(CDRID、RPRL、RPGL、WPRL、WPGL)集合可由资源所有者在获得LPCA许可后动态修改。UMKPAL的结构,见表2。
2.1.3 云端数据资源
云端数据资源(Cloud Data Resource,CDR)是被云存储服务商所存储的数据信息。由于对云服务商的不可信假设,结合CP-ABE算法的基本思想,对云端数据资源结构进行设计,见表3。
其中,数据加密密钥Kdata、数据签名/验证密钥对Ksign/Kverify、读访问控制结构RT、写访问控制结构WT由用户在客户端生成,PK由客户端从UPC证书中获取。其具体组成如下所示。
数据密文(Data Ciphertext,DC):
DC=Encrypt(Data|Sign(Hash(Data),Ksign),Kdata)
读控制密文(Read Control Ciphertext,RCC):
RCC=Encrypt(RT,PK,Kdata|Kverify)
写控制密文(Write Control Ciphertext,WCC):
WCC=Encrypt(WT,PK,Kdata|Ksign|Kverify)
读控制令牌(Read Control Token,RCT):
RCT=Hash(Kdata|Kverify)
写控制令牌(Write Control Token,RCT):
WCT=Hash(Kdata|Ksign|Kverify)
2.2 流程实现
2.2.1 资源的创建
资源创建包含两种主要形式:数字图书馆自身信息资源的创建以及普通用户信息资源的创建。对于数字图书馆自身创建信息资源的过程,与普通用户相比主要差别在于每次创建资源时,需要随机生成对称加密密钥Kdata,尽可能保证不同资源加密密钥的差异性,降低信息安全风险。资源创建的一般流程图如图4所示。
2.2.2 资源的读取
资源读取主要是针对客户端对数字图书馆信息资源的读取过程。其读取时序图如图5所示。
2.2.3 资源的修改
资源的修改和资源的读取有一定的相似性,用户在获取数据明文后,参照数据的创建过程,重新覆盖原始数据即可。其时序图如图6所示。
2.2.4 主秘钥资源属性变更列表的修改
主密钥属性更改列表的修改主要侧重在对访问权限的修改与控制,通过修改主密钥属性变更列表中的读写属性权限,从而能够有效地对用户进行细粒度的访问控制。其时序图如图7所示。
2.2.5 馆际数字信息资源互借
目前,多数出版商允许图书馆使用电子资源进行馆际互借,其方式是将电子文本打印出来,通过邮件、传真或Ariel软件传送。这种传输方式不仅效率较低,对现有的信息资源也是一种较大的浪费。而在云存储环境下的数字资源共享中,数字图书馆不用再去考虑如何传递数字资源,仅仅需要和友馆签订相应的馆际资源互借协议即可。这种传递方式不仅开销较小,而且易于资源的保密。其可能范式如图8时序所示。
3 安全性分析
数据传输信息安全分析:在CDCSACM系统中,信息传输安全主要由用户的数据加密密钥Kdata、数据签名/验证密钥对Ksign/Kverify以及用户的公钥进行保证。此时的安全性依赖于密钥的加密算法的安全性,例如:本系统中采用RSA和DES和混合使用,能够在有效保障安全性的同时,提升系统的运行效率。
数据存储信息安全分析:出于对云存储服务商的不可信假设,处于云端的数据资源全部经过了加密处理。如果云存储服务商无法获取解密密钥,也就无法获得明文数据。根据安全性假设,此时云存储服务商也就不会对密文数据进行破坏,而能够按照事前的约定,执行访问控制策略,这也就保证了数据存储的安全性。
访问控制信息安全分析:由于云存储服务商会严格执行CDCSACM系统的访问控制策略,现假设有非法用户请求读取或者写入信息资源(如果UPC证书为虚假证书,将会在第一步终止服务,因此为验证模型的安全性,此处假设UPC证书为有效证书),其访问流程如图9所示。
由图中示例可以看出,只要用户UPC证书、资源的密文策略有一个不一致,则非法用户将无法访问数据密文资源,更无法获得明文数据。
对于已生成的云端数据而言,用户无法通过更改云端数据内容来变更该资源的访问控制属性,但可以通过更改UMKPAL来变更访问控制属性,由于修改UMKPAL中云端资源的访问控制属性需要UPC证书的拥有者ID和资源的创建者ID一致,基于对LPCA的安全性假设,其安全性要求更高,因此能够有效地保证信息的安全。
4 结语
本文将CP-ABE算法应用于云存储环境下数字图书馆的建设过程中,提出了一个以数字图书馆属性认证中心为基础的访问控制模型。在该模型中,数字图书馆的信息资源在经过加密处理后可全部托管于第三方云存储服务商,而数字图书馆本身只需要负责LPCA中心的运营与日常管理,在保证安全性的同时,有效地降低了数字图书馆的运营成本。由于CP-ABE算法本身应用的难点,在云存储环境下,如何实现数字图书馆密文信息的高效检索、重复数据的处理以及数据的有效备份、数据的持有性证明等,都值得进一步的研究和探讨。在后续研究中,笔者将围绕CDCSACM系统的安全性和实施效率等问题,开展进一步研究,力求能尽早够完成原型系统的设计与开发工作,为云数字图书馆的信息安全建设提供一定的参考模型。
主要参考文献
[1]A Sahai,B Waters. Fuzzy Identity Based Encryption[M].Berlin:Springer,2005.
[2]A Shamir.Identity-Based Cryptosystems and Signature Schcmes[M].Berlin:Springer,1995.
[3]J Bethencourt,A Sahai,B Waters. Ciphertext-Policy Attribute-Based Encryption[C]//IEEE Symposium on Security and Privacy,2007.
[4]L Cheung,C Newport. Provably Secure Ciphertext Policy ABE[C]//ACM Conference on Computer and Communications Security,2007.
[5]V Goyal,A Jain,0 Pandey,et al. Bounded Ciphertext Policy Attribute Based Encryption[C]//Proceedings of the 35th International Colloquium on Automate, Languages and Programming,PartⅡ,2008.
[6]B Waters. Ciphertext-Policy Attribute-Based Encryption: An Expressive, Efficient, and Provably Secure Realization[M].Berlin:Springer,2011.
[7]傅颖勋,罗圣美,舒继武.安全云存储系统与关键技术综述[J].计算机研究与发展,2013(1).
[8]何朝晖,戴龙基,肖珑.共建共享数字资源的可持续利用研究[J].大学图书馆学报,2007(2).