主页 > imtoken新版本 > 基于区块链的密文关键词搜索方法、系统、装置及介质制作方法及附图

基于区块链的密文关键词搜索方法、系统、装置及介质制作方法及附图

imtoken新版本 2023-12-10 05:07:24

本发明专利技术公开了一种基于区块链的密文关键词搜索方法、系统、装置和介质,属于关键词搜索技术领域,所要解决的技术问题是如何实现安全、多用户、可验证和公平付费的密文搜索。该方法包括:数据所有者生成系统参数、主公钥和主密钥区块链的关键技术包括哪些,并公开系统参数和主公钥。根据主密钥对关键字进行加密,生成支持多关键字检索的索引,并对明文进行加密生成密文,将上述索引和密文上传至云服务器;数据拥有者对数据用户进行认证,并将认证后的数据用户加入用户列表;数据用户根据搜索请求生成陷门,云服务器根据陷门进行搜索。搜索结果返回给数据用户;数据用户根据智能合约验证搜索结果的正确性,并向云服务器和数据所有者支付费用;数据用户根据搜索结果对密文进行解密,得到明文。获取明文。获取明文。

下载所有详细的技术数据

【技术实现步骤总结】

基于区块链的密文关键词搜索方法、系统、设备和媒介

[0001]专利技术涉及关键词搜索

,具体是一种基于区块链的密文关键字搜索方法、系统、装置及介质。

技术介绍

[0002]云存储是一种无限的存储资源,给我们带来了极大的便利。个人和企业都倾向于在网络上共享大量数据。然而,用户在享受低成本便捷协作的同时,也关心数据隐私问题。当个人用户通过社交网络分享照片和视频以及企业用户将敏感数据外包到云存储时,就会出现数据隐私问题。

[0003]为了保护用户数据的隐私,数据在上传到云服务器之前需要进行加密。加密后,用户只能根据密文进行搜索,即可搜索加密。可搜索加密根据如何根据密文搜索关键字分为私钥可搜索加密和公钥可搜索加密。最初提出的无记忆关键字搜索基于单个关键字。首先,数据所有者将数据和关键字加密,然后提交给用户。当用户想要搜索时,用户生成一个令牌并将其发送给数据所有者,数据所有者将陷门返回给用户。

[0004]目前,云服务器不诚实地执行搜索操作,返回不正确或不完整的结果,这是可搜索加密和无记忆关键字搜索面临的问题。在使用前付费的模式中,即使云服务器不诚实,用户也需要提前为服务付费。在先使用后付费模式中,用户可能会诱骗云服务器为其提供服务。因此,迫切需要解决公平支付问题。

[0005]如何实现安全、多用户、可验证、公平的支付密文搜索是一个亟待解决的技术难题。

技术实现思路

[0006]该专利技术的技术任务是提供一种基于区块链的密文关键词搜索方法、系统、设备和媒介,解决如何实现安全、多用户、可验证、公平支付的问题。以上不足之处是密文搜索问题。

[0007]在第一方面,专利技术提供了一种基于区块链的密文关键词搜索方法,应用于区块链和加入区块链的数据所有者、数据用户和云服务器。系统,在区块链上部署智能合约,智能合约部署有用户列表和公平支付规则,该方法包括以下步骤:

[0008]数据所有者生成系统参数、主公钥和主密钥,并向系统公开系统参数和主公钥;

[0009] 数据拥有者从明文中提取关键字,基于主密钥对关键字进行加密生成支持多个关键字搜索的索引,将明文加密生成密文,将上述索引与密文结合上传云服务器;

[0010]数据用户发起搜索请求,根据搜索请求生成陷门,并将陷门上传至智能合约和云服务器;

[0011]智能合约根据用户列表对数据用户进行认证。如果认证失败,数据用户由数据所有者认证,认证后的数据用户被添加到用户列表中。如果认证通过,则云服务器基于陷阱。搜索之门,并将搜索结果返回给数据用户;

[0012]数据用户调用智能合约,智能合约根据公平支付规则验证搜索结果内容是否正确

是的,验证通过后,数据用户按照公平支付规则分别向云服务器和数据所有者支付费用,并对搜索结果进行解密。

[0013] 优选地,智能合约包括用户管理合约和公平支付合约,用户管理合约部署有用户列表,每个数据所有者对应一个用户列表,每个用户列表用于存储相关数据所有者与其已验证数据用户的映射关系;

[0014]公平支付合约部署公平支付规则,用于调用基于陷门的用户管理合约对数据用户进行认证,用于触发云服务器基于陷门进行搜索后数据用户已通过身份验证。公平支付规则验证搜索结果的内容是否正确,并限制数据用户根据验证结果分别向云服务器和数据所有者支付费用。

[0015] 优选地,系统参数表示为:

[0016]pp=(PG,H,g,h,f)

[0017]PG=(p,G1,G2,e)

[0018] 其中,α∈Z

p

区块链的关键技术包括哪些

,为数据所有者随机选择的参数;

[0019]G1和G2都代表群,g和h都代表群的生成者,g,h∈G1;

[0020]e 表示双线性映射;

[0021]H表示哈希函数,H:Z

M

Z

p

,Z

M

和Z

p

分别表示M阶和p阶的集合;

[0022]f代表伪随机函数;

[0023]主公钥表示为:

[0024]mpk=(h

α

,N,e')

[0025]其中,N和e'为非对称加密算法RSA的公钥;

[0026]主密钥表示为:

[0027]msk=(α,d)

[0028] 其中,α为Z

p

任意数字

,d为非对称加密算法RSA的私钥。

[0029] 优选地,数据所有者从明文中提取关键字,并根据主密钥对关键字进行加密,生成支持多个关键字搜索的索引,包括以下步骤:

区块链的关键技术包括哪些

[0030]数据所有者拥有m个文档,表示为D=(D1,D2,...,D

),关键词空间记为KS,数据拥有者和数据使用者就关键词集文档D达成一致

包括关键字集

[0031]数据所有者随机选择r

',基于关键字集 W

使用主密钥 alpha,数据所有者执行以下操作以生成支持多个关键字搜索的索引:

[0032]OCSI

j

=f(w

j

)

d

r

'mod N

[0033][0034]其中,i=1,2,...,m,j=1,2,...,n',n'表示文档中包含的关键字个数。

[0035] 优选地,数据所有者对数据用户进行认证,并将认证后的数据用户添加到用户列表中,包括以下步骤:

[0036]数据用户选择他的私钥s和关键字集W',s∈

RZ

p

,根据系统参数、主公钥mpk、用户私钥s、关键字集W'和数据用户与数据所有者约定的关键字集W,数据用户进行如下计算,生成认证信息:

[0037][0038][0039][0040]∑=(∑1,∑2,∑3)

区块链的关键技术包括哪些

[0041]数据用户将上述认证信息∑发送给数据所有者;

[0042]数据拥有者根据鉴权信息∑、关键字集W和主公钥mpk,对上述鉴权信息∑进行如下操作:

[0043]e(∑3,h

α

)=e(∑2,h)

[0044][0045]如果验证通过,数据拥有者通过智能合约将该数据用户添加到对应的用户列表中。

[0046] 优选地,数据用户发起搜索请求,并根据搜索请求生成陷门,包括以下步骤:

[0047]数据用户选择关键字集W'=(w1,w2,...,w

t

),并随机选择 r∈Z

没有

,根据关键字集W'和r,数据用户进行如下计算:

[0048]Y=r

e'

×

f(w1)

×

f(w2)

×

...

×

f(w

t

)

[0049]数据用户向数据拥有者返回Y,数据拥有者进行如下操作:

[0050]Tr'=Y

区块链的关键技术包括哪些

d<

【技术保护点】

【技术特点总结】

1.一种基于区块链的密文关键词搜索方法,其特点是应用于包括区块链和加入区块链的数据拥有者、数据用户和云服务器的系统。智能合约部署在区块链上,智能合约部署有用户列表和公平支付规则。该方法包括以下步骤:数据所有者生成系统参数、主公钥和主密钥,并将系统公开给系统参数和主公钥。数据所有者从明文中提取关键字,基于主密钥对关键字进行加密生成支持多个关键字搜索的索引,对明文进行加密生成密文,并将上述索引和密文结合上传到云服务器;数据用户发起搜索请求,根据搜索请求生成陷门,并将陷门上传到智能合约和云服务器;智能合约根据用户列表对数据用户进行认证,如果认证失败,则由数据所有者对数据用户进行认证,并将认证后的数据用户添加到用户列表中。如果认证通过,云服务器根据陷门进行搜索,并将搜索结果返回给数据用户;数据用户调用智能合约,智能合约验证搜索结果内容是否符合公平支付规则。正确,验证通过后,数据用户按照公平支付规则分别向云服务器和数据所有者支付,并对搜索结果进行解密。 2.根据权利要求1所述的基于区块链的密文关键字搜索方法,其特征在于,所述智能合约包括用户管理合约和公平支付合约,所述用户管理合约部署有用户列表,每个数据拥有者对应用户列表,每个用户列表用于存储相关数据所有者与其已验证数据用户的映射关系;公平支付合约部署公平支付规则,用于基于陷门调用用户管理合约对数据用户进行认证,在数据用户认证通过后触发云服务器基于陷门进行搜索。用于根据公平支付规则验证搜索结果内容是否正确,并根据验证结果将数据用户限制在云服务器上。和数据所有者为此付费。 3.根据权利要求1所述的基于区块链的密文关键字搜索方法,其特征在于,所述系统参数表示为: pp=(PG,H,g,h,f)PG=(p,G1,G2,e)其中α∈Z

p

,数据所有者随机选择的参数; G1和G2都代表组,g和h都代表组的生成器,g,h∈G1; e 表示双线性映射; H表示哈希函数,H :Z

M

Z

p

,Z

M

和Z

p

分别表示M阶和p阶的集合; f 表示伪随机函数;主公钥表示为:mpk=(h

α

,N,e') 其中 N 和 e' 是非对称加密算法 RSA 的公钥;主密钥表示为:msk=(α,d) 其中α为Z

p

任意数字

,d是非对称加密算法RSA的私钥。 4.根据权利要求1所述的基于区块链的密文关键字搜索方法,其特征在于区块链的关键技术包括哪些,数据所有者从明文中提取关键字,并根据主密钥对关键字进行加密,生成支持多个密钥的索引单词搜索,包括以下步骤:

数据所有者拥有m个文档,记为D=(D1,D2,...,D

),关键词空间记为KS,数据拥有者和数据使用者就关键词集文档D达成一致

包含关键字集数据所有者随机选择的r

区块链的关键技术包括哪些

',基于关键字集 W

和主密钥alpha,数据所有者执行以下操作生成索引,支持多个关键字搜索:OCSI

j

=f(w

j

)

d

r

'mod N,其中i=1,2,...,m, j=1,2,...,n',n'表示文档中包含的关键字个数。 5.根据权利要求1所述的基于区块链的密文关键字搜索方法,其特征在于,数据拥有者对数据用户进行认证,并将认证后的数据用户加入用户列表,包括以下步骤: 数据用户选择自己的私钥s和关键字集 W', s∈

R

Z

p

,根据系统参数、主公钥mpk、用户私钥s、关键字集W'和数据用户与数据所有者约定的关键字集W,数据用户进行如下计算,生成认证信息:证书信息: 证书信息: ∑=(∑1,∑2,∑3) 数据用户将上述认证信息∑发送给数据所有者;根据认证信息∑,关键字集W和master public密钥mpk,数据所有者执行以下步骤 操作验证上述认证信息∑:e(∑3,h

α

)=e(∑2,h) 如果验证通过,则数据拥有者通过智能合约将该数据用户添加到相应的用户列表中。 6.根据权利要求1所述的基于区块链的密文关键词搜索方法,其特征在于,数据用户发起搜索请求,并根据搜索请求生成陷门,包括: 数据用户选择关键词集合。 W'=(w1,w2,...,w

t

),并随机选择 r∈Z

没有

,根据关键字集W'和r,数据用户进行如下计算:Y=r

【专利技术属性】

技术研发人员:于继国、刘希如、王应龙、董安明、

申请人(专利权):齐鲁工业大学,

类型:发明

国家省份:

下载所有详细的技术数据我是该专利的所有者