-
代理重加密机制是文献[1]提出的一种特殊的公钥加密体制。在代理重加密的加密系统里,一个由Bob公钥生成的密文可由不可信的代理服务器转化为在Alice公钥下生成的密文,Alice可使用自己的私钥解密出明文。在整个代理重加密的过程中,代理服务器无法解密密文或获取任何用户的私钥。由于密文转化的功能,这一加密系统非常适用于构建针对云计算的安全数据共享方案。为提高代理重加密方案的安全性和效率,大量的代理重加密体制陆续出现[2-7]。但在基于传统公钥证书框架下提出的代理重加密体制本身存在着复杂的公钥证书管理的缺陷(如证书的生成、传输、验证、存储及废除)。于是,文献[8]在2007年提出了第一个基于身份基的代理重加密体制。随后,这一研究领域成为热点。学术界涌现了大量的基于身份基的代理重加密体制[9-11],在这种加密体制里,由于公钥可以直接由用户的属性(如用户的电子邮件)生成,所以避免了使用基于公钥加密的代理重加密体制里复杂的公钥基础。但是由于私钥是由私钥生成中心生成的,所以基于身份的代理重加密体制存在着密钥托管问题。鉴于此,文献[12]在2010年提出了第一个无证书代理重加密体制。这种加密体制可以避免采用复杂的公钥管理体制,也解决了密钥托管问题,从而使得代理重加密这一密码学原语被更加广泛地应用于不同的场景中。
随着社会工程学与边信道攻击的快速发展,用户的私钥面临着前所未有的威胁。一旦用户私钥泄露,整个公钥密码体制的安全性将面临灭顶威胁。文献[13]提出了第一个密钥隔离的公钥密码体制,在系统里增加了一个物理安全的部件(称之为协助器),整个系统的时间分为n个碎片,在每一个时间片里,协助器生成一个新的协助器私钥,作为用户私钥的一部分,通过这种方法,用户的私钥在每一个时间片里被更新。即使前面时间片的私钥暴露了,也不会泄露后面时间片的私钥。考虑到目前有的代理重加密方案都未考虑密钥泄露带来的威胁,本文结合密钥隔离的思想提出具有抗密钥泄露功能的无证书代理重加密方案。本文的贡献如下:1)通过结合密钥隔离和无证书代理重加密方案,给出了密钥隔离无证书代理重加密方案的形式化定义和安全模型;2)采用构建于椭圆曲线密钥体制上的双线性映射工具,提出了一个密钥隔离无证书代理重加密方案的具体方案;3)在随机预言机模型中给出了所提方案的安全性证明,同时采用Miracl库函数具体实现了该方案,实验结果表明该方案高效实用;4)利用该方案设计了一个基于云计算的适用于移动互联网的安全数据共享协议。
-
定理 1 设哈希函数${H_1}, {H_2}, {H_3}, {H_4}, {H_5}$为随机预言机。考虑计算Diffie-Hellman困难问题假设,KI_CLPRE体制对于攻击者${\mathcal{A}_{\rm{1}}}$关于一级密文${C_{A, i}} = ({c_{1, i}}, c_{2, i})$在随机预言机模型中是CPA安全的。
证明:将规约到计算Diffie-Hellman困难问题上进行安全证明。设定计算Diffie-Hellman问题,挑战者$\mathcal{S}$利用攻击者${\mathcal{A}_{\rm{1}}}$来计算出$\hat e{(g, g)^{ab}}$。当game1_ level1_ciphertext游戏开始后,由于攻击者${\mathcal{A}_{\rm{1}}}$为外部用户,所以该攻击者无法获取密钥生成中心的主密钥master-key。挑战者$\mathcal{S}$设定$y = {g^x} = {g^a}$,并且模拟哈希函数${H_1}, {H_2}, {H_3}, {H_4}, {H_5}$为随机预言机。之后,设置${g^b} = {g^r}$。在仿真试验中,挑战者需要在一个时间片内猜测目标明文中的每一位。在挑战阶段,挑战者$\mathcal{S}$返回一个一级密文${C_{A, i}} = ({c_{1, i}}, c_{2, i})$:
$${c_{2, i}} = {m^ * } \oplus {H_2}(Y_A^r) = {m^ * } \oplus {H_2}({(\gamma _{A, i}^{{H_5}({\mu _A})}{\mu _A})^r})$$ 其中:
$$\begin{gathered} \xi = {(\gamma _{A, i}^{{H_5}({\mu _A})}{\mu _A})^r} = {({\omega _A}{y^{{H_1}({\rm{I}}{{\rm{D}}_A}, {\omega _A})}}{\delta ^{{H_2}({\rm{I}}{{\rm{D}}_A}, i)}}{g^{{Z_A}}})^r} = \\ {({g^{{S_A}}}{g^{x{H_1}({\rm{I}}{{\rm{D}}_A}, {\omega _A})}}{g^{\tau H_2({\rm{I}}{{\rm{D}}_A}, i)}}{g^{{Z_A}}})^r} \\ \end{gathered} $$ 显然,在$\xi $中${g^{{S_A}}}$, ${g^{\tau {H_2}(I{D_A}, i)}}$及${g^{{Z_A}}}$均为已知,所以可以得到${g^{xr}}$即为CDH问题的解,即攻击者${\mathcal{A}_{\rm{1}}}$只有在解决CDH问题之后才能对所提方案中的一级密文进行解密。故本文的方案在随机预言机模型下是CPA安全的。
定理 2 设哈希函数${H_1}, {H_2}, {H_3}, {H_4}, {H_5}$为随机预言机。考虑计算Diffie-Hellman困难问题假设,KI_CLPRE体制对于攻击者${\mathcal{A}_{\rm{2}}}$关于一级密文${C_{A, i}} = ({c_{1, i}}, c_{2, i})$在随机预言机模型中是CPA安全的。
证明:将规约到计算Diffie-Hellman困难问题上进行安全证明。设定计算Diffie-Hellman问题,挑战者$\mathcal{S}$利用攻击者${\mathcal{A}_{\rm{2}}}$来计算出$\hat e{(g, g)^{ab}}$。当game1_ level1_ciphertext游戏开始后,由于攻击者${\mathcal{A}_{\rm{2}}}$为恶意的密钥生成中心,所以该攻击者可以获取密钥生成中心的主密钥master-key,但无法获得用户的密钥等参数。挑战者$\mathcal{S}$设定$y = {g^{{Z_A}}} = {g^a}$,并且模拟哈希函数${H_1}, {H_2}, {H_3}, {H_4}, {H_5}$为随机预言机。之后,设置${g^b} = {g^r}$。在仿真试验中,挑战者需要在一个时间片内猜测目标明文中的每一位。在挑战阶段,挑战者$\mathcal{S}$返回一个一级密文${C_{A, i}} = ({c_{1, i}}, c_{2, i})$:
$${c_{2, i}} = {m^ * } \oplus {H_2}(Y_A^r) = {m^ * } \oplus {H_2}({(\gamma _{A, i}^{{H_5}({\mu _A})}{\mu _A})^r})$$ 其中:
$$\begin{gathered} \xi = {(\gamma _{A, i}^{{H_5}({\mu _A})}{\mu _A})^r} = {({\omega _A}{y^{{H_1}({\rm{I}}{{\rm{D}}_A}, {\omega _A})}}{\delta ^{{H_2}({\rm{I}}{{\rm{D}}_A}, i)}}{g^{{Z_A}}})^r} = \\ {({g^{{S_A}}}{g^{x{H_1}({\rm{I}}{{\rm{D}}_A}, {\omega _A})}}{g^{\tau H_2({\rm{I}}{{\rm{D}}_A}, i)}}{g^{{Z_A}}})^r} \\ \end{gathered} $$ 显然,在$\xi $中${g^{{S_A}}}$、${g^{x{H_1}({\rm{I}}{{\rm{D}}_A}, {\omega _A})}}$及${g^{\tau {H_2}({\rm{I}}{{\rm{D}}_A}, i)}}$及均为已知,所以挑战者可以获得${g^{{Z_A}r}}$即为CDH困难性问题的解。即攻击者${\mathcal{A}_{\rm{2}}}$只有在解决CDH问题之后才能对本文方案中的一级密文进行解密。故本文的方案在随机预言机模型下是CPA安全的。
定理 3 设哈希函数${H_1}, {H_2}, {H_3}, {H_4}, {H_5}$为随机预言机。考虑计算Diffie-Hellman困难问题假设,KI_CLPRE体制对于攻击者${\mathcal{A}_{\rm{1}}}$关于二级密文$C'_{B, i} = (c'_{1, i}, c'_{2, i})$在随机预言机模型中是CPA安全的。
证明:将规约到计算Diffie-Hellman困难问题上进行安全性证明。由于本文方案中一级密文与二级密文加密算法一致,所以安全性证明与定理1类似,不再赘述。攻击者${\mathcal{A}_{\rm{1}}}$只有在解决CDH问题之后才能对所提方案中的二级密文进行解密。故本文的方案在随机预言机模型下是CPA安全的。
定理 4 设哈希函数${H_1}, {H_2}, {H_3}, {H_4}, {H_5}$为随机预言机。考虑计算Diffie-Hellman困难问题假设,KI_CLPRE体制对于攻击者${\mathcal{A}_{\rm{2}}}$关于二级密文$C'_{B, i} = (c'_{1, i}, c'_{2, i})$在随机预言机模型中是CPA安全的。
证明:将规约到计算Diffie-Hellman困难问题上进行安全性证明。由于本文方案中一级密文与二级密文加密算法一致,所以安全性证明与定理2类似,不再赘述。攻击者${\mathcal{A}_{\rm{2}}}$只有在解决CDH问题之后才能对所提方案中的二级密文进行解密。故本文的方案在随机预言机模型下是CPA安全的。
-
在密钥隔离无证书代理重加密体制KI-CLPRE方案中,A方和B方由KGC周期性得提供一个协助器密钥,从而得以在每个时间片更新各自的重加密密钥。该方法虽然增加了方案的执行时间,但是由于每个时间片的重加密密钥都得以更新,所以即使单个时间片的重加密密钥被泄露,却仍然保密了其他时间片的重加密密钥,减少了系统在复杂环境下密钥泄露问题,提高了方案的安全性。接下来,将本文的方案与文献[12]和文献[14]的方案进行性能和安全的对比分析。
${t_e}$代表在群$\mathbb{G}$中指数运算的执行时间,${t_p}$代表对运算的执行时间,$\left| \mathbb{G} \right|$,$\left| {{\mathbb{G}_T}} \right|$分别代表群$\mathbb{G}$中元素的长度以及群${\mathbb{G}_T}$元素的长度,$\left| {{\mathbb{Z}_q}} \right|$代表随机数的长度,$\left| m \right|$代表消息m的长度,$\left| \sigma \right|$代表签名的长度。
由表 1可知,就执行效率而言,在文献[14]和文献[12]的方案中${\rm{Encrypt}}$、${\rm{Set}}\operatorname{Re} {\rm{Encrypt}}$、$\operatorname{Re} {\rm{Encrypt}}$、${\rm{Decryp}}{{\rm{t}}_1}$、${\rm{Decryp}}{{\rm{t}}_2}$算法的执行时间分别为$3{t_e}$、$3{t_e}$、${t_e}$、$3{t_e}$、${t_e}$和$6{t_e}$、$4{t_e}$、$6{t_p}$、${t_p} + 4{t_e}$、$2{t_p} + 4{t_e}$,而在本文的方案中,执行上述算法的时间为$4{t_e}$、$4{t_e}$、${t_e}$、$3{t_e}$、${t_e}$,由此可知,本文方案和文献[14]的方案相当,而明显高于文献[12]的方案。就重加密密钥、原始密文以及转换密文长度而言,本文方案中$\left| {{C_{A, i}}} \right|$、$\left| {{\rm{R}}{{\rm{K}}_{A \to B}}} \right|$、$\left| {C'_{B, i}} \right|$的长度为$\left| \mathbb{G} \right| + \left| m \right|$、$\left| {{\mathbb{Z}_q}} \right|$、$\left| \mathbb{G} \right| + \left| m \right|$,而文献[14]和文献[12]的方案中对应长度分别为$\left| \mathbb{G} \right| + \left| m \right|$、$\left| {{\mathbb{Z}_q}} \right|$、$\left| \mathbb{G} \right| + \left| m \right|$以及$3\left| \mathbb{G} \right| + \left| m \right| + \left| \sigma \right|$、$3\left| \mathbb{G} \right|$、$\left| \mathbb{G} \right| + 2\left| {{\mathbb{G}_T}} \right| + \left| m \right| + \left| \sigma \right|$,上述结论同样成立。就功能来说,本文方案在基于CDH困难问题的前提下能够达到CPA安全,并且能提供无证书和抗密钥泄露两种功能。虽然安全性达不到文献[12]方案中的CCA安全,但是文献[12]的方案不能提供抗密钥泄露和无证书两种功能,并且效率明显低于本文的方案。文献[14]的方案在性能方面和本文方案大致相当,但没有提供抗密钥泄露的功能。
Scheme 文献[14] 文献[12] 本文方案 ${\rm{Encrypt}}$ $3{t_e}$ $6{t_e}$ $4{t_e}$ ${\rm{Set}}\operatorname{Re} {\rm{Encrypt}}$ $3{t_e}$ $4{t_e}$ $4{t_e}$ $\operatorname{Re} {\rm{Encrypt}}$ ${t_e}$ $6{t_p}$ ${t_e}$ ${\rm{Decryp}}{{\rm{t}}_1}$ $3{t_e}$ ${t_p} + 4{t_e}$ $3{t_e}$ ${\rm{Decryp}}{{\rm{t}}_2}$ ${t_e}$ $2{t_p} + 4{t_e}$ ${t_e}$ $\left| {{C_{A, i}}} \right|$ $\left| \mathbb{G} \right| + \left| m \right|$ $3\left| \mathbb{G} \right| + \left| m \right| + \left| \sigma \right|$ $\left| \mathbb{G} \right| + \left| m \right|$ $\left| {{\rm{R}}{{\rm{K}}_{A \to B}}} \right|$ $\left| {{\mathbb{Z}_q}} \right|$ $3\left| {\left| \mathbb{G} \right|} \right|$ $\left| {{\mathbb{Z}_q}} \right|$ $\left| {C'_{B, i}} \right|$ $\left| \mathbb{G} \right| + \left| m \right|$ $\left| \mathbb{G} \right| + 2\left| {{\mathbb{G}_T}} \right| + \left| m \right| + \left| \sigma \right|$ $\left| \mathbb{G} \right| + \left| m \right|$ 综上所述,本文方案和文献[14]的方案相比,具有更多功能,比文献[12]的方案在效率方面具有明显的优势。表 2给出了与表 1相对应的定量分析,该数据证实了上述性能分析结论。图 1~图 4是几种方案在加密的消耗时间、一级密文解密时间以及二级密文解密时间方面的比较。本文方案通过周期性得更新密钥,提供了密钥隔离功能,减缓了在复杂环境下的密钥泄露问题。
表 2 对表 1性能定量分析的对比
Scheme 文献[14] 文献[12] 本文方案 ${\rm{Encrypt}}$ 3.54 ms 7.08 ms 4.72 ms ${\rm{Set}}\operatorname{Re} {\rm{Encrypt}}$ 354 ms 4.72 ms 4.72 ms $\operatorname{Re} {\rm{Encrypt}}$ 1.18 ms 87.9 ms 1.18 ms ${\rm{Decryp}}{{\rm{t}}_1}$ 3.54 ms 19.37 ms 3.54 ms ${\rm{Decryp}}{{\rm{t}}_2}$ 1.18 ms 34.02 ms 1.18 ms $\left| {{C_{A, i}}} \right|$ 2 048 bits 4 256 bits 2 048 bits $\left| {{\rm{R}}{{\rm{K}}_{A \to B}}} \right|$ 160 bits 3 072 bits 160 bits $\left| {C'_{B, i}} \right|$ 2 048 bits 4 256 bits 2 048 bits
An Efficient Key-Insulated Proxy Re-Encryption Scheme in Certificateless Cryptography
-
摘要: 在代理重加密体制里,一个不可信的代理服务器将用Alice公钥加密的密文转换为用Bob公钥加密的密文,同时该代理服务器无法获知明文及相关用户的私钥。无证书代理重加密体制能够同时避免传统公钥基础设施中复杂的公钥证书管理和基于身份加密中的密钥托管问题。考虑到用户私钥泄露可能带来的危害,该文提出了具有密钥隔离功能的无证书代理重加密体制,随机预言机模型中的安全证明和模拟实验表明该方案是高效安全的。同时,设计了基于云计算的移动互联网中的安全数据共享方案。Abstract: In a proxy re-encryption scheme, an untrusted proxy can convert the cipher text encrypted by Alice to the cipher text encrypted by Bob. Certificateless proxy re-encryption scheme has the advantages that avoiding the complicated public key infrastructure (PKI) and solving the problem of key-escrow in identity-based cryptography. To deal with the disastrous result of key leakage, a certificateless proxy re-encryption scheme featured with key insulated function has been proposed in this paper. Security proof in the random oracle model and experiment results demonstrate that the proposed scheme is secure and practical. At last, a secure data sharing scheme for cloud-based mobile Internet has also been given based on the proposed encryption scheme.
-
Key words:
- certificateless cryptography /
- cloud computing /
- key-insulated /
- mobile internet /
- proxy re-encryption
-
Scheme 文献[14] 文献[12] 本文方案 ${\rm{Encrypt}}$ $3{t_e}$ $6{t_e}$ $4{t_e}$ ${\rm{Set}}\operatorname{Re} {\rm{Encrypt}}$ $3{t_e}$ $4{t_e}$ $4{t_e}$ $\operatorname{Re} {\rm{Encrypt}}$ ${t_e}$ $6{t_p}$ ${t_e}$ ${\rm{Decryp}}{{\rm{t}}_1}$ $3{t_e}$ ${t_p} + 4{t_e}$ $3{t_e}$ ${\rm{Decryp}}{{\rm{t}}_2}$ ${t_e}$ $2{t_p} + 4{t_e}$ ${t_e}$ $\left| {{C_{A, i}}} \right|$ $\left| \mathbb{G} \right| + \left| m \right|$ $3\left| \mathbb{G} \right| + \left| m \right| + \left| \sigma \right|$ $\left| \mathbb{G} \right| + \left| m \right|$ $\left| {{\rm{R}}{{\rm{K}}_{A \to B}}} \right|$ $\left| {{\mathbb{Z}_q}} \right|$ $3\left| {\left| \mathbb{G} \right|} \right|$ $\left| {{\mathbb{Z}_q}} \right|$ $\left| {C'_{B, i}} \right|$ $\left| \mathbb{G} \right| + \left| m \right|$ $\left| \mathbb{G} \right| + 2\left| {{\mathbb{G}_T}} \right| + \left| m \right| + \left| \sigma \right|$ $\left| \mathbb{G} \right| + \left| m \right|$ 表 2 对表 1性能定量分析的对比
Scheme 文献[14] 文献[12] 本文方案 ${\rm{Encrypt}}$ 3.54 ms 7.08 ms 4.72 ms ${\rm{Set}}\operatorname{Re} {\rm{Encrypt}}$ 354 ms 4.72 ms 4.72 ms $\operatorname{Re} {\rm{Encrypt}}$ 1.18 ms 87.9 ms 1.18 ms ${\rm{Decryp}}{{\rm{t}}_1}$ 3.54 ms 19.37 ms 3.54 ms ${\rm{Decryp}}{{\rm{t}}_2}$ 1.18 ms 34.02 ms 1.18 ms $\left| {{C_{A, i}}} \right|$ 2 048 bits 4 256 bits 2 048 bits $\left| {{\rm{R}}{{\rm{K}}_{A \to B}}} \right|$ 160 bits 3 072 bits 160 bits $\left| {C'_{B, i}} \right|$ 2 048 bits 4 256 bits 2 048 bits -
[1] BLAZE M, BLEUMER G, STRAUSS M. Divertible protocols and atomic proxy cryptography[C]//International Conference on the Theory and Applications of Cryptographic Techniques. Berlin, Heidelberg: Springer, 1998: 127-144. [2] DENG R H, WENG J, LIU S, et al. Chosen-ciphertext secure proxy re-encryption without pairings[C]//International Conference on Cryptology and Network Security. Berlin, Heidelberg: Springer, 2008: 1-17. [3] SUN J, HU Y. Chosen-ciphertext secure bidirectional proxy broadcast re-encryption schemes[J]. International Journal of Information & Communication Technology, 2016, 8(4):405-419. http://or.nsfc.gov.cn/handle/00001903-5/338765 [4] LIU Q, WANG G, WU J. Time-based proxy re-encryption scheme for secure data sharing in a cloud environment[J]. Information Sciences, 2014, 258(3):355-370. http://dl.acm.org/citation.cfm?id=2563733.2564106 [5] HAYASHI R, MATSUSHITA T, YOSHIDA T, et al. Unforgeability of re-encryption keys against collusion attack in proxy re-encryption[C]//International Workshop on Security. Berlin, Heidelberg: Springer, 2011: 210-229. [6] WU X, XU L, ZHANG X. Poster: a certificateless proxy re-encryption scheme for cloud-based data sharing[C]//Proceedings of the 18th ACM Conference on Computer and Communications Security. [S. l. ]: ACM, 2011: 869-872. [7] LIBERT B, VERGNAUD D. Tracing malicious proxies in proxy re-encryption[C]//International Conference on Pairing-Based Cryptography. Berlin, Heidelberg: Springer, 2008: 332-353. [8] GREEN M, ATENIESE G. Identity-based proxy re-encryption[C]//Applied Cryptography and Network Security. Berlin, Heidelberg: Springer, 2007: 288-306. [9] ATENIESE G, BENSON K, HOHENBERGER S. Key-private proxy re-encryption[C]//Cryptographers' Track at the RSA Conference. Berlin, Heidelberg: Springer, 2009: 279-294. [10] GE C, SUSILO W, WANG J, et al. Identity-based conditional proxy re-encryption with fine grain policy[J]. Computer Standards & Interfaces, 2017, 52:1-9. http://dblp.uni-trier.de/db/journals/csi/csi52.html#GeSWF17 [11] REN Y, DING N, ZHANG X, et al. Identity-based encryption with verifiable outsourced revocation[J]. Computer Journal, 2016, 59(11):1659-1668. doi: 10.1093/comjnl/bxw029 [12] SUR C, JUNG C D, PARK Y, et al. Chosen-ciphertext secure certificateless proxy re-encryption[C]//IFIP International Conference on Communications and Multimedia Security. Berlin, Heidelberg: Springer, 2010: 214-232. [13] DODIS Y, KATZ J, XU S, et al. Key-insulated public key cryptosystems[C]//International Conference on the Theory and Applications of Cryptographic Techniques. Berlin, Heidelberg: Springer, 2002: 65-82. [14] YANG K, XU J, ZHANG Z. Certificateless proxy re-encryption without pairings[C]//International Conference on Information Security and Cryptology. [S. l. ]: Springer, 2013: 67-88. [15] CARO D. A jPBC library-the Java pairing based cryptography library[DB/OL]. (2013-05-06). http://gas.dia.unisa.it/projects/jpbc/. Accessed May 2013.