«上一篇 下一篇»
  计算机工程  2020, Vol. 46 Issue (9): 129-135  DOI: 10.19678/j.issn.1000-3428.0056080
0

引用本文  

杨小东, 陈桂兰, 李婷, 等. 基于无证书密码体制的多用户密文检索方案[J]. 计算机工程, 2020, 46(9), 129-135. DOI: 10.19678/j.issn.1000-3428.0056080.
YANG Xiaodong, CHEN Guilan, LI Ting, et al. Multi-User Ciphertext Retrieval Scheme Based on Certificateless Cryptosystem[J]. Computer Engineering, 2020, 46(9), 129-135. DOI: 10.19678/j.issn.1000-3428.0056080.

基金项目

国家自然科学基金(61662069,61262057,61562077);兰州市科技计划项目(2013-4-22);西北师范大学青年教师科研能力提升计划(NWNU-LKQN-14-7)

作者简介

杨小东(1981-), 男, 教授、博士, 主研方向为代理重签名、云计算安全;
陈桂兰, 硕士研究生;
李婷, 硕士研究生;
刘瑞, 硕士研究生;
赵晓斌, 学士

文章历史

收稿日期:2019-09-20
修回日期:2019-11-16
基于无证书密码体制的多用户密文检索方案
杨小东1 , 陈桂兰1 , 李婷1 , 刘瑞1 , 赵晓斌2     
1. 西北师范大学 计算机科学与工程学院, 兰州 730070;
2. 甘肃安信信息安全技术有限公司, 兰州 730000
摘要:可搜索加密技术能保障云端数据的机密性和隐私性,在云存储环境中具有广泛的应用前景。然而,现有可搜索加密方案存在计算开销大、安全性低和不支持多用户密文检索等不足。为此,通过引入无证书密码体制提出一种新的多用户密文检索方案。在该方案中,用户的完整私钥由部分私钥和秘密值两部分组成,能够解决传统密码体制的证书管理问题和基于身份密码体制的密钥托管问题。此外,数据拥有者在加密关键字时无需指定访问用户的身份,方案同时支持多用户的密文检索,并可通过授权列表实现访问用户的加入与撤销等功能。分析结果表明,该方案满足密文索引不可区分性和陷门不可区分性,在关键字加密、陷门生成及关键字检索等阶段具有较高的计算性能。
关键词云存储    可搜索加密    无证书密码体制    多用户密文检索    困难问题假设    
Multi-User Ciphertext Retrieval Scheme Based on Certificateless Cryptosystem
YANG Xiaodong1 , CHEN Guilan1 , LI Ting1 , LIU Rui1 , ZHAO Xiaobin2     
1. College of Computer Science and Engineering, Northwest Normal University, Lanzhou 730070, China;
2. Gansu Anxin Information Security Technology Co., Ltd., Lanzhou 730000, China
Abstract: Searchable encryption technology has broad application prospects in cloud storage environment, which can protect the confidentiality and privacy of cloud data.However, existing searchable encryption schemes face problems such as excessive computational overhead, low security, and lack of support for multi-user ciphertext retrieval.In order to solve these problems, a multi-user ciphertext retrieval scheme based on certificateless cryptosystem is proposed.The user's final private key consists of part of the private key and secret value, which effectively solves the certificate management problem of the traditional cryptosystem and the key escrow problem based on the identity cryptosystem.In addition, the data owner does not need to specify the identity of the accessing user when encrypting the keyword.The scheme supports ciphertext retrieval by multiple users, and implements functions such as joining and revoking access users through an authorization list.The analysis results show that the scheme satisfies the indistinguishability of ciphertext index and the indistinguishability of trapdoors.Compared with similar schemes, it has higher computational performance in terms of keyword encryption, trapdoor generation and keyword retrieval.
Key words: cloud storage    searchable encryption    certificateless cryptosystem    multi-user ciphertext retrieval    difficult problem assumption    
0 概述

随着大数据和云计算的迅速发展, 越来越多的组织和个人倾向于将数据迁移到云服务器, 以便节省本地资源[1-2]。然而数据拥有者一旦将敏感数据上传到云服务器, 将会失去对数据的完全控制, 从而导致未授权用户和云服务器提供商访问或恶意窃取用户的敏感数据。因此, 数据的安全性是云计算亟待解决的关键问题之一[3-4]。为实现数据的机密性, 数据拥有者通常在数据外包之前对其进行加密, 但面临加密数据有效检索的问题[5-6]。可搜索加密技术具有密文的关键字搜索等功能, 能保障加密数据的安全性和隐私性, 已成为近年来云计算安全领域的一个研究热点[7]

自可搜索加密思想[8]被提出后, 一些具有特殊性质的可搜索加密方案相继出现[9-10]。2004年, 文献[11]提出了公钥可搜索加密方案, 但需要在安全信道中传输关键字陷门。此后, 文献[12]提出了无安全信道的公钥可搜索加密方案, 但加密数据文件时需要访问用户和服务器的公钥。文献[13]提出了基于证书的可搜索加密方案, 但只满足选择明文安全性。文献[14]提出了另一个基于证书加密方案, 通过引入第三方经理减轻了云计算的负担。然而, 文献[13-14]提出的可搜索加密方案都面临复杂的证书管理开销问题。对此, 文献[15-16]分别提出了基于身份的可搜索加密方案, 但依然只满足选择明文攻击下的不可区分性, 并且需要一个可信的密钥生成中心(Key Generation Center, KGC)生成用户的私钥。文献[17-18]提出的基于无证书密码体制的密文检索方案, 有效解决了密钥托管问题, 但都只适用于单用户的密文数据检索, 在实际应用中具有一定的局限性。

针对有可搜索加密方案计算开销大和安全性现低[19-20]的问题, 本文提出一种多用户密文检索方案。该方案采用无证书密码体制生成关键字陷门, 避免使用公钥证书, 支持多用户的密文检索, 并可通过访问用户授权列表实现访问用户的加入与撤销等功能。同时, 在关键字加密阶段, 数据拥有者无须指定访问用户的身份, 由此提高计算性能, 使方案适用于云存储环境。

1 预备知识 1.1 双线性映射

给定相同素数阶p的2个循环群G1G2, 双线性映射e:G1×G1G2满足以下性质:

1) 双线性:对于∀u, vG1, a, b${{\mathbb{Z}}_{p}}$, e(ua, vb)=e(u, v)ab成立。

2) 非退化性:e(g, g)≠1, 其中, gG1的一个生成元。

3) 可计算性:对于∀u, vG1, e(u, v)是有效可计算的。

1.2 困难问题假设

给定一个四元组(g, ga, gb, gc), 其中, a, b, c$\mathbb{Z}_{p}^{*}$, gG1, 双线性Diffie-Hellman(Bilinear Diffie-Hellman, BDH)问题是计算e(g, g)abcG2

定义1 (BDH假设)  如果没有一个多项式时间算法能以不可忽略的概率解决BDH问题, 则称BDH问题是困难的。

给定一个五元组(g, gα, gβ, g1/α, R), 其中, α, β$\mathbb{Z}_{p}^{*}$, g, RG1, 修改的判定性Diffie-Hellman(modified Decisional Diffie-Hellman, mDDH)问题是区分Rgα/β还是G1中的一个随机元素。

定义2 (mDDH假设)  如果没有一个多项式时间算法能以不可忽略的概率解决mDDH问题, 则称mDDH问题是困难的。

1.3 可搜索加密方案

一个公钥可搜索加密方案由以下9个多项式时间算法组成:

1) Setup(1λ):输入安全参数λ, KGC生成主密钥msk和系统公共参数param

2) PatialKeyGen(param, msk, id):输入parammsk以及某个实体的身份id, KGC生成相应的部分私钥psk

3) KeyGen(param, psk):输入param以及psk, 该算法输出对应的公钥pk以及完整私钥sk

4) Enc(param, pk, W, F):输入param、服务器公钥pk、关键字集W和数据文件F, 输出数据文件密文CT以及密文索引CF

5) Auth(param, pkidi, k):输入param、访问用户公钥pkidi以及文档密钥k, 输出授权用户授权列表LF

6) Trapdoor(param, pkids, skidi, w′):输入param、服务器公钥pkids、数据拥有者私钥skidi以及查询关键字w′, 输出搜索陷门Tw′

7) Search(param, skids, Tw′, I):输入param、服务器私钥skids、Tw′以及Ci, 输出相关数据文件密文。

8) Add(param, k, LF, pkidi):输入k、授权列表LF以及待授权访问用户公钥pkidi, 将新用户添加到授权列表中, 输出更新成功。

9) Revoke(LF, Ui):输入授权列表LF以及待撤销授权用户Ui, 将用户从授权列表中删除, 输出撤销成功。

一个公钥可搜索加密方案的安全模型[7]主要从密文索引不可区分性和陷门不可区分性两方面进行安全性定义, 但在定义陷门不可区分性时, 关键字攻击只考虑外部敌手而不考虑服务器猜测攻击。

2 本文方案 2.1 系统模型

本文方案的系统模型如图 1所示, 其中包括KGC、数据拥有者(Data Owner, DO)、n个访问用户{U1, U2, …, Un}以及云服务提供商(Cloud Server Provider, CSP)。其中:KGC主要负责生成系统参数和每个实体的部分私钥; DO主要负责生成数据文件密文、关键字密文索引和访问用户的授权列表; 访问用户Ui生成关键字陷门, 并解密CSP返回的数据文件密文; CSP主要负责存储数据文件密文、关键字索引和访问用户的授权列表, 并响应访问用户的搜索请求。

Download:
图 1 本文方案的系统模型 Fig. 1 System model of the proposed model
2.2 方案描述

本文方案中各算法的描述如下:

1) Setup算法。KGC选择2个阶为素数p的乘法循环群G1G2, 1个群G1的生成元g, 1个双线性映射e:G1×G1G2, 3个防碰撞哈希函数H:{0, 1}*G1, H1:{0, 1}*G1H2:G2→{0, 1}logap; 随机选取x$\mathbb{Z}_{p}^{*}$, 保存主密钥msk=x, 并发布系统公共参数param=(g, G1, G2, e, p, H, H1, H2, gx)。

2) PatialKeyGen算法。KGC为收到的每个访问用户身份idi计算生成部分私钥pskidi=H(idi)x, 并将部分私钥pskidi通过安全信道发送给访问用户; 类似地, 身份为ids的CSP获得部分私钥pskids=H(ids)x

3) KeyGen算法。每个访问用户Ui随机选取si$\mathbb{Z}_{p}^{*}$, 计算公钥pkidi=gsi, 并设置自己的完整私钥skidi=(si, pskidi)=(si, H(idi)x); 类似地, CSP随机选取t$\mathbb{Z}_{p}^{*}$, 设置自己的完整私钥skids=(t, pskids)=(t, H(ids)x)和公钥pkids=gt

4) Enc算法。DO首先从数据文件F中提取关键字wiψ(1≤im), 此处ψ是所有关键字集合, 然后随机选取文档密钥k$\mathbb{Z}_{p}^{*}$和一个随机元素ri$\mathbb{Z}_{p}^{*}$, 计算关键词wi的加密密文Ci=(Ci1, Ci2, Ci3)=(Bi, Di, ri), 其中, Bi=H2(e(H1(wi)k·ri, pkids)), Di=gx·k, 并利用对称加密算法(如AES算法等)加密数据文件F得到相应的数据文件密文CT, 最后将关键字密文索引CF=(C1, C2, …, Cm)和CT发送至CSP。

5) Auth算法。DO初始化数据文件F的访问用户授权列表LF=Ø。对于每个访问用户, 首先利用其公钥pkidi和文档密钥k计算授权信息ΔFUi=(pkidi)k=gsik, 然后在LF中添加(pkidi, ΔFUi), 最后将更新后的访问用户授权列表LF发送至CSP。

6) Trapdoor算法。访问用户Ui首先选取搜索关键字w′∈ψ, 然后随机选取r′$\mathbb{Z}_{p}^{*}$, 计算T1=(pkids)r=gtr′, T2=(H1(w′)·H(idi)x)1/si·gr′T3=H(ids)si, 最后将搜索陷门Tw′=(T1, T2, T3)发送给CSP。

7) Search算法。当收到访问用户Ui的搜索请求后, CSP首先计算σ1=e(T2t/T1, ΔFUi)e(H(ids)x, gsi), σ2=e(T3, gxe(H(idi), Ci2t)和σ3=σ1/σ2, 然后利用每个关键字wi(1≤im)的密文Ci=(Ci1, Ci2, Ci3)来验证等式H2(σCi33)=Ci1是否成立, 若该等式成立, 则说明关键字匹配成功, 并将匹配成功的所有文档返回给Ui; 否则将匹配失败的信息发送给Ui

8) Add算法。当收到访问用户Uj对数据文件F的授权请求后, DO利用其公钥pkidj和文档密钥k计算ΔFUi=(pkidi)k=gsik, 将(pkidj, ΔFuj)提交给CSP, 并请求更新文档F的授权列表, 同时将授权成功的信息发送给访问用户Uj

9) Revoke算法。若DO想撤销访问用户Ui对数据文件F的访问授权, 则将Ui的公钥pkidi发送给CSP。收到DO的撤销请求后, CSP在LF中查找对应条目(pkidi, ΔFUi), 并将其从LF中删除。

对本文方案进行正确性分析:

CSP收到正确的关键字密文Ci=(Ci1, Ci2, Ci3)=(H2(e(H1(wi)k·ri, pkids)), gx·k, ri)和搜索陷门Tw′=(T1, T2, T3)=(gtr′, (H1(w′)·H(idi)x)1/si·gr′, H(ids)si)后, 计算:

$ \begin{aligned} \sigma_{1}=& e\left(T_{2}^{t} / T_{1}, \Delta_{F \rightarrow u_{i}}\right) e\left(H\left(i d_{s}\right)^{x}, g^{s_{i}}\right)=\\ & e\left(H_{1}\left(w^{\prime}\right), g\right)^{t k} e\left(H\left(i d_{i}\right), g\right)^{t x k} e\left(H\left(i d_{s}\right), g\right)^{s_{i} x} \\ \sigma_{2}=& e\left(T_{3}, g^{x}\right) \cdot e\left(H\left(i d_{i}\right), C_{i 2}^{t}\right)=\\ & e\left(H\left(i d_{s}\right), g\right)^{s_{i} x} \cdot e\left(H\left(i d_{i}\right), g\right)^{t x k} \\ \sigma_{3}=& \sigma_{1} / \sigma_{2}=e\left(H_{1}\left(w^{\prime}\right), g\right)^{t k} \end{aligned} $

由于H2(σCi33)=H2(e(H1(w′), g)t·k·ri)=H2(e(H1(w′)k·ri, pkids))=Ci1, 因此当关键字w′=wi时, H2(σCi33)=Ci1成立, 即CSP能成功匹配到访问用户请求的数据文件。

3 安全性证明

定理1 在BDH假设下, 本文方案在随机预言机模型下满足密文索引不可区分性。

证明:假设多项式时间攻击者$\mathcal{A}$在进行了最多qH2H2询问和qT次陷门询问后(qH2qT均为正整数), 能以不可忽略的概率ε攻破本文方案的密文索引不可区分性, 则存在一个算法$\mathcal{C}$能以不可忽略的概率ε′解决BDH问题。给定(g, u1=gα, u2=gβ, u3=gγ), $\mathcal{C}$为了计算e(g, g)αβγ, 与$\mathcal{A}$进行如下交互游戏:

1) 密钥生成。$\mathcal{C}$选择2个阶为素数p的乘法循环群G1G2, 1个群G1的生成元g, 1个双线性映射e:G1×G1G2, 3个防碰撞哈希函数:H:{0, 1}*G1, H1:{0, 1}*G1H2:G2→{0, 1}logap; 随机选取x, k, si$\mathbb{Z}_{p}^{*}$, 设置主密钥msk=x, 数据文件F的密钥k, 计算访问用户Ui的公钥pkidi=u1si和授权信息ΔFUi=u1sik, CSP的公钥pkids=u2, 并将ΔFUi, pkids和{pkidi}i=1n发送给$\mathcal{A}$。特别地, 此处暗含Ui的私钥skidi=(siα, H(idi)x)和CSP的私钥skids=(β, H(ids)x)。

2) 哈希询问。$\mathcal{A}$访问随机预言机H1H2, 获取相应的哈希值。

3) H1询问。$\mathcal{C}$建立一个元素形式为(wi, hi, ai, ci)的H1-list列表, 初始为空。当$\mathcal{A}$发起关于关键字wi∈{0, 1}*H1询问时, $\mathcal{C}$进行如下的应答:若H1-list中已有wi的对应项(wi, hi, ai, ci), $\mathcal{C}$返回H1(wi)=hi; 否则, 随机选择ai$\mathbb{Z}_{p}^{*}$, ci∈{0, 1}, 并设Pr[ci=0]=1/(qT+1)。若ci=0, 计算hi=u3·gai; 若ci=1, 计算hi=u1ai, 将hi返回给$\mathcal{A}$, 并在表中存储(wi, hi, ai, ci)。

4) H2询问。$\mathcal{C}$建立一个元素形式为(t, V)的H2-list列表, 初始为空。当A发起关于关键字索引tH2询问时, $\mathcal{C}$进行如下应答:

H2-list中已有t的对应项(t, V), $\mathcal{C}$返回对应V; 否则, $\mathcal{C}$为每一个未被询问过的t选择一个随机数V∈{0, 1}logap, 令H2(t)=V, 将V返回给$\mathcal{A}$, 并在表中存储(t, V)。

5) 陷门询问1。当收到$\mathcal{A}$选择的查询关键字wi后, $\mathcal{C}$按以下方式生成相应的搜索陷门:

wi进行H1询问, 以获取对应项(wi, hi, ai, ci)。判断ci取值, 若ci=0, 游戏终止并返回失败信息; 否则返回hi, 随机选取r′i$\mathbb{Z}_{p}^{*}$, 计算陷门T1=u2r′i, T2=(hi·H(idi)x)1/siα·gr′i=H(idi)x/siαgai/sigr′iT3=H(ids)siα, 并将Tw′=(T1, T2, T3)发送至$\mathcal{A}$

6) 挑战。当收到$\mathcal{A}$选择的挑战关键字W0W1后, $\mathcal{C}$按以下方式生成相应的关键字挑战密文:对W0W1进行H1询问, 以获取对应项(W0, h0, a0, c0)和(W1, h1, a1, c1)。判断ci取值, 若c0=1且c1=1, 游戏终止并返回失败信息; 若c0=0且c1=0, 随机选取b∈{0, 1}, 令cb=0;否则c0c1至少有一个为0。随机选取rb$\mathbb{Z}_{p}^{*}$, 定义krb=α, 从H2-list中随机选取元组(tb, Vb), 将Vb作为挑战密文发送给$\mathcal{A}$。特别地, 此处暗含tb=e(H1(wb)krb, pks)=e(H1(u3gab)α, u2)=e(g, g)αβ(γ+ab)

7) 陷门询问2。$\mathcal{A}$继续询问wj的搜索陷门, 其过程与陷门询问1基本相同, 只要求wj满足wjW0wjW1

8) 输出。$\mathcal{A}$输出对b的猜测b′∈{0, 1}, 若b′=b, 则$\mathcal{A}$攻击成功。

$\mathcal{A}$能成功猜测关键字密文的前提是向$\mathcal{C}$询问过H2-list列表中的H2(e(H1(W0)α, u2))或H2(e(H1(W1)α, u2))。因此, H2-list中存在一个元组左侧t=e(H1(wb)krb, u2)=e(g, g)αβ(γ+ab)的概率为1/2, 如果$\mathcal{C}$恰好在H2-list中选取对应项(tb, Vb), 那么tb/e(u1, u2)ab就是期望输出结果。

下面分析$\mathcal{C}$成功解决BDH假设的概率ε′。首先分析模拟过程中游戏未终止的概率, 然后计算游戏未终止且$\mathcal{C}$能正确应答的概率, 最后可得概率ε′。由上述过程可知, 游戏在陷门询问阶段和挑战阶段都有终止情况, 此处分别用ε1ε2表示C在陷门询问阶段和挑战阶段游戏未终止事件, 用ε3表示$\mathcal{A}$未询问过H2(e(H1(W0)α, u2))和H2(e(H1(W1)α, u2))这一事件。

在陷门询问阶段, $\mathcal{A}$没有重复询问关键字, 当ci=0时游戏终止。由H1询问阶段可知ci=0的概率为1/(qT+1), $\mathcal{A}$最多可以进行qT次陷门询问, 则陷门询问阶段游戏未终止的概率为Pr[ε1]≥(1-(1/(qT+1)))qT≥1/e。在挑战阶段, $\mathcal{A}$选择挑战关键字W0W1, 当c0=1且c1=1时游戏终止。根据H1询问阶段可知Pr[ci=0]=1/(qT+1)(i=0, 1), c0c1相互独立, 因此, $\mathcal{C}$在挑战阶段游戏终止概率为Pr[c0=c1=1]=(1-1/(qT+1))2≤1-1/qT, 则挑战阶段游戏未终止的概率为Pr[ε2]≥1/qT。由于ε1ε2相互独立, 因此ε1ε2同时发生的概率为Pr[ε1ε2]=Pr[ε1]·Pr[ε2]=(1/e)·(1/qT)=1/eqT, 即$\mathcal{C}$在模拟过程中游戏未终止的概率为1/eqT。由$\varepsilon \leqslant\left|\operatorname{Pr}\left(b^{\prime}=b\right)-\frac{1}{2}\right|$和Pr[b=b′]=$\operatorname{Pr}\left[b=b^{\prime} \mid \varepsilon_{3}\right] \operatorname{Pr}\left[\mid \varepsilon_{3}\right]+\operatorname{Pr}\left[b=b^{\prime} \mid \neg \varepsilon_{3}\right] \operatorname{Pr}\left[\neg \varepsilon_{3}\right] \leqslant$ $\frac{1}{2} \operatorname{Pr}\left[\varepsilon_{3}\right]+\operatorname{Pr}\left[\neg \varepsilon_{3}\right] \leqslant \frac{1}{2} \operatorname{Pr}\left[\varepsilon_{3}\right]+\operatorname{Pr}\left[\neg \varepsilon_{3}\right]=\frac{1}{2}+$ $\frac{1}{2} \operatorname{Pr}\left[\neg \varepsilon_{3}\right]$可以得到P$\operatorname{Pr}\left[\neg \varepsilon_{3}\right] \geqslant 2 \varepsilon$, 即$\mathcal{A}$询问过H2(e(H1(W0)α, u2))或H2(e(H1(W1)α, u2))的概率至少为2ε

假设$\mathcal{C}$在模拟过程中没有终止, 当$\mathcal{A}$询问过H2(e(H1(W0)α, u2))或H2(e(H1(W1)α, u2))时, $\mathcal{C}$可以完美模拟真实的攻击游戏。由$\operatorname{Pr}\left[\neg \varepsilon_{3}\right] \geqslant 2 \varepsilon$可知$\mathcal{A}$询问过H2(e(H1(wb)α, u2))的概率至少为ε, 即在H2-list中存在一个元组左侧tb=e(H1(wb)α, u2)的概率至少为ε$\mathcal{A}$最多可以进行qH2H2询问, $\mathcal{C}$恰好从H2-list中选出对应项的概率至少为1/qH2。因此, 模拟过程中游戏未终止且$\mathcal{C}$能正确应答的概率至少为ε/qH2

通过上述分析可知, 因为游戏不终止概率为1/eqT, 所以$\mathcal{C}$成功输出e(g, g)αβγ概率至少为ε′=(1/eqT)·(ε/qH2)=ε/eqTqH2, 此处eqTqH2是安全参数下的多项式。由BDH假设可知ε′是一个可忽略函数, 因此, 敌手$\mathcal{A}$攻破本文方案的优势ε也是一个可忽略的函数, 即没有敌手能在多项式时间内以不可忽略的优势攻破本文方案。

定理2 在mDDH假设下, 本文方案在随机预言机模型下对外部敌手满足陷门不可区分性。

证明:假设多项式时间攻击者$\mathcal{A}$在进行了最多qT次(qT为正整数)陷门询问后, 能以不可忽略的概率ε攻破本文方案的陷门不可区分性, 则存在一个算法$\mathcal{C}$能以不可忽略的概率ε′解决mDDH问题。给定(g, gα, gβ, g1/α, R), $\mathcal{C}$为了区分Rgα/β还是G1中的一个随机元素, 与$\mathcal{A}$进行如下交互游戏:

1) 密钥生成。$\mathcal{C}$选择2个阶为素数p的乘法循环群G1G2, 1个群G1的生成元g, 1个双线性映射e:G1×G1G2, 3个防碰撞哈希函数:H:{0, 1}*G1, H1:{0, 1}*G1H2:G2→{0, 1}logap。随机选取x, si, s′∈$\mathbb{Z}_{p}^{*}$, 设置主密钥msk=x, 计算合法访问用户公钥pkidi=u1si, 服务器公钥pkids=u2s, 并将(pkidi, pkids)发送给$\mathcal{A}$。特别地, 此处暗含合法访问用户私钥skidi=αs和服务器私钥skids=βs′。

2) 哈希询问。此过程与定理1的H1询问基本相同, 只要求若ci=0, 计算hi=u1aiG1; 若ci=1, 计算hi=gaiG1

3) 陷门询问1。其过程与定理1的陷门询问1相同。

4) 挑战。此过程与定理1的挑战阶段基本相同, 只要求rb=α/β, 计算T1*=gβs′·α/β=gαs′=u1s, T2*=(hi·H(idi)x)1/·gr′i=H(idi)x/sα·gab/s·gα/β, T3*=H(idu)x/sα·H(ids)1/, 定义T2*=H(idu)x/sα·gab/s·R, 将挑战陷门Twb=(T1*, T2*, T3*)发送给$\mathcal{A}$

5) 陷门询问2。此过程与定理1的陷门询问2相同。

6) 输出。$\mathcal{A}$输出对b的猜测b′∈{0, 1}, 若b′=b, 则A攻击成功。

分析$\mathcal{C}$能解决mDDH问题的概率ε′。首先计算游戏未终止概率, 在陷门询问阶段和挑战阶段都有终止情况。通过上述分析可知, 游戏终止条件与定理1相同, 终止概率也应相同, 即$\mathcal{C}$在游戏过程中未终止概率为1/eqT。然后计算$\mathcal{C}$在游戏过程中未终止, $\mathcal{A}$成功攻破本文方案的概率ε′=ε/eqT。最后, 由mDDH假设是公认困难问题可得ε′是一个可忽略函数, 那么$\mathcal{A}$攻破方案的概率ε=ε′eqT也应该是一个可忽略函数, 即没有敌手能在多项式时间内以不可忽略的优势攻破方案。

4 性能分析

将本文方案与文献[7, 18]提出可搜索加密方案进行计算开销的比较, 如表 1所示。为便于表述, 用E1表示G1上的一次指数运算, h1h2分别表示哈希函数H1H2的一次运算, P表示一次双线性配对运算。可以看出:在密钥生成阶段, 本文方案较文献[18]方案减少了5次指数运算, 但较文献[7]增加了2次指数运算; 在关键字加密阶段, 本文方案较文献[18]减少了6次指数运算, 但增加了1次H2运算以及1次配对运算; 在陷门生成阶段, 本文方案较文献[18]减少了3次指数运算, 但较文献[7]增加了1次指数运算; 在搜索验证阶段, 本文方案较文献[18]减少了1次指数运算, 增加了1次H2运算, 较文献[7]减少了1次指数运算, 增加了3次配对运算。由于文献[7]方案面临证书的管理开销问题, 而文献[18]方案仅支持单用户的密文检索, 因此本文方案具有较高的计算效率和安全性能。

下载CSV 表 1 3种方案各阶段的计算开销 Table 1 Computational overhead of three schemes in each stage

利用PBC库对3种方案进行仿真实验, 如图 2图 3所示。硬件环境为:3.1 GHz英特尔酷睿i5-2400处理器, 4 GB内存, 512 GB硬盘空间。软件环境为:64位Windows 10操作系统, 密码库PBC-0.4.7 -VC。

Download:
图 2 单个关键字情况下3种方案的计算性能 Fig. 2 Computational performance of three schemes in the case of a single keyword
Download:
图 3 多个关键字情况下3种方案的计算性能 Fig. 3 Computational performance of three schemes in the case of multiple keywords

图 2所示为单个关键字情况下3种方案密钥生成、关键字加密、关键字陷门生成以及搜索阶段的计算开销。同时, 从数据集中分别选取10个、20个、50个、100个关键字对3种方案的关键字加密算法、陷门生成算法以及搜索算法进行计算开销分析, 如图 3所示。其中, 图 3(a)反映了关键字加密时间随关键字数量的变化, 图 3(b)反映了陷门生成时间随关键字数量的变化, 图 3(c)反映了搜索时间随关键字个数的变化。由图 2图 3可知, 本文方案在密钥生成、关键字加密、关键字陷门生成以及搜索阶段具有一定的计算优越性。

5 结束语

本文基于无证书密码体制提出一种新的公钥可搜索加密方案, 其安全性依赖于BDH假设和mDDH假设, 并且在关键字加密阶段无需指定用户访问权限, 支持多用户密文检索, 可通过授权列表实现了用户的加入与撤销等功能。分析结果表明, 与文献[7, 18]提出的可搜索加密方案相比, 该方案具有较高的计算性能, 适用于多用户的云端密文检索环境。本文方案在随机预言模型下是可证明安全的, 下一步将在本文标准模型下设计基于无证书的多用户密文检索方案。

参考文献
[1]
KHAN N A, PANCHAL V K, TANWEER S. Comprehensive analysis of data storage security in cloud[J]. Global Sci-Tech, 2019, 11(2): 82-92. DOI:10.5958/2455-7110.2019.00012.0
[2]
LIU S, GUO L, WEBB H, et al. Internet of things monitoring system of modern eco-agriculture based on cloud computing[J]. IEEE Access, 2019, 7: 37050-37058. DOI:10.1109/ACCESS.2019.2903720
[3]
ZHANG Jiale, ZHAO Yanchao, CHEN Bing, et al. Survey on data security and privacy-preserving for the research of edge computing[J]. Journal on Communications, 2018, 39(3): 1-21. (in Chinese)
张佳乐, 赵彦超, 陈兵, 等. 边缘计算数据安全与隐私保护研究综述[J]. 通信学报, 2018, 39(3): 1-21.
[4]
FAN Yongkai, LIN Xiaodong, TAN Gang, et al. One secure data integrity verification scheme for cloud storage[J]. Future Generation Computer Systems, 2019, 96: 376-385. DOI:10.1016/j.future.2019.01.054
[5]
DONG Xiaolei, ZHOU Jun, CAO Zhenfu. Research advances on secure searchable encryption[J]. Journal of Computer Research and Development, 2017, 54(10): 2107-2120. (in Chinese)
董晓蕾, 周俊, 曹珍富. 可搜索加密研究进展[J]. 计算机研究与发展, 2017, 54(10): 2107-2120.
[6]
LI Ying, MA Chunguang. Overview of searchable encryption research[J]. Chinese Journal of Network and Information Security, 2018, 4(7): 13-21. (in Chinese)
李颖, 马春光. 可搜索加密研究进展综述[J]. 网络与信息安全学报, 2018, 4(7): 13-21.
[7]
ZUO Xinxin.Research on multi-user searchable encryption scheme in cloud environment[D].Chengdu: University of Electronic Science and Technology, 2018.(in Chinese)
左欣欣.云环境下多用户可搜索加密方案研究[D].成都: 电子科技大学, 2018.
[8]
SONG D X, WAGNER D, PERRIG A.Practical techniques for searches on encrypted data[C]//Proceedings of 2000 IEEE Symposium on Security and Privacy.Washington D.C., USA: IEEE Press, 2000: 44-55.
[9]
CUI Jie, ZHOU Han, XU Yan, et al. OOABKS:online/offline attribute-based encryption for keyword search in mobile cloud[J]. Information Sciences, 2019, 489: 63-77. DOI:10.1016/j.ins.2019.03.043
[10]
LI Jingwei, JIA Chunfu, LIU Zheli, et al. Survey on the searchable encryption[J]. Journal of Software, 2015, 26(1): 109-128. (in Chinese)
李经纬, 贾春福, 刘哲理, 等. 可搜索加密技术研究综述[J]. 软件学报, 2015, 26(1): 109-128.
[11]
BONEH D, DI CRESCENZO G, OSTROVSKY R, et al.Public key encryption with keyword search[C]//Proceedings of International Conference on the Theory and Applications of Cryptographic Techniques.Berlin, Germany: Springer, 2004: 506-522.
[12]
BEAK J, SAFAVI-NAINI R, SUSILO W.Public key encryption with keyword search revisited[C]//Proceedings of 2008 International Conference on Computational Science and Its Applications.Berlin, Germany: Springer, 2008: 1249-1259.
[13]
GUO Yuyan, JIANG Mingming, SONG Wangan. Provably secure certificate-based encryption with leakage resilience[J]. Journal of Huaibei Normal University(Natural Science), 2019, 40(1): 19-25. (in Chinese)
郭宇燕, 江明明, 宋万干. 可证明安全的弹性泄漏基于证书加密方案[J]. 淮北师范大学学报(自然科学版), 2019, 40(1): 19-25.
[14]
VERMA S.A new lightweight approach for multiuser searchable encryption in the cloud[C]//Proceedings of International Conference on Communication, Networks and Computing.New York, USA: ACM Press, 2019: 49-63.
[15]
NI Lülin, XU Chungen. Dynamic searchable encryption scheme based on identity[J]. Computer Engineering, 2019, 45(1): 136-140. (in Chinese)
倪绿林, 许春根. 基于身份的动态可搜索加密方案[J]. 计算机工程, 2019, 45(1): 136-140.
[16]
ZHU Minhui, CHEN Yanli, HU Yuanyuan. Identity-based searchable encryption scheme supporting proxy re-encryption[J]. Computer Engineering, 2019, 45(1): 129-135. (in Chinese)
朱敏惠, 陈燕俐, 胡媛媛. 支持代理重加密的基于身份可搜索加密方案[J]. 计算机工程, 2019, 45(1): 129-135.
[17]
PENG Jiangtao, CUI Changgen, PENG Changgen, et al. Certificateless public key encryption with keyword search[J]. China Communications, 2014, 11(11): 100-113. DOI:10.1109/CC.2014.7004528
[18]
WU Qiying, MA Jianfeng, LI Hui, et al. Certificateless conjunctive keyword search over encrypted data[J]. Journal of Xidian University(Natural Science), 2017, 44(3): 55-60. (in Chinese)
伍祈应, 马建峰, 李辉, 等. 无证书连接关键字密文检索[J]. 西安电子科技大学学报(自然科学版), 2017, 44(3): 55-60.
[19]
CAO Qiang, LI Yanping, LIU Qingqing, et al. Certificateless conjunctive keyword search on encrypted data in cloud storage[J]. Journal of Shaanxi Normal University(Natural Science Edition), 2019, 47(5): 115-124. (in Chinese)
曹强, 李艳平, 刘青青, 等. 云存储中无证书连接关键词密文检索[J]. 陕西师范大学学报(自然科学版), 2019, 47(5): 115-124.
[20]
DENG Xiaoyan, CHENG Hao, SUN Bo, et al. ID-based deletion searchable encryption scheme[J]. IOP Conference Series:Earth and Environmental Science, 2019, 234(1): 12-52.