CN111832073B - 云环境中支持外包数据动态***的确定性删除方法 - Google Patents

云环境中支持外包数据动态***的确定性删除方法 Download PDF

Info

Publication number
CN111832073B
CN111832073B CN202010637582.XA CN202010637582A CN111832073B CN 111832073 B CN111832073 B CN 111832073B CN 202010637582 A CN202010637582 A CN 202010637582A CN 111832073 B CN111832073 B CN 111832073B
Authority
CN
China
Prior art keywords
data
data block
file
leaf node
signature
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
CN202010637582.XA
Other languages
English (en)
Other versions
CN111832073A (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.)
Guilin University of Electronic Technology
Original Assignee
Guilin University of Electronic Technology
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 Guilin University of Electronic Technology filed Critical Guilin University of Electronic Technology
Priority to CN202010637582.XA priority Critical patent/CN111832073B/zh
Publication of CN111832073A publication Critical patent/CN111832073A/zh
Application granted granted Critical
Publication of CN111832073B publication Critical patent/CN111832073B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种云环境中支持外包数据动态***的确定性删除方法,获取两个公私钥对,并得到外包文件的唯一的文件名;利用获取的私钥和文件名计算加密密钥并对所述外包文件加密,此后随机地***获取的多个数据块,并将得到的数据集和所述文件名上传至云服务器,同时根据所述云服务器返回的存储证据和辅助验证信息,验证所述外包文件的存储结果,根据需要***或删除的数据块的叶子节点序号、文件名和对应的时间戳,将得到的数据***命令和第一数据块上传至云服务器,将所述第一数据块***指定位置,并将得到的数据删除命令上传至云服务器,从所述外包文件中删除第二数据块,本发明提供的方法可以同时支持外包数据的动态***和安全删除操作。

Description

云环境中支持外包数据动态***的确定性删除方法
技术领域
本发明涉及云计算技术领域,尤其涉及一种云环境中支持外包数据动态***的确定性删除方法。
背景技术
随着云计算的快速发展,越来越多的数据拥有者愿意使用云存储服务。在云存储中,资源受限的数据拥有者可以将大规模的数据外包给云服务器,从而大大降低本地的存储开销。尽管云存储有很多吸引人的优点,但是云存储中外包数据管理权和所有权分离,使得云存储不可避免地面临一些新的安全挑战(如外包数据的动态***和安全删除)。在云存储中,当数据拥有者想要删除不必要的外包数据,或者向外包数据集***一些新的数据块时,出于经济利益驱动,云服务器不会诚实地执行外包数据***、删除操作,并返回错误的***或者删除结果欺骗数据拥有者。目前似乎还没有外包数据删除方案可以同时支持外包数据的动态***和安全删除操作。
发明内容
本发明的目的在于提供一种云环境中支持外包数据动态***的确定性删除方法,可以同时支持外包数据的动态***和安全删除操作。
为实现上述目的,本发明提供了一种云环境中支持外包数据动态***的确定性删除方法,包括:
获取两个公私钥对,并得到外包文件的唯一文件名;
获取密钥和数据块,并将所述文件名和数据集上传至云服务器;
根据所述云服务器返回的存储证据和辅助验证信息,验证检查所述外包文件的存储结果;
获取需要***新数据块的叶子节点序号及其维护的所有数据块、文件名和对应的时间戳以及辅助认证信息集,并根据需要***新数据块的叶子节点序号、文件名和对应的时间戳,计算第二签名,然后生成数据***命令,并将第一数据块***至所述外包文件中;
获取需要删除数据块的叶子节点序号及其维护的所有数据块、文件名、数据块序号和对应的时间戳以及辅助认证信息集,并根据需要删除数据块的叶子节点序号、文件名、数据块序号和对应的时间戳,计算第四签名,然后生成数据删除命令,并将第二数据块从所述外包文件中删除。
其中,获取两个公私钥对,并得到外包文件的唯一文件名,包括:
获取数据拥有者和云服务器的数字签名公私钥对,并基于单向抗碰撞哈希函数得到外包文件的一个唯一的文件名。
其中,获取密钥和数据块,并将所述文件名和数据集上传至云服务器,包括:
利用获取的数据加密密钥将所述外包文件进行加密,将加密后的所述外包文件分成多块,并随机***获取的多个数据块,得到数据集,同时将***位置进行保存。
其中,获取密钥和数据块,并将所述文件名和数据集上传至云服务器,还包括:
将所述数据集和所述文件名上传至云服务器,并利用Merkle哈希求和树的叶子节点维护所述数据块。
其中,根据所述云服务器返回的存储证据和辅助验证信息,验证检查所述外包文件的存储结果,包括:
利用Merkle哈希求和树对所述数据集进行维护后,根据第一根节点计算出第一签名,并返回存储证据。
其中,根据所述云服务器返回的存储证据和辅助验证信息,验证检查所述外包文件的存储结果,还包括:
根据获取任意所述叶子节点所维护的数据块和对应的辅助验证信息计算第二根节点,并当所述第一根节点和所述第二根节点相等且所述第一签名是基于所述第一根节点的有效签名,则删除所述外包文件的本地备份。
其中,获取需要***新数据块的叶子节点序号及其维护的所有数据块、文件名和对应的时间戳以及辅助认证信息集,并根据需要***新数据块的叶子节点序号、文件名和对应的时间戳,计算第二签名,然后生成数据***命令,并将第一数据块***至所述外包文件中,包括:
根据获取的需要***新数据块的叶子节点序号、文件名和对应的时间戳,计算出第二签名,将得到数据***命令和第一数据块上传至所述云服务器后,利用所述第二签名验证所述数据***命令是否有效,并当所述数据***命令有效时,将所述第一数据块***指定叶子节点维护的数据块的末尾。
其中,获取需要***新数据块的叶子节点序号及其维护的所有数据块、文件名和对应的时间戳以及辅助认证信息集,并根据需要***新数据块的叶子节点序号、文件名和对应的时间戳,计算第二签名,然后生成数据***命令,并将第一数据块***至所述外包文件中,还包括:
更新所述指定叶子节点到根节点路径上的所有节点,得到第三根节点,并根据第三根节点计算第三签名,然后根据返回的所述叶子节点维护的所有数据块和获取的对应的辅助验证信息计算出第四根节点,并当所述第四根节点与所述第三根节点相等,且所述第三签名有效时,完成所述第一数据块的***。
其中,获取需要删除数据块的叶子节点序号及其维护的所有数据块、文件名、数据块序号和对应的时间戳以及辅助认证信息集,并根据需要删除数据块的叶子节点序号、文件名、数据块序号和对应的时间戳,计算第四签名,然后生成数据删除命令,并将第二数据块从所述外包文件中删除,包括:
根据获取的需要删除数据块的叶子节点序号、文件名、数据块序号和对应的时间戳,计算出第四签名,将得到数据删除命令上传至所述云服务器后,利用所述第四签名验证所述数据删除命令是否有效,并当所述数据删除命令有效时,从叶子节点中删除第二数据块。
其中,获取需要删除数据块的叶子节点序号及其维护的所有数据块、文件名、数据块序号和对应的时间戳以及辅助认证信息集,并根据需要删除数据块的叶子节点序号、文件名、数据块序号和对应的时间戳,计算第四签名,然后生成数据删除命令,并将第二数据块从所述外包文件中删除,包括:
更新所述叶子节点到根节点路径上的所有节点,得到第五根节点,并根据第五根节点计算第五签名,并根据返回的所述叶子节点维护的所有数据块和获取的对应的辅助验证信息计算出第六根节点,并当所述第六根节点与所述第五根节点相等,且所述第五签名有效时,完成所述第二数据块的删除。
本发明的一种云环境中支持外包数据动态***的确定性删除方法,获取数据拥有者和云服务器的数字签名公私钥对,并基于单向抗碰撞哈希函数得到外包文件的一个唯一的文件名;利用获取数据拥有者的私钥和文件名计算加密密钥并对所述外包文件加密,并将加密后所得的密文分成多块,此后随机地***获取的多个数据块,并将得到的数据集和所述文件名上传至云服务器,并利用Merkle哈希求和树的叶子节点维护所述数据块,同时根据所述云服务器返回的存储证据和辅助验证信息,验证检查所述外包文件的存储结果,获取需要***新数据块的叶子节点序号及其维护的所有数据块、文件名和对应的时间戳以及辅助认证信息集,并根据需要***新数据块的叶子节点序号、文件名和对应的时间戳,计算第二签名,将得到的数据***命令和第一数据块上传至云服务器,并当第二签名有效时,将所述第一数据块***指定位置,获取需要删除数据块的叶子节点序号及其维护的所有数据块、文件名、数据块序号和对应的时间戳以及辅助认证信息集,并根据需要删除数据块的叶子节点序号、文件名、数据块序号和对应的时间戳,计算第四签名,将得到的数据删除命令上传至云服务器后,当第四签名有效时,从所述外包文件中删除第二数据块,本发明提供的方法可以同时支持外包数据的动态***和安全删除操作。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的一种云环境中支持外包数据动态***的确定性删除方法的步骤示意图。
图2是本发明提供的MSHT结构示意图。
图3是本发明提供的数据***示意图。
图4是本发明提供的数据删除示意图。
图5是本发明提供的另一种数据删除示意图。
图6是本发明提供的数据加密时间开销图
图7是本发明提供的数据存储时间开销图
图8是本发明提供的数据***时间开销图
图9是本发明提供的数据删除时间开销图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
请参阅图1,本发明提供一种云环境中支持外包数据动态***的确定性删除方法,包括:
S101、获取两个公私钥对,并得到外包文件的唯一文件名。
具体的,获取数据拥有者的数字签名(ECDSA)公私钥对(pko,sko)和云服务器的公私钥对(pks,sks),数据拥有者选择的一个安全的单向抗碰撞哈希函数H1(·),并基于单向抗碰撞哈希函数得到外包文件f的一个唯一的文件名nf。Sign是一个ECDSA签名生成方案。
S102、获取密钥和数据块,并将所述文件名和数据集上传至云服务器。
具体的,首先,利用获取的密钥K将所述外包文件f进行加密,得到密文C=EncK(f),其中Enc是一个IND-CPA安全的AES加密算法,密钥K=H1(nf||sko)。
其次,将加密后的所述外包文件即密文C分成n'块,并在随机位置随机***获取的n-n'个数据块,得到数据集D=(C1,···,Cn),同时将***位置进行保存,记录表PF中。所***的数据块不会被删除,这可以保证MSHT不会为空。
最后,将所述数据集D和所述文件名nf上传至云服务器,并利用Merkle哈希求和树的叶子节点维护所述数据块,在所提出的方案中,数据拥有者在上传外包数据之前使用对称加密算法对其进行加密。所选择的安全对称加密算法保证了外包数据的安全性,使得在没有相应的数据解密密钥K的情况下,所加密的数据是IND-CPA安全的。因此,如果没有相关的数据解密密钥,攻击者就无法正确地解密密文。进一步地,所提出的方案能够保证只有数据拥有者能够正确地解密密文。也就是说,所提出的方案可以保证外包数据的机密性。
S103、根据所述云服务器返回的存储证据和辅助验证信息,验证检查所述外包文件的存储结果。
具体的,当所述云服务器接收到所述数据集D后,按照数据拥有者要求构建一个相应的Merkle哈希求和树MSHT对所述数据集D进行维护后,根据第一根节点R计算出第一签名并返回存储证据(SigR,R)给数据拥有者。
当接收到所述存储证据(SigR,R)后,数据拥有者随机选择任意所述叶子节点k,并从云服务器获取其相对应的辅助验证信息然后,计算第二根节点R',并当所述第一根节点和所述第二根节点相等且所述第一签名是基于所述第一根节点的有效签名,即,等式R'=R成立且签名SigR是基于R的有效签名时,则删除所述外包文件的本地备份,其中,Merkle哈希求和树(Merkle Sum Hash Tree,MSHT)由Miao等人提出,可以将其理解为传统Merkle哈希树(Merkle hash tree,MHT)的扩展。与MHT不同,MSHT可以支持数据的动态***和安全删除。因此,MSHT可以用来设计动态数据***和可验证删除方案。此外,在计算哈希值时,MSHT的输入与MHT不同,如图2所提供的MSHT的结构示意图所示。计算叶子节点的哈希值时,MSHT的输入是叶子节点所维护的数据块及其相应的数据块数量,如h1,m=H(mi,1||1),其中1表示第i个叶子节点仅维护一个数据块mi,1。计算非叶子节点的哈希值时,MSHT的输入是它的两个孩子节点的哈希值及其维护的数据块数量,例如h2,1=H(h1,1||h1,2||2)。类似地,我们可以计算所有内部节点的哈希值。进一步,根节点的哈希值为hR=H(h2,1||h2,2||5)。然后,使用公钥签名技术对根节点R计算签名。
S104、获取需要***新数据块的叶子节点序号及其维护的所有数据块、文件名和对应的时间戳以及辅助认证信息集,并根据需要***新数据块的叶子节点序号、文件名和对应的时间戳,计算第二签名,然后生成数据***命令,并将第一数据块***至所述外包文件中。
具体的,首先,获取所述叶子节点j维护的所有数据块和叶子节点j对应的所述辅助验证信息并根据叶子结点的序号j、时间戳Tj、文件名nf计算第二签名将得到数据***命令IR=(nf,SigI,Tj,j)和第一数据块Cy上传至所述云服务器。
其次,接收到数据***命令IR以及数据块Cy后,利用所述第二签名验证所述数据***命令IR是否有效,并当所述数据***命令IR有效时,将所述第一数据块***所述叶子节点j维护的数据块的指定位置,即将数据块Cy***到叶子节点j所维护数据块的末尾,同时,所述云服务器更新所述叶子节点j到根节点路径上的所有节点,从而得到一个新的Merkle哈希求和树MSHTI。云服务器将新的第三根节点RI及其第三签名返回给数据拥有者,其中,/>
最后,数据拥有者根据返回叶子节点j维护的所有数据块和叶子节点j对应的所述辅助验证信息计算得到第四根节点RI',并根据第四根节点RI'计算第三签名,然后将其与第三根节点RI比较,并验证第三签名/>的有效性。所述第四根节点RI'与所述第三根节点RI相等,且所述第三签名有效时,完成所述第一数据块的***。即,如果等式RI'=RI成立且第三签名/>有效,那么数据拥有者认为云服务器诚实地执行数据***操作,其中,MSHT可以支持数据的动态***和安全删除。一旦执行数据***或者删除操作,MSHT也同时被更新。假设数据拥有者希望向MSHT的第三个叶子节点***一个新的数据块m3,2。然后,第三个叶子节点的哈希值应该更新为h1,3=H(m3,1||m3,2||2)。同时,更新从第三个叶子节点到根节点路径上每个节点的哈希值,如图3所提供的数据***示意图所示。最后,通过公钥签名技术计算更新后MSHT根节点的签名。
S105、获取需要删除数据块的叶子节点序号及其维护的所有数据块、文件名、数据块序号和对应的时间戳以及辅助认证信息集,并根据需要删除数据块的叶子节点序号、文件名、数据块序号和对应的时间戳,计算第四签名,然后生成数据删除命令,并将第二数据块从所述外包文件中删除。
具体的,首先,获取所述叶子节点i维护的所有数据块和对应的所述辅助验证信息并根据并需要删除数据块的叶子节点序号i、文件名nf、数据块序号q和对应的时间戳Td计算出第四签名/>将得到数据删除命令DR=(nf,Sigd,Td,i,q)上传至所述云服务器,其表示希望将叶子节点i的第q个数据块删除。
其次,接收到删除命令DR后,云服务器利用所述第四签名验证所述数据删除命令是否有效,并当所述数据删除命令DR有效时,从所述叶子节点i中删除第二数据块Ci,q,同时更新所述叶子节点i到根节点路径上的所有节点,从而得到一个新的Merkle哈希求和树MSHTD。然后,云服务器将新的第五根节点RD及其第五签名返回给数据拥有者,其中
最后,根据返回的叶子节点i维护的所有数据块和对应的所述辅助验证信息计算出第六根节点,同时利用所述第六根节点计算第五签名,并当所述第六根节点与所述第五根节点相等,且所述第五签名有效时,完成所述第二数据块的删除,即接收到第五根节点RD及第五签名/>后,数据拥有者重新计算得到第六根节点R'D,然后将其与第五根节点RD比较,并验证第五签名/>的有效性。如果等式R'D=RD成立且签名/>有效,那么数据拥有者认为云服务器诚实地执行数据删除操作。此后,如果数据块Ci,q在云服务器上被发现,数据拥有者有权获得补偿。其中,在执行数据删除操作后,MSHT也将被更新,如图4、图5所示。数据拥有者将n-n'个数据块***到数据集中。当数据拥有者想要删除一些不必要的数据块时,***的数据块不会被删除,保证Merkle哈希求和树不为空,从而确保删除证据可以顺利生成。在删除结果验证过程中,数据拥有者利用辅助验证信息重新计算一个新的根节点,然后将其与云服务器返回的根节点进行比较。数据***和删除操作会改变叶子节点到根节点的路径。因此,从剩余的叶子节点到达根节点的路径有很多条。我们可以假设Merkle哈希求和树还剩下m个叶子节点。因此,有(2m-2)!/m!(m-1)!个路径。进一步地,如果云服务器不诚实地执行数据删除操作,那么它正确地猜测从叶子节点到根节点的路径的概率可以忽略不计。因此,如果数据拥有者重新计算新的根节点能够成功通过验证,则意味着云服务器确实诚实地执行了数据删除命令。
同时注意到,在数据删除结果验证过程中,验证者需要使用到相应的叶子节点维护的数据块、相应的辅助认证信息和云服务器的公钥。也就是说,验证过程不需要数据拥有者和云服务器的任何私有信息。进一步地,任何拥有数据删除证据的验证者都可以验证数据删除结果。因此,可以认为所提出的方案可以实现外包数据的公开可验证删除。
并且数据删除命令DR包含一个签名Sigd,该签名由数据拥有者利用其私钥sko计算得到。也就是说,只有数据拥有者可以生成数据删除命令DR,其他任何人不能伪造它。因此,云服务器可以将数据删除命令DR视为一个证据,它可以证明数据拥有者已要求云服务器删除数据块。因此,不诚实的数据拥有者无法成功地否认他的数据删除命令并诽谤云服务器。此外,恶意的云服务器无法以不可忽略的概率成功伪造数据删除命令DR。注意到数据拥有者如果从未生成过这样的数据删除命令,那么,恶意的云服务器无法证明数据拥有者要求他删除数据。也就是说,恶意的云服务器无法以不可忽略的概率成功否认其不诚实的数据删除操作。
举例来说,从理论上比较了所提出的方案与现有的三个删除方式的功能,比较结果如表1所示。
表1方案功能比较
Scheme Scheme16 Scheme38 Scheme42 OurScheme
SystemModel Amortized Amortized Amortized Amortized
TrustedThirdParty Yes Yes No No
DateConfidentiality Yes Yes Yes Yes
DynamicDateInsertion No No No Yes
VerifableDateDeletion Yes Yes Yes Yes
AccountableTraceability No Yes Yes Yes
从上表1我们可以得到以下结果。首先,四个方案都能保证摊销***模型下的外包数据机密性。其次,这四个方案都可以实现外包数据的公开可验证删除,但是只有第一种方案Scheme16不能满足责任可追踪性,这与其他三种方案有很大的不同。再次,从数据拥有者的角度来看,数据动态***已成为最基本的需求之一。因此,我们所提出的方案为数据拥有者提供向外包数据集***一些新的数据块的能力。但是,其他三个方案无法实现外包数据的动态***。最后,可信第三方已经成为阻碍外包数据公开可验证删除***发展的瓶颈。因此,我们所提出的方案和第三种方案Scheme42消除了可信第三方,相较于其他两个方案,我们提出的方案更有优势。
然后,利用符号S和V来表示签名生成和签名验证操作。同时,我们用H表示哈希计算、E表示数据加密操作,m表示Merkle哈希求和树的叶子节点数。为简单起见,我们不考虑数据拥有者和云服务器之间的通信开销。同时,利用OpenSSL数据库和PBC数据库对所提出的方案进行实验仿真。所有的实验都是在配置为Intel(R)Core(TM)i5-6200U处理器、8GB内存、2.4GHz的笔记本电脑上实现。
在数据加密阶段,主要的计算开销来自于数据加密密钥的生成和数据加密。具体来说,数据拥有者需要执行哈希计算来生成加密密钥,然后使用该密钥加密文件。因此,计算开销为1H+1E。在本实验中,加密1MB到8MB的明文数据,并假设Merkle哈希求和树的叶子节点数为8192。我们所提出方案和第二、第三种方案在数据加密阶段的时间开销如图6所示。虽然三个方案的时间开销都随着明文的大小增大而增加,但是数据加密操作是一次性的。同时,需要注意的是,我们所提出的方案需要的时间开销最少。此外,我们提出方案的增长率比其他两个方案的增长率要低。因此,可以认为我们的方案比其他两个方案更高效。
在数据存储过程,主要的计算开销来自于存储证据的生成和验证,它随着Merkle哈希求和树中叶子节点的数量的增加而增加。云服务器为数据拥有者维护外包数据,主要的计算开销是构造Merkle哈希求和树。假设Merkle哈希求和树包含m个叶子节点,计算开销为(2m-1)H+1S。在存储验证过程,数据拥有者随机选择一个叶子节点,从云服务器获取相应的辅助认证信息,并通过重新计算根节点、验证签名的有效性来验证存储结果。因此,存储验证过程的计算开销是1V+(log2m+1)H。因此,我们将叶子节点从25增加到212,并从数据拥有者和云服务器的角度测试大概的时间开销,如图7所示。我们可以发现,大多数计算任务是由云服务器执行。同时,注意到此过程是一次性的,且云服务器具有强大的计算能力。此外,数据拥有者的时间开销增长非常缓慢,可以将其视为一个常量。因此,该阶段的时间开销对我们所提出方案的整体效率影响不大。
在数据***过程,要将一个新的数据块***到外包数据集中,数据拥有者需要生成一个数据***命令并验证云服务器返回的数据***结果,因此数据拥有者端的计算开销为1S+1V+(log2m+1)H。要完成数据***,云服务器的计算亦为1S+1V+(log2m+1)H。数据***的时间开销如图8所示。我们可以发现,时间开销增长非常缓慢,可以将其看作是常量。因此,数据***操作是非常高效的。
最后,当不再需要数据时,数据拥有者将要求云服务器删除数据。数据拥有者的主要计算开销是生成数据删除命令,并验证接收到的数据删除证据。另外,云服务器需要验证数据删除命令、删除数据、更新Merkle哈希求和树。假设需要删除一个外包数据块,总计算开销是2S+2V+2(log2m+1)H。我们假设从外包数据集中删除一个数据块,此过程的计算开销如图9所示。可以很容易地看出,本发明所提出方案的时间增长率很低,可以忽略不计。同时,本发明所提出方案的时间开销小于另一方案。因此,仍然可以认为本发明所提出方案在数据删除过程是高效的。
本发明的一种云环境中支持外包数据动态***的确定性删除方法,获取数据拥有者和云服务器的数字签名公私钥对,并基于单向抗碰撞哈希函数得到外包文件的一个唯一的文件名;利用获取的数据拥有者的私钥和文件名计算加密密钥并对所述外包文件加密,此后随机地***获取的多个数据块,并将得到的数据集和所述文件名上传至云服务器,并利用Merkle哈希求和树的叶子节点维护所述数据块,同时根据所述云服务器返回的存储证据和辅助验证信息,验证检查所述外包文件的存储结果,获取需要***新数据块的叶子节点序号及其维护的所有数据块、文件名和对应的时间戳以及辅助认证信息集,并根据需要***新数据块的叶子节点序号、文件名和对应的时间戳,计算第二签名,将得到的数据***命令和第一数据块上传至云服务器,并当第二签名有效时,将所述第一数据块***指定位置,获取需要删除数据块的叶子节点序号及其维护的所有数据块、文件名、数据块序号和对应的时间戳以及辅助认证信息集,并根据需要删除数据块的叶子节点序号、文件名、数据块序号和对应的时间戳,计算第四签名,将得到的数据删除命令上传至云服务器后,当第四签名有效时,从所述外包文件中删除第二数据块,本发明提供的方法可以同时支持外包数据的动态***和安全删除操作。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (7)

1.一种云环境中支持外包数据动态***的确定性删除方法,其特征在于,包括:
获取两个公私钥对,并得到外包文件的唯一文件名;
获取密钥和数据块,并将所述文件名和数据集上传至云服务器;
根据所述云服务器返回的存储证据和辅助验证信息,验证检查所述外包文件的存储结果;
获取需要***新数据块的叶子节点序号及其维护的所有数据块、文件名和对应的时间戳以及辅助认证信息集,并根据需要***新数据块的叶子节点序号、文件名和对应的时间戳,计算第二签名,然后生成数据***命令,并将第一数据块***至所述外包文件中;
获取需要删除数据块的叶子节点序号及其维护的所有数据块、文件名、数据块序号和对应的时间戳以及辅助认证信息集,并根据需要删除数据块的叶子节点序号、文件名、数据块序号和对应的时间戳,计算第四签名,然后生成数据删除命令,并将第二数据块从所述外包文件中删除;
获取密钥和数据块,并将所述文件名和数据集上传至云服务器,包括:
利用获取的数据加密密钥将所述外包文件进行加密,将加密后的所述外包文件分成多块,并随机***获取的多个数据块,得到数据集,同时将***位置进行保存;
获取密钥和数据块,并将所述文件名和数据集上传至云服务器,还包括:
将所述数据集和所述文件名上传至云服务器,并利用Merkle哈希求和树的叶子节点维护所述数据块;
根据所述云服务器返回的存储证据和辅助验证信息,验证检查所述外包文件的存储结果,包括:
利用Merkle哈希求和树对所述数据集进行维护后,根据第一根节点计算出第一签名,并返回存储证据。
2.如权利要求1所述的云环境中支持外包数据动态***的确定性删除方法,其特征在于,获取两个公私钥对,并得到外包文件的唯一文件名,包括:
获取数据拥有者和云服务器的数字签名公私钥对,并基于单向抗碰撞哈希函数得到外包文件的一个唯一的文件名。
3.如权利要求1所述的云环境中支持外包数据动态***的确定性删除方法,其特征在于,根据所述云服务器返回的存储证据和辅助验证信息,验证检查所述外包文件的存储结果,还包括:
根据获取任意所述叶子节点所维护的数据块和对应的辅助验证信息计算第二根节点,并当所述第一根节点和所述第二根节点相等且所述第一签名是基于所述第一根节点的有效签名,则删除所述外包文件的本地备份。
4.如权利要求3所述的云环境中支持外包数据动态***的确定性删除方法,其特征在于,获取需要***新数据块的叶子节点序号及其维护的所有数据块、文件名和对应的时间戳以及辅助认证信息集,并根据需要***新数据块的叶子节点序号、文件名和对应的时间戳,计算第二签名,然后生成数据***命令,并将第一数据块***至所述外包文件中,包括:
根据获取的需要***新数据块的叶子节点序号、文件名和对应的时间戳,计算出第二签名,将得到数据***命令和第一数据块上传至所述云服务器后,利用所述第二签名验证所述数据***命令是否有效,并当所述数据***命令有效时,将所述第一数据块***指定叶子节点维护的数据块的末尾。
5.如权利要求4所述的云环境中支持外包数据动态***的确定性删除方法,其特征在于,获取需要***新数据块的叶子节点序号及其维护的所有数据块、文件名和对应的时间戳以及辅助认证信息集,并根据需要***新数据块的叶子节点序号、文件名和对应的时间戳,计算第二签名,然后生成数据***命令,并将第一数据块***至所述外包文件中,还包括:
更新所述指定叶子节点到根节点路径上的所有节点,得到第三根节点,并根据第三根节点计算第三签名,然后根据返回的所述叶子节点维护的所有数据块和获取的对应的辅助验证信息计算出第四根节点,并当所述第四根节点与所述第三根节点相等,且所述第三签名有效时,完成所述第一数据块的***。
6.如权利要求5所述的云环境中支持外包数据动态***的确定性删除方法,其特征在于,获取需要删除数据块的叶子节点序号及其维护的所有数据块、文件名、数据块序号和对应的时间戳以及辅助认证信息集,并根据需要删除数据块的叶子节点序号、文件名、数据块序号和对应的时间戳,计算第四签名,然后生成数据删除命令,并将第二数据块从所述外包文件中删除,包括:
根据获取的需要删除数据块的叶子节点序号、文件名、数据块序号和对应的时间戳,计算出第四签名,将得到数据删除命令上传至所述云服务器后,利用所述第四签名验证所述数据删除命令是否有效,并当所述数据删除命令有效时,从叶子节点中删除第二数据块。
7.如权利要求6所述的云环境中支持外包数据动态***的确定性删除方法,其特征在于,获取需要删除数据块的叶子节点序号及其维护的所有数据块、文件名、数据块序号和对应的时间戳以及辅助认证信息集,并根据需要删除数据块的叶子节点序号、文件名、数据块序号和对应的时间戳,计算第四签名,然后生成数据删除命令,并将第二数据块从所述外包文件中删除,包括:
更新所述叶子节点到根节点路径上的所有节点,得到第五根节点,并根据第五根节点计算第五签名,并根据返回的所述叶子节点维护的所有数据块和获取的对应的辅助验证信息计算出第六根节点,并当所述第六根节点与所述第五根节点相等,且所述第五签名有效时,完成所述第二数据块的删除。
CN202010637582.XA 2020-07-05 2020-07-05 云环境中支持外包数据动态***的确定性删除方法 Active CN111832073B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010637582.XA CN111832073B (zh) 2020-07-05 2020-07-05 云环境中支持外包数据动态***的确定性删除方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010637582.XA CN111832073B (zh) 2020-07-05 2020-07-05 云环境中支持外包数据动态***的确定性删除方法

Publications (2)

Publication Number Publication Date
CN111832073A CN111832073A (zh) 2020-10-27
CN111832073B true CN111832073B (zh) 2023-07-18

Family

ID=72901133

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010637582.XA Active CN111832073B (zh) 2020-07-05 2020-07-05 云环境中支持外包数据动态***的确定性删除方法

Country Status (1)

Country Link
CN (1) CN111832073B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112040483A (zh) * 2020-06-04 2020-12-04 南京南瑞信息通信科技有限公司 一种轻量级高效身份认证方法及***
CN113448515A (zh) * 2021-06-04 2021-09-28 桂林电子科技大学 一种云存储中支持外包数据细粒度***的可验证删除方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108600171A (zh) * 2018-03-22 2018-09-28 陕西师范大学 一种支持细粒度访问的云数据确定性删除方法
CN110377225A (zh) * 2019-05-23 2019-10-25 杨展鹏 一种支持外包数据安全转移与可验证删除的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150333930A1 (en) * 2014-05-15 2015-11-19 Akamai Technologies, Inc. Dynamic service function chaining
US10057218B2 (en) * 2014-07-28 2018-08-21 The Boeing Company Network address-based encryption
US20190361917A1 (en) * 2018-05-25 2019-11-28 Bao Tran Smart device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108600171A (zh) * 2018-03-22 2018-09-28 陕西师范大学 一种支持细粒度访问的云数据确定性删除方法
CN110377225A (zh) * 2019-05-23 2019-10-25 杨展鹏 一种支持外包数据安全转移与可验证删除的方法

Also Published As

Publication number Publication date
CN111832073A (zh) 2020-10-27

Similar Documents

Publication Publication Date Title
Yang et al. Lightweight and privacy-preserving delegatable proofs of storage with data dynamics in cloud storage
CN111639361B (zh) 一种区块链密钥管理方法、多人共同签名方法及电子装置
Sun et al. Catch you if you lie to me: Efficient verifiable conjunctive keyword search over large dynamic encrypted cloud data
Chen et al. BL-MLE: Block-level message-locked encryption for secure large file deduplication
Barsoum et al. On verifying dynamic multiple data copies over cloud servers
US8266439B2 (en) Integrity verification of pseudonymized documents
Miao et al. Optimized verifiable fine-grained keyword search in dynamic multi-owner settings
CN107483585B (zh) 云环境中支持安全去重的高效数据完整性审计***及方法
Rady et al. Integrity and confidentiality in cloud outsourced data
CN112365945B (zh) 基于区块链的电子病历细粒度访问控制和密文可搜索方法
Li et al. Privacy-preserving data utilization in hybrid clouds
Li et al. A Blockchain‐Based Public Auditing Scheme for Cloud Storage Environment without Trusted Auditors
Liu et al. An improved dynamic provable data possession model
CN111832073B (zh) 云环境中支持外包数据动态***的确定性删除方法
KR102483369B1 (ko) Did 기반의 사용자 데이터 저장 및 공유 시스템
Liang et al. VPAMS: Verifiable and practical attribute-based multi-keyword search over encrypted cloud data
Ying et al. Reliable policy updating under efficient policy hidden fine-grained access control framework for cloud data sharing
Li et al. A Blockchain‐Based Public Auditing Protocol with Self‐Certified Public Keys for Cloud Data
CN110750796A (zh) 一种支持公开审计的加密数据去重方法
CN110851848B (zh) 对称可搜索加密的隐私保护方法
Ma et al. CP‐ABE‐Based Secure and Verifiable Data Deletion in Cloud
CN109743327B (zh) 基于无证书的云存储中共享数据的完整性公开验证方法
Fan et al. Enhancing cloud storage security against a new replay attack with an efficient public auditing scheme
Zhou et al. An efficient and secure data integrity auditing scheme with traceability for cloud-based EMR
Kim et al. Privacy-preserving public auditing for shared cloud data with secure group management

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