CN109948372A - 一种指定验证者的云存储中远程数据持有验证方法 - Google Patents
一种指定验证者的云存储中远程数据持有验证方法 Download PDFInfo
- Publication number
- CN109948372A CN109948372A CN201910246752.9A CN201910246752A CN109948372A CN 109948372 A CN109948372 A CN 109948372A CN 201910246752 A CN201910246752 A CN 201910246752A CN 109948372 A CN109948372 A CN 109948372A
- Authority
- CN
- China
- Prior art keywords
- data
- verifier
- cloud storage
- random
- designated
- 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.)
- Granted
Links
Abstract
本发明涉及一种指定验证者的云存储中远程数据持有验证方法,数据拥有者为所有数据块生成验证标签,然后将数据块连同对应的标签一起上传到云存储中。验证者在验证数据是否完整时,向云服务器发起完整性挑战。云服务器利用保存的数据块信息和对应的标签信息生成完整性证据,并将证据返回给验证者。本发明不但能够实现云端数据完整性的验证,还能够对验证者进行控制,满足某些特定场合下的应用需求,同时方法是安全且高效的。
Description
技术领域
本发明涉及云计算安全技术领域,特别是一种指定验证者的云存储中远程数据持有验证方法。
背景技术
PDP方案使用户能够在不需要下载数据的情况下,检查数据的完整性,已有多个远程数据完整性验证协议被提出。目前,PDP方案支持两种验证方式:私有验证和公开验证。两者特点不同,因此具有不同的实际应用环境。比如有保密性要求的数据采用私有验证的方案比较合适,而公开数据或对外共享的数据可采用公开验证方案。但是在某些应用场景下,数据拥有者希望能够控制或者限制验证者身份,即希望某个具有特殊权限或者满足特定条件的用户才能够验证数据的完整性,而不是所有人;或者是当数据拥有者自身不具备验证数据完整性的条件时,希望某个可信任的用户能够替代他完成验证,同时不希望完全公开数据验证的权限。
比如,对于敏感的商业财务信息或者大量交易信息,一般仅允许公司总经理或财务经理能够访问和验证数据,而不是其他人。又或者某个用户由于违法犯罪而锒铛入狱,此时其不具备验证数据完整性的条件,因而必须将此工作指定到他的爱人或某个信任的朋友代其完成。显然,这些情况下,私有验证和公开验证都不适用。
发明内容
有鉴于此,本发明的目的是提出一种指定验证者的云存储中远程数据持有验证方法,能够实现安全、高效的云存储中数据完整性校验,同时实现对验证者身份的控制。
本发明采用以下方案实现:一种指定验证者的云存储中远程数据持有验证方法,具体包括以下步骤:
步骤S1:数据拥有者生成远程数据持有验证协议的系统参数和用户私钥;
步骤S2:数据拥有者在将数据存储到云存储之前,利用自己的私钥,为数据生成数据标签;然后将数据块和标签上传到云存储中,并将它们从本地存储删除;
步骤S3:验证者通过挑战云服务器来检查上传的数据是否被完好如初的保存;
步骤S4:云服务器在接受到用户的挑战信息后,为挑战的数据块生成相应的完整性证据,并将证据返回给验证者以证明数据的完整性;
步骤S5:验证者在接收到云服务器返回的证据后,对证据进行验证,并根据验证结果判定数据是否完好如初。
进一步地,步骤S1具体包括以下步骤:
步骤S11:设定系统安全参数k,选择随机大素数q满足|q|=k;随机选择作为私钥,并计算其公钥为X=gx;
步骤S12:选择和两个阶为q的乘法循环群,u是群中的随机元素,g是群的生成元;是一个双线性映射,选择Hash函数和以及一个伪随机置换一个伪随机函数 系统公开参数为
步骤S13:验证者随机选择作为私钥,并计算其公钥为Y=gy。
进一步地,步骤S2具体包括以下步骤:
步骤S21:数据拥有者将待上传的数据文件F分割成n个数据块表示为F=(m1,m2,…,mn),其中任意的
步骤S22:数据拥有者为每一个数据块生成验证标签;
步骤S23:数据拥有者将数据块与生成的验证标签一起上传到云存储中,同时将其从本地删除。
进一步地,步骤S22中,数据拥有者按如下步骤为每一个数据块生成验证标签:
步骤S221:计算α=H1(Yx);
步骤S222:计算其中Fid为数据的唯一性标识;
步骤S223:重复n次步骤S222,得到标签集T=(T1,T2,…,Tn)。
进一步地,步骤S3具体为:验证者选择两个随机种子同时选择要挑战的数据块数量c∈[1,n];验证者将挑战信息chal=(c,k1,k2)发送给云服务器。
进一步地,步骤S4具体包括以下步骤:
步骤S41:云服务器利用伪随机置换计算得到所有被挑战的数据块索引vi=π(k1,i)(1≤i≤c),利用伪随机函数计算得到相应的参数:ai=φ(k2,i)(1≤i≤c);
步骤S42:云服务器计算完整性证据:最后将返回给验证者。
进一步地,步骤S5具体包括以下步骤:
步骤S51:验证者利用伪随机置换计算得到所有被挑战的数据块索引vi=π(k1,i)(1≤i≤c),利用伪随机函数计算得到相应的参数:ai=φ(k2,i)(1≤i≤c);
步骤S52:验证者利用私钥计算:α=H1(Xy);然后验证公式是否成立;如果成立表示数据完整,否则表示数据不正确。
与现有技术相比,本发明有以下有益效果:本发明的方法利用双线性映射技术巧妙的将指定的完整性验证者标识信息嵌入到数据块验证数据标签中,从而实现对验证者身份的控制。只有符合要求的验证者才能完成数据验证,不符合要求的用户无法正确执行该功能。本发明协议不但能够实现云端数据完整性的验证,而能够对验证者进行控制,满足某些特定场合下的应用需求。同时方法是安全且高效的。
附图说明
图1为本发明实施例的原理示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
如图1所示,本实施例提供了一种指定验证者的云存储中远程数据持有验证方法,具体包括以下步骤:
步骤S1:数据拥有者生成远程数据持有验证协议的系统参数和用户私钥;
步骤S2:数据拥有者在将数据存储到云存储之前,利用自己的私钥,为数据生成数据标签;然后将数据块和标签上传到云存储中,并将它们从本地存储删除;
步骤S3:验证者通过挑战云服务器来检查上传的数据是否被完好如初的保存;
步骤S4:云服务器在接受到用户的挑战信息后,为挑战的数据块生成相应的完整性证据,并将证据返回给验证者以证明数据的完整性;
步骤S5:验证者在接收到云服务器返回的证据后,对证据进行验证,并根据验证结果判定数据是否完好如初。
在本实施例中,步骤S1具体包括以下步骤:
步骤S11:设定系统安全参数k,选择随机大素数q满足|q|=k;随机选择作为私钥,并计算其公钥为X=gx;
步骤S12:选择和两个阶为q的乘法循环群,u是群中的随机元素,g是群的生成元;是一个双线性映射,选择Hash函数和以及一个伪随机置换一个伪随机函数 系统公开参数为
步骤S13:验证者随机选择作为私钥,并计算其公钥为Y=gy。
在本实施例中,步骤S2具体包括以下步骤:
步骤S21:数据拥有者将待上传的数据文件F分割成n个数据块表示为F=(m1,m2,…,mn),其中任意的
步骤S22:数据拥有者为每一个数据块生成验证标签;
步骤S23:数据拥有者将数据块与生成的验证标签一起上传到云存储中,同时将其从本地删除。
在本实施例中,步骤S22中,数据拥有者按如下步骤为每一个数据块生成验证标签:
步骤S221:计算α=H1(Yx);
步骤S222:计算其中Fid为数据的唯一性标识;
步骤S223:重复n次步骤S222,得到标签集T=(T1,T2,…,Tn)。
在本实施例中,步骤S3具体为:验证者选择两个随机种子同时选择要挑战的数据块数量c∈[1,n];验证者将挑战信息chal=(c,k1,k2)发送给云服务器。
在本实施例中,步骤S4具体包括以下步骤:
步骤S41:云服务器利用伪随机置换计算得到所有被挑战的数据块索引vi=π(k1,i)(1≤i≤c),利用伪随机函数计算得到相应的参数:ai=φ(k2,i)(1≤i≤c);
步骤S42:云服务器计算完整性证据:最后将返回给验证者。
在本实施例中,步骤S5具体包括以下步骤:
步骤S51:验证者利用伪随机置换计算得到所有被挑战的数据块索引vi=π(k1,i)(1≤i≤c),利用伪随机函数计算得到相应的参数:ai=φ(k2,i)(1≤i≤c);
步骤S52:验证者利用私钥计算:α=H1(Xy);然后验证公式是否成立;如果成立表示数据完整,否则表示数据不正确。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
Claims (7)
1.一种指定验证者的云存储中远程数据持有验证方法,其特征在于:包括以下步骤:
步骤S1:数据拥有者生成远程数据持有验证协议的系统参数和用户私钥;
步骤S2:数据拥有者在将数据存储到云存储之前,利用自己的私钥,为数据生成数据标签;然后将数据块和标签上传到云存储中,并将它们从本地存储删除;
步骤S3:验证者通过挑战云服务器来检查上传的数据是否被完好如初的保存;
步骤S4:云服务器在接受到用户的挑战信息后,为挑战的数据块生成相应的完整性证据,并将证据返回给验证者以证明数据的完整性;
步骤S5:验证者在接收到云服务器返回的证据后,对证据进行验证,并根据验证结果判定数据是否完好如初。
2.根据权利要求1所述的一种指定验证者的云存储中远程数据持有验证方法,其特征在于:步骤S1具体包括以下步骤:
步骤S11:设定系统安全参数k,选择随机大素数q满足|q|=k;随机选择作为私钥,并计算其公钥为X=gx;
步骤S12:选择和两个阶为q的乘法循环群,u是群中的随机元素,g是群的生成元;是一个双线性映射,选择Hash函数和以及一个伪随机置换一个伪随机函数φ:系统公开参数为
步骤S13:验证者随机选择作为私钥,并计算其公钥为Y=gy。
3.根据权利要求1所述的一种指定验证者的云存储中远程数据持有验证方法,其特征在于:步骤S2具体包括以下步骤:
步骤S21:数据拥有者将待上传的数据文件F分割成n个数据块表示为F=(m1,m2,…,mn),其中任意的
步骤S22:数据拥有者为每一个数据块生成验证标签;
步骤S23:数据拥有者将数据块与生成的验证标签一起上传到云存储中,同时将其从本地删除。
4.根据权利要求3所述的一种指定验证者的云存储中远程数据持有验证方法,其特征在于:步骤S22中,数据拥有者按如下步骤为每一个数据块生成验证标签:
步骤S221:计算α=H1(Yx);
步骤S222:计算其中Fid为数据的唯一性标识;
步骤S223:重复n次步骤S222,得到标签集T=(T1,T2,…,Tn)。
5.根据权利要求1所述的一种指定验证者的云存储中远程数据持有验证方法,其特征在于:步骤S3具体为:验证者选择两个随机种子同时选择要挑战的数据块数量c∈[1,n];验证者将挑战信息chal=(c,k1,k2)发送给云服务器。
6.根据权利要求1所述的一种指定验证者的云存储中远程数据持有验证方法,其特征在于:步骤S4具体包括以下步骤:
步骤S41:云服务器利用伪随机置换计算得到所有被挑战的数据块索引vi=π(k1,i)(1≤i≤c),利用伪随机函数计算得到相应的参数:ai=φ(k2,i)(1≤i≤c);
步骤S42:云服务器计算完整性证据:最后将返回给验证者。
7.根据权利要求1所述的一种指定验证者的云存储中远程数据持有验证方法,其特征在于:步骤S5具体包括以下步骤:
步骤S51:验证者利用伪随机置换计算得到所有被挑战的数据块索引vi=π(k1,i)(1≤i≤c),利用伪随机函数计算得到相应的参数:ai=φ(k2,i)(1≤i≤c);
步骤S52:验证者利用私钥计算:α=H1(Xy);然后验证公式是否成立;如果成立表示数据完整,否则表示数据不正确。
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 true CN109948372A (zh) | 2019-06-28 |
CN109948372B 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110365469A (zh) * | 2019-08-30 | 2019-10-22 | 金陵科技学院 | 一种支持数据隐私保护的云存储中数据完整性验证方法 |
CN111931201A (zh) * | 2020-07-15 | 2020-11-13 | 重庆第二师范学院 | 一种基于对称密钥的安全云存储系统 |
Citations (5)
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 | 东华大学 | 一种云存储完整性验证的数据标签的远程安全更换方法 |
US20190014176A1 (en) * | 2017-07-06 | 2019-01-10 | Acronis International Gmbh | System and method for service level agreement based data storage and verification |
-
2019
- 2019-03-29 CN CN201910246752.9A patent/CN109948372B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811450A (zh) * | 2015-04-22 | 2015-07-29 | 电子科技大学 | 云计算中一种基于身份的数据存储方法及完整性验证方法 |
CN106899406A (zh) * | 2016-12-15 | 2017-06-27 | 中国电子科技集团公司第三十研究所 | 一种云端数据存储完整性的证明方法 |
US20190014176A1 (en) * | 2017-07-06 | 2019-01-10 | Acronis International Gmbh | System and method for service level agreement based data storage and verification |
CN107948143A (zh) * | 2017-11-15 | 2018-04-20 | 安徽大学 | 一种云存储中基于身份的隐私保护完整性检测方法和系统 |
CN108600201A (zh) * | 2018-04-09 | 2018-09-28 | 东华大学 | 一种云存储完整性验证的数据标签的远程安全更换方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110365469A (zh) * | 2019-08-30 | 2019-10-22 | 金陵科技学院 | 一种支持数据隐私保护的云存储中数据完整性验证方法 |
CN111931201A (zh) * | 2020-07-15 | 2020-11-13 | 重庆第二师范学院 | 一种基于对称密钥的安全云存储系统 |
CN111931201B (zh) * | 2020-07-15 | 2023-06-16 | 重庆第二师范学院 | 一种基于对称密钥的安全云存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109948372B (zh) | 2022-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220300642A1 (en) | Method and system for managing personal information within independent computer systems and digital networks | |
US10708068B2 (en) | System and method for implementing blockchain-based digital certificates | |
EP3590226B1 (en) | System and method for generating digital marks | |
KR101937220B1 (ko) | 키 관리가 필요없는 블록체인을 기반한 전자서명 또는 메시지 인증 코드를 생성 및 검증 방법 | |
US8108683B2 (en) | Mitigating dictionary attacks on password-protected local storage | |
CN110086608A (zh) | 用户认证方法、装置、计算机设备及计算机可读存储介质 | |
CN108768660A (zh) | 基于物理不可克隆函数的物联网设备身份认证方法 | |
US10819522B1 (en) | Systems and methods of authentication using entropic threshold | |
CN103929425B (zh) | 一种身份注册、身份认证的方法、设备和系统 | |
US20220329446A1 (en) | Enhanced asset management using an electronic ledger | |
CN113472521A (zh) | 基于区块链的实名数字身份管理方法、签名设备和验证设备 | |
US20230050280A1 (en) | Computer-implemented user identity verification method | |
US10735204B2 (en) | System and method for generating digital marks | |
CN109948372A (zh) | 一种指定验证者的云存储中远程数据持有验证方法 | |
Toli et al. | Privacy-preserving biometric authentication model for e-finance applications | |
CN116318617A (zh) | 基于rfid和区块链的医疗救援物资慈善捐助方法 | |
US7739500B2 (en) | Method and system for consistent recognition of ongoing digital relationships | |
WO2022192725A1 (en) | Authenticated modification of blockchain-based data | |
US20060192651A1 (en) | Data transmit system and transmit methods by using n-dimensional information | |
CN1303778C (zh) | 用于向漫游用户安全分发认证凭证的方法和设备 | |
CA3128933A1 (en) | Identity management on a mobile device | |
CN115374422B (zh) | 一种基于区块链的防泄密的电子签名验证方法 | |
CN104299019B (zh) | 密码卡及验证方法、生成方法、装置和系统 | |
CN115759649B (zh) | 一种警用物资人物互联安全管控方法 | |
Murugesan et al. | Ensuring User Security and Data Integrity in Multi-Cloud |
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 |