-
随着以云存储为代表的大规模分布式存储技术的成熟与推广,具有隐私保护与访问控制功能的密码机制有了重要的应用价值[1-2]。在基于身份加密算法的基础上,文献[3]提出了属性基加密(attribute-based encryption, ABE)方案。通过引入属性的概念,采用属性集替代用户身份,以实现对数据的细粒度访问。在属性基加密中,用户拥有的属性与加解密过程关联,只有当用户属性满足预定的访问结构时,用户才能够正确执行解密过程。属性基加密采用一对多的模式,将访问控制与数据加密相结合,通过用户属性的与、或、非和门限操作的组合,可以实现灵活的细粒度访问控制策略管理[4-5]。依据访问控制策略实现的方式,属性基加密算法可以被分为为两种类型:密文策略属性基加密(ciphertext-policy ABE, CP-ABE)[6]和密钥策略属性基加密(key-policy ABE, KP-ABE)[7]。KP-ABE将密文与解密策略关联,CP-ABE则将用户私钥与解密策略关联。
早期的研究工作中,多数ABE方案主要关注对访问策略的表达与实现能力,未对用户属性撤销问题进行关注[8-11]。在实际应用中,不同用户通常拥有部分相同的属性,属性到期、属性变更、密钥泄露、用户动态加入与退出等情况往往会引发属性撤销的问题。具体地,实用的属性基加密应该在用户访问权限出现变化时,能够通过权限更新使得用户属性变化后不满足访问结构的用户无法使用旧密钥解密密文,同时不影响其他访问权限未发生变化的用户。因此,构建支持高效属性撤销的ABE方案成为亟需解决的关键问题[12]。
-
设集合
${\rm{\{ }}{m_{\rm{1}}},{m_{\rm{2}}}, \cdots ,{m_k}\} (k \geqslant 2)$ 是$k$ 个正整数,且这k个数互素,令$L = {m_1}*{m_2}* \cdots *{m_k}$ 。那么存在以下同余方程组:
$$\left\{ \begin{aligned} &X \equiv {x_1}od {m_1} \\ & X \equiv {x_2}od {m_2} \\ &\qquad\;\; \vdots \\ & X \equiv {x_k}od {m_k} \end{aligned} \right.$$ 以上方程组的解是唯一的:
$$X = \sum\limits_{i = 1}^k {({x_i}{L_i}{N_i})od L} $$ (1) 式中,
${L_i} = \dfrac{L}{{{m_i}}};{N_i} = L_i^{ - 1}od {m_i}$ ,式(1)为中国剩余定理。 -
依据访问策略的不同,使用较多的是正负通配与门和多值通配与门,其中多值通配与门在相同访问策略下具有更好的灵活性,故本文选用了多值通配与门来表示访问控制结构。现假设有访问策略如表1所示。
表 1 访问策略示例
属性名称 所属学校 用户身份 用户性别 属性取值 大学A 教师 女 大学B 辅导员 男 大学C 访问策略 大学C * 女 使用正负通配与门访问结构表达上述策略为:
$${\rm{AP}} = w_1^ - \wedge w_2^ - \wedge w_3^ + \wedge w_4^ * \wedge w_5^ * \wedge w_6^ - \wedge w_7^ + $$ 式中,
${w^ + }$ 表示访问策略中包含该属性;${w^{\rm{ - }}}$ 表示不包含该属性;${w^ * }$ 表示与属性无关。该访问策略的多值通配与门访问结构为:$${\rm{AP}} = {w_{1,3}} \wedge * \wedge {w_{3,2}}$$ 式中,分项为对应属性的取值;通配符*表示属性对解密过程无影响。由此可见,多值通配与门访问结构对访问策略的描述更为简明。现对多值通配与门结构定义如下。
定义 1 多值通配与门。给定一个属性列表L和一个访问策略W,
$L{\rm{| = }}W$ 表示L与W匹配,$L{\rm{|}} \ne W$ 表示不匹配。给定一个属性列表$L = [{L_1},{L_2}, \cdots ,{L_n}]$ 和访问策略$W = [{W_1},{W_2}, \cdots , {W_n}] = { \wedge _{i \in {I_W}}}$ ,对于$1 \leqslant i \leqslant n$ ,若${L_i} = {W_i}$ 或${W_i} = * $ ,则称$L{\rm{| = }}W$ ,否则$L{\rm{|}} \ne W$ 。其中,
${I_W} = \{ i|1 \leqslant i \leqslant n,{W_i} \ne * \} $ 为一个属性索引集。在计算过程只考虑$W$ 中出现的非通配符属性,选取对应下标的属性值进行计算(${I_L}$ 也选取对应的下标进行计算),$W$ 中没有出现的属性其取值被表示为通配符*,对应的用户属性与解密能力无关。 -
定义 2 判定性DBDH(decisional bilinear diffie-hellman)假设。设有循环群
$G,{G_T}$ ,群的阶均为大素数$p$ ,$g$ 为群$G$ 的生成元,存在双线性映射$e: G \times G \to {G_T}$ ,对于$\forall a,b,c \in Z_p^*$ ,给定五元组$(g,{g^a}, {g^b}, {g^c},{g^{abc}})$ ,选取$z{ \in _R}Z_p^*$ ,若不存在有效算法$C$ 在多项式时间内以不可忽略的优势判断$e{(g,g)^{abc}} = e{(g,g)^z}$ ,则假设成立。 -
本方案中共有5个参与者:数据访问者、数据拥有者、数据存储服务器、外包解密服务器、权威中心。具体说明如下:
1) 权威中心(trusted center, TC):一个可信的第三方,其可以初始化系统的主公钥和主私钥,为用户生成和分发属性私钥。在用户撤销时,TC执行撤销算法更新密文,使被撤销用户失去密文的解密权限。
2) 数据拥有者(data owner, DO):将盲化处理后的明文发送给TC,并接收TC加入撤销参数的返回结果,然后使用TC生成的公钥对明文加密后发送给数据存储服务器。
3) 数据访问者(data visitor, DV):从TC中获取自身属性集关联的私钥,在属性集满足解密所需的访问策略时,DV能使用私钥解密密文获得正确的明文。
4) 数据存储服务器(data storage server, DSS):提供密文的存储服务。
5) 外包解密服务器(outsourcing decryption server, ODS):主要协助DV完成解密工作。方案中假定ODS是不可信的,其计算产生的结果为中间密文,DV需在本地执行少量计算获得明文。
本方案的工作流程可描述为:1) TC初始化系统,DO从TC处获取公钥,依据访问结构和撤销参数,对明文进行加密处理,然后将密文发送给DSS存储;2) 在数据访问过程中,DV首先从DSS上下载密文,并将转换密钥和密文一起发送给ODS进行预解密操作,并接收从ODS发回的预解密结果;3) DV在预解密结果上执行本地解密过程,最后获取解密后的明文;4) 当需要进行用户撤销时,TC执行撤销过程,对DSS中涉及用户撤销的密文进行更新,完成对用户透明的撤销过程。
-
1) 初始化
${\rm{Setup}} ({1^\lambda }) \to ({\rm{PK}},{\rm{MSK}})$ :权威中心初始化运行得到系统使用的公钥PK和主私钥MSK,生成撤销参数表$T$ 与撤销参数$t$ 。2) 密钥生成KeyGen(PK, MSK, L)
$ \to $ (SK):权威中心根据用户的属性列表L,使用公钥PK、主私钥MSK以及撤销参数表T为用户构造相应的密钥SK。3) 加密Encrypt(PK, M, W, ck, t)
$ \to $ (CT, E(M)):使用随机选择的对称密钥ck加密明文M并生成密文E(M),并对ck进行明文盲化得到ck′。TC对ck′执行撤销算法得到ck′′。在对ck′去盲生成ck*后,使用访问策略W生成密文CT。4) 预解密
${\rm{Pre}} - {\rm{Decrypt}}({\rm{CT}},{\rm{PK}},{\rm{SK}}) \to ({\rm{CT}}')$ :DV生成转换密钥TK后,连同密文CT一并发送给ODS。若$L = W$ ,那么ODS将使用TK对密文进行预解密,输出CT′。5) 解密
${\rm{Decrypt}}({\rm{CT}}',t,E(M)) \to (M)$ :当转换密文中的参数满足${T_0} = {C_0}$ 时,DV根据预解密结果CT′与撤销参数t计算ck,进而解密E(M)得到明文M。6) 属性撤销Revocation:对于需要撤销权限的Useri,TC根据用户ID查找撤销系数表T中对应的参数fj,计算新的撤销参数,对密文进行更新后,从T中删除(Useri, fj)。
-
本方案实现包括6个算法:初始化、密钥生成、加密、预解密、解密、属性撤销。
设
$G$ 和${G_t}$ 是阶为大素数$p$ 乘法循环群,$g$ 是$G$ 的生成元,映射$e:G \times G \to {G_t}$ 为一个双线性映射。假设系统的属性域一共有$n$ 个属性,其属性集记为$U = \{ {u_1},{u_2}, \cdots ,{u_n}\} $ ,设第$i$ 个属性${u_i}$ 具有${n_i}$ 个取值,取值集合记为${V_i} = \{ {v_{i,1}},{v_{i,2}}, \cdots ,{v_{i,{n_i}}}\} $ 。$H:{\{ 0,1\} ^ * } \to {G_t}$ 是一个抗碰撞的哈希函数。1) 初始化
${\rm{Setup}}({1^\lambda }) \to ({\rm{PK}},{\rm{MSK}})$ TC运行Setup算法初始化系统,先选取
$u,v,d \in G,{x_{i,j}},{y_{i,j}}{ \in _R}Z_p^ * (i \in [1,n],j \in [1,{n_i}])$ ,假定系统有m个用户,针对每个用户Userl,选择参数${f_l}{ \in _R}Z_p^ * $ ,键值对$\{ {\rm{Use}}{{\rm{r}}_l},{f_l}\} (l \in m)$ 构成撤销参数表T,生成撤销算法所需的撤销参数$t{ \in _R}Z_p^ * $ ,并将T和t存储在TC。然后生成系统使用的公钥和主私钥,计算:$${{\rm{X}}_{i,j}} = {g^{ - {x_{i,j}}}},{Y_{i,j}} = e{(g,g)^{{y_{i,j}}}}\quad (1 \leqslant i \leqslant n,1 \leqslant j \leqslant {n_i})$$ 公钥即为:
${\rm{PK}} = (g,u,v,d,{\{ {X_{i,j}},{Y_{i,j}}\} _{1 \leqslant i \leqslant n,1 \leqslant j \leqslant {n_i}}})$ 主私钥为:
${\rm{MSK}} = ({\{ {x_{i,j}},{y_{i,j}}\} _{1 \leqslant i \leqslant n,1 \leqslant j \leqslant {n_i}}})$ 2) 密钥生成
${\rm{KeyGen}}({\rm{PK}},{\rm{MSK}},L) \to ({\rm{SK}})$ 具有属性列表
$L = [{L_1},{L_2}, \cdots ,{L_n}]$ 的用户向权威中心申请私钥,设${L_i} = {v_{i,j}}$ ,权威中心选择一个随机数$r{ \in _R}Z_p^ * $ ,计算:$${K_i} = {g^{{y_{i,j}}}}r{x_{i,j}}\begin{array}{*{20}{c}} {}&{} \end{array}1 \leqslant i \leqslant n$$ $$K = {g^r}$$ 然后依据初始化过程为用户生成的撤销参数,通过Userl从表T中获得
$\{ {\rm{Use}}{{\rm{r}}_l},{f_l}\} (l \in m)$ ,并得到用户私钥:$${\rm{SK}} = (L,{f_l},K,{\{ {K_i}\} _{1 \leqslant i \leqslant n}})$$ 3) 加密
${\rm{Encrypt}}({\rm{PK}},M,W,{\rm{ck}},t) \to ({\rm{CT}},E(M))$ 随机选择对称密钥ck,并使用该密钥加密明文M生成密文E(M)。
设访问策略
$W = { \wedge _{{I_W}}}{W_i},\;{W_i} = {v_{i,j}}$ ,选择随机数$s{ \in _R}Z_p^ * $ 计算:$${X_W} = \prod\limits_{i \in {I_W}} {{X_{i,j}},\;{Y_W} = } \prod\limits_{i \in {I_W}} {{Y_{i,j}}} $$ 先选择参数
$z'{ \in _R}Z_p^ * $ ,对对称密钥ck进行第一次明文盲化:$${\rm{ck}}' = {\rm{ck}} \oplus H(z')$$ 然后将盲化后的明文ck′发送至TC,TC从初始化阶段生成的撤销参数表T中取出所有用户的
$f_l(l \in m)$ 和参数t进行计算:$$L = \prod\limits_{l = 1}^m {{f_l},\;{L_l} = \frac{L}{{{f_l}}}} $$ $${N_l} = L_l^{ - 1}od {f_l},\;{[X]_l} = t - {f_l}$$ $$[X] = \sum\limits_{l = 1}^m {({{[X]}_l}{L_l}{N_l})} $$ $${\rm{ck}} '' = {\rm{ck}}' \oplus H(t)$$ TC完成撤销算法处理后,将ck′′返回给DO,DO使用参数z'完成去盲计算:
$${\rm{c}}{{\rm{k}}^ * } = {\rm{ck}}'' \oplus H(z')$$ DO使用ck*和与门访问策略W作为后续加密算法的输入,加密对称密钥:
$${C_0} = {\rm{c}}{{\rm{k}}^ * }Y_W^S,\;{C_1} = {g_s},\;{C_2} = X_W^S$$ 完成后的密文为:
$${\rm{CT}} = (W,{C_0},{C_1},{C_2})$$ 4) 预解密
${\rm{Pre - Decrypt}}({\rm{CT,PK,SK}}) \to ({\rm{CT}}')$ DV向DDS获取密文CT,并生成用于外包计算的转换密钥。选择
$z{ \in _R}Z_p^ * $ ,计算:$$K' = {K^{\tfrac{1}{Z}}},\;K_i' = K_i^{\tfrac{1}{Z}}\;(1 \leqslant i \leqslant n)$$ 转换密钥为:
$${\rm{TK}} = (L,K',{\{ K_i'\} _{1 \leqslant i \leqslant n}})$$ DV将(CT,TK)发送至ODS进行解密运算,如果
$L = W$ 则ODS进行如下计算:$$\begin{split} &\qquad\qquad T' = e\left({C_1},\displaystyle\prod\limits_{i = {I_l}} {K_i'} \right)e({C_2},K') = \\ & e({g^s},{g^{\tfrac{1}{Z}\sum\limits_{i \in {I_L}} {({y_{i,j}} + r{x_{i,j}})} }})e({g^{ - s\sum\limits_{i \in {I_W}} {{x_{i,j}}} }},{g^{\tfrac{r}{Z}}}) = e{(g,g)^{\tfrac{{s\sum\limits_{i \in {I_L}} {{y_{i,j}}} }}{Z}}} \\ \end{split} $$ 即可输出预解密结果:
$${\rm{CT}}' = ({T_0} = {C_0},T')$$ ODS将结果返回给解密用户。
5) 解密
${\rm{Decrypt}}({\rm{CT}}',t,E(M)) \to (M)$ DV检查转换密文中的参数是否满足
${T_0} = {C_0}$ ,若等式不成立,中止解密。如成立则执行解密:$${\rm{c}}{{\rm{k}}^*} = \frac{{C0}}{{{{(T')}^Z}}} = \frac{{{\rm{c}}{{\rm{k}}^ * }e{{(g,g)}^{s\sum\limits_{i \in {I_W}} {{y_{_{i,j}}}} }}}}{{e{{(g,g)}^{s\sum\limits_{i \in {I_L}} {y_{i{,j}}} }}}} = {\rm{c}}{{\rm{k}}^ * }$$ DV使用TC返回的中国剩余定理的[X]参数和自身私钥SK中的fl计算明文:
$${[X]_l} = [X]od {f_l},\;t = {[X]_l} + {f_l}$$ $${\rm{ck = c}}{{\rm{k}}^ * } \oplus H(t)$$ 最后用对称密钥ck对E(M)解密得到明文M。
6) 属性撤销Revocation
假定因故需要撤销Useri的数据访问权限,TC先根据用户ID在撤销参数表T中查找用户对应的参数fj,生成新的撤销参数
${t^ * }{ \in _R}Z_p^ * $ 后计算:$$R = H(t) \oplus H({t^ * })$$ $$L' = \prod\limits_{l = 1}^m {{f_l},\;L_l' = \frac{{L'}}{{{f_l}}}} $$ $${N_l} = L_l^{' - 1}{\rm{mod}} {f_l},\;{[X']_l} = {t^ * } - {f_l}\quad l \ne j$$ $$[X'] = \sum\limits_{l = 1}^m {({{[X']}_l}L_l'N_l')} $$ 相关新参数确定后,TC计算:
$$\overline {{C_0}} = {C_0} \oplus R$$ 使用
$\overline {{C_0}} $ 替换原密文中的对应部分,使用$[X']$ 替换DSS中存储的中国剩余定理参数,更新后的密文结果为:$${\rm{CT}}' = (W,\overline {{C_0}} ,{C_1},{C_2})$$ 完成替换后,TC将该Useri的键值对
$({\rm{Use}}{{\rm{r}}_j}, {f_j})$ 从撤销参数表T中删除,此时系统中不再包含Useri的任何信息,当Useri进行解密时就无法解密$[X']$ 得到新的撤销参数t*,因此无法完成解密得到明文。 -
在属性基加密方案的安全分析中,通常做法是将敌手对方案的攻击归约到具体困难问题的求解,由于这些困难问题利用现有知识无法在多项式时间内找到其对应的解,因此其对应算法是安全的。
本节将证明方案在DBDH假设下是选择明文攻击下的不可区分性(indistinguishability under chosen-plaintext attack, IND-CPA)安全的,IND-CPA游戏模式如图1所示。不可区分选择明文安全模型中包含两个参与方,分别是敌手和挑战者。敌手通过对挑战者发起询问,可以得到任意明文所对应的密文信息。根据已知的明文与密文的对应关系,敌手将尝试对加密系统进行破解。在之后的挑战阶段,敌手会向挑战者发送两条等长的明文,挑战者将随机选择一条明文进行加密,并将加密后的密文发送给敌手,敌手根据该密文猜测其对应明文,如果敌手能够以不可忽略的优势猜出对应明文,则称敌手在该过程中取得胜利。
定理 1 假定存在一个敌手A以不可忽略的优势
$\varepsilon $ 赢得IND-CPA游戏,那么就存在一个挑战者C在解决DBDH问题时可以获得${\varepsilon / 2}$ 的优势。证明:设挑战者C选取阶为p的乘法循环群G和Gt,g为群G的生成元,e为双线性映射,H为哈希函数,随机选择
$a,b,c{ \in _R}Z_p^ * $ 。C执行掷币过程$\delta $ ,若$\delta = 0$ ,则令$z = abc$ ,若$\delta = 1$ ,则令$z{ \in _R}Z_p^ * $ 。C得到一个五元组:$$(g,A,B,C,Z) = (g,{g_a},{g_b},{g_c},e{(g,g)^Z})$$ 1) 启动Initialization
敌手A生成一个挑战策略:
${W^ * } = { \wedge _{i \in {I_{{W^ * }}}}}{W_i}$ ,其中${I_{{W^ * }}} = \{ {i_1},{i_2}, \cdots ,{i_m}\} (m < n)$ 表示访问W*中不为通配符属性的下标集。A将W*发送给C。
2) 初始化Setup:C运行方案中Setup算法计算PK和MSK。对于每个
$i \in U, j \in {U_i}(U = \{ {U_1},{U_2}, \cdots , {U_n}\} )$ 为所有属性的集合,选择一个随机数${\partial _{i,j}}{ \in _R}Z_p^ * $ 与之对应,计算:$${X_{i,j}} = {g^{ - {\partial _{i,j}}}}$$ ${Y_{i,j}} = e(B,X_{i,j}^{ - 1}) = e{(g,g)^{b{\partial _{i,j}}}}(1 \leqslant i \leqslant n,1 \leqslant j \leqslant {n_i})$ 然后将生成的PK返回给A。
3) 阶段1:A选择一个属性集合
$L = \{ {L_1},{L_2}, \cdots , {L_n}\} ,L \subseteq U,{L_i} = {v_{i,j}}$ ,且L不满足W*,A将L发送给挑战者C查询私钥。C选择$\delta { \in _R}Z_p^ * $ ,计算:$${K_i} = {g^{(b + \delta ){\partial _{i,j}}}},K = {g^\delta },{\rm{ver}} = 1$$ C将SK返回给A。
4) 挑战:A向C提交两个等长的消息M0和M1,C选择
$b{ \in _R}\{ 0,1\} $ ,计算:$${C_0} = {M_b}Y_{{W^ * }}^C,{C_1} = {g^c},{C_2} = X_{{W^ * }}^C$$ 设:
$$\sum\limits_{i \in {I_{{W^ * }}}} {{\partial _i} = a + \eta } $$ 则有:
$$\begin{array}{l} {C_0} = {M_b}e{(g,g)^{C \cdot \sum\limits_{i \in {I_{{W^ * }}}} {b{\partial _i}} }} = \\ {M_b}e{(g,g)^{cb(a + \eta )}} = {M_b}Z{(g,g)^{cb\eta }} \\ \end{array} $$ 完成计算后C返回CT给A。
5) 阶段2:重复阶段1的操作。
6) 猜测G:A输出猜测
$b' \in \{ 0,1\} $ ,如果$b' = b$ ,C会猜测$\delta ' = 0$ ,即$Z = e{(g,g)^{abc}}$ ,这意味着$(g,A, B,C,Z)$ 是一个有效的DBDH组;否则$b' = b$ ,C对应猜测$\delta ' = 1,Z = e{(g,g)^Z}$ ,此时z是随机数,表示$(g,A,B,C,Z)$ 是一个随机的五元组。故敌手优势计算如下:当
$\delta ' = 0,Z = e{(g,g)^{abc}}$ 时,A获得有效密文,优势为:$$\Pr [b' = b|Z = e{(g,g)^{abc}}] = \frac{1}{2} + \varepsilon $$ 当
$\delta ' = 1,Z = e{(g,g)^Z}$ 时,优势为:$$\Pr [b' = b|Z = R] = \frac{1}{2}$$ 故挑战者C赢得本游戏的优势为:
$$\begin{aligned} &\qquad\;\;\; {\rm{Adv }}= \frac{1}{2}\Pr [b' = b|Z = \\ & e{(g,g)^{abc}}] + \frac{1}{2}\Pr [b' = b|Z = R] - \frac{1}{2} = \frac{\varepsilon }{2} \end{aligned} $$ 至此,将本方案安全性问题规约为DBDH的复杂问题。
-
本节对方案的性能进行分析,如表2所示。
表 2 性能对比
方案 密文长度 密钥长度 解密开销 文献[18] $(n + 1)|G| + |{G_t}|)$ $(2n + 1)|G| + |{Z_p}|$ $(n + 1){T_e}$ 文献[19] $4|G| + 2|{Z_p}|$ $2|G| + 2|{Z_p}|$ $4{T_{{G_t}}}$ 文献[20] $(4n + 3)|G| + 2|{G_t}|$ $(n + 2)|G|$ $2{T_{{G_t}}}$ 文献[21] $4|G| + |{G_t}|$ $(n + 1)|G| + |{Z_p}|$ $ \geqslant (n + 1){T_e}$ 文献[22] $2|G| + |{G_t}|$ $2|G|$ $2{T_e}$ 文献[23] $(2n + 1)|G| + |{G_t}|$ $(n + 2)|G|$ $2n{T_e} + n{T_{{G_t}}}$ 文献[24] $(n + 1)|G| + |{G_t}|$ $(n + 2)|G|$ $(n + 2){T_e} + n{T_G}$ [25] $(n + 1)(|G| + |{G_t}|)$ $(2n + 2)|G|$ $(2n + 2){T_e} + n{T_G}$ 本文 $2|G| + |{G_t}|$ $(n + 1)|G| + |{Z_p}|$ $2{T_{{G_t}}}$ 本文的性能分析主要选取的指标为:1)密文长度,该指标主要反映DSS上存储加密文件的开销;2)用户私钥的大小,该指标主要反映DV本地存储密钥的开销;3)解密开销:该指标主要反映DV解密密文的计算开销[26]。在考虑解密开销时,仅考虑DV本地计算的开销,忽略方案中外包计算的开销。群G和Gt中单个成员的比特长度用|G|和|Gt|表示,n为属性域中的属性个数。在解密开销中,主要考虑双线性运算和指数运算这两类开销最大的计算次数。TGt为在群Gt上完成指数运算的时间,Te为完成双线性映射运算的时间。
文献[18]、[19]和[22]均实现了密文固长。文献[18]在实现了固长密文和密钥的同时降低了DSS和DV的存储开销,但其解密开销为本方案的两倍。本文方案的密文长度比文献[16]和文献[19]小,但略大于文献[22]。文献[22]通过牺牲应用的灵活性,对存储开销和计算开销都进行了优化,但优化导致该方案在应用时要求所有满足或不满足访问结构的属性均对应才能解密,因此降低了实用性。
由于本方案实现了密文固长,且密文长度只有2|G|+|Gt|,与实现了撤销功能的文献[18]、[19]、[25]和实现了外包功能的文献[20]相比,本方案有更小的密文与密钥存储开销。
如表3所示,除了文献[20]和[22]以外,其他的文献都实现了撤销机制,而方案[18]实现了间接撤销。除了文献[18]和[22],其他在适应性安全模型下都是安全的。而本文所提方案是支持直接撤销的CP-ABE,且方案安全性在适应性安全模型中被规约到DBDH假设上。
在解密开销方面,本方案实现了外包计算,将方案中复杂双线性计算的部分交由外包服务器完成,DV在本地只需进行少量运算,开销仅为2TGt,故DV的运算开销相比于文献[18]、文献[22]、文献[24]、文献[25]和解密复杂度与撤销次数相关的文献[21]更小。
表 3 各文献方案比较
此外,在具有Intel Core i5-8400 CPU @ 2.8GHz和16 GB内存的Windows 10 PC的实验环境下,使用JPBC库对性能分析中所涉及的方案通过实验模拟进一步进行分析和比较[27]。实验主要模拟了各方案的解密过程。由图2所示,随着属性域中属性个数的增加,文献[18]、[21]、[22]、[24]以及 [25]的解密时间增加。本文所提方案、文献[19]、[20]以及[22]所提方案的解密所需时间基本保持不变,而又在这几个方案之中,本文所提出的方案具有最短的解密时间,因此具有较高的效率。
Direct Revocable Ciphertext Policy Attribute-Based Encryption Scheme with Constant-Size Ciphertext
-
摘要: 该文提出一种支持直接撤销功能且具有固定长度的密文策略属性基加密方案,首先给出了该属性基加密方案的形式化定义和安全模型,然后对方案具体的实现进行了阐述,最后给出了该方案在标准模型下的安全性证明。该方案在密文长度和解密开销固定的同时,允许用户在加密过程中将撤销列表嵌入到密文中以实现直接撤销,保证了仅当用户所拥有的属性满足密文访问结构且用户身份没有出现在撤销列表的前提下,才可以使用自己的私钥解密执行解密。对比分析结果表明,该方案较同类方案具有更高的计算效率且支持更灵活的访问结构。Abstract: By considering the dynamic user access privilege and the potential leakage of secret key, a direct revocable ciphertext policy attribute-based encryption (usually shorten as CP-ABE) scheme with constant-size ciphertext is proposed in this paper. Different from the indirect revocable CP-ABE, the proposed approach allows the data owner to assign the revoked users during the encryption without interacting the attribute authority periodically. The definition and security model of the direct revocable attribute-based encryption scheme are given and a concrete scheme is also constructed correspondingly. The security proof of the scheme is given under the standard model. The results of comparative analysis show that the scheme achieves higher computational efficiency and supports more flexible access structure than the state-of-the-art.
-
Key words:
- attribute-based encryption /
- access structure /
- ciphertext policy /
- direct revocation
-
表 1 访问策略示例
属性名称 所属学校 用户身份 用户性别 属性取值 大学A 教师 女 大学B 辅导员 男 大学C 访问策略 大学C * 女 表 2 性能对比
方案 密文长度 密钥长度 解密开销 文献[18] $(n + 1)|G| + |{G_t}|)$ $(2n + 1)|G| + |{Z_p}|$ $(n + 1){T_e}$ 文献[19] $4|G| + 2|{Z_p}|$ $2|G| + 2|{Z_p}|$ $4{T_{{G_t}}}$ 文献[20] $(4n + 3)|G| + 2|{G_t}|$ $(n + 2)|G|$ $2{T_{{G_t}}}$ 文献[21] $4|G| + |{G_t}|$ $(n + 1)|G| + |{Z_p}|$ $ \geqslant (n + 1){T_e}$ 文献[22] $2|G| + |{G_t}|$ $2|G|$ $2{T_e}$ 文献[23] $(2n + 1)|G| + |{G_t}|$ $(n + 2)|G|$ $2n{T_e} + n{T_{{G_t}}}$ 文献[24] $(n + 1)|G| + |{G_t}|$ $(n + 2)|G|$ $(n + 2){T_e} + n{T_G}$ [25] $(n + 1)(|G| + |{G_t}|)$ $(2n + 2)|G|$ $(2n + 2){T_e} + n{T_G}$ 本文 $2|G| + |{G_t}|$ $(n + 1)|G| + |{Z_p}|$ $2{T_{{G_t}}}$ -
[1] XIONG H, WU Y, JIN J C, et al. Efficient and privacy-preserving authentication protocol for heterogeneous systems in IIoT[J]. IEEE Internet of Things Journal, 2020, DOI: 10.1109/JIOT.2020.2999510. [2] MEI Q, XIONG H, CHEN J H, et al. Efficient certificateless aggregate signature with conditional privacy-preserving in IoV[J]. IEEE Systems Journal, 2020, DOI: 10.1109/JSYST.2020.2966526. [3] SAHAI A, WATERS B. Fuzzy identity-based encryption[C]//Proceeding of the 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques (EUROCRYPT 2005). Berlin: Springer-Verlag, 2005: 457-473. [4] XIONG H, BAO Y Y, NIE X Y, et al. Server-aided attribute-based signature supporting expressive access structures for industrial internet of things[J]. IEEE Transactions on Industrial Informatics, 2020, 16(2): 1013-1023. doi: 10.1109/TII.2019.2921516 [5] XIONG H, KANG Z Q, CHEN J H, et al. A novel multiserver authentication scheme using proxy resignature with scalability and strong user anonymity[J]. IEEE Systems Journal, 2020, DOI: 10.1109/JSYST.2020.2983198. [6] GOYAL V, PANDEY O, AMIT S, et al. Attribute-based encryption for fine-grained access control of encryption data[C]//Proceedings of the 13th ACM Conference on Computer and Communications Security (CCS 2006). New York: ACM, 2006: 89-98. [7] BETHENCOURT J, SAHAI A, WATERS B. Ciphertext-policy attribute-based encryption[C]//Proceedings of 2007 IEEE Symp. on Security and Privacy. New York: IEEE, 2007: 321-334. [8] OSTROVSKY R, SAHAI A, WATERS B. Attribute-based encryption with non-monotonic access structures[C]//Proceedings of the 14th ACM Conference on Computer and Communications Security. New York: ACM, 2007: 195-203. [9] CHASE M. Multi-authority attribute based encryption[C]//Proc of the 4th Theory of Cryptography Conference (TCC 2007). Berlin: Springer-Verlag, 2007: 515-534. [10] GOYAL V, JAIN A, PANDEY O, et al. Bounded ciphertext policy attribute based encryption[C]//Proceedings of the 35th International Colloquium (ICALP 2008). Berlin: Springer-Verlag, 2008.579-591. [11] WEI J H, LIU W F, HU X X. Forward-secure ciphertext-policy attribute-based encryption scheme[J]. Journal of Communications, 2014, 35(7): 38-45. [12] 谢鑫. 高效可撤销存储的属性基加密方案研究[D]. 成都: 电子科技大学, 2020. XIE Xin. A research of efficient revocable storage attribute-based encryption scheme[D]. Chengdu: University of Electronic Science and Technology of China, 2020. [13] BOLDYREVA A, GOYAL V, KUMAR V. Identity-based encryption with efficient revocation[C]//Proceedings of the 15th ACM conference on Computer and Communications Security. [S. l. ]: ACM, 2008: 417-426. [14] ATTRAPADUNG N, IMAI H. Attribute-based encryption supporting direct/indirect revocation modes[C]//IMA International Conference on Cryptography and Coding. Berlin, Heidelberg: Springer, 2009: 278-300. [15] NAOR M, PINKAS B. Efficient trace and revoke schemes[C]//International Conference on Financial Cryptography. Berlin, Heidelberg: Springer, 2000: 1-20. [16] BONEH D, GENTRY C, WATERS B. Collusion resistant broadcast encryption with short ciphertexts and private keys[C]//Annual International Cryptology Conference. Berlin, Heidelberg: Springer, 2005: 258-275. [17] LEWKO A, SAHAI A, WATERS B. Revocation systems with very small private keys[C]//2010 IEEE Symposium on Security and Privacy. [S. l. ]: IEEE, 2010: 273-285. [18] YU S, WANG C, REN K, et al. Attribute based data sharing with attribute revocation[C]//Proceedings of the 5th ACM Symposium on Information, Computer and Communications Security. [S. l. ]: ACM, 2010: 261-270. [19] ZHAO Y, REN M, JIANG S, et al. An efficient and revocable storage CP-ABE scheme in the cloud computing[J]. Computing, 2019, 101(8): 1041-1065. doi: 10.1007/s00607-018-0637-2 [20] LAI J, DENG R H, GUAN C, et al. Attribute-based encryption with verifiable outsourced decryption[J]. IEEE Transactions on Information Forensics and Security, 2013, 8(8): 1343-1354. doi: 10.1109/TIFS.2013.2271848 [21] ZHANG Y H, ZHENG D, LI J, et al. Attribute directly-revocable attribute-based encryption with constant ciphertext length[J]. Journal of Cryptologic Research, 2014, 1(5): 465-480. [22] EMURA K, MIYAJI A, NOMURA A, et al. A ciphertext-policy attribute-based encryption scheme with constant ciphertext length[C]//International Conference on Information Security Practice and Experience. Berlin, Heidelberg: Springer, 2009: 13-23. [23] SAHAI A, SEYALIOGLU H, WATERS B. Dynamic credentials and ciphertext delegation for attribute-based encryption[C]//Annual Cryptology Conference. Berlin, Heidelberg: Springer, 2012: 199-217. [24] YU G, MA X, CAO Z, et al. Server-aided directly revocable ciphertext-policy attribute-based encryption with verifiable delegation[C]//International Conference on Information and Communications Security. Cham: Springer, 2017: 172-179. [25] SHI Y, ZHENG Q, LIU J, et al. Directly revocable key-policy attribute-based encryption with verifiable ciphertext delegation[J]. Information Sciences, 2015, 295: 221-231. doi: 10.1016/j.ins.2014.10.020 [26] XIONG H, ZHAO Y N, HOU Y Z, et al. Heterogeneous signcryption with equality test for IIoT environment[J]. IEEE Internet of Things Journal, 2020, DOI: 10.1109/JIOT.2020.3008955. [27] XIONG H, MEI Q, ZHAO Y N, et al. Scalable and forward secure network attestation with privacy-preserving in cloud-assisted internet of things[J]. IEEE Sensors Journal, 2019, 19(18): 8317-8331. doi: 10.1109/JSEN.2019.2919508