数据共享方法、装置、电子设备及存储介质与流程

文档序号:34267787发布日期:2023-05-26 20:06阅读:49来源:国知局
数据共享方法、装置、电子设备及存储介质与流程

本技术涉及区块链,尤其涉及一种数据共享方法、装置、电子设备及存储介质。


背景技术:

1、区块链技术因其分布式存储不易被篡改的特性,广泛应用于数据共享的应用场景中。

2、目前的大部分基于区块链进行数据共享的系统,存在一个可信的存储节点,如阿里云存储,通常情况下,数据提供方是直接将文件数据明文上传到云存储服务器,由云存储服务器进行数据的加密。数据请求方请求数据时是根据得到的文件下载链接,直接通过链接在服务器上下载文件。

3、目前的数据共享方法,由于是由云存储服务器对数据进行加密,云存储厂商可能监视并篡改共享数据内容,并造成共享数据的泄漏。


技术实现思路

1、本技术提供一种数据共享方法、装置、电子设备和存储介质,目的在于解决数据安全性、防止数据被篡改的问题。

2、第一方面,本技术提供一种数据共享方法,应用于数据提供方,包括:生成对称密钥和密钥对;采用所述对称密钥对文件内容进行加密,得到内容密文;采用所述密钥对中的公钥对所述对称密钥加密,得到密钥密文;对所述内容密文进行分片处理,得到分片密文;将所述分片密文和所述密钥密文上传到至少一个存储节点上。

3、在上述实现过程中,由数据提供方对内容加密,提高了共享数据的安全性,通过对密钥加密,防止密钥被泄露,提高了密钥传输过程中的安全性,从而进一步提高了共享数据的安全性,通过对内容密文进行分片处理,一方面防止数据在传输过程中被完整截获,另一方面分片数据可以并发传输,并且在数据传输出现错误时,只需重传错误分片,提高了数据传输的效率。通过将数据存储到存储节点上,可以实现数据提供方离线共享数据。

4、进一步地,所述将所述分片密文和所述密钥密文上传到至少一个存储节点上,包括:向所述区块链的区块链节点发送上链交易请求;接收所述交易请求的响应信息,所述响应信息中包括文件标识和所述至少一个存储节点的存储节点标识;根据所述存储节点标识将所述分片密文、所述密钥密文及所述文件标识发送到所述至少一个存储节点上。

5、在上述实现过程中,通过向区块链节点发送共享数据的上链交易请求,能够快速高效地通知区块链节点生成交易信息并分配存储节点,同时可以向用户公开共享数据上链交易信息。通过接收响应信息,数据提供方能够快速准确获取文件标识和存储节点标识,根据存储节点标识将分片密文和密钥密文发送到至少一个存储节点上。通过将上链交易信息放在区块链上,可以借助区块链分布式存储特性防止数据被随意篡改。

6、进一步地,所述方法还包括:接收数据请求方发送的数据授权请求,所述数据授权请求包括所述数据请求方的请求信息及密钥密文信息;所述请求方信息包括所述数据请求方的标识及公钥;所述密钥密文信息包括文件标识及存储节点标识;根据所述公钥及己方私钥,生成授权密钥;根据所述密钥密文信息中的存储节点标识向对应的存储节点发送代理重加密请求,所述代理重加密请求中包括所述授权密钥、所述文件标识及所述数据请求方的标识。

7、在上述实现过程中,通过生成授权密钥并向存储节点发送代理重加密请求,能够使存储节点在无需数据提供方私钥的情况下对数据请求方进行访问授权,保障了数据提供方私钥的安全性。

8、进一步地,所述根据所述公钥及己方私钥,生成授权密钥,包括:根据所述数据请求方的公钥、己方私钥及授权密钥公式rk1=gr’,rk2=x*e(gs,h0(idb))r’,rk3=ska-1*h1(x),rekeya->b=(rk1||rk2||rk3),生成授权密钥,其中,g为g1的一个生成元,r’为一个随机数,gr’为g的r’次点乘,gs为g的s次点乘,idb为所述数据请求方的公钥,h0(idb)为对所述数据请求方的公钥进行散列运算,e(gs,h0(idb))r’为以gs和h0(idb)为参数进行双线性映射,映射结果进行r’次点乘,x为一个随机数,h1(x)为对x进行散列运算,ska-1为所述数据提供方的己方私钥的倒数,rk1、rk2、rk3为中间值,rekeya->b为rk1、rk2、rk3拼接得到的所述授权密钥,“||”符号为字符拼接符号。在上述实现过程中,通过上述密钥生成方法生成授权密钥,能够能够使得后续采用授权密钥进行代理重加密的数据更加难以被破解。

9、第二方面,本技术提供一种数据共享方法,应用于区块链节点,包括:接收数据提供方的上链交易请求,所述上链交易请求中包括所述数据提供方的地址;根据所述地址,给所述数据提供方分配文件标识和至少一个存储节点;将所述文件标识和所述存储节点标识反馈给所述数据提供方;接收所述至少一个存储节点发送的分片密文及密钥密文的存储地址和所述文件标识;所述分片密文为数据提供方在数据上链前对共享数据加密后分片得到的;所述密钥密文为数据提供方对对称密钥加密得到的;所述对称密钥用于加密所述共享数据;针对每一个存储节点,根据所述文件标识存储所述分片密文及所述密钥密文的存储地址。

10、在上述实现过程中,通过接收和响应上链交易请求,能够快速获取数据提供方上链交易信息,并使数据提供方根据存储节点标识完成数据上链存储。通过接收和存储分片密文和密钥密文的存储地址和文件标识,能够使区块链节点获知分片密文和密钥密文的存储信息并向用户公开共享数据的交易信息,方便用户进行数据共享。

11、进一步地,所述根据所述地址,给所述数据提供方分配文件标识和存储节点,包括:根据所述数据提供方的地址,获取距离数据提供方最近的至少一个存储节点的存储节点标识;根据预设规则分配文件标识;所述文件标识用于标识所述数据提供方上传到所述至少一个存储节点的共享数据。

12、在上述实现过程中,通过获取距离数据提供方最近的至少一个存储节点的存储节点标识,能够使得内容密文的传输更加高效。当存储节点不唯一时,能够使得内容密文冗余存储,防止单个存储节点发生故障时无法进行数据共享,提高数据共享的稳定性。

13、进一步地,所述获取距离数据提供方最近的至少一个存储节点的存储节点标识,包括:向所有存储节点发送连通性测试请求,所述请求包括所述数据提供方的地址;接收所有存储节点发送的往返时间;所述往返时间为每个存储节点通过向所述数据提供方发送连通性测试指令得到的节点间的测试报文的往返时间;所述连通性测试指令会向所述数据提供方发送测试报文;从所述往返时间中筛选出往返时间最小的至少一个存储节点的存储节点标识,作为所述存储节点信息。

14、在上述实现过程中,区块链节点通过收集存储节点发送的连通性测试指令获取的往返时间,并从中筛选出最短时间的方法,能够快速有效的确定出距离数据提供方最近或网络传输效能最好的存储节点。

15、第三方面,本技术一种数据共享方法,应用于存储节点,包括:接收数据提供方发送的代理重加密请求,所述代理重加密请求包括授权密钥、文件标识及数据请求方标识;根据所述文件标识获取所述密钥密文,采用所述授权密钥对所述密钥密文进行代理重加密,得到重加密密钥密文;根据所述文件标识存储所述重加密密钥密文;向区块链节点发送访问权限更新请求,所述访问权限更新请求中包括所述文件标识、所述数据请求方标识及所述重加密密钥密文的存储地址,所述区块链节点中存储有所述密钥密文的访问权限表,所述访问权限表用于控制向具有访问权限的用户显示可以下载的数据。

16、在上述实现过程中,通过将存储节点与半可信代理节点合二为一对密钥密文进行代理重加密,与现有技术中存储节点和半可信代理节点分离的方式相比,能够节省节点间数据交互的传输时间,提高代理重加密效率,通过将重加密密钥密文的存储地址和数据请求方公钥发送给区块链节点,能够告知区块链节点数据访问信息,并通知区块链节点进行数据访问权限控制。

17、进一步地,所述采用授权密钥对所述文件标识对应的密钥密文进行代理重加密,得到重加密密钥密文,包括:根据代理重加密计算公式rc1’=c1,rc2’=c2*e(c1,rk3),rc3’=rk1,rc4’=rk2对所述文件标识对应的密钥密文进行代理重加密,得到重加密密钥密文crfk=rc1’||rc2’||rc3’||rc4’。其中,c1、c2为所述密钥密文的组成部分、rk1、rk2为所述授权密钥的组成部分,crfk为rc1’、rc2’、rc3’、rc4’为拼接得到的所述重加密密钥密文。

18、在上述实现过程中,通过代理重加密,得到重加密密钥密文,能够在不暴露数据提供方密钥密文内容的情况下将密钥密文转换成能够通过数据请求方私钥解密的重加密密钥密文,提高了数据共享过程中的安全性。

19、第四方面,本技术提供一种数据共享方法,应用于数据请求方,包括:从区块链节点的访问权限表中获取待请求数据的所属方信息,所述所属方信息包括待请求数据提供方信息、存储节点标识及存储地址;根据所述存储节点标识和所述存储地址向对应的存储节点下载所述待请求数据。

20、在上述实现过程中,通过从区块链节点的访问权限表中获取待请求数据的所属方信息,能够快速准确的根据所属方信息下载待请求数据。

21、进一步地,所述根据所述存储节点标识和所述存储地址向对应的存储节点下载所述待请求数据,包括:根据所述存储节点标识向对应的存储节点发送数据下载请求,所述请求中包括所述存储地址;接收所述存储节点发送的重加密密钥密文及分片密文;根据己方私钥解密所述重加密密钥密文,得到对称密钥;重组分片密文,根据所述对称密钥解密重组后的分片密文,得到明文数据。

22、在上述实现过程中,通过消息收发方式能够简单快速的获取重加密密钥密文及分片密文,通过己方私钥解密重加密密钥密文,能够准确获取对称密钥,通过重组分片密文以及根据对称密钥解密重组分片密文,能够准确得到明文数据。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1