区块链上多类型用户属性基可搜索加密方案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第31卷第3期北京电子科技学院学报
2023年9月
Vol.31No.3
JournalofBeijingElectronicScienceandTechnologyInstituteSep.2023
区块链上多类型用户属性基可搜索加密方案
胡荣磊㊀王乐胥㊀范晓红
北京电子科技学院,北京市㊀100070
摘㊀要:可搜索加密是在不可信云环境中实现文件密文搜索的一种密码原语㊂数据使用者通过检索加密关键字,来搜索云服务器中的加密文件㊂当前可搜索加密方案存在设计比较单一,不能有效满足使用中复杂场景实际要求,且易遭受重放攻击㊂本文设计一种区块链上多类型用户属性基可搜索加密方案,构建多种数据使用者模型,可以在进行多样性细粒度访问控制的同时,提高密文搜索效率㊂同时,针对因重放攻击带来的搜索陷门盗用问题,提出解决方案,保护数据安全以及用户隐私㊂经过安全性分析与实验测试证明文中方案的关键字密文与陷门在选择明文攻击下是安全的(IND⁃CPA安全),且满足多种数据使用者对数据的不同搜索需求㊂关键词:可搜索加密;属性基加密;区块链;多类型用户中图分类号:TP309 7㊀㊀㊀文献标识码:A
文章编号:1672-464X(2023)3-01-15
∗∗
㊀作者简介:胡荣磊(1977-),男,副研究员,博士,主要研究方向为物联网,区块链,信息安全㊂E⁃mail:huronglei@sina.com;
王乐胥(1997-),男,硕士研究生在读,主要研究方向为区块链安全,隐私保护㊂E⁃mail:1277281571@qq.com㊂
0㊀引言
㊀㊀云端存储相较于本地存储,具有相对较低的使用价格与管理成本,收到用户的青睐[1]㊂同时,为了实现不可信云环境中的数据安全以及用户隐私保护,数据以密文形态上传至云存储平台㊂但是,数据文件以密文的形式在云环境中存储,数据使用者需要将文件密文下载并解密后才可实现检索查询㊂这种做法步骤繁琐且浪费网络流量开销以及计算开销㊂为解决云环境中文件密文的高效搜索问题,可搜索加密技术(SearchableEncryption,SE)应运而生㊂
可搜索加密技术的出现,使数据使用者可以
凭借关键词密文搜索云服务器中的文件密文㊂它利用云存储服务器的计算资源进行文件密文检索,达到快速㊁准确检索数据文件密文,为用户
节省网络和计算开销的目的[2]㊂
可搜索加密技术最早由Song等人[3]在
2000年提出,在此基础上,研究人员从搜索效率㊁安全性以及功能性等方向对可搜索加密技术进行改进[4]㊂Su等人[5]在2017年提出了一种基于属性的关键词搜索加密方案,通过检查用户属性与访问结构之间的匹配关系,实现对密文搜索的访问控制㊂Yang等人[6]在2020年提出一种非双线性对运算的公共通道的公钥认证可搜索加密方案(NBP⁃SCF⁃PAEKS),该方案与传统的双线性对方案相比搜索效率高,适用于运算能力有限的设备㊂Raouf等人[7]在2021年提出了一种高效安全的无证书可搜索加密方案,在保证通信以及计算效率的前提下,可以抵御不同的关键字猜测攻击㊂区块链技术凭借去中心化分布式账本㊁可溯源㊁数据
北京电子科技学院学报2023年
不可篡改删除的特点,与可搜索加密技术结
合,成为新的研究热点㊂在2021年文献[8]与
区块链技术相结合,提出了区块链上的属性基
可搜索加密方案,利用区块链不可篡改的特性
保护关键字密文安全㊂Zhai[9]等人设计了一种基于区块链的可搜索加密电子病历共享模型,
实现大规模网络下各医疗机构对电子病历的
安全共享㊂Liu[10]等人针对当前数据共享难㊁被攻击㊁密文搜索效率低的问题,设计了一种
基于倒排索引的可搜索加密数据共享方案㊂Pang[11]等人针对区块链环境下已有的可搜索加密方案成本高㊁功能局限的问题,提出了支
持验证与公平支付的多关键词排序检索方案㊂
通过分析,当前区块链上可搜索机密设计方
案在功能方面存在缺陷㊂设计方案模型中,数据
使用者设计比较单一,没有根据现实需求进行细
化,不利于系统运行效率提高以及多样性的访问
控制㊂
本文在文献[8]所提方案的基础上进行改
进,提出了一个区块链上多类型用户属性基可搜
索加密方案,实现了对数据密文的准确搜索与细
粒度的访问控制以及在部分可信云环境下的数
据安全与隐私保护㊂本文同时对方案的可行性
与安全性进行了分析和证明㊂本文构造的适用
于多类型用户的可搜索加密方案,其主要优势体
现在以下两个方面:
1.针对现实场景需求,在文献[8]所提可搜索加密算法的基础上,设计了多种数据使用者模型㊂在结合属性加密和可搜索加密的基础上,通过设计不同类型数据使用者搜索方案,提高了搜索效率的同时,实现了具备高细粒度以及多样性访问控制的可搜索加密㊂
2.通过分析方案在不可信云环境中的运行步骤,提出适用于不同场景的解决方案,在易受攻击的阶段提供多重保护,有效防止因重放攻击带来的数据使用者搜索陷门盗用问题㊂1㊀预备知识
1 1㊀双线性映射
定义映射e:G1ˑG2ңG2满足以下性质[12]:(1)双线性
∀P,Q,RɪG1,∀a,bɪZ,e(Pa,Qb)=e(P,Q)ab,e(PQ,R)=e(P,R)e(Q,R),e(P,QR)=e(P,Q)e(P,R)
(2)非退化性
如果P是G1的生成元,则e(P,P)就是G2的生成元㊂
(3)可计算性
∀P,QɪG1,则存在一个有效算法计算e(P,Q)㊂
1 2㊀困难问题假设
(1)判定双线性Diffie⁃Hellman(decisionalbilineardiffie⁃hellmanassumption,DBDH)问题设双线性映射对e:G1ˑG2ңG2,g为循环群G1的生成元,随机选择a,b,cɪZ∗q,ZɪG2,给定元组(g,ga,gb,gc,Z),判定等式e(g,g)abc=Z是否成立[13]㊂
(2)判定Diffie⁃Hellman(decisionaldiffie⁃hellmanassumption,DDH)问题
随机选择a,b,cɪZ∗q,g为循环群G1生成元㊂给定元组(g,ga,gb,gc),判定c=ab(bmodp)是否成立[14]㊂
1 3㊀访问结构
设P={P1,P2, ,Pn}表示参与者的集合,令2P=2{P1,P2, ,Pn}={A|A⊆{P1,P2, ,Pn}},集合A⊆2P是单调的,当且仅当任意子集B,C⊆P,若BɪA,B⊆C,则CɪA[15].1 4㊀访问树
设γ是一个访问树㊂γ中每一个非叶子节点x表示一个门限结构,用(kx,numx)描述,其中numx表示x的子节点个数,kx表示门限值,0ɤkxɤnumx.当kx=1时表示或门,kx=numx表示与门㊂叶子节点x用以描述属性,其门限值kx=1.
㊃2㊃
第31卷区块链上多类型用户属性基可搜索加密方案㊀
令r表示γ根节点,γx表示以x为根的子树,γr即为γ.如果一个属性集合S满足访问树γx表示为γx(s)=1.
在访问树γ中,定义parent(x)为节点x的父节点㊂当x为叶子节点,定义att(x)为节点x所描述的属性㊂定义index(x)表示节点x在其兄弟节点中的编号㊂定义满足访问树如下:当x为非叶子节点时,对x的所有子节点x∗计算γx∗(s).当且仅当至少有kx个子节点x∗返回γx∗(s)=1时,γx(s)=1.
当x为叶子节点时,当且仅当x所描述的属性att(x)是属性集合s的元素时,γx(s)=1[16].2㊀区块链上多类型用户属性基可搜索加密方案
2 1㊀符号使用与定义
本文所使用的符号及定义如表1所示㊂
表1㊀符号定义说明
符号说明
DO数据拥有者
DU数据使用者
DUORD普通用户
DUCO合作用户
DUORG组织用户
DUSU超级用户
KDC密钥分发中心
CS云存储中心
BC区块链平台
SP系统参数
DUATT数据使用者属性
att属性
KDO数据拥有者密钥
KDU数据使用者密钥
ω关键字
TD搜索陷门
CL标识
2 2㊀系统模型
本文借鉴文献[8]系统模型,基于区块链,针对不同类型数据使用者,使用属性基加密与可搜索加密对多类型用户搜索文件进行管理以及安全保护㊂本文模型涉及5类实体,分别是密钥分发中心㊁数据拥有者㊁云存储中心㊁区块链以及多类型数据使用者㊂
(1)密钥分发中心(KeyDistributionCenter,KDC)
KDC作为可信机构,负责为系统生成系统参数SP㊁数据拥有者密钥KDO以及根据数据使用者DU属性生成密钥KDU与KDU使用时限,在该时限内数据使用者可以凭借KDU生成搜索陷门检索㊁阅读文件㊂同时KDC将根据本文设计的多类型数据使用者模型,为DU生成标识CLɪ{CLORD,CLCO,CLORG,CLSU}.(2)数据拥有者(DataOwner,DO)
DO作为数据文件的所有者与分享方,将数据文件密文上传至云存储中心CS,CS将文件密文地址返回DO,方便DO自行查阅㊂DO提取合适数据文件关键字ω,通过结合DO要求的数据使用者属性与文件属性生成访问策略并根据自己所定义的访问策略,使用KDO加密ω生成关键字密文ωc.DO建立ωc与数据文件密文的对应关系,并将ωc与建立的对应关系上传区块链平台BC.
(3)区块链(BlockChain,BC)
BC作为第三方可信平台,负责调用智能合约进行关键字密文搜索与文件密文搜索记录㊂DU根据KDU与想要搜索的关键词ωu生成搜索陷门TD,并将TD上传BC,交由智能合约执行搜索操作㊂若搜索成功,BC将按照DO上传的对应关系,告知CS对DU开放阅读权限至KDU使用时限结束㊂同时,BC负责记录搜索陷门及搜索结果,用于查验㊂
(4)云存储中心(CloudStorageCenter,CS)CS作为云存储服务提供方,负责加密数据文件的存储与阅读权限开放㊂DO将数据文件密文上传CS存储,CS将数据密文文件存储地址返回DO㊂当BC调用智能合约搜索关键字成功后把结果返回CS,由CS为DU开放阅读权限至区块链平台规定时间完成最后的搜索㊂(5)数据使用者(DataUser,DU)
DU作为数据文件的使用者,使用KDU与ωu
㊃3㊃
北京电子科技学院学报2023年
生成TD搜索数据文件密文,搜索成功后,DU获
得文件阅读权限至KDU使用时限结束㊂
在该模型中,根据实际场景需求,将不同类型的DU进行分类,实现细粒化访问控制的同时,提高搜索效率㊂KDC在DU申请密钥时,为DU在KDU中添加标识㊂DU将标识本文DU分类如下:
1)普通用户(DataUserOrdinary,DUORD)
DUORD作为无特点用户,可以依据自身属性
结合自己想要搜索的关键词完整执行搜索流程,生成陷门进行数据文件密文搜索㊂普通用户系统模型图如图1所示

图1㊀普通用户系统模型
2)合作用户(DataUserCooperation,DUCO)
合作用户模型适用于多名用户分别提供自
身属性合作搜索文件的场景㊂在本方案中DUCO支持实际场景中DU进行合作查看数据文件㊂如在电子病历领域,需要不同医院的医生一起为病人进行会诊,此时,病人的电子病历需要各医院医生一起查看,在申请电子病历文件时,单一医生的属性无法满足病人的访问控制策略,需要各医院医生合作搜索数据密文㊂在本文方案中,在属性密钥申请时,DUCO向KDC申请根据同一DUCO的所有用户属性生成的一个KDU进行数据文件密文搜索㊂合作用户系统模型图如图2所示

图2㊀合作用户系统模型
3)组织用户(DataUserOrganization,DUORG)
组织用户模型适用于有相同属性的大量用
户请求同一文件的场景㊂DUORG对应同一组织内具有大量相同属性的用户,如同一班级内的所有学生以及同一部门的所有员工㊂在同一组织的用户,有时会有相同数据搜索需求㊂在本文方案中,有相同文件搜索需求的同一组织用户,DUORG可以向KDC申请组织用户标识CLORG,用以提高搜索效率㊂组织用户系统模型图如图3所示

图3㊀组织用户系统模型
4)超级用户(DataUserSuper,DUSU)
超级用户模型适用于管理㊁审查人员检查云
存储中心文件内容的场景㊂本文方案中DUSU的

4㊃
第31卷区块链上多类型用户属性基可搜索加密方案㊀
依据KDC赋予的标识CLSU,在搜索所需密文时,可以不依据DO访问控制策略,成功搜索所需文件㊂KDC可以根据实际情况将CLSU赋予政府监管部门以及该云存储系统管理员㊂超级用户系统模型图如图4所示

图4㊀超级用户系统模型
2 3㊀算法描述
本文算法借鉴文献[8]方案进行功能扩展㊂(1)系统初始化SETUP
由KDC执行㊂KDC输出系统参数SP用于
后续密钥生成,关键字密钥生成以及关键字密文搜索㊂
算法描述:KDC为后续算法执行生成系统参数SP={G1,G2,e,g,H0,H1,H2,H3,H4}.其中G1与G2是阶为素数p的乘法循环群㊂e:G1ˑG1ңG2,g为G1的生成元㊂定义散列函数H0:{0,1}∗ңZ∗q,H1:{0,1}
∗ңG1,H2:CLң{0,1}∗
,H3:Tң{0,1}∗,H4:Sң{0,1}∗.
(2)密钥生成KEYGEN
由KDC执行㊂KDC输入SP,为DO输出KDO,并根据DUATT与数据使用者类型为DU生成KDU与CL.
算法描述:KDC为数据拥有者生成密钥KDO
并根据用户属性DUATT为数据使用者生成密钥KDU.KDU包含若干子部分,在密钥生成与搜索陷门生成部分分别发挥作用㊂KDC根据DU类型
生成标识CL,并使用H2:CLң{0,1}∗加密保护㊂KDC在为DU生成KDU时,会综合评估DU所提交属性,为DU生成一个KDU使用时间上传至区块链,在该时间内,DU可凭借KDU生成的搜索陷门查找㊁阅读文件;若超出该时间,则区块链智能合约判定搜索陷门无效㊂为适应多类型用户需求,KDU生成具体算法步骤以普通用户为基础,根据不同用户类型有所调整㊂
1)普通用户
输入:(SP,DUATT),即:系统参数SP㊁数据使用者属性DUATT.计算
α,βɪZ∗q,KDO
={e(g,g)α,gβ}(1)rɪZ∗q,D=gα+r
β,Dᶄ=g1
β,Dᵡ=gr(2)raɪZ∗q,∀attɪDUATT
Datt=DᵡˑH1(att)ra,Dattᶄ=gra(3)KDU={D,Dᶄ,Dᵡ,CLORD,H2(CLORD),{Datt,Dattᶄ|∀attɪDUATT}}(4)
㊀㊀输出:(KDO,KDU)
对于DU在KDU使用时间内追加的属性申
请,KDC在审核后使用相同的系统参数为DU更新KDU发送给DU㊂
2)合作用户
DUCO中的DU为了合作搜索得到数据文件
密文集合到一起㊂在同一DUCO中的DU一起向KDC申请属于DUCO成员共有的KDU.KDC根据DUCO中所用人的所有属性生成一个密钥KDU供DUCO成员使用㊂KDC添加CLCO标识用于标记合作用户成员后,将生成的KDU发送给DUCO.
3)组织用户
在密钥生成阶段KDC首先给每名用户共同
的属性例如{A公司,研发部}生成密钥,再在组织用户KDU中添加CLORG标识㊂相同的CLORG用来表示持有者属于同一CLORG.
4)超级用户
DUSU通常表示监管部门或者该云存储系统
中的管理员㊂DUSU在搜索数据加密文件时享有

5㊃
北京电子科技学院学报2023年
特权,在搜索时凭借CLSU向BC验明身份并直接获取所需文件,而不需要通过复杂的属性密钥与搜索陷门生成㊂其KDU={CLSU,H2(CLSU)}.
(3)关键字密文生成ENCRYPT
由DO执行㊂DO使用SP与KDO,根据设定的访问控制策略,加密数据文件关键字ω生成关键字密文ωc.DO将ωc上传至BC.
算法描述:由数据拥有者DO执行,通过结合DO要求的数据使用者属性与文件属性生成访问策略,使用密钥KDO,根据访问策略生成访问树γ,加密关键词ω生成ωc.设X为访问树γ所有叶子节点的集合,r为访问树γ根节点㊂对于访问树γ中的每个节点x,定义多项式px.多项式px的次数为节点x门限值kx减1,且有
px(0)=pparent(x)(index(x))(5)㊀㊀输入:(SP,KDO,ω,γ),即:系统参数SP㊁数据拥有者密钥KDO㊁关键字ω㊁由访问控制策略生成的访问树γ.计算:
sɪZ∗q,co=e(gH0(ω)s,g)e(g,g)αs,cᶄo=gβs
(6)∀xɪX,ωx=gpx(0),ωᶄx=H1(att(x))px(0)
(7)ωc={co,cᶄo,{ωx,ωᶄx|∀xɪX}}(8)㊀㊀输出:ωc
(4)关键词密文搜索SEARCH
由DU执行㊂DU使用SP与KDU,结合感兴趣的关键字ωu生成陷门TD.通过分析,在不可信云环境中,在关键词密文搜索阶段,DU所提交陷门存在被恶意攻击㊁盗用㊂为防止TD被其他用户盗用,实施重放攻击,DU在串行上传陷门的通用情况下,在TD中加入时间戳T㊂在组织用户批量上传陷门等并行上传陷门的情况下,在TD中加入随机数S.DU将TD上传BC,交智能合约进行关键字密文搜索㊂智能合约关键词密文搜索流程如图5所示㊂
图5㊀关键词密文搜索流程图
㊀㊀算法描述:数据使用者DU结合自身用户类型CL,使用KDU与搜索关键词ωu,生成搜索陷门TD上传区块链智能合约㊂首先,智能合约根据KDC上传的DU密钥使用时限判断此时DU生成的陷门是否在使用期限内㊂若通过,随后,智能合约调用搜索算法,验证DU上传陷门是否符合DO指定的访问控制策略㊂为防止重放攻击造成的搜索陷门TD盗用问题,DU根据实际情况在TD中加入时间戳T或随机数S,并用H3:Tң{0,1}∗或H4:Sң{0,1}∗保护㊂BC在收到TD后首先进行检验,提高安全性㊂为提高搜索效率以及符合实际场景,具体算法步骤以普
㊃6㊃
第31卷区块链上多类型用户属性基可搜索加密方案㊀通用户为基础,根据不同用户类型有所调整㊂
1)普通用户
普通用户DUORD生成搜索陷门TD㊂
输入:(SP,KDU,ωu,T/S),即:系统参数
SP㊁数据使用者密钥KDU㊁DU搜索关键字ωu以
及时间戳T或随机数S.计算:
r1ɪZ∗q,Tu=DˑDᶄH0(ω)+r1(9)
∀attɪDUATT,Ta=Dattˑgr1,Tᶄa=Dattᶄ=gra
(10)
TD={Tu,T,H3(T),∀attɪDUATT:Ta,Tᶄa}or
TD={Tu,S,H4(S),∀attɪDUATT:Ta,Tᶄa}
(11)
㊀㊀输出:TD
输入:(SP,TD,ωc),即:系统参数SP㊁陷门
TD㊁关键字密文ωc㊂
DUORD提交陷门TD至BC㊂BC将搜索记录
记录在区块中,并依据智能合约所记录的内容来
自动执行以下步骤:
①验证TD时间戳T或随机数S判断是否
为重放攻击㊂若验证通过,则执行下一步骤㊂
②验证TD是否符合关键字密文ωc所定义
访问控制策略,若一致,则DUORD搜索成功㊂BC
记录搜索结果㊂
对于∀xɪX,若x描述属性属于集合
DUATT,则有
Fx=e(Ta,ωx)
e(Tᶄa,ωᶄx)=e(g,g)(r+r1)px(0)(12)
㊀㊀对于访问树γ中的非叶节点x,若其描述属性属于集合DUATT的子节点个数大于该非叶节点门限值kx,则Fx=e(g,g)(r+r1)px(0)㊂若对于根节点r,有Fr=e(g,g)(r+r1)pr(0)=e(g,g)(r+r1)s则称数据
使用者属性DUATT满足访问树γ.计算e(cᶄo,Tu)Fr是
否等于co,若相等,则表明陷门搜索成功㊂
③BC查看DO上传的关键字密文与文件密文的对应关系,告知CS向DUORD开放文件阅读权限至KDU使用期结束㊂智能合约调用过程就此完成㊂
2)合作用户
DUCO选择某一用户,使用合作申请产生的KDU,生成陷门TD搜索文件,BC识别TD中的CLCO,确认该陷门由合作用户DUCO上传㊂若TD符合ωc中包含的访问控制策略,BC告知CS向DUCO的每一个成员开放文件阅读权限至KDU使用期结束,此次DUCO合作结束㊂
3)组织用户
同一组织的DU在搜索相同数据文件时,可以使用组织用户DUORG的标识CLORG来提高搜索效率㊂执行SEARCH算法时,DUORG中的所有用户DU执行算法生成TD,并在TD中添加标识CLORG上传BC平台㊂BC通过CLORG识别出TD是DUORG搜索请求后,随机选择若干DUɪDUORG,验证TD是否符合ωc所指定的访问控制策略㊂若符合,BC告知CS向DUORG中所有DU开放文件阅读权限至KDU使用期结束㊂4)超级用户
本方案的超级用户DUSU一般用来担当管理员以及监管角色㊂凭借KDC赋予的CLSU,向BC发出文件查看申请,BC记录申请后,命令CS向DUSU开放文件阅读权限㊂
3㊀安全性分析
㊀㊀通过设计攻击者A与挑战者B之间的IND⁃CPA游戏,来证明本文方案中的关键字密文与陷门在选择明文攻击下是安全的㊂
3 1㊀关键字密文安全性证明
定理1若攻击者A有不可忽略的优势ε攻破方案中的关键字密文安全,则B能够以优势ε
2解决DBDH问题㊂
证明:挑战者B生成DBDH元组(g,A=ga,B=gb,C=gc,Z=e(g,g)abc)and(g,A=ga,B=gb,C=gc,Z=e(g,g)z)
(13)
㊃7㊃
北京电子科技学院学报2023年
其中a,b,c,zɪZ∗q.
初始化:挑战者B运行算法,生成系统参数SP㊂A定义挑战访问树γ∗并将其发送给B㊂阶段1:A向B发起多项式次数的密钥以及关键字密文询问㊂密钥与关键字需满足
密钥询问:A向B发送属性集合DUATT1,DUATT2,DUATT3, ,DUATTN.要求A发送的属性集合不可满足挑战访问树γ∗㊂B运行密钥生成算法,生成相应数据使用者密钥KDU1,KDU2,KDU3, ,KDUN发送给A.
关键字密文询问:A向B发送关键字ω∗1,ω∗2,ω∗3, ,ω∗N.B运行算法ENCRYPT,生成相应关键字密文ω∗c1,ω∗c2,ω∗c3, ,ω∗cN发送给A.询问的密钥与关键字需满足SEARCH(SP,ω∗cN,DUATTN)=YES
挑战:A选择两个等长的挑战关键字ω0,ω1与挑战访问树γ∗一并发送至B,B投掷硬币,公平随机选取μɪ{0,1},将ωμ加密后得到的关键字密文
ωcμ={γ∗,coμ=e(AH0(ωμ),g)Z,cᶄoμ=Aβ,{ω∗x=gpx(0),ωᶄx∗=H1(att(x))px(0)|∀xɪX∗}}
(14)㊀㊀发送给A.其中,X∗为访问树γ∗所有叶子节点的集合㊂若令随机数a=s,bc=α,则关键字密文ωcμ可以表示为
{γ∗,coμ=e(gsH0(ωμ),g)Z,cᶄoμ=gsβ,{ω∗x=gpx(0),ωᶄx∗=H1(att(x))px(0)|∀xɪX∗}}
(15)㊀㊀阶段2:A重复阶段1的工作,继续向B发起询问㊂要求A发送的属性集合不可满足挑战访问树γ∗㊂
猜测:攻击者A输出μ的猜测μᶄɪ{0,1}.若μ=μᶄ,则挑战者B认为Z=e(g,g)abc;若μʂμᶄ,则挑战者B认为Z=e(g,g)z.
若Z=e(g,g)abc,A获得的密文有效㊂若A有不可忽略的优势ε攻破关键字密文安全,所以可得Pr[μ=μᶄ|Z=e(g,g)abc]=12+ε
若Z=e(g,g)z,因为z为随机数,所以A只能猜测μ为0或1㊂即Pr[μ=μᶄ|Z=e(g,g)z]=1

故B解决DBDH问题的优势为:
AdvDBDH=|Pr[μ=μᶄ|Z=e(g,g)abc]Pr[Z=e(g,g)abc]+Pr[μ=μᶄ|Z=e(g,g)z]Pr[Z=e(g,g)z]-12|=12+ε
æ
è
ç
ö
ø
÷∗

2+

2∗

2-

2=
ε
2(16)㊀㊀若AdvDBDH=ε2不可忽略,则与DBDH困难问题假设相违背㊂所以攻击者A的优势ε可忽略㊂方案中的关键字密文安全㊂证明完毕㊂3 2㊀陷门安全性证明
定理1若攻击者A有不可忽略的优势ε攻破方案中的陷门安全,则B能够以优势
ε
2解决DDH问题㊂
证明:挑战者B生成DDH元组
(g,A=ga,B=gb,Z=e(g,g)ab)and
(g,A=ga,B=gb,Z=e(g,g)z)(17)其中a,b,zɪZ∗q.
初始化:挑战者A运行算法,生成系统参数SP㊂
阶段1:A向B发起多项式次数的密钥以及陷门询问㊂
密钥询问:B运行算法,生成数据使用者密钥KDU发送给A.A向B发送关键字ω∗1,ω∗2,ω∗3, ,ω∗N.
陷门询问:B运行算法SEARCH,生成相应陷门TD∗1,TD∗2,TD∗3, ,TD∗N发送给A.
挑战:A选择两个等长的挑战关键字ω0,ω1.B投掷硬币,公平随机选取μɪ{0,1},使用ωμ计算得到陷门
㊃8㊃
第31卷区块链上多类型用户属性基可搜索加密方案㊀
TDμ={Tμ=AB,{Taμ=Ag-(α+H1(ωμ)),
Tᶄaμ
=gra|∀attɪDUATT}}(18)
㊀㊀发送给A,若随机数b=

β
,a=α+r+r1+H1(ωμ)则陷门TDμ可以表示为
TDμ={Tμ=g
α+r+r1+H1(ωμ)
β
,{Taμ=gr+r1,
Tᶄaμ
=gra|∀attɪDUATT}}(19)
㊀㊀阶段2:A重复阶段1的工作,继续向B发起询问㊂
猜测:攻击者A输出μ的猜测μᶄɪ{0,1}.若μ=μᶄ,则挑战者B认为Z=gab;若μʂμᶄ,则挑战者B认为Z=gz.
若Z=gab,A获得的陷门有效㊂因为A有不
可忽略的优势ε攻破陷门安全,所以可得Pr[μ=μᶄ|Z=gab]=


+ε若Z=gz,因为z为随机数,所以A只能猜测μ为0或1㊂即Pr[μ=μᶄ|Z=gz]=
12
故B解决DDH问题的优势为:
AdvDDH=|Pr[μ=μᶄ|Z=gab]Pr[Z=gab]+Pr[μ=μᶄ|Z=gz]Pr[Z=gz]-
12
|=12+εæèçö
ø÷∗12+12∗12-12=ε2(20)㊀㊀若AdvDDH=
ε

不可忽略,则与DDH困难问题假设相违背㊂所以攻击者A的优势可以忽略㊂方案中的陷门安全㊂证明完毕㊂3 3㊀抗重放攻击分析
对于用户串行提交的陷门TD,数据使用者
DU为其添加时间戳T,智能合约验证陷门时间戳T,若T足够接近当前时刻,则智能合约接受陷门TD;若T远离当前时刻,则视为重放攻击,智能合约丢弃该陷门TD㊂如图6所示,对于攻击者试图上传的盗用陷门,智能合约验证时间戳T∗,但是T∗与智能合约时间不符,因此攻击者无法通过重放攻击盗用其他DU的搜索陷门㊂
对于通过检验的串行提交陷门TD,智能合约根
据其T的先后顺序,依次执行搜索算法,保证搜索的顺序执行

图6㊀串行上传陷门防止重放攻击
对于并行提交的陷门TD,数据使用者为其添加随机数S,智能合约验证陷门随机数S,智能合约记录TD附加的随机数S,若TD附带的S未被智能合约记录,则智能合约接受TD;若S已被智能合约记录,则视为重放攻击,智能合约丢弃该TD㊂如图7所示,攻击者试图上传盗用
陷门,智能合约验证其随机数S∗,但该随机数已被智能合约数据库记录,因此攻击者无法通过重放攻击盗用其他DU的搜索陷门

图7㊀并行上传陷门防止重放攻击
4㊀性能分析
4 1㊀功能比较与理论分析
将本文方案与近几年可搜索加密方案进行
对比分析,从表2看出,从功能对比角度,本文方案具有一定优势㊂
文献[8,12]均将可搜索加密技术与属性基加密技术向结合,由数据使用者属性集合与访问

9㊃
北京电子科技学院学报
2023年
㊀㊀
表2㊀功能对比
方案属性加密访问结构区块链抗重放攻击多类型用户模型
文献[8]有访问树有无无文献[14]有与门无无无文献[15]无无有无无文献[16]无无无有无本文方案

访问树



策略的契合程度定义其解密与搜索能力㊂而文献[12]与本文方案和文献[8]不同的是,文献[12]采用与门访问结构,与本文方案和文献[8]采用的访问树结构相比,表达能力相对较弱㊂文献[8,13]与本文方案将区块链技术引入可搜索加密方案㊂依靠区块链防篡改的特性,保护了加密关键词的同时,将数据使用者搜索申请一并记录,方便日后查验㊂文献[14]在提出高效可搜索加密方案的同时,关注敌手对搜索陷门的窃听与重放攻击,提高了系统的安全性㊂本文方案较文献[8]方案相比,注重对用户陷门重放攻击保护的同时,依托实际场景,抽象出多类型用户模型,并为各类型用户提供个性化可搜索加密方案㊂提高效率的同时,使访问控制策略多样化,丰富化:
合作用户模型提供了一种多人合作搜索文件方案,有助于数据的共享,实现细粒化的访问控制,减少 信息孤岛 的产生㊂比如分散在各地的不同医院的不同领域的医生需要一起为病人会诊,需要查看病人加密的电子病历,以往方案如果将访问控制策略设置为{{医院A,科室A,医生A},{医院B,科室B,医生B},{医院C,科室C,医生C}}同时满足,则没用医生可以同时满足访问策略,不利于不同医院间的合作;若设置成满足上述三个条件满足其中一个即可,任意一个医生就可以随意翻看病人电子病历,不利用病人隐私信息的保护,本方案的合作用户模型允许在属性密钥申请时,所有医生向KDC提交属性,KDC使用所应医生的属性一起生成一个数据使用者密钥㊂在关键词密文搜索时一名医生使用该密钥生成陷门搜索文件,若满足访问控
制策略,服务器将电子病历发给每一个医生㊂这样做既让不同医院的医生可以顺利开展工作,又保护了病人的隐私,且算法效率与普通用户模型基本相同,没有造成额外的计算负担㊂
组织用户模型为有相同属性的数据使用者设计,这些使用者可以自发组织,向KDC申请组织用户标识㊂在搜索相同文件时,BC识别出组织用户标识,可随机抽取若干用户上传陷门进行查验,比如同一个实验室的实验员或者同一个部门的员工,他们有着相似的属性标签与对加密数据相似的需求㊂在有相同的文件搜索需求时,利用组织用户模型,相较于以往方案中检测所有上传陷门的方案,减少了检测次数,提高了搜索效率㊂
超级用户为系统内的监管以及管理员,负责对文件内容进行管理审查,维护网络空间安全㊂通过标识可不通过访问树获取任意文件,检查文件内容,删除违规文件㊂在密钥生成算法与关键词密文搜索算法不包含双线性对运算,算法效率高㊂
因此,本方案在用户量与数据量较大时,较过去方案,有较快的搜索效率与灵活性㊂本文对普通用户模型与组织用户模型进行具体算法效率分析㊂分析了在若干数据使用者搜索密文时的算法效率,如表3所示,结果不难看出,在多数据使用者的情况下,组织用户模型具有较高的SEARCH算法效率,且本文方案与文献[8]相比用较低代价实现了对陷门的防重放攻击保护㊂其中P代表一次双线性对运算,E代表一次指数运算,M代表一次乘法运算,H代表一次哈希运算,Inv代表一次乘法逆元运算,Ver代表一次防重放攻击验证运算㊂|S|㊁|X|㊁|A|与|N|分别代表属性集,访问树叶子节点集合,满足访问树的访问结构最小属性集,用户量㊂
表4对各模式算法通信代价进行分析,其中|G1|,G2|代表G1,G2中元素的长度|H|代表各
哈希函数压缩后的长度,|CL|代表标识长度,㊃
01㊃。

相关文档
最新文档