CN115174126A - 基于区块链和sgx的外包数据密文搜索方法及系统 - Google Patents
基于区块链和sgx的外包数据密文搜索方法及系统 Download PDFInfo
- Publication number
- CN115174126A CN115174126A CN202211094250.7A CN202211094250A CN115174126A CN 115174126 A CN115174126 A CN 115174126A CN 202211094250 A CN202211094250 A CN 202211094250A CN 115174126 A CN115174126 A CN 115174126A
- Authority
- CN
- China
- Prior art keywords
- data
- query
- sgx
- block chain
- ciphertext
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种基于区块链和SGX的外包数据密文搜索方法及系统,其属于数据安全与隐私保护技术领域,所述方案基于区块链实现数据发布和使用授权,通过链上链下协同方式,计算节点在基于SGX可信执行环境中进行外包数据密文搜索操作,返回搜索结果并上链安全存储,所述方案通过分布式的在SGX可信执行环境中安全高效的完成对任意查询关键词下的全文搜索,密文搜索效率更高,使用范围更广,在保证了数据安全的同时,提升了外包数据密文搜索的效率。
Description
技术领域
本发明属于数据安全与隐私保护技术领域,尤其涉及一种基于区块链和SGX的外包数据密文搜索方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
随着网络信息技术的快速发展,各类应用产生的数据量急剧增加。为解决数据存储问题,越来越多的单位和个人选择将数据外包存储在云存储服务器或IPFS等第三方存储服务器中。外包存储不仅可以降低数据拥有者的存储成本,还可以不受设备和地域限制的随时下载和使用外包存储数据。然而第三方存储服务在给用户带来一定便利的同时,也会带来数据泄露和安全风险。为保证数据的安全性,用户通常将数据加密后存储于外包存储服务器中。外包存储服务器在没有解密密钥的情况下,无法获得描述数据的关键词信息,从而无法快速的实现类似于SQL的数据查询。为获得数据搜索的结果,最简单的方法是用户将加密数据下载到本地后进行解密和搜索,这给用户带来了极大的数据泄露风险,而且需要较大的存储空间和计算能力。为帮助用户精确的获得所需数据,学者们提出了可搜索加密算法。
发明人发现,可搜索加密算法在数据加密的情况下实现密文空间的数据搜索功能,其主要分为对称可搜索加密和公钥可搜索加密两类算法:对称可搜索加密方案是数据拥有者使用对称密码算法加密数据来实现数据密文搜索的目的,此类方案是使用对称密码算法加密运行速度较快、效率较高,但大多数仅适用于单用户下的数据搜索场景;公钥可搜索加密方案适用于多用户下的数据搜索场景,但搜索效率较低。由于可搜索加密算法是用来实现面向云存储等外包数据的密文搜索,如果外包服务器是不诚实的或被恶意攻击者挟持,将导致密文搜索结果的不正确性。为有效避免中心化服务器带来的这些弊端,有些方案将区块链和可搜索加密技术相结合,用户将数据加密存储在IPFS中,生成的索引和门陷发送给智能合约,利用智能合约来充当存储服务器,从而完成外包数据的密文搜索,最后获得相应的搜索结果。此类方案虽然避免了中心化,但执行搜索智能合约需要大量链上开销,同时用户需要额外的计算开销来判断搜索结果的准确性。与此同时,同态加密方法引起了许多研究者的关注,它除了能实现基本的加密操作外,还可以实现密文空间计算,所得到的搜索结果等价于在明文空间上的直接计算,最终的搜索结果和明文上的搜索结果相同。但此类方案的加密运行速度较慢、计算开销较大,无法满足海量数据的计算和搜索。因此,现在的外包数据密文搜索方案在应用场景、可信性和搜索效率等方面还有待提高。
发明内容
本发明为了解决上述问题,提供了一种基于区块链和SGX的外包数据密文搜索方法及系统,所述方案基于区块链实现数据发布和使用授权,通过链上链下协同方式,计算节点在基于SGX可信执行环境中进行外包数据密文搜索操作,返回搜索结果并上链安全存储,所述方案通过分布式的在SGX可信执行环境中安全高效的完成对任意查询关键词下的全文搜索,密文搜索效率更高,使用范围更广,在保证了数据安全的同时,提升了外包数据密文搜索的效率。
根据本发明实施例的第一个方面,提供了一种基于区块链和SGX的外包数据密文搜索方法,包括:
数据拥有者将数据加密后的密文数据以及密文数据哈希值上传至数据存储方进行存储,并将数据相关信息上传至区块链,进行数据发布;
数据请求者在区块链上查询所需数据,并发出数据使用请求;获得数据拥有者的使用授权后,将加密后的查询关键词发送到查询节点的SGX执行关键词查询;其中,所述关键词查询采用在区块链上注册的若干计算节点和一个查询节点;所述计算节点和查询节点均具有自身对应的SGX可信执行环境,所述查询节点用于查询任务的接收和分发,所述计算节点用于执行关键词安全查询检索;所述查询节点将查询请求通过区块链智能合约同步至每个计算节点,通过智能合约获得每个计算节点的搜索结果,聚合后存储至区块链上;
数据请求者通过链上合约获得区块链上的搜索结果,并根据搜索结果中的存储哈希地址从数据存储方获得相应的密文数据,经解密后获得相应的明文数据。
进一步的,所述查询节点将查询请求通过区块链智能合约同步至每个计算节点,具体为:
查询节点对应的SGX通过智能合约从链上下载加密后的数据加密密钥,并通过相应加解密处理后通过链下智能合约发送到计算节点对应的SGX;
查询节点对应的SGX通过智能合约从链上下载加密后的查询关键词,经相应加解密处理后与其对应的数据存储地址通过链下智能合约发送至计算节点对应的SGX。
进一步的,所述通过智能合约获得每个计算节点的搜索结果,聚合后存储至区块链上,具体为:每个计算节点对应的SGX将搜索结果生成哈希值、使用对应的SGX生成的私钥对所述搜索结果进行签名以及使用数据请求者的公钥对搜索结果进行加密获得加密后的搜索结果,并通过智能合约将搜索结果、搜索结果的哈希值以及加密后的搜索结果通过智能合约发送给查询节点;查询节点对于来自每个计算节点的搜索结果进行验证,并聚合生成汇总结果。
进一步的,所述计算节点用于执行关键词安全查询检索,具体为:
计算节点对应的SGX通过智能合约获得其对应的密文数据及密文数据哈希值,并通过解密处理获得对称密码算法的密钥;
计算节点对应的SGX使用对称密码算法的密钥对密文数据进行解密,获得明文数据;并通过相应解密处理获得查询关键词;
计算节点对应的SGX基于所述查询关键词在明文数据中进行检索,若明文数据中包含查询关键词,则返回数据存储地址,否则,返回0。
进一步的,所述数据拥有者、数据请求者与查询节点对应的SGX之间利用远程认证机制实现双向身份认证,确定查询节点对应SGX身份真实性。
进一步的,所述数据加密后的密文数据采用对称密码算法进行加密。
进一步的,所述数据相关信息包括密文数据哈希值、数据摘要及存储哈希地址信息。
根据本发明实施例的第二个方面,提供了一种基于区块链和SGX的外包数据密文搜索系统,包括数据拥有者、数据请求者、数据存储方、区块链及SGX;其中:
数据拥有者,其被配置为将数据加密后的密文数据以及密文数据哈希值上传至数据存储方进行存储,并将数据相关信息上传至区块链,进行数据发布;
数据请求者,其被配置为在区块链上查询所需数据,并发出数据使用请求;获得数据拥有者的使用授权后,将加密后的查询关键词发送到查询节点的SGX执行关键词查询;其中,所述关键词查询采用在区块链上注册的若干计算节点和一个查询节点;所述计算节点和查询节点均具有自身对应的SGX可信执行环境,所述查询节点用于查询任务的接收和分发,所述计算节点用于执行关键词安全查询检索;所述查询节点将查询请求通过区块链智能合约同步至每个计算节点,通过智能合约获得每个计算节点的搜索结果,聚合后存储至区块链上;
以及,通过链上合约获得区块链上的搜索结果,并根据搜索结果中的存储哈希地址从数据存储方获得相应的密文数据,经解密后获得相应的明文数据。
根据本发明实施例的第三个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,所述处理器执行所述程序时实现所述的一种基于区块链和SGX的外包数据密文搜索方法。
根据本发明实施例的第四个方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的一种基于区块链和SGX的外包数据密文搜索方法。
与现有技术相比,本发明的有益效果是:
(1)本发明所述方案提供了一种基于区块链和SGX的外包数据密文搜索方法及系统,所述方案通过将数据加密外包存储,利用SGX在保证数据安全情况下实现外包数据分布式搜索,避免了中心化密文搜索效率低的弊端;关键词搜索利用SGX在可信执行环境中以明文形式完成,最后只获得搜索结果,无需限制搜索条件,也不泄露明文的任何相关信息,适用范围更加广泛;搜索结果加密和签名后通过链上合约进行存储用于对区块链节点的追踪问责,实现安全高效的完成对任意查询关键词下的全文搜索。
(2)与未使用区块链的现有技术对比,本发明中基于区块链实现数据链上发布、数据使用请求、搜索结果存储,利用链上链下协同的方式实现了关键词高效安全搜索,搜索结果加密和签名后通过链上合约进行存储,保障了搜索结果的可信性。
(3)与使用区块链的现有技术对比,本发明所述方案利用SGX完成外包数据的密文搜索操作,与现有采用智能合约搜索的方案对比,避免了执行搜索智能合约所需的链上开销,同时用户不需要额外的计算开销来判断搜索结果的准确性,且实现对任意查询关键词下的全文搜索;与现有采用同态哈希方案对比,搜索效率更高、计算开销较小,且支持海量数据的计算和搜索,更具普遍性,适用范围更加广泛。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本发明实施例中所述的基于区块链和SGX的外包数据密文搜索方法的交互过程示意图;
图2为本发明实施例中所述的基于区块链和SGX的外包数据密文搜索方法的流程图;
图3为本发明实施例中所述的基于区块链和SGX的外包数据密文搜索系统结构示意图。
具体实施方式
下面结合附图与实施例对本发明做进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
术语解释:
SGX,software guard extensions,是Intel指令集架构的一个扩展,在内存中提供一个加密的可信执行区域,以硬件安全为强制性保障, 不依赖于固件和软件的安全状态,由 CPU保护数据和隐私不被恶意窃取。
IPFS,inter planetary file system,是一个面向全球的、点对点的分布式文件传输系统,其目标是为了补充目前互联网的超文本传输协议,将所有具有相同文件系统的计算设备连接在一起。原理是利用基于内容的地址替代基于域名的地址,也就是用户寻找的不是某个地址而是储存在某个地方的内容,不需要验证发送者的身份,而只需要验证内容的哈希,可以让数据传输的速度更快、更安全、更健壮。
实施例一:
本实施例的目的是提供一种基于区块链和SGX的外包数据密文搜索方法。
一种基于区块链和SGX的外包数据密文搜索方法,包括:
数据拥有者将数据加密后的密文数据以及密文数据哈希值上传至数据存储方进行存储,并将数据相关信息上传至区块链,进行数据发布;
数据请求者在区块链上查询所需数据,并发出数据使用请求;获得数据拥有者的使用授权后,将加密后的查询关键词发送到查询节点的SGX执行关键词查询;其中,所述关键词查询采用在区块链上注册的若干计算节点和一个查询节点;所述计算节点和查询节点均具有自身对应的SGX可信执行环境,所述查询节点用于查询任务的接收和分发,所述计算节点用于执行关键词安全查询检索;所述查询节点将查询请求通过区块链智能合约同步至每个计算节点,通过智能合约获得每个计算节点的搜索结果,聚合后存储至区块链上;
数据请求者通过链上合约获得区块链上的搜索结果,并根据搜索结果中的存储哈希地址从数据存储方获得相应的密文数据,经解密后获得相应的明文数据。
进一步的,所述查询节点将查询请求通过区块链智能合约同步至每个计算节点,具体为:
查询节点对应的SGX通过智能合约从链上下载加密后的数据加密密钥,并通过相应加解密处理后通过链下智能合约发送到计算节点对应的SGX;
查询节点对应的SGX通过智能合约从链上下载加密后的查询关键词,经相应加解密处理后与其对应的数据存储地址通过链下智能合约发送至计算节点对应的SGX。
进一步的,所述通过智能合约获得每个计算节点的搜索结果,聚合后存储至区块链上,具体为:每个计算节点对应的SGX将搜索结果生成哈希值、使用对应的SGX生成的私钥对所述搜索结果进行签名以及使用数据请求者的公钥对搜索结果进行加密获得加密后的搜索结果,并通过智能合约将搜索结果、搜索结果的哈希值以及加密后的搜索结果通过智能合约发送给查询节点;查询节点对于来自每个计算节点的搜索结果进行验证,并聚合生成汇总结果。
进一步的,所述计算节点用于执行关键词安全查询检索,具体为:
计算节点对应的SGX通过智能合约获得其对应的密文数据及密文数据哈希值,并通过解密处理获得对称密码算法的密钥;
计算节点对应的SGX使用对称密码算法的密钥对密文数据进行解密,获得明文数据;并通过相应解密处理获得查询关键词;
计算节点对应的SGX基于所述查询关键词在明文数据中进行检索,若明文数据中包含查询关键词,则返回数据存储地址,否则,返回0。
进一步的,所述数据拥有者、数据请求者与查询节点对应的SGX之间利用远程认证机制实现双向身份认证,确定查询节点对应SGX身份真实性。
进一步的,所述数据加密后的密文数据采用对称密码算法进行加密。
进一步的,所述数据相关信息包括密文数据哈希值、数据摘要及存储哈希地址信息。
具体的,为了便于理解,以下结合附图对本实施例所述方案进行详细说明:
如图1和图2所示,一种基于区块链和SGX的外包数据密文搜索方法,具体包括如下步骤:
步骤1:数据加密上传:作为区块链注册用户,数据拥有者A使用对称密码算法和密钥加密明文数据集合(大小不超过128M,i=1,2,...,n)生成密文数据集合,其中密文数据;生成密文数据哈希值集合,其中密文数据哈希值,使用自己的私钥对C和H签名生成,最后将发送给数据存储方DS。
步骤2:外包数据存储:数据存储方DS收到s后,首先使用数据拥有者A的公钥验签r确定是否为数据拥有者A上传的数据;生成密文哈希值与进行对比,如果相等则验证通过,数据存储方DS存储C和H,最后返回存储哈希地址;否则返回验证失败,需要重新执行步骤1和2。
步骤3:数据发布:数据拥有者A将密文数据哈希值集合H、数据摘要ab和存储哈希地址addr等信息上传到区块链,发布数据。
步骤4:双向身份认证:作为区块链注册用户,数据拥有者A、数据请求者B与查询节点对应的SGX利用远程认证机制来完成双向身份认证,确定查询节点对应的SGX的身份的真实性。
步骤5:数据资源查询:数据请求者B在区块链上进行查询数据资源目录,找到需要使用的数据。
步骤6:数据使用服务请求:数据请求者B通过区块链请求数据使用服务。
步骤7:数据使用请求转发:区块链查询数据拥有者A的授权信息,如果已经授权且在授权期限内,转至步骤9;否则将数据请求方B的数据使用请求转发给数据拥有者A。
步骤8:数据使用授权:数据拥有者A通过区块链授权服务请求方B使用数据。
步骤11:关键词查询:密文数据集合C包含n个大小不超过128M的数据,需要n+1个区块链上的注册节点,包括1个查询节点和n个计算节点。其中查询节点拥有自己对应的SGX可信执行环境,用于查询任务的接收和分发,以及搜索结果的聚合和上链;每个计算节点拥有各自对应的SGX可信执行环境,用于执行关键词安全查询检索。查询节点将查询请求通过区块链智能合约同步至系统内的每个计算节点,执行步骤11.1-11.2,通过智能合约获得搜索结果,聚合后存储到区块链上,执行步骤11.10-11.11;计算节点i在对应的SGX可信执行环境中进行关键词检索操作,执行步骤11.3-11.9。
步骤11.2:查询节点对应的SGX通过智能合约从链上下载,使用SGX生成的私钥解密获得,使用计算节点i对应的SGX生成的公钥加密w生成,与第i个数据存储地址一起通过链下智能合约发送给计算节点i对应的SGX;
步骤11.3:计算节点i对应的SGX通过智能合约获得密文数据集合c i 及其对应的哈希值h i ,重新生成密文哈希值并进行数据完整性验证;
步骤11.5:计算节点i对应的SGX使用密钥k i 解密密文数据c i 获得明文数据m i ;
步骤11.7:计算节点i对应的SGX根据查询关键词w对明文数据m i 进行关键词检索操作;
步骤11.8:若明文数据m i 中包含查询关键词w,则返回搜索结果
步骤11.9:计算节点i对应的SGX将搜索结果result i =0生成哈希值h(result i ),再使用对应的SGX生成的私钥对其签名生成人re i ,使用数据请求者B的公钥加密result i 生成,通过智能合约将发送给查询节点;
步骤12:获得搜索结果:数据请求者B通过链上合约获得(result,H r ,re),使用查询节点使用对应的SGX生成的公钥验证签名re,确认是查询节点对应的SGX发来的搜索结果,使用自己的私钥解密获得搜索结果,最后重新生成其哈希值,校验搜索结果的完整性。
实施例二:
本实施例的目的是提供一种基于区块链和SGX的外包数据密文搜索系统。
一种基于区块链和SGX的外包数据密文搜索系统,包括数据拥有者、数据请求者、数据存储方、区块链及SGX;其中:
数据拥有者,其被配置为将数据加密后的密文数据以及密文数据哈希值上传至数据存储方进行存储,并将数据相关信息上传至区块链,进行数据发布;
数据请求者,其被配置为在区块链上查询所需数据,并发出数据使用请求;获得数据拥有者的使用授权后,将加密后的查询关键词发送到查询节点的SGX执行关键词查询;其中,所述关键词查询采用在区块链上注册的若干计算节点和一个查询节点;所述计算节点和查询节点均具有自身对应的SGX可信执行环境,所述查询节点用于查询任务的接收和分发,所述计算节点用于执行关键词安全查询检索;所述查询节点将查询请求通过区块链智能合约同步至每个计算节点,通过智能合约获得每个计算节点的搜索结果,聚合后存储至区块链上;
以及,通过链上合约获得区块链上的搜索结果,并根据搜索结果中的存储哈希地址从数据存储方获得相应的密文数据,经解密后获得相应的明文数据。
具体的,为了便于理解,以下结合附图对本实施例所述方案进行详细说明:
如图3所示,一种基于区块链和SGX的外包数据密文搜索系统,包括:数据服务部分(包括数据拥有者和数据请求者)、区块链部分、数据存储方部分、SGX部分共四部分。
(一)数据服务部分
数据拥有者A通过数据服务部分实现的数据加密上传、数据发布和使用授权;数据请求者B通过数据服务部分实现数据资源查询、发送使用请求、发送查询条件、获得搜索结果、获得密文数据。其具体执行如下过程:
1.数据拥有者A使用对称加密算法和密钥加密明文数据集合 (m i 大小不超过128M,i=1,2,...,n)生成密文数据集合,生成密文数据哈希值集合,将C和H签名生成r,最后将发送给数据存储方DS;
2.数据拥有者A将密文数据哈希值集合H、数据摘要ab和存储哈希地址addr等信息上传到区块链,通过区块链发布数据;
3.数据资源查询:数据请求者B在区块链上进行查询数据资源目录,找到需要使用的数据;
4.使用请求:数据请求者B向区块链发送数据使用请求,并接收数据使用授权结果;
5.使用授权:数据拥有者A接收区块链转发的数据使用请求,并进行授权;
7.获得授权后,数据请求者B通过区块链请求数据搜索服务;
(二)区块链部分
实现数据资源发布、数据资源查询、搜索结果存储转发等功能,其具体执行如下过程:
1.接收数据拥有者A上传密文数据哈希值集合H、摘要ab和存储哈希地址addr等信息,发布数据,并加入数据资源目录;
2.数据请求者B通过区块链查询数据资源目录,查找到所需要的数据资源;
3.接收数据请求者B的数据使用请求,查询数据拥有者A授权信息,如果已授权,转至步骤5;否则,转发给数据拥有者A;
4.接收数据拥有者A的数据使用许可信息;
5.转发数据使用许可信息给数据请求者B;
6.接收数据请求者B的关键词查询服务,部署数据查询智能合约;
(三)数据存储方DS
存储数据并返回存储哈希地址;根据计算节点对应SGX提供的存储哈希地址,将相应的密文数据传输给它;根据搜索结果中的存储哈希地址,将相应的密文数据传输给数据请求者B。
1.数据存储方DS接收数据拥有者A上传的s并进行验证,验证通过后存储C和H,最后返回数据存储哈希地址addr;否则返回验证失败,需要重新执行数据加密上传、外包数据存储步骤;
2.接收计算节点对应的SGX提供的存储哈希地址,传输对应的密文数据给它;
3.根据链上数据拥有者A的授权,接收数据请求者B发送的存储哈希地址,并发送对应的密文数据给数据请求者B。
(四)SGX部分
包括查询节点对应的SGX用于加密密钥和加密查询关键词的管理;n个计算节点对应的SGX用于在SGX可信执行环境中进行密文搜索操作,其具体执行如下过程:
3.计算节点i对应的SGX通过智能合约获得密文数据集合c i 及其对应的哈希值h i ,重新生成密文哈希值并进行数据完整性验证;
5.计算节点i对应的SGX使用密钥k i 解密密文数据c i 获得明文数据m i ;
7.计算节点i对应的SGX根据查询关键词w对明文数据m i 进行关键词检索操作;
在更多实施例中,还提供:
一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例一中所述的方法。为了简洁,在此不再赘述。
应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一中所述的方法。
实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
上述实施例提供的一种基于区块链和SGX的外包数据密文搜索方法及系统可以实现,具有广阔的应用前景。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于区块链和SGX的外包数据密文搜索方法,其特征在于,包括:
数据拥有者将数据加密后的密文数据以及密文数据哈希值上传至数据存储方进行存储,并将数据相关信息上传至区块链,进行数据发布;
数据请求者在区块链上查询所需数据,并发出数据使用请求;获得数据拥有者的使用授权后,将加密后的查询关键词发送到查询节点的SGX执行关键词查询;其中,所述关键词查询采用在区块链上注册的若干计算节点和一个查询节点;所述计算节点和查询节点均具有自身对应的SGX可信执行环境,所述查询节点用于查询任务的接收和分发,所述计算节点用于执行关键词安全查询检索;所述查询节点将查询请求通过区块链智能合约同步至每个计算节点,通过智能合约获得每个计算节点的搜索结果,聚合后存储至区块链上;
数据请求者通过链上合约获得区块链上的搜索结果,并根据搜索结果中的存储哈希地址从数据存储方获得相应的密文数据,经解密后获得相应的明文数据。
2.如权利要求1所述的一种基于区块链和SGX的外包数据密文搜索方法,其特征在于,所述查询节点将查询请求通过区块链智能合约同步至每个计算节点,具体为:
查询节点对应的SGX通过智能合约从链上下载加密后的数据加密密钥,并通过相应加解密处理后通过链下智能合约发送到计算节点对应的SGX;
查询节点对应的SGX通过智能合约从链上下载加密后的查询关键词,经相应加解密处理后与其对应的数据存储地址通过链下智能合约发送至计算节点对应的SGX。
3.如权利要求1所述的一种基于区块链和SGX的外包数据密文搜索方法,其特征在于,所述通过智能合约获得每个计算节点的搜索结果,聚合后存储至区块链上,具体为:每个计算节点对应的SGX将搜索结果生成哈希值、使用对应的SGX生成的私钥对所述搜索结果进行签名以及使用数据请求者的公钥对搜索结果进行加密获得加密后的搜索结果,并通过智能合约将搜索结果、搜索结果的哈希值以及加密后的搜索结果通过智能合约发送给查询节点;查询节点对于来自每个计算节点的搜索结果进行验证,并聚合生成汇总结果。
4.如权利要求1所述的一种基于区块链和SGX的外包数据密文搜索方法,其特征在于,所述计算节点用于执行关键词安全查询检索,具体为:
计算节点对应的SGX通过智能合约获得其对应的密文数据及密文数据哈希值,并通过解密处理获得对称密码算法的密钥;
计算节点对应的SGX使用对称密码算法的密钥对密文数据进行解密,获得明文数据;并通过相应解密处理获得查询关键词;
计算节点对应的SGX基于所述查询关键词在明文数据中进行检索,若明文数据中包含查询关键词,则返回数据存储地址,否则,返回0。
5.如权利要求1所述的一种基于区块链和SGX的外包数据密文搜索方法,其特征在于,所述数据拥有者、数据请求者与查询节点对应的SGX之间利用远程认证机制实现双向身份认证,确定查询节点对应SGX身份真实性。
6.如权利要求1所述的一种基于区块链和SGX的外包数据密文搜索方法,其特征在于,所述数据加密后的密文数据采用对称密码算法进行加密。
7.如权利要求1所述的一种基于区块链和SGX的外包数据密文搜索方法,其特征在于,所述数据相关信息包括密文数据哈希值、数据摘要及存储哈希地址信息。
8.一种基于区块链和SGX的外包数据密文搜索系统,其特征在于,包括数据拥有者、数据请求者、数据存储方、区块链及SGX;其中:
数据拥有者,其被配置为将数据加密后的密文数据以及密文数据哈希值上传至数据存储方进行存储,并将数据相关信息上传至区块链,进行数据发布;
数据请求者,其被配置为在区块链上查询所需数据,并发出数据使用请求;获得数据拥有者的使用授权后,将加密后的查询关键词发送到查询节点的SGX执行关键词查询;其中,所述关键词查询采用在区块链上注册的若干计算节点和一个查询节点;所述计算节点和查询节点均具有自身对应的SGX可信执行环境,所述查询节点用于查询任务的接收和分发,所述计算节点用于执行关键词安全查询检索;所述查询节点将查询请求通过区块链智能合约同步至每个计算节点,通过智能合约获得每个计算节点的搜索结果,聚合后存储至区块链上;
以及,通过链上合约获得区块链上的搜索结果,并根据搜索结果中的存储哈希地址从数据存储方获得相应的密文数据,经解密后获得相应的明文数据。
9.一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7任一项所述的一种基于区块链和SGX的外包数据密文搜索方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7任一项所述的一种基于区块链和SGX的外包数据密文搜索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211094250.7A CN115174126B (zh) | 2022-09-08 | 2022-09-08 | 基于区块链和sgx的外包数据密文搜索方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211094250.7A CN115174126B (zh) | 2022-09-08 | 2022-09-08 | 基于区块链和sgx的外包数据密文搜索方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115174126A true CN115174126A (zh) | 2022-10-11 |
CN115174126B CN115174126B (zh) | 2022-12-09 |
Family
ID=83482322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211094250.7A Active CN115174126B (zh) | 2022-09-08 | 2022-09-08 | 基于区块链和sgx的外包数据密文搜索方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115174126B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117896066A (zh) * | 2024-03-18 | 2024-04-16 | 成都理工大学 | 基于双链架构的可验证多用户授权跨域的可搜索加密方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110580413A (zh) * | 2019-11-08 | 2019-12-17 | 支付宝(杭州)信息技术有限公司 | 基于链下授权的隐私数据查询方法及装置 |
US10757084B1 (en) * | 2019-03-29 | 2020-08-25 | Alibaba Group Holding Limited | Retrieving access data for blockchain networks using highly available trusted execution environments |
CN111901402A (zh) * | 2019-02-19 | 2020-11-06 | 创新先进技术有限公司 | 区块链中实现隐私保护的方法、节点和存储介质 |
US20210097528A1 (en) * | 2019-09-26 | 2021-04-01 | Rui Wang | Blockchain hot wallet based on secure enclave and multi-signature authorization |
CN112861172A (zh) * | 2021-01-26 | 2021-05-28 | 石家庄铁道大学 | 基于pbft共识机制的对称可搜索加密方法 |
CN113169957A (zh) * | 2019-04-12 | 2021-07-23 | 杭州锘崴信息科技有限公司 | 个人医疗数据安全共享和所有权去中心化的所有权系统 |
CN113949701A (zh) * | 2021-09-06 | 2022-01-18 | 天翼电子商务有限公司 | 一种基于可信执行环境的密文搜索方法 |
CN114520747A (zh) * | 2022-04-21 | 2022-05-20 | 山东省计算中心(国家超级计算济南中心) | 一种以数据为中心的数据安全共享系统和方法 |
WO2022109850A1 (en) * | 2020-11-25 | 2022-06-02 | Alipay (Hangzhou) Information Technology Co., Ltd. | Blockchain-based trusted platform |
-
2022
- 2022-09-08 CN CN202211094250.7A patent/CN115174126B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111901402A (zh) * | 2019-02-19 | 2020-11-06 | 创新先进技术有限公司 | 区块链中实现隐私保护的方法、节点和存储介质 |
US10757084B1 (en) * | 2019-03-29 | 2020-08-25 | Alibaba Group Holding Limited | Retrieving access data for blockchain networks using highly available trusted execution environments |
CN113169957A (zh) * | 2019-04-12 | 2021-07-23 | 杭州锘崴信息科技有限公司 | 个人医疗数据安全共享和所有权去中心化的所有权系统 |
US20210097528A1 (en) * | 2019-09-26 | 2021-04-01 | Rui Wang | Blockchain hot wallet based on secure enclave and multi-signature authorization |
CN110580413A (zh) * | 2019-11-08 | 2019-12-17 | 支付宝(杭州)信息技术有限公司 | 基于链下授权的隐私数据查询方法及装置 |
WO2022109850A1 (en) * | 2020-11-25 | 2022-06-02 | Alipay (Hangzhou) Information Technology Co., Ltd. | Blockchain-based trusted platform |
CN112861172A (zh) * | 2021-01-26 | 2021-05-28 | 石家庄铁道大学 | 基于pbft共识机制的对称可搜索加密方法 |
CN113949701A (zh) * | 2021-09-06 | 2022-01-18 | 天翼电子商务有限公司 | 一种基于可信执行环境的密文搜索方法 |
CN114520747A (zh) * | 2022-04-21 | 2022-05-20 | 山东省计算中心(国家超级计算济南中心) | 一种以数据为中心的数据安全共享系统和方法 |
Non-Patent Citations (1)
Title |
---|
MIN FANG: "SEFrame: An SGX-enhanced Smart Contract Execution Framework for Permissioned Blockchain", 《2022 IEEE 38TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING (ICDE)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117896066A (zh) * | 2024-03-18 | 2024-04-16 | 成都理工大学 | 基于双链架构的可验证多用户授权跨域的可搜索加密方法 |
CN117896066B (zh) * | 2024-03-18 | 2024-05-28 | 成都理工大学 | 基于双链架构的可验证多用户授权跨域的可搜索加密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115174126B (zh) | 2022-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Miao et al. | Multi-authority attribute-based keyword search over encrypted cloud data | |
TWI707245B (zh) | 使用高可用性的可信執行環境檢索區塊鏈網路的存取資料 | |
WO2020192773A1 (zh) | 一种数字身份认证方法、设备、装置、系统及存储介质 | |
US7958349B2 (en) | Method for revoking a digital signature | |
US20210377022A1 (en) | Unmanaged secure inter-application data communications | |
US20190272291A1 (en) | Apparatus, method, and storage medium for managing data | |
US20210058258A1 (en) | Methods, Application Server, IoT Device and Media For Implementing IoT Services | |
Bhandari et al. | A framework for data security and storage in Cloud Computing | |
CN115174126B (zh) | 基于区块链和sgx的外包数据密文搜索方法及系统 | |
CN114553436B (zh) | 用于智能医学工程的数据安全共享与隐私保护方法及系统 | |
CN114528331A (zh) | 基于区块链的数据查询方法及装置、介质、设备 | |
Zhang et al. | Cerberus: Privacy-preserving computation in edge computing | |
CN111914272B (zh) | 一种移动边缘计算环境下起源数据的加密检索方法与系统 | |
Park et al. | PKIS: practical keyword index search on cloud datacenter | |
CN116760840A (zh) | 基于区块链的高效数据共享方法 | |
WO2023116027A1 (zh) | 安全多方计算中的跨域身份验证方法及服务器 | |
CN114168921B (zh) | 具有隐私保护的众包任务分配方法和系统 | |
US20230262066A1 (en) | System and method for authenticating the receiving end of data transmission via lifi and holochain network | |
JP6732887B2 (ja) | データベースクエリのための方法及びシステム | |
US11627117B2 (en) | Secure search service | |
US11552804B1 (en) | Code sign white listing (CSWL) | |
Tian et al. | Exploiting blockchain and secure access control scheme to enhance privacy-preserving of IoT publish-subscribe system | |
Liu et al. | A Blockchain‐Based Privacy‐Preserving Publish‐Subscribe Model in IoT Multidomain Data Sharing | |
Iacono et al. | A system-oriented approach to full-text search on encrypted cloud storage | |
US12022002B2 (en) | Apparatus, methods, and program products for generating secure short universal resource locators |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |