«上一篇 下一篇»
  计算机工程  2019, Vol. 45 Issue (7): 176-180  DOI: 10.19678/j.issn.1000-3428.0051186
0

引用本文  

张琦, 李嘉伟, 林喜军, 等. 支持灵活授权的基于身份的加密相等性测试方案[J]. 计算机工程, 2019, 45(7), 176-180. DOI: 10.19678/j.issn.1000-3428.0051186.
ZHANG Qi, LI Jiawei, LIN Xijun, et al. Identity-Based Encryption with Equality Test Scheme Supporting Flexible Authorization[J]. Computer Engineering, 2019, 45(7), 176-180. DOI: 10.19678/j.issn.1000-3428.0051186.

基金项目

国家自然科学基金(61379127)

通信作者

曲海鹏(通信作者), 副教授、博士

作者简介

张琦(1992-), 女, 硕士研究生, 主研方向为密码学、信息安全, E-mail:zhangqi_joy@126.com;
李嘉伟, 硕士研究生;
林喜军, 讲师、博士

文章历史

收稿日期:2018-04-12
修回日期:2018-05-22
支持灵活授权的基于身份的加密相等性测试方案
张琦 , 李嘉伟 , 林喜军 , 曲海鹏     
中国海洋大学 信息科学与工程学院, 山东 青岛 266000
摘要:基于身份的加密相等性测试(IBEET)方案可在保证数据机密性的同时简化密钥和证书的管理,但其缺少对授权粒度的控制,难以满足实际应用中不同数据粒度的管理需求。为此,引入任意用户级别、任意密文级别、指定用户级别和密文-用户级别4种不同类型的授权机制,基于非对称的双线性映射,构建支持灵活授权的IBEET方案,并给出相关定义及安全模型。分析结果表明,该方案具有OW-ID-CCA安全性,能实现用户隐私保护。
关键词基于身份的加密    相等性测试    公有云    灵活授权    隐私保护    
Identity-Based Encryption with Equality Test Scheme Supporting Flexible Authorization
ZHANG Qi , LI Jiawei , LIN Xijun , QU Haipeng     
College of Information Science and Engineering, Ocean University of China, Qingdao, Shandong 266000, China
Abstract: The Identity-Based Encryption with Equality Test(IBEET) scheme can simplify the management of keys and certificates while ensuring data confidentiality, but it lacks control over the granularity of authorization, making it difficult to meet the management needs of different data granularities in practical applications.Therefore, random user level, random ciphertex level, specified user level and ciphertext-user level mechanisms are introduced.Based on asymmetric bilinear mapping, an IBEET scheme supporting flexible authorization is constructed, and related definitions and security models are given.The analysis results show that the scheme has the OW-ID-CCA security and can realize user privacy protection.
Key words: Identity-Based Encryption(IBE)    equality test    public cloud    flexible authorization    privacy protection    
0 概述

近年来, 随着无线移动通信技术的普及以及云计算的发展, 越来越多的人选择将个人数据存储在云端。基于身份的加密不仅可以保证数据的机密性, 而且能减少密钥管理系统设施, 具有管理简单的优势, 因此被广泛应用于云数据加密领域[1]。文献[2]提出基于身份的公钥密码体制, 在该密码体制中, 用户可以直接从身份信息中获取公钥, 例如E-mail地址、用户账户名、域名等[3], 简化了密钥和证书的管理。文献[4]将双线性映射用于基于身份的加密方案(Identity-Based Encryption, IBE)中。自基于身份的加密思想被提出以来, 研究人员相继提出许多加密方案[5-6]。基于身份的加密相等性测试(Identity-Based Encryption with Equality Test, IBEET)方案就是其中一种重要的方案, 属于基于身份的密码学范畴, 可用于确保公有云中存储数据的机密性[7-8]

IBEET[9]是将公钥加密相等性测试PKEET[10-11]与基于身份的方法相结合的加密方案, 可以在不泄露消息明文内容的前提下, 判断2个不同公钥加密密文是否是由相同的明文加密后得到的结果。在此基础上, 文献[12]提出半泛型构造方法, 并给出满足类似安全参数的基于身份的加密相等性测试方案。为提高计算效率, 文献[13]提出一个高效的IBEET方案, 采用双线性配对, 并且尽量避免使用Hash函数。文献[14]提出一个基于双服务器的加密相等性测试协议。但是, 现有的IBEET方案缺少细粒度的授权机制[15]。为实现不同类型的授权, 达到隐私分级保护的目的[16], 本文提出一个支持灵活授权的基于身份的加密相等性测试方案(IBEET-FA)。

1 预备知识 1.1 双线性映射

给定安全参数λ, 以素数q作为阶的循环乘法群G1G2GT, 随机生成元中g1G1g2G2, e:G1×G2GT为非对称的双线性映射:

1) 双线性:∀aG1, ∀bG2和∀uvΖq*, 有e(au, bv)=e(a, b)uv

2) 非退化性:$\exists $g1G1, 有e(g1, g2)≠1。

3) 可计算性:∀aG1, ∀bG2, e(a, b)可进行有效计算。

虽然非对称的双线性映射e以及群G1G2GT上的操作是可有效计算的, 但群G1G2之间没有进行同构计算, 因此双线性映射群组G1G2GT之间也没有进行有效的同构计算。

1.2 双线性Diffie-Hellman假设

定义一个安全参数λ, 以素数q为阶的非对称的双线性映射群集$\mathcal{G}$=(q, G1, G2, GT, e)。给定挑战值D=($\mathcal{G}$, g1, g2, g1a, g1c, g2b), 其中, g1G1g2G2是随机生成元, 且随机数abcZq*, 那么对任何概率多项式时间(Probability Polynomial Time, PPT)算法$\mathcal{A}$计算出e(g1, g2)abc的优势为:

$ Adv_A^{{\rm{BDH}}}\left( \lambda \right) = \Pr \left[ {A\left( D \right) = e{{\left( {{g_1},{g_2}} \right)}^{abc}}} \right] $

如果概率AdvABDH可忽略不计, 那么认为对任意一个PPT的算法$\mathcal{A}$来说, 双线性Diffie-Hellman(Bilinear Diffie-Hellman, BDH)假设成立。

2 IBEET-FA形式化定义

本节结合文献[8]的IBEET方案定义以及文献[12]中对于灵活授权的定义, 给出IBEET-FA方案的形式化定义。IBEET-FA方案由多个多项式时间算法组成, 其中, $\mathbb{M}$是明文空间, $\mathbb{C}$是密文空间。

2.1 基本加解密算法

系统建立算法:该算法输入安全参数λ, 输出系统公共参数PP和系统主密钥msk

密钥生成算法:该算法以系统公共参数PP、用户身份ID和系统密钥msk作为输入, 输出相应用户私钥SK

加密算法:该算法以系统公共参数PP、消息M$\mathbb{M}$和用户身份ID作为输入, 输出密文C$\mathbb{C}$或表示加密失败的符号⊥。

解密算法:该算法以系统公共参数PP、密文C$\mathbb{C}$及用户私钥SK作为输入, 输出相应的明文消息M$\mathbb{M}$或表示解密失败的符号⊥。

2.2 授权和测试算法

假设每个用户索引i, 其身份IDi, 相应的密文为Ci。用户索引j, 其身份IDj, 相应的密文为Cj。定义Type-α(α=1, 2, 3, 4) 4种类型授权和测试算法, 分别为:

1) 任意用户级别授权

Type-1授权:该算法以公共参数PP、用户私钥SK作为输入, 输出用户的陷门td

Type-1测试:令(Ci, tdi)为用户i的密文-陷门对, (Cj, tdj)为用户j的密文-陷门对。该算法由云服务器运行, 以公共参数PP、密文Ci$\mathbb{C}$、陷门tdi、密文Cj$\mathbb{C}$和陷门tdj作为输入, 如果CiCj对应的明文相同, 即CiCj由同一个消息生成, 则算法返回1;否则返回0。

2) 任意密文级别授权

Type-2授权:该算法以公共参数PP、用户私钥SK和密文C作为输入, 输出用户的陷门td

Type-2测试:令(Ci, tdi)为用户i的密文-陷门对, (Cj, tdj)为用户j的密文-陷门对。该算法由云服务器运行, 以公共参数PP、密文Ci$\mathbb{C}$、陷门tdi、密文Cj$\mathbb{C}$、陷门tdj作为输入, 如果CiCj对应的明文相同, 即CiCj由同一个消息生成, 则算法返回1;否则返回0。

3) 指定用户级别授权

假设该授权为用户i的特定密文对用户j的特定密文授权。用户j的陷门计算方法与用户i的相同。

Type-3授权:该算法以公共参数PP、用户i的私钥SKi、密文Ci以及用户j的身份ID和密文Cj作为输入, 输出用户的陷门td

Type-3测试:令(Ci, tdi)为用户i的密文-陷门对, (Cj, tdj)为用户j的密文-陷门对。该算法由云服务器运行, 以公共参数PP、密文Ci$\mathbb{C}$、陷门tdi、密文Cj$\mathbb{C}$、陷门tdj作为输入, 如果CiCj对应的明文相同, 即CiCj由同一个消息生成, 则算法返回1;否则返回0。

4) 密文-用户授权

假设测试对用户i为特定密文, 而用户j为被测试用户。此时的授权陷门分为:

(1) 对i的Type-4授权:该算法以公共参数PP、用户i的私钥SKi、密文Ci以及用户j的身份IDj作为输入, 输出用户i的陷门td(即Type-2型授权)。

(2) 对j的Type-4授权:该算法以公共参数PP、用户j的私钥SKj作为输入, 输出用户j的陷门tdj(即Type-1型授权)。

Type-4测试:令(Ci, tdi)为用户i的密文-陷门对, (Cj, tdj)为用户j的密文-陷门对。该算法由云服务器运行, 以公共参数PP、密文Ci$\mathbb{C}$、陷门tdi、密文Cj$\mathbb{C}$、陷门tdj作为输入, 如果CiCj对应的明文相同, 即CiCj由同一个消息生成, 则算法返回1;否则返回0。

3 基于双线性映射的IBEET-FA方案

IBEET-FA方案规定了5个算法:系统建立算法、密钥生成算法、加密算法、解密算法、授权和测试算法, 其中授权和测试算法分别包含4个不同粒度的相应算法, $\mathbb{M}$$\mathbb{C}$分别是明文空间和密文空间, 方案具体设计如下:

1) 系统建立算法。输入安全参数λ, 生成系统公共参数PP和主密钥msk:

(1) 生成非对称双线性映射群集$\mathcal{G}$=(q, G1, G2, GT, e)。

(2) 随机选取2个生成元g1G1g2G2

(3) 随机选取主密钥msk=sZq*, 令$\hat{g}_{1}=g_{1}^{s}$$\hat{g}_{2}=g_{2}^{s}$

(4) 选取密码学上安全的哈希函数:

$ H:{\{ 0,1\} ^n} \to {G_2} $
$ {H_1}:{\{ 0,1\} ^*} \to {G_1} $
$ {H_2}:{\{ 0,1\} ^*} \to {G_2} $
$ {H_3}:{G_T} \times G_1^2 \times {G_2} \to {\{ 0,1\} ^{n + 2l}} $
$ {H_4}:{G_T} \to G_2^2 $
$ {H_5}:{\{ 0,1\} ^{n + l}} \to Z_q^* $
$ {H_6}:{G_T} \to Z_q^* $
$ {H_7}:{G_T} \to {G_2} $

其中, lZq*中元素的比特长度。返回系统参数$P P=\left(\mathcal{G}, g_{1}, g_{2}, \hat{g}_{1}, \hat{g}_{2}, H, H_{1}, H_{2}, H_{3}, H_{4}\right)$

2) 密钥生成算法:输入公共参数PP、主密钥s和任意身份ID∈{0, 1}*, 返回用户的私钥SK=(S1, S2), 其中, S1=H1(ID)s, S2=H2(ID)s

3)加密算法:输入公共参数PP、明文消息M$\mathbb{M}$、任意身份ID∈{0, 1}*, 该算法按以下步骤生成并返回密文C=(C1, C2, C3, C4, C5):

(1) 选取随机数αβkZq*

(2) 计算密文:

$ \left\{ \begin{array}{l} {C_1} = g_1^R\\ {C_2} = g_1^\alpha \\ {C_3} = g_2^\beta \\ {C_4} = \left( {M\left\| k \right\|\beta } \right) \oplus {H_3}\left( {e{{\left( {{{\hat g}_1},{H_2}\left( {ID} \right)} \right)}^\alpha },} \right.\\ \;\;\;\;\;\;\;\left. {{C_1},{C_2},{C_3}} \right)\\ {C_5} = \left( {H{{\left( M \right)}^R}\left\| {H{{\left( M \right)}^{\mathit{R} \cdot \mathit{e}\left( {{H_1}\left( {ID} \right),{{\hat g}_2}} \right)\beta }}} \right.} \right) \oplus \\ \;\;\;\;\;\;\;{H_4}\left( {e{{\left( {{H_1}\left( {ID} \right),{{\hat g}_2}} \right)}^\beta }} \right) \end{array} \right. $

其中, R=H5(M, k), $e\left(\hat{g}_{1}, H_{2}(I D)\right)$e(H1(ID), $\hat{g}_{2}$)都可进行预计算以提高效率。

4) 解密算法:输入公共参数PP、密文C=(C1, C2, C3, C4, C5)和私钥SK=(S1, S2), 解密步骤如下:

(1) 计算C4$\oplus $H3(e(C2, S2), C1, C2, C3), 恢复Mkβ

(2) 若$g_{1}^{H_{5}(M, k)}=C_{1}, H(M)^{H_{5}(M, k)} \| H(M)^{H_{5}(M, k) \cdot H_{6}\left(e\left(H_{1}(ID), \hat{g}_{2}\right)^{\beta}\right)}=C_{5} \oplus H_{4}\left(e\left(S_{1}, C_{3}\right)\right)$同时成立, 返回明文M$\mathbb{M}$; 否则返回错误标识⊥。

5) 授权和测试算法:令UiUj分别代表 2个身份为IDiIDj的用户, 若他们需要测试的密文分别为Ci=(Ci, 1, Ci, 2, Ci, 3, Ci, 4, Ci, 5)和Cj=(Cj, 1, Cj, 2, Cj, 3, Cj, 4, Cj, 5), 则4种授权和测试算法分别如下:

(1) Type-1授权。此类型授权为任意用户级别授权:该算法输出相应陷门td=S1=H1(ID)s

(2) Type-1测试。当收到用户Ui的陷门tdi和用户Uj的陷门tdj, 首先计算:

$ {K_i} = \left[ {{C_{i,5}} \oplus {H_4}\left( {e\left( {t{d_i},{C_{i,3}}} \right)} \right)} \right]_{i = 1}^d = H{\left( {{M_i}} \right)^{{R_i}}} $
$ {K_j} = \left[ {{C_{j,5}} \oplus {H_4}\left( {e\left( {t{d_j},{C_{j,3}}} \right)} \right)} \right]_{j = 1}^d = H{\left( {{M_j}} \right)^{{R_j}}} $

其中, dG2中元素的比特长度。然后检查e(Ci, 1, Kj)=e(Cj, 1, Ki)是否成立, 若成立, 则返回1;否则返回0。

(3) Type-2授权。该类型的授权为任意密文级别授权, 该算法输出相应陷门td=H4e(S1, C3)。

(4) Type-2测试。当收到用户Ui的陷门tdi和用户Uj的陷门tdj, 首先计算:

$ {K_i} = \left[ {{C_{i,5}} \oplus t{d_i}} \right]_1^d = H{\left( {{M_i}} \right)^{{R_i}}} $
$ {K_j} = \left[ {{C_{j,5}} \oplus t{d_j}} \right]_1^d = H{\left( {{M_j}} \right)^{{R_j}}} $

然后检查$e\left(C_{i, 1}, K_{j}\right)=e\left(C_{j, 1}, K_{i}\right)$是否成立。若成立, 则返回1;否则返回0。

(5) Type-3授权。该类型的授权为指定用户级别授权, 该算法输出相应陷门:

$ \begin{array}{l} td = \left( {W,V} \right) = \\ \;\;\;\;\;\;\;\left( {e\left( {{C_1},{H_7}\left( {e\left( {{S_1},{C_1}} \right)} \right)} \right),{H_4}\left( {e\left( {{S_1},{C_3}} \right)} \right)} \right) \end{array} $

(6) Type-3测试。当收到Ui的陷门tdi=(Wi, Vi)和Uj的陷门tdj=(Wj, Vj), 首先计算:

$ {K_i} = \left[ {{C_{i,5}} \oplus {V_i}} \right]_d^{2d} = H{\left( {{M_i}} \right)^{{R_i} \cdot {H_6}\left( {e{{\left( {{H_1}\left( {I{D_i}} \right),{{\hat g}_2}} \right)}^{{\beta _i}}}} \right)}} $
$ {K_j} = \left[ {{C_{j,5}} \oplus {V_j}} \right]_d^{2d} = H{\left( {{M_j}} \right)^{{R_j} \cdot {H_6}\left( {e{{\left( {{H_1}\left( {I{D_i}} \right),{{\hat g}_2}} \right)}^{{\beta _j}}}} \right)}} $

然后检查$\frac{e\left(C_{i, 1}, K_{j}\right)}{e\left(C_{j, 1}, K_{i}\right)}=\frac{W_{j}}{W_{i}}$是否成立, 若成立, 则返回1;否则返回0。

(7) Type-4授权。此时用户Ui为任意密文级别授权, 用户Uj为任意用户级别的授权, 该算法输出相应陷门$t d_{i}=H_{4}\left(e\left(S_{i, 1}, C_{i, 3}\right)\right), t d_{j}=S_{j, 1}=H_{1}\left(I D_{j}\right)^{s}$

(8) Type-4测试。当收到Ui的陷门tdiUj的陷门tdj, 首先计算:

$ {K_i} = \left[ {{C_{i,5}} \oplus {H_4}\left( {e\left( {t{d_i},{C_{i,3}}} \right)} \right)} \right]_{i = 1}^d = H{\left( {{M_i}} \right)^{{R_i}}} $
$ {K_j} = \left[ {{C_{j,5}} \oplus t{d_j}} \right]_1^d = H{\left( {{M_j}} \right)^{{R_j}}} $

然后检查$e\left(C_{i, 1}, K_{j}\right)=e\left(C_{j, 1}, K_{i}\right) e\left(C_{A, 1}, K_{B}\right)=e\left(C_{B, 1}, K_{A}\right)$是否成立。若成立, 则返回1;否则返回0。

4 方案安全性分析

本文提出的IBEET-FA方案基于BDH假设。因为Type-4授权是Type-1、Type-2的结合, 所以只对前3种类型的授权进行证明。

定理 对于攻击者来说, 本文提出的IBEET-FA方案在随机预言机模型下满足OW-ID-CCA安全性。

证明 假设$\mathcal{A}$可以攻破本文提出的加密算法, 那么可以构造一个多项式时间内的算法$\mathcal{B}$来解决BDH问题。

给定一个BDH问题实例$\left(\mathcal{G}, g_{1}, g_{1}^{a}, g_{1}^{c}, g_{2}, g_{2}^{a}\right.$, $g_{2}^{b})$, $\mathcal{B}$的任务是计算出$e\left(g_{1}, g_{2}\right)^{a b c}$的值。

1) 初始化:$\mathcal{B}$生成公共参数$P P=\left(\mathcal{G}, g_{1}, g_{2}, \hat{g}_{1}\right.$, $\hat{g}_{2}, H, H_{1}, H_{2}, H_{3}, H_{4}, H_{5}, H_{6}, H_{7})$预言机。$\mathcal{B}$PP发送给$\mathcal{A}$$\mathcal{B}$维护列表List、List1、List2、List3、List4来回答$\mathcal{A}$对随机预言机的哈希询问, 其中所有列表初始为空。若$\mathcal{A}$询问相同的消息, 则$\mathcal{B}$返回相同的结果。

2) 第一阶段:$\mathcal{B}$$\mathcal{A}$的询问回答如下:

(1) Hash查询(M):$\mathcal{B}$随机选取hZq*, 将[M, h]添加到表List, 并返回h

(2) Hash1查询(IDi):$\mathcal{B}$随机选取viZq*, 将[IDi, vi]添加到表List1, 并返回g1vi

(3) Hash2查询(IDi):$\mathcal{B}$随机选取uiZq*, 选择cn∈{0, 1}, 其中Pr[cn=0]=τ, 将[IDi, ui, cn]添加到表List2。若cn=0, 则$\mathcal{B}$返回g2ui; 否则返回g2bui

(4) Hash3查询(σ, C1, C2, C3):$\mathcal{B}$随机选取θ∈{0, 1}λ+l, 将[σ, C1, C2, C3, θ]添加到表List3并返回θ

(5) Hash4查询(ω):$\mathcal{B}$随机选取h4∈{0, 1}3d+l, 将[ω, h4]添加到表List4, 并返回h4

(6) Hash5查询(M, k):$\mathcal{B}$随机选取h5Zq*, 将[M, k, h5]添加到表List5, 并返回h5

(7) Hash6查询(η):$\mathcal{B}$随机选取h6G1, 将[η, h6]添加到表List6, 并返回h6

(8) Hash7查询(μ):$\mathcal{B}$随机选取h7G2, 将[μ, h7]添加到表List7, 并返回μ

(9) 密钥查询(IDi):$\mathcal{B}$首先根据IDi执行Hash2查询(IDi), 查询表List2项[IDi, ui, cn]。若cn=0, $\mathcal{B}$执行Hash1查询(IDi)查询表List1项[IDi, vi], 则返回SKi=(Si, 1, Si, 2)=(g1avi, g2aui); 否则$\mathcal{B}$失败中断。

(10) 解密查询(IDi, C):$\mathcal{B}$首先根据IDi执行Hash3查询(IDi), 查询表和List3项[IDi, ui, cn]。

①若cn=0, 则$\mathcal{B}$执行Hash1查询(IDi), 查询表List1项[IDi, vi], 并计算SKi=(Si, 1, Si, 2)=(g1avi, g2aui), 然后运行解密算法解密查询(PP, C, SKi), 返回相应的结果给$\mathcal{A}$

② 若cn=1, $\mathcal{B}$根据密文C=(C1, C2, C3, C4, C5)查询表List3项[σ, C1, C2, C3, θ], $\mathcal{B}$解密操作如下:计算M′‖k′=$C_{4} \oplus \theta$。Hash1查询(IDi), 查询表List1取得vi, 计算Si, 1=g1avi。计算R′=H5(M′, k′)。$H\left(M^{\prime}\right)^{R^{\prime}} \| H \left(M^{\prime}\right)^{R^{\prime} \cdot H_{6}\left(e\left(H_{1}(I D), \hat{g}_{2}\right) \beta\right)}=C_{5} \oplus H_{4}$(e(Si, 1, C3))和g1R=C1成立, 则$\mathcal{B}$返回M′$\mathcal{A}$。若表List3中无满足以上条件项, 则$\mathcal{B}$返回⊥。

(11) 授权查询:$\mathcal{B}$首先根据IDi执行Hash1查询(IDi), 然后查询表List1项[IDi, vi]计算Si, 1=g1avi

对于授权:

① Type-1授权:输入(IDi), $\mathcal{B}$返回td1=Si, 1=g1avi

② Type-2授权:输入(IDi, C), $\mathcal{B}$返回td2=$H_{4}\left(e\left(S_{i, 1}, C_{3}\right)\right)$

③ Type-3授权:输入(IDi, Ci, Cj), $\mathcal{B}$返回td3=$\left(W_{i}, V_{i}\right)=\left(e\left(C_{j, 1}, H_{2}\left(e\left(S_{i, 1}, C_{i, 1}\right)^{R_{i} \cdot H_{6}\left(e\left(H_{1}\left(I D_{i}\right), \hat{g}_{2}\right) \beta i\right)}\right)\right)\right.$, $e\left(S_{i, 1}, C_{i, 3}\right))$

3) 挑战:$\mathcal{A}$随机选取挑战身份ID*$\mathcal{B}$随机选择消息M*∈{0, 1}*生成相应的挑战密文C*, 根据ID*执行Hash2查询(ID*), 查询表List2项[IDi, ui, cn]。若cn=0, 则$\mathcal{B}$失败中断; 否则$\mathcal{B}$操作如下:

(1)随机选取ρ∈{0, 1}、kZq*C4*∈{0, 1}λ+l

(2) 计算:

$ C_1^ * = g_1^R $
$ C_2^ * = g_1^c $
$ C_3^ * = g_2^\beta $
$ C_4^ * = {H_3}\left( {e{{\left( {{g_1},{g_2}} \right)}^{abc{u^ * }}},C_1^ * ,C_2^ * ,C_3^ * } \right) \oplus \left( {M_p^ * \left\| k \right.} \right) $
$ \begin{array}{l} C_5^ * = \left( {H{{\left( {{M^ * }} \right)}^R}\left\| {H{{\left( {{M^ * }} \right)}^{R \cdot {{\left( {{H_6}\left( {e\left( {{H_1}\left( {ID} \right),{{\hat g}_2}} \right)} \right)} \right.}^\beta }}}} \right.} \right) \oplus \\ \;\;\;\;\;\;\;{H_4}\left( {e{{\left( {g_1^{{v^ * }},g_2^a} \right)}^\beta }} \right) \end{array} $

其中, R=H5(M*, k)。

(3) 发送挑战密文C*=(C1*, C2*, C3*, C4*, C5*)给$\mathcal{A}$, 根据密文构造可知$H_{3}\left(e\left(g_{1}, g_{2}\right)^{a b c u^{*}}, C_{1}^{*}, C_{2}^{*}\right.$, $C_{3}^{*})=\left(M_{p}^{*} \| k\right) \oplus C_{4}^{*}$, 其中$g_{2}^{b u^{*}}=H_{2}\left(I D^{*}\right)$

4) 第二阶段:$\mathcal{A}$重复第一阶段的询问, 但必须遵守以下规则:ID*不允许出现在密钥查询中, (ID*, C*)不允许出现在解密查询中。

5) 猜测:$\mathcal{A}$输出$M^{\prime} \in\{0, 1\}^{\lambda}$$\mathcal{B}$从List3中随机选取一个元组[σ*, C1*, C2*, C3*, θ*], 并输出$\sigma^{*\left(u^{*}\right)^{-1}}=e\left(g_{1}, g_{2}\right)^{a b c}$作为BDH问题的解。

5 方案概率分析

$\mathcal{A}$最多进行qk次秘钥查询, qD次解密查询, qAuth次授权查询, qH次Hash查询, qHiHashi查询(1≤i≤6)。设事件Eq3$\mathcal{A}$在某时刻询问了项目$H_{3}\left(e\left(g_{1}, g_{2}\right)^{a b c u^{*}}, C_{1}^{*}, C_{2}^{*}\right)$, 若Eq3未发生, 则$\mathcal{A}$的观察同解密C*是独立的。设事件EDec$\mathcal{B}$对某个合法密文解密失败, $\mathcal{B}$在挑战过程中的失败中断为事件EAbort, 定义事件$E=\left(E_{q_{3}} \vee E_{\mathrm{Dec}}\right) | \neg E_{\mathrm{Abort}}$, 由此可知$\operatorname{Pr}\left[M^{*}=M^{\prime} | \neg E\right] \leqslant \frac{1}{2^{\lambda}}$

$ \begin{array}{l} \Pr \left[ {{M^*} = M'} \right] = \Pr \left[ {{M^*} = M'|\neg E} \right]\Pr [\neg E] + \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\Pr \left[ {{M^*} = M'|E} \right]\Pr [E] \le \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\Pr \left[ {{M^*} = M'|\neg E} \right]\Pr [\neg E] + \Pr [E] = \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\frac{1}{{{2^\lambda }}}\Pr [\neg E] + \Pr [E] = \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\frac{1}{{{2^\lambda }}} + \left( {1 - \frac{1}{{{2^\lambda }}}} \right)\Pr [E] \end{array} $

因此, $\operatorname{Pr}\left[\neg E_{\text { Abort }}\right]=\tau^{q_{k}}(1-\tau)$, 并且$\mathcal{A}$t时刻攻破方案的优势为:

$ \begin{array}{*{20}{c}} {Ad{v_A} \le \Pr \left[ {{M^*} = M'} \right] \le \frac{1}{{{2^\lambda }}} + \left( {1 - \frac{1}{{{2^\lambda }}}} \right)\Pr [E] \le }\\ {\frac{1}{{{2^\lambda }}} + \left( {1 - \frac{1}{{{2^\lambda }}}} \right)\frac{{\Pr \left[ {{E_{{q_3}}}} \right] + \Pr \left[ {{E_{{\rm{Dec}}}}} \right]}}{{\Pr \left[ {\neg {E_{{\rm{Abort}}}}} \right]}}} \end{array} $

$\mathcal{A}$最多进行qH3次Hash查询。从表List3中选取σ*的概率为$\frac{A d v_{A}-\frac{1}{2^{n}}}{\left(q_{\mathrm{par}}+q_{\mathrm{prv}}+1\right)}-\frac{q_{D}}{q}$, 综上所述, $\mathcal{B}$得到正确答案的概率至少为$\frac{1}{q_{H_{3}}}\left(\frac{A d v_{A}-\frac{1}{2^{n}}}{q_{k}+1}-\frac{q_{D}}{q}\right)$

6 结束语

针对IBEET方案缺少授权机制的问题, 本文在基于身份的相等性测试体制中引入灵活授权概念, 利用非对称的双线性配对, 构造支持灵活授权的IBEET方案, 设计4种不同类型的授权机制, 并基于BDH问题给出具有选择身份的单项选择密文安全性证明。但由于本文方案为基础模型, 仅实现了最基本的IBE方案, 因此下一步将根据实际应用需求, 构造安全性更高、适用性更强的加密方案。

参考文献
[1]
曾梦岐, 卿昱, 谭平璋, 等. 基于身份的加密体制研究综述[J]. 计算机应用研究, 2010, 27(1): 27-31. DOI:10.3969/j.issn.1001-3695.2010.01.007 (0)
[2]
SHAMIR A.Identity-based cryptosystems and signature schemes[C]//Proceedings of Workshop on the Theory and Application of Cryptographic Techniques.Berlin, Germany: Springer, 1984: 47-53. (0)
[3]
MCCULLAGH N. Securing E-mail with identity-based encryption[J]. IT Professional, 2005, 7(3): 63-64. (0)
[4]
DAN B, FRANKLIN M.Identity-based encryption from the Weil pairing[C]//Proceedings of Annual International Cryptology Conference.Berlin, Germany: Springer, 2001: 213-229. (0)
[5]
SAHAI A, WATERS B.Fuzzy identity-based encryption[C]//Proceedings of Annual International Conference on the Theory and Applications of Cryptographic Techniques.Berlin, Germany: Springer, 2005: 457-473. (0)
[6]
DAN B, BOYEN X.Efficient selective-ID secure identity-based encryption without random Oracles[C]//Proceedings of International Conference on the Theory and Applications of Cryptographic Techniques.Berlin, Germany: Springer, 2004: 223-238. (0)
[7]
WATERS B.Efficient identity-based encryption without random Oracles[C]//Proceedings of Annual International Conference on the Theory and Applications of Cryptographic Techniques.Berlin, Germany: Springer, 2005: 114-127. (0)
[8]
陈辉焱, 刘乐, 张晨晨. 一种具有CDH问题安全性基于身份的签名方案[J]. 计算机工程, 2018, 44(4): 174-180. DOI:10.3969/j.issn.1000-3428.2018.04.028 (0)
[9]
MA Sha. Identity-based encryption with outsourced equality test in cloud computing[J]. Information Sciences an International Journal, 2016, 328(C): 389-402. (0)
[10]
TANG Qiang.Towards public key encryption scheme supporting equality test with fine-grained authori-zation[C]//Proceedings of Australasian Conference on Information Security and Privacy.Berlin, Germany: Springer, 2011: 289-406. (0)
[11]
YANG Guomin, TAN C H, HUANG Qiong, et al.Probabilistic public key encryption with equality test[C]//Proceedings of Cryptographers' Track at the RSA Conference.Berlin, Germany: Springer, 2010: 119-131. (0)
[12]
LEE H T, LING S, SEO J H, et al. Semi-generic construction of public key encryption and identity-based encryption with equality test[J]. Information Sciences, 2016, 373(C): 419-440. (0)
[13]
WU Libing, ZHANG Yubo, CHOO K K R, et al. Efficient and secure identity-based encryption scheme with equality test in cloud computing[J]. Future Generation Computer Systems, 2017, 73(C): 22-31. (0)
[14]
吴黎兵, 张宇波, 何德彪. 云计算中基于身份的双服务器密文等值判定协议[J]. 计算机研究与发展, 2017, 54(10): 2232-2243. DOI:10.7544/issn1000-1239.2017.20170446 (0)
[15]
TANG Qiang. Public key encryption schemes supporting equality test with authorisation of different granularity[J]. International Journal of Applied Cryptography, 2017, 2(4): 304-321. (0)
[16]
计海萍, 徐磊, 蔚晓玲, 等. 云计算环境下基于身份的分层加密管理系统研究[J]. 信息网络安全, 2016, 16(5): 30-36. DOI:10.3969/j.issn.1671-1122.2016.05.005 (0)