广播加密[1]是一种在多用户环境中实现数据高效安全共享的技术. 发送者(加密者)通过选取一个接收者集合加密数据, 使得只有在集合中的用户才能正确解密. 不在集合中的用户合谋也无法获取加密数据的任何内容. 广播加密允许数据拥有者通过公开信道和多位用户同时安全共享同一数据, 在数字版权、云计算等应用中广泛使用. 标识广播加密[2]不仅继承了广播加密的功能, 而且消除了用于绑定用户身份信息的证书, 任何能够唯一识别用户身份的字符串都可以作为用户的公钥, 用于证明其身份信息, 比如邮箱地址、电话号码等, 极大地节省了用户的计算资源.
由于广播加密中加密算法的开销与接收者的数量线性增长, 因此, 广播加密技术不适用于接收者数量非常大的情况. 特别地, 当系统重接收者的数量远远大于非接收者的数量时, 使用传统的广播加密共享数据效率低下. 此外, 用户的密钥存在需要撤销的情况, 比如在付费电视系统中, 当用户不再付费续租时, 需要撤销相应密钥对后续广播的解密权限. 同时, 用户的密钥也可能遭到泄露, 此时, 同样要求撤销其对未来广播加密密文的解密权限, 以保障数据的隐私. 为了高效解决上述问题, 撤销加密[3]的概念被提出, 在该系统中加密数据的集合不再是接收者的公钥集合, 而是撤销用户的公钥集合. 当且仅当用户不在撤销集合中才能完成正确的解密, 撤销集合内的用户无法获取加密数据的内容. 撤销加密可以看成是反向的广播加密, 是广播加密技术的一种补充, 适用于只有小部分用户不是接收者的应用场景. 在此情况下, 使用撤销加密技术比使用广播加密技术更加高效. 本文侧重于标识撤销加密系统.
自撤销加密技术被提出用于实现用户的撤销或者大范围的广播后, 撤销加密得到了广泛的研究. Lewko等人[3]提出了具有定长用户私钥和系统公钥的标识撤销加密方案, 但其密文长度与撤销用户的数量成线性增长关系. Attrapadung等人[4]提出具有定长密文的标识撤销方案, 系统公开参数的长度和用户私钥的长度都与最大撤销用户的数量线性相关. 文献[5]基于素数阶双线性群提出了一个非零内积加密(non-zero inner product encryption)方案, 并基于该内积加密方案提出了具有定长密文和用户私钥的撤销加密方案, 方案的系统公开参数长度与系统允许撤销用户的最大数量线性相关. Jiang等人[6]提出了支持改变系统撤销用户最大值的一种标识撤销加密方案.
SM9是我国自主研发的商用密码, 包括密钥交换协议、公钥加密算法、数字签名算法等系列标识密码, 其中公钥加密算法和数字签名算法现已成为国家标准和国际标准. 自SM9标识加密算法被提出后, 已取得了优秀的研究成果[7−12]. 但其设计初衷是为了满足网络和信息系统的共性基础安全需求, 只考虑单接收者场景. 据此, 赖建昌等人[7]把广播加密技术[2]应用于SM9标识加密算法, 提出首个基于SM9的广播加密方案. 方案具有定长密文, 与接收者数量无关, 并基于随机谕言模型证明了方案满足选择明文的安全性. 随后, 在文献[8]中给出了具有选择密文安全的SM9广播加密方案. 与现有广播加密一样, 方案不适用于系统中接收者非常大的应用, 特别是系统中只有少数用户不是接收者的情况.
1.1 本文贡献基于以上分析, 本文采用公钥聚合技术和多项式技术, 提出基于SM9的标识撤销加密方案. 加密数据不再使用接收者的标识集合, 而是使用撤销用户的标识集合. 不在集合中的用户属于授权用户, 可以正常解密. 在集合中的用户属于撤销用户, 没有解密权限, 即使共谋也无法解密. 方案具有定长密钥和密文, 系统公钥的长度与一次加密允许撤销的用户最大数量线性相关. 方案在随机谕言机模型下可证明是选择明文攻击(chosen-plaintext attack, CPA)安全的. 安全性可归约到一个广义判定性Diffie-Hellman困难问题. 最后, 比较本文方案和现有标识广播加密(identity based broadcase encryption, IBBE)方案和标识撤销加密方案在计算开销和存储开销方面的性能, 理论分析结果表明, 方案在以上两个方面和现有相关方案表现相当.
一方面, 本文方案可作为文献[7,8]的补充, 当数据的接收者为系统中大多数用户时, 采用本文方案共享数据效率比采用文献[7,8]的效率高. 在此种情况下, 把非接收者当成撤销用户的列表. 另一方面, 本文方案为SM9加密算法在多用户环境下提供了一种用户撤销机制, 当系统中部分用户的密钥泄露后, 可采用本文方案撤销用户密钥对后续广播的解密权限, 进一步丰富和完善我国商用密码体制.
1.2 相关工作广播加密[1]是一种实现多用户数据安全共享的加密技术, 它允许数据拥有者(加密者)通过公开信道与一组指定的用户安全共享同一数据, 当且仅当用户属于加密时选定的集合就可以正确解密获取数据, 不在集合中的用户即使合谋也无法获取加密数据的内容, 该性质也称为抗合谋攻击. 与重复使用常规的单用户加密技术相比, 广播加密具有效率高的特点. 因此, 广播加密广泛用于付费电视、云计算、物联网等应用中.
Fiat等人[1]在引入广播加密概念的同时, 提出了首个广播加密的具体构造, 但方案只能抵抗有限个合谋者的攻击. Boneh等人[13]提出了第1个具有定长密钥和密文的抗完全合谋广播加密方案. Gentry等人[14]给出了在标准模型下具有自适应性安全的方案构造, 但无法实现定长密文. 2007年, Delerablée[2]研究了标识密码体系中的广播加密, 利用公钥聚合技术提出了具有定长密钥和密文的IBBE方案, 并基于随机谕言机模型分析了方案的安全性. 同年, Sakai等人在文献[15]中以独立的工作也提出了一个类似的IBBE方案. Kim等人[16]利用对偶加密技术提出一个在标准模型下具有自适应性安全的定长密文的IBBE方案, 但方案中系统公钥和用户私钥的长度与接收者数量线性增长. 文献[17]利用虚设标识提出具有静态选择密文安全的IBBE方案. 后续广播加密的研究主要是采用文献[2,13]中的技术实现不同的安全需求. 具有匿名性的广播加密方案在文献[18−20]中得到了进一步的研究, 用户的身份信息不需要和密文一起传输, 有效保障了接收者的隐私.
撤销加密可以看成是反向广播加密, 通过撤销用户或者是非接收者的公钥集合加密数据, 当且仅当用户不在撤销集合中才能正确解密. 基于公钥的撤销加密技术通常分为4类. 第1类是在群元素的指数上使用插值多项式, 包括方案[21,22]. 这些方案在系统生成算法阶段选取一个t次多项式, 其中t为系统允许撤销用户的最大数量, 方案的公开参数和密文与t相关. 第2类是使用子集覆盖(subset-cover)技术. 采用该技术的方案一般基于无状态树形结构设计算法, 包括方案[23−25]. 此技术还可进一步实现泄露密钥用户的追踪. 第3类是采用文献[26]提出的逆指数(exponent-inversion)技术, 可用于实现定长密文方案的构造[6], 但系统公开参数的长度是线性的. 第4类是采用文献[3]提出的“two-equation”技术, 用于实现短公钥和短密钥, 但密文长度是线性的. 前面两类技术主要用于传统公钥体制中撤销加密方案的构造, 后面两类技术主要用于标识密码体制中撤销加密方案的设计. 本文采用逆指数技术研究SM9密码算法中的撤销加密.
Boldyreva等人[27]在2008年的CCS会议上提出了另一种撤销的概念, 通过密钥更新的方法实现用户的撤销. 在标识撤销系统中, 每个用户都有一个永久私钥, 该私钥由PKG产生, 用于解密密钥的生成. 每隔一个时间周期T, PKG根据撤销用户列表生成并广播用于更新密钥的信息
Susilo等人[30]提出了撤销标识广播加密密文中部分接收者解密权限的方案. 在该系统中, 第三方可以在不知道加密数据的情况下通过密文更新撤销部分接收者. 如果用户在撤销列表中, 即使属于加密阶段指定的用户集合也无法正确解密. Lai等人[31]基于文献[30]进一步实现了匿名性, 即对撤销集合中用户的身份信息进行保护. 该技术的目的是撤销广播加密密文中部分接收者的解密权限, 和本文研究的撤销加密不同.
SM9是我国自主研制的身份基(标识)密码算法, 自提出后取得了丰富的研究成果[7,9−12,32,33]. Cheng[32]给出了SM9加密算法的安全性证明. 赖建昌等人[7]把广播加密技术应用到SM9标识加密中, 提出了首个基于SM9的广播加密方案, 并在文献[8]中进一步地实现了选择密文的安全性. 文献[10,12]研究了基于SM9的可搜索加密. 唐飞等人[9]提出了基于SM9的同态加密算法. 张雪锋等人[11]利用二叉树提出了基于SM9的可撤销加密, 用户的撤销通过密钥更新实现. 文献[33,34]研究了SM9算法中双线性对运算的优化.
1.3 本文组织结构第2节主要给出密码算法构造需要的数学工具, 包括双线性映射和本文方案安全性依赖的困难问题. 标识撤销加密的形式化定义和相应的安全模型在第3节给出. 第4节提出CPA安全的标识撤销加密方案, 基于安全模型给出方案的安全性证明, 并分析方案的性能. 第5节总结本文工作.
2 预备知识本文方案的构造基于双线性群, 本节首先回顾双线性群的定义和困难问题假设.
2.1 双线性映射设系统的安全参数为
方案的安全性基于一个广义判定性Diffie-Hellman假设(general decision Diffie-Hellman exponent assumption, GDDHE), 记为
输入: 元素
| $\left\{ \begin{gathered} {g_0}, g_0^a, g_0^{ar}, g_0^{f{{(a)}^2}br}, \\ g_0^{f(a)b}, g_0^{f(a)ba}, g_0^{f(a)b{a^2}}, \ldots , g_0^{f(a)b{a^m}}, \\ {h_0}, h_0^a, h_0^{{a^2}}, \ldots , h_0^{{a^m}}, \\ h_0^{f(a)b}, h_0^{f(a)ba}, h_0^{f(a)b{a^2}}, \ldots , h_0^{f(a)b{a^{n - 2}}}, \\ h_0^{f{{(a)}^2}b}, h_0^{f{{(a)}^2}ba}, h_0^{f{{(a)}^2}b{a^2}}, \ldots , h_0^{f{{(a)}^2}b{a^m}}, \\ \end{gathered} \right.$ |
和群
输出: 1或者0.
当
| $ {{Adv}^{{{(m, n, f)\text{-GDDHE}}}}}(\lambda ) = {\text{ }}\left| {\Pr \left[ {\mathcal{D}\left( {\mathcal{I}, T = e{{({g_0}, {h_0})}^{{a^n}f(a)br}}} \right) = 1} \right]} \right.\left. { - \Pr \left[ {\mathcal{D}\left( {\mathcal{I}, T \ne e{{({g_0}, {h_0})}^{{a^n}f(a)br}}} \right) = 1} \right]} \right|. $ |
定理1. 在广义群模型中,
证明: 在困难性分析中考虑最简单的情况, 即
| $ \begin{gathered} P = \left( {\begin{split} &\; 1, a,ar, f{{(a)}^2}br, \\ & \begin{array}{*{20}{l}} {f(a)b, }&{f(a)ab, }&{f(a){a^2}b, }&{ \ldots , }&{f(a){a^m}b, } \\ {\eta , }&{\eta a, }&{\eta {a^2}, }&{ \ldots , }&{\eta {a^m}, } \\ {\eta f(a)b, }&{\eta f(a)ab, }&{\eta f(a){a^2}b, }&{ \ldots , }&{\eta f(a){a^{n - 2}}b, } \\ {\eta f{{(a)}^2}b, }&{\eta f{{(a)}^2}ab, }&{\eta f{{(a)}^2}{a^2}b, }&{ \ldots , }&{\eta f{{(a)}^2}{a^m}b, } \end{array} \end{split}} \right),\quad Q = 1,\quad F = \eta {a^n}f(a)br. \\ \end{gathered} $ |
根据文献[35], 需证明
| $ \eta {a^n}f(a)br = F = \sum {{x_{i, j}}} {d_i}{d_j} + {y_1}, $ |
其中,
| $ P' = \left( {\eta f(a)b \cdot ar, \eta f(a)ab \cdot ar, \eta f(a){a^2}b \cdot ar, \ldots , \eta f(a){a^{n - 2}}b \cdot ar} \right). $ |
| $ \eta {a^n}f(a)br = A(a)\eta f(a)br $ | (1) |
其中,
| $ {a^n} - A(a) = 0 $ | (2) |
又
本节给出撤销加密在标识系统中的形式化定义和相应的安全模型. 为描述方便, 仅给出密钥封装的形式化定义, 即加密算法的输出为封装密钥.
3.1 形式化定义一个标识撤销加密方案
● 系统建立算法
● 密钥生成算法
● 加密算法
● 解密算法
标识撤销加密方案
| $ \left\{ \begin{gathered} {\mathrm{Decrypt}}\left( {mpk, CT, R, ID, s{k_{ID}}} \right) = K,\quad {\text{if }}ID \notin R \\ {\mathrm{Decrypt}}\left( {mpk, CT, R, ID, s{k_{ID}}} \right) = \bot, \quad{\text{if }}ID \in R \\ \end{gathered} \right.. $ |
令
初始化阶段:
系统建立阶段:
询问阶段1:
挑战阶段:
询问阶段2:
猜测阶段:
在上述游戏中,
| $ {{Adv}}_\mathcal{A}^{{\text{IND-sID-CPA}}}(\lambda ) = \left| {\Pr [c' = c] - \frac{1}{2}} \right|. $ |
定义1 (ND-sID-CPA安全性). 在IND-sID-CPA安全模型中, 若对任意敌手
本节给出基于SM9的用户撤销加密方案的具体构造, 并在定义的复杂性假设中分析方案的安全性. 基于
● Setup. 令安全参数为
| $ mpk = \left( {\mathcal{B}\mathcal{P}, g, h, {g^\alpha }, \left\{ {{g^{\gamma {\alpha ^i}}}} \right\}_{i = 0}^m, \left\{ {{h^{\gamma {\alpha ^i}}}} \right\}_{i = 0}^m, v, H, {\mathit{KDF}}, hid, \ell } \right), {\text{ }}msk = \left( {\alpha , \beta , \gamma } \right). $ |
● KeyGen. 已知用户标识
| $ s{k_{ID}} = \left( {{d_1}, {d_2}} \right) = \left( {{h^{\frac{\alpha }{{H(ID||hid, p) + \alpha }}}}, {h^{\beta + \frac{\gamma }{{H(ID||hid, p) + \alpha }}}}} \right) $ |
作为用户的解密密钥, 并通过安全信道发送
● Encrypt. 已知撤销用户集合
| $ w = {v^k}, \quad {C_1} = {\left( {{g^\alpha }} \right)^k}, \quad {C_2} = {g^{k \cdot \gamma \cdot \prod\limits_{i = 1}^n {\left( {\alpha + H(I{D_i}||hid, p)} \right)} }},\quad \tau = \prod\limits_{I{D_i} \in R} H (I{D_i}||hid, p)\; \text{mod} \; p,\quad K = {\mathit{KDF}}\left( {{C_1}, {C_2}, w, \tau , \ell } \right), $ |
并输出
● Decrypt. 设待解密的封装密文为
| $ f(x) = \prod\limits_{I{D_i} \in R} {\left( {x + H(I{D_i}||hid, p)} \right)}\; \text{mod} \; p, $ |
则
| $ \begin{split} \frac{{f(x)}}{{x + H(ID||hid, p)}} &= \frac{{\left( {x + H(I{D_1}||hid, p)} \right)\left( {x + H(I{D_2}||hid, p)} \right) \ldots \left( {x + H(I{D_n}||hid, p)} \right)}}{{x + H(ID||hid, p)}} \\ & {\text{ = }}{t_{n - 1}}{x^{n - 1}} + {t_{n - 2}}{x^{n - 2}} + \ldots + {t_1}x + {t_0} + \frac{{\textit{z}}}{{x + H(ID||hid, p)}}\; \text{mod} \; p, \end{split} $ |
其中,
| $ w' = e({C_1}, {d_2}) \cdot {\left( {\frac{{e({C_2}, {d_1})}}{{e\left( {{C_1}, \prod\limits_{i = 0}^{n - 1} {{h^{\gamma {t_i}{\alpha ^i}}}} } \right)}}} \right)^{ - \tfrac{1}{{\textit{z}}}}}. $ |
最后, 解密者计算:
| $ \tau ' = \prod\limits_{I{D_i} \in R} H (I{D_i}||hid, p),\;\; K' = {\mathit{KDF}}\left( {{C_1}, {C_2}, w', \tau ', \ell } \right). $ |
假设密文
| $ e\left( {{C_1}, {d_2}} \right) = e\left( {{g^{\alpha k}}, {h^{\beta + \frac{\gamma }{{H(ID) + \alpha }}}}} \right) = {v^k} \cdot e{\left( {g, h} \right)^{\frac{{\alpha \gamma k}}{{H(ID) + \alpha }}}}, $ |
| $ \begin{split} {\left( {\frac{{e({C_2}, {d_1})}}{{e\left( {{C_1}, \prod\nolimits_{i = 0}^{n - 1} {{h^{{t_i}\gamma {\alpha ^i}}}} } \right)}}} \right)^{ - \tfrac{1}{{\textit{z}}}}}& = {\left( {\frac{{e\left( {{g^{k \cdot \gamma \cdot \prod\nolimits_{i = 1}^n {\left( {\alpha + H(I{D_i})} \right)} }}, {h^{\frac{\alpha }{{H(ID) + \alpha }}}}} \right)}}{{e\left( {{g^{\alpha k}}, {h^{\sum\nolimits_{i = 0}^{n - 1} {{t_i}\gamma {\alpha ^i}} }}} \right)}}} \right)^{ - \tfrac{1}{{\textit{z}}}}} \\ & = {\left( {\frac{{e{{\left( {g, h} \right)}^{\frac{{\alpha \gamma kf(\alpha )}}{{H(ID) + \alpha }}}}}}{{e{{\left( {g, h} \right)}^{\alpha k\sum\nolimits_{i = 0}^{n - 1} {{t_i}\gamma {\alpha ^i}} }}}}} \right)^{ - \frac{1}{{\textit{z}}}}} = {\left( {\frac{{e{{(g, h)}^{\alpha \gamma k \cdot \left( {\sum\nolimits_{i = 0}^{n - 1} {{t_i}{\alpha ^i}} + \frac{{\textit{z}}}{{H(ID) + \alpha }}} \right)}}}}{{e{{\left( {g, h} \right)}^{\alpha \gamma k\sum\nolimits_{i = 0}^{n - 1} {{t_i}{\alpha ^i}} }}}}} \right)^{ - \tfrac{1}{{\textit{z}}}}} \\ & = e{(g, h)^{ - \tfrac{{\alpha \gamma k}}{{H(ID) + \alpha }}}}, \end{split} $ |
| $ \begin{split} w' &= e({C_1}, {d_2}) \cdot {\left( {\frac{{e({C_2}, {d_1})}}{{e\left( {{C_1}, \prod\nolimits_{i = 0}^{n - 1} {{h^{{t_i}{\alpha ^i}}}} } \right)}}} \right)^{ - \tfrac{1}{\textit{z}}}} \\ & = {v^k} \cdot e{\left( {g, h} \right)^{\frac{{\alpha \gamma k}}{{H(ID) + \alpha }}}} \cdot e{(g, h)^{ - \frac{{\alpha \gamma k}}{{H(ID) + \alpha }}}} = {v^k} {\text{ = }}w{\text{.}} \end{split} $ |
因此, 若
| $ K' = {\mathit{KDF}}\left( {{C_1}, {C_2}, w', \tau ', \ell } \right) = {\mathit{KDF}}\left( {{C_1}, {C_2}, w, \tau , \ell } \right) = K. $ |
非撤销用户可以恢复出正确的密钥, 方案满足撤销系统的正确性要求. 当
定理2. 若
证明: 在方案的安全性证明中, 假设敌手
| $\left\{ \begin{gathered} {g_0}, g_0^a, g_0^{ar}, g_0^{f{{(a)}^2}br}, \\ g_0^{f(a)b}, g_0^{f(a)ba}, g_0^{f(a)b{a^2}}, \ldots , g_0^{f(a)b{a^m}}, \\ {h_0}, h_0^a, h_0^{{a^2}}, \ldots , h_0^{{a^m}}, \\ h_0^{f(a)b}, h_0^{f(a)ba}, h_0^{f(a)b{a^2}}, \ldots , h_0^{f(a)b{a^{n - 2}}}, \\ h_0^{f{{(a)}^2}b}, h_0^{f{{(a)}^2}ba}, h_0^{f{{(a)}^2}b{a^2}}, \ldots . h_0^{f{{(a)}^2}b{a^m}}, \\ \end{gathered} \right.$ |
| $\left\{\begin{split} & f({\textit{z}}) = \left( {{\textit{z}} + x_1^*} \right)\left( {{\textit{z}} + x_2^*} \right) \ldots \left( {{\textit{z}} + x_n^*} \right) = \sum\limits_{i = 0}^n {{w_i}} {{\textit{z}}^i}\; \text{mod} \;p, \\ & {f_i}({\textit{z}}) = \frac{{f({\textit{z}})}}{{{\textit{z}} + x_i^*}} = \sum\limits_{j = 1}^{n - 1} {{t_j}} {{\textit{z}}^j}\; \text{mod} \; p. \end{split}\right.$ |
初始化阶段:
系统建立阶段: 为生成系统主公钥,
| $\left\{ \begin{split} & g = {g_0}; \\ & h = h_0^{f(a)} = h_0^{\sum_{i = 1}^n {{w_i}} {a^i}} = \prod\limits_{i = 1}^n {{{\left( {h_0^{{a^i}}} \right)}^{{w_i}}}} ; \\ & {g^\alpha } = g_0^a; \\ & {g^{\gamma {\alpha ^i}}} = {\left( {g_0^{f(a)b{a^i}}} \right)^y}, \;i = 0, 1, \ldots , m; \\ & {h^{\gamma {\alpha ^i}}} = {\left( {h_0^{f{{(a)}^2}b{a^i}}} \right)^y}, \;i = 0, 1, \ldots , m; \\ & v = e{(g, h)^{\alpha \beta }} = e{({g_0}, {h_0})^{af(a)(x - y{a^{n - 1}}b)}}. \end{split} \right.$ |
选择密钥派生函数
| $ mpk = \left( {\mathcal{B}\mathcal{P}, g, h, {g^\alpha }, \left\{ {{g^{\gamma {\alpha ^i}}}} \right\}_{i = 0}^m, \left\{ {{h^{\gamma {\alpha ^i}}}} \right\}_{i = 0}^m, v, {\mathit{KDF}}} \right). $ |
可以看出,
哈希询问阶段:
● 若
● 若
询问阶段1: 针对标识
| $ {d_1} = \prod\limits_{i = 0}^{n - 1} {{{\left( {h_0^{{a^{i + 1}}}} \right)}^{{t_i}}}} = h_0^{{f_i}(a)a} = h_0^{\frac{{af(a)}}{{a + x_i^*}}} = {h^{\frac{\alpha }{{\alpha + H(I{D_i})}}}}, \qquad {d_2} = h_0^{f(a)x} \cdot \prod\limits_{i = 0}^{n - 2} {{{\left( {h_0^{f(a){t_i}{a^i}b}} \right)}^y}} = h_0^{f(a)\left( {\left( {x - y{a^{n - 1}}b} \right) + \frac{{yf(a)b}}{{x_i^* + a}}} \right)} = {h^{\;\beta + \frac{\gamma }{{H(I{D_i}) + \alpha }}}}.$ |
设
挑战阶段:
| $ \begin{gathered} C_1^* = g_0^{ar}, \quad C_2^* = {\left( {g_0^{f{{(a)}^2}br}} \right)^y}, \quad {w^*} = e{\left( {g_0^{ar}, h_0^{f(a)}} \right)^x} \cdot {T^{ - y}}, \quad {\tau ^*} = \prod\limits_{I{D_i} \in {R^*}} H (I{D_i})\;\; \text{mod} \; p, \quad {K^*} = {\mathit{KDF}}(C_1^*, C_2^*, {w^*}, {\tau ^*}, \ell ). \\ \end{gathered} $ |
随机选择比特
令
| $C_1^* = g_0^{ar} = {\left( {{g^\alpha }} \right)^{{k^*}}}, \quad C_2^* = {\left( {g_0^{f{{(a)}^2}br}} \right)^y} = {g^{yf{{(a)}^2}br}} = {g^{\gamma f(a){k^*}}} = {g^{{k^*} \cdot \gamma \cdot \prod\limits_{I{D_i} \in {R^*}} {\left( {H(I{D_i}) + \alpha } \right)} }}. \\ $ |
若
| $ \begin{split} {w^*} &= e{\left( {g_0^{ar}, h_0^{f(a)}} \right)^x} \cdot {T^{ - y}} \\ & = e{\left( {g_0^{ar}, h_0^{f(a)}} \right)^x} \cdot e{({g_0}, {h_0})^{ - y{a^n}f(a)br}} \\ & = e{({g_0}, {h_0})^{af(a){k^*}(x - y{a^{n - 1}}b)}} \\ & = e{(g, h)^{\alpha \cdot \beta \cdot {k^*}}} \\ & = {v^{{k^*}}}. \end{split} $ |
因此, 当
询问阶段2:
猜测阶段:
从证明的设置可以看出, 模拟和真实攻击是不可区分的. 接下来, 分析
| $ \mathrm{Pr}\left[{c}'=c\mid T=e{({g}_{0}, {h}_{0})}^{{a}^{n}f(a)br}\right]={{Adv}}_{\mathcal{A}}^{\text{IND-sID-CPA}}(\lambda )+\frac{1}{2}= \epsilon+\frac{1}{2}. $ |
若
| $ \Pr \left[ {c' = c\mid T \ne e{{({g_0}, {h_0})}^{{a^n}f(a)br}}} \right] = \frac{1}{2}. $ |
综上,
| $ \begin{array}{c}{{Adv}}^{(n, f)\text{-GDDHE}}(\lambda )=\left|\mathrm{Pr}\left[{c}'=c\mid T=e{({g}_{0}, {h}_{0})}^{{a}^{n}f(a)br}\right]-\mathrm{Pr}\left[{c}'=c\mid T\ne e{({g}_{0}, {h}_{0})}^{{a}^{n}f(a)br}\right]\right| =\left| \epsilon+\dfrac{1}{2}-\dfrac{1}{2}\right|= \epsilon.\end{array} $ |
计算复杂度和存储开销是衡量一个密码方案性能的重要指标, 本节将从这两个方面分析方案, 并与现有高效标识广播加密(撤销加密)进行比较. 为比较的公平性, 只考虑密钥封装, 即不考虑会话密钥加密数据的开销和存储. 表1给出了比较所用符号的详细说明, 结果如表2和表3所示.
| 表 1 符号说明 |
| 表 2 计算开销比较 |
| 表 3 存储开销和安全性比较 |
本文基于我国商用密码SM9标识加密算法提出一个标识撤销加密方案. 方案具有定长的用户密钥和密文, 与撤销用户的数量无关, 并基于随机谕言机模型证明了方案具有CPA的安全性. 方案在计算和存储方面的复杂度与目前的撤销方案整体相当. 本文方案不仅可以看成是标识广播加密的补充, 同时也为SM9标识密码提供了一种撤销机制, 当用户的密钥泄露后, 可采用本文方案撤销用户密钥对后续广播的解密权限, 进一步丰富和完善了我国商用密码.
| [1] |
Fiat A, Naor M. Broadcast encryption. In: Proc. of the 13th Annual Int’l Cryptology Conf. Santa Barbara: Springer, 1994. 480–491. [doi: 10.1007/3-540-48329-2_40]
|
| [2] |
Delerablée C. Identity-based broadcast encryption with constant size ciphertexts and private keys. In: Proc. of the 13th Int’l Conf. on the Theory and Application of Cryptology and Information Security. Kuching: Springer, 2007. 200–215. [doi: 10.1007/978-3-540-76900-2_12]
|
| [3] |
Lewko A, Sahai A, Waters B. Revocation systems with very small private keys. In: Proc. of the 2010 IEEE Symp. on Security and Privacy. Oakland: IEEE, 2010. 273–285. [doi: 10.1109/SP.2010.23]
|
| [4] |
Attrapadung N, Herranz J, Laguillaumie F, Libert B, de Panafieu E, Ràfols C. Attribute-based encryption schemes with constant-size ciphertexts. Theoretical Computer Science, 2012, 422: 15-38.
[doi:10.1016/j.tcs.2011.12.004] |
| [5] |
Chen J, Libert B, Ramanna SC. Non-zero inner product encryption with short ciphertexts and private keys. In: Proc. of the 10th Int’l Conf. on Security and Cryptography for Networks. Amalfi: Springer, 2016. 23–41. [doi: 10.1007/978-3-319-44618-9_2]
|
| [6] |
Jiang P, Lai JC, Guo FC, Susilo W, Au MH, Yang GM, Mu Y, Chen RM. Identity-based revocation system: Enhanced security model and scalable bounded ibrs construction with short parameters. Information Sciences, 2019, 472: 35-52.
[doi:10.1016/j.ins.2018.09.020] |
| [7] |
Lai JC, Huang XY, He DB. An efficient identity-based broadcast encryption scheme based on SM9. Chinese Journal of Computers, 2021, 44(5): 897-907(in Chinese with English abstract).
[doi:10.11897/SP.J.1016.2021.00897] |
| [8] |
Lai JC, Huang XY, He DB, Ning JT. CCA secure broadcast encryption based on SM9. Ruan Jian Xue Bao/Journal of Software, 2023, 34(7): 3354-3364(in Chinese with English abstract).
[doi:10.13328/j.cnki.jos.006531] |
| [9] |
Tang F, Ling GW, Shan JY. Additive homomorphic encryption schemes based on SM2 and SM9. Journal of Cryptologic Research, 2022, 9(3): 535-549(in Chinese with English abstract).
[doi:10.13868/j.cnki.jcr.000532] |
| [10] |
Zhang C, Peng CG, Ding HF, Xu DQ. Searchable encryption scheme based on China state cryptography standard SM9. Computer Engineering, 2022, 48(7): 159-167(in Chinese with English abstract).
[doi:10.19678/j.issn.1000-3428.0062771] |
| [11] |
Zhang XF, Peng H. Blind signature scheme based on SM9 algorithm. Netinfo Security, 2019, 19(8): 61-67(in Chinese with English abstract).
[doi:10.3969/j.issn.1671-1122.2019.08.009] |
| [12] |
Pu L, Lin C, Wu W, He DB. A public-key encryption with keyword search scheme from SM9. Journal of Cyber Security, 2023, 8(1): 108-118(in Chinese with English abstract).
[doi:10.19363/J.cnki.cn10-1380/tn.2023.01.08] |
| [13] |
Boneh D, Gentry C, Waters B. Collusion resistant broadcast encryption with short ciphertexts and private keys. In: Proc. of the 25th Annual Int’l Cryptology Conf. Santa Barbara: Springer, 2005. 258–275. [doi: 10.1007/11535218_16]
|
| [14] |
Gentry C, Waters B. Adaptive security in broadcast encryption systems (with short ciphertexts). In: Proc. of the 28th Annual Int’l Conf. on the Theory and Applications of Cryptographic Techniques. Cologne: Springer, 2009. 171–188. [doi: 10.1007/978-3-642-01001-9_10]
|
| [15] |
Sakai R, Furukawa J. Identity-based broadcast encryption. IACR Cryptology ePrint Archive, 2007, 2007:217.
|
| [16] |
Kim J, Susilo W, Au MH, Seberry J. Adaptively secure identity-based broadcast encryption with a constant-sized ciphertext. IEEE Trans. on Information Forensics and Security, 2015, 10(3): 679-693.
[doi:10.1109/TIFS.2014.2388156] |
| [17] |
Liu X, Liu WR, Wu QH, Liu JW. Chosen ciphertext secure identity-based broadcast encryption. Journal of Cryptologic Research, 2015, 2(1): 66-76(in Chinese with English abstract).
[doi:10.13868/j.cnki.jcr.000061] |
| [18] |
Libert B, Paterson KG, Quaglia EA. Anonymous broadcast encryption: Adaptive security and efficient constructions in the standard model. In: Proc. of the 15th Int’l Conf. on Practice and Theory in Public Key Cryptography. Darmstadt: Springer, 2012. 206–224. [doi: 10.1007/978-3-642-30057-8_13]
|
| [19] |
Fazio N, Perera IM. Outsider-anonymous broadcast encryption with sublinear ciphertexts. In: Proc. of the 15th Int’l Conf. on Practice and Theory in Public Key Cryptography. Darmstadt: Springer, 2012. 225–242. [doi: 10.1007/978-3-642-30057-8_14]
|
| [20] |
He K, Weng J, Liu JN, Liu JK, Liu W, Deng RH. Anonymous identity-based broadcast encryption with chosen-ciphertext security. In: Proc. of the 11th ACM on Asia Conf. on Computer and Communications Security. Xi’an: ACM, 2016. 247–255. [doi: 10.1145/2897845.2897879]
|
| [21] |
Naor M, Pinkas B. Efficient trace and revoke schemes. In: Proc. of the 4th Int’l Conf. on Financial Cryptography. Anguilla: Springer, 2001. 1–20. [doi: 10.1007/3-540-45472-1_1]
|
| [22] |
Yoo ES, Jho NS, Cheon JH, Kim MH. Efficient broadcast encryption using multiple interpolation methods. In: Proc. of the 7th Int’l Conf. on Information Security and Cryptology. Seoul: Springer, 2005. 87–103. [doi: 10.1007/11496618_8]
|
| [23] |
Naor D, Naor M, Lotspiech J. Revocation and tracing schemes for stateless receivers. In: Proc. of the 21st Annual Int’l Cryptology Conf. Santa Barbara: Springer, 2001. 41–62. [doi: 10.1007/3-540-44647-8_3]
|
| [24] |
Halevy D, Shamir A. The LSD broadcast encryption scheme. In: Proc. of the 22nd Annual Int’l Cryptology Conf. Santa Barbara: Springer, 2002. 47–60. [doi: 10.1007/3-540-45708-9_4]
|
| [25] |
Goodrich MT, Sun JZ, Tamassia R. Efficient tree-based revocation in groups of low-state devices. In: Proc. of the 24th Annual Int’l Cryptology Conf. Santa Barbara: Springer, 2004. 511–527. [doi: 10.1007/978-3-540-28628-8_31]
|
| [26] |
Delerablée C, Paillier P, Pointcheval D. Fully collusion secure dynamic broadcast encryption with constant-size ciphertexts or decryption keys. In: Proc. of the 1st Int’l Conf. on Pairing-based Cryptography. Tokyo: Springer, 2007. 39–59. [doi: 10.1007/978-3-540-73489-5_4]
|
| [27] |
Boldyreva A, Goyal V, Kumar V. Identity-based encryption with efficient revocation. In: Proc. of the 15th ACM Conf. on Computer and Communications Security. Alexandria: ACM, 2008. 417–426. [doi: 10.1145/1455770.1455823]
|
| [28] |
Li J, Li JW, Chen XF, Jia CF, Lou WJ. Identity-based encryption with outsourced revocation in cloud computing. IEEE Trans. on Computers, 2015, 64(2): 425-437.
[doi:10.1109/TC.2013.208] |
| [29] |
Ge AJ, Wei PW. Identity-based broadcast encryption with efficient revocation. In: Proc. of the 22nd IACR Int’l Conf. on Practice and Theory of Public-key Cryptography. Beijing: Springer, 2019. 405–435. [doi: 10.1007/978-3-030-17253-4_14]
|
| [30] |
Susilo W, Chen RM, Guo FC, Yang GM, Mu Y, Chow YW. Recipient revocable identity-based broadcast encryption: How to revoke some recipients in ibbe without knowledge of the plaintext. In: Proc. of the 11th ACM on Asia Conf. on Computer and Communications Security. Xi’an: ACM, 2016. 201–210. [doi: 10.1145/2897845.2897848]
|
| [31] |
Lai JC, Mu Y, Guo FC, Susilo W, Chen RM. Anonymous identity-based broadcast encryption with revocation for file sharing. In: Proc. of the 21st Australasian Conf. Melbourne: Springer, 2016. 223–239. [doi: 10.1007/978-3-319-40367-0_14]
|
| [32] |
Cheng ZH. Security analysis of SM9 key agreement and encryption. In: Proc. of the 14th Int’l Conf. on Information Security and Cryptology. Fuzhou: Springer, 2019. 3–25. [doi: 10.1007/978-3-030-14234-6_1]
|
| [33] |
Wang MD, He WG, Li J, Mei R. Optimal design of R-ate pair in SM9 algorithm. Communications Technology, 2020, 53(9): 2241-2244(in Chinese with English abstract).
[doi:10.3969/j.issn.1002-0802.2020.09.025] |
| [34] |
Hu XY, He DB, Peng C, Luo M, Huang XY. A fast implementation of R-ate pairing in SM9 algorithm. Journal of Cryptologic Research, 2022, 9(5): 936-948(in Chinese with English abstract).
[doi:10.13868/j.cnki.jcr.000559] |
| [35] |
Boneh D, Boyen X, Goh EJ. Hierarchical identity based encryption with constant size ciphertext. In: Proc. of the 24th Annual Int’l Conf. on the Theory and Applications of Cryptographic Techniques. Aarhus: Springer, 2005. 440–456. [doi: 10.1007/11426639_26]
|
| [7] |
赖建昌, 黄欣沂, 何德彪. 一种基于商密SM9的高效标识广播加密方案. 计算机学报, 2021, 44(5): 897-907.
[doi:10.11897/SP.J.1016.2021.00897] |
| [8] |
赖建昌, 黄欣沂, 何德彪, 宁建廷. 基于SM9的CCA安全广播加密方案. 软件学报, 2023, 34(7): 3354-3364.
[doi:10.13328/j.cnki.jos.006531] |
| [9] |
唐飞, 凌国玮, 单进勇. 基于国密SM2和SM9的加法同态加密方案. 密码学报, 2022, 9(3): 535-549.
[doi:10.13868/j.cnki.jcr.000532] |
| [10] |
张超, 彭长根, 丁红发, 许德权. 基于国密SM9的可搜索加密方案. 计算机工程, 2022, 48(7): 159-167.
[doi:10.19678/j.issn.1000-3428.0062771] |
| [11] |
张雪锋, 彭华. 一种基于SM9算法的盲签名方案研究. 信息网络安全, 2019, 19(8): 61-67.
[doi:10.3969/j.issn.1671-1122.2019.08.009] |
| [12] |
蒲浪, 林超, 伍玮, 何德彪. 基于SM9的公钥可搜索加密方案. 信息安全学报, 2023, 8(1): 108-118.
[doi:10.19363/J.cnki.cn10-1380/tn.2023.01.08] |
| [17] |
刘潇, 刘巍然, 伍前红, 刘建伟. 选择密文安全的基于身份的广播加密方案. 密码学报, 2015, 2(1): 66-76.
[doi:10.13868/j.cnki.jcr.000061] |
| [33] |
王明东, 何卫国, 李军, 梅瑞. 国密SM9算法R-ate对计算的优化设计. 通信技术, 2020, 53(9): 2241-2244.
[doi:10.3969/j.issn.1002-0802.2020.09.025] |
| [34] |
胡芯忆, 何德彪, 彭聪, 罗敏, 黄欣沂. 一种SM9算法R-ate对的快速实现方法. 密码学报, 2022, 9(5): 936-948.
[doi:10.13868/j.cnki.jcr.000559] |