CN114745120B - 一种支持公平支付的抗密钥暴露的云数据完整性校验方法 - Google Patents
一种支持公平支付的抗密钥暴露的云数据完整性校验方法 Download PDFInfo
- Publication number
- CN114745120B CN114745120B CN202210265199.5A CN202210265199A CN114745120B CN 114745120 B CN114745120 B CN 114745120B CN 202210265199 A CN202210265199 A CN 202210265199A CN 114745120 B CN114745120 B CN 114745120B
- Authority
- CN
- China
- Prior art keywords
- data
- key
- data owner
- audit
- cloud
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3249—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种支持公平支付的抗密钥暴露的云数据完整性校验方法,步骤包括:数据拥有者选择安全参数并生成公私钥对和公共参数;数据拥有者生成审计密钥;数据拥有者将数据块和认证码上传至云服务器;云服务供应商和数据拥有者一起部署智能审计合约;云服务供应商利用当前区块头和公共参数生成随机挑战,将证明和辅助信息写入激活合约并部署到区块链上,智能审计合约被激活后校验证明并根据校验结果执行预设的交易。数据拥有者随机选择当前时间段的秘密信息更新审计密钥和认证码。本发明实现了在数据拥有者和云服务供应商互不信任的情况下的公平交易,解决了外包数据在密钥暴露攻击下的前向和后向安全问题,并支持审计密钥更新和认证码更新。
Description
技术领域
本发明涉及数据安全技术领域,尤其涉及一种支持公平支付的抗密钥暴露的云数据完整性校验方法。
背景技术
云存储是可以提供无限扩容的数据存储空间和管理服务的云计算系统。由于其低延迟、高延展性和高灵活性,云存储深受企业、组织和个人的青睐。然而当用户将数据远程上传到云服务供应商提供的服务器上后会失去对数据的物理控制。一旦云服务器出现问题,其数据将面临严重的安全威胁。数据完整性作为数据安全的核心要素之一,是云存储是用户和云服务供应商重点关注的对象。
本申请发明人在实施本发明的过程中,发现现有技术的方法,至少存在如下技术问题:
各参与方间存在支付不公平问题。用户在确定外包数据给云服务供应商时会提前支付一段时间的存储服务费用,之后云服务供应商按合约为用户提供存储服务和完整性校验服务。然而当云数据破坏事件发生后,用户可能需要耗费大量时间、精力向云服务供应商维权和索赔。个人用户尤其容易面临支付不公平问题。
现有的数据完整性校验方案面临密钥暴露问题。在数据完整性校验方案中,用户将待上传的文件分成若干份,并用自己的密钥为每一份数据块生成消息认证码用于日后的完整性校验。随后用户将数据块连同消息认证码集合一起上传到云端。消息认证标签与相应的数据块具有一致性,且在不知密钥的情况下,任何人无法更改消息认证标签。密钥暴露会破坏消息认证标签的不可篡改性,完整性校验证明更容易被恶意敌手伪造,继而影响数据完整性校验结果的真实性。
由此可知,现有技术方法无法在保障交易公平的同时抵抗密钥暴露攻击,数据的安全性无法保证。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,而提出的一种支持公平支付的抗密钥暴露的云数据完整性校验方法。
为了解决上述技术问题,本发明提供一种支持公平支付的抗密钥暴露的云数据完整性校验方法,包括以下步骤:
步骤1.密钥生成:数据拥有者选择安全参数,生成自己的公钥私钥对和系统公共参数;
步骤2.审计密钥生成:在每一个时间周期初期,数据拥有者利用自己的私钥生成这一周期的审计密钥;
步骤3.认证标签生成:数据拥有者将待外包文件分为若干数据块,利用审计密钥为每一数据块生成认证标签,并将认证标签集合和数据块一同上传至云服务供应商;
步骤4.云服务供应商验证数据并保存:云服务供应商在收到数据块和认证信息后首先验证签名的有效性和数据的完整性,在验证通过后保存,并和数据拥有者一起部署智能审计合约SAC,合约内容包括校验算法、辅助完整性检测的公共参数以及与校验结果对应的交易内容;
步骤5.证明生成:云服务供应商利用当前区块头信息和系统公共参数生成随机挑战,计算用于完整性校验的证明信息,并将证明和辅助信息写入激活合约AC,随后将激活合约部署到区块链上以激活审计合约SAC;
步骤6.云数据完整性校验:区块链上审计合约SAC被激活后校验证明的有效性,并根据校验结果执行预设的交易,同时将结果返回给数据拥有者。
在一种实施方式中,所述方法还包括:
步骤7.认证码更新:当数据拥有者需要更新认证码时,随机选择当前时间段的秘密信息,利用私钥、当前时间戳和秘密信息计算审计密钥,计算更新密钥并发送给云服务商来执行认证码更新任务。
在一种实施方式中,所述步骤1具体包括:
步骤1.1:数据拥有者选择安全参数λ,运行签名算法Sig生成签名公钥私钥对(spk,ssk),这里签名算法可以选择RSA签名算法;
步骤1.2:数据拥有者随机选取元素x∈Zp作为初始私钥,其中,Zp表示模p的循环群,私钥sk=x由数据拥有者管理;
步骤1.3:数据拥有者选取群G1的生成元g和u,计算公钥gx∈G1,得到系统公共参数PK=(G1,G2,p,H,h,F,e,g,u,pk),其中,G1,G2表示阶为素数p 的乘法循环群,p的长度为λ比特,H(·):{0,1}*→G1,h(·):G1→Zp表示两个加密散列函数,F:{0,1}*→[1,n]为伪随机函数,{0,1}*表示任意比特流, e:G1×G1→G2表示可计算的双线性映射,PK对云服务供应商和校验者公开。
在一种实施方式中,所述步骤2具体包括:
在每一个新的时间周期t初期,数据拥有者选取随机元素βt∈Zp,计算审计密钥和对应的公共参数/>
在一种实施方式中,所述步骤3具体包括:
步骤3.1:在每个时间周期t初期,数据拥有者把待上传的文件F拆成n个数据块,随机选取秘密元素α∈Zp,对每个数据块mi,1≤i≤n,计算认证码其中name∈Zp是随机选取的元素,表示F的唯一标识;
步骤3.2:数据拥有者基于秘密信息α∈Zp计算辅助公共参数v=gα;
步骤3.3:运行签名算法计算w=name||Sigssk(name),其中||表示将 name和Sigssk(name)作字符串相连;
步骤3.4:认证码集合和数据文件发送给云服务供应商。
在一种实施方式中,所述步骤4具体包括:
步骤4.1:云服务供应商在收到数据块和认证信息后首先验证签名的有效性和数据的完整性,在验证通过后保存;
步骤4.2:数据拥有者和云服务供应商协商部署智能审计合约SAC,合约内容包括校验算法、辅助完整性检测的公共参数以及与校验结果对应的交易内容。
在一种实施方式中,所述步骤5具体包括:
步骤5.1:云服务供应商选取公共状态信息τ作为随机数种子,并随机生成挑战{(i,vi)}i∈I,其中表示待检测的数据块索引集合, vi=h(H(τ||i)),τ包括区块链上最新区块的头信息、时间戳,τ不受云服务供应
商控制,且每次生成证明时都会改变;
步骤5.2:云服务供应商根据生成的挑战计算选取随机元素s∈Zp,计算Q=vs∈G1,γ=h(Q),μ=s+γμ',计算聚合认证信息/>
步骤5.3:云服务供应商输出数据完整性证明P={τ,Q,μ,σt}并写入激活合约AC分布到区块链上;
在一种实施方式中,所述步骤6具体包括:
步骤6.1:校验者首先将证明信息解析为τ,Q,μ,σt,并根据随机种子τ计算挑战{(i,vi)}i∈I,I={F(τ||i)}i∈I,计算辅助信息γ=h(Q);
步骤6.2:如果
成立,则返回True,表示校验成功,否则返回False,表示数据完整性被破坏;
步骤6.3:校验者将结果返回给数据拥有者;
步骤6.4:审计合约SAC根据校验结果执行预设交易,若结果返回 True,则执行从数据拥有者账户到云服务供应商账户的服务费交易,否则执行从云服务供应商账户到数据拥有者账户的罚款交易。
在一种实施方式中,所述步骤7具体包括:
步骤7.1:当数据拥有者在时间周期t需要更新认证码时,随机选择当前时间段的秘密信息,利用私钥、当前时间戳和秘密信息更新审计密钥SKt;
步骤7.2:数据拥有者计算认证更新密钥aukt=SKt/SKt-1,并发送给云服务供应商,其中SKt和SKt-1分别是时间周期t和t-1的审计密钥;
步骤7.3:云服务供应商计算σi,t=σi,t-1·aukt以更新数据块的认证标签。
与现有技术相比,本申请的有益效果是:
1、本方案用基于区块链的智能合约作为可信第三方来执行完整性校验,减轻了数据拥有者的计算开销,实现了在互不信任环境下数据拥有者和云服务供应商之间的公平支付,减少完整性校验过程中的通信开销;
2、与现有抗泄露云数据完整性校验方案相比,本方案无需依赖TPA的密钥即可实现密钥暴露攻击下的双向安全(前向安全和后向安全)。敌手可通过泄露的密钥信息来伪造密钥暴露前一段时间里的认证,导致完整性校验失败;也可以在数据拥有者尚未发现密钥暴露的一段时间里伪造新上传的认证信息,导致导致完整性校验失败。本方案可以确保敌手在获得密钥暴露信息的一段时间内,校验方案仍是安全的,任何人无法伪造有效的认证。与现有方案比,本申请具有更强的安全性;
3、本发明允许在每个时间片段远程更新审计密钥和认证标签。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简要介绍。
图1为第一个实施例的云数据完整性校验系统模型示意图;
图2为第一个实施例的云数据完整性校验系统流程图;
图3为第一个实施例的审计合约SAC;
图4为第一个实施例的激活合约AC。
具体实施方式
以下将结合实施例来详细说明本发明的实施方式,具体展示本发明如何应用技术手段解决技术问题并达成技术功效的实现过程。
本发明的主要构思如下:
一种支持公平支付的抗密钥暴露的云数据完整性校验方法。该方法系统模型如图1所示,共包含3类实体:数据拥有者,云服务供应商,校验者;
数据拥有者:数据拥有者在数据外包前利用安全参数生成公钥私钥对和用于完整性校验的公共参数;数据拥有者利用私钥生成审计密钥,并用审计密钥计算文件的认证标签,随后将数据和认证标签集合一起上传至云服务供应商;
云服务供应商:云服务供应商定期利用公共参数、外包数据和认证标签生成用于完整性校验的证明,并将证明和辅助信息写入激活合约AC,激活合约AC通过交易形式部署到区块链上以激活审计合约SAC发送给校验者;
校验者:校验者本质上是基于区块链的智能审计合约SAC,由数据拥有者和云服务供应商联合确定并签名后部署在区块链上。当激活合约AC被部署到区块链上时,审计合约触发,并根据激活合约AC中云服务供应商提供的证明信息来检查对应数据的完整性,随后根据校验结果执行数据拥有者和云服务供应商之间的交易费,并将校验结果返回给数据拥有者。特别地,当校验成功时,合约执行由数据拥有者到云服务供应商的服务费交易,反之,合约执行由云服务供应商到数据拥有者的赔偿交易。
本发明实施例提供了一种支持公平支付的抗密钥暴露的云数据完整性校验方法,包括:
具体云数据完整性校验系统流程图如图2所示。
步骤1.密钥生成:数据拥有者选择安全参数,生成自己的公钥私钥对和系统公共参数;
步骤2.审计密钥生成:在每一个时间周期初期,数据拥有者利用自己的私钥生成这一周期的审计密钥;
步骤3.认证标签生成:数据拥有者将待外包文件分为若干数据块,利用审计密钥为每一数据块生成认证标签,并将认证标签集合和数据块一同上传至云服务供应商;
步骤4.云服务供应商验证数据并保存:云服务供应商在收到数据块和认证信息后首先验证签名的有效性和数据的完整性,在验证通过后保存,并和数据拥有者一起部署智能审计合约SAC(见图3),合约内容包括校验算法、辅助完整性检测的公共参数以及与校验结果对应的交易内容;
步骤5.证明生成:云服务供应商利用当前区块头信息和系统公共参数生成随机挑战,计算用于完整性校验的证明信息,并将证明和辅助信息写入激活合约AC(见图4),随后将激活合约部署到区块链上以激活审计合约 SAC;
步骤6.云数据完整性校验:区块链上审计合约SAC被激活后校验证明的有效性,并根据校验结果执行预设的交易,同时将结果返回给数据拥有者。
作为一个或多个实施例,所述方法还包括:
步骤7.认证码更新:当数据拥有者需要更新认证码时,随机选择当前时间段的秘密信息,利用私钥、当前时间戳和秘密信息计算审计密钥,计算更新密钥并发送给云服务商来执行认证码更新任务。
本实施例中,数据拥有者与云服务供应商互不信任,依靠基于区块链的智能审计合约作为可信第三方来公开审计保存在云服务供应商中的数据是否被破坏。区块链是一种公开的分布式账本,具有不可篡改性和公开性,任何人都可以访问链上数据。
步骤4中,数据拥有者和云服务供应商在协商部署智能审计合约SAC 前需要分别在区块链上创建账户,并充值一定金额以支持后续交易。
步骤6中,当证明通过校验后,审计合约触发服务费交易,具体是从
本实施例提供一种支持公平支付的抗密钥暴露的云数据完整性校验方法,具体流程如图2所示,共包含7个步骤。
本发明所提出的方案所用到的符号声明如下:
1.Zp表示模p的有限域。
称为e:G1×G1→G2双线性映射,若其满足:
1)双线性性:对任意的a,b∈Zp,u,v∈G1,等式e(ua,vb)=e(u,v)ab都成立;
2)非退化性:G1中存在互不相等的的生成元u,v∈G1使得e(u,v)≠1 成立;
3)可计算性:存在高效的多项式时间算法对任意的u,v∈G1,可以计算e(u,v)。
3.SKt表示在时间周期t阶段的审计密钥,由数据拥有者生成和保管,用于生成认证码,审计密钥可以在文件外包期间更新以生成新的认证码。
4.βt,α是数据拥有者生成的秘密信息,在计算完审计密钥和认证码后从本地销毁。
5.σi,t表示数据块mi在时间周期t时的认证码,由数据拥有者生成,并随数据块一起上传到云。认证码可以在外包期间更新。
6.σt表示在时间周期t时的聚合认证码,用于SAC校验云服务供应商所生成证明的有效性。
7.aukt表示在时间周期t时的认证码更新密钥,由数据拥有者生成并通过安全信道发送给云服务供应商,云服务供应商利用当前版本的认证码和 aukt来计算新的认证码。
在一种实施方式中,步骤1具体包括:
步骤1.1:数据拥有者选择安全参数λ,运行签名算法Sig生成签名公钥私钥对(spk,ssk),这里签名算法可以选择RSA签名算法;
步骤1.2:数据拥有者随机选取元素x∈Zp作为初始私钥,其中,
Zp表示模p的循环群,私钥sk=x由数据拥有者管理;
步骤1.3:数据拥有者选取群G1的生成元g和u,计算公钥gx∈G1,得到系统公共参数PK=(G1,G2,p,H,h,F,e,g,u,pk),其中,G1,G2表示阶为素数p 的乘法循环群,p的长度为λ比特,H(·):{0,1}*→G1,h(·):G1→Zp表示两个加密散列函数,F:{0,1}*→[1,n]为伪随机函数,{0,1}*表示任意比特流, e:G1×G1→G2表示可计算的双线性映射,PK对云服务供应商和校验者公开。
在一种实施方式中,步骤2具体包括:
在每一个新的时间周期t初期,数据拥有者选取随机元素βt∈Zp,计算审计密钥和对应的公共参数/>
具体实施过程中,数据拥有者在计算结束后,从本地销毁βt,秘密保管审计密钥并把公共参数/>公布给云服务供应商和校验者。
在一种实施方式中,步骤3具体包括:
步骤3.1:在每个时间周期t初期,数据拥有者把待上传的文件F拆成n个数据块,随机选取秘密元素α∈Zp,对每个数据块mi,1≤i≤n,计算认证码其中name∈Zp是随机选取的元素,表示F的唯一标识;
步骤3.2:数据拥有者基于秘密信息α∈Zp计算辅助公共参数 v=gα;
步骤3.3:运行签名算法计算w=name||Sigssk(name),其中||表示将 name和其签名Sigssk(name)作字符串相连;
步骤3.4:认证码集合和数据文件发送给云服务供应商。
具体实施过程中,数据拥有者在计算结束后立即销毁秘密元素α,并把公共参数v公布给云服务供应商和校验者。上传到云的认证码可通过步骤7进行更新。
在一种实施方式中,步骤4具体包括:
步骤4.1:云服务供应商在收到数据块和认证信息后首先验证签名的有效性和数据的完整性,在验证通过后保存;
步骤4.2:数据拥有者和云服务供应商协商部署智能审计合约SAC,合约内容包括校验算法、辅助完整性检测的公共参数以及与校验结果对应的交易内容。
具体实施过程中,数据拥有者和云服务供应商首先分别在区块链上注册账户并充值一定金额作为后续交易的押金;随后双方协商审计合约内容,包括双方账户地址、存储周期、审计周期、服务费金额、罚款金额、校验函数及公共参数;最后双方签名后将智能审计合约SAC部署上链。
在一种实施方式中,步骤5具体包括:
步骤5.1:云服务供应商选取公共状态信息τ作为随机数种子,并随机生成挑战{(i,vi)}i∈I,其中表示待检测的数据块索引集合, vi=h(H(τ||i)),τ包括区块链上最新区块的头信息、时间戳,τ不受云服务供应商控制,且每次生成证明时都会改变;
步骤5.2:云服务供应商根据生成的挑战计算选取随机元素s∈Zp,计算Q=vs∈G1,γ=h(Q),μ=s+γμ',计算聚合认证信息/>
步骤5.3:云服务供应商输出数据完整性证明P={τ,Q,μ,σt}并写入激活合约AC分布到区块链上;
具体实施过程中,云服务供应商定期遍历区块链状态,当发现新的审计任务时,实时获取公共状态信息τ并生成随机挑战和相应的证明 P={τ,Q,μ,σt}。P作为参数被写入激活合约AC,激活合约AC上链后可调用智能审计合约SAC的校验函数、公共参数并根据校验结果触发对应的交易。
由区块链的不可篡改性知公共状态信息τ不可伪造且不可被云服务供应商控制,其随机性保证了所生成的挑战具有随机性。
在一种实施方式中,所述步骤6具体包括:
步骤6.1:校验者首先将证明信息解析为τ,Q,μ,σt,并根据随机种子τ计算挑战{(i,vi)}i∈I,I={F(τ||i)}i∈I,计算辅助信息γ=h(Q);
步骤6.2:如果
成立,则返回True,表示校验成功,否则返回False,表示数据完整性被破坏;
步骤6.3:校验者将结果返回给数据拥有者;
步骤6.4:审计合约SAC根据校验结果执行预设交易,若结果返回 True,则执行从数据拥有者账户到云服务供应商账户的服务费交易,否则执行从云服务供应商账户到数据拥有者账户的罚款交易。
具体实施过程中,智能审计合约SAC在收到激活合约传来的参数后,首先验证文件标识name和状态信息τ,验证通过后开始校验证明的有效性。当且仅当证明通过验证,表明所检验的数据保持了完整性,此时触发合约 SAC中预设的服务费交易,即执行从区块链上数据拥有者账户到云服务供应商账户的服务费转账;否则,触发罚款交易,即执行从云服务供应商账户到数据拥有者账户的罚款转账。这一过程保障了数据外包过程中的交易公平,避免了数据拥有者在外包数据发生错误时可能遭受的索赔困难等不公平交易问题。
验证阶段的正确性说明如下:
在一种实施方式中,所述步骤7具体包括:
步骤7.1:当数据拥有者在时间周期t需要更新认证码时,随机选择当前时间段的秘密信息,利用私钥、当前时间戳和秘密信息更新审计密钥SKt;
步骤7.2:数据拥有者计算认证更新密钥aukt=SKt/SKt-1,并发送给云服务供应商,其中SKt和SKt-1分别是时间周期t和t-1的审计密钥;
步骤7.3:云服务供应商计算σi,t=σi,t-1·aukt以更新数据块的认证标签。
此过程由数据拥有者和云服务供应商共同完成认证码更新,节约了数据拥有方的计算开销,对资源受限的用户十分友好。
本发明中的安全性分析:
结合上述方案,说明本发明具有良好的安全性。
1、正确性:
2、在可计算的Diffie-Hellman假设和离散对数假设成立的情况下,本发明可抵抗密钥暴露攻击,且在密钥暴露期间生成的认证码也具有安全性。
3、隐私保护:校验者所掌握的跟数据块有关的信息为σt和μ。在可计算的Diffie-Hellman假设和离散对数假设成立的情况下,校验者无法根据σt和μ在多项式时间内计算出数据块信息,保障了数据隐私。
4、密钥暴露抵抗性:本发明中审计密钥由数据拥有者私钥x和秘密信息βt组合生成,且秘密信息βt计算结束后被销毁。在校验过程中公共参数/>被用于验证审计密钥的正确性,即使敌手非法获取私钥x,也无法在不得知βt的情况下伪造审计密钥使之通过校验。
5、可检测性:对于外包文件F={mi}1≤i≤n,当云端被损坏的数据块数量为a,挑战数据块数量为c时,本发明具有的可检测性,即损坏数据块被检测到的概率是
6、交易公平性:本发明通过利用区块链的不可篡改性和共识机制实现了数据外包期间的公平交易,仅当数据完整性校验通过,即外包数据保持正确性、完整性时,智能审计合约触发预设交易,执行服务费转账交易,否则,执行罚款转账交易。此过程避免了因双方互不诚实而导致的交易不公平问题。
本发明利用区块链的不可篡改性和共识机制,通过引入智能审计合约和激活合约实现了在不可信环境下的数据外包交易不公平问题,利用随机秘密信息盲化审计密钥使得所提方案可以抵抗密钥暴露攻击,实现了数据块和认证码的前向和后向安全。
Claims (6)
1.一种支持公平支付的抗密钥暴露的云数据完整性校验方法,其特征在于,包括以下步骤:
步骤1.密钥生成:数据拥有者选择安全参数,生成自己的公钥私钥对和系统公共参数;
步骤2.审计密钥生成:在每一个时间周期初期,数据拥有者利用自己的私钥生成这一周期的审计密钥;
步骤3.认证标签生成:数据拥有者将待外包文件分为若干数据块,利用审计密钥为每一数据块生成认证标签,并将认证标签集合和数据块一同上传至云服务器;
步骤4.云服务供应商验证数据并保存:云服务供应商在收到数据块和认证信息后首先验证签名的有效性和数据的完整性,在验证通过后保存,并和数据拥有者一起部署智能审计合约SAC,合约内容包括校验算法、辅助完整性检测的公共参数以及与校验结果对应的交易内容;
步骤5.证明生成:云服务供应商利用当前区块头信息和系统公共参数生成随机挑战,计算用于完整性校验的证明信息,并将证明和辅助信息写入激活合约AC,随后将激活合约部署到区块链上以激活审计合约SAC;
步骤6.云数据完整性校验:区块链上审计合约SAC被激活后校验证明的有效性,并根据校验结果执行预设的交易,同时将结果返回给数据拥有者;
所述方法还包括:
步骤7.认证码更新:当数据拥有者需要更新认证码时,随机选择当前时间段的秘密信息,利用私钥、当前时间戳和秘密信息计算审计密钥,计算更新密钥并发送给云服务供应商来执行认证码更新任务;
所述步骤3具体包括:
步骤3.1:在每个时间周期t初期,数据拥有者把待上传的文件F拆成n个数据块,随机选取秘密信息α∈Zp,其中,Zp表示模p的有限域,对每个数据块mi,1≤i≤n,计算认证码其中name∈Zp是随机选取的元素,表示F的唯一标识,u表示群G1的一个生成元;
步骤3.2:数据拥有者基于秘密信息α∈Zp计算辅助公共参数v=gα;
步骤3.3:运行签名算法计算w=name||Sigssk(name),其中||表示将name和Sigssk(name)作字符串相连;
步骤3.4:认证码集合和数据文件发送给云服务器;
所述步骤7具体包括:
步骤7.1:当数据拥有者在时间周期t需要更新认证码时,随机选择当前时间段的秘密信息,利用私钥、当前时间戳和秘密信息更新审计密钥SKt;
步骤7.2:数据拥有者计算在时间周期t时的认证码更新密钥aukt=SKt/SKt-1,并发送给云服务供应商,其中SKt和SKt-1分别是时间周期t和t-1的审计密钥;
步骤7.3:云服务供应商计算σi,t=σi,t-1·aukt以更新数据块的认证标签。
2.根据权利要求1所述的一种支持公平支付的抗密钥暴露的云数据完整性校验方法,其特征在于,所述步骤1具体包括:
步骤1.1:数据拥有者选择安全参数λ,运行签名算法Sig生成签名公钥私钥对(spk,ssk),这里签名算法选择RSA签名算法;
步骤1.2:数据拥有者随机选取元素x∈Zp作为初始私钥,其中,Zp表示模p的有限域,私钥sk=x由数据拥有者管理;
步骤1.3:数据拥有者选取群G1的生成元g和u,计算公钥gx∈G1,得到系统公共参数PK=(G1,G2,p,H,h,F,e,g,u,pk),其中,G1,G2表示阶为素数p的乘法循环群,p的长度为λ比特,H(·):{0,1}*→G1,h(·):G1→Zp表示两个加密散列函数,F:{0,1}*→[1,n]为伪随机函数,{0,1}*表示任意比特流,e:G1×G1→G2表示可计算的双线性映射,PK对云服务供应商和校验者公开。
3.根据权利要求1所述的一种支持公平支付的抗密钥暴露的云数据完整性校验方法,其特征在于,所述步骤2具体包括:在每一个新的时间周期t初期,数据拥有者随机选取秘密信息βt∈Zp,计算审计密钥和对应的公共参数/>
4.根据权利要求1所述的一种支持公平支付的抗密钥暴露的云数据完整性校验方法,其特征在于,所述步骤4具体包括:
步骤4.1:云服务器在收到数据块和认证信息后首先验证签名的有效性和数据的完整性,在验证通过后保存;
步骤4.2:数据拥有者和云服务器协商部署智能审计合约SAC,合约内容包括校验算法、辅助完整性检测的公共参数以及与校验结果对应的交易内容。
5.根据权利要求1所述的一种支持公平支付的抗密钥暴露的云数据完整性校验方法,其特征在于,所述步骤5具体包括:
步骤5.1:云服务器选取公共状态信息τ作为随机种子,并随机生成挑战{(i,vi)}i∈I,其中表示待检测的数据块索引集合,vi=h(H(τ||i)),τ包括区块链上最新区块的头信息、时间戳,τ不受云服务器控制,且每次生成证明时都会改变;
步骤5.2:云服务器根据生成的挑战计算选取随机元素s∈Zp,计算Q=vs∈G1,γ=h(Q),μ=s+γμ',计算聚合认证信息/>
步骤5.3:云服务器输出数据完整性证明P={τ,Q,μ,σt}并写入激活合约AC分布到区块链上。
6.根据权利要求1所述的一种支持公平支付的抗密钥暴露的云数据完整性校验方法,其特征在于,所述步骤6具体包括:
步骤6.1:校验者首先将证明信息解析为τ,Q,μ,σt,并根据随机种子τ计算挑战{(i,vi)}i∈I,I={F(τ||i)}i∈I,计算辅助信息γ=h(Q);
步骤6.2:如果成立,则返回True,表示校验成功,否则返回False,表示数据完整性被破坏;
步骤6.3:校验者将结果返回给数据拥有者;
步骤6.4:审计合约SAC根据校验结果执行预设交易,若结果返回True,则执行从数据拥有者账户到云服务供应商账户的服务费交易,否则执行从云服务供应商账户到数据拥有者账户的罚款交易。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210265199.5A CN114745120B (zh) | 2022-03-17 | 2022-03-17 | 一种支持公平支付的抗密钥暴露的云数据完整性校验方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210265199.5A CN114745120B (zh) | 2022-03-17 | 2022-03-17 | 一种支持公平支付的抗密钥暴露的云数据完整性校验方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114745120A CN114745120A (zh) | 2022-07-12 |
CN114745120B true CN114745120B (zh) | 2023-08-22 |
Family
ID=82276927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210265199.5A Active CN114745120B (zh) | 2022-03-17 | 2022-03-17 | 一种支持公平支付的抗密钥暴露的云数据完整性校验方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114745120B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110365469A (zh) * | 2019-08-30 | 2019-10-22 | 金陵科技学院 | 一种支持数据隐私保护的云存储中数据完整性验证方法 |
CN110912706A (zh) * | 2019-11-15 | 2020-03-24 | 东北大学 | 一种基于身份的动态数据完整性审计方法 |
CN111259454A (zh) * | 2020-01-10 | 2020-06-09 | 山东师范大学 | 一种非交互式数据完整性审计方法、公平付费方法及系统 |
CN112866990A (zh) * | 2021-01-07 | 2021-05-28 | 哈尔滨工业大学(深圳) | 一种具有激励机制的条件身份匿名隐私保护公共审计方法 |
CN113489690A (zh) * | 2021-06-22 | 2021-10-08 | 暨南大学 | 强抗密钥暴露的在线/离线外包数据完整性审计方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200259663A1 (en) * | 2019-02-07 | 2020-08-13 | Guardtime Sa | One-Time Data Signature System and Method with Untrusted Server Assistance |
-
2022
- 2022-03-17 CN CN202210265199.5A patent/CN114745120B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110365469A (zh) * | 2019-08-30 | 2019-10-22 | 金陵科技学院 | 一种支持数据隐私保护的云存储中数据完整性验证方法 |
CN110912706A (zh) * | 2019-11-15 | 2020-03-24 | 东北大学 | 一种基于身份的动态数据完整性审计方法 |
CN111259454A (zh) * | 2020-01-10 | 2020-06-09 | 山东师范大学 | 一种非交互式数据完整性审计方法、公平付费方法及系统 |
CN112866990A (zh) * | 2021-01-07 | 2021-05-28 | 哈尔滨工业大学(深圳) | 一种具有激励机制的条件身份匿名隐私保护公共审计方法 |
CN113489690A (zh) * | 2021-06-22 | 2021-10-08 | 暨南大学 | 强抗密钥暴露的在线/离线外包数据完整性审计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114745120A (zh) | 2022-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110741600B (zh) | 提供去中心化协议以找回加密资产的计算机实现的系统和方法 | |
CN109194466B (zh) | 一种基于区块链的云端数据完整性检测方法及系统 | |
CN109325331B (zh) | 基于区块链和可信计算平台的大数据采集交易系统 | |
JP3570114B2 (ja) | データ検証方法およびデータ検証システム | |
JP2020502857A (ja) | 情報保護用のシステム及び方法 | |
JP2020509680A (ja) | 分散型ブロックチェーンコンセンサスネットワークにおいて新しいブロックに署名する方法 | |
US20120278609A1 (en) | Joint encryption of data | |
CN113360943B (zh) | 一种区块链隐私数据的保护方法及装置 | |
CN116418560A (zh) | 一种基于区块链智能合约的线上快速身份认证系统及方法 | |
WO2008026345A1 (fr) | Système de signature électronique et procédé de vérification de signature électronique | |
CN104717217A (zh) | 一种云存储中基于部分授权的可证明安全数据持有性验证方法 | |
CN114745120B (zh) | 一种支持公平支付的抗密钥暴露的云数据完整性校验方法 | |
CN115664714B (zh) | 区块链上基于tee的匿名选委员方法、系统及介质 | |
CN114362958B (zh) | 一种基于区块链的智能家居数据安全存储审计方法及系统 | |
CN116388991A (zh) | 基于非门限结构的公证人组跨链交易方法及系统 | |
CN113691376B (zh) | 一种密钥管理方法及装置 | |
Yao et al. | An improved forward integrity protocol for mobile agents | |
CN114499818A (zh) | 云数据审计方法及装置、电子设备、计算机可读存储介质 | |
Longo | Formal Proofs of Security for Privacy-Preserving Blockchains and other Cryptographic Protocols | |
CN104580145A (zh) | 可验证秘密分享的移动代理安全支付方法 | |
KR102563514B1 (ko) | 양자난수를 활용한 사설인증서 생성방법 | |
CN115208629B (zh) | 基于智能合约的数据完整性验证方法 | |
CN113542251B (zh) | 数据报送方法及装置 | |
CN113656840B (zh) | 一种具有问责性的动态完整性验证方法 | |
Aung et al. | Cryptographic and Consensus Techniques Supporting Privacy and Security Management of Cryptocurrency Transactions |
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 |