CN109981736B - 一种支持用户与云服务器相互信任的动态公开审计方法 - Google Patents
一种支持用户与云服务器相互信任的动态公开审计方法 Download PDFInfo
- Publication number
- CN109981736B CN109981736B CN201910134188.1A CN201910134188A CN109981736B CN 109981736 B CN109981736 B CN 109981736B CN 201910134188 A CN201910134188 A CN 201910134188A CN 109981736 B CN109981736 B CN 109981736B
- Authority
- CN
- China
- Prior art keywords
- user
- data
- cloud
- file
- tpa
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012795 verification Methods 0.000 claims description 25
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 238000011423 initialization method Methods 0.000 claims description 3
- 238000012550 audit Methods 0.000 abstract description 11
- 238000004364 calculation method Methods 0.000 abstract description 7
- 238000004891 communication Methods 0.000 abstract description 7
- 238000012545 processing Methods 0.000 abstract description 3
- 238000012938 design process Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 4
- 238000013496 data integrity verification Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- 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
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/3236—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 using cryptographic hash functions
- H04L9/3239—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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明提出了一种支持用户与云服务器相互信任的动态公开审计方法,包括密钥生成;标签生成;挑战生成;证据生成;证据验证;公平仲裁等步骤,通过采取公开审计方式,允许用户将繁琐的审计任务交由给第三方审计者(Third Party Auditor,TPA)来处理。同时,通过设计数据动态记录表,实现了数据动态,还为该系统提供了用户与服务器相互信任的支持。本发明降低了公开审计设计过程中计算与通信开销,显著地提升了方法的效率。
Description
技术领域
本发明涉及云存储领域,具体为一种支持用户与云服务器相互信任的动态公开审计方法。
背景技术
在传统计算模型中,用户是数据的拥有者,也同时是数据唯一操作者。但是由于大数据时代带来的数据量剧增,以及用户自己受限的能力,如有限的存储资源难以存储过多数据,有限计算资源难以对数据进行复杂计算,以及有限通信资源使得数据共享难以实现,因此,传统模型无法满足当今用户的计算需求。云存储是一个拥有充足存储资源与强大计算能力的计算平台,为用户提供按需付费的存储服务,具有高灵活、高伸缩、高容错的特点。用户只需要将数据上传云上并付一定费用就能轻松获得所需服务。然而,数据上传至云端意味着数据控制权由用户转交给云存储服务器,而服务器可能由于以下企图而不诚实地履行对用户的约定服务:1)云服务器故意删除云端未被访问或者很少被访问数据以节省存储空间;2)云服务器可能会直接伪造计算结果返回给用户以节省计算资源;3)云服务器可能由于利益原因而收集用户隐私信息。因此,如何使得用户去验证云存储数据的完整性是非常必要的。
通过以往学术研究,数据完整性验证被认为是允许用户对云存储数据完整性进行审计一种有效手段。数据完整性验证实际上是一种运行在用户与云服务器之间的交互式协议,最初参与实体只有用户与云服务器,也就是所谓的“私有认证”。为验证数据完整性,在整个数据存储期间,用户需要在本地计算元数据,并与云服务器进行频繁的交互,这样会为资源受限的用户带来较大的负担。因此,一个比用户拥有更充分的资源与更强的专业能力的实体被引入,即第三方审计者(Third Party Auditor,TPA),它将代替用户与云服务器进行交互以将用户从繁重的负担中解放出来。引入TPA的模型被称为公开审计,它允许用户将自己审计委托给TPA。相比于私有审计,公开审计更能符合实际需求。
云上存储的数据并不是一成不变的,用户可能根据需求随之对云上的数据进行更新,因此,数据动态是公开审计中研究热点之一。根据以往相关研究来看,支持数据动态审计的结构主要分成两类,树形结构与表型结构。树形结构通常以数据块的哈希值作为叶子节点,然后根据一定规则为非叶子节点取值,最后得到根节点。数据块的有效性往往依赖于验证路径,也就是一个数据块的验证通常需要多个节点与相应的哈希值。当数据块的数目增加的时候,某个数据块的验证所需的计算时间也会随之增加。也就是说使用树形结构来实现数据动态所用的开销总是随着数据块数目的增加而增加的。相对而言,表型结构可以通过将数据记录表存储在TPA中而不是在CSP来进行完整性审核,从而有效地降低计算成本和通信开销。表型结构能有效地支持数据块更新操作,但是在插入和删除操作方面显得效率低下。主要原因是,由于表型结构的序列结构,插入和删除操作将导致平均n/2元素的调整,其中n是所有数据块的总数。此外,插入和删除操作会改变某些块的序列号,并导致这些块标签被重现计算,这会给用户带来额外的计算成本和不必要的通信开销。
此外,重要的是,当前的完整性研究通常假设安全模型中有一个诚实的数据所有者,也就是说完整性审计方案是偏向于用户本身的。然而,事实上,不仅是云存储服务器,而且云用户,都有从事欺骗行为的动机。例如,恶意用户可能会故意向诚实的云存储服务器索赔数据损坏以获得金钱补偿,而不诚实的云服务器可能会删除很少访问的数据以节省存储空间。
发明内容
本发明的目的在于提出了一种支持用户与云服务器相互信任的动态公开审计方法。
实现本发明的技术解决方案为:一种支持用户与云服务器相互信任的动态公开审计方法,具体步骤为:
步骤1、私钥生成中心KGC为用户C与云存储服务器S生成公私钥;
步骤2、用户C将需要上传到云端的数据进行分块,并采用私钥为每一数据块生成标签,然后将所有数据块与其相应标签上传到云存储服务器S;同时用户C初始化数据动态记录表,并将记录表V发送给云存储服务器S、第三方审计者TPA与可信仲裁实体TAE进行存储。
步骤3、用户C将数据上传至云存储服务器S后,第三方审计者TPA产生随机挑战,然后将其发送到云存储服务器S;
步骤4、云存储服务器S在收到挑战消息之后,生成相应的证据并返回给第三方审计者TPA;
步骤5、第三方审计者TPA接收到证据后,验证证据的有效性,并将验证结果返回给用户C;
步骤6、当云服务器S未能通过步骤5的验证时,用户C向可信仲裁实体TAE申请仲裁,具体为:可信仲裁实体TAE通过用户C发送的当前记录表,验证云存储服务器S发送的云上存储的数据记录表的标签的有效性,若验证通过,则判定用户C是不诚实的,否则判定云存储服务器S是不诚实的。
优选地,步骤1中生成公私钥的具体方法为:
用户C设置公开密钥为{g,Y},私有密钥为sk,私钥生成中心KGC收到用户C发送的身份ID后,计算用户部分密钥psk=x+H1(ID,X)modq,并发给用户C,用户C选择秘密值并计算sk=(psk+y)modq,Y=gsk∈G1;用户C设置私钥为sk,并公开Y;
优选地,步骤2中用户C将需要上传至云端进行存储的数据进行分块处理,并利用私钥为每一数据块生成标签,然后将所有数据块与其相应标签上传到云存储服务器S;同时用户C初始化数据动态记录表,并将记录表V发送给云存储服务器S、第三方审计者TPA与可信仲裁实体TAE进行存储。其具体方法为:
用户C计算文件标识其中,name为用户为文件F={mi}1≤i≤n选择的文件名称,n为文件F的数据块数,用户C初始化数据动态记录表V={Vi}1≤i≤n,填充表V中每一条记录为Vi={FNi=i,SNi=i,BVi=1},用户C计算基于表V的签名其中Ω={(SNi,BVi)}1≤i≤n,同时,用户C利用私钥sk为每一个数据块mi计算标签得到所有标签的集合Φ={σ1,σ2,...,σn};用户C将数据文件块、标签集合、文件标签、用户C基于表生成的标签以及记录表发送云存储服务器S,经云存储服务器S检查标签的有效性后进行存储,并从本地删除文件与签名,同时将记录表V发送给第三方审计者TPA与可信仲裁实体TAE进行存储。
优选地,数据动态记录表V的初始化方法具体为:
1)创建一个表,该表包含FN、SN、BV三列,共有n条记录表,其中,FN表示数据块的在文件中的排序,SN表示对数据块存储位置进行逻辑编号,BV表示数据块的被修改次数;
2)初始化表中的值,设置FNi=SNi={1,2,…,n},n为文件F的数据块数,BVi=0,代表所有数据块当前都只有一个版本。
优选地,步骤3中产生随机挑战的具体方法为:
2)第三方审计者TPA为集合I中的每一序号选择一个随机系数ri;
3)第三方审计者TPA生成一个随机挑战消息chal={(i,ri)}i∈I并发送给云存储服务器S。
优选地,步骤4中生成证据的具体方法为:
优选地,步骤5中验证证据的具体方法为:
当收到来自云服务器S的证据proof={μ,σ}后,第三方审计者TPA运行通过检查以下等式是否成立来检查证据的有效性:
如果等式成立,则TPA发送消息“1”用户C,证明云端确实正确存储了数据,否则,发送消息“0”给用户C,用户C向仲裁实体TAE申请仲裁。
优选地,步骤6中进行公平仲裁过程如下:
当验证失败时,可信仲裁实体TAE收到来用户C的仲裁请求后,可信仲裁实体TAE要求用户C与云服务器S分别提供仲裁消息ΩC与其中,ΩC={(SNi,BVi)}1≤i≤n为存储在用户C端的V中可用记录,ΩF={(SNi,BVi)}1≤i≤n为存储在云服务器S的V中可用记录;
本发明与现有技术相比,其显著优点为:1)本发明不仅为云上存储数据提供了公开审计,又采用无证书签名使得该模型免除了证书管理开销;2)本发明通过设计一种新的数据结构,在有效支持数据动态的基础上,还为该系统提供了用户与云之间的仲裁功能;3)本发明在审计过程中,降低了计算与通信开销,有效地提高了方法的效率。
下面结合附图对本发明做进一步详细的描述。
附图说明
图1是本发明的系统模型示意图。
图2是本发明的流程图。
具体实施方式
本发明提供一种支持用户与云服务器相互信任的动态公开审计方法,该方法的系统模型如图1所示,包含五类实体:用户(Client,C),云存储服务器(Cloud StorageServer,S)、私钥生成中心(Key Generation Center,KGC)、第三方审计者(Third PartyAuditor,TPA)与可信仲裁实体(Trusted Arbitration Entity,TAE)。
首先,进行系统的初始化,私钥生成中心KGC设置系统的公开参数为{G1,G2,q,g,u,e,H1,H2,Sig(),spkC,spkS,X},私有参数为{sskC,sskS,x},其中,G1、G2是乘法循环群,阶数均为q,g与u都是G1的生成元;双线性对映射e满足:e:G1×G1→G2;单向抗碰撞哈希函数H1与H2满足:H2:{0,1}*→G1;Sig()是用于计算签名的算法,spkC/sskC是用户的公/私钥对,spkS/sskS是云存储服务器S的公/私钥对;X/x是系统的主公/私钥对,X=gx∈G1。
如图2所示,一种支持用户与云服务器相互信任的动态公开审计方法,具体步骤为
步骤1、私钥生成中心KGC为用户C与云存储服务器S生成公私钥;
在某些实施例中,具体为:用户C设置公开密钥为{g,Y},私有密钥为sk,私钥生成中心KGC收到用户C发送的身份ID后,计算用户部分密钥psk=x+H1(ID,X)modq,并发给用户C,用户C选择秘密值并计算sk=(psk+y)modq,Y=gsk∈G1;用户C设置私钥为sk,并公开Y;
步骤2、用户C将需要上传至云端的数据进行分块处理,并为每一数据块生成标签,并将数据块与相应标签上传到云存储服务器S;同时用户C初始化数据动态记录表,并将记录表V发送给云存储服务器S、第三方审计者TPA与可信仲裁实体TAE进行存储;
在某些实施例中,具体为:用户C计算文件标识其中,name为用户为文件F={mi}1≤i≤n选择的文件名称,n为文件F的数据块数,用户C初始化数据动态记录表V={Vi}1≤i≤n,填充表V中每一条记录为Vi={FNi=i,SNi=i,BVi=1},用户C计算基于表V的签名其中Ω={(SNi,BVi)}1≤i≤n,同时,用户C利用私钥sk为每一个数据块mi计算标签得到所有标签的集合Φ={σ1,σ2,...,σn};用户C将数据文件块、标签集合、文件标签、用户C基于表生成的标签以及记录表发送云存储服务器S,经云存储服务器S检查标签的有效性后进行存储,并从本地删除文件与签名,同时将记录表V发送给第三方审计者TPA与可信仲裁实体TAE进行存储。
其中,数据动态记录表V的初始化方法具体为:
1)创建一个表,该表包含FN、SN、BV三列,共有n条记录表,其中,FN表示数据块的在文件中的排序,SN表示对数据块存储位置进行逻辑编号,BV表示数据块的被修改次数;
2)初始化表中的值,设置FNi=SNi={1,2,…,n},n为文件F的数据块数,BVi=0,代表所有数据块当前都只有一个版本。
步骤3、用户C将数据块上传至云存储服务器S后,第三方审计者TPA产生随机挑战,然后将其发送到云存储服务器S;
在某些实施例中,步骤3中产生随机挑战的具体方法为:当用户C需要验证云端数据的完整性时,第三方审计者TPA生成挑战chal={(i,ri)}i∈I,并将该挑战发送云服务器S,其中,ri为第三方审计者TPA为随机挑战集合中的每一个数据序号i所选的随机系数,第三方审计者TPA为用户C授权的第三方实体。
具体而言为:
2)第三方审计者TPA为集合I中的每一序号选择一个随机系数ri;
3)第三方审计者TPA生成一个随机挑战消息chal={(i,ri)}i∈I并发送给云存储服务器S。
步骤4、云存储服务器S在收到挑战消息之后,生成相应的证据并返回给第三方审计者TPA;
在某些实施例中,步骤4中生成证据的具体方法为:
步骤5、第三方审计者TPA接收到证据后,验证证据的有效性,并将验证结果返回给用户C;
在某些实施例中,验证证据的具体方法为:
当收到来自云服务器S的证据proof={μ,σ}后,第三方审计者TPA运行通过检查以下等式是否成立来检查证据的有效性:
如果等式成立,则TPA发送消息“1”用户C,证明云端确实正确存储了数据,否则,发送消息“0”给用户C,用户C向仲裁实体TAE申请仲裁。
步骤6、当云服务器S未能通过步骤5的验证时,用户C向可信仲裁实体TAE申请仲裁,具体为:可信仲裁实体TAE通过用户C发送的当前记录表,验证云存储服务器S发送的云上存储的数据记录表的标签的有效性,若验证通过,则判定用户C是不诚实的,否则判定云存储服务器S是不诚实的。
在某些实施例中,进行公平仲裁过程如下:
当验证失败时,可信仲裁实体TAE收到来用户C的仲裁请求后,可信仲裁实体TAE要求用户C与云服务器S分别提供仲裁消息ΩC与其中,ΩC={(SNi,BVi)}1≤i≤n为存储在用户C端的V中可用记录,ΩF={(SNi,BVi)}1≤i≤n为存储在云服务器S的V中可用记录;
本发明不仅为云上存储数据提供了公开审计,又采用无证书签名使得该模型免除了证书管理开销。同时,通过设计一种新的数据结构,在有效支持数据动态的基础上,还为该系统提供了用户与云之间的仲裁功能。此外,在审计过程中,降低了计算与通信开销,有效地提高了方法的效率。
本发明设计了一个新数据结构,称之为数据动态记录表。该表同时n条记录,表按照数据块索引顺序记录所有数据块的最新版本。数据块在文件中的索引序号并不参与数据块标签的计算,因此该数据结构能有效实现数据动态功能。该表被同时存储在用户/TPA端与云端,双方在执行动态更新交互时同时更新各自的记录表。当发生纠纷时,由一个可信实体通过判断双方基于该表生成的签名来判定哪方不诚实,也就是说该方案提供用户与云服务器相互信任的支持。
综上所述,本发明具有以下特点:
(1)支持数据动态
本发明通过设计了一种新的数据结构,实现了对数据动态的有效支持。允许用户对数据进行访问、修改、插入、删除操作。同时,进行数据动态操作时并不影响任何其他数据块的标签,因而能有效支持数据动态。
(2)支持公平仲裁
本发明为云存储服务器与云用户提供潜在纠纷的公平审计。通过可信仲裁实体的评判,使得审计方案不再完全偏向于用户,即防止不诚实用户陷害诚实的云服务器以获取赔偿的事件发生。
(3)实现无证书管理
本发明通过在采用无证书签名与双线性对来设计具体方案,避免了使用传统公钥系统所带来的繁重的证书管理与维护问题。
(4)降低计算与通信开销
本发明简化了数据动态过程,并将数据结构存储在TPA端,在一定程度上解决了背景技术中效率过低的问题。
(5)发明的安全性是可证明的
任意未授权实体都不能挑战云存储服务器。恶意的云服务器不能通过发动伪造、替换和重放攻击来通过完整性验证。
实施例1
为了更好地理解本实施例提出的方法,选取一次云存储环境下数据用户C对其存储在云服务器S上数据完整性验证事件。具体实施步骤如下:
系统初始化:私钥生成中心设置系统公开参数私有参数。具体如下:
2)选取随机选取一个安全签名算法Sig()以及相应的两对签名密钥spkC/sskC与spkS/sskS。spkC/sskC是用户的公/私钥对,spkS/sskS是云存储服务器S的公/私钥对。公开参数spkC与spkS。
密钥生成:私钥生成中心为数据用户C生成部分密钥,用户使用该部分密钥并成自己的公钥与私钥。具体如下:
1)用户C将自己身份ID发送给KGC。
2)KGC收到用户C发送的身份ID后,计算用户部分密钥psk=x+H1(ID,X)modq,并发给用户C。
5)最终,用户C设置私钥为sk,并公开Y。
标签生成:用户选取文件名name,并为文件计算文件标识tag,再为所有文件块mi计算标签σi,得到文件块集合Fi和完整性标签集合Φ。同时用户C初始化数据动态记录表V={Vi}1≤i≤n,并计算基于表V的签名最后用户C将发送云存储服务器S,经S检查标签的有效性后进行存储,并从本地删除文件与签名。同时将记录表V发送给TPA与TAE进行存储。具体如下:
1)计算文件标识tag过程如下:
(1a)用户C初始化数据动态记录表V={Vi}1≤i≤n,填充表V中每一条记录为Vi={FNi=i,SNi=i,BVi=1}。
(1a)云存储服务器S提取name,使用公钥spkC检验tag的有效性,若验证通过,则进行下一步,否则,程序终止。
5)将记录表V发送给TPA与TAE进行存储。
挑战生成:当用户C需要验证云端数据的完整性时,向第三方审计者TPA发送审计请求,然后TPA生成挑战消息,并将该挑战消息发送云存储服务器。具体如下:
2)为集合I中的每一序号选择一个随机系数ri。
3)生成一个随机挑战消息chal={(i,ri)}i∈I并发送给云存储服务器S。
证据生成:云服务器S收到挑战消息后,生成相应证据,然后将该证据返回给TPA。具体如下:
2)将验证证据proof={μ,σ}返回给TPA。
验证证据:TPA收到应答消息后验证数据的完整性并得出结论,再将结果返回给数据所有者。具体如下:
1)当收到来自云服务器S的证据proof={μ,σ}后,TPA运行通过检查以下等式是否成立来检查证据的有效性:
2)如果等式成立,则TPA发送消息“1”用户C,证明云端确实正确存储了数据。否则,发送消息“0”给用户C,用户C向仲裁实体TAE申请仲裁。
公平仲裁:当云服务器S未能通过证据验证时,用户将向可信仲裁实体TAE申请仲裁。TAE根据用户提供的记录表与云提供的基于自身维护的V来判定哪一方参与者不是诚实的。具体如下:
1)当验证失败时,TAE收到来用户C的仲裁请求后,TAE要求用户C与云服务器S分别提供仲裁消息ΩC与其中,ΩC={(SNi,BVi)}1≤i≤n为存储在用户C端的V中可用记录,ΩF={(SNi,BVi)}1≤i≤n为存储在云服务器S的V中可用记录。
Claims (6)
1.一种支持用户与云服务器相互信任的动态公开审计方法,其特征在于,具体步骤为:
步骤1、私钥生成中心KGC为用户C与云存储服务器S生成公私钥;
步骤2、用户C将需要上传到云端的数据进行分块,并采用私钥为每一数据块生成标签,然后将所有数据块与其相应标签上传到云存储服务器S;同时用户C初始化数据动态记录表,并将记录表V发送给云存储服务器S、第三方审计者TPA与可信仲裁实体TAE进行存储;其具体方法为:用户C计算文件标识其中,name为用户为文件F={mi}1≤i≤n选择的文件名称,n为文件F的数据块数,用户C初始化数据动态记录表V={Vi}1≤i≤n,填充表V中每一条记录为Vi={FNi=i,SNi=i,BVi=1},用户C计算基于表V的签名其中Ω={(SNi,BVi)}1≤i≤n,同时,用户C利用私钥sk为每一个数据块mi计算标签得到所有标签的集合Φ={σ1,σ2,...,σn};用户C将数据文件块、标签集合、文件标签、用户C基于表生成的标签以及记录表发送云存储服务器S,经云存储服务器S检查标签的有效性后进行存储,并从本地删除文件与签名,同时将记录表V发送给第三方审计者TPA与可信仲裁实体TAE进行存储;
其中,FNi表示第i个数据块的在文件中的排序,SNi表示对第i个数据块存储位置进行逻辑编号,BVi表示第i个数据块的被修改次数,G1是乘法循环群;
步骤3、用户C将数据上传至云存储服务器S后,第三方审计者TPA产生随机挑战,然后将其发送到云存储服务器S;
步骤4、云存储服务器S在收到挑战消息之后,生成相应的证据并返回给第三方审计者TPA;
步骤5、第三方审计者TPA接收到证据后,验证证据的有效性,并将验证结果返回给用户C;
步骤6、当云服务器S未能通过步骤5的验证时,用户C向可信仲裁实体TAE申请仲裁,具体为:可信仲裁实体TAE通过用户C发送的当前记录表,验证云存储服务器S发送的云上存储的数据记录表的标签的有效性,若验证通过,则判定用户C是不诚实的,否则判定云存储服务器S是不诚实的;当验证失败时,可信仲裁实体TAE收到来用户C的仲裁请求后,可信仲裁实体TAE要求用户C与云服务器S分别提供仲裁消息ΩC与其中,ΩC={(SNi,BVi)}1≤i≤n为存储在用户C端的V中可用记录,ΩF={(SNi,BVi)}1≤i≤n为存储在云服务器S的V中可用记录;
3.根据权利要求2所述的支持用户与云服务器相互信任的动态公开审计方法,其特征在于,数据动态记录表V的初始化方法具体为:
1)创建一个表,该表包含FN、SN、BV三列,共有n条记录表,其中,FN表示数据块的在文件中的排序,SN表示对数据块存储位置进行逻辑编号,BV表示数据块的被修改次数;
2)初始化表中的值,设置FNi=SNi={1,2,…,n},n为文件F的数据块数,BVi=0,代表所有数据块当前都只有一个版本。
6.根据权利要求1所述的支持用户与云服务器相互信任的动态公开审计方法,其特征在于,步骤5中验证证据的具体方法为:
当收到来自云服务器S的证据proof={μ,σ}后,第三方审计者TPA运行通过检查以下等式是否成立来检查证据的有效性:
如果等式成立,则TPA发送消息“1”用户C,证明云端确实正确存储了数据,否则,发送消息“0”给用户C,用户C向仲裁实体TAE申请仲裁;
其中,μ为云存储服务器S生成的数据证据,σ为云存储服务器S生成的标签证据,g和u是G1的生成元,i为数据序号,ri为第三方审计者TPA为随机挑战集合中的每一个数据序号i所选的随机系数,SNi表示对第i个数据块存储位置进行逻辑编号,BVi表示第i个数据块的被修改次数,Y为用户C的公开密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910134188.1A CN109981736B (zh) | 2019-02-22 | 2019-02-22 | 一种支持用户与云服务器相互信任的动态公开审计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910134188.1A CN109981736B (zh) | 2019-02-22 | 2019-02-22 | 一种支持用户与云服务器相互信任的动态公开审计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109981736A CN109981736A (zh) | 2019-07-05 |
CN109981736B true CN109981736B (zh) | 2021-09-21 |
Family
ID=67077306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910134188.1A Expired - Fee Related CN109981736B (zh) | 2019-02-22 | 2019-02-22 | 一种支持用户与云服务器相互信任的动态公开审计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109981736B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110798478B (zh) * | 2019-11-06 | 2022-04-15 | 中国联合网络通信集团有限公司 | 数据处理方法及设备 |
CN112632604B (zh) * | 2020-12-21 | 2024-01-23 | 贵州航天计量测试技术研究所 | 基于多授权审计者的云数据审计方法、系统及装置 |
CN114584578A (zh) * | 2022-04-28 | 2022-06-03 | 湖南工商大学 | 一种基于智能合约以及纠删码编码的多云存储方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103778387A (zh) * | 2014-01-06 | 2014-05-07 | 中国科学技术大学苏州研究院 | 基于格的大数据动态存储完整性验证方法 |
CN105871543A (zh) * | 2016-03-29 | 2016-08-17 | 西安电子科技大学 | 多数据拥有者背景下基于属性的多关键字密文检索方法 |
CN106301789A (zh) * | 2016-08-16 | 2017-01-04 | 电子科技大学 | 应用基于格的线性同态签名的云存储数据的动态验证方法 |
CN107147720A (zh) * | 2017-05-16 | 2017-09-08 | 安徽大学 | 一种云存储数据共享中可追踪的有效公开审计方法和系统 |
CN107423637A (zh) * | 2017-07-31 | 2017-12-01 | 南京理工大学 | 支持云上电子病历数据可追踪的完整性审计方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10552640B2 (en) * | 2017-03-08 | 2020-02-04 | Quantum Corporation | In-situ data verification for the cloud |
-
2019
- 2019-02-22 CN CN201910134188.1A patent/CN109981736B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103778387A (zh) * | 2014-01-06 | 2014-05-07 | 中国科学技术大学苏州研究院 | 基于格的大数据动态存储完整性验证方法 |
CN105871543A (zh) * | 2016-03-29 | 2016-08-17 | 西安电子科技大学 | 多数据拥有者背景下基于属性的多关键字密文检索方法 |
CN106301789A (zh) * | 2016-08-16 | 2017-01-04 | 电子科技大学 | 应用基于格的线性同态签名的云存储数据的动态验证方法 |
CN107147720A (zh) * | 2017-05-16 | 2017-09-08 | 安徽大学 | 一种云存储数据共享中可追踪的有效公开审计方法和系统 |
CN107423637A (zh) * | 2017-07-31 | 2017-12-01 | 南京理工大学 | 支持云上电子病历数据可追踪的完整性审计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109981736A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sookhak et al. | Auditing big data storage in cloud computing using divide and conquer tables | |
Fu et al. | NPP: A new privacy-aware public auditing scheme for cloud data sharing with group users | |
CN110912706B (zh) | 一种基于身份的动态数据完整性审计方法 | |
Wei et al. | Security and privacy for storage and computation in cloud computing | |
CN109829326B (zh) | 基于区块链的跨域认证与公平审计去重云存储系统 | |
Wei et al. | SecCloud: Bridging secure storage and computation in cloud | |
Li et al. | OPoR: Enabling proof of retrievability in cloud computing with resource-constrained devices | |
Jin et al. | Dynamic and public auditing with fair arbitration for cloud data | |
CN108322306A (zh) | 一种基于可信第三方的面向隐私保护的云平台可信日志审计方法 | |
CN112311772B (zh) | 基于Hyperledger的跨域证书管理系统及方法 | |
Au et al. | PERM: Practical reputation-based blacklisting without TTPs | |
CN105164971A (zh) | 具有额外安全性的用于低熵输入记录的核验系统和方法 | |
CN109889497A (zh) | 一种去信任的数据完整性验证方法 | |
CN109981736B (zh) | 一种支持用户与云服务器相互信任的动态公开审计方法 | |
CN109861829B (zh) | 支持动态更新的云数据公正审计系统及其审计方法 | |
Xie et al. | Blockchain‐Based Cloud Data Integrity Verification Scheme with High Efficiency | |
Petrlic et al. | Privacy-preserving reputation management | |
CN112565264B (zh) | 一种基于区块链的云存储数据完整性检测方法 | |
Li et al. | A Blockchain‐Based Public Auditing Protocol with Self‐Certified Public Keys for Cloud Data | |
CN113014394A (zh) | 基于联盟链的电子数据存证方法及系统 | |
CN110377225A (zh) | 一种支持外包数据安全转移与可验证删除的方法 | |
Shen et al. | Multicopy and multiserver provable data possession for cloud-based IoT | |
Chen et al. | A remote data integrity checking scheme for big data storage | |
CN113051341A (zh) | 一种基于多种区块链的用户数据存证系统及方法 | |
CN111353780A (zh) | 授权验证方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210921 |