CN114048448A - 基于区块链的动态可搜索加密方法及装置 - Google Patents

基于区块链的动态可搜索加密方法及装置 Download PDF

Info

Publication number
CN114048448A
CN114048448A CN202111404417.0A CN202111404417A CN114048448A CN 114048448 A CN114048448 A CN 114048448A CN 202111404417 A CN202111404417 A CN 202111404417A CN 114048448 A CN114048448 A CN 114048448A
Authority
CN
China
Prior art keywords
data
encryption
data file
keywords
query
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111404417.0A
Other languages
English (en)
Inventor
高胜
陈雨琪
朱建明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Central university of finance and economics
Original Assignee
Central university of finance and economics
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Central university of finance and economics filed Critical Central university of finance and economics
Priority to CN202111404417.0A priority Critical patent/CN114048448A/zh
Publication of CN114048448A publication Critical patent/CN114048448A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及网络信息安全技术领域,特别涉及一种基于区块链的动态可搜索加密方法及装置,方法包括:使用对称加密算法对数据拥有者的数据文件进行加密,并获取加密文件上传至IPFS网络的唯一标识符;从数据文件中抽取关键字,并利用预设加密算法对关键字进行加密运算,以生成安全索引;将唯一标识符和安全索引上传至区块链网络,根据认证请求对数据用户进行身份认证,在认证通过后发送秘密参数给数据用户,以使得数据用户利用根据秘密参数和搜索请求中的至少一个关键字加密生成的查询陷门在区块链网络上进行搜索。由此,解决了相关技术中由第三方服务器实现加密数据的存储和检索,导致数据隐私泄露、查询结果不可信、单点失效、数据存储低效等问题。

Description

基于区块链的动态可搜索加密方法及装置
技术领域
本申请涉及网络信息安全技术领域,特别涉及一种基于区块链的动态可搜索加密方法及装置。
背景技术
随着云计算技术的发展,作为允许数据用户在密文空间进行关键字检索的一项新兴技术,可搜索加密技术正逐渐成为安全搜索领域的核心。然而,相关技术中的可搜索加密方案中,由于加密数据的存储和检索均是由第三方服务器来完成,因此会存在数据隐私泄露、查询结果不可信、单点失效、数据存储低效等问题,亟待解决。
发明内容
本申请提供一种基于区块链的动态可搜索加密方法、装置、电子设备及存储介质,以解决相关技术中由第三方服务器实现加密数据的存储和检索,导致数据隐私泄露、查询结果不可信、单点失效、数据存储低效等问题。
本申请第一方面实施例提供一种基于区块链的动态可搜索加密方法,包括以下步骤:使用对称加密算法对数据拥有者的数据文件进行加密,并将加密后的数据文件上传至IPFS网络,并获取所述加密后的数据文件在所述IPFS网络的唯一标识符;从所述数据文件中抽取关键字,并利用预设加密算法对所述关键字进行加密运算,以生成安全索引;将所述唯一标识符和所述安全索引上传至区块链网络,根据认证请求对数据用户进行身份认证,在认证通过后发送秘密参数给所述数据用户,以使得所述数据用户利用根据所述秘密参数和搜索请求生成的查询陷门在所述区块链网络上进行搜索。
进一步地,所述从所述数据文件中抽取关键字,并利用预设加密算法对所述关键字进行加密运算,以生成安全索引,包括:根据从所述数据文件中抽取关键字生成关键字集合;并根据随机生成的临时密钥对所述关键字集合中的所有关键字进行加密运算,并在布隆过滤器中对级联后的关键字进行哈希运算计算的位置进行填充得到所述安全索引。
进一步地,在生成安全索引之后,还包括:根据从所述数据文件中抽取新关键字生成新关键字集合;对所述新关键字集合创建新安全索引,并利用所述新安全索引对所述数据文件的安全索引进行更新。
进一步地,在使用对称加密算法对数据拥有者的数据文件进行加密之前,还包括:对所述数据拥有者进行身份验证;在所述数据拥有者验证通过后,根据所述数据拥有者的共享参数生成秘密参数。
进一步地,所述查询陷门为:
Figure BDA0003372256130000021
其中,
Figure BDA0003372256130000022
表示所述搜索请求中的关键字集合,u表示所述数据用户,T1表示查询陷门中被链上节点用于和索引进行匹配所需要的关键参数,
Figure BDA0003372256130000023
表示对查询集合中所有关键字进行加密运算后的值,
Figure BDA0003372256130000024
表示查询集合的大小,即查询关键字的个数,h(wk)表示第k个关键字的哈希值,wk表示第k个关键字,k∈[1,n],n为正整数,T2表示链上节点进行匹配运算时所需要的一个参数,T3表示链上节点进行匹配运算时所需要的另一个参数,
Figure BDA0003372256130000025
表示哈希值,H1(),H2(),…,Hn()表示哈希函数,w1表示第1个查询关键字,w2表示第2个查询关键字,
Figure BDA0003372256130000026
表示第
Figure BDA0003372256130000027
个查询关键字,||表示级联运算,
Figure BDA0003372256130000028
表示qu的逆,q2表示所述秘密参数,qu和ru表示所述数据用户从哈希函数中随机选择的临时密钥。
本申请第二方面实施例提供一种基于区块链的动态可搜索加密装置,包括:第一加密模块,用于使用对称加密算法对数据拥有者的数据文件进行加密,并将加密后的数据文件上传至IPFS网络,并获取所述加密后的数据文件在所述IPFS网络的唯一标识符;第二加密模块,用于从所述数据文件中抽取关键字,并利用预设加密算法对所述关键字进行加密运算,以生成安全索引;搜索模块,用于将所述唯一标识符和所述安全索引上传至区块链网络,根据认证请求对数据用户进行身份认证,在认证通过后发送秘密参数给所述数据用户,以使得所述数据用户利用根据所述秘密参数和搜索请求生成的查询陷门在所述区块链网络上进行搜索。
进一步地,所述第二加密模块用于根据从所述数据文件中抽取关键字生成关键字集合,并根据随机生成的临时密钥对所述关键字集合中的所有关键字进行加密运算,并在布隆过滤器中对级联后的关键字进行哈希运算计算的位置进行填充得到所述安全索引。
进一步地,还包括:更新模块,用于在生成安全索引之后,根据从所述数据文件中抽取新关键字生成新关键字集合,对所述新关键字集合创建新安全索引,并利用所述新安全索引对所述数据文件的安全索引进行更新;验证模块,用于在使用对称加密算法对数据拥有者的数据文件进行加密之前,对所述数据拥有者进行身份验证,在所述数据拥有者验证通过后,根据所述数据拥有者的共享参数生成秘密参数。
本申请第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现上述实施例所述的基于区块链的动态可搜索加密方法。
本申请第四方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现上述实施例所述的基于区块链的动态可搜索加密方法。
由此,本申请至少具有如下有益效果:
可以在无第三方可信机构参与的情况下实现对加密数据安全高效的检索,并有效保护了数据用户的多关键字查询隐私,通过引入区块链和IPFS保证了查询结果可信性,提高了加密文档的存储安全性和效率。由此,解决了相关技术中由第三方服务器实现加密数据的存储和检索,导致数据隐私泄露、查询结果不可信、单点失效、数据存储低效等技术问题。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请实施例提供的基于区块链的动态可搜索加密方法的流程示意图;
图2为根据本申请实施例提供的基于区块链的动态可搜索加密系统的模型示例图;
图3为根据本申请一个实施例提供的基于区块链的动态可搜索加密方法的流程示意图;
图4为根据本申请实施例提供的数据文档对应索引的示例图;
图5为根据本申请实施例提供的基于区块链的动态可搜索加密装置的示例图;
图6为根据本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
区块链作为一项包含了密码学和共识算法的新兴技术,具有分布式可信、公开透明、信息不可篡改等优良特性。因此,为了解决上述问题,区块链开始被应用于可搜索加密技术来替代第三方云服务器的角色。然而,现有的基于区块链的可搜索加密方案只解决了上述的部分问题,本申请实施例可以结合分布式技术提出基于区块链的动态可搜索加密框架,实现数据查询隐私保护和查询结果可信性,同时支持对加密文档安全高效的存储。
下面参考附图描述本申请实施例的基于区块链的动态可搜索加密方法、装置、电子设备及存储介质。针对上述背景技术中提到的相关技术中由第三方服务器实现加密数据的存储和检索,导致数据隐私泄露、查询结果不可信、单点失效、数据存储低效等问题,本申请提供了一种基于区块链的动态可搜索加密方法,在该方法中,可以在无第三方可信机构参与的情况下实现对加密数据安全高效的检索,并有效保护了数据用户的多关键字查询隐私,通过引入区块链和IPFS保证了查询结果可信性,提高了加密文档的存储安全性和效率。由此,解决了相关技术中由第三方服务器实现加密数据的存储和检索,导致数据隐私泄露、查询结果不可信、单点失效、数据存储低效等技术问题。
具体而言,图1为本申请实施例所提供的一种基于区块链的动态可搜索加密方法的流程示意图。
需要说明的是,本申请实施例的方法可以应用在各个领域内与可搜索加密相关的场景中,以下实施例中,本申请实施例涉及的实体如图2所示,可以包括数据拥有者、数据用户、区块链网络和IPFS网络。
如图1所示,该基于区块链的动态可搜索加密方法包括以下步骤:
在步骤S101中,使用对称加密算法对数据拥有者的数据文件进行加密,并将加密后的数据文件上传至IPFS网络,并获取加密后的数据文件在IPFS网络的唯一标识符。
可以理解的是,数据拥有者可以使用对称加密算法对数据文件进行加密,将加密文档上传至IPFS网络并记录下文件在网络中的唯一标识符。其中,IPFS在系统中则负责存储加密文档,从而可以实现更加安全高效的加密文档存储。
在本实施例中,在使用对称加密算法对数据拥有者的数据文件进行加密之前,还包括:对数据拥有者进行身份验证;在数据拥有者验证通过后,根据数据拥有者的共享参数生成秘密参数。
可以理解的是,在如图2所示的系统正式运行之前,需要先对系统进行初始化操作。
具体而言,如图3所示,在该阶段,需要向系统输入一个安全参数l用来生成相关参数。G1和G2是两个具有相同阶数q的乘法循环群,且g是G1的一个生成元。同时,G1×G1→G2
Figure BDA0003372256130000041
分别代表一个双线性映射e和一个哈希函数。初始化阶段的主要任务是生成两个l比特长的素数
Figure BDA0003372256130000042
且满足q=q1·q2
所有数据拥有者在进入系统之前都需要进行严格的身份验证,经过验证的数据拥有者将秘密共享参数q1和q2,而经过数据拥有者认证的数据用户则通过安全信道获得参数q2用于后续生成查询陷门。
在步骤S102中,从数据文件中抽取关键字,并利用预设加密算法对关键字进行加密运算,以生成安全索引。
可以理解的是,数据拥有者是负责对数据文档抽取关键字,构建相应索引的个体,具体地,本申请实施例可以为数据文档抽取关键字并对这些关键字进行相应加密运算来生成对应的索引。
在本实施例中,从数据文件中抽取关键字,并利用预设加密算法对关键字进行加密运算,以生成安全索引,包括:根据从数据文件中抽取关键字生成关键字集合;并根据随机生成的临时密钥对关键字集合中的所有关键字进行加密运算,并在布隆过滤器中对级联后的关键字进行哈希运算计算的位置进行填充得到所述安全索引。
可以理解的是,在搜索阶段,索引被用来直接与查询陷门进行匹配,因此索引的安全创建与更新在本方案中十分重要。
具体而言,如图3所示,数据拥有者进行安全索引的创建包括:
索引本质上是一个属性布隆过滤器,给定第i个数据拥有者DOi第j个文件的关键字集合Wi,j,数据拥有者DOi首先随机选择一个临时密钥ski,j,对于关键字集合Wi,j中的所有关键字,DOi计算
Figure BDA0003372256130000051
接下来DOi随机生成n-1个元素
Figure BDA0003372256130000052
并对第n个元素作如下操作:
Figure BDA0003372256130000053
然后,DOi用n个独立的哈希函数H1(),H2(),…,Hn()对
Figure BDA0003372256130000054
作哈希运算得到:
Figure BDA0003372256130000055
其中,每个
Figure BDA0003372256130000056
代表属性布隆过滤器中的地址。如图4所示,索引将会按照
Figure BDA0003372256130000057
所标示的位置来存储第k个随机元素。
在为数据文档Fi,j创建好索引后,数据拥有者会将索引与加密文档在IPFS中的存储地址以交易的形式上传至区块链,同时区块链上的各节点也会将该比交易的交易序号
Figure BDA0003372256130000058
添加到有效交易序号列表中。
在本实施例中,在生成安全索引之后,还包括:根据从数据文件中抽取新关键字生成新关键字集合;对新关键字集合创建新安全索引,并利用新安全索引对数据文件的安全索引进行更新。
具体而言,如图3所示,数据拥有者进行安全索引的更新包括:
如果需要为数据文档Fi,j更新索引,那么数据拥有者首先根据文档的新关键字集按照上述方法创建新索引,之后同样将新的索引及加密文档的存储地址以交易的形式上传并注明该笔交易是对之前交易的更新,最后区块链上各节点将交易序号
Figure BDA0003372256130000059
替换有效交易序号列表中的
Figure BDA00033722561300000510
更新步骤完成。
在步骤S103中,将唯一标识符和安全索引上传至区块链网络,根据认证请求对数据用户进行身份认证,在认证通过后发送秘密参数给数据用户,以使得数据用户利用根据秘密参数和搜索请求中的至少一个关键字加密生成的查询陷门在区块链网络上进行搜索。
其中,区块链主要负责执行搜索操作,在收到数据用户的查询陷门后,区块链上的各节点会根据维护的有效交易序号列表遍历对应序号的交易将陷门与文档索引进行匹配,并在经过共识后将查询结果返回给数据用户。
可以理解的是,本申请实施例可以将安全索引和IPFS的唯一标识符一起上传至区块链,经过数据拥有者认证的数据用户可以根据自己想要搜索的关键字构建陷门发送至区块链网络进行搜索。由此,本申请实施例可以实现对数据用户查询隐私保护的多关键字搜索,支持多数据拥有者和多数据用户设定下的可搜索加密,保证搜索结果的可信性,同时实现对加密文档的关键字更新。
具体而言,如图3所示,步骤S103可以包括查询陷门生成、链上搜索和IPFS搜索,其中,
1、查询陷门生成
经过验证的数据用户通过参数q2和两个随机生成的密钥对想要搜索的多关键字进行加密从而生成对应的查询陷门。具体来说,给定一个查询关键字集
Figure BDA0003372256130000061
数据用户u首先从
Figure BDA0003372256130000062
中选择一个临时密钥qu,对于
Figure BDA0003372256130000063
中的所有关键字
Figure BDA0003372256130000064
u计算
Figure BDA0003372256130000065
同时u还需计算n个哈希值
Figure BDA0003372256130000066
接下了u再从
Figure BDA0003372256130000067
中选择另一个临时密钥ru计算出
Figure BDA0003372256130000068
Figure BDA0003372256130000069
对于一个查询关键字集
Figure BDA00033722561300000610
查询陷门表示如下:
Figure BDA00033722561300000611
其中,
Figure BDA00033722561300000612
表示搜索请求中的关键字集合,u表示数据用户,T1表示查询陷门中被链上节点用于和索引进行匹配所需要的关键参数,
Figure BDA00033722561300000613
表示对查询集合中所有关键字进行加密运算后的值,
Figure BDA00033722561300000614
表示查询集合的大小,即查询关键字的个数,h(wk)表示第k个关键字的哈希值,wk表示第k个关键字,k∈[1,n],n为正整数,T2表示链上节点进行匹配运算时所需要的一个参数,T3表示链上节点进行匹配运算时所需要的另一个参数,
Figure BDA00033722561300000615
表示哈希值,H1(),H2(),…,Hn()表示哈希函数,w1表示第1个查询关键字,w2表示第2个查询关键字,
Figure BDA00033722561300000616
表示第
Figure BDA00033722561300000617
个查询关键字,||表示级联运算,
Figure BDA0003372256130000071
表示qu的逆,q2表示秘密参数,qu和ru表示数据用户从哈希函数中随机选择的临时密钥。
2、链上搜索
区块链由一系列节点构成,除了存储加密文档索引和IPFS地址,区块链还负责为数据用户在密文空间执行搜索操作。以文档Fi,j的索引为例,在收到由数据用户u发送的查询陷门
Figure BDA0003372256130000072
后,区块链上的所有节点首先根据陷门从索引中的n个哈希函数
Figure BDA0003372256130000073
所代表的位置取出对应的元素
Figure BDA0003372256130000074
然后按如下方式计算
Figure BDA0003372256130000075
Figure BDA0003372256130000076
接下来各节点判断如下等式是否成立:
Figure BDA0003372256130000077
如果等式成立,那么数据文件Fi,j就是满足数据用户查询条件的文件,节点会将文件Fi,j在IPFS中的唯一标识符添加到列表
Figure BDA0003372256130000078
中。上述等式的正确性证明如下:
Figure BDA0003372256130000079
Figure BDA00033722561300000710
如果查询关键字集
Figure BDA00033722561300000711
与文件Fi,j的关键字集Wi,j包含相同关键字,则等式一定成立。在各节点完成了搜索算法后,整个区块链网络会使用特定的共识算法对搜索结果达成一致以消除恶意节点的影响。在收到各节点发送的列表
Figure BDA00033722561300000712
后,主节点会与上传
Figure BDA00033722561300000713
中文档的数据拥有者交互来获得对应的解密密钥并将其添加到一个新的列表
Figure BDA0003372256130000081
中。最后,主节点会将列表
Figure BDA0003372256130000082
Figure BDA0003372256130000083
一起返回给数据用户。
3、IPFS搜索
在该阶段,数据用户首先会将存有符合查询条件数据文档在IPFS中唯一标识符的列表
Figure BDA0003372256130000084
发送给本地节点,之后本地节点会进行查询并判断表
Figure BDA0003372256130000085
中对应的加密文档是否在储存在该节点的存储设备中。若存在,那么该节点会直接将加密文档返回给数据用户,若不存在,那么本地节点将继续和存有对应加密文档的节点进行交互,再将文档返回给数据用户。
综上,本申请实施例提供了一种在无可信第三方机构参与情况下的分布式可搜索加密架构,可以使用属性布隆过滤器保护了数据用户的多关键字查询隐私,同时支持多数据拥有者和多数据用户设定下的文档索引动态更新;且与传统的可搜索加密方案相比,通过引入区块链和IPFS保证了查询结果可信性,并提高了加密文档的存储安全性和效率。
根据本申请实施例提出的基于区块链的动态可搜索加密方法,可以在无第三方可信机构参与的情况下实现对加密数据安全高效的检索,并有效保护了数据用户的多关键字查询隐私,通过引入区块链和IPFS保证了查询结果可信性,提高了加密文档的存储安全性和效率。
其次参照附图描述根据本申请实施例提出的基于区块链的动态可搜索加密装置。
图5是本申请实施例的基于区块链的动态可搜索加密装置的方框示意图。
如图5所示,该基于区块链的动态可搜索加密装置10包括:第一加密模块100、第二加密模块200和搜索模块300。
其中,第一加密模块100用于使用对称加密算法对数据拥有者的数据文件进行加密,并将加密后的数据文件上传至IPFS网络,并获取加密后的数据文件在IPFS网络的唯一标识符;第二加密模块200用于从数据文件中抽取关键字,并利用预设加密算法对关键字进行加密运算,以生成安全索引;搜索模块300用于将唯一标识符和安全索引上传至区块链网络,根据认证请求对数据用户进行身份认证,在认证通过后发送秘密参数给数据用户,以使得数据用户利用根据秘密参数和搜索请求生成的查询陷门在区块链网络上进行搜索。
进一步地,第二加密模块200用于根据从数据文件中抽取关键字生成关键字集合,并根据随机生成的临时密钥对关键字集合中的所有关键字进行加密运算,并在布隆过滤器中对级联后的关键字进行哈希运算计算的位置进行填充得到所述安全索引。
进一步地,本申请实施例的装置10还包括:更新模块和验证模块。
其中,更新模块,用于在生成安全索引之后,根据从数据文件中抽取新关键字生成新关键字集合,对新关键字集合创建新安全索引,并利用新安全索引对数据文件的安全索引进行更新;验证模块,用于在使用对称加密算法对数据拥有者的数据文件进行加密之前,对数据拥有者进行身份验证,在数据拥有者验证通过后,根据数据拥有者的共享参数生成秘密参数。
需要说明的是,前述对基于区块链的动态可搜索加密方法实施例的解释说明也适用于该实施例的基于区块链的动态可搜索加密装置,此处不再赘述。
根据本申请实施例提出的基于区块链的动态可搜索加密装置,可以在无第三方可信机构参与的情况下实现对加密数据安全高效的检索,并有效保护了数据用户的多关键字查询隐私,通过引入区块链和IPFS保证了查询结果可信性,提高了加密文档的存储安全性和效率。
图6为本申请实施例提供的电子设备的结构示意图。该电子设备可以包括:
存储器601、处理器602及存储在存储器601上并可在处理器602上运行的计算机程序。
处理器602执行程序时实现上述实施例中提供的基于区块链的动态可搜索加密方法。
进一步地,电子设备还包括:
通信接口603,用于存储器601和处理器602之间的通信。
存储器601,用于存放可在处理器602上运行的计算机程序。
存储器601可能包含高速RAM(Random Access Memory,随机存取存储器)存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。
如果存储器601、处理器602和通信接口603独立实现,则通信接口603、存储器601和处理器602可以通过总线相互连接并完成相互间的通信。总线可以是ISA(IndustryStandard Architecture,工业标准体系结构)总线、PCI(Peripheral Component,外部设备互连)总线或EISA(Extended Industry Standard Architecture,扩展工业标准体系结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器601、处理器602及通信接口603,集成在一块芯片上实现,则存储器601、处理器602及通信接口603可以通过内部接口完成相互间的通信。
处理器602可能是一个CPU(Central Processing Unit,中央处理器),或者是ASIC(Application Specific Integrated Circuit,特定集成电路),或者是被配置成实施本申请实施例的一个或多个集成电路。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的基于区块链的动态可搜索加密方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列,现场可编程门阵列等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

Claims (10)

1.一种基于区块链的动态可搜索加密方法,其特征在于,包括以下步骤:
使用对称加密算法对数据拥有者的数据文件进行加密,并将加密后的数据文件上传至IPFS网络,并获取所述加密后的数据文件在所述IPFS网络的唯一标识符;
从所述数据文件中抽取关键字,并利用预设加密算法对所述关键字进行加密运算,以生成安全索引;以及
将所述唯一标识符和所述安全索引上传至区块链网络,根据认证请求对数据用户进行身份认证,在认证通过后发送秘密参数给所述数据用户,以使得所述数据用户利用根据所述秘密参数和搜索请求中的至少一个关键字加密生成的查询陷门在所述区块链网络上进行搜索。
2.根据权利要求1所述的方法,其特征在于,所述从所述数据文件中抽取关键字,并利用预设加密算法对所述关键字进行加密运算,以生成安全索引,包括:
根据从所述数据文件中抽取关键字生成关键字集合;
并根据随机生成的临时密钥对所述关键字集合中的所有关键字进行加密运算,并在布隆过滤器中对级联后的关键字进行哈希运算计算的位置进行填充得到所述安全索引。
3.根据权利要求2所述的方法,其特征在于,在生成安全索引之后,还包括:
根据从所述数据文件中抽取新关键字生成新关键字集合;
对所述新关键字集合创建新安全索引,并利用所述新安全索引对所述数据文件的安全索引进行更新。
4.根据权利要求1所述的方法,其特征在于,在使用对称加密算法对数据拥有者的数据文件进行加密之前,还包括:
对所述数据拥有者进行身份验证;
在所述数据拥有者验证通过后,根据所述数据拥有者的共享参数生成秘密参数。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述查询陷门为:
Figure FDA0003372256120000011
其中,
Figure FDA0003372256120000012
表示所述搜索请求中的关键字集合,u表示所述数据用户,T1表示查询陷门中被链上节点用于和索引进行匹配所需要的关键参数,
Figure FDA0003372256120000013
表示对查询集合中所有关键字进行加密运算后的值,
Figure FDA0003372256120000014
表示查询集合的大小,即查询关键字的个数,h(wk)表示第k个关键字的哈希值,wk表示第k个关键字,k∈[1,n],n为正整数,T2表示链上节点进行匹配运算时所需要的一个参数,T3表示链上节点进行匹配运算时所需要的另一个参数,
Figure FDA0003372256120000021
表示哈希值,H1(),H2(),...,Hn()表示哈希函数,w1表示第1个查询关键字,w2表示第2个查询关键字,
Figure FDA0003372256120000022
表示第
Figure FDA0003372256120000023
个查询关键字,||表示级联运算,
Figure FDA0003372256120000024
表示qu的逆,q2表示所述秘密参数,qu和ru表示所述数据用户从哈希函数中随机选择的临时密钥。
6.一种基于区块链的动态可搜索加密装置,其特征在于,包括:
第一加密模块,用于使用对称加密算法对数据拥有者的数据文件进行加密,并将加密后的数据文件上传至IPFS网络,并获取所述加密后的数据文件在所述IPFS网络的唯一标识符;
第二加密模块,用于从所述数据文件中抽取关键字,并利用预设加密算法对所述关键字进行加密运算,以生成安全索引;以及
搜索模块,用于将所述唯一标识符和所述安全索引上传至区块链网络,根据认证请求对数据用户进行身份认证,在认证通过后发送秘密参数给所述数据用户,以使得所述数据用户利用根据所述秘密参数和搜索请求中的至少一个关键字加密生成的查询陷门在所述区块链网络上进行搜索。
7.根据权利要求6所述的装置,其特征在于,所述第二加密模块用于根据从所述数据文件中抽取关键字生成关键字集合,并根据随机生成的临时密钥对所述关键字集合中的所有关键字进行加密运算,并在布隆过滤器中对级联后的关键字进行哈希运算计算的位置进行填充得到所述安全索引。
8.根据权利要求7所述的装置,其特征在于,还包括:
更新模块,用于在生成安全索引之后,根据从所述数据文件中抽取新关键字生成新关键字集合,对所述新关键字集合创建新安全索引,并利用所述新安全索引对所述数据文件的安全索引进行更新;
验证模块,用于在使用对称加密算法对数据拥有者的数据文件进行加密之前,对所述数据拥有者进行身份验证,在所述数据拥有者验证通过后,根据所述数据拥有者的共享参数生成秘密参数。
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1-5任一项所述的基于区块链的动态可搜索加密方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以用于实现如权利要求1-5任一项所述的基于区块链的动态可搜索加密方法。
CN202111404417.0A 2021-11-24 2021-11-24 基于区块链的动态可搜索加密方法及装置 Pending CN114048448A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111404417.0A CN114048448A (zh) 2021-11-24 2021-11-24 基于区块链的动态可搜索加密方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111404417.0A CN114048448A (zh) 2021-11-24 2021-11-24 基于区块链的动态可搜索加密方法及装置

Publications (1)

Publication Number Publication Date
CN114048448A true CN114048448A (zh) 2022-02-15

Family

ID=80210751

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111404417.0A Pending CN114048448A (zh) 2021-11-24 2021-11-24 基于区块链的动态可搜索加密方法及装置

Country Status (1)

Country Link
CN (1) CN114048448A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114640458A (zh) * 2022-03-28 2022-06-17 湖南科技大学 云边协同环境下细粒度的多用户安全可搜索加密方法
CN114826736A (zh) * 2022-04-26 2022-07-29 平安普惠企业管理有限公司 信息共享方法、装置、设备及存储介质
CN115174042A (zh) * 2022-05-24 2022-10-11 西安电子科技大学 基于区块链合约的可搜索加密方法
CN115622700A (zh) * 2022-11-28 2023-01-17 南方电网数字电网研究院有限公司 用电数据加密搜索方法、装置、计算机设备和存储介质
CN116132112A (zh) * 2022-12-22 2023-05-16 广州大学 一种基于联盟链智能合约的关键字可加密搜索方法
CN116226926A (zh) * 2023-05-08 2023-06-06 东信和平科技股份有限公司 一种基于区块链的数据安全交互方法、装置、设备和介质
CN116910788A (zh) * 2023-08-15 2023-10-20 广州粤建三和软件股份有限公司 一种业务数据的可搜索加密管理方法、装置及存储介质
CN117540430A (zh) * 2023-12-07 2024-02-09 北方工业大学 隐私数据的安全共享方法和系统

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114640458A (zh) * 2022-03-28 2022-06-17 湖南科技大学 云边协同环境下细粒度的多用户安全可搜索加密方法
CN114640458B (zh) * 2022-03-28 2024-04-19 湖南科技大学 云边协同环境下细粒度的多用户安全可搜索加密方法
CN114826736A (zh) * 2022-04-26 2022-07-29 平安普惠企业管理有限公司 信息共享方法、装置、设备及存储介质
CN115174042A (zh) * 2022-05-24 2022-10-11 西安电子科技大学 基于区块链合约的可搜索加密方法
CN115174042B (zh) * 2022-05-24 2024-04-19 西安电子科技大学 基于区块链合约的可搜索加密方法
CN115622700A (zh) * 2022-11-28 2023-01-17 南方电网数字电网研究院有限公司 用电数据加密搜索方法、装置、计算机设备和存储介质
CN116132112A (zh) * 2022-12-22 2023-05-16 广州大学 一种基于联盟链智能合约的关键字可加密搜索方法
CN116132112B (zh) * 2022-12-22 2024-05-03 广州大学 一种基于联盟链智能合约的关键字可加密搜索方法
CN116226926A (zh) * 2023-05-08 2023-06-06 东信和平科技股份有限公司 一种基于区块链的数据安全交互方法、装置、设备和介质
CN116226926B (zh) * 2023-05-08 2023-08-22 东信和平科技股份有限公司 一种基于区块链的数据安全交互方法、装置、设备和介质
CN116910788A (zh) * 2023-08-15 2023-10-20 广州粤建三和软件股份有限公司 一种业务数据的可搜索加密管理方法、装置及存储介质
CN117540430A (zh) * 2023-12-07 2024-02-09 北方工业大学 隐私数据的安全共享方法和系统

Similar Documents

Publication Publication Date Title
CN114048448A (zh) 基于区块链的动态可搜索加密方法及装置
Ge et al. Towards achieving keyword search over dynamic encrypted cloud data with symmetric-key based verification
Li et al. A searchable symmetric encryption scheme using blockchain
US9977918B2 (en) Method and system for verifiable searchable symmetric encryption
Yuan et al. Secure cloud data deduplication with efficient re-encryption
CN109493017B (zh) 基于区块链的可信外包存储方法
Li et al. Integrity-verifiable conjunctive keyword searchable encryption in cloud storage
CN110069946B (zh) 一种基于sgx的安全索引系统
CN112835912B (zh) 一种基于区块链的数据存储方法、装置及存储介质
CN108092766A (zh) 一种密文搜索权限验证方法及其系统
RuWei et al. Study of privacy-preserving framework for cloud storage
CN114826703A (zh) 基于区块链的数据搜索细粒度访问控制方法及系统
CN109088719A (zh) 外包数据库多关键词可验证密文搜索方法、数据处理系统
CN115314295A (zh) 一种基于区块链的可搜索加密技术方法
WO2018070932A1 (en) System and method for querying an encrypted database for documents satisfying an expressive keyword access structure
Chen et al. Verifiable dynamic ranked search with forward privacy over encrypted cloud data
CN114417073B (zh) 一种加密图的邻居节点查询方法及装置、电子设备
Najafi et al. Fair multi-owner search over encrypted data with forward and backward privacy in cloud-assisted Internet of Things
Yan et al. Secure and efficient big data deduplication in fog computing
Zhou et al. Integrity preserving multi-keyword searchable encryption for cloud computing
CN115913725A (zh) 基于异或加密链的前向安全动态可搜索加密方法及系统
CN113132345B (zh) 具有可搜索功能的代理隐私集合求交方法
Li et al. How to retrieve the encrypted data on the blockchain
Bhavya et al. EFUMS: Efficient File Upload and Mutli-Keyword Search over Encrypted Cloud Data
CN116132112B (zh) 一种基于联盟链智能合约的关键字可加密搜索方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination