一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于区块链无需安全通道的可搜索加密系统和方法与流程

2022-11-09 22:28:49 来源:中国专利 TAG:


1.本发明涉及网络信息安全传输的技术领域,特别是涉及一种基于区块链无需安全通道的可搜索加密系统和方法。


背景技术:

2.在数据爆炸的当今社会,数据本地化存储已经不能满足业务需求,越来越多的数据需要被共享,数据拥有者为节约自身的资源开销,选择数据上云服务器。但这之间存在云服务器是否会出现信息泄露、数据使用者在从云服务器获取数据时信息是否安全可靠和数据拥有者对数据使用者权限控制等问题。
3.作为允许数据用户在密文空间进行关键字检索的一项新兴技术,可搜索加密技术正逐渐成为安全搜索领域的核心。然而,现有技术的可搜索加密方案中,由于加密数据的存储和检索均是由第三方服务器来完成,因此会存在数据隐私泄露、查询结果不可信、单点失效或数据存储低效等问题。


技术实现要素:

4.为解决上述技术问题中的至少之一,本发明提出一种基于区块链无需安全通道的可搜索加密系统和方法。
5.本发明的目的通过以下技术方案实现:本发明提供了一种基于区块链无需安全通道的可搜索加密系统,包括数据拥有端、数据使用端、区块链和分布式文件存储服务端,所述数据拥有端:与数据使用端、区块链和分布式文件存储端交互通信,在本地存储文件信息,生成用于加密或解密文件信息的密钥,根据文件信息生成本地索引和本地关键词标识,将文件信息加密发送至分布式文件存储端,将本地关键词标识发送至区块链,对数据使用端的权限进行管理并将授权用户列表传送至区块链,接收区块链的检索结果并对数据使用端的身份进行验证,验证通过后向数据使用端发送本地索引信息;所述数据使用端:与数据拥有端、区块链和分布式文件存储端交互通信,与数据拥有端、区块链进行密钥协商,根据需要检索文件的关键词生成检索令牌发送至区块链,接收数据拥有端的本地索引信息并向分布式文件存储端获取加密文件并解密;所述区块链:与数据拥有端、数据使用端和分布式文件存储端交互通信,将涉及的交易数据上链,与数据拥有端和数据使用端进行密钥协商,通过智能合约存储数据拥有端的本地关键词标识,根据检索令牌对存储的数据拥有端信息进行检索,并将检索结果发送给数据拥有端;所述分布式文件存储服务端:与数据拥有端和数据使用端交互通信,存储数据拥有端传送的文件信息,处理数据使用端的查询请求并根据查询请求返回对应的查询结果至数据使用端。
6.作为进一步的改进,所述数据拥有端对数据使用端的权限进行管理,包括数据拥
有端对数据使用端权限的授权和权限的撤销。
7.本发明提供的一种基于区块链无需安全通道的可搜索加密系统,包括数据拥有端、数据使用端、区块链和分布式文件存储服务端,所述数据拥有端:与数据使用端、区块链和分布式文件存储端交互通信,在本地存储文件信息,生成用于加密或解密文件信息的密钥,根据文件信息生成本地索引和本地关键词标识,将文件信息加密发送至分布式文件存储端,将本地关键词标识发送至区块链,对数据使用端的权限进行管理并将授权用户列表传送至区块链,接收区块链的检索结果并对数据使用端的身份进行验证,验证通过后向数据使用端发送本地索引信息;所述数据使用端:与数据拥有端、区块链和分布式文件存储端交互通信,与数据拥有端、区块链进行密钥协商,根据需要检索文件的关键词生成检索令牌发送至区块链,接收数据拥有端的本地索引信息并向分布式文件存储端获取加密文件并解密;所述区块链:与数据拥有端、数据使用端和分布式文件存储端交互通信,将涉及的交易数据上链,与数据拥有端和数据使用端进行密钥协商,通过智能合约存储数据拥有端的本地关键词标识,根据检索令牌对存储的数据拥有端信息进行检索,并将检索结果发送给数据拥有端;所述分布式文件存储服务端:与数据拥有端和数据使用端交互通信,存储数据拥有端传送的文件信息,处理数据使用端的查询请求并根据查询请求返回对应的查询结果至数据使用端。本发明使数据拥有端放心地将数据加密后上传到分布式存储系统中,避免出现信息泄露的问题,数据使用端通过区块链查询搜索,使区块链、数据拥有端和数据使用端之间的交易不可篡改且相互可信,相互之间的信息传输无需安全通道,减少了不必要的传输代价。
8.本发明还提供一种基于区块链无需安全通道的可搜索加密方法,包括上述基于区块链无需安全通道的可搜索加密系统的任一项改进,方法包括如下步骤:s1、数据拥有端通过密钥生成法生成文件加密密钥和文件解密密钥,通过加密密钥对文件信息进行加密形成加密文件后传送至分布式文件存储服务端存储,对本地文件信息采用索引加密法生成本地索引和本地关键词标识,将本地关键词标识和数据拥有端的用户标识一起发送至区块链进行位矩阵加密,同时进行数据使用端的用户授权,并将授权用户列表传送至区块链存储;s2、数据使用端向区块链发送检索请求后协商密钥获得检索加密密钥,将需要检索文件的关键词通过检索加密密钥加密后形成检索令牌发送至区块链;s3、区块链根据授权用户列表、数据使用端的用户标识和检索令牌验证数据使用端的身份,验证通过后通过智能合约解密位矩阵并向数据拥有端发送检索请求信息和检索令牌信息;s4、数据拥有端根据检索请求信息验证数据使用端是否授权且检索令牌信息是否在本地索引信息中,如是则将本地索引信息和文件解密密钥发送给数据使用端;s5、数据使用端根据本地索引信息向分布式文件存储服务端获得加密文件,通过文件解密密钥解密加密文件得到需要搜索的文件信息。
9.作为进一步的改进,所述步骤s1中,对本地文件信息采用索引加密法,包括如下步骤:s11、数据拥有端将本地文件信息提取文件关键词;s12、向区块链协商密钥获取关键词加密密钥对文件关键词进行加密。
10.作为进一步的改进,所述步骤s1中,区块链进行位矩阵加密,具体包括如下步骤:s13、区块链的智能合约接收本地关键词标识后采用对应的关键词解密密钥解密后获得本地关键词并保存;s14、根据数据拥有端的用户标识将产生的数据拥有端序号和对应的加密参数保存;s15、根据数据拥有端的用户标识和本地关键词将产生的关键词序号和对应的加密参数保存;s16、将关键词序号作为位矩阵元素的行号,将数据拥有端序号作为位矩阵元素的列号;s17、对位矩阵每列的所有元素生成列加密密钥和列解密密钥并对应存储为密钥参数,通过列加密密钥依次加密每列所有比特。
11.作为进一步的改进,所述步骤s3中,区块链根据授权用户列表、数据使用端信息和检索令牌验证数据使用端的身份,具体包括如下步骤:s31、区块链通过检索解密密钥解密检索令牌获得需要检索文件的关键词标识;s32、检查数据使用端的用户标识是否在授权用户列表中,且需要检索文件的关键词标识是否存储在区块链的数据使用端信息对应的关键词标识中,如是则验证通过;否则禁止访问或者判断验证不通过是否因数据使用端的用户标识未在区块链的授权用户列表中,是则数据使用端向数据拥有端发送申请查看数据权限请求,数据拥有端对数据使用端授权后,在权限列表里添加数据使用端用户信息并更新权限列表,同时发送至区块链上以更新授权用户列表,区块链进行验证通过;作为进一步的改进,所述步骤s3中,解密位矩阵,包括如下步骤:s33、区块链的智能合约根据数据使用端信息和授权用户列表获得数据使用端可访问的数据拥有端信息,根据数据拥有端信息获得位矩阵元素对应列号及对应的密钥参数;s34、根据需要检索文件的关键词标识获得位矩阵元素对应行号及对应的密钥参数;s35、通过密钥参数对位矩阵解密获得需要检索文件的数据拥有端的用户标识和对应的本地关键词标识。
12.作为进一步的改进,所述步骤s1中,数据拥有端将加密文件传送至分布式文件存储服务端存储后,分布式文件存储服务端将加密文件通过哈希函数生成唯一的哈希值返回至数据拥有端,数据拥有端将返回的哈希值结合本地索引建立对应的本地索引存储关系。
13.作为进一步的改进,所述步骤s5中,所述本地索引信息包含从数据拥有端返回的加密文件的解密密钥和加密文件对应的唯一哈希值,数据使用端通过加密文件对应的唯一哈希值向分布式文件存储服务端获得加密文件。
14.作为进一步的改进,所述步骤s1中,密钥生成法包括使用对称加密算法生成加密密钥与解密密钥或非对称算法生成加密密钥与解密密钥。
15.本发明提供的基于区块链无需安全通道的可搜索加密方法,包括步骤:s1、数据拥有端通过密钥生成法生成文件加密密钥和文件解密密钥,通过加密密钥对文件信息进行加密形成加密文件后传送至分布式文件存储服务端存储,对本地文件信息采用索引加密法生
成本地索引和本地关键词标识,将本地关键词标识和数据拥有端的用户标识一起发送至区块链进行位矩阵加密,同时进行数据使用端的用户授权,并将授权用户列表传送至区块链存储;s2、数据使用端向区块链发送检索请求后协商密钥获得检索加密密钥,将需要检索文件的关键词通过检索加密密钥加密后形成检索令牌发送至区块链;s3、区块链根据授权用户列表、数据使用端的用户标识和检索令牌验证数据使用端的身份,验证通过后通过智能合约解密位矩阵并向数据拥有端发送检索请求信息和检索令牌信息;s4、数据拥有端根据检索请求信息验证数据使用端是否授权且检索令牌信息是否在本地索引信息中,如是则将本地索引信息和文件解密密钥发送给数据使用端;s5、数据使用端根据本地索引信息向分布式文件存储服务端获得加密文件,通过文件解密密钥解密加密文件得到需要搜索的文件信息。本发明的方法通过将本地文件信息加密后存储至分布式文件存储端,避免本地文件信息的泄露,从本地文件信息提取生成本地索引和本地关键词标识上传至区块链,只有被授权的数据使用端可以检索并从分布式文件存储端获取文件信息,可以用于企业或个人数据的安全存取及共享,解决存储服务器信息泄露、多方交易不可信、数据拥有端对数据使用端权限控制和信息传输需要安全通道的问题。
附图说明
16.图1为本发明的系统交互示意图;图2为本发明的索引加密示意图;图3为本发明的区块链对位矩阵检索行号和列号示意图。
具体实施方式
17.本发明涉及名词解释:区块链:区块链是一种由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储、难以篡改和防止抵赖的记账技术,也称为分布式账本技术。
18.智能合约:智能合约是一种特殊协议,旨在提供、验证及执行合约。是区块链被称之为“去中心化的”重要原因,它允许在不需要第三方的情况下,执行可追溯、不可逆转和安全的交易。包含了有关交易的所有信息,只有在满足要求后才会执行结果操作。
19.可搜索加密:可搜索加密旨在将数据文件进行加密后存储到云端,然后对密文进行检索的一种技术。
20.分布式文件存储系统:分布式文件存储系统是一个分布式的点到点超媒体协议。在该文件系统中,每个文件将会根据内容生成一个哈希值,在该系统中的文件将根据这个哈希值来进行索引,并且提前检验这个哈希值是否已经被存储过,如果被存储过,直接从其它节点读取它,不需要重复存储,一定程度上节约了空间。
21.伪随机函数(pseudo-random function,prf):是一类能够产生具有类随机性序列的函数。
22.哈希函数:哈希函数在密码学领域常常作为压缩函数使用,通过其压缩产生长度固定的数据。
23.结合图1 所示,本发明实施例提供一种基于区块链无需安全通道的可搜索加密系统,包括数据拥有端、数据使用端、区块链和分布式文件存储服务端,
所述数据拥有端:与数据使用端、区块链和分布式文件存储端交互通信,在本地存储文件信息,生成用于加密或解密文件信息的密钥,根据文件信息生成本地索引和本地关键词标识,将文件信息加密发送至分布式文件存储端,将本地关键词标识发送至区块链,对数据使用端的权限进行管理并将授权用户列表传送至区块链,权限管理包括对数据使用端权限的授权和权限的撤销,接收区块链的检索结果并对数据使用端的身份进行验证,验证通过后向数据使用端发送本地索引信息;所述数据使用端:与数据拥有端、区块链和分布式文件存储端交互通信,与数据拥有端、区块链进行密钥协商,根据需要检索文件的关键词生成检索令牌发送至区块链,接收数据拥有端的本地索引信息并向分布式文件存储端获取加密文件并解密;所述区块链:与数据拥有端、数据使用端和分布式文件存储端交互通信,将涉及的交易数据上链,与数据拥有端和数据使用端进行密钥协商,通过智能合约存储数据拥有端的本地关键词标识,根据检索令牌对存储的数据拥有端信息进行检索,并将检索结果发送给数据拥有端;所述分布式文件存储服务端:与数据拥有端和数据使用端交互通信,存储数据拥有端传送的文件信息,处理数据使用端的查询请求并根据查询请求返回对应的查询结果至数据使用端。
24.本发明的基于区块链无需安全通道的可搜索加密系统使数据拥有端放心地将数据加密后上传到分布式存储系统中,避免出现信息泄露的问题,数据使用端通过区块链查询搜索,使区块链、数据拥有端和数据使用端之间的交易不可篡改且相互可信,相互之间的信息传输无需安全通道,减少了不必要的传输代价。
25.本发明实施例还提供一种基于区块链无需安全通道的可搜索加密方法,包括上述基于区块链无需安全通道的可搜索加密系统的任一种实施方式,具体包括如下步骤:s1、数据拥有端通过密钥生成法生成文件加密密钥和文件解密密钥,本实施例中密钥生成法包括对称加密算法生成加密密钥与解密密钥或非对称算法生成加密密钥与解密密钥。对称加密算法生成的加密密钥与解密密钥相同,非对称算法生成的加密密钥与解密密钥不相同,根据信息交互的需要,在使用时进行选择。为确保加密文件后传送至分布式文件存储服务端的信息安全,此处采用非对称算法生成文件加密密钥和文件解密密钥,通过加密密钥对文件信息进行加密形成加密文件后传送至分布式文件存储服务端存储后,分布式文件存储服务端将加密文件通过哈希函数生成唯一的哈希值返回至数据拥有端,数据拥有端将返回的哈希值结合本地索引建立对应的本地索引存储关系。
26.对本地文件信息采用索引加密法生成本地索引和本地关键词标识,具体包括如下步骤:s11、数据拥有端将本地文件信息提取文件关键词;s12、向区块链协商密钥,区块链以非对称算法生成关键词加密密钥和关键词解密密钥,以确保关键词在加密后传输的安全性,数据拥有端获取关键词加密密钥对文件关键词进行加密,同时关键词解密密钥在区块链保存。
27.将本地关键词标识和数据拥有端的用户标识一起发送至区块链进行位矩阵加密,具体包括如下步骤:本实施例中区块链首先进行初始化设置,包括初始化位矩阵δ,并将位矩阵中所有
比特设置为0。创建空的哈希表、和其中,存储数据拥有端本地文件信息的关键词,存储数据拥有端信息,存储数据使用端信息。将位矩阵用于存储关键词标识个数的行号和用于存储数据拥有端个数的列号设置为0,接收来自数据拥有端的注册信息,表示数据使用端的唯一号,j表示数据拥有端序号,st表示区块链生成的加密参数,以便数据拥有端进行用户授权,并存入哈希表中。其中,n为数据拥有端序号总个数,以及关键词加密密钥。
28.s13、区块链的智能合约接收本地关键词标识后采用对应的关键词解密密钥解密后获得本地关键词并保存;s14、根据数据拥有端的用户标识将产生的数据拥有端序号和对应的加密参数保存;s15、根据数据拥有端的用户标识和本地关键词将产生的关键词序号和对应的加密参数保存s16、将关键词序号作为位矩阵元素的行号,将数据拥有端序号作为位矩阵元素的列号;s17、对位矩阵每列的所有元素生成列加密密钥和列解密密钥并对应存储为密钥参数,通过列加密密钥依次加密每列所有比特。
29.将本地关键词标识和数据拥有端的用户标识一起发送至区块链进行位矩阵加密,结合图2所示,本实施例的具体实现方式如下:首先由数据拥有端执行如下内容:从本地所有文件中提取关键词,其中,f为本地所有文件集合,f为本地文件,b为本地所有文件个数, w为关键词集合,w为关键词,a是关键词个数,m为关键词总个数。
30.循环所有的关键词和包含关键词的本地文件集合和包含关键词的本地文件集合和包含关键词的本地文件集合和包含关键词的本地文件集合其中,do为数据使用端,为关键词标识,γ为本地索引,为关键词加密函数,g为获得加密参数的函数,为更新令牌的密钥参数,为关键词标识集合,为生成索引更新令牌函数,λ为索引更新令牌。
31.把加密关键词标识、j和λ发送给区块链,由区块链执行的内容如下:接收加密关键词标识、j和λ
其中,表示解密函数,δ[i,j]表示位矩阵元素的行和列。
[0032]
同时数据拥有端do进行数据使用端du的用户授权,并将授权用户列表传送至区块链存储,数据拥有端对数据使用端的用户授权包括权限授权和权限撤销。
[0033]
数据拥有端对数据使用端权限授权时,数据使用端先向区块链执行注册操作,随机选择一个整数rd并连同数据使用端的唯一号即注册请求发送至区块链,注册成功后区块链上存储着数据使用端相应的可访问数据拥有端集合和随机参数rd。数据使用端向数据拥有端请求权限时,需要将授权请求以及和数字签名发送给数据拥有端。发送请求后如果收到数据拥有端的授权确认后,将数据使用端本地的可访问数据拥有端集合更新,即将数据拥有端的唯一号添加到列表中。数据拥有端接收到数据使用端授权请求后先通过数据使用端发送的数字签名验证身份,验证成功后更新数据拥有端本地授权用户列表并将授权确认信息、和发送给区块链和数据使用端,区块链根据收到的注册请求,将数据使用端信息表更新,设置中键为的随机数rd值为,初始化中键为的。
[0034]
数据拥有端对数据使用端权限撤销时,数据拥有端先在本地更新已授权数据使用者列表,将中要撤销的数据使用端的删掉后,把权限删除命令以及和发送给区块链和数据使用端,区块链根据收到的权限删除命令,将数据使用端信息表更
新,将中值为的列表中删除,数据使用端收到权限删除命令后,更新本地的已被授权数据拥有者列表,将中的删除。
[0035]
s2、数据使用端向区块链发送检索请求后协商密钥,区块链采用非对称算法生成检索加密密钥和检索解密密钥,数据使用端获得检索加密密钥,将需要检索文件的关键词通过检索加密密钥加密后形成检索令牌发送至区块链,结合图3所示,数据使用端具体执行如下内容:将检索请求、和τ发送至区块链。
[0036]
其中,kw为搜索关键词,为加密搜索关键词,为数据使用端生成的随机数,为生成检索令牌函数,τ为检索令牌。
[0037]
s3、区块链根据授权用户列表、数据使用端的用户标识和检索令牌验证数据使用端的身份,具体包括如下步骤:s31、区块链通过检索解密密钥解密检索令牌获得需要检索文件的关键词标识;s32、检查数据使用端的用户标识是否在授权用户列表中,且需要检索文件的关键词标识是否存储在区块链的数据使用端信息对应的关键词标识中,如是则验证通过;否则禁止访问或者判断验证不通过是否因数据使用端的用户标识未在区块链的授权用户列表中,是则数据使用端向数据拥有端发送申请查看数据权限请求,数据拥有端对数据使用端授权后,在权限列表里添加数据使用端用户信息并更新权限列表,同时发送至区块链上以更新授权用户列表,区块链进行验证通过。
[0038]
验证通过后通过智能合约解密位矩阵并向数据拥有端发送检索请求信息和检索令牌信息,解密位矩阵具体包括如下步骤:s33、区块链的智能合约根据数据使用端信息和授权用户列表获得数据使用端可访问的数据拥有端信息,根据数据拥有端信息获得位矩阵元素对应列号及对应的密钥参数;s34、根据需要检索文件的关键词标识获得位矩阵元素对应行号及对应的密钥参数;s35、通过密钥参数对位矩阵解密获得需要检索文件的数据拥有端的用户标识和对应的本地关键词标识。
[0039]
区块链具体执行如下内容:首先接收数据使用端的检索请求、和τ和τ返回

循环中所有的
把检索请求信息和检索令牌信息发送给数据拥有端end其中,为解密检索令牌的函数。
[0040]
s4、数据拥有端根据检索请求信息验证数据使用端是否授权且检索令牌信息是否在本地索引信息中,如是则将本地索引信息和文件解密密钥发送给数据使用端,数据拥有端具体执行的内容如下:接收检索请求信息和检索令牌信息,检索请求信息中包括、和把检索结果、、《》发送给数据使用端s5、数据使用端根据本地索引信息向分布式文件存储服务端获得加密文件,通过文件解密密钥解密加密文件得到需要搜索的文件信息,数据使用端具体执行如下内容:接收若干个数据拥有端的检索结果、、循环所有的检索结果、、、循环在关键词kw的查询结果中查找,如果找到,则从分布式文件存储端中获得对应的加密文件,将加密文件用数据拥有端发送的对应解密密钥解密。
[0041]
其中,f为关键词kw的查询结果,表示数据拥有端的本地索引信息,所述本地索引信息包含从数据拥有端返回的加密文件的解密密钥和加密文件对应的唯一哈希值,数据使用端通过加密文件对应的唯一哈希值向分布式文件存储服务端获得加密文件。
[0042]
本发明中的基于区块链无需安全通道的可搜索加密方法通过将本地文件信息加密后存储至分布式文件存储端,避免本地文件信息的泄露,从文件信息提取生成本地索引和本地关键词标识上传至区块链,只有被授权的数据使用端可以检索并从分布式文件存储端获取文件信息,可以用于企业或个人数据的安全存取及共享,解决存储服务器信息泄露、多方交易不可信、数据拥有端对数据使用端权限控制和信息传输需要安全通道的问题。
[0043]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0044]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献