CN116781427B - 一种云存储数据完整性验证方法 - Google Patents
一种云存储数据完整性验证方法 Download PDFInfo
- Publication number
- CN116781427B CN116781427B CN202311063504.3A CN202311063504A CN116781427B CN 116781427 B CN116781427 B CN 116781427B CN 202311063504 A CN202311063504 A CN 202311063504A CN 116781427 B CN116781427 B CN 116781427B
- Authority
- CN
- China
- Prior art keywords
- verification
- data
- cloud storage
- data block
- verified
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003860 storage Methods 0.000 title claims abstract description 97
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000013496 data integrity verification Methods 0.000 title claims abstract description 38
- 238000012795 verification Methods 0.000 claims abstract description 157
- 238000004364 calculation method Methods 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 18
- 150000003839 salts Chemical class 0.000 claims description 16
- 238000012545 processing Methods 0.000 abstract description 13
- 230000007246 mechanism Effects 0.000 abstract description 12
- 238000012550 audit Methods 0.000 abstract description 10
- 230000004044 response Effects 0.000 abstract description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 18
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005336 cracking Methods 0.000 description 2
- 230000002427 irreversible effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种云存储数据完整性验证方法,数据拥有者给每个数据块编号并分配多个随机挑战数,通过多层多次预哈希处理模型处理后,生成验证标签上传到区块链。通过挑战应答机制,CSP接收到随机挑战数后与存储数据块生成完整性证明,发送给智能合约,通过智能合约与验证标签进行对比,生成验证结果。本方法引入区块链和智能合约可省去第三方审计机构;通过多层多次预哈希处理模型构造验证标签,可满足多次高效验证需求,提高数据完整性验证效率;随机挑战数的存在,可抵御CSP的重放攻击,提高数据完整性验证安全性。因而,本发明可有效改善云存储中数据完整性验证存在的第三方审计机构不可信,CSP的重放攻击,伪造验证结果以及验证效率低问题。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种云存储数据完整性验证方法。
背景技术
随着时代的进步,大量的数据也随之产生,而文字、视频和图片的大量产出,导致本地存储能力严重告急,为了减少存储负担,用户大多数都会选择云服务提供商(CloudService Provider),这种方便有效的存储访问解决方案。然而,因服务器物理原因、以及外部攻击和云服务提供商不可信等问题,让用户存储数据完整性得不到有效保障,频繁发生数据丢失,篡改等问题。因此,用户需要定期进行云存储数据完整性的验证,用来保障自身权益。
在目前数据完整性验证方案中,公开号为CN105227549A的中国发明专利公开了一种数据持有性证明方案(PDP),属于信息安全领域,适用于云存储安全管理技术。方案中包括密钥生成模块、标签生成模块、挑战模块、证据生成模块和验证模块。发明所述的方案只需要加、减、乘和模运算,支持数据块的修改、追加操作,支持多副本的数据持有性证明和支持第三方可验证的数据持有性证明。发明所述的方案具有安全性高,计算成本低,需要存储空间和通信量少的优点,为开发一种数据持有性证明方案提出了一个新的研究方向。
然而,数据持有性证明方案需要下载后自行完成验证,导致数据完整性验证效率太低;同时,引入的包含第三方的云储存数据完整性验证也存在一些弊端,主要包括:第三方不可信、重放攻击和伪造验证结果。因此,有必要开发一种云存储数据完整性验证方法。
发明内容
本发明的目的在于针对云存储中数据完整性验证存在的第三方审计机构不可信,CSP的重放攻击,伪造验证结果以及验证效率低问题,提供了一种云存储数据完整性验证方法,数据拥有者给每个数据块编号并分配多个随机挑战数,通过多层多次预哈希处理模型处理后,生成验证标签上传到区块链。通过挑战应答机制,CSP接收到随机挑战数后与存储数据块生成完整性证明,发送给智能合约,通过智能合约与验证标签进行对比,生成验证结果。本方法引入区块链和智能合约可省去第三方审计机构;通过多层多次预哈希处理模型构造验证标签,可满足多次高效验证需求,提高数据完整性验证效率;随机挑战数的存在,可抵御CSP的重放攻击,提高数据完整性验证安全性。因而,本发明可有效改善云存储中数据完整性验证存在的第三方审计机构不可信,CSP的重放攻击,伪造验证结果以及验证效率低问题。
第一方面,本发明提供的一种云存储数据完整性验证方法包含以下步骤:切片待存储文件得到多个数据块并编号,将多个所述数据块及对应编号上传至云存储进行存储;
为所述数据块分配K个随机挑战数,并对所述数据块及K个所述随机挑战数进行L次加盐哈希后再进行N-L次哈希计算,得到所述数据块对应的K个验证标签,并将所述数据块及对应的验证标签上传至区块链;其中,所述L为大于或等于1,且小于N的自然数,所述K和N均为大于或等于2的自然数;
将待验证数据块的编号和所述待验证数据块对应的随机挑战数发送至所述云存储,基于所述待验证数据块的编号调用所述待验证数据块;
将所述待验证数据块及所述云存储接收的随机挑战数进行L次加盐哈希后输入区块链再进行N-L次哈希计算,输出验证证据后与所述验证标签进行对比,输出验证结果;其中,所述L为大于或等于1,且小于N的自然数。
本发明提供的一种云存储数据完整性验证方法的有益效果在于:引入区块链和智能合约技术可省去第三方审计机构;通过多层多次预哈希处理模型构造数据标签,可满足多次高效验证需求,提高数据完整性验证效率;随机挑战数的存在,可抵御CSP的重放攻击,提高数据完整性验证安全性;可有效改善云存储中数据完整性验证存在的第三方审计机构不可信,CSP的重放攻击,伪造验证结果以及验证效率低问题。
优选的,对同一待验证数据块进行多次验证时,执行将待验证数据块的编号和所述待验证数据块对应的随机挑战数发送至所述云存储的过程中,发送至所述云存储的所述待验证数据块对应的随机挑战数不同。如此,可抵御CSP的重放攻击,提高数据完整性验证安全性;同时,对所述数据块进行多次验证时,还可避免每次验证后需重新下载所述待存储文件,从而提高数据完整性验证效率。
优选的,执行所述验证证据与所述验证标签进行比对输出验证结果时,包括:当所述验证证据包含在验证标签内时,输出验证结果为存储在云存储上的数据完整;否则,输出验证结果为存储在云存储上的数据不完整。如此,可准确完成对云存储数据完整性的验证。
优选的,所述区块链上设置有智能合约,所述智能合约设定有触发条件;执行所述区块链进行N-L次哈希计算的过程中,满足所述触发条件后,在所述区块链上的智能合约进行进行N-L次哈希计算。如此,可达到验证过程公开透明和验证历史可查询的目的,提高数据完整性验证的安全性。
优选的,执行所述验证证据与所述验证标签进行比对输出验证结果的过程中,在所述智能合约上进行比对并输出验证结果。如此,可避免第三方审计机构不可信问题和单点故障发生,可避免第三方可能存在安全漏洞、故意篡改数据或被攻击的问题。
优选的,将所述待验证数据块及所述云存储接收的随机挑战数进行L次加盐哈希后,输出完整性证明。
优选的,将所述待验证数据块及所述云存储接收的随机挑战数进行L次加盐哈希后输入区块链的过程中,包括:将所述完整性证明及对应待验证数据块的编号输入区块链。
优选的,所述触发条件为所述区块链接收到所述云存储发送的所述完整性证明。如此,可避免智能合约在无验证的情况下造成资源浪费的发生。
优选的,执行所述加盐哈希和所述哈希计算时,均使用SHA256哈希运算,哈希运算具有不可逆性,可防止云存储中的云服务提供商通过加盐哈希信息,破解出相应挑战数,伪造验证结果,可有效提高验证安全性。
第二方面,本发明提供的一种云存储数据完整性验证系统,采用如下技术方案:包括:
存储模块,所述存储模块用于切分待存储文件得到多个数据块,并对多个所述数据块进行编号后将所述数据块及对应编号上传至云存储;
标签模块,所述标签模块用于为所述数据块分配K个随机挑战数,并对所述数据块及K个所述随机挑战数进行L次加盐哈希后再进行N-L次哈希计算,得到所述数据块对应的K个验证标签,并将所述数据块及对应的验证标签上传至区块链;其中,所述L为大于或等于1,且小于N的自然数,所述K和N均为大于或等于2的自然数;
验证模块,所述验证模块用于将待验证数据块的编号和所述待验证数据块对应的随机挑战数发送至所述云存储,基于所述待验证数据块的编号调用所述待验证数据块;将所述待验证数据块及所述云存储接收的随机挑战数进行L次加盐哈希后输入区块链再进行N-L次哈希计算,输出验证证据后与所述验证标签进行对比,输出验证结果;其中,所述L为大于或等于1,且小于N的自然数。
本发明提供的一种云存储数据完整性验证系统的有益效果在于:引入区块链和智能合约技术可省去第三方审计机构;通过多层多次预哈希处理模型构造数据标签,可满足多次高效验证需求,提高数据完整性验证效率;随机挑战数的存在,可抵御CSP的重放攻击,提高数据完整性验证安全性;可有效改善云存储中数据完整性验证存在的第三方审计机构不可信,CSP的重放攻击,伪造验证结果以及验证效率低问题。
附图说明
图1为本发明实施例中一种云存储数据完整性验证方法的流程示意图;
图2为本发明实施例中一种云存储数据完整性验证方法的步骤S22对数据块计算验证标签时的结构示意图;
图3为本发明实施例中一种云存储数据完整性验证方法的总体流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另外定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本文中使用的“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
以下结合附图和具体实施例对本发明做优选的介绍。
参见图1,本发明实施例提供了一种云存储数据完整性验证方法,包括以下步骤:
S1、分块编号存储:切分待存储文件得到多个数据块,并对多个所述数据块进行编号后将所述数据块及对应编号上传至云存储进行存储;
S2、获取验证标签:为所述数据块分配K个随机挑战数,并对所述数据块及K个所述
随机挑战数进行L次加盐哈希后再进行N-L次哈希计算,得到所述数据块对应的个验证标
签,并将所述数据块的编号及对应的验证标签上传至区块链;其中,所述L为大于或等于1,
且小于N的自然数,所述K和N均为大于或等于2的自然数;
S3、完整性验证:将待验证数据块的编号和所述待验证数据块对应的随机挑战数发送至所述云存储,基于所述待验证数据块的编号调用所述待验证数据块;将所述待验证数据块及所述云存储接收的随机挑战数进行L次加盐哈希后输入区块链再进行N-L次哈希计算,输出验证证据后与所述验证标签进行对比,输出验证结果;其中,所述L为大于或等于1,且小于N的自然数。
一些实施例中,在执行步骤S1时,包括以下子步骤:
S11、依据待存储文件的大小,调整分块后数据块的大小,并计算待存储文件将要被切分的数量;
S12、对每个数据块进行编号后,将数据块及对应编号上传至云存储进行存储。
具体的,在执行子步骤S11时,当待存储文件F的大小为,分块后数据块的大小为
时,则待存储文件将要被切分的数量采用以下公式进行计算:
。
具体的,在执行子步骤S12,对个大小为的数据块分别编号为:
,
,
其中,表示第个数据块。
实际上,在执行子步骤S11时,由待存储文件的数据拥有者DO确认待存储文件的大小,并调整分块后的数据块大小。
实际上,在执行子步骤S12,将数据块按照切分顺序依次上传至云存储内,从而保证上传过程中的数据完整性。
实际上,在执行子步骤S12,将数据块及对应编号上传至云存储时,云存储服务由云服务提供商CSP提供,如此能够降低数据拥有者DO自身存储文件所带来的额外开支,并且还能够在任意可连接云存储的设备上进行数据下载。同时云服务提供商CSP也能够通过提供云服务来获取收益,从而到达多方受益的目的。
一些实施例中,在执行步骤S2时,包括以下子步骤:
S21、为多个数据块各自分配K个随机挑战数;
S22、将数据块与K个随机挑战数分别进行L次加盐哈希后再进行N-L次哈希计算,计算得到数据块对应的K个验证标签;
S23、将数据块的编号及对应的验证标签上传至区块链进行存储。
一些实施例中,在执行子步骤S21时,多个数据块所对应的随机挑战数的个数可以
不同,例如当数据块的验证需求较高、数据块的验证需求较低时,可以为数据块分配
多于数据块的随机挑战数个数。即,可以依据数据块的验证需求热度对各自对应的随机
挑战数个数进行适应性调整。
具体的,在执行子步骤S21,为数据块分配K个随机挑战数时,所对应的K个随机
挑战数可以表示为:
,
其中,表示第个数据块对应的第个随机挑战数。
具体的,在执行子步骤S21时,由数据拥有者DO对切分后的数据块分配随机挑战数,并且由数据拥有者DO存储每个数据块对应的K个随机挑战数。
实际上,在执行子步骤S21时,随机挑战数要求具有20位数字。
一些实施例中,参见图2,在执行子步骤S22时,包括以下子步骤:
S221、在每个数据块的结尾分别添加K个随机挑战数,得到K个待哈希块;
S222、对K个待哈希块分别进行一次哈希计算后,计算得到每个数据块对应的K个加盐哈希值;
S223、对K个加盐哈希值分别进行N-1次哈希计算处理后,得到每个数据块对应的K个验证标签。
实际上,在执行步骤S221时,在每个数据块的结尾分别添加K个随机挑战数的过程中,包括三种添加方式:将不同随机挑战数分别添加到相应数据块的尾部、基于递增随机挑战数的个数在每个数据块的尾部分别进行添加K个随机挑战数和基于上一个哈希值添加一个随机挑战数。
具体的,基于将不同随机挑战数分别添加到对应数据块的尾部的第一种添加方
式,得到的K个待哈希块可以表示为:
,
其中,表示数据块添加第个随机挑战数得到的第个待哈希块。
具体的,基于递增随机挑战数的个数在每个数据块的尾部分别进行添加K个随机
挑战数中的第二种添加方式,第一个待哈希块由数据块添加第一个随机挑战数
构成,第二个待哈希块是是数据块添加两个随机挑战数构成;依次递增后得
到的K个待哈希块可以表示为:
,
其中,表示数据块添加个随机挑战数得到的第个待
哈希块。
具体的,基于上一个哈希值添加一个随机挑战数的第三种添加方式中,第一个待
哈希块由数据块添加第一个随机挑战数构成,第二个待哈希块基于第一个待
哈希块进行加盐哈希处理后的哈希值添加第二个随机挑战数构成;以此添加后得到的
K个待哈希块可以表示为:
,
其中,表示第个数据块添加第个随机挑战数后的待哈
希块,为第-1个待哈希块的加盐哈希处理后的哈希值。
一些实施例中,执行加盐哈希时使用进行哈希运算,如此执行子步骤
S222对待哈希块进行一次哈希计算计算加盐哈希值时可以表示为:
),
其中,表示第个数据块对应的第个待哈希块的加盐哈希值。
一些实施例中,执行步骤S22中对数据块与K个随机挑战数分别进行L次加盐哈希时,包括以下子步骤:
S22-A、在每个数据块的结尾分别添加至少一个随机挑战数,得到K个待哈希块;
S22-B、对K个待哈希块进行一次哈希计算后,计算得到每个数据块对应的K个
中间标签;
S22-C、将K个中间标签当作步骤S22-A中的数据块输入步骤S22-A,循环进行步骤S22-A和步骤S22-B直至循环次数达到L次,计算得到每个数据块对应的K个验证标签。
一些实施例中,在执行步骤S22-C时,每次进行S22-A时添加的每次随机挑战数均为同一个随机挑战数。
具体的,对数据块与随机挑战数进行两次加盐哈希时,包括以下步骤:
S22-A、在数据块的结尾添加,得到一个待哈希块(+);
S22-B、对待哈希块(+)进行一次哈希计算后,计算得到中间标签SHA(+
);
S22-C、将中间标签SHA(+)当作S22-A中的数据块输入步骤S22-A中,循环
进行步骤S22-A和步骤S22-B,直至循环次数达到2次,计算得到数据块对应的验证标签
SHA[SHA(+)+]。
实际上,在执行步骤S22-C时,每次进行S22-A时添加的每次随机挑战数可以是不同的随机挑战数。实际上,执行步骤S223时,由于哈希运算具有不可逆性,能够避免反向破解相应挑战数,能够提高验证过程的安全性,防止云服务提供商CSP从区块链上获取加盐哈希值从而伪造验证标签。
一些实施例中,执行步骤S223对加盐哈希值进行N-1次哈希计算处理计算验证
标签时可以表示为:
,
其中,表示第个数据块对应的第个随机挑战数的验证标签。
如此,第个数据块对应的K个验证标签可以表示为:
,
一些实施例中,在执行步骤S23时,将数据块对应的编号与其相对应的K个验证
标签进行打包上传至区块链,等待后续对数据块进行完整性验证。
一些实施例中,执行步骤S3时,包括以下子步骤:
S31、将待验证数据块的编号与对应的随机挑战数发送至云服务提供商CSP;
S32、云服务提供商CSP基于云存储内所存储的数据块及编号信息,调用待验证数据块;
S33、将待验证数据块及云服务提供商CSP接收到的随机挑战数进行L次加盐哈希后,计算得到完整性证明后,将完整性证明与其对应的数据块编号发送至区块链;其中,区块链内存储有数据块编号与其相对应的K个验证标签;
S34、区块链对完整性证明再进行N-L次哈希计算处理后,输出验证证据并与区块链内存储的K个验证标签进行对比,从而输出验证结果。
具体的,在执行子步骤S31时,由数据拥有者DO选择从切分后的个数据块中选取
一个数据块作为待验证数据块,并基于自身存储的编号信息及随机挑战数信息,将待验证
数据块的编号与对应的随机挑战数发送至云服务提供商CSP。
一些实施例中,若需要对同一个数据块进行多次验证,在执行步骤S31时,每次验
证过程中发送至云服务提供商CSP处的随机挑战数不同,并且云服务提供商CSP存储每个数
据块对应的已验证次数。例如,对数据块进行第一次验证时,将数据块的编号及第一个
随机挑战数发送至云服务提供商CSP处;对数据块进行第二次验证时,将数据块的编
号及第二个随机挑战数发送至云服务提供商CSP处,基于数据拥有者DO的随机挑战
数的添加方式,云服务提供商CSP可选择性的调用第一次验证时存储的随机挑战数。如此,
能够对同一个数据块进行最多次验证,从而能够抵御重放攻击。
具体的,对同一个数据块进行多次验证的过程中,在第一次验证时,向云服务提
供商CSP发送第一个随机挑战数;在第m次验证时,向云服务提供商CSP发送第m个随机
挑战数。
一些实施例中,在执行子步骤S32时,由于云存储内预存有所有的数据块及数据块对应的编号,因此可以基于步骤S31中上传的编号调用云存储内预存的待验证数据块,从而不需要数据拥有者DO自行上传。
一些实施例中,在执行子步骤S33,将待验证数据块及云服务提供商CSP接收到的随机挑战数进行L次加盐哈希的过程中,与子步骤S22中进行加盐哈希的过程相同,并将每次验证时,将发送的随机挑战数存储在对应的编号中。
一些实施例中,执行子步骤S33在云服务提供商CSP处进行L次加盐哈希和执行子步骤S34在区块链上进行N-L次哈希计算处理,使得总共进行N次加盐哈希处理与子步骤S22中哈希计算验证标签的次数相匹配,并且能够避免云服务提供商CSP获知哈希次数,从而提高数据安全性。
一些实施例中,执行步骤S33对待验证数据块及云服务提供商CSP接收到的随机
挑战数进行L次加盐哈希计算完整性证明的过程中,可以采用以下表示:
,
其中,表示第个数据块与对应的第个随机挑战数进行L次加盐哈希处理后
的相对应的完整性证明。
一些实施例中,区块链上设置有智能合约,智能合约用于对云服务提供商CSP发送的完整性证明进行哈希运算得到验证证据,并对验证证据进行比较从而验证云存储内的数据完整性。实际上,智能合约内设定有触发条件,当满足触发条件后,智能合约开始进行运行。
一些实施例中,智能合约的触发条件被设定为接收到云服务提供商CSP发送的完整性证明。
进而,在执行子步骤S34时,智能合约接收到完整性证明后,智能合约对完整性证
明再进行N-L次哈希计算处理,并计算得到验证证据,将验证证据与区块链内存储的个验
证标签进行对比,从而输出验证结果。
具体的,在执行子步骤S34时,智能合约接收到完整性证明后,对完整性证明进行N-L次哈希计算处理得验证证据可以表示为:
,
其中,表示第个数据块与对应的第个随机挑战数相对应的验证证
据。
一些实施例中,在执行子步骤S34中将验证证据与区块链内存储的K个验证标签进行对比输出验证结果,包括:
当验证证据包含在验证标签内时,输出验证结果为存储在云存储上的数据完整;否则,输出验证结果为存储在云存储上的数据不完整。
具体的,在执行子步骤S34对验证证据进行对比时,智能合约基于步骤S33中云服务提供商CSP发送的数据块编号,调用区块链中存储的该编号对应的K个验证标签,将验证结果与K个验证标签分别进行比对。
具体的,在执行子步骤S33时,云服务提供商CSP将完整性证明、对应数据块编号及
对应数据块的验证次数发送至区块链。实际上,数据块的验证次数能够帮助智能合约
定位当前数据块对应的验证标签。
具体的,在比较验证证据与验证标签时:
当时,则存储在云存储上的数据完整;
当时,则存储在云存储上的数据不完整。
具体的,在执行步骤S34时,在区块链中记录当前使用的随机挑战数的验证过程。
参见图3,本发明实施例提供了一种云存储数据完整性验证方法,总体流程为数据拥有者DO将待存储文件进行分块编号,并将分块编号的待存储文件发送至云服务提供商CSP;数据拥有者DO对每个数据块分配K个随机挑战数,分别进行添加后,进行L次加盐哈希后再进行N-L次哈希计算,生成每个数据块对应的K个验证标签,并将所有数据块编号及其编号对应的多个验证标签上传至区域链中;在需要验证时,数据拥有者DO向云服务提供商CSP发送待验证数据块编号和编号对应的一个随机挑战数,云服务提供商CSP接收编号后,调用存储文件中编号对应的数据块或编号对应的存储随机挑战数,将接收到的随机挑战数进行添加后,经L次加盐哈希处理后,生成完整性证明,并将完整性证明、待验证数据块编号和验证次数发送至区域链中,区域链接收到完整性证明后,智能合约开始运行,将完整性证明进行N-L次哈希计算处理后生成验证证据,智能合约通过待验证数据块编号和验证次数调用存储在区域链中的对应验证标签,通过将验证证据与验证标签进行比对,输出验证结果并反馈至数据拥护者DO。
本发明实施例提供了一种应用上述任一可选云存储数据完整性验证方法的验证系统,其特征在于,包括:
存储模块,存储模块用于切分待存储文件得到多个数据块,并对多个数据块进行编号后将数据块及对应编号上传至云存储进行存储;
标签模块,标签模块用于为所述数据块分配K个随机挑战数,并对所述数据块及K个所述随机挑战数进行L次加盐哈希后再进行N-L次哈希计算,得到所述数据块对应的K个验证标签,并将所述数据块的编号及对应的验证标签上传至区块链;其中,所述L为大于或等于1,且小于N的自然数,所述K和N均为大于或等于2的自然数;
验证模块,验证模块用于将待验证数据块的编号和待验证数据块对应的随机挑战数发送至所述云存储,基于待验证数据块的编号调用待验证数据块;将待验证数据块及云存储接收的随机挑战数进行L次加盐哈希后输入区块链再进行N-L次哈希计算,输出验证证据后与所述验证标签进行对比,输出验证结果;其中,所述L为大于或等于1,且小于N的自然数。
虽然在上文中详细说明了本发明的实施方式,但是对于本领域的技术人员来说显而易见的是,能够对这些实施方式进行各种修改和变化。但是,应理解,这种修改和变化都属于权利要求书中所述的本发明的范围和精神之内。而且,在此说明的本发明可有其它的实施方式,并且可通过多种方式实施或实现。
Claims (10)
1.一种云存储数据完整性验证方法,其特征在于,包含以下步骤:
切片待存储文件得到多个数据块并编号,将多个所述数据块及对应编号上传至云存储进行存储;
为所述数据块分配K个随机挑战数,并对所述数据块及K个所述随机挑战数进行L次加盐哈希后再进行N-L次哈希计算,得到所述数据块对应的K个验证标签,并将所述数据块的编号及对应的验证标签上传至区块链;其中,所述L为大于或等于1,且小于N的自然数,所述K和N均为大于或等于2的自然数;
将待验证数据块的编号和所述待验证数据块对应的随机挑战数发送至所述云存储,基于所述待验证数据块的编号调用所述待验证数据块;
将所述待验证数据块及所述云存储接收的随机挑战数进行L次加盐哈希后输入区块链,在所述区块链上再进行N-L次哈希计算,输出验证证据后与所述验证标签进行对比,输出验证结果;其中,所述L为大于或等于1,且小于N的自然数。
2.根据权利要求1所述的一种云存储数据完整性验证方法,其特征在于,对同一待验证数据块进行多次验证时,执行将待验证数据块的编号和所述待验证数据块对应的随机挑战数发送至所述云存储的过程中,发送至所述云存储的所述待验证数据块对应的随机挑战数不同。
3.根据权利要求1所述的一种云存储数据完整性验证方法,其特征在于,执行所述验证证据与所述验证标签进行比对输出验证结果时,包括:
当所述验证证据包含在验证标签内时,输出验证结果为存储在云存储上的数据完整;
否则,输出验证结果为存储在云存储上的数据不完整。
4.根据权利要求1所述的一种云存储数据完整性验证方法,其特征在于,所述区块链上设置有智能合约,所述智能合约设定有触发条件;执行所述区块链进行N-L次哈希计算的过程中,满足所述触发条件后,在所述区块链上的智能合约进行N-L次哈希计算。
5.根据权利要求4所述的一种云存储数据完整性验证方法,其特征在于,执行所述验证证据与所述验证标签进行比对输出验证结果的过程中,在所述智能合约上进行比对并输出验证结果。
6.根据权利要求4所述的一种云存储数据完整性验证方法,其特征在于,将所述待验证数据块及所述云存储接收的随机挑战数进行L次加盐哈希后,输出完整性证明。
7.根据权利要求6所述的一种云存储数据完整性验证方法,其特征在于,所述触发条件为所述区块链接收到所述云存储发送的所述完整性证明。
8.根据权利要求6所述的一种云存储数据完整性验证方法,其特征在于,将所述待验证数据块及所述云存储接收的随机挑战数进行L次加盐哈希后输入区块链的过程中,包括:将所述完整性证明及对应待验证数据块的编号输入区块链。
9.根据权利要求1所述的一种云存储数据完整性验证方法,其特征在于,执行所述加盐哈希和所述哈希计算时,均使用SHA256哈希运算。
10.一种实现如权利要求1至9任一项所述云存储数据完整性验证方法的验证系统,其特征在于,包括:
存储模块,所述存储模块用于切分待存储文件得到多个数据块,并对多个所述数据块进行编号后将所述数据块及对应编号上传至云存储进行存储;
标签模块,所述标签模块用于为所述数据块分配K个随机挑战数,并对所述数据块及K个所述随机挑战数进行L次加盐哈希后再进行N-L次哈希计算,得到所述数据块对应的K个验证标签,并将所述数据块及对应的验证标签上传至区块链;其中,所述L为大于或等于1,且小于N的自然数,所述K和N均为大于或等于2的自然数;
验证模块,所述验证模块用于将待验证数据块的编号和所述待验证数据块对应的随机挑战数发送至所述云存储,基于所述待验证数据块的编号调用所述待验证数据块;将所述待验证数据块及所述云存储接收的随机挑战数进行L次加盐哈希后输入区块链再进行N-L次哈希计算,输出验证证据后与所述验证标签进行对比,输出验证结果;其中,所述L为大于或等于1,且小于N的自然数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311063504.3A CN116781427B (zh) | 2023-08-23 | 2023-08-23 | 一种云存储数据完整性验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311063504.3A CN116781427B (zh) | 2023-08-23 | 2023-08-23 | 一种云存储数据完整性验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116781427A CN116781427A (zh) | 2023-09-19 |
CN116781427B true CN116781427B (zh) | 2023-11-03 |
Family
ID=87991695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311063504.3A Active CN116781427B (zh) | 2023-08-23 | 2023-08-23 | 一种云存储数据完整性验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116781427B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104135371A (zh) * | 2014-08-18 | 2014-11-05 | 杭州华三通信技术有限公司 | 一种密码保存方法及装置 |
CN108898032A (zh) * | 2018-07-20 | 2018-11-27 | 杭州尚尚签网络科技有限公司 | 一种基于区块链技术的电子数据存证的高效处理方法 |
CN109787742A (zh) * | 2019-01-16 | 2019-05-21 | 福建师范大学 | 一种验证云存储中数据持有完整性的协议及其系统 |
CN109889497A (zh) * | 2019-01-15 | 2019-06-14 | 南京邮电大学 | 一种去信任的数据完整性验证方法 |
CN111444547A (zh) * | 2020-03-20 | 2020-07-24 | 苏州链原信息科技有限公司 | 用于数据完整性证明的方法、设备及计算机存储介质 |
CN113312574A (zh) * | 2021-05-21 | 2021-08-27 | 太原科技大学 | 一种基于区块链的云数据完整性审计方法 |
CN113556322A (zh) * | 2021-06-23 | 2021-10-26 | 北京航空航天大学 | 一个基于区块链的云数据完整性验证方案 |
CN114491576A (zh) * | 2021-12-21 | 2022-05-13 | 天翼云科技有限公司 | 一种基于区块链的数据存储验证方法、装置及电子设备 |
WO2022131441A1 (ko) * | 2020-12-18 | 2022-06-23 | 주식회사 에이아이디비 | 블록체인 네트워크를 이용하여 웹페이지를 저장 및 검증하는 방법 및 시스템 |
CN115604038A (zh) * | 2022-12-14 | 2023-01-13 | 山东省计算中心(国家超级计算济南中心)(Cn) | 基于区块链和边缘计算的云存储数据审计系统及方法 |
CN116112216A (zh) * | 2022-12-15 | 2023-05-12 | 中国电信股份有限公司 | 云数据验证方法、装置、电子设备及非易失性存储介质 |
-
2023
- 2023-08-23 CN CN202311063504.3A patent/CN116781427B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104135371A (zh) * | 2014-08-18 | 2014-11-05 | 杭州华三通信技术有限公司 | 一种密码保存方法及装置 |
CN108898032A (zh) * | 2018-07-20 | 2018-11-27 | 杭州尚尚签网络科技有限公司 | 一种基于区块链技术的电子数据存证的高效处理方法 |
CN109889497A (zh) * | 2019-01-15 | 2019-06-14 | 南京邮电大学 | 一种去信任的数据完整性验证方法 |
CN109787742A (zh) * | 2019-01-16 | 2019-05-21 | 福建师范大学 | 一种验证云存储中数据持有完整性的协议及其系统 |
CN111444547A (zh) * | 2020-03-20 | 2020-07-24 | 苏州链原信息科技有限公司 | 用于数据完整性证明的方法、设备及计算机存储介质 |
WO2022131441A1 (ko) * | 2020-12-18 | 2022-06-23 | 주식회사 에이아이디비 | 블록체인 네트워크를 이용하여 웹페이지를 저장 및 검증하는 방법 및 시스템 |
CN113312574A (zh) * | 2021-05-21 | 2021-08-27 | 太原科技大学 | 一种基于区块链的云数据完整性审计方法 |
CN113556322A (zh) * | 2021-06-23 | 2021-10-26 | 北京航空航天大学 | 一个基于区块链的云数据完整性验证方案 |
CN114491576A (zh) * | 2021-12-21 | 2022-05-13 | 天翼云科技有限公司 | 一种基于区块链的数据存储验证方法、装置及电子设备 |
CN115604038A (zh) * | 2022-12-14 | 2023-01-13 | 山东省计算中心(国家超级计算济南中心)(Cn) | 基于区块链和边缘计算的云存储数据审计系统及方法 |
CN116112216A (zh) * | 2022-12-15 | 2023-05-12 | 中国电信股份有限公司 | 云数据验证方法、装置、电子设备及非易失性存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116781427A (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sukhwani et al. | Performance modeling of PBFT consensus process for permissioned blockchain network (hyperledger fabric) | |
CN107645512A (zh) | 一种身份验证的方法、装置及服务器 | |
CN111008863B (zh) | 一种基于区块链的抽奖方法及系统 | |
CN111343179B (zh) | 一种链上数据真实性的实时共识方法及装置 | |
CN106650496B (zh) | 一种数据处理方法及装置 | |
CN102724211A (zh) | 一种密钥协商方法 | |
CN112464155B (zh) | 一种数据处理方法、多方安全计算系统和电子设备 | |
CN109936620B (zh) | 基于区块链的存储方法及装置、系统与存储介质 | |
CN107659579A (zh) | 一种现场存证方法、设备及相关存证系统 | |
CN112769548B (zh) | 一种区块链数值信息传输方法、系统、装置及计算机介质 | |
CN116781427B (zh) | 一种云存储数据完整性验证方法 | |
CN111865595B (zh) | 一种区块链的共识方法及装置 | |
CN109087103B (zh) | 一种基于随机幻方构造的区块链工作量证明方法 | |
CN114329635A (zh) | 基于多方安全计算的隐私签名方法和计算机系统 | |
CN112543100A (zh) | 一种动态密钥生成方法和系统 | |
CN116992480A (zh) | 一种提供公开可验证的外包计算服务的方法 | |
CN115021944B (zh) | 基于聚合签名和时空证明算法的共识方法及装置 | |
CN109063513B (zh) | 一种基于Hadoop平台的动态数据完整性验证方法 | |
CN116208345A (zh) | 基于秘密共享的群组认证方法及相关设备 | |
CN112907246B (zh) | 基于BFT协议和PoW机制的区块链共识协议实现方法和系统 | |
CN112636904B (zh) | 随机数生成与验证方法、装置、电子设备及可读存储介质 | |
CN113055178B (zh) | 区块链系统及数值信息传输方法、系统、装置、介质 | |
Tang et al. | Fragile watermarking based proofs of retrievability for archival cloud data | |
CN113746836B (zh) | 一种数据持有验证方法及系统 | |
CN115473634B (zh) | 一种改进的可链接环签名生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |