CN110677487B - 一种支持隐私和完整性保护的外包数据去重云存储方法 - Google Patents

一种支持隐私和完整性保护的外包数据去重云存储方法 Download PDF

Info

Publication number
CN110677487B
CN110677487B CN201910943729.5A CN201910943729A CN110677487B CN 110677487 B CN110677487 B CN 110677487B CN 201910943729 A CN201910943729 A CN 201910943729A CN 110677487 B CN110677487 B CN 110677487B
Authority
CN
China
Prior art keywords
file
owner
data
service provider
cloud service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910943729.5A
Other languages
English (en)
Other versions
CN110677487A (zh
Inventor
李艳平
吴姣姣
梁岩荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sino Parsons Technology Beijing Co ltd
Original Assignee
Sino Parsons Technology Beijing Co ltd
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 Sino Parsons Technology Beijing Co ltd filed Critical Sino Parsons Technology Beijing Co ltd
Priority to CN201910943729.5A priority Critical patent/CN110677487B/zh
Publication of CN110677487A publication Critical patent/CN110677487A/zh
Application granted granted Critical
Publication of CN110677487B publication Critical patent/CN110677487B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Abstract

本发明公开一种支持隐私和完整性保护的外包数据去重云存储方法。首先,实现数据文件的客户端去重和安全认证标签去重,大大减少通信开销和云服务器的存储负担。其次,采用提取器技术使得外包存储数据的密文不依赖于加密者和加密算法,而依赖于数据本身,使得密文数据去重得以实现,并在去重过程和完整性审计过程中保证了数据的隐私性。最后,采用RS纠删码技术提高去重云存储的容错能力,也支持云服务提供商自发地定期委托第三方审计者对云服务器中存储的数据进行批量公开云审计以确保数据的完整性,同时也支持数据拥有者对文件的完整性随时随地发起公开云审计,在审计和去重过程中始终能保护数据的隐私性。本发明所提供的方法在去重方面是有效的,在完整性云审计方面是高效的。

Description

一种支持隐私和完整性保护的外包数据去重云存储方法
技术领域
本发明属于云计算中外包云存储数据安全的技术领域,具体是支持隐私和完整性保护的外包数据去重云存储方法。
背景技术
云外包存储是云计算中一个不可或缺的分支,它允许数据拥有者(Data Owner,DO)将数据存储在云服务器中,并提供分布式、低成本的、方便快捷的数据存储和更新服务。由于云存储系统在成本和管理方面的优势,近年来越来越多的个人和组织将他们的数据存储到云服务提供商(Cloud Server Provide,CSP)中。然而,这种前景无限的数据存储模式在效率和安全方面面临着许多新的挑战。
第一个问题是云存储的效率。随着云存储用户数量的不断增加,外包数据量也在快速增长。不同的用户往往会将相同的数据(如电影,PPT等)发送到云服务器上,这将导致云服务器中存在大量的重复数据。根据EMC的调查,云上75%的存储数据是重复的。因此,为了节省存储空间,提高存储效率,云存储迫切需要有效的去重技术,即云服务器为每个重复的文件只存储一个数据副本,而云服务提供商CSP只需为拥有相同文件的数据拥有者提供访问文件的链接。
目前,去重技术大致分为两类:服务器端去重和客户端去重。服务器端去重是指云服务器从客户端(数据所有者DO)收到外包文件后检查重复数据并执行去重操作,客户端依旧需要上传文件的相关计算和通信开销。客户端去重是指在客户端(数据所有者)上传文件之前,先与云服务器进行交互,以验证外包文件是否已存储在云服务器中。当外包文件重复时,客户端无需上传外包数据,云服务通过验证确信客户端拥有完整的文件就可给客户端访问文件的权限。客户端去重不仅可节省云服务器和客户端的存储,同时也节约了双方的通信成本和网络带宽资源,对客户端和服务器都有利。
第二个问题是云存储的安全性。在去重的云存储系统中,相同的文件都只存有唯一的副本。一旦出现存储硬件故障,导致唯一外包数据副本不完整,从而可能给数据拥有者和云存储服务提供商带来巨大损失。因此,对于去重云存储系统来说,保证外包数据的唯一副本的完整性是至关重要的。外包数据是否安全地、完整地存储在云服务器上不仅成为数据拥有者DO关注的焦点,也是云服务提供商CSP所关注的重点。因此,一个安全的去重云存储系统,不仅应该支持数据拥有者发起的完整性审计请求,而且允许云服务提供商自发地对外包数据进行定期批量完整性审计,从而让数据拥有者存的放心安心,也保障了云服务提供商CSP的商业利益。
为了实现客户端去重的安全云存储系统,需同时考虑数据去重和公开完整性审计。现有的客户端去重主流方法是基于一个静态的短哈希值(外包文件的哈希值)作为用户拥有某文件的证明。但是,一旦这个静态哈希值不慎被泄露或者被恶意用户获得,恶意用户可通过短哈希值向云服务器证明自己持有整个文件,从而利用截获的哈希值从云服务器获取整个文件,也即哈希值的泄漏可能将导致整个文件泄漏给敌手。因此,“所有权证明(Proof of Ownership,POW)”被提出来解决这种安全漏洞,云服务提供商CSP在为数据拥有者DO创建文件的访问链接之前,这种方法能安全高效地验证该数据拥有者DO确实持有完整的文件。
为了同时实现数据去重和公开完整性审计,一种直观的方法是直接将现有的POW方案和常用的完整性审计技术——数据持有证明PDP/数据可恢复证明POR方案组合起来。然而,这种方法会给云服务提供商CSP产生巨大的存储开销O(Wn),其中W+1是该文件的拥有者数量,n是该文件的数据块总数。因为,每个数据拥有者DO都生成自己的认证标签,并上传这些标签给云服务提供商CSP进行独立的完整性审计。所以,云服务提供商 CSP需要为同一个文件存储来自所有数据拥有者们的认证标签,海量认证标签存储是另一种类型的重复和冗余。因此,为了达到数据存储的安全性和更高的存储效率,最佳方法是云存储系统能同时支持文件去重和对应的认证标签去重。
文献Zheng Q,Xu S.Secure and Efficient Proof of Storage withDeduplication[C].Proceedings of the second ACM conference on data andapplicationsecurity and privacy,ACM,San Antonio,Texas,USA,1-12,2012.提出了一种具有去重的存储证明方案。该方案开发PDP/POR方案实现所有权证明POW,既能公开验证存储证明,又能安全去重。然而,由于数据拥有者DO有限的计算能力和有限的带宽资源,他们无法承担与挑战块数和段数成线性关系的庞大通信和计算开销。文献Yuan J,YuS.Secure and Constant Cost Public Cloud Storage Auditing with Deduplication[C].Proceedings of the 2013 IEEE Conference on Communications and NetworkSecurity,IEEE,National Harbor,MD, USA,145-153,2013.利用基于多项式的认证标签和同态认证器,设计了一种新的具有去重的公开云审计方案。该方案将来自不同数据拥有者DO的同一块的认证标签聚合在一起,减少了认证标签的存储开销,从而实现了认证标签的去重。然而,该方案不能支持对加密数据的去重。文献Li J,Li J,Xie D,et al.SecureAuditing and Deduplicating Data in Cloud[J] IEEE Transactions on Computers,2016,65(8):2386-2396.提出了一个安全审计和数据去重的方案,该方案额外考虑外包标签计算给第三方审计者(Third Party Auditor,TPA),同时实现了对密文数据的公开审计和去重。然而,该方案是基于默克哈希树(Merkle Hash Tree,MHT) 构造的,因此该方案需要大量的通信和计算开销。申请号为CN201610801119.8的中国专利提出了一种具备去重功能的云数据公开审计方法,该文献中同时实现数据去重和完整性审计,但是云服务提供商CSP只存储原始拥有者所产生的认证标签用于完整性审计,后继存储者无法发起外包数据的完整性审计,后继存储者通过原始存储者去了解数据的完整性,也不现实,从而导致相互不信任的数据拥有者们不能对文件进行独立的完整性审计。申请号为CN20171089786.1的中国专利提出了一种基于收敛加密的云端数据去重和完整性审计方法,该方法不仅同时实现数据去重和完整性审计,而且利用收敛加密技术支持密文文件的去重,但该方法不支持批量审计,所以当审计者TPA同时收到很多审计请求时,只能依次执行导致审计效率太低。申请号为CN201710713925.4的中国专利提出了云环境中支持安全去重的高效数据完整性审计系统及方法,该文献支持去重后的数据完整性审计和批量审计,避免了第三方审计者根据不同用户分别验证证据正确性的情况。该方法能够批量地操作来自不同用户的独立审计请求,但在云服务器上还是需要存储来自每个用户的所有认证标签。因此,只提高了审计的效率性,并没有减轻云服务器的存储负担。申请号为 CN201810980675.5的中国专利提出了一种支持密态数据去重和完整性验证方法及系统,该方法使用布隆过滤器检查用户是否拥有声称的文件,并且支持密文文件的去重。但是,在该系统中,云服务提供商CSP需要存储来自不同数据拥有者DO对同一文件的认证标签,即该法无法实现认证标签的去重,不可避免地给云服务提供商CSP带来巨大的存储负担。申请号为CN201810055819.6的中国专利采用相似性保留哈希函数来进行相似数据加密去重。完全相同数据的去重对云服务提供商CSP来说是一种相对慎重的操作,而相似数据去重的灵活性更高,但相似数据去重的实现需要更复杂的技术,且相似数据去重所能节约的存储资源取决于相似数据所占的比重。从而,云服务提供商CSP会综合权衡采用技术难度、相似数据所占比重以及去重所带来的存储优势,慎重采用相关技术。申请号为 CN201810055819.6的中国专利在去重方面采用的是常规的消息锁定加密技术,侧重降低去重数据的重加密计算开销,其中重加密主要是为了防止系统内撤销用户不可以继续访问文件的唯一副本,重点降低计算开销和控制文件唯一副本的访问。
基于去重云存储所面临的问题,本发明首先考虑如何实现客户端外包数据去重和认证标签的安全去重;其次,为保证外包数据的隐私性,考虑采用提取器技术使得外包存储数据的密文不依赖于加密者和加密算法,而依赖于数据本身,使得密文数据去重得以实现,从而保护数据的隐私性;最后,事实上去重的云存储系统中,每个文件都只存一份唯一的副本,一旦发生存储硬件或软件故障,唯一的文件副本的不完整或丢失会给数据拥有者和云服务提供商带来巨大损失,为此本发明不仅考虑采用RS纠删码技术提高去重云存储的容错能力,而且支持云服务提供商自发地定期委托第三方审计者对云服务器中存储的数据进行批量公开云审计,提高外包存储用户对云服务提供商CSP存储服务的信任度。
发明内容
本发明的目的在于提供支持隐私和完整性保护的外包数据去重云存储方法,主要包括三个阶段:第一个阶段是系统参数建立和注册云用户密钥生成的阶段;第二个阶段是数据拥有者和云服务器进行交互去重存储,包括文件去重和认证标签去重,具体分为原始拥有者DO0上传原始数据文件密文和后继拥有者DOt(t=1,2,Λ,W)与云服务提供商CSP进行数据持有证明POW的阶段;第三个阶段是针对去重云存储中唯一的数据文件副本进行完整性审计,具体提出针对数据拥有者随时发起的公开云审计和云服务提供商CSP委托第三方审计者TPA定期进行的批量公开云审计。
本发明所参与的实体分别是密钥生成中心KGC、数据拥有者DO、云服务提供商CSP和第三方审计者TPA。具体采用技术方案如下:
一种支持隐私和完整性保护的外包数据去重云存储方法,包括以下步骤:
1)系统建立
1.1系统参数建立:
密钥生成中心KGC生成并公开系统参数
cp=(p,G,GT,e,H,Hash,Enc,Dec,Extrator(·,·),(n,k)RS),其中p是一个大素数, G和GT是两个阶为大素数p的乘法循环群,e:G×G→GT是一个双线性对,H:{0,1}*→G 是一个安全的抗碰撞的哈希函数,Hash是一个安全的抗碰撞的哈希算法,(Enc,Dec)是一对对称加解密算法,Extrator(·,·)是一个抗泄露二元提取器,输入为文件F和种子s,输出为一个对称加密密钥;(n,k)RS为Reed-Solomon纠删码算法,其中n<k;
1.2注册云用户密钥生成:
首先,密钥生成中心KGC选择并公开两个随机数g,u∈G;
其次,密钥生成中心KGC随机选择一个种子
Figure BDA0002223621810000051
并秘密发送给注册合法的数据拥有者,其中ls是种子s的比特长度;
然后,每个数据拥有者DOt选择一个随机数
Figure BDA0002223621810000052
其中
Figure BDA0002223621810000053
计算自身公钥
Figure BDA0002223621810000054
并生成一对签名公私钥(skt,pkt),其中t是文件F的每个数据拥有者按照存储文件的顺序所记的编号;
最后,数据拥有者DOt公开(yt,pkt),并秘密保存(at,skt);
2)去重云存储
2.1文件标签生成:
每个想要上传文件F的数据拥有者DOt为文件F生成文件标签TagF=Hash(F),并发送文件标签TagF到云服务提供商CSP;
2.2重复检测:
云服务提供商CSP进行重复性检测,检查文件标签TagF是否已经存在在云服务提供商 CSP的本地查重列表中;
如果文件标签TagF未存在,数据拥有者DOt为第一个上传文件F的数据拥有者,将其定义为原始拥有者DO0,原始拥有者DO0继续执行存储;
如果文件标签TagF存在,则该数据拥有者DOt为后继上传文件F的数据拥有者,将其定义为后继拥有者DOt(t=1,2,Λ,W),后继拥有者向云服务提供商CSP提供文件F的所有权证明,云服务提供商CSP根据所有权证明向后继拥有者DOt(t=1,2,Λ,W)反馈结果,其中假设文件F的数据所有者共有W+1个(这里假设是为了便于描述,实际系统中数据拥有者数量可以动态增长);
3)完整性审计:
数据拥有者随时对存储在云服务提供商CSP中的文件F进行完整性的检查,确保所存储的文件是完整的;
或云服务提供商CSP委托第三方审计者TPA定期自动地对数据拥有者外包存储的文件进行批量的完整性审计。
进一步的,原始拥有者DO0继续执行存储的具体过程为:
首先对文件F进行加密、分块处理,然后对每一个文件块生成签名并上传,最后云服务提供商CSP生成文件块的认证标签,完成文件F的存储。
进一步的,原始拥有者DO0继续执行存储的具体过程为:
a1)密钥提取和文件加密分块:
首先,原始拥有者DO0利用提取器,输入文件F和密钥生成中心KGC选择的种子s,提取出文件F的加密密钥KF=Extractor(F;s);
其次,原始拥有者DO0用密钥生成中心KGC约定的对称加解密算法(Enc,Dec)对文件F进行加密,生成文件密文CF=Enc(F;KF);
然后,运用密钥生成中心KGC指定的(n,k)RS纠删码对文件密文CF进行编码并分块得到分块文件CF′={C1,C2,Λ,Cn},n为文件F的总块数,使得文件密文CF可以由 CF′={C1,C2,Λ,Cn}中的任意k个文件块就可以恢复;其中采用纠删码对文件密文进行编码主要是为了提高存储系统的容错性和容灾能力,应对存储硬件偶然失败可能引起的存储故障;
b1)文件块签名生成:
首先,原始拥有者DO0对分块文件每个文件块计算签名
Figure BDA0002223621810000061
i=1,2,Λ,n;
其次,原始拥有者DO0计算文件标识符
Figure BDA0002223621810000062
其中
Figure BDA0002223621810000063
是原始拥有者DO0对TagF||n的签名;
然后,原始拥有者DO0上传加密后并编码后的分块文件CF′={C1,C2,Λ,Cn}、签名集合
Figure BDA0002223621810000064
和文件标识符
Figure BDA0002223621810000065
到云服务提供商CSP;
c1)文件块的认证标签生成:
云服务提供商CSP根据收到的签名集合
Figure BDA0002223621810000066
对每一个文件块Ci生成认证标签
Figure BDA0002223621810000067
θi:=θi 0,i=1,2,Λ,n,其中θi:=θi 0表示将右边的值赋给左边;云服务提供商CSP存储认证标签集合Λ={θ1,θ2,Λ,θn}。
进一步的,后继拥有者向云服务提供商CSP提供所有权证明,云服务提供商CSP根据所有权证明向后继拥有者DOt(t=1,2,Λ,W)反馈结果,具体为:
首先对文件F进行加密、分块处理,对每一个文件块生成签名同时向云服务提供商CSP提供所有权证明,最后云服务提供商CSP向后继拥有者返回访问文件F的链接或拒绝访问的应答,其中通过所有权证明的后继拥有者上传文件块签名,同时云服务提供商CSP 更新文件块的认证标签。
进一步的,后继拥有者向云服务提供商CSP提供所有权证明,云服务提供商CSP根据所有权证明向后继拥有者DOt(t=1,2,Λ,W)反馈结果,具体为:
a2)文件提取和分块:
首先,后继拥有者DOt(t=1,2,Λ,W)利用相同提取器算法对自己持有的文件F计算加密密钥KF=Extractor(F;s);
其次,后继拥有者DOt(t=1,2,Λ,W)用加密密钥KF和密钥生成中心KGC公开的对称加解密算法(Enc,Dec)对文件F加密,生成文件密文CF=Enc(F;KF);
然后,后继拥有者DOt(t=1,2,Λ,W)执行相同的纠删码(n,k)RS算法对文件密文CF进行编码分块得到CF′={C1,C2,Λ,Cn},使得文件密文CF可以由CF′={C1,C2,Λ,Cn}中的任意 k个文件块就可以恢复;
b2)所有权证明POW:
b2.1)挑战生成:
云服务提供商CSP从集合[1,n]中随机选择d个元素的子集D={s1,s2,Λ,sd}并选择一组系数{vi}i∈D,其中
Figure BDA0002223621810000071
云服务提供商CSP发送挑战消息chal={i,vi}i∈D给后继拥有者DOt (t=1,2,Λ,W);
b2.2)所有权证据生成:
数据拥有者DOt(t=1,2,Λ,W)对分块文件中的每个文件块计算签名
Figure BDA0002223621810000072
i=1,2,Λ,n;
数据拥有者DOt(t=1,2,Λ,W)根据收到的挑战消息chal,计算被挑战文件块的聚合签名
Figure BDA0002223621810000073
和文件块的线性组合
Figure BDA0002223621810000074
数据拥有者DOt(t=1,2,Λ,W)将所有权证据PPOW=(σt,μ)发送给云服务提供商CSP;
b2.3)验证:
云服务提供商CSP根据收到的证据PPOW=(σt,μ),利用等式(1)来验证所有权证据的合法性:
Figure BDA0002223621810000075
其中,
Figure BDA0002223621810000076
Λ={θ1,θ2,Λ,θn}是云服务提供商CSP存储的认证标签集合;
若等式(1)成立,则后继拥有者DOt(t=1,2,Λ,W)通过所有权验证,云服务提供商CSP 向该后继拥有者建立一个访问文件F的链接;
否则,未通过所有权验证,输出拒绝;
c2)签名上传:
当通过所有权验证后,后继拥有者DOt(t=1,2,Λ,W)上传签名集合
Figure BDA0002223621810000081
和文件标识符
Figure BDA0002223621810000082
给云服务提供商CSP,同时,后继拥有者DOt(t=1,2,Λ,W)秘密存储密钥KF和访问文件F的链接;
d2)认证标签更新:
云服务提供商CSP根据收到的签名
Figure BDA0002223621810000083
计算每一个文件块Ci的认证标签
Figure BDA0002223621810000084
i=1,2,Λ,n,并更新认证标签
Figure BDA0002223621810000085
云服务提供商CSP存储更新的认证标签集合Λ={θ1,θ2,Λ,θn}。
在去重的云存储系统中,每个文件只存有唯一的副本。一旦存储硬件故障,数据丢失会导致唯一的文件副本不完整。因此,数据拥有者需要随时对存储在云服务提供商CSP中的文件进行完整性的检查,确保所存储的文件是完整的。为了减轻资源受限的数据拥有者的计算负担,数据拥有者委托第三方审计者TPA来执行文件的完整性审计。假设文件F 的数据所有者共有W+1个(这里假设是为了便于描述,实际系统中拥有者数量可以动态增长)。由于这些数据拥有者互相不信任,他们需要委托第三方审计者TPA对文件F的完整性进行分别地审计。当数据拥有者DOt(t=0,1,Λ,W)对存储在云服务提供商CSP中的文件 F进行完整性的检查,他将委托TPA进行以下审计过程:
a3)文件标识符检查:
任意一个数据拥有者DOt(t=0,1,Λ,W)委托第三方审计者TPA,第三方审计者TPA首先验证签名
Figure BDA0002223621810000086
的有效性;
如果验证失败,第三方审计者TPA通过返回False放弃审计;
否则,第三方审计者TPA检查文件标签TagF和文件块总数n的有效性,并进执行以下步骤;
b3)完整性审计:
b3.1)挑战生成:
第三方审计者TPA从集合[1,n]中随机选择c个元素的子集I={s1,s2,Λ,sc},并选择一组系数{wi}i∈I,其中
Figure BDA0002223621810000087
且基于数据拥有者DOt(t=0,1,Λ,W)的公钥yt计算一个随机掩码R←yt r,其中
Figure BDA0002223621810000089
是一个随机数;第三方审计者TPA发送挑战消息 chal=({i,wi}i∈I,R)给云服务提供商CSP;
此处需要说明,在挑战生成的过程中,第三方审计者TPA为什么不需要对所有的文件块进行验证,只需从所有n个文件块中随机选取c个块进行完整性验证。假设所有文件块中有ρ%的块已被损坏,随机选取的文件块个数为c,那么这c个文件块中,含有损坏文件块的概率为1-(1-ρ)c。当ρ=1时,第三方审计者TPA仅需要审计c=300或460个数据块(通常设置的挑战文件块数),就能依次以高概率0.9509或0.9901发现文件损坏。因此第三方审计者TPA可以根据检测概率以及数据块总数n,确定一个合适的挑战块数c。
b3.2)完整性证据生成:
根据第三方审计者TPA的挑战消息chal,云服务提供商CSP将完整性证据 P=(Θ,Ω1,Ω2)发送给第三方审计者TPA,其中
Figure BDA0002223621810000091
Ω1=e(u,R)C和Ω2=e(u,Y)C
b3.3)验证:
根据收到的完整性证据P=(Θ,Ω1,Ω2),第三方审计者TPA首先聚合除了数据拥有者 DOt(t=0,1,Λ,W)外的所有数据拥有者的公钥
Figure BDA0002223621810000092
然后,通过检查验证等式(2)来验证完整性证据:
Figure BDA0002223621810000093
如果验证等式(2)成立,则文件F被完整地存储在云服务提供商CSP;否则,文件F可能已经被损坏。
在去重的云存储系统中,每个文件都只存有唯一的副本。一旦存储硬件出现故障,会导致数据丢失或者唯一文件副本不完整,从而给云存储系统带来不良声誉影响或经济损失。因此,云服务提供商CSP需要对所存储的文件进行自发的完整性检查。当云服务提供商CSP委托第三方审计者TPA定期自动地对数据拥有者外包存储的文件进行批量的完整性审计,具体为:
第三方审计者TPA对k个不同文件{F1,F2,Λ,Fk}同时发起完整性审计,其中对于每个文件Fi,Wi+1是该文件数据拥有者的总数;
a4)挑战生成:
第三方审计者TPA从集合[1,n]中随机选取k个含有c个元素的子集 Ii={si,j|j=1,2,Λ,c},i=1,2,Λ,k,并选择随机数集合
Figure BDA0002223621810000094
i=1,2,Λ,k;
第三方审计者TPA对每一个审计文件Fi选取一个数据拥有者
Figure BDA0002223621810000101
的公钥
Figure BDA0002223621810000102
计算随机掩码
Figure BDA0002223621810000103
i=1,2,Λk,其中
Figure BDA0002223621810000104
是一个随机数;
第三方审计者TPA发送挑战消息
Figure BDA00022236218100001013
给云服务提供商CSP;
b4)批量审计证据生成:
首先,云服务提供商CSP根据收到的挑战消息,为每个文件Fi计算标签证据Θi和数据证据
Figure BDA0002223621810000106
Figure BDA0002223621810000107
然后,云服务提供商CSP将
Figure BDA0002223621810000108
作为批量审计的证据发送给第三方审计者TPA,其中
Figure BDA0002223621810000109
c4)验证:
第三方审计者TPA收到批量审计证据PB之后,对于每个文件Fi,首先计算除了被选取的数据拥有者
Figure BDA00022236218100001010
之外的其它所有数据拥有者的公钥聚合值:
Figure BDA00022236218100001011
i=1,2,Λ,k;
然后,第三方审计者TPA通过验证等式(3)来执行批量完整性验证:
Figure BDA00022236218100001012
如果等式(3)成立,则k个不同文件{F1,F2,Λ,Fk}被完整地存储;否则k个不同文件{F1,F2,Λ,Fk}可能已经被损坏。
本发明与现有技术相比具有以下有益效果:
本发明主要提供一种支持隐私和完整性保护的外包数据去重云存储方法,旨在解决云存储中的数据重复问题和去重存储的完整性保护和审计问题,具体的设计亮点如下:
首先,本发明公开的云存储实现数据文件的客户端去重和安全认证标签去重大大减少通信开销和云服务器的存储负担;其中,实现文件去重时,数据拥有者在上传文件之前先向云服务提供商CSP提供文件标签于查重(文件标签的大小远远小于文件大小),如果云服务提供商CSP已有此标签,表示云服务提供商CSP已经存有该文件,数据拥有者与云服务提供商CSP进行一个所有权证明POW协议证实自己拥有完整的该文件,云服务提供商 CSP就会给该数据拥有者建立一个访问该文件的链接,节约了上传文件的通信成本和网络带宽以及云服务提供商CSP的存储空间;实现安全认证标签去重时,利用了基于双线性对动态聚合,从而云服务提供商CSP无需存储所有用户的认证标签,实现了一个文件一组认证标签,为完整性审计和认证标签的管理提供了便捷性,也大大节约了云服务提供商CSP 的存储空间。
其次,为了保护被存储文件的机密性和隐私性并实现密文文件的去重,本发明采用提取器技术使得外包存储数据的密文不依赖于加密者和加密算法,而依赖于数据本身,使得相同的文件F产生相同的密文,从而既保护了文件的隐私性,又实现了密文数据去重。
最后,在去重的云存储系统中,每个文件都只存一份唯一的副本,一旦发生存储硬件或软件故障,唯一的文件副本的不完整或丢失会给数据拥有者和云服务提供商带来巨大损失。为此本发明采用(n,k)RS纠删码技术提高去重云存储的容错能力,与三副本备份容错技术相比,该技术可以降低53%的存储空间,提高一倍的容错能力;同时不仅支持数据拥有者对文件的完整性随时随地发起公开云审计,而且支持云服务提供商自发地定期委托第三方审计者对云服务器中存储的数据进行批量公开云审计以确保数据的完整性,提高了数据拥有者对云服务提供商CSP存储服务的信任度。
附图说明
图1为本发明的系统模型图;
图2为本发明方法与现有技术在审计阶段产生的通信量比较图;
图3为本发明方法与现有技术在存储阶段所需的计算代价比较图;
图4为本发明方法与现有技术CSP产生证据时的计算代价比较图;
图5为本发明方法与现有技术TPA验证证据时的计算代价比较图。
具体实施方式
本发明的目的在于提供支持隐私和完整性保护的外包数据去重云存储方法,其中系统模型中有四个实体参与,即密钥生成中心KGC,云服务提供商CSP,数据拥有者DO及第三方审计者TPA,如图1所示。以下结合附图对本发明方案进行进一步详细说明。
实施例1:
支持隐私和完整性保护的外包数据去重云存储方法,包括以下步骤:
1)系统建立
1.1系统参数建立:
密钥生成中心KGC生成并公开系统参数
cp=(p,G,GT,e,H,Hash,Enc,Dec,Extrator(·,·),(n,k)RS),其中p是根据安全参数选择的一个大素数;G和GT是在PBC密码库环境下随机选择的两个阶为大素数p的乘法循环群; e:G×G→GT是规定的一个双线性对;H:{0,1}*→G是利用Cryptopp密码库选择的一个安全的抗碰撞的哈希函数,Hash是一个安全的抗碰撞的哈希算法,如MD5算法或者SHA1算法等,(Enc,Dec)是一对对称加解密算法,如AES算法或DES算法,Extrator(·,·)是一个抗泄露二元提取器,输入为文件F和种子s,输出为一个对称加密密钥;(n,k)RS为 Reed-Solomon纠删码算法,其中n<k;
1.2注册云用户密钥生成:
首先,密钥生成中心KGC选择并公开两个随机数g,u∈G;
其次,密钥生成中心KGC随机选择一个种子
Figure BDA0002223621810000121
并秘密发送给注册的数据拥有者,其中ls是种子s的比特长度,例如选择ls=20比特,则种子s为20比特长的二进制比特串;
然后,每个数据拥有者DOt选择一个随机数
Figure BDA0002223621810000122
其中
Figure BDA0002223621810000123
计算自身公钥
Figure BDA0002223621810000124
并生成一对签名公私钥(skt,pkt),其中t是文件F的每个数据拥有者按照存储文件的顺序所记的编号;
最后,数据拥有者DOt公开(yt,pkt),并秘密保存(at,skt);
例如,第一个存储文件的数据拥有者DO0选择一个随机数
Figure BDA0002223621810000125
计算自身公钥
Figure BDA0002223621810000126
并生成一对签名公私钥(sk0,pk0),然后,第一个存储文件的数据拥有者DO0公开(y0,pk0),并秘密保存(a0,sk0);第二个存储文件的数据拥有者DO1选择一个随机数
Figure BDA0002223621810000127
计算自身公钥
Figure BDA0002223621810000128
并生成一对签名公私钥(sk1,pk1),然后,第二个存储文件的数据拥有者DO1公开(y1,pk1),并秘密保存(a1,sk1),以此类推;
2)去重云存储
2.1文件标签生成:
每个想要上传文件F的数据拥有者DOt为文件F生成文件标签TagF=Hash(F),并发送文件标签TagF到云服务提供商CSP;
2.2重复检测:
云服务提供商CSP进行重复性检测,检查文件标签TagF是否已经存在在云服务提供商 CSP的本地查重列表中;
如果文件标签TagF未存在,数据拥有者DOt为第一个上传文件F的数据拥有者,将其定义为原始拥有者DO0,原始拥有者DO0继续执行存储;
如果文件标签TagF存在,则该数据拥有者DOt为后继上传文件F的数据拥有者,将其定义为后继拥有者DOt(t=1,2,Λ,W),后继拥有者向云服务提供商CSP提供文件F的所有权证明,云服务提供商CSP根据所有权证明向后继拥有者DOt(t=1,2,Λ,W)反馈结果,其中假设文件F的数据拥有者共有W+1个(这里假设是为了便于描述,实际系统中数据拥有者数量可以动态增长);
3)完整性审计:
每个存储文件F的数据拥有者随时可对存储在云服务提供商CSP中的文件F进行完整性的检查,确保所存储的文件是完整的;
或云服务提供商CSP委托第三方审计者TPA定期自动地对数据拥有者外包存储的文件进行批量的完整性审计。
实施例2:
在实施例1的基础上,当文件标签TagF未存在,原始拥有者DO0继续执行存储,具体步骤如下:
a1)密钥提取和文件加密分块:
首先,原始拥有者DO0利用提取器,输入文件F和密钥生成中心KGC选择的种子s,提取出文件F的加密密钥KF=Extractor(F;s);
其次,原始拥有者DO0用密钥生成中心KGC约定的对称加解密算法(Enc,Dec)对文件F进行加密,生成文件密文CF=Enc(F;KF);
然后,运用密钥生成中心KGC指定的(n,k)RS纠删码对文件密文CF进行编码并分块得到分块文件CF′={C1,C2,Λ,Cn},n为文件F的总块数,使得文件密文CF可以由 CF′={C1,C2,Λ,Cn}中的任意k个文件块就可以恢复,其中采用纠删码对文件密文进行编码主要是为了提高存储系统的容错性和容灾能力,应对存储硬件偶然失败可能引起的存储故障;
b1)文件块签名生成:
首先,原始拥有者DO0对分块文件的每一块计算签名
Figure BDA0002223621810000141
i=1,2,Λ,n;
其次,原始拥有者DO0计算文件标识符
Figure BDA0002223621810000142
其中
Figure BDA0002223621810000143
是原始拥有者DO0对TagF||n的签名;
然后,原始拥有者DO0上传加密后并编码后的分块文件CF′={C1,C2,Λ,Cn}、签名集合
Figure BDA0002223621810000144
和文件标识符
Figure BDA0002223621810000145
到云服务提供商CSP;
c1)文件块的认证标签生成:
云服务提供商CSP根据收到的签名集合
Figure BDA0002223621810000146
对每一个文件块Ci生成认证标签
Figure BDA0002223621810000147
θi:=θi 0,i=1,2,Λ,n,其中θi:=θi 0表示将右边的值赋给左边;云服务提供商CSP存储认证标签集合Λ={θ1,θ2,Λ,θn}。
实施例3:
在实施例1的基础上,当文件标签TagF存在,则后继拥有者DOt(t=1,2,Λ,W)向云服务提供商CSP提供文件F的所有权证明,云服务提供商CSP根据所有权证明向后继拥有者DOt(t=1,2,Λ,W)反馈结果,以第二个上传文件F的数据拥有者DO1为例,具体步骤如下,其他后继拥有者DOt(t=2,3,Λ,W)的步骤类似:
a2)文件提取和分块:
首先,后继拥有者DO1利用相同提取器算法对自己持有的文件F计算加密密钥 KF=Extractor(F;s);
其次,后继拥有者DO1用加密密钥KF和密钥生成中心KGC公开的对称加解密算法(Enc,Dec)对文件F加密,生成文件密文CF=Enc(F;KF);
然后,后继拥有者DO1执行相同的纠删码(n,k)RS算法对文件密文CF进行编码分块得到CF′={C1,C2,Λ,Cn},使得文件密文CF可以由CF′={C1,C2,Λ,Cn}中的任意k个文件块就可以恢复;
b2)所有权证明POW:
b2.1)挑战生成:
云服务提供商CSP从集合[1,n]中随机选择d个元素的子集D={s1,s2,Λ,sd}并选择一组系数{vi}i∈D,其中
Figure BDA0002223621810000148
云服务提供商CSP发送挑战消息chal={i,vi}i∈D给后继拥有者DO1
b2.2)所有权证据生成:
数据拥有者DO1对编码分块后的文件块计算签名
Figure BDA0002223621810000151
i=1,2,Λ,n;
数据拥有者DO1根据收到的挑战消息chal,计算被挑战文件块的聚合签名
Figure BDA0002223621810000152
和文件块的线性组合
Figure BDA0002223621810000153
数据拥有者DO1将所有权证据PPOW=(σ1,μ)发送给云服务提供商CSP;
b2.3)验证:
云服务提供商CSP根据收到的证据PPOW=(σ1,μ),利用等式(1)来验证所有权证据的合法性:
Figure BDA0002223621810000154
其中,
Figure BDA0002223621810000155
Λ={θ1,θ2,Λ,θn}是云服务提供商CSP存储的认证标签集合;
若等式(1)成立,则后继拥有者DO1通过所有权验证,云服务提供商CSP向该后继拥有者建立一个访问文件F的链接;
否则,未通过所有权验证,输出拒绝;
c2)签名上传:
当通过所有权验证后,后继拥有者DO1上传签名集合
Figure BDA0002223621810000156
和文件标识符
Figure BDA0002223621810000157
给云服务提供商CSP,同时,后继拥有者DO1秘密存储密钥KF和访问文件F的链接;
d2)认证标签更新:
云服务提供商CSP根据收到的签名
Figure BDA0002223621810000158
计算每一个文件块Ci的认证标签
Figure BDA0002223621810000159
i=1,2,Λ,n,并更新认证标签θi←θi·θi 1;云服务提供商CSP存储更新的认证标签集合Λ={θ1,θ2,Λ,θn}。
实施例4:
在去重的云存储系统中,每个文件只存有唯一的副本。一旦存储硬件故障,数据丢失会导致唯一的文件副本不完整。因此,数据拥有者需要随时对存储在云服务提供商CSP中的文件进行完整性检查,确保所存储的文件是完整的。为了减轻资源受限的数据拥有者的计算负担,数据拥有者委托第三方审计者TPA来执行文件的完整性审计。由于这些数据拥有者互相不信任,他们需要委托第三方审计者TPA对文件F的完整性进行分别地审计。
在实施例1的基础上,每个存储文件F的数据拥有者DOt(t=0,1,Λ,W)随时可对存储在云服务提供商CSP中的文件F进行完整性的检查,确保所存储的文件是完整的,以数据拥有者DO10为例,完整性审计的具体步骤如下:
a3)文件标识符检查:
任意一个数据拥有者DO10委托第三方审计者TPA,第三方审计者TPA首先验证签名
Figure BDA0002223621810000161
的有效性;
如果验证失败,第三方审计者TPA通过返回False放弃审计;
否则,第三方审计者TPA检查文件标签TagF和文件块总数n的有效性,并进执行以下步骤;
b3)完整性审计:
b3.1)挑战生成:
第三方审计者TPA从集合[1,n]中随机选择c个元素的子集I={s1,s2,Λ,sc},并选择一组系数{wi}i∈I,其中
Figure BDA0002223621810000162
且基于数据拥有者DO10的公钥y10计算一个随机掩码R←y10 r,其中
Figure BDA0002223621810000163
是一个随机数;第三方审计者TPA发送挑战消息chal=({i,wi}i∈I,R)给云服务提供商CSP;
此处需要说明,在挑战生成的过程中,第三方审计者TPA为什么不需要对所有的文件块进行验证,只需从所有n个文件块中随机选取c个块进行完整性验证。假设所有文件块中有ρ%的块已被损坏,随机选取的文件块个数为c,那么这c个文件块中,含有损坏文件块的概率为1-(1-ρ)c。当ρ=1时,第三方审计者TPA仅需要审计c=300或460个数据块(通常设置的挑战文件块数),就能依次以高概率95%或99%发现文件损坏。因此第三方审计者TPA可以根据检测概率以及数据块总数n,确定一个合适的挑战块数c。
例如,若文件F中有1%的块已被损坏,第三方审计者TPA为达到99%的检测概率挑选460个数据块进行挑战,即从集合[1,n]中随机选择460个元素的子集I={s1,s2,Λ,s460},并选择460个对应的系数{wi}i∈I,其中
Figure BDA0002223621810000164
计算随机掩码R←y10 r,其中
Figure BDA0002223621810000165
是一个随机数;然后将挑战消息chal=({i,wi}i∈I,R)发送给云服务提供商CSP。
b3.2)完整性证据生成:
根据第三方审计者TPA的挑战消息chal,云服务提供商CSP将完整性证据 P=(Θ,Ω1,Ω2)发送给第三方审计者TPA,其中
Figure BDA0002223621810000166
Ω1=e(u,R)C和Ω2=e(u,Y)C
b3.3)验证:
根据收到的完整性证据P=(Θ,Ω1,Ω2),第三方审计者TPA首先聚合除了数据拥有者 DO10外的所有数据拥有者的公钥
Figure BDA0002223621810000171
然后,通过检查验证等式(2)来验证完整性证据:
Figure BDA0002223621810000172
如果验证等式(2)成立,则文件F被完整地存储在云服务提供商CSP;否则,文件F可能已经被损坏。
实施例5:
在去重的云存储系统中,每个文件都只存有唯一的副本。一旦存储硬件出现故障,会导致数据丢失或者唯一文件副本不完整,从而给云存储系统带来不良声誉影响或经济损失。虽然本方法采用了RS纠错码技术,以提高数据容错能力,但也支持云服务提供商CSP对所存储的文件进行自发的完整性检查,以对云数据完整性保护提供双重保护。
在实施例1的基础上,当云服务提供商CSP委托第三方审计者TPA定期自动地对数据拥有者外包存储的文件进行批量的完整性审计,具体为:
第三方审计者TPA对10个不同文件{F1,F2,Λ,F10}同时发起完整性审计,其中对于每个文件Fi(i=1,2,Λ,10),Wi+1是该文件数据拥有者的总数;
a4)挑战生成:
第三方审计者TPA从集合[1,n]中随机选取10个含有c个元素的子集 Ii={si,j|j=1,2,Λ,c},i=1,2,Λ,10,并选择随机数集合
Figure BDA0002223621810000173
i=1,2,Λ,10;
第三方审计者TPA对每一个审计文件Fi选取一个数据拥有者
Figure BDA0002223621810000174
的公钥
Figure BDA0002223621810000175
计算随机掩码
Figure BDA0002223621810000176
i=1,2,Λ10,其中
Figure BDA0002223621810000177
是一个随机数;
第三方审计者TPA发送挑战消息
Figure BDA00022236218100001710
给云服务提供商CSP;
b4)批量审计证据生成:
首先,云服务提供商CSP根据收到的挑战消息,为每个文件Fi计算标签证据Θi和数据证据
Figure BDA0002223621810000179
Figure BDA0002223621810000181
然后,云服务提供商CSP将
Figure BDA0002223621810000182
作为批量审计的证据发送给第三方审计者TPA,其中
Figure BDA0002223621810000183
c4)验证:
第三方审计者TPA收到批量审计证据PB之后,对于每个文件Fi,首先计算除了被选取的数据拥有者
Figure BDA0002223621810000184
之外的其它所有数据拥有者的公钥聚合值:
Figure BDA0002223621810000185
i=1,2,Λ,10;
然后,第三方审计者TPA通过验证等式(3)来执行批量完整性验证:
Figure BDA0002223621810000186
如果等式(3)成立,则10个不同文件{F1,F2,Λ,F10}被完整地存储;否则10个不同文件 {F1,F2,Λ,F10}可能已经被损坏。
基于PBC库和Cryptopp密码库平台,经过实际地模拟本发明方法的主要核心步骤,从实验模拟和分析可以看出本发明方法相比现有技术性能更优良,实现了低通信开销、低计算开销、低存储开销。具体对比结果如图2-5所示。
其中图2为本发明方法与现有技术在审计阶段产生的通信量比较图,从图2可以看出本发明方法在完整性审计阶段的通信量相比PCAD技术的通信量略高,但PCAD技术不支持密文数据的去重和审计,因此通过综合考量本发明在完整性审计阶段的通信量具有一定的优势;图3为本发明方法与现有技术在存储阶段所需的计算代价比较图,从图3可以看出本发明方法在存储阶段所需的计算代价是最少的,因为本发明中将生成认证标签的计算量转移给具有强大计算资源的云服务提供商CSP;图4为本发明方法与现有技术比较图,从图4可以看出本发明方法在CSP产生证据时的计算代价也是最少的,这使得云服务提供商CSP能实现更低成本地处理审计任务;图5为本发明方法与现有技术TPA验证证据时的计算代价比较图,综合图4可以得出结论本发明方法在审计阶段的具有较高的计算效率。

Claims (5)

1.一种支持隐私和完整性保护的外包数据去重云存储方法,其特征在于,包括以下步骤:
1)系统建立
1.1系统参数建立:
密钥生成中心KGC生成并公开系统参数
cp=(p,G,GT,e,H,Hash,Enc,Dec,Extrator(·,·),(n,k)RS),其中p是一个大素数,G和GT是两个阶为大素数p的乘法循环群,e:G×G→GT是一个双线性对,H:{0,1}*→G是一个安全的抗碰撞的哈希函数,Hash是一个安全的抗碰撞的哈希算法,(Enc,Dec)是一对对称加解密算法,Extrator(·,·)是一个抗泄露二元提取器,输入为文件F和种子s,输出为一个对称加密密钥;(n,k)RS为Reed-Solomon纠删码算法,其中n<k;
1.2注册云用户密钥生成:
首先,密钥生成中心KGC选择并公开两个随机数g,u∈G;
其次,密钥生成中心KGC随机选择一个种子
Figure FDA0003348178170000011
并秘密发送给注册合法的数据拥有者,其中ls是种子s的比特长度;
然后,每个数据拥有者DOt选择一个随机数
Figure FDA0003348178170000012
其中
Figure FDA0003348178170000013
计算自身公钥
Figure FDA0003348178170000014
并生成一对签名公私钥(skt,pkt),其中t是文件F的每个数据拥有者按照存储文件的顺序所记的编号;
最后,数据拥有者DOt公开(yt,pkt),并秘密保存(at,skt);
2)去重云存储
2.1文件标签生成:
每个想要上传文件F的数据拥有者DOt为文件F生成文件标签TagF=Hash(F),并发送文件标签TagF到云服务提供商CSP;
2.2重复检测:
云服务提供商CSP进行重复性检测,检查文件标签TagF是否已经存在在云服务提供商CSP的本地查重列表中;
如果文件标签TagF未存在,数据拥有者DOt为第一个上传文件F的数据拥有者,将其定义为原始拥有者DO0,原始拥有者DO0继续执行存储;
如果文件标签TagF存在,则该数据拥有者DOt为后继上传文件F的数据拥有者,将其定义为后继拥有者DOt(t=1,2,…,W),后继拥有者向云服务提供商CSP提供文件F的所有权证明,云服务提供商CSP根据所有权证明向后继拥有者DOt(t=1,2,…,W)反馈结果;
3)完整性审计:
数据拥有者随时对存储在云服务提供商CSP中的文件F进行完整性的检查,确保所存储的文件是完整的;
或云服务提供商CSP委托第三方审计者TPA定期自动地对数据拥有者外包存储的文件进行批量的完整性审计;
数据拥有者随时对存储在云服务提供商CSP中的文件F进行完整性的检查,确保所存储的文件是完整的,具体为:
a3)文件标识符检查:
任意一个数据拥有者DOt(t=0,1,…,W)委托第三方审计者TPA,第三方审计者TPA首先验证签名
Figure FDA0003348178170000021
的有效性;
如果验证失败,第三方审计者TPA通过返回False放弃审计;
否则,第三方审计者TPA检查文件标签TagF和文件块总数n的有效性,并执行以下步骤;
b3)完整性审计:
b3.1)挑战生成:
第三方审计者TPA从集合[1,n]中随机选择c个元素的子集I={s1,s2,…,sc},并选择一组系数{wi}i∈I,其中
Figure FDA0003348178170000022
且基于数据拥有者DOt(t=0,1,…,W)的公钥yt计算一个随机掩码R←yt r,其中
Figure FDA0003348178170000023
是一个随机数;第三方审计者TPA发送挑战消息chal=({i,wi}i∈I,R)给云服务提供商CSP;
b3.2)完整性证据生成:
根据第三方审计者TPA的挑战消息chal,云服务提供商CSP将完整性证据P=(Θ,Ω12)发送给第三方审计者TPA,其中
Figure FDA0003348178170000024
Ω1=e(u,R)C和Ω2=e(u,Y)C
b3.3)验证:
根据收到的完整性证据P=(Θ,Ω12),第三方审计者TPA首先聚合除了数据拥有者DOt(t=0,1,…,W)外的所有数据拥有者的公钥
Figure FDA0003348178170000031
然后,通过检查验证等式(2)来验证完整性证据:
Figure FDA0003348178170000032
如果验证等式(2)成立,则文件F被完整地存储在云服务提供商CSP;否则,文件F可能已经被损坏;
云服务提供商CSP委托第三方审计者TPA定期自动地对数据拥有者外包存储的文件进行批量的完整性审计,具体为:
第三方审计者TPA对k个不同文件{F1,F2,…,Fk}同时发起完整性审计,其中对于每个文件Fi,Wi+1是该文件数据拥有者的总数;
a4)挑战生成:
第三方审计者TPA从集合[1,n]中随机选取k个含有c个元素的子集Ii={si,j|j=1,2,…,c},i=1,2,…,k,并选择随机数集合
Figure FDA0003348178170000033
第三方审计者TPA对每一个审计文件Fi选取一个数据拥有者
Figure FDA0003348178170000034
的公钥
Figure FDA0003348178170000035
计算随机掩码
Figure FDA0003348178170000036
其中
Figure FDA0003348178170000037
是一个随机数;
第三方审计者TPA发送挑战消息
Figure FDA0003348178170000038
给云服务提供商CSP;
b4)批量审计证据生成:
首先,云服务提供商CSP根据收到的挑战消息,为每个文件Fi计算标签证据Θi和数据证据
Figure FDA0003348178170000039
Figure FDA00033481781700000310
然后,云服务提供商CSP将
Figure FDA00033481781700000311
作为批量审计的证据发送给第三方审计者TPA,其中
Figure FDA00033481781700000312
c4)验证:
第三方审计者TPA收到批量审计证据PB之后,对于每个文件Fi,首先计算除了被选取的数据拥有者
Figure FDA00033481781700000313
之外的其它所有数据拥有者的公钥聚合值:
Figure FDA0003348178170000041
然后,第三方审计者TPA通过验证等式(3)来执行批量完整性验证:
Figure FDA0003348178170000042
如果等式(3)成立,则k个不同文件{F1,F2,…,Fk}被完整地存储;否则k个不同文件{F1,F2,…,Fk}可能已经被损坏。
2.根据权利要求1支持隐私和完整性保护的外包数据去重云存储方法,原始拥有者DO0继续执行存储的具体过程为:
首先对文件F进行加密、分块处理,然后对每一个文件块生成签名并上传,最后云服务提供商CSP生成文件块的认证标签,完成文件F的存储。
3.根据权利要求2支持隐私和完整性保护的外包数据去重云存储方法,原始拥有者DO0继续执行存储的具体过程为:
a1)密钥提取和文件加密分块:
首先,原始拥有者DO0利用提取器,输入文件F和密钥生成中心KGC选择的种子s,提取出文件F的加密密钥KF=Extractor(F;s);
其次,原始拥有者DO0用密钥生成中心KGC约定的对称加解密算法(Enc,Dec)对文件F进行加密,生成文件密文CF=Enc(F;KF);
然后,运用密钥生成中心KGC指定的(n,k)RS纠删码对文件密文CF进行编码并分块得到分块文件CF'={C1,C2,…,Cn},n为文件F的总块数,使得文件密文CF可以由CF'={C1,C2,…,Cn}中的任意k个文件块就可以恢复;
b1)文件块签名生成:
首先,原始拥有者DO0对分块文件中每一块计算签名
Figure FDA0003348178170000043
其次,原始拥有者DO0计算文件标识符
Figure FDA0003348178170000044
其中
Figure FDA0003348178170000045
是原始拥有者DO0对TagF||n的签名;
然后,原始拥有者DO0上传加密后并编码后的分块文件CF'={C1,C2,…,Cn}、签名集合
Figure FDA0003348178170000046
和文件标识符
Figure FDA0003348178170000047
到云服务提供商CSP;
c1)文件块的认证标签生成:
云服务提供商CSP根据收到的签名集合
Figure FDA0003348178170000051
对每一个文件块Ci生成认证标签
Figure FDA0003348178170000052
其中
Figure FDA0003348178170000053
表示将右边的值赋给左边;云服务提供商CSP存储认证标签集合Λ={θ12,…,θn}。
4.根据权利要求1支持隐私和完整性保护的外包数据去重云存储方法,后继拥有者向云服务提供商CSP提供所有权证明,云服务提供商CSP根据所有权证明向后继拥有者DOt(t=1,2,…,W)反馈结果,具体为:
首先对文件F进行加密、分块处理,对每一个文件块生成签名同时向云服务提供商CSP提供所有权证明,最后云服务提供商CSP向后继拥有者返回访问文件F的链接或拒绝访问的应答,其中通过所有权证明的后继拥有者上传文件块签名,同时云服务提供商CSP更新文件块的认证标签。
5.根据权利要求4支持隐私和完整性保护的外包数据去重云存储方法,后继拥有者向云服务提供商CSP提供所有权证明,云服务提供商CSP根据所有权证明向后继拥有者DOt(t=1,2,…,W)反馈结果,具体为:
a2)文件提取和分块:
首先,后继拥有者DOt(t=1,2,…,W)利用相同提取器算法对自己持有的文件F计算加密密钥KF=Extractor(F;s);
其次,后继拥有者DOt(t=1,2,…,W)用加密密钥KF和密钥生成中心KGC公开的对称加解密算法(Enc,Dec)对文件F加密,生成文件密文CF=Enc(F;KF);
然后,后继拥有者DOt(t=1,2,…,W)执行相同的纠删码(n,k)RS算法对文件密文CF进行编码分块得到分块文件CF'={C1,C2,…,Cn},使得文件密文CF可以由CF'={C1,C2,…,Cn}中的任意k个文件块就可以恢复;
b2)所有权证明POW:
b2.1)挑战生成:
云服务提供商CSP从集合[1,n]中随机选择d个元素的子集D={s1,s2,…,sd}并选择一组系数{vi}i∈D,其中
Figure FDA0003348178170000054
云服务提供商CSP发送挑战消息chal={i,vi}i∈D给后继拥有者DOt(t=1,2,…,W);
b2.2)所有权证据生成:
数据拥有者DOt(t=1,2,…,W)对分块文件中的每一个文件块计算签名
Figure FDA0003348178170000061
数据拥有者DOt(t=1,2,…,W)根据收到的挑战消息chal,计算被挑战文件块的聚合签名
Figure FDA0003348178170000062
和文件块的线性组合
Figure FDA0003348178170000063
数据拥有者DOt(t=1,2,…,W)将所有权证据PPOW=(σt,μ)发送给云服务提供商CSP;
b2.3)验证:
云服务提供商CSP根据收到的证据PPOW=(σt,μ),利用等式(1)来验证所有权证据的合法性:
Figure FDA0003348178170000064
其中,
Figure FDA0003348178170000065
Λ={θ12,…,θn}是云服务提供商CSP存储的认证标签集合;
若等式(1)成立,则后继拥有者DOt(t=1,2,…,W)通过所有权验证,云服务提供商CSP向该后继拥有者建立一个访问文件F的链接;
否则,未通过所有权验证,输出拒绝;
c2)签名上传:
当通过所有权验证后,后继拥有者DOt(t=1,2,…,W)上传签名集合
Figure FDA0003348178170000066
和文件标识符
Figure FDA0003348178170000067
给云服务提供商CSP,同时,后继拥有者DOt(t=1,2,…,W)秘密存储密钥KF和访问文件F的链接;
d2)认证标签更新:
云服务提供商CSP根据收到的签名
Figure FDA0003348178170000068
计算每一个文件块Ci的认证标签
Figure FDA0003348178170000069
并更新认证标签
Figure FDA00033481781700000610
云服务提供商CSP存储更新的认证标签集合Λ={θ12,…,θn}。
CN201910943729.5A 2019-09-30 2019-09-30 一种支持隐私和完整性保护的外包数据去重云存储方法 Active CN110677487B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910943729.5A CN110677487B (zh) 2019-09-30 2019-09-30 一种支持隐私和完整性保护的外包数据去重云存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910943729.5A CN110677487B (zh) 2019-09-30 2019-09-30 一种支持隐私和完整性保护的外包数据去重云存储方法

Publications (2)

Publication Number Publication Date
CN110677487A CN110677487A (zh) 2020-01-10
CN110677487B true CN110677487B (zh) 2022-04-26

Family

ID=69078731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910943729.5A Active CN110677487B (zh) 2019-09-30 2019-09-30 一种支持隐私和完整性保护的外包数据去重云存储方法

Country Status (1)

Country Link
CN (1) CN110677487B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111429724B (zh) * 2020-04-23 2022-02-15 安徽大学 一种交通数据去重获取方法
CN111585756B (zh) * 2020-04-30 2023-04-25 西安建筑科技大学 一种适用于多副本-多云情形下的无证书云审计方法
CN111539031B (zh) * 2020-05-09 2023-04-18 桂林电子科技大学 一种云存储标签隐私保护的数据完整性检测方法及系统
CN112261020B (zh) * 2020-10-15 2022-05-17 中国电子科技集团公司第五十四研究所 一种分布式远程外包数据审计方法
CN112565434A (zh) * 2020-12-09 2021-03-26 广东工业大学 一种基于默克尔哈希树的云存储安全去重方法及装置
CN112887281B (zh) * 2021-01-13 2022-04-29 西安电子科技大学 支持高效审计和多备份密文去重的存储方法、系统及应用
CN112822009B (zh) * 2021-01-26 2022-07-22 西安邮电大学 一种支持密文去重的属性密文高效共享系统
CN113392663B (zh) * 2021-06-09 2022-05-20 华侨大学 一种适用于大规模rfid系统的批量认证方法
CN113656818B (zh) * 2021-08-17 2023-07-28 山东大学 满足语义安全的无可信第三方云存储密文去重方法与系统
CN114978594B (zh) * 2022-04-18 2024-02-09 南京工程学院 一种面向云计算隐私保护的自适应访问控制方法
CN115037530B (zh) * 2022-05-25 2024-03-26 淮阴工学院 基于区块链的密文去重和去中心化审计方法
CN115001818B (zh) * 2022-06-01 2024-01-26 国际关系学院 抗随机块生成攻击的轻量级云数据安全去重方法
CN116015630B (zh) * 2022-12-08 2023-11-24 暨南大学 一种轻量级可去重的密文完整性审计方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103227780A (zh) * 2013-03-28 2013-07-31 东南大学 云数据的一个公众可审计存储可验证方案的设计方法
CN103699851A (zh) * 2013-11-22 2014-04-02 杭州师范大学 一种面向云存储的远程数据完整性验证方法
US8874732B1 (en) * 2011-12-08 2014-10-28 Amazon Technologies, Inc. System and method for end-to-end network-based services usage metering validation
CN105721158A (zh) * 2016-01-20 2016-06-29 青岛一帆风顺软件有限公司 云安全隐私性和完整性保护方法和系统
WO2016115663A1 (en) * 2015-01-19 2016-07-28 Nokia Technologies Oy Method and apparatus for heterogeneous data storage management in cloud computing
CN107483585A (zh) * 2017-08-18 2017-12-15 西安电子科技大学 云环境中支持安全去重的高效数据完整性审计系统及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105978695A (zh) * 2016-05-03 2016-09-28 西南石油大学 一种用于云存储数据的批量自审计方法
CN107426165B (zh) * 2017-05-16 2020-10-30 安徽大学 一种支持密钥更新的双向安全云存储数据完整性检测方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874732B1 (en) * 2011-12-08 2014-10-28 Amazon Technologies, Inc. System and method for end-to-end network-based services usage metering validation
CN103227780A (zh) * 2013-03-28 2013-07-31 东南大学 云数据的一个公众可审计存储可验证方案的设计方法
CN103699851A (zh) * 2013-11-22 2014-04-02 杭州师范大学 一种面向云存储的远程数据完整性验证方法
WO2016115663A1 (en) * 2015-01-19 2016-07-28 Nokia Technologies Oy Method and apparatus for heterogeneous data storage management in cloud computing
CN105721158A (zh) * 2016-01-20 2016-06-29 青岛一帆风顺软件有限公司 云安全隐私性和完整性保护方法和系统
CN107483585A (zh) * 2017-08-18 2017-12-15 西安电子科技大学 云环境中支持安全去重的高效数据完整性审计系统及方法

Also Published As

Publication number Publication date
CN110677487A (zh) 2020-01-10

Similar Documents

Publication Publication Date Title
CN110677487B (zh) 一种支持隐私和完整性保护的外包数据去重云存储方法
More et al. Third party public auditing scheme for cloud storage
CN110213042B (zh) 一种基于无证书代理重加密的云数据去重方法
Wang et al. Privacy-preserving public auditing for secure cloud storage
WO2020065633A1 (en) Method, user device, management device, storage medium and computer program product for key management
Sookhak et al. Towards dynamic remote data auditing in computational clouds
Wu et al. CPDA: A confidentiality-preserving deduplication cloud storage with public cloud auditing
CN111355591A (zh) 一种基于实名认证技术的区块链账号安全的管理方法
Gan et al. Efficient and secure auditing scheme for outsourced big data with dynamicity in cloud
Pardeshi et al. Improving data integrity for data storage security in cloud computing
Shin et al. A Survey of Public Provable Data Possession Schemes with Batch Verification in Cloud Storage.
Abo-Alian et al. Auditing-as-a-service for cloud storage
CN112003690B (zh) 密码服务系统、方法及装置
Ponnuramu et al. Secured storage for dynamic data in cloud
CN108494552B (zh) 支持高效收敛密钥管理的云存储数据去重方法
Yu et al. ID‐based dynamic replicated data auditing for the cloud
Jabbar et al. Design and Implementation of Hybrid EC-RSA Security Algorithm Based on TPA for Cloud Storage
CN113259317B (zh) 一种基于身份代理重加密的云存储数据去重方法
Kanagamani et al. Zero knowledge based data deduplication using in-line Block Matching protocolfor secure cloud storage
CN114553557A (zh) 密钥调用方法、装置、计算机设备和存储介质
Kamboj et al. DEDUP: Deduplication system for encrypted data in cloud
Patil et al. Efficient privacy preserving and dynamic public auditing for storage cloud
Abbdal et al. An Efficient Public Verifiability and Data Integrity Using Multiple TPAs in Cloud Data Storage
Prasanthi et al. An Efficient Auditing Protocol for Secure Data Storage in Cloud Computing
Thosar et al. Integrity checking privacy preserving approach to cloud using third party auditor

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
TA01 Transfer of patent application right

Effective date of registration: 20220408

Address after: 101300 North Cultural Ying Village, Gaoliying Town, Shunyi District, Beijing (No. 1, Linkong Second Road)

Applicant after: SINO-PARSONS TECHNOLOGY (BEIJING) Co.,Ltd.

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

Applicant before: Shaanxi Normal University

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant