数据共享方法、装置、电子设备及存储介质制造方法及图纸

技术编号:37682011 阅读:14 留言:0更新日期:2023-05-28 09:35
本申请提供一种数据共享方法、装置、电子设备及存储介质,该方法应用于数据提供方,该方法包括:生成对称密钥和密钥对;采用所述对称密钥对文件内容进行加密,得到内容密文;采用所述密钥对中的公钥对所述对称密钥加密,得到密钥密文;对所述内容密文进行分片处理,得到分片密文;将所述分片密文和所述密钥密文上传到至少一个存储节点上。本申请技术方案能够有效提高数据共享过程中的数据安全性、防止数据被篡改。据被篡改。据被篡改。

【技术实现步骤摘要】
数据共享方法、装置、电子设备及存储介质


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

技术介绍

[0002]区块链技术因其分布式存储不易被篡改的特性,广泛应用于数据共享的应用场景中。
[0003]目前的大部分基于区块链进行数据共享的系统,存在一个可信的存储节点,如阿里云存储,通常情况下,数据提供方是直接将文件数据明文上传到云存储服务器,由云存储服务器进行数据的加密。数据请求方请求数据时是根据得到的文件下载链接,直接通过链接在服务器上下载文件。
[0004]目前的数据共享方法,由于是由云存储服务器对数据进行加密,云存储厂商可能监视并篡改共享数据内容,并造成共享数据的泄漏。

技术实现思路

[0005]本申请提供一种数据共享方法、装置、电子设备和存储介质,目的在于解决数据安全性、防止数据被篡改的问题。
[0006]第一方面,本申请提供一种数据共享方法,应用于数据提供方,包括:生成对称密钥和密钥对;采用所述对称密钥对文件内容进行加密,得到内容密文;采用所述密钥对中的公钥对所述对称密钥加密,得到密钥密文;对所述内容密文进行分片处理,得到分片密文;将所述分片密文和所述密钥密文上传到至少一个存储节点上。
[0007]在上述实现过程中,由数据提供方对内容加密,提高了共享数据的安全性,通过对密钥加密,防止密钥被泄露,提高了密钥传输过程中的安全性,从而进一步提高了共享数据的安全性,通过对内容密文进行分片处理,一方面防止数据在传输过程中被完整截获,另一方面分片数据可以并发传输,并且在数据传输出现错误时,只需重传错误分片,提高了数据传输的效率。通过将数据存储到存储节点上,可以实现数据提供方离线共享数据。
[0008]进一步地,所述将所述分片密文和所述密钥密文上传到至少一个存储节点上,包括:向所述区块链的区块链节点发送上链交易请求;接收所述交易请求的响应信息,所述响应信息中包括文件标识和所述至少一个存储节点的存储节点标识;根据所述存储节点标识将所述分片密文、所述密钥密文及所述文件标识发送到所述至少一个存储节点上。
[0009]在上述实现过程中,通过向区块链节点发送共享数据的上链交易请求,能够快速高效地通知区块链节点生成交易信息并分配存储节点,同时可以向用户公开共享数据上链交易信息。通过接收响应信息,数据提供方能够快速准确获取文件标识和存储节点标识,根据存储节点标识将分片密文和密钥密文发送到至少一个存储节点上。通过将上链交易信息放在区块链上,可以借助区块链分布式存储特性防止数据被随意篡改。
[0010]进一步地,所述方法还包括:接收数据请求方发送的数据授权请求,所述数据授权
请求包括所述数据请求方的请求信息及密钥密文信息;所述请求方信息包括所述数据请求方的标识及公钥;所述密钥密文信息包括文件标识及存储节点标识;根据所述公钥及己方私钥,生成授权密钥;根据所述密钥密文信息中的存储节点标识向对应的存储节点发送代理重加密请求,所述代理重加密请求中包括所述授权密钥、所述文件标识及所述数据请求方的标识。
[0011]在上述实现过程中,通过生成授权密钥并向存储节点发送代理重加密请求,能够使存储节点在无需数据提供方私钥的情况下对数据请求方进行访问授权,保障了数据提供方私钥的安全性。
[0012]进一步地,所述根据所述公钥及己方私钥,生成授权密钥,包括:根据所述数据请求方的公钥、己方私钥及授权密钥公式Rk1=g
r

,Rk2=X*e(g
s
,H0(ID
B
))
r

,Rk3=sk
A
‑1*H1(X),Rekey
A

>B
=(Rk1||Rk2||Rk3),生成授权密钥,其中,g为G1的一个生成元,r

为一个随机数,g
r

为g的r

次点乘,g
s
为g的s次点乘,ID
B
为所述数据请求方的公钥,H0(ID
B
)为对所述数据请求方的公钥进行散列运算,e(g
s
,H0(ID
B
))
r

为以g
s
和H0(ID
B
)为参数进行双线性映射,映射结果进行r

次点乘,X为一个随机数,H1(X)为对X进行散列运算,sk
A
‑1为所述数据提供方的己方私钥的倒数,Rk1、Rk2、Rk3为中间值,Rekey
A

>B
为Rk1、Rk2、Rk3拼接得到的所述授权密钥,“||”符号为字符拼接符号。在上述实现过程中,通过上述密钥生成方法生成授权密钥,能够能够使得后续采用授权密钥进行代理重加密的数据更加难以被破解。
[0013]第二方面,本申请提供一种数据共享方法,应用于区块链节点,包括:接收数据提供方的上链交易请求,所述上链交易请求中包括所述数据提供方的地址;根据所述地址,给所述数据提供方分配文件标识和至少一个存储节点;将所述文件标识和所述存储节点标识反馈给所述数据提供方;接收所述至少一个存储节点发送的分片密文及密钥密文的存储地址和所述文件标识;所述分片密文为数据提供方在数据上链前对共享数据加密后分片得到的;所述密钥密文为数据提供方对对称密钥加密得到的;所述对称密钥用于加密所述共享数据;针对每一个存储节点,根据所述文件标识存储所述分片密文及所述密钥密文的存储地址。
[0014]在上述实现过程中,通过接收和响应上链交易请求,能够快速获取数据提供方上链交易信息,并使数据提供方根据存储节点标识完成数据上链存储。通过接收和存储分片密文和密钥密文的存储地址和文件标识,能够使区块链节点获知分片密文和密钥密文的存储信息并向用户公开共享数据的交易信息,方便用户进行数据共享。
[0015]进一步地,所述根据所述地址,给所述数据提供方分配文件标识和存储节点,包括:根据所述数据提供方的地址,获取距离数据提供方最近的至少一个存储节点的存储节点标识;根据预设规则分配文件标识;所述文件标识用于标识所述数据提供方上传到所述至少一个存储节点的共享数据。
[0016]在上述实现过程中,通过获取距离数据提供方最近的至少一个存储节点的存储节点标识,能够使得内容密文的传输更加高效。当存储节点不唯一时,能够使得内容密文冗余存储,防止单个存储节点发生故障时无法进行数据共享,提高数据共享的稳定性。
[0017]进一步地,所述获取距离数据提供方最近的至少一个存储节点的存储节点标识,包括:向所有存储节点发送连通性测试请求,所述请求包括所述数据提供方的地址;接收所有存储节点发送的往返时间;所述往返时间为每个存储节点通过向所述数据提供方发送连
通性测试指令得到的节点间的测试报文的往返时间;所述连通性测试指令会向所述数据提供方发本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据共享方法,其特征在于,应用于数据提供方,所述方法包括:生成对称密钥和密钥对;采用所述对称密钥对文件内容进行加密,得到内容密文;采用所述密钥对中的公钥对所述对称密钥加密,得到密钥密文;对所述内容密文进行分片处理,得到分片密文;将所述分片密文和所述密钥密文上传到至少一个存储节点上。2.如权利要求1所述的数据共享方法,其特征在于,所述将所述分片密文和所述密钥密文上传到至少一个存储节点上,包括:向所述区块链的区块链节点发送上链交易请求;接收所述交易请求的响应信息,所述响应信息中包括文件标识和所述至少一个存储节点的存储节点标识;根据所述存储节点标识将所述分片密文、所述密钥密文及所述文件标识发送到所述至少一个存储节点上。3.如权利要求1或2所述的数据共享方法,其特征在于,所述方法还包括:接收数据请求方发送的数据授权请求,所述数据授权请求包括所述数据请求方的请求信息及密钥密文信息;所述请求方信息包括所述数据请求方的标识及公钥;所述密钥密文信息包括文件标识及存储节点标识;根据所述公钥及己方私钥,生成授权密钥;根据所述密钥密文信息中的存储节点标识向对应的存储节点发送代理重加密请求,所述代理重加密请求中包括所述授权密钥、所述文件标识及所述数据请求方的标识。4.如权利要求3所述的数据共享方法,其特征在于,所述根据所述公钥及己方私钥,生成授权密钥,包括:根据所述数据请求方的公钥、己方私钥及授权密钥公式Rk1=g
r

,Rk2=X*e(g
s
,H0(ID
B
))
r

,Rk3=sk
A
‑1*H1(X),Rekey
A

>B
=(Rk1||Rk2||Rk3),生成授权密钥,其中,g为G1的一个生成元,r

为一个随机数,g
r

为g的r

次点乘,g
s
为g的s次点乘,ID
B
为所述数据请求方的公钥,H0(ID
B
)为对所述数据请求方的公钥进行散列运算,e(g
s
,H0(ID
B
))
r

为以g
s
和H0(ID
B
)为参数进行双线性映射,映射结果进行r

次点乘,X为一个随机数,H1(X)为对X进行散列运算,sk
A
‑1为所述数据提供方的己方私钥的倒数,Rk1、Rk2、Rk3为中间值,Rekey
A

>B
为Rk1、Rk2、Rk3拼接得到的所述授权密钥,“||”符号为字符拼接符号。5.一种数据共享方法,其特征在于,应用于区块链节点,所述方法包括:接收数据提供方的上链交易请求,所述上链交易请求中包括所述数据提供方的地址;根据所述地址,给所述数据提供方分配文件标识和至少一个存储节点;将所述文件标识和所述存储节点标识反馈给所述数据提供方;接收所述至少一个存储节点发送的分片密文及密钥密文的存储地址和所述文件标识;所述分片密文为数据提供方在数据上链前对共享数据加密后分片得到的;所述密钥密文为数据提供方对对称密钥加密得到的;所述对称密钥用于加密所述共享数据;针对每一个存储节点,根据所述文件标识存储所述分片密文及所述密钥密文的存储地址。6.如权利要求5所述的数据共享方法,其特征在于,所述根据所述地址,给所述数据提
供方分配文件标识和至少一个存储节点,包括:根据所述数据提供方的地址,获取距离所述数据提供方最近的至少一个存储节点的存储节点标识;根据预设规则分配文件标识;所述文件标识用于标识所述数据提供方上传到所述至少一个存储节点的共享数据。7.如权利要求6所述的数据共享方法,其特征在于,所述获取距离所述数据提供方最近的至少一个存储节点的存储节点标识,包括:向所有存储节点发送连通性测试请求,所述请求包括所述数据提供方的地址;接收所有存储节点发送的往返时间;所述往返时间为每个存储节点通过向所述数据提供方发送连通性测试指令得到的节点间的测试报文的往返时间;所述连通性测试指令会向所述数据提供方发送测试报文;从所述往返时间中筛选出往返时间最小的至少一个存储节点的存储节点标识,作为所述存储节点标识。8.一种数据共享方法,其特征在于,应用于存储节点,所述方法包括:接收所述数据提供方发...

【专利技术属性】
技术研发人员:郭智浩莫海江梁腾寇祖亮
申请(专利权)人:重庆新致金服信息技术有限公司
类型:发明
国别省市:

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

1