211287364_一个无安全信道的无证书公钥可搜索加密方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
doi:10 11920/xnmdzk 2023 03 011
一个无安全信道的无证书公钥可搜索加密方案
孙莹莹1ꎬ2ꎬ刘晓光1ꎬ2ꎬ3ꎬ刁颖颖3ꎬ谯小康1
(1.西南民族大学计算机科学与工程学院ꎬ四川成都㊀610041ꎻ2.广西密码学与信息安全重点实验室ꎬ广西桂林㊀541004ꎻ
3.西南民族大学数学学院ꎬ四川成都㊀610041)
摘㊀要:数据通常被加密后存储至云服务器ꎬ尽管这样可以保证数据的安全ꎬ但限制了用户对密文的搜索ꎬ公钥可搜索加密技术(PEKS)应运而生.结合无证书公钥密码学体制ꎬ提出了一种无证书轻量级可认证的无安全信道PEKS方案.该方案在随机预言模型下被证明是安全的.分析结果表明ꎬ推出的方案在安全性㊁计算成本和通信成本方面具有更好的综合性能.
关键词:无安全信道ꎻ无双线性对ꎻ无证书ꎻ公钥可搜索加密中图分类号:TP309.7㊀㊀㊀㊀㊀㊀㊀㊀㊀
文献标志码:A㊀㊀㊀㊀㊀㊀㊀㊀㊀文章编号:2095 ̄4271(2023)03 ̄0312 ̄11
收稿日期:2022 ̄09 ̄22
通信作者:刘晓光(1985 ̄)ꎬ男ꎬ甘肃定西人ꎬ副教授ꎬ博士ꎬ研究方向:密码学㊁信息安全.E ̄mail:21700128@swun.edu.cn
基金项目:四川省科技计划项目(2023NSFSC0471)ꎻ广西密码与信息安全重点实验室基金(GCIS202121)ꎻ国家外专项目
(DL2022186001L)ꎻ西南民族大学中央高校基本科研业务费专项资金项目(2021NYYXS64)
Acertificatelesspublickeysearchableencryptionschemewithoutsecurechannel
SUNYing ̄ying1ꎬ2ꎬLIUXiao ̄guang1ꎬ2ꎬ3ꎬDIAOYing ̄ying3ꎬQIAOXiao ̄kang1
(1.SchoolofComputerScienceandEngineeringꎬSouthwestMinzuUniversityꎬChengdu610041ꎬChinaꎻ2.GuangxiKeyLaboratory
ofCryptographyandInformationSecurityꎬGuangxi541004ꎬChinaꎻ3.SchoolofMathematicsꎬSouthwestMinzuUniversityꎬ
Chengdu610041ꎬChina)
Abstract:Dataisencryptedandstoredonacloudserverꎻitcanensuredatasecurityꎬbutlimitsusers searchforciphertext.Sothepublickeysearchableencryptiontechnology(PEKS)cameintobeing.ThispaperproposedalightweightandauthenticatablePEKSschemewithoutsecurechannelꎬwhichiscombinedwithcertificatelesspublickeycryptography.Theschemewasprovedtobesecureundertherandomoraclemodel.Theanalysisresultsshowedthattheproposedschemehadbettercomprehensiveper ̄formanceintermsofsecurityꎬcomputationcostandcommunicationcost.
Keywords:freesecurechannelꎻfreepairingꎻcertificatelessꎻpublickeysearchableencryption
㊀㊀众所周知ꎬ加密技术可以增强数据的安全性ꎬ却限制了用户对数据的高效搜索和共享.一个不理想的解决方案是用户首先下载所有加密数据ꎬ待全部解密后进行搜索操作.但随着数据规模的不断增大ꎬ计算和通信成本会呈指数级增加.为解决这个问题ꎬ基于对称加密的可搜索方案首先被提出[1].然而ꎬ一个棘手问题是如何秘密地将密钥分发给授权用户[2].此外ꎬ该类方案不可避免地会消耗大量的计算和通信成本.
2004年ꎬBoneh等人[3]给出了第一个PEKS方案.此方案实现了Bob通过云服务器向Alice发送文档ꎬ具体
过程如下:Bob首先从文档中提取关键字ꎬ并用Alice的公钥加密ꎬ生成关键字密文并上传至服务器.Alice使用
313
㊀
第3期孙莹莹ꎬ等:一个无安全信道的无证书公钥可搜索加密方案
其私钥加密关键字生成陷门ꎬ并将生成的陷门发送至服务器.最后ꎬ服务器对接收到的关键字密文和陷门进行测试.如果二者包含的关键字相同ꎬ服务器将把包含该关键字的文档发送给Alice.然而ꎬBaek等人[4]指出方案[3]为了保证陷门的安全性ꎬ需要通过高消耗的安全信道将陷门传输至服务器.因此ꎬ他们提出了一个无安全信道的PEKS方案(SCF-PEKS).该方案中ꎬ云服务器的公㊁私钥分别参与密文的生成与测试算法.Yau等人[5]指出方案[4]容易受到离线关键字猜测攻击.这是因为用户通常使用常见的关键字来进行搜索操作ꎬ关键字是在一个很小的空间中选择的[6].Rhee等人[7]设计了一个增强的SCF-PEKS方案ꎬ但此方案只考虑了外部关键字猜测攻击(OKGA)ꎬ却不能抵抗内部关键字猜测攻击(IKGA).Xu等人[8]提出了模糊关键字PEKS方案.在该方案中ꎬ每个关键字对应一个精确的关键字搜索陷门和一个模糊的关键字搜索陷门ꎬ但该方案也只能抵抗OKGA.Lu等人[9]提出了一个基于证书的SCF-PEKS方案.此方案可有效抵抗IKGAꎬ却引入了繁琐的证书管理问题.Li等人[10]提出了一个基于身份的SCF-PEKS方案.该方案解决了证书管理问题ꎬ却存在密钥托管问题.Pa ̄kniat[11]提出了一个无证书的SCF-PEKS方案ꎬ有效地解决了证书管理和密钥托管问题.然而ꎬMiao等人[12]指出ꎬ大多数现有的PEKS方案仍然容易受到IKGA攻击ꎬ这意味着内部敌手可以成功地猜测出候选关键字.2019年ꎬZhang等人[13]提出了无证书公钥认证的SCF-PEKS方案.2021年ꎬLu等人[14]提出了轻量级公钥认证PEKS方案.此类基于认证的方案通过验证发送者的身份ꎬ可有效抵抗IKGA和OKGA.
遗憾的是ꎬ现有的许多无安全通道PEKS方案都依赖于高消耗的双线性对.本文中ꎬ我们将提出一个无证书轻量级可认证的无安全信道PEKS方案(SCF-PAEKS)ꎬ主要贡献如下:1)方案基于无证书密码学ꎬ不存在证书管理和密钥托管问题ꎻ2)使用标量乘法代替高成本的双线性对ꎬ具有更高的效率ꎻ3)为了增强方案的安全性ꎬ我们在加密方案中不仅输入数据接受者的公钥ꎬ还输入数据拥有者的公钥ꎬ使得数据接收者可以验证数据拥有者的身份ꎻ4)对所推出的方案进行了性能分析ꎬ并在随机预言模型下证明了方案的安全性.
1㊀预备知识
㊀㊀下面将给出本文算法安全性所基于的困难问题和基本系统模型.
图1㊀SCF-PAEKS系统模型
Fig.1㊀SCF-PAEKSsystemmodel
1.1㊀椭圆曲线Diffie-Hellman问题
设G是椭圆曲线上的点组成的加法循环群ꎬ其阶数为素数q.P是G的生成元.下面将分别给出椭圆曲线Diffie-Hellman(CDH)问题和决策Diffie-Hellman(DDH)问题的定义.
定义1(CDH):给出三元组(PꎬaPꎬbP)ɪGꎬ其中aꎬbɪZp∗ꎬ计算abP是困难问题.
定义2(DDH):给出四元组(PꎬaPꎬbPꎬcP)ꎬ其中aꎬbꎬcɪZp∗ꎬ确定c是否等于ab是困难问题.
413
西南民族大学学报(自然科学版)第49卷1.2㊀系统模型
如图1所示ꎬSCF-PAEKS方案的系统模型主要由四个实体组成:密钥生成中心(KGC)㊁云服务器㊁数据拥有者和数据接收者.每个实体的工作方式如下:
1)KGC:它是一个半可信的第三方ꎬ可以生成系统主密钥以及数据拥有者㊁数据接收者和云服务器的部分私钥.同时ꎬKGC负责公布系统参数.
2)数据拥有者:他/她的加密信息分为两部分.首先ꎬ他/她使用自己的私钥加密数据并生成密文ꎬ同时从数据中提取关键词.其次ꎬ数据拥有者使用提出的SCF-PAEKS方案对关键字进行加密ꎬ生成关键字密文ꎬ并将密文上传到云服器.
3)数据接收者:他/她使用其私钥㊁数据拥有者的公钥和云服务器的公钥为他/她想要搜索的关键字生成陷门ꎬ并将陷门发送给云服务器.
4)云服务器:存储和处理数据的半可信第三方.它利用自己的私钥测试数据所有者发送的关键字密文与数据接收者发送的陷门.如果二者包含相同的关键字ꎬ它会将相应的信息返回给数据接收者.
2㊀SCF-PAEKS方案
表1㊀符号定义
Table1㊀Symboldefinition
符号定义
G加法循环群
G1乘法循环群
G2乘法循环群
q素数阶
p生成元
λ安全参数
s系统主密钥
IDi身份
Hi哈希映射
dID
i部分私钥
SKIDi私钥
PKIDi公钥
rIDiꎬxIDi随机值
㊀㊀该方案由以下八个多项式时间算法组成.我们分别定义数据拥有者㊁数据接收者和云服务器的身份为IDO㊁IDR和IDS.算法中所使用的符号见表1.
2.1㊀初始化
给定一个安全参数λꎬKGC选择一个阶为q的加法循环群GꎬP是G的生成元.KGC选择随机值sɪZq∗作为系统主密钥ꎬ并计算Ppub=sP作为系统公钥.KGC选择三个不同的哈希函数:H1:{0ꎬ1}∗ˑGңZq∗ꎬH2:GˑGˑGˑGˑGң{0ꎬ1}∗ꎬH3:{0ꎬ1}∗ˑ{0ꎬ1}∗ңZq∗.KGC保密系统主密钥sꎬ并公开系统参数params={λꎬGꎬqꎬPꎬPpubꎬH1ꎬH2ꎬH3}.
第3期孙莹莹ꎬ等:一个无安全信道的无证书公钥可搜索加密方案㊀
2.2㊀设置部分私钥
KGC将执行以下步骤:
1)输入数据拥有者的身份IDOɪ{0ꎬ1}∗.KGC选择随机值rIDOɪZq
∗
计算ꎬ并计算QIDO=rIDOPꎬμIDO=
H1(IDOꎬQIDO)ꎬ和dIDO=rIDO+sμIDO(modq).KGC返回QIDOꎬμIDO和dIDO给数据拥有者.2)输入数据接收者的身份IDRɪ{0ꎬ1}∗.KGC选择随机值rIDRɪZq∗
ꎬ并计算QIDR=rIDRPꎬμIDR=
H1(IDRꎬQIDR)和dIDR=rIDR+sμIDR(modq).KGC返回QIDRꎬμIDR和dIDR给数据接收者.3)输入云服务器的身份IDSɪ{0ꎬ1}∗.KGC选择随机值rIDSɪZq∗ꎬ并计算QIDS=rIDSPꎬμIDS=H1(IDSꎬ
QIDS)和dIDS=rIDS+sμIDS(modq).KGC返回QIDSꎬμIDS和dIDS给云服务器.
2.3㊀设置秘密值
输入IDOɪ0ꎬ1{}∗ꎬIDRɪ0ꎬ1{}∗和IDSɪ0ꎬ1{}∗.
1)数据拥有者选择随机值xIDOɪZq∗作为自己的秘密值.
2)数据接收者选择随机值xIDRɪZq
∗
作为自己的秘密值.
3)云服务器选择随机值xIDSɪZq
∗
作为自己的秘密值.
2.4㊀设置私钥
1)数据拥有者设置SKIDO=(SKIDO1ꎬSKIDO2)=(xIDOꎬdIDO)作为自己的私钥.2)数据接收者设置SKIDR=(SKIDR1ꎬSKIDR2)=(xIDRꎬdIDR)作为自己的私钥.3)云服务器设置SKIDS=(SKIDS1ꎬSKIDS2)=(xIDSꎬdIDS)作为自己的私钥.
2.5㊀设置公钥输入系统参数paramsꎬ并分别输入数据拥有者的秘密值ꎬ数据接收者的秘密值和云服务器的秘密值xIDOꎬ
xIDR和xIDS.
1)数据拥有者计算YIDO=xIDOPꎬ将PKIDO=(PKIDO1ꎬPKIDO2)=(YIDOꎬQIDO)设置为自己的公钥.2)数据接收者计算YIDR=xIDRPꎬ将PKIDR=(PKIDR1ꎬPKIDR2)=(YIDRꎬQIDR)设置为自己的公钥.3)云服务器计算YIDS=xIDSPꎬ将PKIDS=(PKIDS1ꎬPKIDS2)=(YIDSꎬQIDS)设置为自己的公钥.2.6㊀SCF-PAEKS方案
输入paramsꎬSKIDOꎬPKIDR和PKIDS.数据拥有者按照下列步骤加密关键字w:
1)数据拥有者选择随机值r1ɪZq∗
.
2)数据拥有者计算:
θ1=H2(SKIDO1 PKIDR1ꎬPKIDRꎬPKIDO)ꎬ(1)K1=H3(wꎬθ1)ꎬC1=r1Pꎬ(2)C2=C1+K1 SKIDO2
-1
(PKIDO2+μIDOPpub)ꎬ
(3)C3=r1(YIDS+QIDS+μIDSPpub).(4)
数据拥有者返回C=(C1ꎬC2ꎬC3).
2.7㊀陷门
输入paramsꎬSKIDRꎬPKIDO和PKIDS.数据接收者按照如下步骤生成陷门Tw:
1)数据接收者选择随机值r2ɪZq∗
.
2)数据接收者计算:
θ2=H2(SKIDR1 PKIDO1ꎬPKIDRꎬPKIDO)ꎬ(5)K2=H3(w'ꎬθ2)ꎬT1=r2Pꎬ(6)T2=(K2+r2)SKIDR2
-1
(PKIDR2+μIDRPpub)ꎬ
(7)
5
13
西南民族大学学报(自然科学版)第49卷
T3=r2(YIDS+QIDS+μIDSPpub).(8)
数据接收者返回陷门Tw'=(T1ꎬT2ꎬT3).
2.8㊀测试
输入paramsꎬTw'ꎬSKIDS和关键字密文C.云服务器验证等式C2(xIDS+dIDS)-C3=T2(xIDS+dIDS)+T3((xIDS+dIDS)-1-1)-T1是否成立.如果成立ꎬ输出1ꎬ否则ꎬ输出0.正确性验证:Twᶄ是关键字wᶄ的陷门ꎬw是密文C中的关键字.我们知道
㊀㊀㊀㊀㊀θ1=H2(SKIDO1 PKIDR1ꎬPKIDRꎬPKIDO)=H2(xIDO YIDRꎬPKIDRꎬPKIDO)=H2(xIDO xIDR PꎬPKIDRꎬPKIDO)=H2(SKIDR1 PKIDO1ꎬPKIDRꎬPKIDO)=θ2.
(9)
㊀㊀㊀㊀
㊀C2(xIDS+dIDS)-C3㊀
=(C1+K1 SKIDO2
-1
(PKIDO2+μIDOPpub))(xIDS+dIDS)-C3=
r1P(xIDS+dIDS)+K1P(xIDS+dIDS)-C3=K1(YIDS+QIDS+μIDSPpub).
(10)
和
㊀㊀T2(xIDS+dIDS)+T3((xIDS+dIDS)-1-1)-T1=
(K2+r2)SKIDR2
-1
(PKIDR2+μIDRPpub)(xIDS+dIDS)+T3((xIDS+dIDS)-1-1)-T1=
(K2+r2)P(xIDS+dIDS)+r2(YIDS+QIDS+μIDSPpub)((xIDS+dIDS)-1-1)-T1=(K2+r2)P(xIDS+dIDS)+r2P-r2(YIDS+QIDS+μIDSPpub)-T1=K2(YIDS+QIDS+μIDSPpub).
(11)由于θ1=θ2ꎬ故若w=wᶄꎬ则K1=K2.因此有:
C2(xIDS+dIDS)-C3=T2(xIDS+dIDS)+T3((xIDS+dIDS)-1-1)-T1.
(12)
3㊀安全证明
㊀㊀在本节中ꎬ我们首先给出SCF-PAEKS方案的安全模型.随后对所提出方案进行安全性分析.分析结果表明ꎬ在随机预言模型下ꎬ该方案可有效抵抗IKGA且此方案满足密文不可区分性.
3.1㊀安全模型
在无证书密码系统的自适应性选择密文攻击游戏中ꎬ我们定义了挑战者C分别与外部敌手A1ꎬ内部敌手
A2之间的攻击博弈.外部敌手A1可以任意替换用户的公钥ꎬ但不能获取系统主密钥.内部敌手A2ꎬ通常指半可信云服务器.它可以获得系统主密钥ꎬ但不能替换用户的公钥.
游戏1:这是一个挑战者C与外部敌手A1之间的互动.
初始化:给定安全参数λꎬC运行系统算法产生参数params和系统主密钥s.C保密sꎬ并把params发送给A1.
哈希查询:C允许A1查询哈希预言并返回哈希值.
部分私钥查询:A1对身份ID进行查询ꎬC计算该身份的部分私钥dID并将其返回给A1.私钥查询:A1对身份ID进行查询ꎬC计算相应的私钥SKID返回给A1.公钥查询:A1对身份ID进行查询ꎬC将相应的公钥PKID返回给A1.替换公钥查询:A1选择新的公钥PKᶄID用于替换原始公钥PKID.
陷门查询:A1对身份IDO㊁IDS及关键字w进行查询ꎬC生成陷门Tw并返回给A1.挑战:A1选择未执行过陷门查询的w0和w1作为挑战关键字.C随机选择bᶄɪ{0ꎬ1}ꎬ然后通过执行算法生成关键字密文wb并发送给A1.
更多查询:A1可继续执行以上阶段查询(w0和w1陷门查询除外).
猜测:A1给出猜测结果bᶄɪ{0ꎬ1}.若bᶄ=bꎬ则A1挑战成功.A1挑战成功的优势定义为:
6
13
第3期孙莹莹ꎬ等:一个无安全信道的无证书公钥可搜索加密方案㊀
Adv(A1)=
Prbᶄ=b[]-1/2.
(13)
游戏2:这是一个挑战者C与内部敌手A2之间的互动.
初始化:给定安全参数λꎬC运行系统算法产生参数params和系统主密钥sꎬ并把它们发送给A2.查询:除提取私钥查询和替换公钥查询外ꎬA2可执行与游戏1相同的查询.挑战:A2选择未执行过陷门查询的w0和w1作为挑战关键字.C随机选择bᶄɪ{0ꎬ1}ꎬ然后通过执行算法生成关键字密文wb并发送给A2.
更多查询:A2可继续执行以上阶段询问(w0和w1陷门查询除外).猜测:A2给出猜测结果bᶄɪ{0ꎬ1}.若bᶄ=bꎬ则A2挑战成功.A2挑战成功的优势定义为:
Adv(A2)=
Prbᶄ=b[]-1/2.
(14)
定义3:如果没有敌手以不可忽略的优势Adv(A1)和Adv(A2)赢得游戏ꎬ说明所提出的SCF-PAEKS方案在抵抗IKGA时是语义安全的.3.2㊀证明
定理1:假设CDH是困难问题ꎬ则所提出的SCF-PAEKS方案在随机语言模型中是语义安全的.这个定理可由以下两个引理证明.
引理1:假设有一个外部敌手A1以不可忽略的优势ε赢得SCF-PAEKS方案.我们必须构造一个算法C以不可忽略优势:
εᶄ⩾2εqH11-1
qH1
()
qE+qS+qT
.(15)
来解决CDH问题ꎬ其中qH1ꎬqEꎬqSꎬqT分别表示H1查询ꎬ部分私钥查询ꎬ秘密值查询ꎬ陷门查询的最大查询次数.
证明:假设(PꎬaPꎬbP)是CDH问题随机生成的一个实例ꎬ那么算法C通过与敌手A1交互来模拟挑战者.
初始化:C随机选择IDI1£I£qH1()作为挑战者身份.然后C执行算法计算系统公钥Ppub=aP和系统参params=
λꎬGꎬqꎬPꎬP
pub
ꎬH1ꎬH2ꎬH3{}.最后ꎬC返回params给A1.
H1查询:C维护一张LH1列表(IDiꎬQIDiꎬμIDi)ꎬ当收到A1关于(IDiꎬQIDi)的查询时ꎬ若(IDiꎬQIDiꎬμIDi)已存
在于LH1ꎬ则C返回μIDi.否则ꎬC选择随机值μIDiɪZq
∗
ꎬ将其返回给A1ꎬ并将(IDiꎬQIDiꎬμIDi)加入LH1.
H2查询:C维护一张LH2列表(SKIDj1 PKIDi1ꎬPKIDjꎬPKIDiꎬθi)ꎬ当收到A1关于(SKIDj1 PKIDi1ꎬPKIDjꎬPKIDi)
的查询时ꎬ若(SKIDj1 PKIDi1ꎬPKIDjꎬPKIDiꎬθi)已经存在于LH2ꎬ则C返回θi.否则ꎬC随机选择θiɪZq∗ꎬ将其返回给A1ꎬ并将(SKIDj1 PKIDi1ꎬPKIDjꎬPKIDiꎬθi)加入LH2.H3查询:C维护一张LH3列表(wiꎬθiꎬki)ꎬ当收到A1关于(wiꎬθi)的查询时ꎬ若(wiꎬθiꎬki)已经存在于LH3ꎬ则C返回ki.否则ꎬC随机选择kiɪZq
∗
将其返回给A1ꎬ并将(wiꎬθiꎬki)加入LH3.
部分私钥查询:C维护一张Lp1列表(IDiꎬQIDiꎬdIDi).当收到A1关于IDi的查询时ꎬ若IDi=IDIꎬC终止算
法(这个过程由E1表示).否则ꎬC随机选择dIDiɪZq∗
ꎬ将其返回给A1ꎬ并将(IDiꎬQIDiꎬdIDi)加入Lp1.
秘密值查询:C维护一张Lp2列表(IDiꎬxIDi).当收到A1关于IDi的查询时ꎬ若IDi=IDIꎬC终止算法(这个
过程由E2表示).否则ꎬC随机选择xIDiɪZq∗
ꎬ并查询Lp1列表(IDiꎬQIDiꎬdIDi).最后ꎬC将SKIDi=(xIDiꎬdIDi)
返回给A1ꎬ并将(IDiꎬxIDi)加入Lp2.
提取公钥查询:C维护一张Lp3列表(IDiꎬQIDi
ꎬYIDi).当收到A1关于IDi的查询时ꎬ若(IDiꎬQIDi
ꎬYIDi)已经
存在于Lp3ꎬC返回PKIDi=(QIDiꎬYIDi).否则ꎬC分别查询LH1列表(IDiꎬQIDi
ꎬμIDi)和Lp2列表(IDiꎬxIDi)ꎬ并计算YIDi=xIDiP.最后ꎬC返回PKIDi=(QIDiꎬYIDi)给A1ꎬ并将(IDiꎬQIDi
ꎬYIDi)加入Lp3.
公钥替换查询:当收到A1关于(IDiꎬQIDi
ꎬYIDi)查询时ꎬC分别用QᶄIDi和YᶄIDi去替换QIDi和YIDiꎬ并更新Lp3
7
13
西南民族大学学报(自然科学版)第49卷
列表(IDiꎬQIDi
ꎬYIDi).
陷门查询:当收到A1关于IDi的陷门查询时ꎬ若IDi=IDIꎬC终止算法(这个过程由E3表示).否则ꎬC随
机选择r2ɪZq
∗
并计算T2=r2P.然后ꎬC查询LH3列表(wiꎬθiꎬki)和LH2列表(SKIDj1 PKIDi1ꎬPKIDjꎬPKIDiꎬθi)ꎬ
计算K2=H3(kiꎬθi)㊁T2=(K2+r2)SKIDi2-1
(PKIDi2+αIDiPpub)和T3=r1(YIDS+QIDS+μIDSPpub).最后ꎬC返
回Tw'=(T1ꎬT2ꎬT3)给A1.挑战:A1给出身份为ID∗的挑战关键字w0和w1.若ID∗ʂIDIꎬC终止算法(这个过程由E4表示).否则ꎬ
C首先选择随机值r1ɪZq
∗
并计算C1=r1P.然后ꎬC查询LH3列表(wiꎬθiꎬki)和LH2列表(SKIDj1 PKIDi1ꎬ
PKIDjꎬPKIDiꎬθi)ꎬ计算K1=H3(kiꎬθi)㊁C2=C1+K1 SKIDO2-1
(PKIDO2+μIDOPpub)和C3=r2(YIDS+QIDS+
μIDSPpub).最后ꎬC返回C=(C1ꎬC2ꎬC3)给A1.
更多查询:A1可继续执行以上阶段除挑战关键字w0和w1之外(这个过程由E5表示)的自适应查询.
猜测:A1给出猜测结果bᶄɪ{0ꎬ1}.C设置C1=bPꎬ如果b((C2-T2+T1)(xIDS+dIDS)-C1(xIDS+dIDS)+Ppub)=abP成立ꎬ则说明C可以解决CDH问题.只有当E1ꎬE2ꎬE3ꎬE4ꎬE5事件之一发生时ꎬ游戏才会中止.下面将对C解决CDH问题的优势εᶄ进行分
析.首先:
Pr┐E1ɡ┐E2┐E3┐E4[]=
1-
1qH1
(
)
qE+qS+qT
1qH1
.(16)
接下来ꎬ证明:Pr[┐E5]⩾2ε.由于
Pr[bᶄ=b]=Pr[bᶄ=b|E5]Pr[E5]+Pr[bᶄ=b|┐E5]Pr[┐E5]£Pr[bᶄ=b|E5]Pr[E5]+Pr[┐E5]=12+1
2
Pr[┐E5]ꎬ(17)和
Pr[bᶄ=b]⩾Pr[bᶄ=b|E5]Pr[E5]=
12-1
2
Pr[┐E5]ꎬ(18)
故有Pr[┐E5]⩾2Pr[bᶄ=b|-1⩾2εꎬ因此:㊀
㊀εᶄ
⩾Pr[┐E5] Pr[┐E1ɡ┐E2┐E3┐E4]=2εqH11-
1qH1
()
qE+qS+qT
.(19)
引理2:假设有一个内部敌手A2以不可忽略的优势ε赢得SCF-PAEKS方案.必须构造一个算法C以不可忽视优势:
εᶄ⩾2εqH11-1
qH1
()
qT
.(20)
来解决CDH问题ꎬ其中qH1ꎬqEꎬqSꎬqT分别表示H1查询ꎬ部分私钥查询ꎬ秘密值查询ꎬ陷门查询的最大查询次数.
证明:假设(PꎬaPꎬbP)是CDH问题随机生成的一个实例ꎬ那么算法C通过与敌手A2交互来模拟挑战者.
初始化:C随机选择IDI1£I£qH1()作为挑战身份.然后C执行算法ꎬ随机选择sɪZq
∗
ꎬ并计算系统公钥
Ppub=sP和系统参params={λꎬGꎬqꎬPꎬPpubꎬH1ꎬH2ꎬH3}.最后ꎬC返回s和params给A2.H1查询:C维护一张LH1列表(IDiꎬQIDiꎬμIDi)ꎬ当收到A2关于(IDiꎬQIDi)的查询时ꎬ若(IDiꎬQIDiꎬμIDi)已存在于LH1ꎬ则C返回μIDi.否则ꎬC选择随机值μIDiɪZq
∗
将其返回给A2ꎬ并将(IDiꎬQIDiꎬμIDi)加入LH1.
H2查询:C维护一张LH2列表(SKIDj1 PKIDi1ꎬPKIDjꎬPKIDiꎬθi)ꎬ当收到A2关于(SKIDj1 PKIDi1ꎬPKIDjꎬPKIDi)
的查询时ꎬ若(SKIDj1 PKIDi1ꎬPKIDjꎬPKIDiꎬθi)已经存在于LH2ꎬ则C返回θi.否则ꎬC随机选择θiɪZq∗ꎬ将其返回给A2ꎬ并将(SKIDj1 PKIDi1ꎬPKIDjꎬPKIDiꎬθi)加入LH2.
8
13
第3期孙莹莹ꎬ等:一个无安全信道的无证书公钥可搜索加密方案㊀
H3查询:C维护一张LH3列表(wiꎬθiꎬki)ꎬ当收到A2关于(wiꎬθi)的查询时ꎬ若(wiꎬθiꎬki)已经存在于
LH3ꎬ则C返回ki.否则ꎬC随机选择kiɪZq
∗
将其返回给A2ꎬ并将(wiꎬθiꎬki)加入LH3.
部分私钥查询:C维护一张Lp1列表(IDiꎬYIDiꎬxIDi)ꎬ当收到A2关于IDi的查询时ꎬC随机选择xIDiɪZq
∗
并计算YIDi=rIDiP.然后ꎬC查询LH1列表(IDiꎬQIDiꎬμIDi)ꎬ计算dIDi=rIDi+sμIDiꎬ并将rIDi和dIDi返回给A2.最后ꎬC将(IDiꎬQIDiꎬdIDi)加入Lp1.
提取公钥查询:C维护一张Lp2列表(IDiꎬQIDiꎬYIDi).当收到A2关于IDi的查询时.若(IDiꎬQIDiꎬYIDi)已经
存在于Lp2ꎬ则C返回PKIDi=(QIDiꎬYIDi).否则ꎬC查询LH1列表(IDiꎬQIDiꎬμIDi)和Lp1列表(IDiꎬYIDiꎬxIDi).最后ꎬC返回PKIDi=(QIDiꎬYIDi)给A2ꎬ并将(IDiꎬQIDi
ꎬYIDi)加入Lp3.陷门查询:当收到A2关于IDi的陷门查询时ꎬ若IDi=IDIꎬC终止算法(这个过程由E1表示).否则ꎬC随
机选择r2ɪZq
∗
并计算T2=r2P.然后ꎬC查询LH3列表(wꎬθꎬk)和LH2列表(SKIDj1 PKIDi1ꎬPKIDjꎬPKIDiꎬθ)ꎬ
计算K2=H3(k'ꎬθ2)㊁T2=(K2+r2)SKIDi2-1
(PKIDi2+αIDiPpub)和T3=r1(YIDS+QIDS+μIDSPpub).最后ꎬC返
回Tw'=(T1ꎬT2ꎬT3)给A2.挑战:A2给出身份为ID∗的挑战关键字w0和w1.若ID∗ʂIDIꎬC终止算法(这个过程由E2表示).否则ꎬ
C首先选择随机值r1ɪZq
∗
并计算C1=r1P.然后ꎬC查询LH3列表(wiꎬθiꎬki)和LH2列表(SKIDj1 PKIDi1ꎬ
PKIDjꎬPKIDiꎬθ)ꎬ计算K1=H3(kiꎬθi)㊁C2=C1+K1 SKIDO2-1
(PKIDO2+μIDOPpub)和C3=r2(YIDS+QIDS+
μIDSPpub).最后ꎬC返回C=(C1ꎬC2ꎬC3)给A2.
更多查询:A2可继续执行以上阶段除挑战关键字w0和w1之外(这个过程由E3表示)的自适应查询.
猜测:A2给出猜测结果bᶄɪ{0ꎬ1}.C设置QIDi=aPꎬC1=bP.如果(C2-T2+T1)(xIDS+dIDS)-b(YIDS+μIDSPpub)=abP成立ꎬ则说明C可以解决CDH问题.我们知道只有当E1ꎬE2ꎬE3事件之一发生时ꎬ游戏才会中止.下面我们将对C解决CDH问题的优势εᶄ进行分析.首先:
Pr┐E1ɡ┐E2[]=1-
1
qH1
(
)
qT
1qH1
ꎬ(21)
接下来ꎬ我们将证明:Pr[┐E3]⩾2ε.由于Pr[bᶄ=b]=
Pr[bᶄ=b|E3]Pr[E3]+Pr[bᶄ=b|┐E3]Pr[┐E3]£Pr[bᶄ=b|E3]Pr[E3]+Pr[┐E3]=12+1
2
Pr[┐E3]ꎬ(22)
和
Pr[bᶄ=b]⩾Pr[bᶄ=b|E3]Pr[E3]=
12-1
2
Pr[┐E3]ꎬ(23)
故有Pr[┐E3]⩾2Pr[bᶄ=b|-1⩾2εꎬ因此:εᶄ⩾Pr[┐E3] Pr┐E1ɡ┐E2[]=2εqH11-1
qH1
()
qT
.(24)
4㊀性能分析
㊀㊀在本节中ꎬ我们将所提出的SCF-PAEKS方案分别与无安全通道的方案[9]ꎬ[10]和[11]在安全性ꎬ计算
9
13
西南民族大学学报(自然科学版)第49卷
成本和通信成本方面进行比较.4.1㊀安全性能
表2㊀安全属性比较
Table2㊀Comparisonofsecurityattributes
方案CLAUOKIKBP[9]
ˑɿɿɿˑ[10]ˑ
ɿɿɿˑ[11]ɿˑ
ˑ
ˑ
ˑ
SCF-PAEKS
ɿɿɿɿɿ㊀㊀在表2中ꎬ分别给出了四种方案安全性能的比较.我们分别使用CL㊁AU㊁OK㊁IK和BP表示无证书㊁认证㊁OKGA㊁IKGA和无双线性对.从表2中可以发现方案[9]是基于公钥基础设施的ꎬ存在证书管理问题.方案[10]是基于身份的加密体制ꎬ存在密钥托管问题.方案[11]没有对数据拥有者身份认证的功能ꎬ敌手可以冒充数据
拥有者发起OKGA和IKGA.此外ꎬ方案[9]ꎬ[10]和[11]都依赖于高消耗的双线性对.4.2㊀计算成本
在本节中ꎬ我们将使用方案[14]中的测试结果来估计四种方案的计算成本.在方案[14]中ꎬ性能的评估是在配备有Ubuntu16.04操作系统的电脑上进行的ꎬ使用MIRACL库ꎬ配备了I5-4210U1.7GHz处理器和4G字节内存.这里ThmꎬTsaꎬTbꎬTspꎬTh分别表示哈希映射到点的执行时间4.362msꎬ标量加法的执行时间
0.013msꎬ双线性对的执行时间4.154msꎬ标量乘法的执行时间1.631msꎬ一般哈希函数的执行时间0.004ms.
表3㊀计算成本比较(ms)
Table3㊀Thecomparisonofcomputationcost(ms)
方案秘钥
加密
陷门
测试[9]
3Thm+Tsp=14.717
Thm+2Tb+Tsa+4Th=12.6992Thm+Tb+Tsa+3Th=12.903Tb+Th=4.158[10]4Thm+5Tsp=25.6032Thm+2Tb+3Tsp=21.9252Thm+Tb+2Tsp=16.14
2Tb+2Tsp=11.57[11]2Thm+2Tsp=11.9864Thm+3Tb+6Tsp+Th=39.73Thm+2Tsa+Tb+6Tsp+3Th=27.874
4Tb+3Tsp+2Th=21.517
SCF-PAEKS6Tsp+3Th=9.798
4Tsa+6Tsp+2Th=9.794
4Tsa+6Tsp+2Th=9.794
3Tsp+3Th=4.
905
图2㊀计算成本比较
Fig.2㊀Thecomparisonofcomputationcost
如表3和图2所示ꎬ我们分别从密钥算法㊁加密算法㊁陷门算法和测试算法给出了这四3个方案的计算成本.实验结果表明ꎬ在密钥算法中ꎬ所提出的SCF-PAEKS方案的计算成本比方案[9]ꎬ[10]和[11]分别降低了
0
23
第3期孙莹莹ꎬ等:一个无安全信道的无证书公钥可搜索加密方案㊀
33.42%ꎬ61.73%和18.25%.在加密算法中ꎬ所提出的SCF-PAEKS方案的计算成本比方案[9]ꎬ[10]和[11]分别降低了22.88%ꎬ55.33%和75.33%.在陷门算法中ꎬ所提出的SCF-PAEKS方案的计算成本比方案[9]ꎬ[10]和[11]分别降低了24.1%ꎬ39.32%和64.86%.在测试算法中ꎬ所提出的SCF-PAEKS方案的计算成本比方案[9]高出17.97%ꎬ与[10]和[11]相比分别降低了64.86%和77.2%.可见所提出的SCF-PAEKS方案的计算成本在各算法中基本均为最低.这是因为我们的方案使用了标量乘法而不是高消耗的双线性对.因此ꎬ与其他方案相比ꎬ我们的方案具有更高的效率.4.3㊀通信成本
下面ꎬ我们将分别从公钥㊁加密㊁陷门的大小(分别用PK㊁EN和TD表示)来比较四种方案的通信成本.另
外ꎬ我们假设点G㊁G1㊁G2和Zq
∗
的大小分别为320位㊁512位㊁1024位㊁和160位.表4和图3显示ꎬ所提出的
SCF-PAEKS方案中PK的通信成本比[9]ꎬ[10]和[11]均高出25%.所提出的SCF-PAEKS方案中EN的通信成本与方案[9]ꎬ[10]和[11]相比分别降低了19%㊁53%和19%.此外ꎬ所提出的SCF-PAEKS方案中TD的通信成本比方案[9]和[10]略低ꎬ但与方案[11]相比降低了38%.
表4㊀通信成本比较
Table4㊀Thecomparisonofcommunicationcost
方案PKEN
TD
[9]
|G1|=5122|G1|+Zq∗
=1184
2|G1|=1024[10]|G1|=5122|G1|+|G2|=2048
2|G1|=1024[11]
|G1|=5122|G1|+Zq
∗
=1184
3|G1|=1536SCF-PAEKS
2|G|=640
3|G|=960
3|G|=
960
图3㊀通信成本比较
Fig.3㊀Thecomparisonofcommunicationcost
㊀㊀由上述结果表明ꎬ所提出的SCF-PAEKS方案中公钥的通信成本相对其他方案略高.但方案[9]存在证书管理问题ꎬ方案[10]是基于身份的加密ꎬ无法避免密钥托管问题.方案[11]容易受到关键字猜测攻击.特别地ꎬ
上述三个方案均不可避免双线性对ꎬ导致其计算和通信成本都较高.因此ꎬ本文推出的方案更安全㊁更高效.
5㊀结论
㊀㊀云服务的出现给数据隐私带来了一些挑战.为了确保数据安全和对加密数据的高效搜索ꎬ一些SCF-PEKS
1
23
223
西南民族大学学报(自然科学版)第49卷方案被提出.然而ꎬ这些方案均存在一定的不足.在本文中ꎬ我们提出了一个无双线性对的SCF-PAEKS方案.它不仅解决了加密数据的安全存储和检索问题ꎬ而且不存在证书管理和密钥托管问题.新颖的是ꎬ该方案不依赖于高消耗的双线性对且可有效抵抗IKGA.分析结果表明ꎬSCF-PAEKS具有较好的综合性能.
参考文献
[1]SONGDXꎬWAGNERDꎬPERRIGA.Practicaltechniquesforsearchesonencrypteddata[C]//Proceedingofthe2000IEEESymposiumonSecurityandPrivacy.CAꎬUSA:Berkeleyꎬ2000:44-55.
[2]ZHANGQ.Anoverviewandanalysisofhybridencryption:Thecombinationofsymmetricencryptionandasymmetricencryption[C]//Proceedingofthe20212ndInternationalConferenceonComputingandDataScience(CDS).CAꎬUSA:Stanfordꎬ2021:616-622.
[3]BONEHDꎬCRESCENZOGDꎬOSTROVSKYRꎬetal.Publickeyencryptionwithkeywordsearch[C]//ProceedingoftheInternationalconferenceontheTheoryandApplicationsofCryptographicTechniques.InterlakenꎬSwitzerlandꎬ2004:506-522.
[4]BAEKJꎬSAFAVI-NAINIRꎬSUSILOW.Publickeyencryptionwithkeywordsearchrevisited[C]//InternationalConferenceonComputationalScienceandItsApplications(ICCSA).PerugiaꎬItalyꎬ2008:1249-1259.
[5]YAUW-CꎬHENGS-HꎬGOIB-M.Off-linekeywordguessingattacksonrecentpublickeyencryptionwithkeywordsearchschemes[C]//Proceed ̄ingoftheInternationalConferenceonAutonomicandTrustedComputing.OsloꎬNorwayꎬ2008:100-105.
[6]BYUNJWꎬRHEEHSꎬPARKH-Aꎬetal.Off-linekeywordguessingattacksonrecentkeywordsearchschemesoverencrypteddata[C]//ProceedingoftheWorkshoponsecuredatamanagement.SeoulꎬKoreaꎬ2006:75-83.
[7]RHEEHSꎬPARKRHꎬSUSILORꎬetal.Trapdoorsecurityinasearchablepublic-keyencryptionschemewithadesignatedtester[J].JournalofSystems&Softwareꎬ2010ꎬ83(5):763-771.
[8]XUPꎬJINHꎬWUQꎬetal.Public-keyencryptionwithfuzzykeywordsearch:Aprovablysecureschemeunderkeywordguessingattack[J].IEEETrans ̄actionsonComputersꎬ2013ꎬ62(11):2266-2277.
[9]LUYꎬLIJꎬZHANGY.Securechannelfreecertificate-basedsearchableencryptionwithstandingoutsideandinsidekeywordguessingattacks[J].IEEETransactionsonServicesComputingꎬ2021ꎬ14(6)6:2041-2054.
[10]LIHBꎬHUANGQꎬSHENJꎬetal.Designated-serveridentity-basedauthenticatedencryptionwithkeywordsearchforencryptedemails[J].InformationSciencesꎬ2019ꎬ481:330-343.
[11]PAKNIATN.Designatedtestercertificatelessencryptionwithkeywordsearch[J].JournalofInformationSecurityandApplications.2019ꎬ49:102394. [12]MIAOYBꎬTONGQYꎬDENGRHꎬetal.Verifiablesearchableencryptionframeworkagainstinsiderkeyword-guessingattackincloudstorage[J].IEEETransactionsonCloudComputingꎬ2022ꎬ10(2):835-848.
[13]ZHANGYIꎬWENLꎬZHANGYJꎬetal.DesignatedServerCertificatelessdeniablyauthenticatedencryptionwithkeywordsearch[J].IEEEAccessꎬ2019ꎬ7:146542-146551.
[14]LUYꎬLIJ.Lightweightpublickeyauthenticatedencryptionwithkeywordsearchagainstadaptively-chosen-targetsadversariesformobiledevices[J/OL].[2022-09-07].https://ieeexplore.ieee.org/document/9423618.
(责任编辑:张阳ꎬ付强ꎬ和力新ꎬ肖丽ꎬ罗敏ꎻ英文编辑:周序林ꎬ郑玉才)
Copyright©博看网. All Rights Reserved.。