一种云环境下开放数据完整性验证方法、系统及设备

文档序号:37235049发布日期:2024-03-06 16:54阅读:15来源:国知局
一种云环境下开放数据完整性验证方法、系统及设备

本发明涉及开放数据完整性验证领域,特别是涉及一种云环境下开放数据完整性验证方法、系统及设备。


背景技术:

1、云环境下的数据完整性验证方案发展了很多年,现有pdp、por、pospace等不同的审计方案体系。这一众方案较为相通的思路是,验证者不可能通过逐个查询或下载整个原始文件的方式对数据进行存储完整性验证,一般情况下,证明者会让客户端先生成一个秘密,证明者通过无秘密的方式对通过密码学手段构造的等式进行计算,以此减少完整性验证过程中的计算复杂度。通常,只要客户端不泄露秘密,证明者可以通过一个公开可验证的方案证明所存数据的完整性,并使得验证者在不知道秘密的情况下正常进行验证。

2、在上述一系列的方案体系中,只对私有数据生效。倘若是在开放数据的存储场景下,初始数据来源为大众,没有特定指向,上述方案中的客户端和证明者便成为了相同的角色。在这种“证明者处理原始数据、证明者进行证明、验证者进行验证”的模式下,如果依然沿用上述一系列方案的思路,证明者便知晓了同为客户端本身掌握的秘密,便可以在证明时造假而不被验证者发现,导致数据完整性得不到彻底保证。


技术实现思路

1、本发明的目的是提供一种云环境下开放数据完整性验证方法、系统及设备,以解决无法保证数据完整性的问题。

2、为实现上述目的,本发明提供了如下方案:

3、一种云环境下开放数据完整性验证方法,包括:

4、将存储者输入的原始开放数据分割为多块切块文件存储至云端平台,并根据每块切块文件确定预备启动参数以及公共参数;所述预备启动参数包括每块切块文件的预备名字参数、预备签名参数以及所述存储者的身份标识;所述公共参数包括切块文件的块数、每块所述切块文件的矢量数以及切块文件名以及辅助验证参数;

5、利用可信计算群组,通过多方安全计算和秘密共享方案,根据所述预备启动参数确定可信启动参数;所述可信启动参数包括每块切块文件的签名公钥参数、名字公钥参数、名字参数以及签名参数;所述多方安全计算和秘密共享方案包括每块切块文件的密钥切片;一个密钥切片对应一个可信启动参数;一个持有者仅拥有一块切块文件的密钥切片;多个密钥切片对应所述原始开放数据的完整密钥;

6、当对存储的原始开放数据进行验证时,根据公共随机数以及所述公共参数确定挑战参数;

7、根据所述挑战参数以及所述可信启动参数确定响应参数;

8、根据所述响应参数以及所述可信启动参数确定验证结果,并根据所述验证结果验证所述云端平台上的原始开放数据的数据完整性。

9、可选的,将存储者输入的原始开放数据分割为多块切块文件存储至云端平台,具体包括:

10、将所述原始开放数据进行纠删码处理,生成纠删码后的数据文件;

11、将所述纠删码后的数据文件进行分块编码,确定多块切块文件;

12、多块切块文件存储至云端平台。

13、可选的,将所述纠删码后的数据文件进行分块编码,确定多块切块文件,之后还包括:

14、将每块所述切块文件划分为多个矢量文件;每块切块文件的矢量文件的矢量数相等。

15、可选的,利用可信计算群组,通过多方安全计算和秘密共享方案,根据所述预备启动参数确定可信启动参数,具体包括:

16、利用所述可信计算群组查询所述存储者的身份标识是否存在访问记录;

17、若是,确定存在从存储者到多方安全计算和秘密共享方案之间的映射关系;

18、根据所述映射关系确定签名公钥参数、公钥参数以及名字参数;

19、若否,根据多方安全计算和秘密共享方案生成签名公钥参数v;所述签名公钥参数v满足v=gα;其中,α为所述可信计算群组中的元素,g为所述可信计算群组的生成元;

20、利用所述可信计算群组随机生成名字公钥参数spk以及名字参数t;所述公钥参数spk以及所述名字参数t满足t=t0||ssig(ssk,t0)以及其中,t0为预备名字参数;ssk为密钥切片;skg()为bls签名的密钥生成算法,ssig()为bls签名的签名算法;r为随机选取操作;

21、根据所述签名公钥参数v、多方安全计算和秘密共享方案、所述公钥参数spk以及所述名字参数t建立从存储者到多方安全计算和秘密共享方案之间的映射关系,并将所述映射关系作为访问记录;

22、利用多方安全计算和秘密共享方案生成签名参数σi;所述签名参数σi满足σi=τiα;其中,i为切块文件的块数;τi为预备签名参数;

23、利用所述可信计算群组将所述签名公钥参数、所述名字公钥参数、所述名字参数以及所述签名参数封装为可信启动参数。

24、可选的,根据所述挑战参数以及所述可信启动参数确定响应参数,具体包括:

25、生成响应随机数;

26、利用公式确定求和验证参数;其中,μj为求和验证参数;vi为响应随机数;q为挑战参数;mij为切块文件,i为切块文件的块数,j为矢量数;

27、利用公式确定求积验证参数;其中,σ为求积验证参数;σi为签名参数;∏为多方安全计算和秘密共享方案;

28、将所述求和验证参数以及所述求积验证参数封装为响应参数。

29、可选的,将所述求和验证参数以及所述求积验证参数封装为响应参数,具体包括:

30、根据公式re←({μj}1≤j≤s,σ)将所述求和验证参数以及所述求积验证参数封装为响应参数;其中,re为响应参数。

31、可选的,根据所述响应参数以及所述可信启动参数确定验证结果,之后还包括:

32、判断是否成立;其中,e为双线性映射,uj为辅助验证参数;h为哈希函数;name为切块文件的文件名;v为签名公钥参数;||为字符串的连接;

33、若是,确定验证结果为原始开放数据完整;

34、若否,确定验证结果为原始开放数据不完整。

35、一种云环境下开放数据完整性验证系统,包括:

36、原始开放数据处理模块,用于将存储者输入的原始开放数据分割为多块切块文件存储至云端平台,并根据每块切块文件确定预备启动参数以及公共参数;所述预备启动参数包括每块切块文件的预备名字参数、预备签名参数以及所述存储者的身份标识;所述公共参数包括切块文件的块数、每块所述切块文件的矢量数以及切块文件名以及辅助验证参数;

37、启动模块,用于利用可信计算群组,通过多方安全计算和秘密共享方案,根据所述预备启动参数确定可信启动参数;所述可信启动参数包括每块切块文件的签名公钥参数、公钥参数、名字参数以及签名参数;所述多方安全计算和秘密共享方案包括每块切块文件的密钥切片;一个密钥切片对应一个公钥参数;一个持有者仅拥有一块切块文件的密钥切片;多个密钥切片对应所述原始开放数据的完整密钥;

38、挑战模块,用于当对存储的原始开放数据进行验证时,根据公共随机数以及所述公共参数确定挑战参数;

39、响应计算模块,用于根据所述挑战参数以及所述可信启动参数确定响应参数;

40、验证模块,用于根据所述响应参数以及所述可信启动参数确定验证结果,并根据所述验证结果验证所述云端平台上的原始开放数据的数据完整性。

41、一种电子设备,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行上述云环境下开放数据完整性验证方法。

42、可选的,所述存储器为非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述云环境下开放数据完整性验证方法。

43、根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明实施例通过将存储者输入的原始开放数据分割为多块切块文件,确定切块文件的预备启动参数以及公共参数,并利用可信计算群组,通过多方安全计算和秘密共享方案,根据所述预备启动参数确定可信启动参数,当对存储的原始开放数据进行验证时,生成挑战参数,并根据挑战参数以及可信启动参数确定响应参数,最终根据响应参数以及可信启动参数确定验证结果,以确定验证云端平台上的原始开放数据的数据完整性;其中,多方安全计算和秘密共享方案包括每块切块文件的密钥切片,一块切块文件的密钥切片与可信启动参数中的公钥参数一一对应,且一个持有者仅拥有一块切块文件的密钥切片;本发明通过引入可信计算群组确定可信启动参数,在此过程中存储者也无法得知切块文件的密钥切片,且由于原始开放数据分割为多块切块文件,多块切块文件的密钥切片才能组成一个完整密钥,因此,在整个验证过程中存储者无法造假,保证了数据完整性。

44、且,在公众验证过程中,本发明基于可信启动参数确定响应参数,并根据响应参数以及可信启动参数才能够进行验证,而可信启动参数是基于多方安全计算和秘密共享方案生成的,因此,必须通过正确的解密方式(即:基于多方安全计算和秘密共享方案生成可信启动参数)才能够进行验证,更进一步保证了数据完整性。

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