System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种支持多用户的可验证动态对称可搜索加密方法技术_技高网
当前位置: 首页 > 专利查询>淮阴工学院专利>正文

一种支持多用户的可验证动态对称可搜索加密方法技术

技术编号:41323240 阅读:3 留言:0更新日期:2024-05-13 15:01
本发明专利技术公开了一种支持多用户的可验证动态对称可搜索加密方法,系统初始化公开系统参数,设定密钥和搜索单价;采用位图索引方式对数据库文件建立加密索引;数据所有者使用对称密钥对数据库文件进行加密得到密文;用户通过陷门计算得到搜索令牌;智能合约收到用户发送的搜索令牌执行搜索操作;云服务器检索密文阶段,云服务器收到文件标识符后检索相应的密文;用户通过验证信息判断结果是否正确。与现有技术相比,本发明专利技术在动态更新过程中可以实现数据去重更新,避免了数据库中的数据重复;使用智能合约作为可信第三方进行检索,解决检索结果不正确的问题;对云服务器发送给用户的信息进行验证,避免恶意服务器对数据的篡改。

【技术实现步骤摘要】

本专利技术涉及信息安全,特别涉及一种支持多用户的可验证动态对称可搜索加密方法


技术介绍

1、云存储的兴起降低了用户的存储成本和管理开销,为人们提供了巨大的便利。许多个人或企业倾向于将其数据存储在云服务器中。然而,在实际生活中,云服务器是不可信的。为了提升用户的隐私保护水平,数据通常以加密方式存储在云服务器上。这种安全措施也带来了一个新的问题,即如何在加密的情况下实现快速数据检索。因此,对称可搜索加密技术随之应运而生。

2、对称可搜索加密是一种加密技术,允许在加密状态下对数据进行搜索而不泄露明文信息。与传统的对称加密方式不同,对称可搜索加密专注于在加密的数据集上实现有效的搜索操作。基本的对称可搜索加密方案包括以下几个主要组成部分:加密阶段、搜索阶段、匹配阶段、解密阶段。一直以来,关于对称可搜索加密方案层出不穷,2013年,premasathian首次提出了多关键词检索方案,该方案利用与运算将关键词进行连接。2019年,lanxiang等人通过复杂的逻辑表达式构建索引并存储在区块链中,以便数据用户可以利用这些表达式来搜索索引,区块链技术的使用确保了索引的完整性、防篡改性和可追溯性。2021年,najafi等人构造了支持多关键词查询的结果可验证对称可搜索加密方案。

3、现有方案大部分存在以下问题:1)可核查性。云服务器可能是恶意的,它可能返回一些伪造或篡改的结果。为了返回用户感兴趣的结果,应该保证返回结果的正确性和完整性。2)动态。数据所有者经常添加或删除存储数据。因此,支持动态更新是对称可搜索加密方案不可或缺的组成部分。


技术实现思路

1、专利技术目的:针对
技术介绍
中提出的问题,本专利技术提出了一种支持多用户的可验证动态对称可搜索加密方法,在动态更新的过程中可以实现更新数据去重,避免了数据库中的数据重复;使用智能合约作为可信第三方进行检索工作,可以解决检索结果不正确的问题;对云服务器发送给用户的信息进行验证,避免了恶意服务器对数据的篡改。

2、技术方案:本专利技术的目的是提供一种支持多用户的可验证动态对称可搜索加密方法,包括以下步骤:

3、步骤1:系统初始化;设定系统公开参数、密钥和搜索单价;

4、步骤2:索引构建;数据所有者根据文件集、关键字集、系统公开参数和密钥去构建索引,其中为搜索表,为文件表,并将索引上传到区块链的智能合约上;

5、步骤3:密文构建;数据所有者使用对称密钥对明文进行加密,得到密文以及验证表,所述验证表中保存有验证信息,验证信息由文件标识符和哈希结果组成,令,;

6、步骤4:搜索陷门;用户输入参数以及一个查询关键词集合,最终得到搜索令牌;

7、步骤5:文档检索;智能合约通过交易获得用户发送的搜索令牌后,执行搜索操作,把搜索到的结果集和验证信息发送给用户,把搜索到的结果集发送给云服务器;

8、步骤6:云服务器检索密文;云服务器收到文件标识符后检索相应的密文并把搜索的密文发送给用户;

9、步骤7:结果验证;智能合约把搜索结果集和验证信息给用户,云服务器把文档标识符和密文发送给用户,用户验证结果是否正确。

10、进一步地,所述步骤1中系统初始化,包括以下步骤:

11、s1.1:为,为伪随机函数,为伪随机排列,为抗碰撞的哈希函数,密钥为,为加密明文的密钥,为生成关键字标识的密钥,为加密索引的密钥,;

12、s1.2:数据所有者设置每次搜索价格;

13、s1.3:用户设置押金;

14、s1.4:用户设置搜索时间限制。

15、进一步地,所述步骤2中数据所有者进行索引构建,包括以下步骤:

16、s2.1:初始化搜索表和文件表;

17、s2.2:对于关键字集中的每个关键字,数据所有者计算为每个关键字生成一个关键字标识,对于文件集中的每个文件,检查文件是否包含关键词;如果包含,则计算,为文件生成一个位置编号,设置把关键字位图的第位设置为,其余位置设置为,得到关键字的位图;计算加密后的位图索引,其中,,为随机数,最后把的值存储到搜索表中;

18、s2.3:对于文件集中的每个文件,数据所有者计算为每个文件生成一个文件标识符;对于关键字集中的每个关键字,检查关键字是否存在于文件;如果存在,则计算为关键字生成一个位置编号,设置把文件位图的第位设置为,其余位置设置为,得到文件的位图;计算加密后的位图索引,其中,,为随机数,最后把的值存储到表中;

19、s2.4:把加密索引上传到区块链的智能合约上。

20、进一步地,所述步骤3中数据所有者进行密文构建,包括以下步骤:

21、s3.1:对文件集中的每个文件计算密文,把密文存在密文表中,令;

22、s3.2:计算,将文件标识符和密文运用哈希函数得到哈希结果,验证信息由文件标识符和哈希结果组成,令,把验证信息存在验证表中,令;

23、s3.3:将密文表发送给云服务器,验证表发送给智能合约。

24、进一步地,所述步骤4中用户生成搜索陷门,包括以下步骤:

25、s4.1:用户对查询关键词集合里的每一个关键词执行以下计算:

26、先计算得到关键词的标识符,再计算得到解密索引的密钥,每个关键词的搜索陷门为;

27、s4.2:用户把个关键词的搜索陷门放到集合里最终形成多关键字搜索陷门。

28、进一步地,所述步骤5中文档检索,包括以下步骤:

29、s5.1:判断当前搜索时间是否小于时间限制,如果小于继续执行s5.2,否则交易取消;

30、s5.2:判断是否成立,若结果成立继续执行第三步,否则交易取消,为用户押金,为用户的燃料限制,为燃料单价,为每次搜索价格;

31、s5.3:智能合约收到搜索陷门后逐一处理陷门中的每个,首先判断是否存在于搜索表中,如果存在,则从搜索表中获取加密位图索引,再计算关键字的位图,从而得到所有位图{},否则,返回不存在;

32、s5.4:计算,对所有位图{}执行与运算得到结果位图;

33、s5.5:若位图中,将位置编号放入结果集中,根据位置编号检索验证表得到验证信息;

34、s5.6:智能合约将结果集发送给云服务器,云服务器收到结果集后交一个保证金给智能合约,在用户验证完成后,将会退还;智能合约将结果集和验证信息发送给用户;

35、s5.7:智能合约在执行完一个搜索操作之后,将会执行下一个多关键字的检索操作,同时,从相应的押金中扣除相应的检索费用,直到用户押金的金额满足不了下一次搜索,区块链系统会返回押金账户金额不足的提示信息,其中是指燃料消耗。

36、进一步地,所述步骤7中用户进行结果验证,包括以下步骤:

37、s7.1:用户检查云服务器发送的文档标识符与智能合约发送的搜索结果集里面的文档标识符是否一致,若一致,则进行s7.2;若本文档来自技高网...

【技术保护点】

1.一种支持多用户的可验证动态对称可搜索加密方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的适用于支持多用户的可验证动态对称可搜索加密方法,其特征在于,所述步骤1中系统初始化,包括以下步骤:

3.根据权利要求2所述的适用于支持多用户的可验证动态对称可搜索加密方法,其特征在于,所述步骤2中数据所有者进行索引构建,包括以下步骤:

4.根据权利要求2所述的适用于支持多用户的可验证动态对称可搜索加密方法,其特征在于,所述步骤3中数据所有者进行密文构建,包括以下步骤:

5.根据权利要求2所述的适用于支持多用户的可验证动态对称可搜索加密方法,其特征在于,所述步骤4中用户生成搜索陷门,包括以下步骤:

6.根据权利要求3所述的适用于支持多用户的可验证动态对称可搜索加密方法,其特征在于,所述步骤5中文档检索,包括以下步骤:

7.根据权利要求6所述的适用于支持多用户的可验证动态对称可搜索加密方法,其特征在于,所述步骤7中用户进行结果验证,包括以下步骤:

8.根据权利要求3所述的适用于支持多用户的可验证动态对称可搜索加密方法,其特征在于,还包括步骤8:更新数据去重,根据要更新文档的文档标识符检索文件表,若更新文档不在其中,则返回不存在;否则,返回文档加密索引,包括以下步骤:

9.根据权利要求8所述的适用于支持多用户的可验证动态对称可搜索加密方法,其特征在于,还包括步骤9:添加文档,根据需要添加的文件和需要添加的关键字,对搜索表、文件表、密文表、验证表进行更新,包括以下步骤:

10.根据权利要求3所述的适用于支持多用户的可验证动态对称可搜索加密方法,其特征在于,还包括步骤10:删除文档,根据需要删除的文件和需要删除的关键字,对搜索表、文件表、密文表、验证表进行更新,包括以下步骤:

...

【技术特征摘要】

1.一种支持多用户的可验证动态对称可搜索加密方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的适用于支持多用户的可验证动态对称可搜索加密方法,其特征在于,所述步骤1中系统初始化,包括以下步骤:

3.根据权利要求2所述的适用于支持多用户的可验证动态对称可搜索加密方法,其特征在于,所述步骤2中数据所有者进行索引构建,包括以下步骤:

4.根据权利要求2所述的适用于支持多用户的可验证动态对称可搜索加密方法,其特征在于,所述步骤3中数据所有者进行密文构建,包括以下步骤:

5.根据权利要求2所述的适用于支持多用户的可验证动态对称可搜索加密方法,其特征在于,所述步骤4中用户生成搜索陷门,包括以下步骤:

6.根据权利要求3所述的适用于支持多用户的可验证动态对称可搜索加密方法,其特征在于,所述步骤5中文档检索,包括以下步骤:

7...

【专利技术属性】
技术研发人员:李佼佼周蕾孔令文李路路张文杰金春花于长辉王洪亚单劲松
申请(专利权)人:淮阴工学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1