【技术实现步骤摘要】
区块链上基于属性的具有前向和后向隐私的可搜索加密方法及系统
[0001]本专利技术属于信息检索和密码学的
,具体涉及一种区块链上基于属性的具有前向和后向隐私的可搜索加密方法及系统。
技术介绍
[0002]随着互联网技术的迅速发展、云计算技术的流行以及用户数据量的指数增长,越来越多的企业用户和个人选择将他们的数据存储到云中,这减轻了其自身管理和存储数据的开销。用户可以随时随地地检索云中的数据,且可以轻松分享给获得许可的人。然而,云计算给我们提供便利的同时也存在着严重的安全隐患。当数据以明文的形式外包给云服务器时,可能会遭受到云服务提供商或黑客的非法访问。通常的解决方法是对数据进行加密处理后以密文的形式存储在云服务器上,但也导致传统的明文检索技术无法应用在密文上。
[0003]为了使得用户能在密文数据上进行关键字搜索,可搜索加密(Searchable Encryption,简称SE)技术作为一种解决方案而被提出。根据加密方法不同,可搜索加密可分为可搜索对称加密(Symmetrically Searchable Encryption,简称SSE)和公钥可搜索加密(Public Key Encryption with Keyword Search,简称PEKS)。基于公钥的可搜索加密中,数据拥有者将数据上传到云服务器之前使用指定用户的公钥加密数据,之后这些用户可以使用其私钥对数据进行搜索和解密。
[0004]但这两类可搜索加密方案在私钥生成分配方面大多依赖于可信机构,这一方面使得可信机构成为大多数黑客的 ...
【技术保护点】
【技术特征摘要】
1.区块链上基于属性的具有前向和后向隐私的可搜索加密方法,其特征在于,包括下述步骤:S1、数据拥有者DO根据安全参数λ,生成系统参数SPP并将SPP公布,接着根据SPP生成私钥dk1和dk2,并利用公共参数SPP、私钥dk2和数据使用者即用户的属性集S
u
,为用户生成私钥K
u
,并通过安全的通道发送给用户DU;S2、数据拥有者DO使用其私钥dk1、数据集合DB={OP,ind,W,T}、公开参数SPP以及一个映射∑,为文档生成索引密文集EDB和已更新的映射∑,并把EDB部署到区块链上,其中OP表示对数据的操作方式即添加或者删除,ind表示文件索引集,W表示关键字集合,T表示关键字的访问树集合;S3、数据用户DU进行检索操作时,数据用户使用其私钥K
u
对关键字q进行加密,得到检索陷门Tra并发送给区块链网络;S4、区块链网络BP收到数据用户DU发来的检索陷门Tra之后,BP先根据EDB[T
ind
]获取得到相应的访问树T;接着利用陷门中的T
q
以及用户的属性集在访问树上进行计算得到C,根据EDB[H2(C)]判断用户是否具有相应的访问权限;权限检查通过后,根据EDB[H2(C)]得到相应的状态值,从该状态开始,向前回溯,将这之前每次更新的与关键字q相关的加密索引添加到结果集MEI中,最终将MEI返回给数据用户;S5、数据用户接收到结果集MEI后,使用私钥K
u
,恢复出对应的明文内容。2.根据权利要求1所述区块链上基于属性的具有前向和后向隐私的可搜索加密方法,其特征在于,步骤S1中,所述数据拥有者DO生成系统参数SPP、私钥dk1和私钥dk2后,将系统参数SPP公开发布在区块链网络中或广播给所有用户,所有用户均有访问系统公开参数SPP的权限;私钥dk1和私钥dk2保存于数据拥有者DO中,只有数据拥有者DO具有访问私钥dk1和私钥dk2的权限。3.根据权利要求1所述区块链上基于属性的具有前向和后向隐私的可搜索加密方法,其特征在于,步骤S1具体为:S11、数据拥有者DO用群生成器执行生成(G1,G2,e,g,q),其中,q为素数,G1和G2为关于q的乘法群,g是G1的生成元,e:G1×
G1→
G2是一个双线性映射;S12、数据拥有者DO随机选择多个安全hash函数,并选择一个伪随机序列生成函数F、F
‑1,F:{0,1}
λ
*{0,1}
λ
→
{0,1}
λ
,F
‑1是其逆置换;将以上安全hash函数、伪随机序列生成函数和步骤S11中的参数组合成公开参数SPP=(G1,G2,e,g,q,H0,H1,H2,H3,H4,h1,h2,h3,h4,F,F
‑1),将SPP发布在区块链网络中或广播给系统中所有用户,其中H0,H1,H2,H3,H4,h1,h2,h3,h4均表示安全hash函数;S13、数据拥有者DO初始化一个空的映射∑,即∑[key]=value,该映射由数据拥有者DO来维护,用于存储关键字的状态;S14、数据拥有者DO定义拉格朗日系数:其中S表示一个集合,i,j∈Z
q*
;S15、数据拥有者随机选择α,β∈Z
q*
,计算g
α
,g
β
和e(g,g)
α
,得到dk1=(e(g,g)
α
,g
β
),dk2=(β,g
α
);
S16、数据拥有者随机选择r∈Z
q*
,计算和k3=g
r
,对于用户的属性集S
u
中的每个属性a
i
,都进行以下计算:随机选择然后计算和最终用户的私钥并通过安全的通道发送给用户DU。4.根据权利要求1所述区块链上基于属性的具有前向和后向隐私的可搜索加密方法,其特征在于,步骤S2中,所述索引密文集EDB是指数据拥有者通过对关键字进行加密后的数据,在搜索阶段时,通过用户提交的访问树索引T
ind
找到相应的访问树找到相应的访问树是对于关键字w
i
的访问权限描述,服务器利用访问树和用户发送的检索令牌计算得到结果,利用该结果判断是否有相应的加密索引,从而继续检索。5.根据权利要求1所述区块链上基于属性的具有前向和后向隐私的可搜索加密方法,其特征在于,步骤S2具体为:S21、数据拥有者DO随机选择版本号v∈Z
q*
,计算并公开版本信息EV=g
v
;S22、数据拥有者对数据集DB中的每个关键字w
i
进行以下计算,利用映射∑判断关键字是否存在,不存在则对其状态值进行初始化,接着利用状态值计算得到键再将存储在相应的值中,其中是DB(w
i
)的大小,DB(w
i
)是w
i
对应的文件索引的集合;S23、对于DB(w
i
)中的每个索引进行以下计算,首先对索引进行加密,公式如下:然后利用状态值计算另一个键将加密索引存储在相应的值中,其中,中,其中,S24、接着数据拥有者随机选择秘密数s∈Z
q*
,并计算s作为属性访问树的根的秘密值;令t为的根节点,对中的每个节点x做以下计算,如果x是t则随机选择d
t
=k
t
‑
1次的多项式q
t
,...
【专利技术属性】
技术研发人员:徐玲玲,金祥,徐培明,
申请(专利权)人:南方电网科学研究院有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。