张嘉伟,马建峰,马卓,李腾
(西安电子科技大学网络与信息安全学院,陕西 西安 710071)
由于云计算技术[1]能够减轻本地设备的计算和存储负担,越来越多的个人和组织用户将其数据外包并通过云计算提供方便的数据共享服务,用户可以随时随地访问并获取有用数据[2]。然而,共享在云计算的数据包含了大量的隐私和机密,一旦被非法访问,可能造成隐私泄露等重大事故。因此,数据的机密保护和访问控制成为云计算共享数据安全的关键[3]。密文策略属性基加密(CP-ABE,ciphertext-policy attribute-based encryption)方案[4-6]可以同时提供数据机密性和数据的细粒度访问控制,因此非常适于为云环境下的数据共享服务提供数据保护。目前,大量针对CP-ABE 的研究工作提出了适于云计算环境下各种应用场景的安全数据共享[7-12],并在效率、安全性、访问策略可表示性和属性空间规模等方面进行提升。然而,这些方案在隐私保护、用户追踪和撤销等方面还存在许多挑战性问题。
在多数CP-ABE 方案中,访问策略往往以明文形式和密文一起托管在公有云中。拥有共享密文访问权限的用户都能够获取与其关联的访问策略。然而,访问策略属性中的敏感信息可能被泄露。例如,在智慧医疗系统中,如果一个医疗记录的访问策略为“癌症∧(医生∨护士)”,则对应患者的医疗记录等隐私信息存在泄露风险。因此,访问策略中包含敏感信息的属性必须被保护。为了解决这个问题,文献[13]提出了一种方案来隐藏访问策略属性值。该方案不仅能实现隐私保护,还支持灵活的可表示性和大规模属性空间,而且在标准模型上达到完全安全。但其基于合数阶群的双系统构造所带来的高复杂度和低性能不适合在实际中使用。为了解决效率问题,文献[14]基于素数阶群构建属性完全隐藏的方案,但其需要对访问策略和用户属性集合同时进行处理,因此效率也较低。为了提高实际运行效率,文献[15]基于素数阶群构造属性值隐藏的CP-ABE 方案。
除此之外,在CP-ABE 方案中存在许多恶意用户共享其解密密钥给非授权用户,从而牟取非法利益,而解密密钥仅取决于用户的属性,因此根据泄露的解密密钥追踪恶意用户的身份是一个难题。文献[16]在文献[13]的基础上提出了一种基于白盒追踪的CP-ABE 方案,但其在合数阶群基础上的构造导致效率很低。同时,仅用户追踪对于CP-ABE 系统是不够的,还需要有效的用户撤销机制,而用户撤销是CP-ABE 的一个长期存在的热点问题。针对用户撤销,文献[17-18]提出了不同的基于素数阶群构建的可撤销CP-ABE 方案,但是这些方案的效率都比较低。之后,文献[19-21]结合在线/离线技术和可验证外包解密方法极大地提高了CP-ABE 中用户撤销的效率。与此同时,文献[22]则将用户撤销功能加入可追踪CP-ABE 方案中。针对该方案的隐私保护、串谋攻击等问题,文献[23]在其基础上实现了隐私保护、用户追踪和撤销的功能,但是仍然存在低效率等不足。而且,上述可撤销CP-ABE 方案在用户撤销列表上也有较高的开销,为了缩短用户撤销列表,文献[24]引入了基于时间的用户密钥和密文解密周期,从而在用户撤销列表中通过移除密钥失效的用户来缩短列表长度。但是该方案的效率很低且不具备可追踪和隐私保护的特性。
为了同时解决现存的基于CP-ABE 且具有隐私保护的数据共享方案中存在的用户追踪和撤销以及相应的效率较低和列表开销较高等问题,本文提出一种基于时间和隐私保护的云数据共享方案。该方案在现有研究基础上,同时实现了CP-ABE 的隐私保护、高效用户追踪和撤销以及较短的撤销列表,其效率也超过了相关工作。表1 列出了本文方案和现存的一些相关工作的特性对比。其中,F1 表示用户撤销,F2 表示短撤销列表,F3 表示隐私保护,F4 表示用户追踪,F5 表示基于时间访问控制,F6 表示高效率,F7 表示大属性空间,F8 表示素数运算域。
表1 本文方案和现存的一些相关工作的特性对比
本文主要的研究工作如下。
1) 本文提出一种基于时间并具有隐私保护的云数据共享方案。该方案针对外包在云计算中的共享数据提供了基于时间的细粒度访问控制,而且可以有效保护共享数据的访问策略中包含的用户隐私。同时,故意泄露解密密钥的恶意用户可以被高效追踪并进行短撤销列表的直接撤销。
2) 为了实现云数据共享服务中的基于时间的细粒度访问控制,本文基于素数域构造设计了根据时间控制的密文策略属性基加密方案,通过引入时间周期的形式化表示方法,控制对用户密钥和共享数据的有效使用期限。同时,为了保护密文访问策略中的用户隐私,该方案通过隐藏访问策略的属性值从而实现用户隐私保护。
3) 本文方案不仅实现了对泄露解密密钥的恶意用户的高效追踪和低开销的直接用户撤销,还优化了用户端计算效率,利用在线/离线加密技术提升用户加密的效率,而且通过可验证外包解密技术将繁杂的用户解密操作卸载到云端,极大减少了用户解密的时耗。
4) 本文方案通过安全分析证明其在选择明文攻击下的不可区分性,即IND-CPA(indistinguish ability under chosen-plaintext attack)攻击类型。同时,大量的实验结果展示了本文方案较高的时间效率与空间占用方面较好的效能。与当前相关方案的对比也验证了本文方案在实际运行中的高效性和实用性。
定义1访问结构。假设存在一个n元素集合Q={Q1,Q2,…,Qn},则Q上的访问结构P是一个集合,其元素为Q的非空子集,即P⊂2Q{∅}。如果存在 2 个集合A和B满足A∈P,A⊆B,有B∈P,则称访问结构P为单调的。如果存在一个集合C∈P,则称其为授权集合,否则称为非授权集合。
假设U表示全体系统用户集合,RL表示用户撤销列表,Tu表示用户二叉树,用于管理系统用户,它具有以下特性。
1) 每个叶子节点和一个用户相关联。由于系统用户总数为|U|,则Tu的节点总数为2|U|-1且每个节点按照深度优先遍历的方式编号为0~2|U|-2。
2) 路径path(η)表示从Tu的根节点到节点η的路径上的节点集合。
3) 最小覆盖集合cover(RL)表示可以覆盖用户撤销列表RL之外的所有未撤销用户所关联叶子节点的最小节点集合。
根据用户二叉树Tu的这些特征,如果一个用户u未被撤销且与Tu中的叶子节点ηu关联,则存在唯一的节点ηi=path(ηu) ∩cover(RL)。
用户私钥或者密文解密的有效期一般可表示成几个时间段,为了减少有效期时间表示的空间和时间消耗,本文方案使用时间周期树的方法。
假设Tt表示深度为d的时间周期树,它的每个节点可以拥有最多m个子节点。根节点被赋值为1,每个节点的子节点从1 开始从左向右依次赋值。因此,每个节点可以被一个m进制序列表示(从根节点到当前节点的路径的序列表示),即σ=(σ1,σ2,…,σlσ),lσ≤d,σi∈[m]。同时,每个节点(根节点除外)都表示一个具体的时间周期(例如,天、周、月、年等)。如果一个有效期包含了多个时间周期,可以使用最小覆盖集合的方法对所有的有效时间周期进行表示,这样比枚举方法更简洁高效。
图1 表示一个深度为4 的时间周期树,其第一层叶子节点表示年,第二层叶子节点表示月,第三层叶子节点表示天。如果一个用户的密钥在2020 年10 月1 日到2021 年12 月31 日期间有效,则该用户密钥的有效期可以表示为
图1 时间周期数
定义3双线性映射。假设G1和G2为2 个阶为大素数p的乘法交换群,g是G1的一个生成元,则双线性映射:G1×G1→G2满足以下条件。
1) 双线性。对于任意元素u,v∈G1,x,y∈Zp,有。
3) 可计算性。对于任意元素u,v∈G1,存在一个高效的算法计算。同时称元组(G1,G2,p,eˆ)为一个素数双线性群。
定义4q-BDHE 假设。假设为素数双线性群及生成元g∈G1,随机选择a,b∈Zp和向量,则判定性q-BDHE 问题为区分∈G2和一个随机元素Y∈G2。一个算法∏解决判定性q-BDHE 问题的优势可以定义为
判定性q-BDHE 假设成立的必要条件是当且仅当不存在一个多项式时间算法以不可忽略的优势解决判定性q-BDHE 问题。
基于时间和隐私保护的可撤销可追踪数据共享的系统架构如图2 所示,该系统包括属性机构、公有云、数据所有者和数据使用者4 个实体。其中,属性机构负责管理用户属性、产生和分配用户密钥以及用户追踪和撤销,同时负责将更新密钥和最新的用户撤销列表发送至公有云进行密文更新;公有云向用户提供数据外包和共享服务并向授权用户提供外包解密服务,同时,当有用户被撤销时,公有云根据最新的用户撤销列表以及更新密钥对相应的密文进行更新,从而保证被撤销用户无法访问撤销前加密的密文;数据所有者将其产生的数据经过离线和在线加密后上传到公有云进行数据共享;被授权的数据使用者向公有云请求所需数据并得到其转换密文,在经过用户解密后得到明文数据。
图2 系统架构
在系统运行中,公有云被认为是“诚实且好奇”的,该实体按照指定协议提供服务,但是可能会通过分析用户数据获取隐私和机密信息。数据所有者被认为是可信的且不与服务器进行串谋。权威机构被认为是可信的并且不与任何一方串谋。数据使用者被认为是不可信任的,存在一些恶意的用户非法访问共享数据并且泄露访问策略中包含的敏感和隐私信息,甚至篡改数据文件从而对用户隐私带来极大威胁。同时,一些数据使用者试图将其解密密钥和非授权用户分享从而获取额外利益。
根据以上威胁,本文方案需要满足以下要求。
1) 隐私保护:密文中的访问策略所包含的用户隐私等信息需要得到保护。
2) 高效用户追踪:对于泄露的解密密钥,需要能够高效并精确追踪到恶意用户的身份。
3) 短撤销列表用户撤销:在直接撤销恶意用户时,需要缩短用户撤销列表以节省开销。
4) 大规模属性空间:需要能够支持大规模属性空间,节省属性管理复杂度,提高灵活性。
基于时间和隐私保护的可撤销可追踪数据共享方案由以下多项式时间算法组成。
SysSetup(κ,d)。该算法由属性机构执行。输入安全参数κ和时间树深度d,输出系统公共参数PP和主密钥MSK。
KeyGen(PP,MSK,Su,Tv)。该算法由属性机构执行。输入系统公共参数PP、主密钥MSK、用户u的属性集合及其密钥有效时间期限Tv,输出用户u的私钥Du。
TKeyGen(PP,Du)。该算法由数据使用者执行。输入系统公共参数PP和用户u的私钥Du,输出用户转换密钥TKu和恢复密钥RKu。
Encryptoff(PP)。该算法由数据所有者执行。输入系统公共参数PP,输出2 个加密元素池。
Encrypton(PP,M,Td,RL,A)。该算法由数据所有者执行。输入系统公共参数PP、要加密的消息数据M、密文可解密时间段Td、用户撤销列表RL以及一个指定的数据,输出相应的密文CT。
Decryptout(PP,CT,TKu)。该算法由公有云执行。输入系统公共参数PP、密文CT以及用户u的转换密钥TKu,输出转换密文CT*。
Decryptu(PP,CT*,RKu)。该算法由数据使用者执行。输入系统公共参数PP、转换密文CT*以及用户u的部分私钥和恢复密钥RKu,输出解密验证后的明文消息M'。
Trace(PP,RL,Du)。该算法由属性机构执行。输入系统公共参数PP、用户撤销列表RL和用户私钥Du,输出被追踪用户的身份u和更新后的用户撤销列表RL′。
CTUpdate(PP,RL′,CT)。该算法由属性机构和公有云之间的交互来完成。输入更新后的用户撤销列表RL′,输出更新后的密文CT′。
基于时间和隐私保护的可撤销可追踪数据共享方案的IND-CPA 安全可以通过下述挑战者C 和敌手A 之间的安全游戏进行描述。
初始化。敌手A 提交规模为l*×n*的挑战访问策略A*=,用户撤销列表RL*和解密时间周期,其中,访问策略的每个属性只出现一次,其属性值集合为
系统建立。C 运行SysSetup 算法,生成系统公共参数和主密钥,并将系统公共参数发送给敌手A。
询问1。敌手A 适应性地向挑战者C 提交针对q个包含元组(u1,S1,T1),…,(uq,Sq,Tq)的用户密钥询问。若Si∉A*,或ui∈RL*,或∉Ti,即属性集合Si不满足挑战访问策略A*,或用户ui未被撤销,或挑战解密时间不被密钥有效期Ti完全覆盖,则C 计算对应的用户密钥并返回给敌手A。
挑战者应答。敌手A 输出2 个等长消息m0和m1给挑战者C。C 随机选择b∈{0,1},根据挑战访问策略A*加密消息mb得到密文CT*并返回给A。
询问2。敌手A 重复询问1。
猜测。敌手A 输出对c的猜测c',如果c=c',则敌手A 赢得该安全游戏。其优势定义为
定义 5如果任意随机多项式时间(PPT,probabilistic polynomial time)敌手最多只能以一个可忽略的优势赢得上述安全游戏,则本文方案在选择明文攻击下是不可区分性安全的。
在本文中,每个属性包括属性名称和属性值两部分,系统时间使用时间周期树进行描述。访问策略可表示为,其中是一个l×n的秘密生成矩阵,ρ是一个从Aˆ 的每一行到属性名称索引的映射,V是访问策略中的属性值集合。以下是本文方案的具体构造。
SysSetup(κ,d)。属性机构首先生成一个双线性群并随机选择一个生成元g0∈G1以及几个元素μ,ν∈RG1和x,y∈RZp,选取一个随机对称加密算法(Es,Ds)和一个随机对称密钥ks。同时,创建一个用户二叉树Tu和深度为d的系统时间树Tt,其中,用户二叉树Tu的每个叶子节点和一个用户u相关联并赋予一个唯一值vu∈RZp。对于Tu中的每个节点ηj,选择ξj∈RZp得到并且计算接着,随机选取元素L0,L1,…,Ld∈RG1并输出系统公共参数PP和主密钥MSK
KeyGen(PP,MSK,Su={Iu,Su},Tv)。属性机构为合法用户u按照如下步骤生成其私钥。
最后,该算法输出用户u的私钥
TKeyGen(PP,Du)。数据使用者u首先选择一个随机数zu∈Zp作为其恢复密钥RKu并按照如下方式生成其转换密钥。
其中,
最后,输出用户恢复密钥RKu和转换密钥TKu。
Encryptoff(PP)。数据所有者按照如下步骤生成中间密文。
最后,该算法输出中间密文IT={ITm,ITa}。
Encrypton(PP,M,IT,Td,RL,A)。数据所有者按照如下步骤计算密文。
首先,从中间密文的主密文模块ITm中随机选择一个元,计算消息验证Vm=H(Ru,M)并对消息数据M加密得到密文元素Cs=Es(ku,M)。
其次,将密文解密周期Td按照时间周期树的方法表示为σd=(σ1,…,),其中σd是一个m进制序列且ld 其中,vρ(x)是访问策略中属性ρ(x)对应的属性值。 再次,通过用户二叉树算法cover(RL)得到撤销列表的最小覆盖集合,根据该集合中的各节点选择密文元素 最后,得到最终密文 Decryptout(PP,CT,TKu)。公有云首先检测用户u是否在密文CT的用户撤销列表RL中,如果在,则算法终止,返回失败;否则,根据用户属性集合和密文访问策略,获取一个行索引集合Ir={i:ρ(i)∈Iu∧i∈[l]}和一个常量集合使当{λi}有效时,=s成立。同时,如果用户私钥中嵌入的属性值αi和密文中嵌入的访问策略值vρ(i)一致(vρ(i)=αρ(i)),可以得到 再次,计算转换密文元素 最后,该算法输出最终的转换密文CT*={RL,Vm,Ct,Cs,C0,{Ej}j∈cover(RL)}。 Decryptu(PP,CT*,,RKu)。假设用户u未被撤销,其首先根据用户二叉树中与用户u相关联的叶子节点ηu获取一个唯一的节点ηj=path(ηu) ∩cover(RL)。 Trace(PP,RL,Du)。该算法首先对用户私钥Du执行如下检查。 如果用户私钥Du通过该检查,则计算vu=Ds(ks,D3)。根据vu在Tu中进行搜索得到对应的用户身份u,并将其加入用户撤销列表中,得到RL'=RL∪{u}。 CTUpdate(PP,RL',CT)。首先,属性机构随机选择π∈Zp,计算更新密钥ξ'=并将其通过安全信道发送给公有云。 其次,公有云根据更新后的用户撤销列表RL'得到其最小覆盖集合cover(RL')。对于该集合中的每个节点∈cover(RL'),对以下2 种情况升级对应的密文CT。 情况1如果对于升级前的用户撤销列表RL,存在一个节点ηj∈cover(RL) 使,则设置=Ej。 最后,更新后的密文为 在本文方案中,IND-CPA 安全可以规约到判定性q-BDHE 困难性问题上。 定理1如果判定性q-BDHE 困难性假设成立,任意PPT 敌手选择访问策略和选择明文攻击下最多只能以一个可忽略的优势攻破本文方案,其中,q>2|U|-2。 定理2如果存在一个PPT 敌手A 可以以优势ε攻破本文方案,则可以构建一个模拟器B 以ε/2的优势解决q-BDHE 困难问题。该模拟过程描述如下。 B 根据已知消息选择的参数按照KeyGen 和TKeyGen 算法分别生成用户解密密钥和转换密钥并返回给敌手A。 询问2。敌手A 重复询问1。 另外,本文方案的可追踪性采用文献[23]中的机制,因此保持了相同的强可追踪性,其安全性证明也相近,此处因篇幅限制不做专门证明。 本节通过将本文方案与文献[13]方案、文献[16]方案和文献[23]方案在计算开销和存储开销方面进行对比,给出本文方案的理论性能分析。其中,|S|表示用户属性集大小,|I|表示访问策略复杂度,E1(E2)、M1(M2)、P分别表示素数阶群G1(G2)上的指数、乘法运算和双线性映射运算,|G1|、|G2|、|Zp|分别表示素数阶群G1、G2、Zp上的元素长度,Ei(ET)、Mij(MT)、Pij分别表示合数阶群Gi(GT)上的指数、乘法运算和双线性映射运算,|Gij|、|GT|、|ZN|表示合数阶群Gi、GT、ZN上的元素长度,|C|表示撤销列表在用户二叉树中最小覆盖集合大小,|P|表示用户二叉树中路径长度。 表2 给出了本文方案和文献[13,16,23]方案的计算开销对比。在加密算法中,本文方案实现了最小的加密开销,由于引入了在线/离线技术,加密过程中省去了文献[23]方案中的访问策略相关开销;文献[13]方案和文献[16]方案的复杂度高于本文方案而且其是在合数阶群上进行的设计,因此效率很低。在解密过程中,由于外包解密的引入,本文方案仅需要一次双线性映射操作,访问策略相关操作都外包至公有云,因此开销远小于文 献[23]方案;在文献[13]方案和文献[16]方案中,解密过程也需要大量合数阶群上的指数和双线性运算,效率很低。 表2 本文方案和相关方案的计算开销比较 表3 给出了本文方案和文献[13,16,23]方案的存储开销对比。由于支持用户撤销,本文方案和文献[23]方案都引入了额外的用户空间相关的公共参数元素,另外,本文方案还引入了时间周期树的相关元素,因此具有更长的公共参数,但是,以上全部方案的公共参数均为常数,因此都支持大属性空间。在用户密钥长度上,本文方案由于采用了外包解密机制,仅需要保存恢复密钥和用户密钥中与用户二叉树路径相关的部分。而其他方案则需要保存较长的密钥,特别是文献[13]方案和文献[16]方案的用户密钥在合数阶群上的长度更长。在密文长度方面,本文方案由于采用了在线/离线加密技术,因此比文献[23]方案有更多的开销,但是由于所增加的长度为素数阶群Zp上的元素长度,因此额外开销很少。 表3 本文方案和相关方案的存储开销对比 此外,本文通过实现4 个方案并对其进行仿真实验和对比分析真实运行数据来展示本文方案的实际性能。使用Java 编程语言和JPBC 库[25]对4 个方案进行实现,采用JPBC 库的Type A 曲线E(Fq):y2=x3+x生成2 个阶为素数p的乘法循环群G1,G2,其 中,p=80,q=160。因此,|G1|=|G2|=320,|Zp|=160。所有实验都在一台硬件配置为Core i5-6500 CPU @ 2.60 GHz、6 GB内存并安装Windows Server 2013 操作系统的服务器上运行和测试。 图3 描绘了4 个方案的文件加密时间和密文长度。图3(a)和图3(b)对比了这4 个方案在不同的撤销列表最小覆盖集设置|C|的文件加密时间。可以很明显看出,本文方案在加密过程中需要的时间损耗远小于其他方案,而且随着访问策略复杂度的增长,本文方案所需的加密时间增长较缓慢。图3(c)和图3(d)展示了4 个方案在不同的撤销列表最小覆盖集设置|C|下的密文长度。其中,4 个方案的密文大小均随着访问策略的复杂度的增大而增加。由于引入了在线离线技术,本文方案的密文长度要大于文献[23]方案,但是仅限于群Zp上元素的量级。而文献[13]方案和文献[16]方案由于在合数阶群上构建,因此其实际的开销远大于其他2 个方案。 图3 4 个方案的文件加密时间和密文长度 图4 展示了4 个方案中文件解密时间随着密文个数的变化情况。图4(a)和图4(b)分别为在访问策略复杂度|I|=5和|I|=10的设置下,4 个方案的解密时间对比。从图4 可以看出,在同样的访问策略复杂度设置下对同样个数的密文进行解密时,本文方案所需的解密时间要远小于其他方案,而且其随文件个数增长的变化非常缓慢。 图4 4 个方案中文件解密时间随着密文个数的变化情况 图5 展示了4 个方案在密钥生成时间、用户密钥长度和公共参数长度方面的性能对比。图5(a)和图5(b)显示了4 个方案在不同的时间周期树深度d设置下密钥生成时间随着用户属性集合大小的变化情况。可以看出,由于基于合数阶群构建,文献[13]方案和文献[16]方案的密钥生成时间远超过另外2 个方案。本文方案在密文生成算法引入了基于时间的操作,因此开销比文献[23]方案大。但是,在实际中d一般很小,因此本文方案中额外引入的与系统时间周期树深度d相关的计算和存储开销也非常小。图5(c)和图5(d)显示了4 个方案在不同路径长度|P|设置下用户密钥长度随着用户属性集合大小的变化情况。本文方案由于采用了外包解密机制,需要保存的用户密钥仅为恢复密钥以及和路径相关的解密密钥部分,因此用户密钥长度很小,随着属性集合大小的变化也很小。文献[13]方案和文献[16]方案由于采用合数阶群实现,因此密钥长度远大于另外2 个方案。图5(e)和图5(f)描绘了在不同的时间周期树深度d设置下系统公共参数长度随系统属性集合的变化情况。很明显,4 个方案的公共参数的大小均不受系统属性全集大小影响,即均支持大规模属性集合。文献[23]方案和本文方案由于支持用户撤销,因此需要更多的参数开销,同时本文方案还支持时间有效性而引入了时间相关的公共参数,因此,公共参数长度大于文献[23]方案。 图5 4 个方案在密钥生成时间、用户密钥长度和公共参数长度方面的性能对比 图6 展示了本文方案和文献[23]方案、文献[16]方案在用户追踪时间和存储方面的真实开销对比。图6(a)对比评估了3 个方案的用户追踪时间。由于文献[16]方案基于合数阶群进行构建,而且其追踪用户的算法基于用户列表查找,因此计算开销高于另外2 个方案。图6(b)是3 个方案在存储方面的实际消耗对比。由于本文方案和文献[23]方案在实现用户追踪时不需要用户列表,其用户追踪的存储开销为0;而文献[16]方案的用户追踪需要维护一个额外的用户列表,因此,文献[16]方案在存储方面消耗较大,而且随着用户个数增多,列表存储开销增大。 图6 3 个方案在用户追踪时间和存储方面的真实开销对比 综上所述,本文方案由于在系统公共参数中引入时间相关的一些固定参数,因此在公共参数的存储开销中有所增加。然而,本文方案在计算性能和其他存储空间开销方面都远超文献[13,16,23]方案。因此,本文方案更具有实用性和高效性。 为了解决当前CP-ABE 方案中存在的隐私保护和用户追踪以及撤销等严重问题,本文设计了一种可撤销可追踪的基于时间且具有隐私保护的云数据共享方案,实现了基于时间的细粒度访问控制和访问策略的用户隐私保护。同时,对于恶意泄露密钥的用户,设计了一种高效追踪用户并进行直接用户撤销的机制,该机制具有很短的用户撤销列表。本文方案的加密过程只需要简单的整数计算,而在解密过程中只需要一个双线性映射运算,相比已有方案,整体效率有很大提升。此外,在判定性q-BDHE假设下,本文方案是IND-CPA 安全的,而且支持大规模属性空间,非常适于云环境下数据共享的实际应用。5 安全性分析
6 性能分析
7 结束语