传统基于密文策略的属性加密方案中,访问策略虽然能较好的实现属性加密,但也会带来数据隐私泄露问题,并且密文解密阶段的计算开销大。文章提出一种隐藏访问策略的外包加密方案,对属性的取值进
在传统的公钥加密体系中,通信采用“一对一”模型,使用特定公钥加密的数据,必须使用相应的私钥解密, 例如基于身份的加密(IBE) [1]方案。
实际上, 许多加密系统采用的都是“一对多”的通信模型, 例如共享数据库中的文档被多个用户访问,有线电视节目被多个订阅者观看等。属性加密(简称ABE)采用一系列属性来描述用户身份,可以引入访问控制策略把用户私钥和密文同属性相关联,具有“一对多”良好特性, 能够灵活地进行访问控制, 可以实现对密文细粒度的访问控制。
这个想法最早由Sahai 和Waters作为模糊IBE 方案[2]的应用引入,其中密钥和密文与属性集合关联,当且仅当密文和密钥的属性集相交的属性个数至少达到固定的阈值时才能解密。
近年来随着对属性加密方案研究[3] [4]的不断深入细化,又分为密钥策略的属性解密(简称KP-ABE) [5]和密文策略的属性加密(简称CP-ABE) [6] [7] [8]。
其中, Bethencourt 等人提出第一个CP-ABE 方案[7], 该方案要求访问控制策略在密文中公开,用于接收方完成属性对比和解密。考虑到某些隐私性,有些时候访问控制策略可能包含隐私信息,加密者需要将加密策略进行隐藏,但如果访问策略被隐藏, 解密者将无法完成相应的解密工作。之后,Nishide 等人[9]提出了一种隐藏访问控制策略的基于属性加密方法,由于采用了较多的双线性对运算和指数运算,对算法效率的影响较大。Kapadia 等人[10]的方案要求一个在线的半可信服务器参与,且必须知道每个用户的属性值,发送方只具有发布密文的功能,当接收方检索密文时,半可信服务器重加密该密文,这一方案对第三方依赖太大,不能防止用户串谋。Shiet 等人[11]提出了一个基于大数范围查询的谓词加密方案, 数据发送方在指定访问策略中的数字范围实现CP-ABE, 采用的安全概念较弱,且要求属性个数少,该方案在属性数量上成指数型。Boneh 和Waters [12]提出基于隐藏向量的谓词加密方案,使用子集谓词相反的语义实现策略隐藏,但是需要处理两个大素数阶的双线性对,在系统建立时指定访问策略中的属性以及每个属性的可能取值。而在我们的方案中,即使公共参数系统建立后,也可以在密文策略中增加属性。Lai 等人[13]利用子群判定假设在合数阶群中提出了一个新的可以隐藏访问结构的加密方案,并证明是完全安全的。但是为了达到一定的安全级别,合数群的阶会取得比较大。Katz 等人[14]提出一种支持内积的谓词加密方案,该方案实现访问策略的隐藏且通用性强,可以同时满足KP-ABE 和CP-ABE 方案。但是,该方案需要采用一种特殊的具有三个大素数的双线组,访问控制结构固定且在强假设下证明安全性。
本文在文献[6]所构造的高效属性加密方案基础上,通过扩展每个属性的可能取值,在加密的过程中隐藏部分属性值的子集值,要求所有接收方都不知道发送方采用了何种访问策略加密数据。对比已有的