CN107566118A - The cloud auditing method that lightweight user Dynamic Revocable and data can dynamically update - Google Patents

The cloud auditing method that lightweight user Dynamic Revocable and data can dynamically update Download PDF

Info

Publication number
CN107566118A
CN107566118A CN201710830435.2A CN201710830435A CN107566118A CN 107566118 A CN107566118 A CN 107566118A CN 201710830435 A CN201710830435 A CN 201710830435A CN 107566118 A CN107566118 A CN 107566118A
Authority
CN
China
Prior art keywords
mrow
msub
csp
user
data block
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
Application number
CN201710830435.2A
Other languages
Chinese (zh)
Other versions
CN107566118B (en
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.)
Qucheng Shanghai Information Technology Co ltd
Original Assignee
Shaanxi 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 Shaanxi Normal University filed Critical Shaanxi Normal University
Priority to CN201710830435.2A priority Critical patent/CN107566118B/en
Publication of CN107566118A publication Critical patent/CN107566118A/en
Application granted granted Critical
Publication of CN107566118B publication Critical patent/CN107566118B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提出了轻量级用户可动态撤销及数据可动态更新的云审计方法:首先,用户可以实现高效的动态撤销(包括更换公私钥),在用户撤销阶段,采用了多重单向代理重签名技术,新用户只需计算重签名密钥,无需从云端下载数据重签名后再上传到云端;其次,能够保证数据实时动态更新(插入、删除、修改),通过数据块的身份识别码中引入虚拟索引,数据动态更新时,只有被更新数据块的身份识别码发生变化,其余数据块的身份识别码保持不变;最后,在重签名阶段,云服务器代替新上任用户进行重签名,在审计阶段,第三方审计中心代替当前用户进行在云端存储的数据完整性的验证,极大减轻了终端用户的计算开销及系统的通信开销;本发明是高效的和安全的。

The present invention proposes a cloud audit method in which light-weight users can be dynamically revoked and data can be dynamically updated: first, users can achieve efficient dynamic revocation (including changing public and private keys), and in the user revocation stage, multiple one-way proxy re-signatures are used technology, new users only need to calculate the re-signature key, and do not need to download data from the cloud to re-sign and then upload to the cloud; secondly, it can ensure real-time dynamic update of data (insert, delete, modify), and introduce Virtual index, when the data is dynamically updated, only the ID code of the updated data block changes, and the ID codes of the rest of the data blocks remain unchanged; finally, in the re-signature phase, the cloud server replaces the new user to re-sign, and in the audit stage, the third-party audit center replaces the current user to verify the integrity of the data stored in the cloud, which greatly reduces the computing overhead of the end user and the communication overhead of the system; the present invention is efficient and safe.

Description

轻量级用户可动态撤销及数据可动态更新的云审计方法A cloud auditing method with lightweight users that can be dynamically revoked and data that can be dynamically updated

技术领域technical field

本发明属于远程云存储数据公开审计技术,具体为轻量级用户可动态撤销及存储数据可动态更新的公共云审计方法。The invention belongs to the remote cloud storage data open audit technology, in particular to a public cloud audit method in which lightweight users can dynamically revoke and stored data can be dynamically updated.

背景技术Background technique

云存储是一个由网络设备、存储设备、服务器、应用软件、公用访问接口、接入网和客户端等多个部分组成的系统,它可以使用户以较低廉的价格获取海量的存储能力,但高度集中的计算资源使云存储面临着严重的安全挑战。最近几年,各大云运营商各自暴露的安全存储问题,引起了人们的广泛关注与担忧。如2011年3月,谷歌Gmail邮箱出现故障,而这一故障造成大约15万用户的数据丢失。2013年8月,国内云提供商盛大云因机房一台物理服务器磁盘发生故障,导致客户部分数据丢失。由此可见,远程云存储中数据安全问题的研究具有非常重要的意义。Cloud storage is a system composed of network devices, storage devices, servers, application software, public access interfaces, access networks, and clients. Highly concentrated computing resources make cloud storage face serious security challenges. In recent years, the security storage issues exposed by major cloud operators have aroused widespread concern and concern. For example, in March 2011, Google's Gmail mailbox failed, and this failure caused the data loss of about 150,000 users. In August 2013, Shanda Cloud, a domestic cloud provider, lost part of the customer data due to a physical server disk failure in the computer room. It can be seen that the research on data security issues in remote cloud storage is of great significance.

通常用户将数据原文(不加密数据)直接存储在远程云服务器,为了节约存储资源,本地并没有保存数据副本,那么用户可能面临以下三种损坏数据的行为:①软件失效或硬件损坏导致数据丢失,这种损坏属于小概率事件;②存储在云中的数据可能遭到其他用户的恶意损坏,其中,文献Ristenpart T,Tromer E,Shacham H,et al.Hey,you,get offof my cloud:exploring information leakage in third-party compute clouds[C]//Proceedings of the 16th ACM Conference on Computer and CommunicationsSecurity.ACM,2009:199-212.以Amazon EC2存储服务为例,指出恶意的用户可以对云中同一宿主机上的其他虚拟机发起攻击,损坏其他用户的数据;③云服务提供商可能没有遵守服务等级协议(SLAs),为了经济利益,擅自删除一些用户不常访问的数据,或采取了离线存储的方式。Usually, the user stores the original data (unencrypted data) directly on the remote cloud server. In order to save storage resources, the data copy is not saved locally, so the user may face the following three behaviors of data damage: ①Data loss due to software failure or hardware damage , this damage is a small probability event; ②The data stored in the cloud may be maliciously damaged by other users, among them, the literature Ristenpart T, Tromer E, Shacham H, et al.Hey, you, get off of my cloud:exploring information leakage in third-party compute clouds[C]//Proceedings of the 16th ACM Conference on Computer and Communications Security. ACM, 2009: 199-212. Taking Amazon EC2 storage service as an example, pointing out that malicious users can Other virtual machines on the host launch attacks and damage the data of other users; ③The cloud service provider may not comply with the service level agreement (SLAs), and for economic benefits, delete some data that users do not frequently access, or take offline storage. Way.

近年来,Wang等人实现了一种支持全动态操作的PDP机制,该机制采用Merkle哈希树来确保数据块位置上的正确性,而数据块值则通过BLS签名机制来确保。为了减轻用户的负担,该机制还引入独立的第三方TPA来代替用户验证云中数据的完整性,但采用这种方式存在用户隐私泄漏的风险。针对这一缺陷,Wang等人又提出了另一种保护隐私的数据完整性验证机制,该机制通过随机掩码技术,有效地隐藏了云服务器返回证明中的数据信息,使TPA无法获取数据真实内容,保证了数据的机密性。In recent years, Wang et al. have implemented a PDP mechanism that supports full dynamic operation. The mechanism uses a Merkle hash tree to ensure the correctness of the location of the data block, while the value of the data block is ensured by the BLS signature mechanism. In order to reduce the burden on users, this mechanism also introduces an independent third-party TPA to replace users to verify the integrity of data in the cloud, but there is a risk of user privacy leakage in this way. In response to this defect, Wang et al. proposed another privacy-protecting data integrity verification mechanism, which effectively hides the data information in the certificate returned by the cloud server through random masking technology, making it impossible for TPA to obtain the authenticity of the data. The content ensures the confidentiality of the data.

随后相关学者们提出了一系列经典的具有数据隐私保护功能的云存储数据公开审计方案,但人们发现这些方案都局限于用户(企业和个人)在使用云存储系统过程中,用户及其公私钥始终不变,且不能高效的对数据进行实时可动态更新。首先,用户始终不变的原因是云存储服务器中数据完整性验证标签与用户的私钥密切相关。若用户及其公私钥对已更换,云服务器中却依然保存着利用原私钥签名的数据验证标签,则TPA无法完成审计任务。而在实际应用中显然存在用户及其公私钥更换的情况,比如:在云服务存储系统中(i)经过一段时间用户的公私钥对可能会因为某些原因而进行更新;(ii)用户可能是一个公司数据的管理者,他可能因为某些原因而离职,例如任期已满或跳槽等。其次,这些方案中数据块的认证标签中包含了数据块的真实索引,此情况下,云端数据的动态更新效率不高,如果插入或删除一个数据块,则该数据块之后所有数据块的索引都会发生变化,即使这些数据块的内容并没有改变,用户依然必须对改变索引的数据块重新计算其认证标签,从而导致数据动态更新非常低效。因此一个支持用户可高效动态撤销、存储数据可实时动态更新的云审计方案更契合实际应用。Subsequently, relevant scholars proposed a series of classic cloud storage data public audit schemes with data privacy protection functions, but it was found that these schemes were limited to users (enterprises and individuals) in the process of using cloud storage systems, users and their public and private keys. It is always the same, and it cannot efficiently update the data in real time and dynamically. First of all, the reason why the user remains unchanged is that the data integrity verification tag in the cloud storage server is closely related to the user's private key. If the user and his public-private key pair have been replaced, but the cloud server still retains the data verification label signed with the original private key, TPA cannot complete the audit task. However, in practical applications, there are obviously situations where users and their public-private keys are replaced. For example: in the cloud service storage system (i) the user’s public-private key pair may be updated for some reason after a period of time; (ii) the user may Is a manager of company data, he may leave his job for some reasons, such as the expiration of his term of office or job hopping. Secondly, the authentication tag of the data block in these schemes contains the real index of the data block. In this case, the dynamic update efficiency of cloud data is not high. If a data block is inserted or deleted, the indexes of all data blocks after this data block Even if the content of these data blocks has not changed, users still have to recalculate their authentication tags for the data blocks that change the index, resulting in very inefficient data dynamic updates. Therefore, a cloud audit solution that supports efficient and dynamic revocation by users and real-time dynamic update of stored data is more suitable for practical applications.

Wang等人首先引入共享云存储审计问题,提出了一个基于群签名的用户可撤销的自我审计方案,以及一些基于动态广播重签名方案和双向代理签名的共享云用户可撤销公开审计方案。随后,Yuan等人使用了一个类似的群签名技术提出了一个公开完整性校验方案。由于上述几个方案都涉及到群签名和广播加密技术,导致用户可撤销审计方案的效率太低,不能满足实际应用需求。2015年Wang等人提出了一个高效的用户可撤销公开审计方案Panda:Wang B,Li B,Li H.Panda:Public Auditing for Shared Data with EfficientUser Revocation in the Cloud[J].IEEE Transactions on Services Computing,2015,8(1):92-106.此方案借助代理重签名技术,将不同用户的数据块签名转换为当前用户签名形式,很好地满足了用户可撤销的云存储数据审计需求。2017年Wang等人在原Panda方案的基础上提出了Panda Plus:Wang B,Li B,Li H.Panda:Public Auditing for Shared Datawith Efficient User Revocation in the Cloud[C]//OnlineInternationalConference on Green Engineering and Technologies.IEEE,2017:2904-2912.该方案减少了重签名密钥计算的次数,并支持多任务同时审计,极大地提高了公开审计效率,是此类问题当前最佳的解决方案。但他们的方案具有一定的局限性:(1)云服务器与已撤销用户合谋可能会造成当前用户私钥的泄露;(2)第三方审计TPA与已撤销用户合谋可能会造成TPA窃取用户的数据隐私。2016年,张等人提出了基于代理重签名的支持用户可撤销的云存储数据公开审计方案:张新鹏,许春香,张新颜,等,基于代理重签名的支持用户可撤销的云存储数据公开审计方案[J].计算机应用,2016,36(7):1816-1821,但该方案并不能满足用户可动态撤销和存储数据可实时动态更新。Wang et al. first introduced the shared cloud storage audit problem, and proposed a user-revocable self-audit scheme based on group signatures, and some shared cloud user-revocable public audit schemes based on dynamic broadcast re-signature schemes and two-way proxy signatures. Subsequently, Yuan et al. proposed a public integrity check scheme using a similar group signature technique. Since the above-mentioned schemes all involve group signature and broadcast encryption technology, the efficiency of the user revocable audit scheme is too low to meet the actual application requirements. In 2015, Wang et al. proposed an efficient user-revocable public audit scheme Panda: Wang B, Li B, Li H. Panda: Public Auditing for Shared Data with EfficientUser Revocation in the Cloud[J]. IEEE Transactions on Services Computing, 2015,8(1):92-106. With the help of proxy re-signature technology, this scheme converts the data block signatures of different users into the current user signature form, which satisfies the user's revocable cloud storage data audit requirements. In 2017, Wang et al. proposed Panda Plus based on the original Panda solution: Wang B, Li B, Li H. Panda: Public Auditing for Shared Data with Efficient User Revocation in the Cloud[C]//OnlineInternationalConference on Green Engineering and Technologies. IEEE,2017:2904-2912. This scheme reduces the number of re-signature key calculations, supports multi-task simultaneous auditing, greatly improves the efficiency of public auditing, and is currently the best solution to this type of problem. However, their scheme has certain limitations: (1) The collusion between the cloud server and the revoked user may cause the leakage of the current user's private key; (2) The collusion between the third-party audit TPA and the revoked user may cause the TPA to steal the user's data privacy. In 2016, Zhang et al. proposed a cloud storage data public audit scheme that supports user revocation based on proxy resignature: Zhang Xinpeng, Xu Chunxiang, Zhang Xinyan, et al., Proxy resignature support user revocable cloud storage data public audit scheme [J]. Computer Applications, 2016, 36(7): 1816-1821, but this solution does not satisfy the user's dynamic revocation and real-time dynamic update of stored data.

发明内容Contents of the invention

为了解决现有云审计方法局限于个人和企业在使用云存储系统的整个过程中,用户及其公私钥始终不变以及云存储数据不能实时动态更新的技术问题,本发明提供一种轻量级用户可动态撤销及存储数据可动态更新的公共云审计方法。In order to solve the technical problems that the existing cloud audit method is limited to individuals and enterprises during the whole process of using the cloud storage system, users and their public and private keys remain unchanged, and cloud storage data cannot be dynamically updated in real time, the present invention provides a lightweight A public cloud audit method in which users can dynamically revoke and stored data can be dynamically updated.

本发明的技术解决方案:Technical solution of the present invention:

轻量级用户可动态撤销及存储数据可动态更新的公共云审计方法,包括以下步骤:A public cloud audit method in which lightweight users can dynamically revoke and stored data can be dynamically updated, including the following steps:

1)初始化:输入安全参数λ,同时赋予δ一个值,系统输出公开参数{G1,G2,p,g,e,H1,H2,h,u,ρ},其中G1、G2是素数阶p的循环乘群,g为群G1的生成元,e为G1×G1→G2上的双线性对,在安全Hash函数族中随机选择三个安全的哈希函数:H1:{0,1}*→G1,H2:{0,1}*→Zpu∈G1为全局常量,ρ=2δ,δ∈N+由存储文件的内容类型及用户数量决定;1) Initialization: Input the security parameter λ, assign a value to δ at the same time, and the system outputs public parameters {G 1 ,G 2 ,p,g,e,H 1 ,H 2 ,h,u,ρ}, where G 1 , G 2 is the cyclic multiplication group of prime order p, g is the generator of group G 1 , e is the bilinear pairing on G 1 ×G 1 →G 2 , and randomly select three safe hashes in the safe Hash function family Function: H 1 : {0,1} * → G 1 , H 2 : {0,1} * → Z p , u∈G 1 is a global constant, ρ=2 δ , δ∈N + is determined by the content type of the stored file and the number of users;

系统中每一个用户随机选取一个数计算该用户的私钥Xj=skj=xjh(Tj)、公钥及任期认证标签并公开公钥pkjevery user in the system pick a number at random Calculate the user's private key X j =sk j =x j h(T j ), public key and tenure certification label And public key pk j ;

用U0,U1,…,Uj来表示时间顺序上动态更换的用户,T0,T1,…,Tj表示每任用户的任期;Use U 0 , U 1 ,…,U j to represent users that are dynamically replaced in time order, and T 0 , T 1 ,…,T j to represent the tenure of each user;

2)初始用户与CSP交互:2) The initial user interacts with the CSP:

2.1)初始用户生成签名:初始用户U0对文件F进行分块,F={m1,m2,…,mn},每一个数据块mi∈Zp,其中i∈I={1,2,…,n},每一个文件F有一个文件标签TagF,文件标签TagF中包含文件名字或文件其他属性特征;2.1) The initial user generates a signature: the initial user U 0 blocks the file F, F={m 1 ,m 2 ,…,m n }, each data block m i ∈ Z p , where i∈I={1 ,2,...,n}, each file F has a file tag Tag F , and the file tag Tag F contains the file name or other attribute characteristics of the file;

初始用户U0输入其公私密钥对(X0,Y0),初始用户U0计算数据块mi的认证标签其中idi={name||ηi||ξi}为数据块mi的身份识别码,name为文件F的文件名,ηi=i·ρ为数据块mi的虚拟索引,数据块mi与虚拟索引ηi按照ξi=H2(mi||ηi)的方式对应;为认证元集合,认证元集合为所有认证标签的集合;The initial user U 0 inputs its public-private key pair (X 0 , Y 0 ), and the initial user U 0 calculates the authentication label of the data block m i Wherein id i ={name||η i ||ξ i } is the identification code of data block m i , name is the file name of file F, η i =i·ρ is the virtual index of data block m i , data block m i corresponds to the virtual index η i in the manner of ξ i =H 2 (m i ||η i ); is the set of authentication elements, and the set of authentication elements is the set of all authentication tags;

2.2)初始用户U0向CSP发送认证存储请求:2.2) The initial user U 0 sends an authentication storage request to the CSP:

初始用户U0发送{F,TagF,Φ(0),t(0)}给CSP,其中{TagF(0),t(0)}为认证消息,CSP验证认证消息:The initial user U 0 sends {F, Tag F , Φ (0) , t (0) } to the CSP, where {Tag F , Φ (0) , t (0) } is an authentication message, and the CSP verifies the authentication message:

若CSP验证通过,则CSP存储文件F,同时初始用户U0删除本地记录文件F;If the CSP verification is passed, the CSP stores the file F, and the initial user U 0 deletes the local record file F;

若CSP验证未通过,CSP向初始用户U0提示未通过;If the CSP verification fails, the CSP notifies the initial user U 0 of the failure;

3)当用户Uj-1任期已满,新用户Uj取代用户Uj-1时,新用户Uj进行重签名密钥的操作,具体为:3) When the term of user U j-1 expires and the new user U j replaces user U j-1 , the new user U j performs the operation of re-signing the key, specifically:

用户Uj计算重签名密钥kj-1→j并将其发送给CSP;User U j calculates the re-signature key k j-1→j and sends it to the CSP;

4)CSP收到新上任用户Uj的重签名密钥kj-1→j后,计算数据块mi的第j层代理重签名,为使后续计算表示简洁,令:4) After the CSP receives the re-signature key k j-1→j of the newly appointed user U j , it calculates the j-level proxy re-signature of the data block m i . In order to make the subsequent calculation concise, let:

4.1)计算第j-1层到第j层的重签名标签 4.1) Calculate the re-signature label from layer j-1 to layer j

4.2)CSP对用户(U0,U1,…,Uj-1)的公钥和重签名密钥进行处理:4.2) CSP processes the public key and re-signature key of users (U 0 , U 1 , ..., U j-1 ):

4.3)CSP将作为对数据块mi的第j层代理重签名;4.3) CSP will Re-sign as a layer- j proxy for data block mi;

5)现任用户Uj验证存储在CSP上数据的完整性时,进行以下操作:5) When the current user U j verifies the integrity of the data stored on the CSP, the following operations are performed:

5.1)现任用户Uj发送一个验证请求request、通信时间上限Δ和数据块的块索引集合I给TPA;5.1) The current user U j sends a verification request request, the communication time upper limit Δ and the block index set I of the data block to TPA;

5.2)TPA收到用户Uj发送的信息后,从块索引集合I中随机选取c个块索引并对每一个块索引选取一个随机数vi的比特长度应小于|p|,组成挑战请求TPA将挑战请求chal发送给CSP,并记录当前时间CT15.2) After receiving the information sent by user U j , TPA randomly selects c block indexes from block index set I and index each block pick a random number The bit length of v i should be less than |p|, forming a challenge request TPA sends the challenge request chal to CSP, and records the current time CT 1 ;

6)当CSP接收到来自TPA的挑战请求chal后,生成证明,具体如下:6) When CSP receives the challenge request chal from TPA, it generates a certificate, as follows:

6.1)CSP首先计算数据块的一个线性组合为盲化μ',CSP选取一个随机数计算:R=ur∈G1,ψ=h(R),μ=μ'+rψ∈Zp *,然后CSP计算 6.1) CSP first calculates the data block a linear combination of For blinding μ', CSP picks a random number Calculation: R=u r ∈ G 1 , ψ=h(R), μ=μ'+rψ∈Z p * , then CSP calculation

6.2)CSP返回证明P={σ,μ,R,{αl}l∈J,{βl}l∈J}给TPA;6.2) CSP returns proof P={σ,μ,R,{α l } l∈J ,{β l } l∈J } to TPA;

7)当TPA接收到CSP返回的证明P时,记录当前时间CT2,并进行如下验证:7) When TPA receives the proof P returned by CSP, it records the current time CT 2 and performs the following verification:

7.1)TPA计算:Δt=CT2-CT1,若Δt≤Δ,则TPA输出证明P合法并继续执行审计步骤7.2);否则,TPA输出证明P不合法并中止审计;7.1) TPA calculation: Δt=CT 2 -CT 1 , if Δt≤Δ, then the TPA output proves that P is legal and proceeds to audit step 7.2); otherwise, the TPA output proves that P is illegal and the audit is suspended;

7.2)TPA验证等式:7.2) TPA verification equation:

e(αl,g)=e(αl+1l),l∈L={0,1,…,j-1}e(α l ,g)=e(α l+1l ), l∈L={0,1,...,j-1}

e(αj,g)=e(Yjj)e(α j ,g)=e(Y jj )

如果上述等式均成立,则说明存储在CSP上的数据是完整的,TPA输出验证成功;否则,TPA输出验证失败。If the above equations are all true, it means that the data stored on the CSP is complete, and the TPA output verification is successful; otherwise, the TPA output verification fails.

在步骤4之后还包括数据可动态更新步骤,具体为:数据可动态更新为插入数据块;After step 4, a step of dynamically updating data is also included, specifically: the data can be dynamically updated to insert data blocks;

插入:现任用户Uj在数据块mi和mi+1之间插入一个新的数据块mi':Insertion: The current user U j inserts a new data block m i ' between data blocks m i and m i+1 :

a1用户Uj首先计算数据块mi'的虚拟索引然后计算数据块mi'的认证标签:其中idi'={name||ηi'||ξ′i'},ξi'=H2(mi'||ηi');a1 user U j first calculates the virtual index of data block m i ' Then calculate the authentication label of data block m i ': Where id i '={name||η i '||ξ' i '}, ξ i '=H 2 (m i '||η i ');

a2用户Uj发送插入请求和数据块mi'的验证信息{TagF,idi',mi',σi'(j),t(j)}给CSP,a2 User U j sends insert request and verification information {Tag F ,id i ',m i ',σ i ' (j) ,t (j) } of data block m i ' to CSP,

若CSP验证通过,则CSP根据数据块mi'的身份识别码idi'找到mi'的存储位置,存储数据块mi'及其认证标签同时用户Uj删除本地数据记录数据块mi',用户Uj及时更新文件F的数据块的块索引集合,记为 If the CSP verification passes, the CSP finds the storage location of m i ' according to the identification code id i ' of the data block m i ', and stores the data block m i ' and its authentication label At the same time, the user U j deletes the local data record data block m i ', and the user U j updates the block index set of the data block of the file F in time, recorded as

若CSP验证未通过,CSP向用户Uj提示未通过。If the CSP verification fails, the CSP notifies the user U j of the failure.

在步骤4之后还包括数据可动态更新步骤,具体为:数据可动态更新为删除数据块;After step 4, a step of dynamically updating data is also included, specifically: data can be dynamically updated to delete data blocks;

删除:现任用户Uj删除数据块miDelete: current user U j deletes data block m i :

用户Uj发送数据块mi删除请求和数据块mi的身份信息{TagF,idi,t(j)}给CSP,User U j sends data block m i deletion request and the identity information {Tag F ,id i ,t (j) } of data block m i to CSP,

若CSP验证通过,则CSP根据数据块mi的身份识别码idi找到mi的存储位置,删除数据块mi及其认证标签用户Uj及时更新文件F的数据块的块索引集合,记为 If the CSP verification passes, the CSP finds the storage location of m i according to the identification code id i of the data block m i , and deletes the data block m i and its authentication label The user U j updates the block index set of the data block of the file F in time, denoted as

若CSP验证未通过,CSP向用户Uj提示未通过。If the CSP verification fails, the CSP notifies the user U j of the failure.

在步骤4之后还包括数据可动态更新步骤,具体为:数据可动态更新为修改数据块;After step 4, a step of dynamically updating data is also included, specifically: the data can be dynamically updated to modify data blocks;

修改:现任用户Uj将数据块mi修改为数据块mi':Modification: The current user U j modifies data block m i to data block m i ':

c1用户Uj发送修改请求和数据块mi的身份信息{TagF,idi,t(j)}给CSP,c1 User U j sends modification request and identity information {Tag F ,id i ,t (j) } of data block m i to CSP,

若CSP验证通过,则CSP根据数据块mi的身份识别码idi找到mi的存储位置,将数据块mi返回给用户UjIf the CSP verification is passed, the CSP finds the storage location of m i according to the identification code id i of the data block m i , and returns the data block m i to the user U j ;

若CSP验证未通过,CSP向用户Uj提示未通过;If the CSP verification fails, the CSP notifies the user U j of the failure;

c2用户Uj对数据块mi进行修改,修改后的数据块记为mi',计算数据块mi'的认证标签:c2 The user U j modifies the data block m i , and the modified data block is denoted as m i ', and the authentication label of the data block m i ' is calculated:

其中idi'={name||ηi||ξ′i'},ξi'=H2(mi'||ηi); Where id i '={name||η i ||ξ' i '}, ξ i '=H 2 (m i '||η i );

c3用户Uj发送数据块mi'的验证信息给CSP,c3 User U j sends verification information of data block m i ' to CSP,

若CSP验证通过,则CSP根据数据块mi的身份识别码idi找到数据块mi,将数据块mi'及它的认证标签覆盖原数据块mi和它的认证标签同时用户Uj删除本地数据记录数据块mi';If the CSP verification passes, the CSP finds the data block m i according to the identification code id i of the data block m i , and sends the data block m i ' and its authentication label Overwrite the original data block m i and its authentication tag At the same time, the user U j deletes the local data record data block m i ';

若CSP验证未通过,CSP向用户Uj提示未通过。If the CSP verification fails, the CSP notifies the user U j of the failure.

本发明所具有的有益效果:The beneficial effects that the present invention has:

1、本发明将用户任期的哈希值与选取的随机数作乘积作为用户的私钥,用于计算数据块的签名认证标签,使CSP代替现任用户重签名时不受上任用户任期的影响,上任用户可以做到随时动态撤销。1. The present invention uses the product of the hash value of the user’s tenure and the selected random number as the user’s private key to calculate the signature authentication label of the data block, so that the CSP will not be affected by the previous user’s tenure when re-signing instead of the current user. The previous user can dynamically revoke at any time.

2、本发明在数据动态更新的阶段,引入了虚拟索引,它能够确保所有的数据块按正确的顺序排序,在动态更新的过程中,只有被更新数据块的虚拟索引需要改变,其余数据块的虚拟索引及其认证标签均不变,提高了动态更新的效率。2. The present invention introduces a virtual index in the stage of data dynamic update, which can ensure that all data blocks are sorted in the correct order. In the process of dynamic update, only the virtual index of the updated data block needs to be changed, and the rest of the data blocks Both the virtual index and its authentication label remain unchanged, which improves the efficiency of dynamic update.

3、本发明重签名密钥的计算方式防止了已撤销用户与CSP的合谋攻击,使现任用户的私钥不被泄露;证据μ'的盲化采用了随机掩码技术和抗已撤销用户与TPA的合谋攻击,使TPA无法获得用户的数据隐私信息。3. The calculation method of the re-signature key of the present invention prevents the collusion attack between the revoked user and the CSP, so that the private key of the current user is not leaked; the blinding of the evidence μ' adopts random masking technology and anti The collusion attack of TPA makes it impossible for TPA to obtain the user's data privacy information.

4、本发明实现的六个安全高效的目标:4. Six safe and efficient goals realized by the present invention:

1)用户动态可撤销:每一任用户都可以随时安全高效的动态撤销,且已撤销用户不会对云存储系统中TPA、CSP、现任用户增加负担。1) User dynamic revocation: Every user can be dynamically revoked safely and efficiently at any time, and the revoked user will not increase the burden on TPA, CSP, and current users in the cloud storage system.

2)存储数据动态更新:每一任用户都可以对存储在CSP上的数据进行动态更新(插入、删除和修改),且对整个云存储系统造成的计算和通信开销很小。2) Dynamic update of stored data: Every user can dynamically update (insert, delete, and modify) the data stored on the CSP, and the calculation and communication overhead caused by the entire cloud storage system is very small.

3.公开审计:TPA可以代表用户验证存储在云端数据的正确性,且不会对用户增加额外的负担。3. Public audit: TPA can verify the correctness of data stored in the cloud on behalf of users without adding additional burdens to users.

4)存储正确性:当且仅当CSP完整的保存了用户的真实数据,CSP生成的审计证明P才能成功通过TPA的审计。4) Storage correctness: If and only if the CSP completely saves the user's real data, the audit proof P generated by the CSP can successfully pass the TPA audit.

5)隐私保护:i)抗已撤销用户与CSP合谋攻击,使现任用户的私钥不被泄露;ii)在审计过程中,抗已撤销用户与TPA合谋攻击并采用随机掩饰码技术盲化证据μ',使得TPA不能获得用户的任何数据信息,保护了数据隐私。5) Privacy protection: i) Anti-revoked user and CSP collusion attack, so that the private key of the current user is not leaked; ii) During the audit process, anti-revoked user and TPA collusion attack and use random masking code technology to blind the evidence μ', so that TPA cannot obtain any data information of users, which protects data privacy.

6)轻量级:在代理重签名阶段,CSP代理用户进行重签名;在审计阶段,TPA代替用户进行数据完整性的检验,减轻了用户的计算开销和云存储系统的通信开销,用户可为计算能力受限的移动终端。同时CSP、TPA拥有远远高于普通用户强大的计算能力,所以整个云存储系统的运行耗时将会有效降低。6) Lightweight: In the proxy re-signature stage, CSP acts as a proxy for the user to re-sign; in the audit stage, TPA replaces the user to check the integrity of the data, which reduces the user's computing overhead and the communication overhead of the cloud storage system. Mobile terminals with limited computing power. At the same time, CSP and TPA have much stronger computing power than ordinary users, so the running time of the entire cloud storage system will be effectively reduced.

附图说明Description of drawings

图1为本发明的方法的系统模型图;Fig. 1 is a system model diagram of the method of the present invention;

图2为本发明轻量级用户可动态撤销及数据可动态更新的云审计方法的流程图;Fig. 2 is the flow chart of the cloud auditing method that lightweight users can dynamically revoke and data can be dynamically updated in the present invention;

图3为本发明介绍传统方法中数据可动态更新示意图;Fig. 3 is that the present invention introduces the schematic diagram that data can be updated dynamically in the traditional method;

图4为本发明在云数据中插入数据块的过程示意图;Fig. 4 is a schematic diagram of the process of inserting data blocks in cloud data according to the present invention;

图5为本发明在云数据中删除数据块的过程示意图;Fig. 5 is a schematic diagram of the process of deleting data blocks in cloud data according to the present invention;

图6为本发明在云数据中修改数据块的过程示意图;Fig. 6 is a schematic diagram of the process of modifying data blocks in cloud data according to the present invention;

图7为本发明实施例6中该公司市场部经理可动态撤销流程图。Fig. 7 is a flow chart of the dynamic revocation of the company's marketing manager in Embodiment 6 of the present invention.

具体实施方式detailed description

本发明的系统模型由三个部分构成,如图1所示:用户(Uj):拥有大量的数据需要存储到云上;云服务提供商(CSP):提供数据存储服务、大量的存储空间和计算资源;第三方审计者(TPA):拥有用户Uj没有的专业技能和计算能力,能够代表用户Uj对存储在云端的数据进行完整性检验。用户Uj委托CSP对大量的数据进行存储和维护,他们之间根据实际需要进行动态交互。因为用户Uj并没有保存数据副本,所以确保存储在云端数据的完整性是至关重要的。为了节约计算资源和减轻用户Uj的负担,用户Uj委托TPA去验证他们外包数据的完整性,同时,在审计过程中,要防止数据隐私被TPA窃取。The system model of the present invention consists of three parts, as shown in Figure 1: user (U j ): has a large amount of data that needs to be stored on the cloud; cloud service provider (CSP): provides data storage services, a large amount of storage space and computing resources; third-party auditor (TPA): has professional skills and computing power that user U j does not have, and can perform integrity checks on the data stored in the cloud on behalf of user U j . User U j entrusts CSP to store and maintain a large amount of data, and they interact dynamically according to actual needs. Since user U j does not keep a copy of the data, it is crucial to ensure the integrity of the data stored in the cloud. In order to save computing resources and reduce the burden on user U j , user U j entrusts TPA to verify the integrity of their outsourced data. At the same time, during the audit process, it is necessary to prevent data privacy from being stolen by TPA.

实施例1:在某一时段内,只有一个用户对数据进行管理,当该用户的任期结束时,更换新用户对数据进行继续管理(个体用户的动态撤销可视作同一用户不同时期更改公私钥对)。按照时间先后顺序将不同的用户依次记为U0,U1,…,Us,相应任期依次记为T0,T1,…,Ts。最初,初始用户U0对文件F进行分块,并利用自己的私钥计算所有数据块的认证标签(它表示初始用户U0对数据块mi的认证标签)。当U0任期结束后,U1将会取代U0继续对数据进行管理,依次类推,当Uj-1被Uj取代后,Uj将计算重签名密钥kj-1→j,并将其发送给CSP,由CSP代替新上任的用户Uj实施代理重签名。在每一位用户的任期内,他都可以对存储在云端的数据进行实时动态更新(插入、删除、修改等操作)。当用户需要验证存储在云上的数据完整性时,Uj发送request给TPA,TPA将会代表Uj对存储在CSP上相应的数据进行完整性检验。Example 1: In a certain period of time, only one user manages the data. When the user's term of office ends, a new user is replaced to continue to manage the data (the dynamic revocation of an individual user can be regarded as the same user changing the public and private keys in different periods right). According to the chronological order, different users are recorded as U 0 , U 1 ,…,U s in turn, and the corresponding terms are recorded as T 0 , T 1 ,…,T s in turn. Initially, the initial user U 0 blocks the file F and uses its own private key to calculate the authentication labels of all data blocks (It represents the authentication label of the initial user U 0 to the data block mi ). When the term of U 0 ends, U 1 will replace U 0 to continue to manage the data, and so on. When U j-1 is replaced by U j , U j will calculate the re-signature key k j-1→j , and Send it to the CSP, and the CSP will implement proxy re-signature instead of the newly appointed user U j . During each user's tenure, he can perform real-time dynamic updates (insert, delete, modify, etc.) on the data stored in the cloud. When the user needs to verify the integrity of the data stored on the cloud, U j sends a request to TPA, and TPA will perform an integrity check on the corresponding data stored on the CSP on behalf of U j .

实施例2:本发明涉及三方:云服务提供商CSP,第三方审计TPA,用户U(负责管理公司数据并将其上传至CSP),考虑到公司的数据管理者U不可能在某一职位长期任职,由于升职或辞职等原因随时可能会存在人事变动,本发明用U0,U1,…,Us来表示时间顺序上动态更换的用户,T0,T1,…,Ts表示每任用户的任期。Embodiment 2: The present invention involves three parties: cloud service provider CSP, third-party audit TPA, user U (responsible for managing company data and uploading it to CSP), considering that the company's data manager U is unlikely to be in a certain position for a long time There may be personnel changes at any time due to promotion or resignation. In this invention, U 0 , U 1 ,..., U s are used to represent users who are dynamically changed in time sequence, and T 0 , T 1 ,..., T s are used to represent The tenure of each user.

本发明所提供的轻量级用户动态可撤销及存储数据几步动态更新的公开云审计方法,具体包括以下步骤:The open cloud auditing method provided by the present invention can be dynamically revoked by lightweight users and dynamically updated in several steps, and specifically includes the following steps:

1)初始化:输入安全参数λ,同时赋予δ一个值,系统输出公开参数{G1,G2,p,g,e,H1,H2,h,u,ρ},其中G1、G2是素数阶p的循环乘群,g为群G1的生成元,e为G1×G1→G2上的双线性对,在安全Hash函数族中随机选择三个安全的哈希函数:H1:{0,1}*→G1,H2:{0,1}*→Zpu∈G1为全局常量,ρ=2δ,δ∈N+由存储文件的内容类型及用户数量决定;1) Initialization: Input the security parameter λ, assign a value to δ at the same time, and the system outputs public parameters {G 1 ,G 2 ,p,g,e,H 1 ,H 2 ,h,u,ρ}, where G 1 , G 2 is the cyclic multiplication group of prime order p, g is the generator of group G 1 , e is the bilinear pairing on G 1 ×G 1 →G 2 , and randomly select three safe hashes in the safe Hash function family Function: H 1 : {0,1} * → G 1 , H 2 : {0,1} * → Z p , u∈G 1 is a global constant, ρ=2 δ , δ∈N + is determined by the content type of the stored file and the number of users;

系统中每一个用户随机选取一个数计算该用户的私钥Xj=skj=xjh(Tj)、公钥及任期认证标签并公开公钥pkjevery user in the system pick a number at random Calculate the user's private key X j =sk j =x j h(T j ), public key and tenure certification label And public key pk j ;

用U0,U1,…,Uj来表示时间顺序上动态更换的用户,T0,T1,…,Tj表示每任用户的任期;Use U 0 , U 1 ,…,U j to represent users that are dynamically replaced in time order, and T 0 , T 1 ,…,T j to represent the tenure of each user;

2)初始用户与CSP交互:2) The initial user interacts with the CSP:

2.1)初始用户生成签名:初始用户U0对文件F进行分块,F={m1,m2,…,mn},每一个数据块mi∈Zp,其中i∈I={1,2,…,n},每一个文件F有一个文件标签TagF,文件标签TagF中包含文件名字或文件其他属性特征;2.1) The initial user generates a signature: the initial user U 0 blocks the file F, F={m 1 ,m 2 ,…,m n }, each data block m i ∈ Z p , where i∈I={1 ,2,...,n}, each file F has a file tag Tag F , and the file tag Tag F contains the file name or other attribute characteristics of the file;

初始用户U0输入其公私密钥对(X0,Y0),初始用户U0计算数据块mi的认证标签其中idi={name||ηi||ξi}为数据块mi的身份识别码,name为文件F的文件名,ηi=i·ρ为数据块mi的虚拟索引,数据块mi与虚拟索引ηi按照ξi=H2(mi||ηi)的方式对应;为认证元集合,认证元集合为所有认证标签的集合;The initial user U 0 inputs its public-private key pair (X 0 , Y 0 ), and the initial user U 0 calculates the authentication label of the data block m i Wherein id i ={name||η i ||ξ i } is the identification code of data block m i , name is the file name of file F, η i =i·ρ is the virtual index of data block m i , data block m i corresponds to the virtual index η i in the manner of ξ i =H 2 (m i ||η i ); is the set of authentication elements, and the set of authentication elements is the set of all authentication labels;

2.2)初始用户U0向CSP发送认证存储请求:2.2) The initial user U 0 sends an authentication storage request to the CSP:

初始用户U0发送{F,TagF(0),t(0)}给CSP,其中{TagF(0),t(0)}为认证消息,CSP验证认证消息:The initial user U 0 sends {F,Tag F(0) ,t (0) } to the CSP, where {Tag F(0) ,t (0) } is an authentication message, and the CSP verifies the authentication message:

若CSP验证通过,则CSP存储文件F,同时初始用户U0删除本地记录文件F;If the CSP verification is passed, the CSP stores the file F, and the initial user U 0 deletes the local record file F;

若CSP验证未通过,CSP向初始用户U0提示未通过;If the CSP verification fails, the CSP notifies the initial user U 0 of the failure;

3)当用户Uj-1任期已满,新用户Uj取代用户Uj-1时,新用户Uj进行重签名密钥的操作,具体为:3) When the term of user U j-1 expires and the new user U j replaces user U j-1 , the new user U j performs the operation of re-signing the key, specifically:

用户Uj计算重签名密钥kj-1→j并将其发送给CSP;User U j calculates the re-signature key k j-1→j and sends it to the CSP;

4)CSP收到新上任用户Uj的重签名密钥kj-1→j后,计算数据块mi的第j层代理重签名,为使后续计算表示简洁,令:4) After the CSP receives the re-signature key k j-1→j of the newly appointed user U j , it calculates the j-level proxy re-signature of the data block m i . In order to make the subsequent calculation concise, let:

4.1)计算第j-1层到第j层的重签名标签 4.1) Calculate the re-signature label from layer j-1 to layer j

4.2)CSP对用户(U0,U1,…,Uj-1)的公钥和重签名密钥进行处理:4.2) CSP processes the public key and re-signature key of users (U 0 , U 1 , ..., U j-1 ):

4.3)CSP将作为对数据块mi的第j层代理重签名;4.3) CSP will Re-sign as a layer- j proxy for data block mi;

5)现任用户Uj验证存储在CSP上数据的完整性时,进行以下操作:5) When the current user U j verifies the integrity of the data stored on the CSP, the following operations are performed:

5.1)现任用户Uj发送一个验证请求request、通信时间上限Δ和数据块的块索引集合I给TPA;5.1) The current user U j sends a verification request request, the communication time upper limit Δ and the block index set I of the data block to TPA;

5.2)TPA收到用户Uj发送的信息后,从块索引集合I中随机选取c个块索引并对每一个块索引选取一个随机数vi∈Zp *,vi的比特长度应小于p,组成挑战请求TPA将挑战请求chal发送给CSP,并记录当前时间CT15.2) After receiving the information sent by user U j , TPA randomly selects c block indexes from block index set I and index each block Choose a random number v i ∈ Z p * , the bit length of v i should be less than p, and form a challenge request TPA sends the challenge request chal to CSP, and records the current time CT 1 ;

6)当CSP接收到来自TPA的挑战请求chal后,生成证明,具体如下:6) When CSP receives the challenge request chal from TPA, it generates a certificate, as follows:

6.1)CSP首先计算数据块的一个线性组合为盲化μ',CSP选取一个随机数计算:R=ur∈G1,ψ=h(R),μ=μ'+rψ∈Zp *,然后CSP计算 6.1) CSP first calculates the data block a linear combination of For blinding μ', CSP picks a random number Calculation: R=u r ∈ G 1 , ψ=h(R), μ=μ'+rψ∈Z p * , then CSP calculation

6.2)CSP返回证明P={σ,μ,R,{αl}l∈J,{βl}l∈J}给TPA;6.2) CSP returns proof P={σ,μ,R,{α l } l∈J ,{β l } l∈J } to TPA;

7)当TPA接收到CSP返回的证明P时,记录当前时间CT2,并进行如下验证:7) When TPA receives the proof P returned by CSP, it records the current time CT 2 and performs the following verification:

7.1)TPA计算:Δt=CT2-CT1,若Δt≤Δ,则TPA输出证明P合法并继续执行审计步骤7.2);否则,TPA输出证明P不合法并中止审计;7.1) TPA calculation: Δt=CT 2 -CT 1 , if Δt≤Δ, then the TPA output proves that P is legal and proceeds to audit step 7.2); otherwise, the TPA output proves that P is illegal and the audit is suspended;

7.2)TPA验证等式:7.2) TPA verification equation:

e(αl,g)=e(αl+1l),l∈L={0,1,…,j-1}e(α l ,g)=e(α l+1l ), l∈L={0,1,...,j-1}

e(αj,g)=e(Yjj)e(α j ,g)=e(Y jj )

如果上述等式均成立,则说明存储在CSP上的数据是完整的,TPA输出验证成功;否则,TPA输出验证失败。If the above equations are all true, it means that the data stored on the CSP is complete, and the TPA output verification is successful; otherwise, the TPA output verification fails.

参数定义说明:Parameter definition description:

G1、G2是阶为素数p的循环乘群,g是群G1的生成元,双线性映射e:G1×G1→G2,满足如下的性质:G 1 and G 2 are cyclic multiplication groups whose order is a prime number p, g is the generator of the group G 1 , and the bilinear map e: G 1 ×G 1 →G 2 satisfies the following properties:

双线性性:给定一个元素u∈G1,v∈G1,对任意的a,b∈Zp有e(ua,vb)=e(u,v)abBilinearity: Given an element u∈G 1 , v∈G 1 , for any a,b∈Z p , e(u a ,v b )=e(u,v) ab ;

非退化性:e(g,g)≠1;Non-degenerate: e(g,g)≠1;

可计算性:存在有效的算法,对任何合法的输入都能有效地进行计算e;Computability: There is an effective algorithm that can efficiently calculate e for any legal input;

可交换性:e(u1·u2,v)=e(u1,v)·e(u2,v),其中u1,u2,v∈G1Exchangeability: e(u 1 ·u 2 ,v)=e(u 1 ,v)·e(u 2 ,v), where u 1 ,u 2 ,v∈G 1 .

实施例3:在传统的方法中,数据块的认证标签中包含了数据块的真实索引,云端数据的动态更新效率不高,如图3所示(左(a)为插入数据块,右图(b)为删除数据块),如果插入或删除一个数据块,则该数据块之后所有数据块的索引都会发生变化,即使这些数据块的内容并没有改变,用户依然必须对改变索引的数据块重新计算其认证标签。为了减轻系统的通信开销、计算开销和用户负担,本发明引入了虚拟索引,它能够确保所有的数据块是按正确顺序进行排序,例如:如果ηi<ηj,则数据块mj排在数据块mi的后面。定义数据块mi最初的虚拟索引为ηi=i·ρ,ρ=2δ(δ∈N+),ρ表示步长,其中δ的选取与文件数据类型、内容及用户的数量有关。如果一个新的数据块mi'被插入(介于数据块mi和mi+1之间),则它的虚拟索引的计算方式为如果一个数据块mi被删除,则直接将其虚拟索引一并删除,其余数据块的虚拟索引保持不变;如果一个数据块mi被修改为mi',则mi'的虚拟索引依然为原始数据块mi的虚拟索引。Embodiment 3: In the traditional method, the authentication label of the data block contains the real index of the data block, and the dynamic update efficiency of the cloud data is not high, as shown in Figure 3 (the left (a) is the inserted data block, and the right figure (b) is to delete a data block), if a data block is inserted or deleted, the index of all data blocks after the data block will change, even if the content of these data blocks has not changed, the user still has to change the index of the data block Recalculate its certification label. In order to reduce the communication overhead, computing overhead and user burden of the system, the present invention introduces a virtual index, which can ensure that all data blocks are sorted in the correct order, for example: if η ij , then data block m j is sorted in Behind the data block m i . Define the initial virtual index of the data block m i as η i =i·ρ, ρ=2 δ (δ∈N + ), ρ represents the step size, where the selection of δ is related to the file data type, content and the number of users. If a new data block m i ' is inserted (between data blocks m i and m i+1 ), its virtual index is calculated as If a data block m i is deleted, its virtual index will be deleted directly, and the virtual indexes of other data blocks remain unchanged; if a data block m i is changed to m i ', the virtual index of m i ' remains is the virtual index of the original data block mi .

在步骤4之后还包括存储数据可动态更新步骤,具体为:After step 4, a step of dynamically updating the stored data is also included, specifically:

插入:现任用户Uj在数据块mi和mi+1之间插入一个新的数据块mi'(如图4):Insertion: The current user U j inserts a new data block m i ' between data blocks m i and m i+1 (as shown in Figure 4):

a1用户Uj首先计算数据块mi'的虚拟索引然后计算数据块mi'的认证标签:其中idi'={name||ηi'||ξ′i'},ξi'=H2(mi'||ηi');a1 user U j first calculates the virtual index of data block m i ' Then calculate the authentication label of data block m i ': Where id i '={name||η i '||ξ' i '}, ξ i '=H 2 (m i '||η i ');

a2用户Uj发送插入请求和数据块mi'的验证信息给CSP,a2 User U j sends insert request and verification information of data block m i ' to CSP,

若CSP验证通过,则CSP根据数据块mi'的身份识别码idi'找到mi'的存储位置,存储数据块mi'及其认证标签同时用户Uj删除本地数据记录数据块mi',用户Uj及时更新文件F的数据块的块索引集合,记为 If the CSP verification passes, the CSP finds the storage location of m i ' according to the identification code id i ' of the data block m i ', and stores the data block m i ' and its authentication label At the same time, the user U j deletes the local data record data block m i ', and the user U j updates the block index set of the data block of the file F in time, recorded as

若CSP验证未通过,CSP向用户Uj提示未通过。If the CSP verification fails, the CSP notifies the user U j of the failure.

实施例4:在步骤4之后还包括数据可动态更新步骤,具体为:数据可动态更新为删除数据块;Embodiment 4: After step 4, a step of dynamically updating data is also included, specifically: the data can be dynamically updated to delete data blocks;

删除:现任用户Uj删除数据块mi(如图5):Delete: current user U j deletes data block m i (as shown in Figure 5):

用户Uj发送数据块mi删除请求和数据块mi的身份信息{TagF,idi,t(j)}给CSP,User U j sends data block m i deletion request and the identity information {Tag F ,id i ,t (j) } of data block m i to CSP,

若CSP验证通过,则CSP根据数据块mi的身份识别码idi找到mi的存储位置,删除数据块mi及其认证标签用户Uj及时更新文件F的数据块的块索引集合,记为 If the CSP verification passes, the CSP finds the storage location of m i according to the identification code id i of the data block m i , and deletes the data block m i and its authentication label The user U j updates the block index set of the data block of the file F in time, denoted as

若CSP验证未通过,CSP向用户Uj提示未通过。If the CSP verification fails, the CSP notifies the user U j of the failure.

实施例5:在步骤4之后还包括数据可动态更新步骤,具体为:数据可动态更新为删除数据块;Embodiment 5: After step 4, a step of dynamically updating data is also included, specifically: data can be dynamically updated to delete data blocks;

修改:现任用户Uj将数据块mi修改为数据块mi'(如图6):Modification: The current user U j modifies the data block m i to data block m i ' (as shown in Figure 6):

c1用户Uj发送修改请求和数据块mi的身份信息{TagF,idi,t(j)}给CSP,c1 User U j sends modification request and identity information {Tag F ,id i ,t (j) } of data block m i to CSP,

若CSP验证通过,则CSP根据数据块mi的身份识别码idi找到mi的存储位置,将数据块mi返回给用户UjIf the CSP verification is passed, the CSP finds the storage location of m i according to the identification code id i of the data block m i , and returns the data block m i to the user U j ;

若CSP验证未通过,CSP向用户Uj提示未通过;If the CSP verification fails, the CSP notifies the user U j of the failure;

c2用户Uj对数据块mi进行修改,修改后的数据块记为mi',计算数据块mi'的认证标签:c2 The user U j modifies the data block m i , and the modified data block is denoted as m i ', and the authentication label of the data block m i ' is calculated:

其中idi'={name||ηi||ξ′i'},ξi'=H2(mi'||ηi); Where id i '={name||η i ||ξ' i '}, ξ i '=H 2 (m i '||η i );

c3用户Uj发送数据块mi'的验证信息给CSP,c3 User U j sends verification information of data block m i ' to CSP,

若CSP验证通过,则CSP根据数据块mi的身份识别码idi找到数据块mi,将数据块mi'及它的认证标签覆盖原数据块mi和它的认证标签同时用户Uj删除本地数据记录数据块mi';If the CSP verification passes, the CSP finds the data block m i according to the identification code id i of the data block m i , and sends the data block m i ' and its authentication label Overwrite the original data block m i and its authentication tag At the same time, the user U j deletes the local data record data block m i ';

若CSP验证未通过,CSP向用户Uj提示未通过。If the CSP verification fails, the CSP notifies the user U j of the failure.

实施例6:Embodiment 6:

某公司聘用A作为市场部的首任主管,任期为3年,A在负责市场部日常工作的同时,还负责该部门相关数据的管理,具体管理如下:A company employs A as the first director of the marketing department for a term of 3 years. While A is responsible for the daily work of the marketing department, he is also responsible for the management of relevant data of the department. The specific management is as follows:

收集、整理及存储市场部所有的数据至与公司合作的云服务器CSP上;Collect, organize and store all the data of the marketing department on the cloud server CSP that cooperates with the company;

定期验证(时间间隔为半年)存储在云服务器CSP上市场部数据的完整性,也可根据公司实际需要随时进行数据完整性验证;Regularly verify (the time interval is half a year) the integrity of the marketing department data stored on the cloud server CSP, and can also perform data integrity verification at any time according to the actual needs of the company;

实时对存储在云服务器CSP的数据进行动态更新(插入、删除、修改);Dynamically update (insert, delete, modify) the data stored in the cloud server CSP in real time;

市场部主管对市场部所有数据负责。The director of the marketing department is responsible for all the data of the marketing department.

A上任后,在符合公司相关规章制度的条件下,根据云服务系统中的参数生成自己的公私密钥对,并公开公钥。A认真整理市场部门的大量数据,并以文件的形式命名。在上传至云服务器CSP前,A对文件进行合理的分块,利用自己的私钥,生成所有数据块的认证标签、认证元集合、A任期的认证标签,随后将文件标签、所有数据块及认证元集合、A任期的认证标签上传至云服务器CSP存储,此时A删除本地数据记录以节约本地资源。在A将数据存储到云服务器CSP的半年后,A为了确认云服务器CSP是否按照公司的要求存储市场部的数据,与公司合作的第三方审计者TPA验证云服务器CSP中数据的完整性以防止云服务器中数据的丢失或篡改。具体操作如下:After taking office, A will generate his own public-private key pair according to the parameters in the cloud service system under the condition of complying with the company's relevant rules and regulations, and disclose the public key. A carefully organizes a large amount of data from the marketing department and names them in the form of files. Before uploading to the cloud server CSP, A reasonably divides the file into blocks, uses his own private key to generate the authentication tags of all data blocks, the authentication element set, and the authentication tags of A’s term, and then uploads the file tags, all data blocks and The authentication meta set and the authentication label of A's tenure are uploaded to the cloud server CSP storage. At this time, A deletes the local data records to save local resources. Half a year after A stores the data in the cloud server CSP, in order to confirm whether the cloud server CSP stores the data of the marketing department according to the company's requirements, the third-party auditor TPA, which cooperates with the company, verifies the integrity of the data in the cloud server CSP to prevent Loss or tampering of data in cloud servers. The specific operation is as follows:

A发送验证请求、通信时间上限给第三方审计者TPA;A sends a verification request and a communication time limit to the third-party auditor TPA;

第三方审计者TPA发送挑战请求给云服务器CSP,并记录发送挑战请求的时间CT1;The third-party auditor TPA sends a challenge request to the cloud server CSP, and records the time CT1 when sending the challenge request;

云服务器CSP生成证明P并返回给第三方审计者TPA;The cloud server CSP generates a proof P and returns it to the third-party auditor TPA;

第三方审计者TPA记录收到证明P的时间CT2,做差后与通信时间上限比较,经比较,时间差小于通信时间上限;随后,第三方审计者TPA对云服务器CSP返回的证明P进行了验证;The third-party auditor TPA records the time CT2 of receiving the certificate P, and compares it with the upper limit of the communication time after making the difference. After comparison, the time difference is less than the upper limit of the communication time; then, the third-party auditor TPA verifies the certificate P returned by the cloud server CSP ;

第三方审计者TPA返回给A审计结果:云服务器CSP完整存储了市场部的数据。The third-party auditor TPA returns to A the audit result: the cloud server CSP completely stores the data of the marketing department.

随着市场部数据的逐渐更新积累,有些新的数据块需要插入原文件以使原文件更完善,有些数据块不再有它存在的意义,需要删除以节约存储资源,有些数据块由于前期统计失误需要修改,A在发现这些问题后,对存储在云服务器CSP上的数据实时进行了可动态更新。具体操作如下:With the gradual update and accumulation of data in the marketing department, some new data blocks need to be inserted into the original file to make the original file more complete, some data blocks no longer have its meaning of existence and need to be deleted to save storage resources, some data blocks are The mistakes need to be corrected. After discovering these problems, A can dynamically update the data stored on the cloud server CSP in real time. The specific operation is as follows:

插入:A计算新数据块的虚拟索引、身份识别码、认证标签后,发送以下信息:插入请求、文件标签、新数据块及其认证标签、A的任期标签、身份识别码给云服务器CSP,云服务器CSP根据身份识别码存储新数据块及其认证标签。Insertion: After A calculates the virtual index, identification code, and authentication label of the new data block, it sends the following information: insert request, file label, new data block and its authentication label, A's tenure label, and identification code to the cloud server CSP, The cloud server CSP stores the new data block and its authentication label according to the identification code.

删除:A发送以下信息:删除请求、文件标签、A的任期标签、需要删除数据块的身份识别码给云服务器CSP,云服务器CSP根据身份识别码删除数据块;Deletion: A sends the following information: deletion request, file label, A's tenure label, and the identification code of the data block to be deleted to the cloud server CSP, and the cloud server CSP deletes the data block according to the identification code;

修改:A发送以下信息:修改请求、文件标签、A的任期标签、需要修改数据块的身份识别码给云服务器CSP,云服务器CSP根据身份识别码找到数据块,将其返回给A。A对接收到的数据块进行修改后,发送以下信息:文件标签、A的任期标签、修改后的数据块及其认证标签、身份识别码给云服务器CSP。云服务器CSP将修改后的数据块及其认证标签覆盖原数据块及其认证标签。A删除本地数据记录以节约存储资源。Modification: A sends the following information: modification request, file tag, A's tenure tag, and the identification code of the data block to be modified to the cloud server CSP. The cloud server CSP finds the data block according to the identification code and returns it to A. After modifying the received data block, A sends the following information: file tag, A's tenure tag, the modified data block and its authentication tag, and identification code to the cloud server CSP. The cloud server CSP overwrites the original data block and its authentication label with the modified data block and its authentication label. A deletes local data records to save storage resources.

A由于踏实努力,表现出色,三年任期之后,荣升为该公司的总经理,同时,公司调任B担任市场部的主管,任期为3年。Due to his hard work and outstanding performance, A was promoted to the general manager of the company after a three-year term. At the same time, the company transferred B to be the director of the marketing department for a three-year term.

根据公司规定,相关部门的数据管理只由该部门主管管理,其他已撤销的主管不再拥有管理权,每一任主管对自己任期内管理的数据负责。对B上任后,在符合公司相关规章制度的条件下,根据云服务系统中的参数生成自己的公私密钥对,并公开公钥。首先,B利用自己的私钥与A的公钥计算重签名密钥并发送给云服务器CSP,云服务器CSP代替B对A签过名的数据进行重签名;对于需要存储的新数据,B以文件的形式命名。在上传至云服务器CSP前,B对文件进行合理的分块,利用自己的私钥,生成所有数据块的认证标签、B周期的认证标签,随后将文件标签、所有数据块及认证元集合、B任期的认证标签上传至云服务器CSP存储,此时B删除本地数据记录以节约本地资源。在B任职期间,B同样随时可以对存储在云服务器CSP中的数据进行可动态更新(插入、删除、修改)和验证云服务器CSP中数据的完整性,具体操作与A相同。According to the company's regulations, the data management of relevant departments is only managed by the head of the department, and other revoked managers no longer have management rights. Each manager is responsible for the data managed during his tenure. After taking office, B will generate his own public-private key pair according to the parameters in the cloud service system under the condition of complying with the company's relevant rules and regulations, and disclose the public key. First, B uses its own private key and A's public key to calculate the re-signature key and send it to the cloud server CSP, and the cloud server CSP replaces B to re-sign the data signed by A; for new data that needs to be stored, B uses The format of the file is named. Before uploading to the cloud server CSP, B reasonably divides the file into blocks, uses its own private key to generate authentication tags for all data blocks, and B cycle authentication tags, and then collects the file tags, all data blocks and authentication elements, The certification label of B's term is uploaded to the cloud server CSP storage, and at this time B deletes the local data records to save local resources. During B's tenure, B can also dynamically update (insert, delete, modify) the data stored in the cloud server CSP and verify the integrity of the data in the cloud server CSP at any time. The specific operation is the same as that of A.

B任职两年后,B由于个人原因向公司提出了辞职,公司聘用C担任该公司市场部的主管,任期为3年。After B took office for two years, B resigned to the company due to personal reasons, and the company hired C as the director of the company's marketing department for a term of 3 years.

C上任后,在符合公司相关规章制度的条件下,根据云服务系统中的参数生成自己的公私密钥对,并公开公钥。首先,C利用自己的私钥与B的公钥计算重签名密钥并发送给云服务器CSP,云服务器CSP代替C对CSP上已经签过名数据块进行重签名;对于需要存储的新数据,C以文件的形式命名。在上传至云服务器CSP前,C对文件进行合理的分块,利用自己的私钥,生成所有数据块的认证标签、C周期的认证标签,随后将文件标签、所有数据块及认证元集合、C任期的认证标签上传至云服务器CSP存储,此时C删除本地数据记录以节约本地资源。在C任职期间,C同样随时可以对存储在云服务器CSP中的数据进行可动态更新(插入、删除、修改)和验证云服务器CSP中数据的完整性,具体操作与A相同,如图7为该公司市场部经理可动态撤销流程图。After taking office, C will generate his own public-private key pair according to the parameters in the cloud service system and disclose the public key under the condition of complying with the company's relevant rules and regulations. First, C uses its own private key and B's public key to calculate the re-signature key and send it to the cloud server CSP, and the cloud server CSP replaces C to re-sign the signed data block on the CSP; for new data that needs to be stored, C is named in the form of a file. Before uploading to the cloud server CSP, C divides the file into reasonable blocks, uses its own private key to generate authentication tags for all data blocks, and C cycle authentication tags, and then collects the file tags, all data blocks and authentication elements, The certification label of C's term is uploaded to the cloud server CSP for storage, and at this time, C deletes the local data records to save local resources. During C's tenure, C can also dynamically update (insert, delete, modify) the data stored in the cloud server CSP and verify the integrity of the data in the cloud server CSP at any time. The specific operation is the same as that of A, as shown in Figure 7. The marketing manager of the company can dynamically revoke the flowchart.

Claims (4)

1. the cloud auditing method that lightweight user Dynamic Revocable and data can dynamically update, comprises the following steps:
1) initialize:Security parameter λ is inputted, while assigns mono- value of δ, the open parameter { G of system output1,G2,p,g,e,H1,H2, H, u, ρ }, wherein G1、G2It is that Prime Orders p circulation multiplies group, g is group G1Generation member, e G1×G1→G2On Bilinear map, The hash function of three safety is randomly choosed in safe Hash families of functions:H1:{0,1}*→G1, H2:{0,1}*→Zp,u∈G1For global constant, ρ=2δ, δ ∈ N+Determined by the content type and number of users of storage file;
Each user in systemRandomly select a numberCalculate the private key X of the userj =skj=xjh(Tj), public keyAnd term of office authenticating tagAnd open public key pkj
Use U0,U1,…,UjTo represent the user dynamically changed in time sequencing, T0,T1,…,TjThe term of office at family is often appointed in expression;
2) initial user interacts with CSP:
2.1) initial user generation signature:Initial user U0Piecemeal, F={ m are carried out to file F1,m2,…,mn, each data Block mi∈Zp, wherein i ∈ I={ 1,2 ..., n }, each file F have a file label TagF, file label TagFIn include File name or file other attributive character;
Initial user U0Its public and private key is inputted to (X0,Y0), initial user U0Calculate data block miAuthenticating tag Wherein idi=name | | ηi||ξiIt is data block miIdentity code, name be file F text Part name, ηi=i ρ are data block miVirtual index, data block miWith virtual index ηiAccording to ξi=H2(mi||ηi) mode pair Should;Gather for certification member, certification metaset is combined into the set of all authenticating tags;
2.2) initial user U0Certification storage request is sent to CSP:
Initial user U0Send { F, TagF(0),t(0)CSP is given, wherein { TagF(0),t(0)It is certification message, CSP is verified Certification message:
If CSP is verified, CSP storage file F, while initial user U0Delete local record file F;
If CSP checkings are not by, CSP to initial user U0Prompting does not pass through;
3) as user Uj-1Serve one's full term in office, new user UjSubstitute user Uj-1When, new user UjCarry out the operation of weight signature key, tool Body is:
User UjCalculate weight signature key kj-1→jAnd send it to CSP;
<mrow> <msub> <mi>k</mi> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> <mo>&amp;RightArrow;</mo> <mi>j</mi> </mrow> </msub> <mo>=</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>Y</mi> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mfrac> <mn>1</mn> <msub> <mi>X</mi> <mi>j</mi> </msub> </mfrac> </msup> <mo>=</mo> <msup> <mi>g</mi> <mfrac> <msub> <mi>X</mi> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <msub> <mi>X</mi> <mi>j</mi> </msub> </mfrac> </msup> <mo>;</mo> </mrow>
4) CSP receives incoming user UjHeavy signature key kj-1→jAfterwards, data block m is calculatediJth layer proxy sign again, make:
<mrow> <msub> <mi>&amp;gamma;</mi> <mi>j</mi> </msub> <mo>=</mo> <mi>h</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mn>0</mn> </msub> <mo>)</mo> </mrow> <mi>h</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mn>...</mn> <mi>h</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mo>&amp;Pi;</mo> <mrow> <mi>l</mi> <mo>&amp;Element;</mo> <mi>L</mi> </mrow> </munder> <mi>h</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mi>L</mi> <mo>=</mo> <mo>{</mo> <mn>0</mn> <mo>,</mo> <mn>1</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <mi>j</mi> <mo>-</mo> <mn>1</mn> <mo>}</mo> </mrow>
<mrow> <msub> <mi>&amp;tau;</mi> <mi>j</mi> </msub> <mo>=</mo> <mi>h</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mfrac> <msub> <mi>X</mi> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <msub> <mi>X</mi> <mi>j</mi> </msub> </mfrac> <mo>=</mo> <mi>h</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mfrac> <msub> <mi>x</mi> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <msub> <mi>x</mi> <mi>j</mi> </msub> </mfrac> <mo>,</mo> <msub> <mover> <mi>&amp;gamma;</mi> <mo>~</mo> </mover> <mi>j</mi> </msub> <mo>=</mo> <munder> <mo>&amp;Pi;</mo> <mrow> <mi>l</mi> <mo>&amp;Element;</mo> <mi>J</mi> </mrow> </munder> <msub> <mi>&amp;tau;</mi> <mi>l</mi> </msub> <mo>,</mo> <mi>J</mi> <mo>=</mo> <mo>{</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <mi>j</mi> <mo>}</mo> <mo>;</mo> </mrow>
4.1) -1 layer of heavy signatures tab for arriving jth layer of jth is calculated
4.2) CSP is to user (U0, U1..., Uj-1) public key and weight signature key handled:
<mrow> <msub> <mi>&amp;alpha;</mi> <mi>l</mi> </msub> <mo>=</mo> <mrow> <mo>(</mo> <msub> <mi>Y</mi> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <munder> <mo>&amp;Pi;</mo> <mrow> <mi>&amp;theta;</mi> <mo>&amp;Element;</mo> <mi>D</mi> </mrow> </munder> <mi>h</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>&amp;theta;</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msup> <mrow> <mo>(</mo> <msup> <mi>g</mi> <mrow> <msub> <mi>x</mi> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mi>h</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> </mrow> </msup> <mo>)</mo> </mrow> <mrow> <mi>h</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> <mi>h</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> <mn>...</mn> <mi>h</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> </msup> <mo>=</mo> <msub> <mi>Y</mi> <mi>j</mi> </msub> <munder> <mo>&amp;Pi;</mo> <mrow> <mi>&amp;theta;</mi> <mo>&amp;Element;</mo> <mi>D</mi> </mrow> </munder> <msub> <mi>&amp;tau;</mi> <mi>&amp;theta;</mi> </msub> <mo>,</mo> <mi>D</mi> <mo>=</mo> <mo>{</mo> <mi>l</mi> <mo>,</mo> <mi>l</mi> <mo>+</mo> <mn>1</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <mi>j</mi> <mo>}</mo> </mrow>
<mrow> <msub> <mi>&amp;beta;</mi> <mi>l</mi> </msub> <mo>=</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>k</mi> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> <mo>&amp;RightArrow;</mo> <mi>l</mi> </mrow> </msub> <mo>)</mo> </mrow> <mrow> <mi>h</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> </mrow> </msup> <mo>=</mo> <msup> <mrow> <mo>(</mo> <msup> <mi>g</mi> <mfrac> <msub> <mi>X</mi> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <msub> <mi>X</mi> <mi>l</mi> </msub> </mfrac> </msup> <mo>)</mo> </mrow> <mrow> <mi>h</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> </mrow> </msup> <mo>=</mo> <msup> <mrow> <mo>(</mo> <msup> <mi>g</mi> <mfrac> <mrow> <msub> <mi>x</mi> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mi>h</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mrow> <mi>l</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <msub> <mi>x</mi> <mi>l</mi> </msub> <mi>h</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> </msup> <mo>)</mo> </mrow> <mrow> <mi>h</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> </mrow> </msup> <mo>=</mo> <msup> <mi>g</mi> <msub> <mi>&amp;tau;</mi> <mi>l</mi> </msub> </msup> </mrow>
4.3) CSP willAs to data block miJth layer proxy sign again;
5) incumbent user UjWhen checking is stored in the integrality of data on CSP, following operate is carried out:
5.1) incumbent user UjSend the block index set I of a checking request request, call duration time upper limit Δ and data block To TPA;
5.2) TPA receives user UjAfter the information of transmission, c block index is randomly selected from block index set I And each block is indexedChoose a random number vi∈Zp *, viBit length should be less than | p |, composition challenge requestTPA will challenge request chal and be sent to CSP, and record current time CT1
6) after CSP, which receives the challenge from TPA, asks chal, generation proves, specific as follows:
6.1) CSP calculates data block firstA linear combinationTo blind μ ', CSP chooses one Random numberCalculate:R=ur∈G1, ψ=h (R), μ=μ '+r ψ ∈ Zp *, then CSP calculating
6.2) CSP, which is returned, provesTo TPA;
7) when TPA receives the proof P of CSP returns, current time CT is recorded2, and verified as follows:
7.1) TPA is calculated:Δ t=CT2-CT1If Δ t≤Δ, TPA output prove that P is legal and continues executing with audit steps 7.2);Otherwise, TPA outputs prove that P is illegal and stops to audit;
7.2) TPA verifies equation:
<mrow> <mi>e</mi> <mrow> <mo>(</mo> <mi>&amp;sigma;</mi> <mo>,</mo> <mi>g</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>e</mi> <mrow> <mo>(</mo> <msup> <mi>u</mi> <mi>&amp;mu;</mi> </msup> <mo>&amp;CenterDot;</mo> <msup> <mi>R</mi> <mrow> <mo>-</mo> <mi>&amp;psi;</mi> </mrow> </msup> <mo>&amp;CenterDot;</mo> <munder> <mo>&amp;Pi;</mo> <mrow> <mi>i</mi> <mo>&amp;Element;</mo> <mover> <mi>I</mi> <mo>&amp;OverBar;</mo> </mover> </mrow> </munder> <msub> <mi>H</mi> <mn>1</mn> </msub> <msup> <mrow> <mo>(</mo> <mrow> <msub> <mi>id</mi> <mi>i</mi> </msub> </mrow> <mo>)</mo> </mrow> <msub> <mi>v</mi> <mi>i</mi> </msub> </msup> <mo>,</mo> <msub> <mi>&amp;alpha;</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> </mrow>
e(αj, g) and=e (Yjj)
If above-mentioned equation is set up, it is complete to illustrate to be stored in the data on CSP, and TPA outputs are proved to be successful;Otherwise, TPA exports authentication failed.
2. the cloud auditing method that lightweight user Dynamic Revocable according to claim 1 and data can dynamically update, its Being characterised by after step 4), which also includes data, can dynamically update step, be specially:Data can dynamically be updated to insert data Block;
Insertion:Incumbent user UjIn data block miAnd mi+1Between insert a new data block m 'i
A1 user UjData block m ' is calculated firstiVirtual indexThen data block m ' is calculatediAuthenticating tag:Wherein id 'i=name | | η 'i||ξ′i, ξ 'i=H2(m′i||η′i);
A2 user UjSend insertion and ask summed data block m 'iChecking informationTo CSP,
If CSP is verified, CSP is according to data block m 'iIdentity code id 'iFind m 'iStorage location, data storage Block m 'iAnd its authenticating tagUser U simultaneouslyjDelete local data records data block m 'i, user UjUpgrade file F's in time The block index set of data block, is designated as
If CSP checkings are not by, CSP to user UjPrompting does not pass through.
3. the cloud auditing method that lightweight user Dynamic Revocable according to claim 1 and data can dynamically update, its Being characterised by after step 4), which also includes data, can dynamically update step, be specially:Data can dynamically be updated to delete data Block;
Delete:Incumbent user UjDelete data block mi
User UjSend data block miRemoval request and data block miIdentity information { TagF,idi,t(j)CSP is given,
If CSP is verified, CSP is according to data block miIdentity code idiFind miStorage location, delete data block mi And its authenticating tagUser UjUpgrade in time file F data block block index set, be designated as
If CSP checkings are not by, CSP to user UjPrompting does not pass through.
4. the cloud auditing method that lightweight user Dynamic Revocable according to claim 1 and data can dynamically update, its Being characterised by after step 4), which also includes data, can dynamically update step, be specially:Data can dynamically be updated to change data Block;
Modification:Incumbent user UjBy data block miIt is revised as data block m 'i
C1 user UjSend modification and ask summed data block miIdentity information { TagF,idi,t(j)CSP is given,
If CSP is verified, CSP is according to data block miIdentity code idiFind miStorage location, by data block miReturn Back to user Uj
If CSP checkings are not by, CSP to user UjPrompting does not pass through;
C2 user UjTo data block miModify, amended data block is designated as mi', calculate data block mi' authenticating tag:
Wherein id 'i=name | | ηi||ξ′i, ξ 'i=H2 (m 'i||ηi);
C3 user UjSend data block m 'iChecking informationTo CSP,
If CSP is verified, CSP is according to data block miIdentity code idiFind data block mi, by data block m 'iAnd it Authenticating tagCover former data block miWith its authenticating tagUser U simultaneouslyjDelete local data records data block m′i
If CSP checkings are not by, CSP to user UjPrompting does not pass through.
CN201710830435.2A 2017-09-13 2017-09-13 Cloud auditing method capable of dynamically revoking lightweight user and dynamically updating data Active CN107566118B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710830435.2A CN107566118B (en) 2017-09-13 2017-09-13 Cloud auditing method capable of dynamically revoking lightweight user and dynamically updating data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710830435.2A CN107566118B (en) 2017-09-13 2017-09-13 Cloud auditing method capable of dynamically revoking lightweight user and dynamically updating data

Publications (2)

Publication Number Publication Date
CN107566118A true CN107566118A (en) 2018-01-09
CN107566118B CN107566118B (en) 2019-12-31

Family

ID=60981047

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710830435.2A Active CN107566118B (en) 2017-09-13 2017-09-13 Cloud auditing method capable of dynamically revoking lightweight user and dynamically updating data

Country Status (1)

Country Link
CN (1) CN107566118B (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108229208A (en) * 2018-01-08 2018-06-29 华侨大学 A kind of public audit method of more copy datas in cloud storage service
CN108400981A (en) * 2018-02-08 2018-08-14 陕西师范大学 The public cloud auditing system and method for lightweight and secret protection in smart city
CN108600201A (en) * 2018-04-09 2018-09-28 东华大学 A kind of telesecurity replacing options of the data label of cloud storage integrity verification
CN109088850A (en) * 2018-06-22 2018-12-25 陕西师范大学 Batch cloud auditing method based on Lucas sequence positioning wrong file
CN109861829A (en) * 2019-03-15 2019-06-07 上海海事大学 Cloud data fair audit system and audit method supporting dynamic update
CN110008755A (en) * 2019-03-21 2019-07-12 广东优世联合控股集团股份有限公司 A cloud storage revocable dynamic data integrity verification system and method
CN111193701A (en) * 2019-06-27 2020-05-22 邢台职业技术学院 Network equipment data fusion method
CN112751923A (en) * 2020-12-30 2021-05-04 武汉大学 Data sharing system and method supporting public integrity check
CN114282259A (en) * 2021-11-05 2022-04-05 上海应用技术大学 Medical data integrity auditing method capable of being cancelled by user in real time

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103501352A (en) * 2013-10-22 2014-01-08 北京航空航天大学 Cloud storage data security auditing method allowing group-user identity revocation
CN104023044A (en) * 2014-01-01 2014-09-03 电子科技大学 Cloud-storage data lightweight-level public auditing method with privacy protection
CN104902027A (en) * 2015-06-12 2015-09-09 电子科技大学 Cloud storage service-oriented dynamic data integrity auditing program
CN107040374A (en) * 2017-03-06 2017-08-11 陕西师范大学 The attribute base data encryption method of user's Dynamic Revocation is supported under a kind of cloud storage environment
US9749418B2 (en) * 2015-08-06 2017-08-29 Koc University Efficient dynamic proofs of retrievability

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103501352A (en) * 2013-10-22 2014-01-08 北京航空航天大学 Cloud storage data security auditing method allowing group-user identity revocation
CN104023044A (en) * 2014-01-01 2014-09-03 电子科技大学 Cloud-storage data lightweight-level public auditing method with privacy protection
CN104902027A (en) * 2015-06-12 2015-09-09 电子科技大学 Cloud storage service-oriented dynamic data integrity auditing program
US9749418B2 (en) * 2015-08-06 2017-08-29 Koc University Efficient dynamic proofs of retrievability
CN107040374A (en) * 2017-03-06 2017-08-11 陕西师范大学 The attribute base data encryption method of user's Dynamic Revocation is supported under a kind of cloud storage environment

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108229208A (en) * 2018-01-08 2018-06-29 华侨大学 A kind of public audit method of more copy datas in cloud storage service
CN108229208B (en) * 2018-01-08 2021-03-23 华侨大学 Public auditing method for multi-copy data in cloud storage service
CN108400981A (en) * 2018-02-08 2018-08-14 陕西师范大学 The public cloud auditing system and method for lightweight and secret protection in smart city
CN108400981B (en) * 2018-02-08 2021-02-12 江苏谷德运维信息技术有限公司 Public cloud auditing system and method for lightweight and privacy protection in smart city
CN108600201B (en) * 2018-04-09 2021-11-02 东华大学 A method for remote safe replacement of data labels for cloud storage integrity verification
CN108600201A (en) * 2018-04-09 2018-09-28 东华大学 A kind of telesecurity replacing options of the data label of cloud storage integrity verification
CN109088850A (en) * 2018-06-22 2018-12-25 陕西师范大学 Batch cloud auditing method based on Lucas sequence positioning wrong file
CN109088850B (en) * 2018-06-22 2021-06-15 陕西师范大学 Batch cloud auditing method based on Lucas sequence to locate wrong files
CN109861829A (en) * 2019-03-15 2019-06-07 上海海事大学 Cloud data fair audit system and audit method supporting dynamic update
CN110008755A (en) * 2019-03-21 2019-07-12 广东优世联合控股集团股份有限公司 A cloud storage revocable dynamic data integrity verification system and method
CN110008755B (en) * 2019-03-21 2023-12-26 广东优世联合控股集团股份有限公司 Cloud storage revocable dynamic data integrity verification system and method
CN111193701A (en) * 2019-06-27 2020-05-22 邢台职业技术学院 Network equipment data fusion method
CN112751923A (en) * 2020-12-30 2021-05-04 武汉大学 Data sharing system and method supporting public integrity check
CN114282259A (en) * 2021-11-05 2022-04-05 上海应用技术大学 Medical data integrity auditing method capable of being cancelled by user in real time

Also Published As

Publication number Publication date
CN107566118B (en) 2019-12-31

Similar Documents

Publication Publication Date Title
CN107566118B (en) Cloud auditing method capable of dynamically revoking lightweight user and dynamically updating data
Sookhak et al. Auditing big data storage in cloud computing using divide and conquer tables
Huang et al. SeShare: Secure cloud data sharing based on blockchain and public auditing
CN107147720B (en) Traceable effective public auditing method and traceable effective public auditing system in cloud storage data sharing
CN110555783B (en) A blockchain-based power marketing data protection method and system
CN108400981B (en) Public cloud auditing system and method for lightweight and privacy protection in smart city
CN112540957B (en) File secure storage and sharing system based on mixed block chain and implementation method
US20220020008A1 (en) Smart Contract-Based Electronic Contract Preservation System
CN114285867B (en) Air-railway combined transport data sharing system based on alliance chain and attribute encryption
Sookhak et al. Towards dynamic remote data auditing in computational clouds
CN108632385A (en) Multiway tree data directory structure cloud storage method for secret protection based on time series
Mukundan et al. Replicated Data Integrity Verification in Cloud.
Xie et al. A novel blockchain-based and proxy-oriented public audit scheme for low performance terminal devices
Gao et al. An efficient certificateless public auditing scheme in cloud storage
CN116805078A (en) A data intelligent management system and method for logistics information platform based on big data
CN114239044B (en) A decentralized traceable shared access system
CN114938311A (en) Data processing method and system based on artificial intelligence
CN110351292A (en) Private key management method, device, equipment and storage medium
CN107231369A (en) A kind of efficient data processing method based on cloud computing
Cao et al. A scheme for verification on data integrity in mobile multicloud computing environment
Cao et al. An integrity verification scheme of completeness and zero‐knowledge for multi‐Cloud storage
Chen et al. Adjacency‐Hash‐Table Based Public Auditing for Data Integrity in Mobile Cloud Computing
Liu et al. Secure resource sharing on hyperledger fabric based on cp-abe
CN115829560A (en) Digital collection authentication method, device, computer equipment and storage medium
CN114244520A (en) Internet of things equipment access method, system, equipment and storage medium based on block chain technology

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Li Yanping

Inventor after: Han Jing

Inventor before: Han Jing

Inventor before: Li Yanping

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211101

Address after: No. 1616, 16th floor, block B, Tiandi Times Square, Fengcheng 2nd Road, Weiyang District, Xi'an City, Shaanxi Province, 710016

Patentee after: Liu Jiaojiao

Address before: No. 199, Chang'an South Road, changyanbao office, Yanta District, Xi'an City, Shaanxi Province

Patentee before: Shaanxi Normal University

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220129

Address after: Room 9105, building 12, No. 1391, Weiqing West Road, Sinopec, Jinshan District, Shanghai 201500

Patentee after: Qucheng (Shanghai) Information Technology Co.,Ltd.

Address before: No. 1616, 16th floor, block B, Tiandi Times Square, Fengcheng 2nd Road, Weiyang District, Xi'an City, Shaanxi Province, 710016

Patentee before: Liu Jiaojiao