CN109088850B - 基于卢卡斯序列定位错误文件的批量云审计方法 - Google Patents
基于卢卡斯序列定位错误文件的批量云审计方法 Download PDFInfo
- Publication number
- CN109088850B CN109088850B CN201810649920.4A CN201810649920A CN109088850B CN 109088850 B CN109088850 B CN 109088850B CN 201810649920 A CN201810649920 A CN 201810649920A CN 109088850 B CN109088850 B CN 109088850B
- Authority
- CN
- China
- Prior art keywords
- data
- audit
- files
- data files
- storage server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/321—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 a third party or a trusted authority
-
- 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/3271—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 challenge-response
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Medical Informatics (AREA)
- Power Engineering (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Epidemiology (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于卢卡斯序列定位错误文件的批量云审计方法,首先,本方法可扩展性强,无论被审计文件是单个还是多个,本方法均可一次处理;其次,利用自查询技术和多项式承诺技术,将批量审计阶段的通信开销从线性级降到常数量级,即不随被审计文件个数而线性递增;再次,在批量审计任务失败时,利用卢卡斯序列的递归性和黄金分割性,设计了一种新型的错误文件定位方法,并针对特殊情况(被审计文件的数量是一个卢卡斯数)和一般情况(被审计文件的数量是一个任意正整数)的处理方法分别进行了详细介绍;最后,本方法可防止好奇的第三方审计者和云服务提供商获取用户数据文件的数据具体内容,很好的保护数据文件的机密性和隐私性。
Description
技术领域
本发明属于云存储中数据完整性验证的技术领域,具体涉及一种基于卢卡斯序列(Lucas sequence)定位错误数据文件的新型高效批量云审计方法。
背景技术
物联网应用领域中,医疗物联网(Internet of Medical Things,IoMT)一直是近年来备受关注的焦点,图1展示了医疗物联网的系统模型,人体携带的各种存储能力受限的移动传感器一天24小时间断的产生海量医疗数据。云存储服务平台的出现为海量医疗数据的存储提供了有效的解决方案,但云外包存储数据的完整性、隐私性等安全问题仍是用户选择这种云外包存储的主要顾虑,也是影响云存储技术进一步发展的一个障碍。因此,在医疗物联网的应用背景下,如何确保外包存储数据的完整性和隐私性显得尤为重要。
近年来,云外包存储数据的完整性验证技术已被许多学者持续关注,并提出了多种完整性验证和审计技术,例如利用HMAC哈希函数来实现远程云存储数据的完整性验证、利用RSA签名的同态特征来实现数据的完整性验证、云用户高效撤销的共享数据公共审计方案、基于云的无线人体区域网络的公共审计方案、云中同态验证环签名机制共享数据的公共审计方案等;另外,中国发明专利CN201610871538、CN20150390398.9也分别提出了云数据的完整性验证方法。
在上述公共云审计方案中,多数方案只关注单个文件的完整性审计,不考虑保护数据机密性以及第三方审计者可能会在短时间内处理多个审计申请的情况。一旦发生第三方审计者短时间内接收到多个审计请求的情况,第三方审计者只能按序依次审计,审计效率会大大降低。可以扩展为批量审计的个别方案,它们审计阶段的通信开销均随被审计的文件数或被挑战的数据块数的增长而线性增长,在恶劣的网络环境情况下,这种通信成本的增长会极大影响批量审计的效率。此外,虽然批量审计在验证数据完整性方面非常高效,但当批量审计任务失败时,表明被审计数据文件中有损坏数据文件,目前识别和定位出被损坏数据文件只有一个传统的二分法,该法非常低效。因此,设计一个高效的批量云审计方案和一个新的错误文件定位方法是一个非常具有挑战性的研究问题。
发明内容
针对现有技术中存在的问题,本发明的目的是基于卢卡斯递归序列,提供一种存储安全、审计高效、定位快速的批量云审计方法。
为了实现上述任务,本发明采用以下技术方案:
一种基于卢卡斯序列定位错误文件的批量云审计方法,包括以下步骤:
步骤1,云存储服务器生成并公开系统参数;
步骤2,用户根据云存储服务器参数生成用于标签的公钥和私钥、对称加密算法的密钥,以及数据认证元的辅助值;
步骤3,用户将需要外包到云存储服务器的数据文件进行分块,并将每个分块进一步划分成数据字段,生成数据文件的标签,并对所述的数据文件进行盲化处理得到密文文件,然后生成数据认证元集合;最后用户将数据文件的标签,密文文件以及数据认证元集合存储到云存储服务器,然后删除用户本地存储的数据文件和密文文件;
步骤4,用户向第三方审计者发送审计请求,第三方审计者收到不同用户发来的审计请求后,验证这些审计请求的合法性,若存在不合法的审计请求则拒绝;对于合法的审计请求,第三方审计者生成审计挑战并发送给云存储服务器;
步骤5,云存储服务器根据所述审计挑战生成相应的审计证明,并将审计证明返回给第三方审计者;
步骤6,第三方审计者收到审计证明后进行验证,经验证如果所述的数据文件被云存储服务器保存完整,则给相应的用户返回审计报告;如数据文件发生损坏,则采用卢卡斯序列查找法定位数据文件中的错误文件;所述的查找法包括:
判断被审计的数据文件的总数是否为卢卡斯数列中的一个数,如果是则执行步骤6.1,不是则执行步骤6.2;
步骤6.1,第三方审计者将被审计的数据文件按照卢卡斯序列的递归关系分为两部分,其中较少部分是第三方审计者记录的审计过程中未出错或出错次数少的数据文件组成,将较少一部分的数据文件通过云存储服务器进行审计后,第三方审计者进行验证:
如果验证通过,则错误文件位于较多一部分数据文件中,此时对所述较多一部分数据文件再次按照卢卡斯序列的递归关系划分成两部分,较少部分是在该部分中审计未出错或出错次数少的数据文件组成,并进行审计、验证;
如果验证不通过,则较少一部分数据文件中包含错误文件,同时较多的一部分数据文件中可能包含错误文件,则将所述较少一分部数据文件再次按照卢卡斯序列的递归关系划分成两部分,将此次划分后得到的较少部分的数据文件、首次划分后得到的较多一部分的数据文件进行审计、验证;
步骤6.2,被审计的数据文件总数为任意一个正整数M,第三方审计者将M划分成一个小于M且最接近M的卢卡斯数和剩余数之和,利用此法对被审计的数据文件进行m次循环划分,从而将所述的数据文件共划分为m+1个子部分,再将这m+1个子部分的数据文件划分成两部分,并将这两部分中较少部分的数据文件进行审计、验证。
进一步地,步骤1所述的云存储服务器生成并公开系统参数,包括:
云存储服务器生成并公开系统参数cp={p,G,GT,g,e,h,E,ψ,π},其中p为一个大素数,G、GT为p阶的乘法循环群,g为乘法循环群G的生成元,e为G×G→GT上的一个双线性对,h为hash函数E为对称加密算法,伪随机函数π为伪随机置换。
进一步地,步骤2的具体过程包括:
进一步地,步骤3的具体过程包括:
步骤3.1,数据文件的划分
步骤3.2,生成标签
步骤3.3,数据文件的盲化处理
用户Uθ利用所述的对称加密算法E,用以下方式盲化数据文件划分成的数据字段:
步骤3.4,生成数据认证元集合
用户Uθ利用下式得到数据认证元集合:
步骤3.5,文件的存储
用户Uθ发送存储文件信息{TagF (θ),F(θ)′,Φ(θ)}给云存储服务器进行存储,当收到云服务器已安全存储的反馈,用户Uθ删除本地存储的数据文件F(θ)及其密文文件F(θ)′;
进一步地,步骤4的具体过程包括:
用户向第三方审计者发送审计请求,第三方审计者收到来自N′个不同用户发来的审计请求后,验证这些审计请求中用户和文件的合法性,若存在不合法的审计请求,则第三方审计者拒绝并剔除不合法的审计请求,N′≤N;对于合法的审计请求,第三方审计者按照以下步骤生成审计挑战:
第三方审计者随机选取一个挑战数目c,c为一个小于等于n的正整数,选取一个随机值用于多项式函数,选择分别作为伪随机函数ψ和伪随机置换π的密钥,输出审计挑战Q={c,r,kψ,kπ}并发送给云存储服务器。
进一步地,所述的步骤5包括:
首先对盲化后的加密矩阵F(θ)′逐列计算j∈{1,2,···,s},其中为用户Uθ对加密后所得密文字段;其次利上述计算的构造一个s次多项式函数其中s是字段个数;最后将第三方审计者选择的随机值r带入函数φ(x)得γ(θ)=φ(r),并生成
步骤5.3,云存储服务器输出审计证明P={γ,ξ,σ},并将审计证明返回给第三方审计者。
进一步地,步骤6中所述的第三方审计者收到审计证明后进行验证,经验证如果所述的数据文件被云存储服务器保存完整,则给相应的用户返回审计报告,包括:
第三方审计者验证下式是否成立:
如果成立,第三方审计者认为所有被审计的数据文件均被云服务器保存完整,第三方审计者给相应的用户返回相应的审计报告;如果不成立,则第三方审计者认为某些审计的数据文件发生损坏。
进一步地,步骤6.1的具体过程包括:
若被审计的数据文件的总数为一个卢卡斯数列中的一个数,称被审计的数据文件总数为卢卡斯数L(d);
步骤6.1.1,因卢卡斯数L(d)=L(d-1)+L(d-2),第三方审计者将被审计的数据文件分为两部分,第一部分由第三方审计者在审计过程中未出错或出错次数较少的L(d-2)个数据文件组成,第二部分由剩余的L(d-1)个数据文件组成,其中第一部分中数据文件的数目少于第二部分;
所述的未出错或出错次数较少是指:第三方审计者记录了所有被审计过的数据文件的出错次数a/审计总次数b,如果某数据文件审计未出过错,则a=0,a/b=0,对未被审计的文件赋值a/b=0/0;所述的第一部分由被审计文件中a/b值最小的文件组成;
步骤6.1.2,第三方审计者对云存储服务器提交第一部分L(d-2)个数据文件的审计申请,云存储服务器返回该部分的审计证明,第三方审计者对该审计证明进行验证:
①当审计证明通过第三方审计者的验证时,则说明错误文件一定位于第二部分L(d-1)个数据文件中,将第二部分L(d-1)个数据文件分为L(d-3)和L(d-2)两个部分,其中较少的部分,即L(d-3)个数据是第三方审计者从L(d-1)个数据文件中审计未出错或出错次数少的数据文件组成,剩下的数据文件组成了L(d-2)部分,将L(d-3)个数据文件通过云存储服务器进行审计,云存储服务器返回L(d-3)个数据文件的审计证明,第三方审计者对继续该审计证明进行验证;
②当审计证明未通过第三方审计者的验证时,则说明第一部分的L(d-2)个文件中包含错误文件,而第二部分L(d-1)个数据文件中包含或不包含错误文件;将第一部分L(d-2)个数据文件分为L(d-4)和L(d-3)两个部分,将其中较少一部分的L(d-4)个数据文件、首次划分后得到的第二部分L(d-1)个数据文件云存储服务器进行审计,云存储服务器返回这两部分文件的审计证明,第三方审计者继续对这两个审计证明分别进行验证。
进一步地,步骤6.2的具体过程包括:
记被审计的数据文件总数为一个任意的正整数M,第三方审计者将被审计的数据文件分成两部分,第一部分包含L1(d)个数据文件,其中L1(d)是小于M的最大卢卡斯数,则第二部分包含M-L1(d)个数据文件;将第二部分M-L1(d)个数据文件分为两部分,第一部分包含L2(d)个数据文件,其中L2(d)是一个小于M-L1(d)的最大卢卡斯数,第二部分包含M-L1(d)-L2(d)个数据文件;
经过有限m次的循环操作,M个数据文件可被分为m+1子部分,M可表示为如下形式:
M=L1(d)+L2(d)+…+Lm(d)+Lm+1(d);
将所述的m+1子部分的数据文件划分成两部分,选择L(d-2)=L1(d-2)+…+Lm+1(d-2)个数据文件作为第一大部分,选择L(d-1)=L1(d-1)+…+Lm+1(d-1)个数据文件作为第二大部分;将数目较少的第一大部分的数据文件通过云存储服务器进行审计,云存储服务器返回第一大部分L(d-2)个数据文件的审计证明,第三方审计者对该审计证明进行验证。
本发明与现有技术相比具有以下技术特点:
第一,本发明考虑到第三方审计者短时间内收到多个审计任务,为了节约审计时间,提高审计效率,提出让第三方审计者批量处理审计任务的方法,目前这样处理的方法相对来说非常少,多数方法都是顺序处理单个审计任务,导致审计效率较低,当然本发明也可以处理单个审计任务,也可以同时处理多个审计任务。
第二,目前多数公开的审计方案中,数据文件都是以明文形式进行外包存储,导致数据的机密性和隐私性都被云存储服务器和第三方审计者知晓,本文利用轻量级加密算法,对数据文件进行分块盲化处理,保证了数据文件的机密性和隐私性。
第三,少数可以扩展成批审计的方法存在挑战期间和生成证据量与被审计文件数目线性相关的问题,对于网络环境较差或带宽受限的情况下,审计效率非常低下,本发明专利利用多项式承诺技术和聚合方法,将第三方审计者对多个被审计文件生成的挑战Q以及云存储中心返回证据P都降为常数量级,与被审计文件数目完全无关。
第四,当批审计失败时,说明被审计文件中存在完整性破坏文件(后称损害文件),如何找出该损坏文件,目前少数可扩展成批审计的方法都没有对其进行深入探讨。考虑到传统二分法随机一分为二,损坏文件可能随机分布,定位起来比较费时,本发明想结合第三方审计者的先验概率,把少数不出错或出过一两次错的文件分出小部分,进行批审计且希望一次通过审计,提高批审计成功率,减少随机一分为二所带来的重复审计,逐步缩小定位损坏文件的范围。本发明基于卢卡斯数列递归思想,主要是卢卡斯序列属于黄金分割数列,且划分成非对分的两部分,比对等分的二分法更契合第三方审计者的先验概率统计。本发明提出方法和传统二分法做了相关比较,综合考虑计算量和通信量,本方法在平均情况下优于二分法。
附图说明
图1为医疗物联网系统模型图;
图2为云审计系统模型图;
图3为本发明中批量审计以及错误文件定位算法概要;
图4为特殊情况时的审计流程图;
图5为特殊情况下定位错误文件本发明方法和传统的二分法的所需时间对比图;
图6为一般情况下定位错误文件本发明方法和传统的二分法的所需时间对比图,其中(6-1)为本发明方法,(6-2)为传统的二分法。
具体实施方式
以下结合附图对本发明方案进行进一步详细说明。
如图2所示,一种基于卢卡斯序列定位错误文件的批量云审计方法,包括以下步骤:
步骤1,云存储服务器生成并公开系统参数;
云存储服务器根据系统安全参数κ选择合适素数生成算法生成一个二进制长度大于等于κ的大素数p,利用已有PBC数据库随机选择两个p阶的乘法循环群G、GT,以及乘法循环群G的生成元g,一个双线性对e:G×G→GT,利用Cryptopp库选择一个抗强碰撞的hash函数,如MD5算法或者SHA1算法,将任意长度的二进制串作为函数输入,函数输出为{1,2,3,...,p-1}中的任意一个数值,形式化表达为所述的抗强碰撞即表示在该hash函数定义域找不到一对m≠m'使得h(m)=h(m');一个轻量级的对称加密算法E,如MIBS算法、Blowfish算法等;一个伪随机函数和一个伪随机置换n为由伪随机函数和置换算法所确定的一个有限正整数,云存储服务器公开系统参数cp={p,G,GT,g,e,h,E,ψ,π}。
步骤2,用户根据云存储服务器参数生成用于标签的公钥和私钥、对称加密算法的密钥,以及数据认证元的辅助值;具体地:
步骤3,用户将需要外包到云存储服务器的数据文件进行分块,并将每个分块进一步划分成数据字段,生成数据文件的标签,并对所述的数据文件进行盲化处理得到密文文件,然后生成数据认证元集合;最后用户将数据文件的标签,密文文件以及数据认证元集合存储到云存储服务器,然后删除用户本地存储的数据文件和密文文件,用户向第三方审计者发送审计请求;云审计系统结构如图2,存储及审计过程如图3所示,具体步骤如下:
步骤3.1,数据文件的划分
步骤3.2,生成标签
步骤3.3,数据文件的盲化处理
用户Uθ利用所述的对称加密算法E,用以下方式盲化数据文件划分成的数据字段:
步骤3.4,生成数据认证元集合
用户Uθ利用下式得到数据认证元集合:
步骤3.5,文件的存储
上面属于用户数据外包存储阶段,下面属于数据完整性公开审计阶段:
步骤4,用户Uθ向第三方审计者发送审计请求,第三方审计者在某时间段内收到不同用户发来的审计请求后,验证这些审计请求的合法性,若存在不合法的审计请求则拒绝;对于合法的审计请求,第三方审计者生成审计挑战并发送给云存储服务器;具体地:
设第三方审计者几乎同时或在一段时间内收到来自N′个不同用户发来的审计请求后,验证这些审计请求中用户和文件的合法性,若存在不合法的审计请求,则第三方审计者拒绝并剔除不合法的审计请求,N′≤N;对于合法的审计请求,第三方审计者按照以下步骤生成审计挑战:
第三方审计者随机选取一个挑战数目c,c为一个小于等于n的正整数,选取一个随机值用于多项式函数,随机选择和分别作为伪随机函数ψ和伪随机置换π的密钥(相同的密钥产生相同的输出),输出审计挑战Q={c,r,kψ,kπ}并发送给云存储服务器。
步骤5,云存储服务器根据所述审计挑战生成相应的审计证明,并将审计证明返回给第三方审计者;
步骤5.1,云存储服务器接收到审计挑战Q之后,将中的每一个值作为伪随机置换π和伪随机函数ψ的输入,生成作为被挑战数据块的位置索引,实质是把c个数随机扩散到{1,2,···,n}上去,形成新位置索引集I;生成作为原扩散的相应位置的系数;其中,I集合中的c个数对应了c个随机的被挑战数据块,表示对伪随机置换π输入,输出这样使得选出的抽检文件块更随机;表示对于伪随机函数ψ,输入输出 与相对应。
首先对盲化后的加密矩阵F(θ)′逐列计算j∈{1,2,···,s},其中为用户Uθ对加密后所得密文字段;其次利上述计算的构造一个s次多项式函数其中s是字段个数;最后将第三方审计者选择的随机值r带入函数φ(x)得γ(θ)=φ(r),并生成
步骤5.3,云存储服务器输出审计证明P={γ,ξ,σ},并将审计证明返回给第三方审计者。
步骤6,第三方审计者收到审计证明后进行验证,经验证如果所述的数据文件被云存储服务器保存完整,则给相应的用户返回审计报告;具体地:
第三方审计者接收到审计证明P后,对集合{1,2,…,c}中的每一个值利用伪随机置换生成伪随机函数生成了利用系统公开参数α(θ),请求审计用户的公钥K(1),K(2),...,K(θ),...,K(N′),被审计文件信息以及审计请求Req,根据下式生成辅助信息K,
第三方审计者验证下式是否成立:
如果成立,第三方审计者认为所有被审计的数据文件均被云服务器保存完整,第三方审计者给相应的用户返回相应的审计报告;如果不成立,则第三方审计者认为某些审计的数据文件发生损坏。
如数据文件发生损坏,则采用卢卡斯序列查找法定位数据文件中的错误文件;所述的查找法包括:
步骤6.1,第三方审计者将被审计的数据文件按照卢卡斯序列的递归关系分为两部分,这里的卢卡斯序列的递归关系是指:
由于被审计的数据文件的总数是一个卢卡斯数,根据卢卡斯序列的特点,其可以被拆分成两个卢卡斯数之和。在卢卡斯序列中,每一个卢卡斯数等于前两项卢卡斯数之和,即L(d)=L(d-1)+L(d-2),其中L(d-1)>L(d-2);本方案中,第三方审计者按照卢卡斯序列的自然递归关系,将数据文件拆分成两部分,即将数据文件的总数L(d)拆分为L(d-1)和L(d-2)这两部分,其中一部分数据文件较多而另外一部分较少。
第三方审计者记录了所有被审计过的文件的出错次数a/审计总次数b,0≤a≤b,如果某文件审计未出过错,则a=0,a/b=0,对未被审计的文件赋值a/b=0/0;所述的较少部分是将L(d)个被审计文件中a/b值最小的组成L(d-2)个文件,余下的组成L(d-1)部分,而0/0型数据文件尽量安排在较多一部分。将较少一部分的数据文件通过云存储服务器进行审计后,第三方审计者进行验证:
如果验证通过,则错误文件位于较多L(d-1)部分数据文件中,此时对所述较多一部分数据文件再次按照卢卡斯序列的递归关系划分成两部分,较少部分依旧是L(d-1)个数据文件中a/b值最小的L(d-3)个组成,并进行审计、验证;
如果验证不通过,则较少一部分数据文件中包含错误文件,同时较多的一部分数据文件中可能包含错误文件,则将所述较少一分部数据文件再次按照卢卡斯序列的递归关系划分成两部分,每次总是将被审计文件集中a/b值最小的文件自然分割成一个卢卡斯数,每次先对划分后得到的较少部分的数据文件进行批量审计验证,然后再对较多一部分的数据文件进行审计、验证;
第一种情况(特殊情况):被审计的数据文件的总数为一个卢卡斯数列中的一个数,称被审计的数据文件总数为卢卡斯数L(d);
步骤6.1.1,因卢卡斯数L(d)=L(d-1)+L(d-2),第三方审计者将被审计的数据文件分为两部分,第一部分由第三方审计者在L(d)个文件中选择a/b值最小的L(d-2)个文件组成,第二部分由剩余的L(d-1)个数据文件组成,其中第一部分中数据文件的数目少于第二部分;即将数据文件的总数L(d)拆分成在卢卡斯序列中,位于L(d)前面的两个卢卡斯数L(d-1)和L(d-2)之和;后续的每次拆分均按此法分,第一部分数目较少,约占审计的数据文件总数的38%,第二部分总是约占总审计文件数的62%,d越大,该比例值越稳定;
步骤6.1.2,第三方审计者对云存储服务器提交第一部分L(d-2)个数据文件的审计申请,云存储服务器返回该部分的审计证明,第三方审计者对该审计证明进行验证:
①当审计证明通过第三方审计者的验证时,则说明错误文件一定位于第二部分L(d-1)个数据文件中,将第二部分L(d-1)个数据文件分为L(d-3)和L(d-2)两个部分,其中较少的部分,即L(d-3)个数据是第三方审计者从L(d-1)个文件中选择的a/b值最小的文件,剩下的组成了L(d-2)部分,将L(d-3)个数据文件通过云存储服务器进行审计,云存储服务器返回L(d-3)个数据文件的审计证明,第三方审计者对继续该审计证明进行验证;
②当审计证明未通过第三方审计者的验证时,则说明第一部分的L(d-2)个文件中包含错误文件,而第二部分L(d-1)个数据文件中包含或不包含错误文件;将第一部分L(d-2)个数据文件按照之前相同的方法分为L(d-4)和L(d-3)两个部分,将其中较少一部分的L(d-4)个数据文件、首次划分后得到的第二部分L(d-1)个数据文件云存储服务器进行审计,云存储服务器返回这两部分文件的审计证明,第三方审计者继续对这两个审计证明分别进行验证。
如图4所示,给出了在第一种情况下的审计流程图。图中深色菱形框代表需要验证的部分,实线表示需要执行相应的步骤,虚线表示不需要执行。
如图5所示,给出了特殊情况下定位错误时文件本发明方法和传统的二分法的所需时间对比图。从图中可以明显看出,在不同的审计文件数量下,本发明的审计方法均比现有传统的二分法耗时少。
第二种情况(一般情况):被审计的数据文件总数为任意一个正整数M
步骤6.2,当被审计的数据文件总数为任意一个正整数M,第三方审计者将M划分成一个小于M且最接近M的卢卡斯数和剩余数之和,利用此法对被审计的数据文件进行m次循环划分,从而将所述的数据文件共划分为m+1个子部分,再将这m+1个子部分的数据文件划分成两部分,并将这两部分中较少部分的数据文件进行审计、验证。具体过程如下:
记被审计的数据文件总数为M,第三方审计者将被审计的数据文件分成两部分,第一部分包含L1(d)个数据文件,其中L1(d)是小于M的最大卢卡斯数,则第二部分包含M-L1(d)个数据文件;将第二部分M-L1(d)个数据文件分为两部分,第一部分包含L2(d)个数据文件,其中L2(d)是一个小于M-L1(d)的最大卢卡斯数,第二部分包含M-L1(d)-L2(d)个数据文件;
经过有限m次的循环操作,M个数据文件可被分为m+1子部分,M可表示为如下形式:
M=L1(d)+L2(d)+…+Lm(d)+Lm+1(d);
将所述的m+1子部分的数据文件划分成两部分,选择第三方审计者认为较少出错的L(d-2)=L1(d-2)+…+Lm+1(d-2)个数据文件作为第一大部分,选择L(d-1)=L1(d-1)+…+Lm+1(d-1)个数据文件作为第二大部分;这里的划分方式和第一种情况时相同,第一大部分数目较少而第二大部分数目较多;将数目较少的第一大部分的数据文件通过云存储服务器进行审计,云存储服务器返回第一大部分L(d-2)个数据文件的审计证明,第三方审计者对该审计证明进行验证;后续过程与第一种情况相同,在此不赘述。
图6的(6-1)和(6-2)给出了一般情况下定位错误文件本发明方法和传统的二分法的所需时间对比图,从图中可以看到,在审计相同数量文件的前提下,本发明较传统的二分法耗时更短。
Claims (9)
1.一种基于卢卡斯序列定位错误文件的批量云审计方法,其特征在于,包括以下步骤:
步骤1,云存储服务器生成并公开系统参数;
步骤2,用户根据云存储服务器参数生成用于标签的公钥和私钥、对称加密算法的密钥,以及数据认证元的辅助值;
步骤3,用户将需要外包到云存储服务器的数据文件进行分块,并将每个分块进一步划分成数据字段,生成数据文件的标签,并对所述的数据文件进行盲化处理得到密文文件,然后生成数据认证元集合;最后用户将数据文件的标签,密文文件以及数据认证元集合存储到云存储服务器,然后删除用户本地存储的数据文件和密文文件;
步骤4,用户向第三方审计者发送审计请求,第三方审计者收到不同用户发来的审计请求后,验证这些审计请求的合法性,若存在不合法的审计请求则拒绝;对于合法的审计请求,第三方审计者生成审计挑战并发送给云存储服务器;
步骤5,云存储服务器根据所述审计挑战生成审计相应的证明,并将审计证明返回给第三方审计者;
步骤6,第三方审计者收到审计证明后进行验证,经验证如果所述的数据文件被云存储服务器保存完整,则给相应的用户返回审计报告;如数据文件发生损坏,则采用卢卡斯序列查找法定位数据文件中的错误文件;所述卢卡斯序列查找法包括:
判断被审计的数据文件的总数是否为卢卡斯数列中的一个数,如果是则执行步骤6.1,不是则执行步骤6.2;
步骤6.1,第三方审计者将被审计的数据文件按照卢卡斯序列的递归关系分为两部分,其中较少部分是审计过程中未出错或出错次数少的数据文件组成,将较少一部分的数据文件通过云存储服务器进行审计后,第三方审计者进行验证:
如果验证通过,则错误文件位于较多一部分数据文件中,此时对所述较多一部分数据文件再次按照卢卡斯序列的递归关系划分成两部分,较少部分是在该两部分中审计未出错或出错次数少的数据文件组成,并进行审计、验证;
如果验证不通过,则较少一部分数据文件中包含错误文件,同时较多的一部分数据文件中可能包含错误文件,则将所述较少一部分数据文件再次进行划分,将此次划分后得到的较少部分的数据文件、首次划分后得到的较多一部分的数据文件进行审计、验证;
步骤6.2,被审计的数据文件总数为任意一个正整数M,第三方审计者将M划分成一个小于M且最接近M的卢卡斯数和剩余数之和,利用此法对被审计的数据文件进行m次循环划分,从而将所述的被审计的数据文件共划分为m+1个子部分,再将这m+1个子部分的数据文件划分成两部分,并将这两部分中较少部分的数据文件进行审计、验证。
4.如权利要求3所述的基于卢卡斯序列定位错误文件的批量云审计方法,其特征在于,步骤3的具体过程包括:
步骤3.1,数据文件的划分
步骤3.2,生成标签
步骤3.3,数据文件的盲化处理
用户Uθ利用所述的对称加密算法E,用以下方式盲化数据文件划分成的数据字段:
步骤3.4,生成数据认证元集合
用户Uθ利用下式得到数据认证元集合:
步骤3.5,文件的存储及审计请求的发送
用户Uθ发送存储文件信息{TagF (θ),F(θ)′,Φ(θ)}给云存储服务器进行存储,当收到云存储服务器已安全存储的反馈,用户Uθ删除本地存储的数据文件F(θ)及其密文文件F(θ)′。
6.如权利要求5所述的基于卢卡斯序列定位错误文件的批量云审计方法,其特征在于,步骤5的具体过程包括:
步骤5.2,云存储服务器结合用户发来的存储文件信息{TagF (θ),F(θ)′,Φ(θ)},生成以下证据γ,ξ和数据认证元σ:
首先对盲化后的加密矩阵F(θ)′逐列计算j∈{1,2,···,s},其中为用户Uθ对加密后所得密文字段;其次利上述计算的构造一个s次多项式函数其中s是字段个数;最后将第三方审计者选择的随机值r带入函数φ(x)得γ(θ)=φ(r),并生成
步骤5.3,云存储服务器输出审计证明P={γ,ξ,σ},并将审计证明返回给第三方审计者。
7.如权利要求6所述的基于卢卡斯序列定位错误文件的批量云审计方法,其特征在于,步骤6中所述的第三方审计者收到审计证明后进行验证,经验证如果所述的数据文件被云存储服务器保存完整,则给相应的用户返回审计报告,包括:
第三方审计者验证下式是否成立:
如果成立,第三方审计者认为所有被审计的数据文件均被云服务器保存完整,第三方审计者给相应的用户返回相应的审计报告;如果不成立,则第三方审计者认为某些审计的数据文件发生损坏。
8.如权利要求7所述的基于卢卡斯序列定位错误文件的批量云审计方法,其特征在于,步骤6.1的具体过程包括:
被审计的数据文件的总数为一个卢卡斯数列中的一个数,称被审计的数据文件总数为卢卡斯数L(d);
步骤6.1.1,因卢卡斯数L(d)=L(d-1)+L(d-2),第三方审计者将被审计的数据文件分为两部分,第一部分由第三方审计者在审计过程中未出错或出错次数较少的L(d-2)个文件组成,第二部分由剩余的L(d-1)个数据文件组成,其中第一部分中数据文件的数目少于第二部分;
所述的未出错或出错次数较少是指:第三方审计者记录了所有被审计过的文件的出错次数a/审计总次数b,如果某文件审计未出过错,则a=0,a/b=0,对未被审计的文件赋值a/b=0/0;所述的第一部分由被审计文件中a/b值最小的文件组成;
步骤6.1.2,第三方审计者对云存储服务器提交第一部分的L(d-2)个数据文件的审计申请,云存储服务器返回该云存储服务器提交第一部分的审计证明,第三方审计者对该审计证明进行验证:
①当审计证明通过第三方审计者的验证时,则说明错误文件一定位于第二部分L(d-1)个数据文件中,将第二部分L(d-1)个数据文件分为L(d-3)和L(d-2)两个部分,其中较少的部分,即L(d-3)个数据是第三方审计者从L(d-1)个数据文件中审计未出错或出错次数少的数据文件组成,剩下的组成了L(d-2)部分,将L(d-3)个数据文件通过云存储服务器进行审计,云存储服务器返回L(d-3)个数据文件的审计证明,第三方审计者对继续该审计证明进行验证;
②当审计证明未通过第三方审计者的验证时,则说明第一部分的L(d-2)个文件中包含错误文件,而第二部分L(d-1)个数据文件中包含或不包含错误文件;将第一部分L(d-2)个数据文件分为L(d-4)和L(d-3)两个部分,将其中较少一部分的L(d-4)个数据文件、首次划分后得到的第二部分L(d-1)个数据文件云存储服务器进行审计,云存储服务器返回这两部分文件的审计证明,第三方审计者继续对这两个审计证明分别进行验证。
9.如权利要求8所述的基于卢卡斯序列定位错误文件的批量云审计方法,其特征在于,步骤6.2的具体过程包括:
记被审计的数据文件总数为M,第三方审计者将被审计的数据文件分成两部分,第一部分包含L1(d)个数据文件,其中L1(d)是小于M的最大卢卡斯数,则第二部分包含M-L1(d)个数据文件;将第二部分M-L1(d)个数据文件分为两部分,第一部分包含L2(d)个数据文件,其中L2(d)是一个小于M-L1(d)的最大卢卡斯数,第二部分包含M-L1(d)-L2(d)个数据文件;
经过有限m次的循环操作,M个数据文件可被分为m+1子部分,M可表示为如下形式:
M=L1(d)+L2(d)+…+Lm(d)+Lm+1(d);
将所述的m+1子部分的数据文件划分成两部分,选择L(d-2)=L1(d-2)+…+Lm+1(d-2)个数据文件作为第一大部分,选择L(d-1)=L1(d-1)+…+Lm+1(d-1)个数据文件作为第二大部分;将数目较少的第一大部分的数据文件通过云存储服务器进行审计,云存储服务器返回第一大部分L(d-2)个数据文件的审计证明,第三方审计者对该审计证明进行验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810649920.4A CN109088850B (zh) | 2018-06-22 | 2018-06-22 | 基于卢卡斯序列定位错误文件的批量云审计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810649920.4A CN109088850B (zh) | 2018-06-22 | 2018-06-22 | 基于卢卡斯序列定位错误文件的批量云审计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109088850A CN109088850A (zh) | 2018-12-25 |
CN109088850B true CN109088850B (zh) | 2021-06-15 |
Family
ID=64840188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810649920.4A Active CN109088850B (zh) | 2018-06-22 | 2018-06-22 | 基于卢卡斯序列定位错误文件的批量云审计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109088850B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785585B (zh) * | 2022-04-18 | 2023-12-08 | 高途教育科技集团有限公司 | 一种信息验证校验方法、装置、设备以及存储介质 |
CN115987979B (zh) * | 2022-11-15 | 2024-05-17 | 重庆邮电大学 | 边缘计算中基于区块信任选举机制的数据完整性审计方法 |
CN116414390B (zh) * | 2023-03-29 | 2024-04-05 | 南京审计大学 | 一种针对大数据审计的可动态运行案例开发系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218574A (zh) * | 2013-04-09 | 2013-07-24 | 电子科技大学 | 一种基于哈希树的数据动态操作可验证性方法 |
CN103986732A (zh) * | 2014-06-04 | 2014-08-13 | 青岛大学 | 抵御密钥泄露的云存储数据审计方法 |
CN104243169A (zh) * | 2014-10-09 | 2014-12-24 | 青岛大学 | 可跟踪身份的共享数据云审计方法 |
CN104954390A (zh) * | 2015-07-17 | 2015-09-30 | 青岛大学 | 可恢复丢失密钥的云存储完整性检测方法及系统 |
CN105978695A (zh) * | 2016-05-03 | 2016-09-28 | 西南石油大学 | 一种用于云存储数据的批量自审计方法 |
CN107046465A (zh) * | 2017-04-28 | 2017-08-15 | 安徽大学 | 入侵容忍的云存储数据审计方法 |
CN107566118A (zh) * | 2017-09-13 | 2018-01-09 | 陕西师范大学 | 轻量级用户可动态撤销及数据可动态更新的云审计方法 |
CN107612558A (zh) * | 2017-10-18 | 2018-01-19 | 重庆邮电大学 | 一种基于斐波那契‑卢卡斯序列的大围长qc‑ldpc码构造方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9148282B2 (en) * | 2013-06-18 | 2015-09-29 | Certicom Corp. | Method to calculate square roots for elliptic curve cryptography |
-
2018
- 2018-06-22 CN CN201810649920.4A patent/CN109088850B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218574A (zh) * | 2013-04-09 | 2013-07-24 | 电子科技大学 | 一种基于哈希树的数据动态操作可验证性方法 |
CN103986732A (zh) * | 2014-06-04 | 2014-08-13 | 青岛大学 | 抵御密钥泄露的云存储数据审计方法 |
CN104243169A (zh) * | 2014-10-09 | 2014-12-24 | 青岛大学 | 可跟踪身份的共享数据云审计方法 |
CN104954390A (zh) * | 2015-07-17 | 2015-09-30 | 青岛大学 | 可恢复丢失密钥的云存储完整性检测方法及系统 |
CN105978695A (zh) * | 2016-05-03 | 2016-09-28 | 西南石油大学 | 一种用于云存储数据的批量自审计方法 |
CN107046465A (zh) * | 2017-04-28 | 2017-08-15 | 安徽大学 | 入侵容忍的云存储数据审计方法 |
CN107566118A (zh) * | 2017-09-13 | 2018-01-09 | 陕西师范大学 | 轻量级用户可动态撤销及数据可动态更新的云审计方法 |
CN107612558A (zh) * | 2017-10-18 | 2018-01-19 | 重庆邮电大学 | 一种基于斐波那契‑卢卡斯序列的大围长qc‑ldpc码构造方法 |
Non-Patent Citations (10)
Title |
---|
《Batchauditingformulti-clientdynamicdatainmulti-cloudstor》;xinliu,yujia jiang;《international journal of security and its applications》;20140630;全文 * |
《Compactproofsofretrievability[J].JournalofCryptology》;ShachamH,WatersB;《IEEE》;20130326;全文 * |
《Dynamic-Hash-Tablebasedpublicauditingforsecurecloudstorage》;TianH,ChenY,ChangC;《IEEETransactionsonServicesComputing》;20171005;全文 * |
《Efficientpairing-freeprivacy-preservingauditingschemeforcloudstorageindistributedsensornetworks》;ZhangX,XuC,ZhangX;《International Journal of Distributed Sensor Networks》;20150219;全文 * |
《Light-weightandprivacy-preservingsecurecloud auditingschemeforgroupusersviathethirdpartymedium》;wenting shen,jiayu,huixia,hanlin zhang,xiuqing liu,rong hao;《JournalofNetwork andComputerApplications》;20170215;全文 * |
《privacy-preserving public auditing for secure cloud storage 》;wang C,chow SSM,wang q;《IEEE Transactions on computers》;20120202;全文 * |
《Researchonmapreduce-basedcloudstoragebatchauditing》;JinY,YanD,HeH;《2016IEEE11thConferenceonIndustrialElectronicsandApplications》;20161231;全文 * |
《Researchonmapreduce-basedcloudstoragebatchauditing》;JinY,YanD,HeH;《IEEE11thConferenceonIndustrialElectronicsandApplications》;20161231;全文 * |
《the square terms in lucas sequences》;Kingston, Ontario. Louis;《journal of number theory 58》;19940919;全文 * |
《基于代理重签名的支持用户可撤销的云存储数据公共审计方案》;张新鹏,许春香,张新颜,赛 伟,韩兴阳,刘国平;《计算机应用》;20160710;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109088850A (zh) | 2018-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | Enabling verifiable and dynamic ranked search over outsourced data | |
Ateniese et al. | Scalable and efficient provable data possession | |
Yuan et al. | Secure cloud data deduplication with efficient re-encryption | |
Erway et al. | Dynamic provable data possession | |
Huang et al. | Achieving big data privacy via hybrid cloud | |
CN110677487B (zh) | 一种支持隐私和完整性保护的外包数据去重云存储方法 | |
Zheng et al. | Fair and dynamic proofs of retrievability | |
Venkatesh et al. | Improving public auditability, data possession in data storage security for cloud computing | |
Yu et al. | Remote data possession checking with enhanced security for cloud storage | |
Tahir et al. | A new secure and lightweight searchable encryption scheme over encrypted cloud data | |
Shen et al. | Lightweight cloud storage auditing with deduplication supporting strong privacy protection | |
Yu et al. | Comments on “public integrity auditing for dynamic data sharing with multiuser modification” | |
EP3629519B1 (en) | System and method for generating one-time data signatures | |
CN109088850B (zh) | 基于卢卡斯序列定位错误文件的批量云审计方法 | |
Tang et al. | Enabling ciphertext deduplication for secure cloud storage and access control | |
Tan et al. | An efficient method for checking the integrity of data in the cloud | |
CN112906056A (zh) | 一种基于区块链的云存储密钥安全管理方法 | |
He et al. | Public integrity auditing for dynamic regenerating code based cloud storage | |
Peng et al. | Comments on “identity-based distributed provable data possession in multicloud storage” | |
Li et al. | FMR-PDP: Flexible multiple-replica provable data possession in cloud storage | |
CN110188545B (zh) | 一种基于链式数据库的数据加密方法及装置 | |
Sun et al. | Public data integrity auditing without homomorphic authenticators from indistinguishability obfuscation | |
CN109104449B (zh) | 一种云存储环境下的多备份数据持有性证明方法 | |
CN117235342A (zh) | 基于同态哈希函数和虚拟索引的动态云审计方法 | |
Yang et al. | Provable Ownership of Encrypted Files in De-duplication Cloud Storage. |
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 |