一种数据存储共享方法、装置、芯片及终端

文档序号:36639167发布日期:2024-01-06 23:24阅读:18来源:国知局
一种数据存储共享方法、装置、芯片及终端

本发明涉及区块链,特别是涉及一种数据存储共享方法、装置、芯片及存储介质。


背景技术:

1、电力物联网是物联网在智能电网中的应用,能够有效整合通信基础设施资源和电力系统基础设施资源,提高电力系统信息化水平,改善电力系统现有基础设施利用效率,为电网发、输、变、配、用电等环节提供重要技术支撑,实现对电力设备的远程监控、运维及数据分析等多种功能。

2、随着电力物联网的不断发展,大量的设备都将实现互联互通。这些设备从传感器到监控设备、通信设备、数据存储等,都会产生大量的数据,而电力物联网一般通过第三方网络存储服务解决上述大量数据的存储问题。但是网络存储即服务范式也有缺点,一旦用户将其数据外包给不可靠的远程存储服务器而没有完整的本地备份,他们的数据将面临许多安全威胁,包括致命的数据损坏。不可靠的存储服务器由于各种因素和原因而具有数据丢失的可能性,这些因素和原因包括但不限于自然或人为事故、恶意黑客攻击以及甚至服务器的不道德的成本削减行为。


技术实现思路

1、基于此,本发明提供一种数据存储共享方法、装置、芯片及存储介质,解决了现有技术中,电力物联网使用第三方网络存储服务增加了电力数据的丢失损坏风险的问题。

2、第一方面,一种数据存储共享方法,应用于通过仲裁节点部署设置了存储合约和仲裁合约的区块链上;

3、所述数据存储共享方法包括:

4、s1、数据拥有者使用对称密钥对共享明文数据进行对称加密,获得第一密文;

5、s2、通过cp-abe对所述对称密钥进行加密,获得第二密文;

6、其中,所述仲裁节点用于生成随机数,同时获取随机素数p和随机素数q生成模数n,n=p*q,模数n为整数乘法群,所使用的哈希函数基于幂模运算且满足交换律;所述仲裁节点在所述区块链上发布所述随机数和所述模数,所述s1和s2中进行加密时,基于所述随机数和所述模数执行密钥生成算法;

7、s3、将所述第一密文、所述第二密文保存为共享数据文件通过所述存储合约发送给数据存储者进行存储;

8、所述s3中,所述数据存储者将所述共享数据文件存储之前,所述存储合约分析所述数据拥有者基于所述共享数据文件的第一计算结果以及所述数据存储者基于所述共享数据文件的第二计算结果之间的一致性;

9、所述第一计算结果和所述第二计算结果一致,所述数据存储者将所述共享数据文件存储,并生成包括存储地址的文件索引,且将所述文件索引和所述第一计算结果或所述文件索引和所述第二计算结果记录到区块链上;

10、所述第一计算结果和所述第二计算结果不一致,终止所述数据拥有者的此次存储;

11、s4、所述数据拥有者接收到已注册数据使用者发送的数据共享请求后,通过所述区块链向所述数据存储者发起质询;

12、若质询结果不一致,调用仲裁合约进行裁决;

13、若质询结果一致,向所述已注册数据使用者反馈所述文件索引,以使所述已注册数据使用者根据所述文件索引在所述数据存储者处下载所述共享数据文件。

14、可选地,所述s1之前,包括:

15、数据拥有者获取安全参数,根据密钥生成算法公式setup(1λ)→(mk,pk),生成公钥和主密钥,其中,λ为安全参数,pk为公钥,mk为主密钥;

16、所述公钥表示为

17、所述主密钥表示为mk={gα,β};

18、其中,g为仲裁节点生成的随机数;g还作为g0的生成器;e表示双线映射,e:g0×g0→gt,g0和gt是两个大素数p阶的循环乘法群;还通过散列函数定义g0,为{0,1}*→g0;α,β∈zp,表示在整数模zp中选择的随机指数;

19、获取数据拥有者的属性,根据kengen(mk,s),生成属性私钥;

20、所述属性私钥表示为

21、其中,数据拥有者的属性表示为s,s={j1,j2,…,jn};r为随机数,r∈zp,对于每个属性j∈s选择一个随机的rj∈zp。

22、可选地,所述通过cp-abe对所述对称密钥进行加密,包括:

23、通过访问策略和所述公钥对所述对称密钥进行加密。

24、可选地,所述s4之前,包括:

25、数据拥有者监测到数据使用者发送注册请求,且所述注册请求完成后,向所述数据使用者分配属性私钥;

26、所述属性私钥用于,所述已注册数据使用者根据所述文件索引在所述数据存储者处下载所述共享数据文件之后,使用属性私钥对所述第二密文进行解密获得对称密钥;使用所述对称密钥对所述第一密文解密获得共享明文数据。

27、可选地,通过所述区块链向所述数据存储者发起质询,包括:

28、数据拥有者以另一随机数生成挑战值,并随机选择共享数据文件及其文件索引,记为随机文件和随机索引;

29、数据拥有者将挑战值和随机索引通过区块链发送给数据存储者;

30、获取数据存储者的第三计算结果;其中,所述数据存储者根据所述随机索引和所述挑战值进行基于所述随机文件的计算,获得第三计算结果其中,chal表示挑战值,chal=gt(modn),t表示另一随机数,表示在数据存储者处进行计算的共享数据;

31、所述数据拥有者根据存储在区块链上的文件索引获取基于共享数据文件的第一计算结果,表示为(σi)t(modn),则(σi)t(modn)表示任一个存储在区块链上的基于共享数据文件的第一计算结果;

32、若所述第三计算结果与所述第一计算结果相同,即proof≡(σi)t(modn),则质询结果一致;若不同,则质询结果不一致,所述数据拥有者发起仲裁合约,进入争议仲裁阶段进行裁决。

33、可选地,所述数据拥有者发起仲裁合约,进入争议仲裁阶段进行裁决,包括:

34、调用与所述另一随机数具有映射关系的秘密随机数,基于所述仲裁节点生成的随机数和所述秘密随机数获得第四计算结果其中,t*为秘密随机数;

35、若所述第四计算结果与所述挑战值不一致,则所述秘密随机数是伪造的,所述数据拥有者是恶意的;

36、若一致,继续根据存储在区块链上的文件索引获取基于共享数据文件的第一计算结果,表示为则表示任一个存储在区块链上,与(σi)t(modn)不同的基于共享数据文件的第一计算结果,若与所述第三计算结果proof相同,即当且仅当数据存储者是可信任的。

37、可选地,所述数据拥有者基于所述共享数据文件的第一计算结果,为σi1=gbi(modn),所述数据存储者基于所述共享数据文件的第二计算结果,为

38、其中,bi表示在数据拥有者处进行计算的共享数据,表示在数据存储者处进行计算的共享数据。

39、第二方面提供一种数据存储共享装置,应用于通过仲裁节点部署设置了存储合约和仲裁合约的区块链上;

40、所述数据存储共享装置包括:

41、对称加密模块,用于数据拥有者使用对称密钥对共享明文数据进行对称加密,获得第一密文;

42、密钥加密模块,用于通过cp-abe对所述对称密钥进行加密,获得第二密文;

43、其中,所述仲裁节点用于生成随机数,同时获取随机素数p和随机素数q生成模数n,n=p*q,模数n为整数乘法群,所使用的哈希函数基于幂模运算且满足交换律;所述仲裁节点在所述区块链上发布所述随机数和所述模数,所述对称加密模块和密钥加密模块中进行加密时,基于所述随机数和所述模数执行密钥生成算法;

44、共享数据文件存储模块,用于将所述第一密文、所述第二密文保存为共享数据文件通过所述存储合约发送给数据存储者进行存储;

45、所述共享数据文件存储模块包括存储合约处理单元、第一结果处理单元、第一结果处理单元;

46、存储合约处理单元,用于在所述数据存储者将所述共享数据文件存储之前,所述存储合约分析所述数据拥有者基于所述共享数据文件的第一计算结果以及所述数据存储者基于所述共享数据文件的第二计算结果之间的一致性;

47、第一结果处理单元,用于在所述第一计算结果和所述第二计算结果一致时,所述数据存储者将所述共享数据文件存储,并生成包括存储地址的文件索引,且将所述文件索引和所述第一计算结果或所述文件索引和所述第二计算结果记录到区块链上;

48、第二结果处理单元,用于在所述第一计算结果和所述第二计算结果不一致,终止所述数据拥有者的此次存储;

49、交易模块,用于所述数据拥有者接收到已注册数据使用者发送的数据共享请求后,通过所述区块链向所述数据存储者发起质询;

50、所述交易模块包括裁决单元和数据交易单元;

51、裁决单元,用于若质询结果不一致,调用仲裁合约进行裁决;

52、数据交易单元,用于若质询结果一致,向所述已注册数据使用者反馈所述文件索引,以使所述已注册数据使用者根据所述文件索引在所述数据存储者处下载所述共享数据文件。

53、第三方面,提供一种芯片,包括第一处理器,用于从第一存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如权利要求1至7任一项所述的数据存储共享的各个步骤。

54、第四方面,提供一种终端,包括第二存储器、第二处理器以及存储在所述第二存储器中并可在所述第二处理器上运行的计算机程序,第二处理器执行所述计算机程序时实现如上介绍的数据存储共享方法的各个步骤。

55、上述数据存储共享方法、装置、芯片及存储介质,基于区块链进行数据存储和数据共享,且此区块链中,通过仲裁节点部署设置存储合约和仲裁合约。首先数据拥有者对其的共享明文数据进行保护,包括使用对称密钥对称加密共享明文数据,以及使用cp-abe对对称密钥进行加密,上述的两个加密算法,均在数据存储者处进行,区块链中仲裁节点负责设置随机数、随机素数p、随机素数q、模数n以及模数n所使用的哈希函数,该哈希函数满足交换律。基于此,数据拥有者将共享数据文件存储到数据存储者,数据存储者完成存储之前,通过存储合约分析暂存在数据存储者处的数据完整性,若是存储合约执行失败,表示数据存储者处的数据不完整,则终止这次存储任务,防止后续数据交易过程中产生纠纷。若是存储合约执行成功,还将文件索引和第一计算结果或文件索引和第二计算结果记录到区块链上,供所述数据拥有者接收到已注册数据使用者发送的数据共享请求后,通过所述区块链向所述数据存储者发起质询时使用。其中,数据使用者发送共享数据请求时,数据拥有者将会通过区块链向数据存储者发起质询,用于再次验证数据存储者处的数据完整性,若是质询结果不一致,调用仲裁存储合约进一步验证数据不完整的原因,若是质询结果不一致,将此共享数据文件的文件索引发送给数据使用者。通过本发明实施例提供的数据存储共享方法,数据拥有者和数据使用者之间的数据共享能够基于可靠的数据存储者进行,保证共享数据文件的完整性,解决了在电力物联网中,使用第三方网络存储服务增加了电力数据的丢失损坏风险的问题。

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