CN109948372B - 一种指定验证者的云存储中远程数据持有验证方法 - Google Patents

一种指定验证者的云存储中远程数据持有验证方法 Download PDF

Info

Publication number
CN109948372B
CN109948372B CN201910246752.9A CN201910246752A CN109948372B CN 109948372 B CN109948372 B CN 109948372B CN 201910246752 A CN201910246752 A CN 201910246752A CN 109948372 B CN109948372 B CN 109948372B
Authority
CN
China
Prior art keywords
data
verifier
cloud storage
verification
random
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
Application number
CN201910246752.9A
Other languages
English (en)
Other versions
CN109948372A (zh
Inventor
李继国
阎浩
张亦辰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Normal University
Original Assignee
Fujian Normal University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujian Normal University filed Critical Fujian Normal University
Priority to CN201910246752.9A priority Critical patent/CN109948372B/zh
Publication of CN109948372A publication Critical patent/CN109948372A/zh
Application granted granted Critical
Publication of CN109948372B publication Critical patent/CN109948372B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明涉及一种指定验证者的云存储中远程数据持有验证方法,数据拥有者为所有数据块生成验证标签,然后将数据块连同对应的标签一起上传到云存储中。验证者在验证数据是否完整时,向云服务器发起完整性挑战。云服务器利用保存的数据块信息和对应的标签信息生成完整性证据,并将证据返回给验证者。本发明不但能够实现云端数据完整性的验证,还能够对验证者进行控制,满足某些特定场合下的应用需求,同时方法是安全且高效的。

Description

一种指定验证者的云存储中远程数据持有验证方法
技术领域
本发明涉及云计算安全技术领域,特别是一种指定验证者的云存储中远程数据持有验证方法。
背景技术
PDP方案使用户能够在不需要下载数据的情况下,检查数据的完整性,已有多个远程数据完整性验证协议被提出。目前,PDP方案支持两种验证方式:私有验证和公开验证。两者特点不同,因此具有不同的实际应用环境。比如有保密性要求的数据采用私有验证的方案比较合适,而公开数据或对外共享的数据可采用公开验证方案。但是在某些应用场景下,数据拥有者希望能够控制或者限制验证者身份,即希望某个具有特殊权限或者满足特定条件的用户才能够验证数据的完整性,而不是所有人;或者是当数据拥有者自身不具备验证数据完整性的条件时,希望某个可信任的用户能够替代他完成验证,同时不希望完全公开数据验证的权限。
比如,对于敏感的商业财务信息或者大量交易信息,一般仅允许公司总经理或财务经理能够访问和验证数据,而不是其他人。又或者某个用户由于违法犯罪而锒铛入狱,此时其不具备验证数据完整性的条件,因而必须将此工作指定到他的爱人或某个信任的朋友代其完成。显然,这些情况下,私有验证和公开验证都不适用。
发明内容
有鉴于此,本发明的目的是提出一种指定验证者的云存储中远程数据持有验证方法,能够实现安全、高效的云存储中数据完整性校验,同时实现对验证者身份的控制。
本发明采用以下方案实现:一种指定验证者的云存储中远程数据持有验证方法,具体包括以下步骤:
步骤S1:数据拥有者生成远程数据持有验证协议的系统参数和用户私钥;
步骤S2:数据拥有者在将数据存储到云存储之前,利用自己的私钥,为数据生成数据标签;然后将数据块和标签上传到云存储中,并将它们从本地存储删除;
步骤S3:验证者通过挑战云服务器来检查上传的数据是否被完好如初的保存;
步骤S4:云服务器在接受到用户的挑战信息后,为挑战的数据块生成相应的完整性证据,并将证据返回给验证者以证明数据的完整性;
步骤S5:验证者在接收到云服务器返回的证据后,对证据进行验证,并根据验证结果判定数据是否完好如初。
进一步地,步骤S1具体包括以下步骤:
步骤S11:设定系统安全参数k,选择随机大素数q满足|q|=k;随机选择
Figure BDA0002011243570000021
作为私钥,并计算其公钥为X=gx
步骤S12:选择
Figure BDA0002011243570000022
Figure BDA0002011243570000023
两个阶为q的乘法循环群,u是群
Figure BDA0002011243570000024
中的随机元素,g是群
Figure BDA0002011243570000025
的生成元;
Figure BDA0002011243570000026
是一个双线性映射,选择Hash函数
Figure BDA0002011243570000027
Figure BDA0002011243570000028
以及一个伪随机置换
Figure BDA0002011243570000029
一个伪随机函数
Figure BDA00020112435700000210
Figure BDA00020112435700000211
系统公开参数为
Figure BDA00020112435700000212
步骤S13:验证者随机选择
Figure BDA00020112435700000213
作为私钥,并计算其公钥为Y=gy
进一步地,步骤S2具体包括以下步骤:
步骤S21:数据拥有者将待上传的数据文件F分割成n个数据块表示为F=(m1,m2,…,mn),其中任意的
Figure BDA0002011243570000031
步骤S22:数据拥有者为每一个数据块生成验证标签;
步骤S23:数据拥有者将数据块与生成的验证标签一起上传到云存储中,同时将其从本地删除。
进一步地,步骤S22中,数据拥有者按如下步骤为每一个数据块生成验证标签:
步骤S221:计算α=H1(Yx);
步骤S222:计算
Figure BDA0002011243570000032
其中Fid为数据的唯一性标识;
步骤S223:重复n次步骤S222,得到标签集T=(T1,T2,…,Tn)。
进一步地,步骤S3具体为:验证者选择两个随机种子
Figure BDA0002011243570000033
同时选择要挑战的数据块数量c∈[1,n];验证者将挑战信息chal=(c,k1,k2)发送给云服务器。
进一步地,步骤S4具体包括以下步骤:
步骤S41:云服务器利用伪随机置换计算得到所有被挑战的数据块索引vi=π(k1,i)(1≤i≤c),利用伪随机函数计算得到相应的参数:ai=φ(k2,i)(1≤i≤c);
步骤S42:云服务器计算完整性证据:
Figure BDA0002011243570000034
最后将
Figure BDA0002011243570000035
返回给验证者。
进一步地,步骤S5具体包括以下步骤:
步骤S51:验证者利用伪随机置换计算得到所有被挑战的数据块索引vi=π(k1,i)(1≤i≤c),利用伪随机函数计算得到相应的参数:ai=φ(k2,i)(1≤i≤c);
步骤S52:验证者利用私钥计算:α=H1(Xy);然后验证公式
Figure BDA0002011243570000041
是否成立;如果成立表示数据完整,否则表示数据不正确。
与现有技术相比,本发明有以下有益效果:本发明的方法利用双线性映射技术巧妙的将指定的完整性验证者标识信息嵌入到数据块验证数据标签中,从而实现对验证者身份的控制。只有符合要求的验证者才能完成数据验证,不符合要求的用户无法正确执行该功能。本发明协议不但能够实现云端数据完整性的验证,而能够对验证者进行控制,满足某些特定场合下的应用需求。同时方法是安全且高效的。
附图说明
图1为本发明实施例的原理示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
如图1所示,本实施例提供了一种指定验证者的云存储中远程数据持有验证方法,具体包括以下步骤:
步骤S1:数据拥有者生成远程数据持有验证协议的系统参数和用户私钥;
步骤S2:数据拥有者在将数据存储到云存储之前,利用自己的私钥,为数据生成数据标签;然后将数据块和标签上传到云存储中,并将它们从本地存储删除;
步骤S3:验证者通过挑战云服务器来检查上传的数据是否被完好如初的保存;
步骤S4:云服务器在接受到用户的挑战信息后,为挑战的数据块生成相应的完整性证据,并将证据返回给验证者以证明数据的完整性;
步骤S5:验证者在接收到云服务器返回的证据后,对证据进行验证,并根据验证结果判定数据是否完好如初。
在本实施例中,步骤S1具体包括以下步骤:
步骤S11:设定系统安全参数k,选择随机大素数q满足|q|=k;随机选择
Figure BDA0002011243570000051
作为私钥,并计算其公钥为X=gx
步骤S12:选择
Figure BDA0002011243570000052
Figure BDA0002011243570000053
两个阶为q的乘法循环群,u是群
Figure BDA0002011243570000054
中的随机元素,g是群
Figure BDA0002011243570000055
的生成元;
Figure BDA0002011243570000056
是一个双线性映射,选择Hash函数
Figure BDA0002011243570000057
Figure BDA0002011243570000058
以及一个伪随机置换
Figure BDA0002011243570000059
一个伪随机函数
Figure BDA00020112435700000510
Figure BDA00020112435700000511
系统公开参数为
Figure BDA00020112435700000512
步骤S13:验证者随机选择
Figure BDA0002011243570000061
作为私钥,并计算其公钥为Y=gy
在本实施例中,步骤S2具体包括以下步骤:
步骤S21:数据拥有者将待上传的数据文件F分割成n个数据块表示为F=(m1,m2,…,mn),其中任意的
Figure BDA0002011243570000062
步骤S22:数据拥有者为每一个数据块生成验证标签;
步骤S23:数据拥有者将数据块与生成的验证标签一起上传到云存储中,同时将其从本地删除。
在本实施例中,步骤S22中,数据拥有者按如下步骤为每一个数据块生成验证标签:
步骤S221:计算α=H1(Yx);
步骤S222:计算
Figure BDA0002011243570000063
其中Fid为数据的唯一性标识;
步骤S223:重复n次步骤S222,得到标签集T=(T1,T2,…,Tn)。
在本实施例中,步骤S3具体为:验证者选择两个随机种子
Figure BDA0002011243570000064
同时选择要挑战的数据块数量c∈[1,n];验证者将挑战信息chal=(c,k1,k2)发送给云服务器。
在本实施例中,步骤S4具体包括以下步骤:
步骤S41:云服务器利用伪随机置换计算得到所有被挑战的数据块索引vi=π(k1,i)(1≤i≤c),利用伪随机函数计算得到相应的参数:ai=φ(k2,i)(1≤i≤c);
步骤S42:云服务器计算完整性证据:
Figure BDA0002011243570000065
最后将
Figure BDA0002011243570000066
返回给验证者。
在本实施例中,步骤S5具体包括以下步骤:
步骤S51:验证者利用伪随机置换计算得到所有被挑战的数据块索引vi=π(k1,i)(1≤i≤c),利用伪随机函数计算得到相应的参数:ai=φ(k2,i)(1≤i≤c);
步骤S52:验证者利用私钥计算:α=H1(Xy);然后验证公式
Figure BDA0002011243570000071
是否成立;如果成立表示数据完整,否则表示数据不正确。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。

Claims (5)

1.一种指定验证者的云存储中远程数据持有验证方法,其特征在于:包括以下步骤:
步骤S1:数据拥有者生成远程数据持有验证协议的系统安全参数和用户私钥;
步骤S2:数据拥有者在将数据存储到云存储之前,利用自己的用户私钥,为数据生成数据标签;然后将数据块和标签上传到云存储中,并将它们从本地存储删除;
步骤S3:验证者通过挑战云服务器来检查上传的数据是否被完好如初的保存;
步骤S4:云服务器在接受到用户的挑战信息后,为挑战的数据块生成相应的完整性证据,并将证据返回给验证者以证明数据的完整性;
步骤S5:验证者在接收到云服务器返回的证据后,对证据进行验证,并根据验证结果判定数据是否完好如初;
步骤S2具体包括以下步骤:
步骤S21:数据拥有者将待上传的数据文件F分割成n个数据块表示为F=(m1,m2,…,mn),其中任意的
Figure FDA0003746232190000011
步骤S22:数据拥有者为每一个数据块生成验证标签;
步骤S23:数据拥有者将数据块与生成的验证标签一起上传到云存储中,同时将其从本地删除;
步骤S22中,数据拥有者按如下步骤为每一个数据块生成验证标签:
步骤S221:计算
Figure FDA00037462321900000220
选择Hash函数
Figure FDA0003746232190000021
Figure FDA0003746232190000022
Figure FDA0003746232190000023
作为用户私钥,Y为公钥;
步骤S222:计算
Figure FDA0003746232190000024
其中Fid为数据的唯一性标识;u是群
Figure FDA0003746232190000025
中的随机元素;随机选择
Figure FDA0003746232190000026
作为用户私钥;
步骤S223:重复n次步骤S222,得到标签集T=(T1,T2,…,Tn)。
2.根据权利要求1所述的一种指定验证者的云存储中远程数据持有验证方法,其特征在于:步骤S1具体包括以下步骤:
步骤S11:设定系统安全参数k,选择随机大素数q满足|q|=k;随机选择
Figure FDA0003746232190000027
作为用户私钥,并计算其公钥为X=gx
步骤S12:选择
Figure FDA0003746232190000028
Figure FDA0003746232190000029
两个阶为q的乘法循环群,u是群
Figure FDA00037462321900000210
中的随机元素,g是群
Figure FDA00037462321900000211
的生成元;
Figure FDA00037462321900000212
是一个双线性映射,选择Hash函数
Figure FDA00037462321900000213
Figure FDA00037462321900000214
以及一个伪随机置换
Figure FDA00037462321900000215
一个伪随机函数
Figure FDA00037462321900000216
系统公开参数为
Figure FDA00037462321900000217
步骤S13:验证者随机选择
Figure FDA00037462321900000218
作为用户私钥,并计算其公钥为Y=gy
3.根据权利要求1所述的一种指定验证者的云存储中远程数据持有验证方法,其特征在于:步骤S3具体为:验证者选择两个随机种子
Figure FDA00037462321900000219
同时选择要挑战的数据块数量c∈[1,n];验证者将挑战信息chal=(c,k1,k2)发送给云服务器。
4.根据权利要求1所述的一种指定验证者的云存储中远程数据持有验证方法,其特征在于:步骤S4具体包括以下步骤:
步骤S41:云服务器利用伪随机置换计算得到所有被挑战的数据块索引vi=π(k1,i),1≤i≤c,利用伪随机函数计算得到相应的参数:ai=φ(k2,i);
步骤S42:云服务器计算完整性证据:
Figure FDA0003746232190000031
最后将
Figure FDA0003746232190000032
返回给验证者。
5.根据权利要求3所述的一种指定验证者的云存储中远程数据持有验证方法,其特征在于:步骤S5具体包括以下步骤:
步骤S51:验证者利用伪随机置换计算得到所有被挑战的数据块索引vi=π(k1,i)(1≤i≤c),利用伪随机函数计算得到相应的参数:ai=φ(k2,i)(1≤i≤c);
步骤S52:验证者利用用户私钥计算:α=H1(Xy);然后验证公式
Figure FDA0003746232190000033
是否成立;如果成立表示数据完整,否则表示数据不正确;g是群
Figure FDA0003746232190000034
的生成元。
CN201910246752.9A 2019-03-29 2019-03-29 一种指定验证者的云存储中远程数据持有验证方法 Active CN109948372B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910246752.9A CN109948372B (zh) 2019-03-29 2019-03-29 一种指定验证者的云存储中远程数据持有验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910246752.9A CN109948372B (zh) 2019-03-29 2019-03-29 一种指定验证者的云存储中远程数据持有验证方法

Publications (2)

Publication Number Publication Date
CN109948372A CN109948372A (zh) 2019-06-28
CN109948372B true CN109948372B (zh) 2022-10-04

Family

ID=67012746

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910246752.9A Active CN109948372B (zh) 2019-03-29 2019-03-29 一种指定验证者的云存储中远程数据持有验证方法

Country Status (1)

Country Link
CN (1) CN109948372B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110365469B (zh) * 2019-08-30 2022-01-28 金陵科技学院 一种支持数据隐私保护的云存储中数据完整性验证方法
CN111931201B (zh) * 2020-07-15 2023-06-16 重庆第二师范学院 一种基于对称密钥的安全云存储系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104811450A (zh) * 2015-04-22 2015-07-29 电子科技大学 云计算中一种基于身份的数据存储方法及完整性验证方法
CN106899406A (zh) * 2016-12-15 2017-06-27 中国电子科技集团公司第三十研究所 一种云端数据存储完整性的证明方法
CN107948143A (zh) * 2017-11-15 2018-04-20 安徽大学 一种云存储中基于身份的隐私保护完整性检测方法和系统
CN108600201A (zh) * 2018-04-09 2018-09-28 东华大学 一种云存储完整性验证的数据标签的远程安全更换方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10554753B2 (en) * 2017-07-06 2020-02-04 Acronis International Gmbh System and method for service level agreement based data storage and verification

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104811450A (zh) * 2015-04-22 2015-07-29 电子科技大学 云计算中一种基于身份的数据存储方法及完整性验证方法
CN106899406A (zh) * 2016-12-15 2017-06-27 中国电子科技集团公司第三十研究所 一种云端数据存储完整性的证明方法
CN107948143A (zh) * 2017-11-15 2018-04-20 安徽大学 一种云存储中基于身份的隐私保护完整性检测方法和系统
CN108600201A (zh) * 2018-04-09 2018-09-28 东华大学 一种云存储完整性验证的数据标签的远程安全更换方法

Also Published As

Publication number Publication date
CN109948372A (zh) 2019-06-28

Similar Documents

Publication Publication Date Title
JP6882254B2 (ja) 生体特徴に基づく安全性検証方法、クライアント端末、及びサーバ
WO2018157788A1 (zh) 区块链中账户信息的处理方法和装置、存储介质和电子装置
CN102611692B (zh) 多承租人数据中心中的安全计算方法
CN110768967B (zh) 业务授权方法、装置、设备、系统及存储介质
CN111492634A (zh) 使用零知识协议的安全并且机密的保管交易系统、方法和设备
US10726111B2 (en) Increased security using dynamic watermarking
CN112000744B (zh) 一种签名方法及相关设备
US9025834B2 (en) Input validation, user and data authentication on potentially compromised mobile devices
CN1937498A (zh) 一种动态密码认证方法、系统及装置
EP2750351B1 (en) 3d cloud lock
CN110569658A (zh) 基于区块链网络的用户信息处理方法、装置、电子设备及存储介质
EP3961978A1 (en) System and method for replacing common identifying data
EP3804218B1 (en) Blockchain based access control using time-dependent obfuscation of access tokens
CN110011998B (zh) 一种基于身份的多备份远程数据持有验证方法
CN113472521A (zh) 基于区块链的实名数字身份管理方法、签名设备和验证设备
CN109948372B (zh) 一种指定验证者的云存储中远程数据持有验证方法
EP1455257A1 (en) System for binding secrets to a computer system having tolerance for hardware changes
US7739500B2 (en) Method and system for consistent recognition of ongoing digital relationships
US8904508B2 (en) System and method for real time secure image based key generation using partial polygons assembled into a master composite image
CN108027857B (zh) 浏览器认证挑战和响应系统
CN108965335B (zh) 防止恶意访问登录接口的方法、电子设备及计算机介质
CN111311260A (zh) 一种账户私钥的重置方法及装置
CN111444530B (zh) 基于区块链的系统数据访问权限控制方法、装置及各模块
CN112036884B (zh) 一种签名方法及相关设备
CN112581285B (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