CN109088850B - 基于卢卡斯序列定位错误文件的批量云审计方法 - Google Patents

基于卢卡斯序列定位错误文件的批量云审计方法 Download PDF

Info

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
Application number
CN201810649920.4A
Other languages
English (en)
Other versions
CN109088850A (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.)
Shaanxi Normal University
Original Assignee
Shaanxi Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shaanxi Normal University filed Critical Shaanxi Normal University
Priority to CN201810649920.4A priority Critical patent/CN109088850B/zh
Publication of CN109088850A publication Critical patent/CN109088850A/zh
Application granted granted Critical
Publication of CN109088850B publication Critical patent/CN109088850B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • 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
    • 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/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/321Cryptographic 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
    • 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/3236Cryptographic 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/3239Cryptographic 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
    • 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/3271Cryptographic 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函数
Figure BDA0001704460640000031
E为对称加密算法,伪随机函数
Figure BDA0001704460640000032
π为伪随机置换。
进一步地,步骤2的具体过程包括:
步骤2.1,记所述的云存储服务器中共注册有N个用户,每个用户Uθ独立地选择一个随机值
Figure BDA0001704460640000033
作为用户Uθ的私钥,并生成
Figure BDA0001704460640000034
作为用户Uθ的公钥;θ∈{1,2,···,N};
步骤2.2,用户Uθ设置所述对称加密算法E的密钥
Figure BDA0001704460640000035
并随机选择两个值
Figure BDA0001704460640000036
作为生成数据认证元的辅助值;
步骤2.3,用户Uθ公开K(θ)、α(θ),保密k(θ)
Figure BDA0001704460640000037
Figure BDA0001704460640000038
进一步地,步骤3的具体过程包括:
步骤3.1,数据文件的划分
用户Uθ将需要外包到云存储服务器的数据文件F(θ)顺序分割成n块,即
Figure BDA0001704460640000039
每个数据块fi (θ)进一步分成s个数据字段,即
Figure BDA00017044606400000310
其中每个元素
Figure BDA00017044606400000311
i∈{1,2,...,n},j∈{1,2,···,s};
步骤3.2,生成标签
用户Uθ设置数据文件F(θ)的身份标识符
Figure BDA00017044606400000312
Figure BDA00017044606400000313
中包含数据文件的名字、版本号和文件分类号,用户Uθ生成数据文件F(θ)在私钥k(θ)下的签名
Figure BDA0001704460640000041
产生数据文件F(θ)的标签
Figure BDA0001704460640000042
步骤3.3,数据文件的盲化处理
用户Uθ利用所述的对称加密算法E,用以下方式盲化数据文件划分成的数据字段:
Figure BDA0001704460640000043
Figure BDA0001704460640000044
为对称加密算法E在用户Uθ的保密密钥
Figure BDA0001704460640000045
控制下对(j,i)加密后所得的密文,然后与每个数据字段
Figure BDA0001704460640000046
做模p加运算,得到加密后字段
Figure BDA0001704460640000047
加密字段组成加密数据块
Figure BDA0001704460640000048
最终文件
Figure BDA0001704460640000049
被加密为
Figure BDA00017044606400000410
步骤3.4,生成数据认证元集合
用户Uθ利用下式得到数据认证元集合:
Figure BDA00017044606400000411
其中
Figure BDA00017044606400000412
i∈{1,2,···,n},j∈{1,2,···,s},
Figure BDA00017044606400000413
则数据认证元集合为
Figure BDA00017044606400000414
步骤3.5,文件的存储
用户Uθ发送存储文件信息{TagF (θ),F(θ)′(θ)}给云存储服务器进行存储,当收到云服务器已安全存储的反馈,用户Uθ删除本地存储的数据文件F(θ)及其密文文件F(θ)′
进一步地,步骤4的具体过程包括:
用户向第三方审计者发送审计请求,第三方审计者收到来自N′个不同用户发来的审计请求后,验证这些审计请求中用户和文件的合法性,若存在不合法的审计请求,则第三方审计者拒绝并剔除不合法的审计请求,N′≤N;对于合法的审计请求,第三方审计者按照以下步骤生成审计挑战:
第三方审计者随机选取一个挑战数目c,c为一个小于等于n的正整数,选取一个随机值
Figure BDA00017044606400000415
用于多项式函数,选择
Figure BDA00017044606400000416
分别作为伪随机函数ψ和伪随机置换π的密钥,输出审计挑战Q={c,r,kψ,kπ}并发送给云存储服务器。
进一步地,所述的步骤5包括:
步骤5.1,云存储服务器接收到审计挑战Q之后,将
Figure BDA00017044606400000520
中的每一个值
Figure BDA00017044606400000521
作为伪随机置换π和伪随机函数ψ的输入,生成
Figure BDA0001704460640000051
作为被挑战数据块的位置索引,形成新位置索引集I;生成
Figure BDA0001704460640000052
作为原
Figure BDA00017044606400000522
扩散的相应位置
Figure BDA00017044606400000523
的系数;
步骤5.2,云存储服务器结合用户发来的存储文件信息
Figure BDA0001704460640000053
生成以下证据γ,ξ和数据认证元σ:
首先对盲化后的加密矩阵F(θ)′逐列计算
Figure BDA0001704460640000054
j∈{1,2,···,s},其中
Figure BDA0001704460640000055
为用户Uθ
Figure BDA0001704460640000056
加密后所得密文字段;其次利上述计算的
Figure BDA0001704460640000057
构造一个s次多项式函数
Figure BDA0001704460640000058
其中s是字段个数;最后将第三方审计者选择的随机值r带入函数φ(x)得γ(θ)=φ(r),并生成
Figure BDA0001704460640000059
云存储服务器求得s-1次多项式
Figure BDA00017044606400000510
计算
Figure BDA00017044606400000511
生成
Figure BDA00017044606400000512
云存储服务器利用用户给它发的数据认证元集合Φ(θ),生成
Figure BDA00017044606400000513
和聚合的挑战数据完整性认证元
Figure BDA00017044606400000514
步骤5.3,云存储服务器输出审计证明P={γ,ξ,σ},并将审计证明返回给第三方审计者。
进一步地,步骤6中所述的第三方审计者收到审计证明后进行验证,经验证如果所述的数据文件被云存储服务器保存完整,则给相应的用户返回审计报告,包括:
第三方审计者接收到审计证明P后,利用系统公开参数α(θ),请求审计用户的公钥K(1),K(2),...,K(θ),...,K(N′)
Figure BDA00017044606400000515
被审计文件信息
Figure BDA00017044606400000516
以及审计请求Req,根据下式生成辅助信息K,
Figure BDA00017044606400000517
Figure BDA00017044606400000518
Figure BDA00017044606400000519
Figure BDA0001704460640000061
第三方审计者验证下式是否成立:
Figure BDA0001704460640000062
如果成立,第三方审计者认为所有被审计的数据文件均被云服务器保存完整,第三方审计者给相应的用户返回相应的审计报告;如果不成立,则第三方审计者认为某些审计的数据文件发生损坏。
进一步地,步骤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}中的任意一个数值,形式化表达为
Figure BDA0001704460640000091
所述的抗强碰撞即表示在该hash函数定义域找不到一对m≠m'使得h(m)=h(m');一个轻量级的对称加密算法E,如MIBS算法、Blowfish算法等;一个伪随机函数
Figure BDA0001704460640000092
和一个伪随机置换
Figure BDA00017044606400000913
n为由伪随机函数和置换算法所确定的一个有限正整数,云存储服务器公开系统参数cp={p,G,GT,g,e,h,E,ψ,π}。
步骤2,用户根据云存储服务器参数生成用于标签的公钥和私钥、对称加密算法的密钥,以及数据认证元的辅助值;具体地:
步骤2.1,记所述的云存储服务器中共注册有N个用户,N为有限的正整数;每个用户Uθ独立地选择一个随机值
Figure BDA0001704460640000094
作为用户Uθ的私钥,并生成
Figure BDA0001704460640000095
作为用户Uθ的公钥,θ∈{1,2,···,N};
步骤2.2,用户Uθ设置所述对称加密算法E的密钥
Figure BDA0001704460640000096
并随机选择两个值
Figure BDA0001704460640000097
Figure BDA0001704460640000098
作为生成数据认证元的辅助值;
步骤2.3,用户Uθ公开K(θ)、α(θ),保密k(θ)
Figure BDA0001704460640000099
Figure BDA00017044606400000910
步骤3,用户将需要外包到云存储服务器的数据文件进行分块,并将每个分块进一步划分成数据字段,生成数据文件的标签,并对所述的数据文件进行盲化处理得到密文文件,然后生成数据认证元集合;最后用户将数据文件的标签,密文文件以及数据认证元集合存储到云存储服务器,然后删除用户本地存储的数据文件和密文文件,用户向第三方审计者发送审计请求;云审计系统结构如图2,存储及审计过程如图3所示,具体步骤如下:
步骤3.1,数据文件的划分
用户Uθ将需要外包到云存储服务器的数据文件F(θ)顺序分割成n块,即
Figure BDA00017044606400000911
每个数据块
Figure BDA00017044606400000912
进一步分成s个数据字段,即
Figure BDA0001704460640000101
其中每个元素
Figure BDA0001704460640000102
i∈{1,2,...,n},j∈{1,2,···,s},具体表示如下:
Figure BDA0001704460640000103
步骤3.2,生成标签
用户Uθ设置数据文件F(θ)的身份标识符
Figure BDA0001704460640000104
Figure BDA0001704460640000105
中包含数据文件的名字、版本号和文件分类号,用户Uθ生成数据文件F(θ)在私钥k(θ)下的签名,产生数据文件F(θ)的标签
Figure BDA0001704460640000106
步骤3.3,数据文件的盲化处理
用户Uθ利用所述的对称加密算法E,用以下方式盲化数据文件划分成的数据字段:
Figure BDA0001704460640000107
Figure BDA0001704460640000108
为对称加密算法E在用户Uθ的保密密钥
Figure BDA0001704460640000109
控制下对(j,i)加密后所得的密文,然后与每个数据字段
Figure BDA00017044606400001010
做模p加运算,得到加密后字段
Figure BDA00017044606400001011
加密字段组成加密数据块
Figure BDA00017044606400001012
最终文件
Figure BDA00017044606400001013
被加密为
Figure BDA00017044606400001014
步骤3.4,生成数据认证元集合
用户Uθ利用下式得到数据认证元集合:
Figure BDA00017044606400001015
其中α(θ)为用户Uθ公开密钥,
Figure BDA00017044606400001016
为用户Uθ的保密密钥,i∈{1,2,···,n},j∈{1,2,···,s},
Figure BDA00017044606400001017
Figure BDA00017044606400001018
则数据认证元集合为
Figure BDA00017044606400001019
步骤3.5,文件的存储
用户Uθ发送存储文件信息
Figure BDA00017044606400001020
给云存储服务器进行存储,当收到云服务器已安全存储的反馈,用户Uθ删除本地存储的数据文件F(θ)及其密文文件F(θ)′
上面属于用户数据外包存储阶段,下面属于数据完整性公开审计阶段:
步骤4,用户Uθ向第三方审计者发送审计请求,第三方审计者在某时间段内收到不同用户发来的审计请求
Figure BDA0001704460640000111
后,验证这些审计请求的合法性,若存在不合法的审计请求则拒绝;对于合法的审计请求,第三方审计者生成审计挑战并发送给云存储服务器;具体地:
设第三方审计者几乎同时或在一段时间内收到来自N′个不同用户发来的审计请求后,验证这些审计请求中用户和文件的合法性,若存在不合法的审计请求,则第三方审计者拒绝并剔除不合法的审计请求,N′≤N;对于合法的审计请求,第三方审计者按照以下步骤生成审计挑战:
第三方审计者随机选取一个挑战数目c,c为一个小于等于n的正整数,选取一个随机值
Figure BDA0001704460640000112
用于多项式函数,随机选择
Figure BDA0001704460640000113
Figure BDA0001704460640000114
分别作为伪随机函数ψ和伪随机置换π的密钥(相同的密钥产生相同的输出),输出审计挑战Q={c,r,kψ,kπ}并发送给云存储服务器。
步骤5,云存储服务器根据所述审计挑战生成相应的审计证明,并将审计证明返回给第三方审计者;
步骤5.1,云存储服务器接收到审计挑战Q之后,将
Figure BDA00017044606400001115
中的每一个值
Figure BDA00017044606400001121
作为伪随机置换π和伪随机函数ψ的输入,生成
Figure BDA0001704460640000115
作为被挑战数据块的位置索引,实质是把c个数随机扩散到{1,2,···,n}上去,形成新位置索引集I;生成
Figure BDA0001704460640000116
作为原
Figure BDA00017044606400001116
扩散的相应位置
Figure BDA00017044606400001117
的系数;其中,I集合中的c个数对应了c个随机的被挑战数据块,
Figure BDA0001704460640000117
表示对伪随机置换π输入
Figure BDA00017044606400001118
,输出
Figure BDA00017044606400001122
这样使得选出的抽检文件块更随机;
Figure BDA0001704460640000118
表示对于伪随机函数ψ,输入
Figure BDA00017044606400001123
输出
Figure BDA0001704460640000119
Figure BDA00017044606400001110
Figure BDA00017044606400001120
相对应。
步骤5.2,云存储服务器结合用户发来的存储文件信息
Figure BDA00017044606400001111
生成以下证据γ,ξ和数据认证元σ:
首先对盲化后的加密矩阵F(θ)′逐列计算
Figure BDA00017044606400001112
j∈{1,2,···,s},其中
Figure BDA00017044606400001113
为用户Uθ
Figure BDA00017044606400001114
加密后所得密文字段;其次利上述计算的
Figure BDA0001704460640000121
构造一个s次多项式函数
Figure BDA0001704460640000122
其中s是字段个数;最后将第三方审计者选择的随机值r带入函数φ(x)得γ(θ)=φ(r),并生成
Figure BDA0001704460640000123
云存储服务器求得s-1次多项式函数
Figure BDA0001704460640000124
其中
Figure BDA0001704460640000125
为s-1次多项式函数的形式化表达方式;计算
Figure BDA0001704460640000126
生成
Figure BDA0001704460640000127
云存储服务器利用用户给它发的数据认证元集合Φ(θ),生成
Figure BDA0001704460640000128
和聚合的挑战数据完整性认证元
Figure BDA0001704460640000129
步骤5.3,云存储服务器输出审计证明P={γ,ξ,σ},并将审计证明返回给第三方审计者。
步骤6,第三方审计者收到审计证明后进行验证,经验证如果所述的数据文件被云存储服务器保存完整,则给相应的用户返回审计报告;具体地:
第三方审计者接收到审计证明P后,对集合{1,2,…,c}中的每一个值
Figure BDA00017044606400001220
利用伪随机置换
Figure BDA00017044606400001210
生成
Figure BDA00017044606400001221
伪随机函数
Figure BDA00017044606400001211
生成了
Figure BDA00017044606400001212
利用系统公开参数α(θ),请求审计用户的公钥K(1),K(2),...,K(θ),...,K(N′)
Figure BDA00017044606400001213
被审计文件信息
Figure BDA00017044606400001214
以及审计请求Req,根据下式生成辅助信息K,
Figure BDA00017044606400001215
Figure BDA00017044606400001216
Figure BDA00017044606400001217
Figure BDA00017044606400001218
第三方审计者验证下式是否成立:
Figure BDA00017044606400001219
如果成立,第三方审计者认为所有被审计的数据文件均被云服务器保存完整,第三方审计者给相应的用户返回相应的审计报告;如果不成立,则第三方审计者认为某些审计的数据文件发生损坏。
如数据文件发生损坏,则采用卢卡斯序列查找法定位数据文件中的错误文件;所述的查找法包括:
步骤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个子部分的数据文件划分成两部分,并将这两部分中较少部分的数据文件进行审计、验证。
2.如权利要求1所述的基于卢卡斯序列定位错误文件的批量云审计方法,其特征在于,步骤1所述的云存储服务器生成并公开系统参数,包括:
云存储服务器生成并公开系统参数cp={p,G,GT,g,e,h,E,ψ,π},其中p为一个大素数,G、GT为p阶的乘法循环群,g为乘法循环群G的生成元,e为G×G→GT上的一个双线性对,h为hash函数h:
Figure FDA0002947200760000021
E为对称加密算法,伪随机函数ψ:
Figure FDA0002947200760000022
π为伪随机置换。
3.如权利要求2所述的基于卢卡斯序列定位错误文件的批量云审计方法,其特征在于,步骤2的具体过程包括:
步骤2.1,记所述的云存储服务器中共注册有N个用户,每个用户Uθ独立地选择一个随机值
Figure FDA0002947200760000023
作为用户Uθ的私钥,并生成
Figure FDA0002947200760000024
作为用户Uθ的公钥;θ∈{1,2,···,N};
步骤2.2,用户Uθ设置对称加密算法E的密钥
Figure FDA0002947200760000025
并随机选择两个值
Figure FDA0002947200760000026
作为生成数据认证元的辅助值;
步骤2.3,用户Uθ公开K(θ)、α(θ),保密k(θ)
Figure FDA0002947200760000027
Figure FDA0002947200760000028
4.如权利要求3所述的基于卢卡斯序列定位错误文件的批量云审计方法,其特征在于,步骤3的具体过程包括:
步骤3.1,数据文件的划分
用户Uθ将需要外包到云存储服务器的数据文件F(θ)顺序分割成n块,即
Figure FDA0002947200760000029
每个数据块fi (θ)进一步分成s个数据字段,即
Figure FDA00029472007600000210
其中每个元素
Figure FDA00029472007600000211
i∈{1,2,...,n},j∈{1,2,···,s};
步骤3.2,生成标签
用户Uθ设置数据文件F(θ)的身份标识符
Figure FDA0002947200760000031
Figure FDA0002947200760000032
中包含数据文件的名字、版本号和文件分类号,用户Uθ生成数据文件F(θ)在私钥k(θ)下的签名
Figure FDA0002947200760000033
产生数据文件F(θ)的标签
Figure FDA0002947200760000034
步骤3.3,数据文件的盲化处理
用户Uθ利用所述的对称加密算法E,用以下方式盲化数据文件划分成的数据字段:
Figure FDA0002947200760000035
Figure FDA0002947200760000036
为对称加密算法E在用户Uθ的保密密钥
Figure FDA0002947200760000037
控制下对(j,i)加密后所得的密文,然后与每个数据字段
Figure FDA0002947200760000038
做模p加运算,得到加密后字段
Figure FDA0002947200760000039
加密字段组成加密数据块
Figure FDA00029472007600000310
最终文件
Figure FDA00029472007600000311
被加密为
Figure FDA00029472007600000312
步骤3.4,生成数据认证元集合
用户Uθ利用下式得到数据认证元集合:
Figure FDA00029472007600000313
其中
Figure FDA00029472007600000314
i∈{1,2,···,n},j∈{1,2,···,s},
Figure FDA00029472007600000315
则数据认证元集合为
Figure FDA00029472007600000316
步骤3.5,文件的存储及审计请求的发送
用户Uθ发送存储文件信息{TagF (θ),F(θ)′(θ)}给云存储服务器进行存储,当收到云存储服务器已安全存储的反馈,用户Uθ删除本地存储的数据文件F(θ)及其密文文件F(θ)′
5.如权利要求4所述的基于卢卡斯序列定位错误文件的批量云审计方法,其特征在于,步骤4的具体过程包括:
用户Uθ向第三方审计者发送审计请求,第三方审计者收到来自N′个不同用户发来的审计请求后,验证这些审计请求中用户和文件的合法性,若存在不合法的审计请求,则第三方审计者拒绝并剔除不合法的审计请求,N′≤N;对于合法的审计请求,第三方审计者按照以下步骤生成审计挑战:
第三方审计者随机选取一个挑战数目c,c为一个小于等于n的正整数,选取一个随机值
Figure FDA0002947200760000041
用于多项式函数,选择
Figure FDA0002947200760000042
Figure FDA0002947200760000043
分别作为伪随机函数ψ和伪随机置换π的密钥,输出审计挑战Q={c,r,kψ,kπ}并发送给云存储服务器。
6.如权利要求5所述的基于卢卡斯序列定位错误文件的批量云审计方法,其特征在于,步骤5的具体过程包括:
步骤5.1,云存储服务器接收到审计挑战Q之后,将
Figure FDA0002947200760000044
中的每一个值
Figure FDA0002947200760000045
作为伪随机置换π和伪随机函数ψ的输入,生成
Figure FDA0002947200760000046
作为被挑战数据块的位置索引,形成新位置索引集I;生成
Figure FDA0002947200760000047
作为原
Figure FDA0002947200760000048
扩散的相应位置
Figure FDA0002947200760000049
的系数;
步骤5.2,云存储服务器结合用户发来的存储文件信息{TagF (θ),F(θ)′(θ)},生成以下证据γ,ξ和数据认证元σ:
首先对盲化后的加密矩阵F(θ)′逐列计算
Figure FDA00029472007600000410
j∈{1,2,···,s},其中
Figure FDA00029472007600000411
为用户Uθ
Figure FDA00029472007600000412
加密后所得密文字段;其次利上述计算的
Figure FDA00029472007600000413
构造一个s次多项式函数
Figure FDA00029472007600000414
其中s是字段个数;最后将第三方审计者选择的随机值r带入函数φ(x)得γ(θ)=φ(r),并生成
Figure FDA00029472007600000415
云存储服务器求得s-1次多项式
Figure FDA00029472007600000416
计算
Figure FDA00029472007600000417
生成
Figure FDA00029472007600000418
云存储服务器利用用户给它发的数据认证元集合Φ(θ),生成
Figure FDA00029472007600000419
和聚合的挑战数据完整性认证元
Figure FDA00029472007600000420
步骤5.3,云存储服务器输出审计证明P={γ,ξ,σ},并将审计证明返回给第三方审计者。
7.如权利要求6所述的基于卢卡斯序列定位错误文件的批量云审计方法,其特征在于,步骤6中所述的第三方审计者收到审计证明后进行验证,经验证如果所述的数据文件被云存储服务器保存完整,则给相应的用户返回审计报告,包括:
第三方审计者接收到审计证明P后,利用系统公开参数α(θ),请求审计用户的公钥K(1),K(2),...,K(θ),...,K(N′)
Figure FDA0002947200760000051
被审计文件信息
Figure FDA0002947200760000052
以及审计请求Req,根据下式生成辅助信息K,
Figure FDA0002947200760000053
Figure FDA0002947200760000054
Figure FDA0002947200760000055
第三方审计者验证下式是否成立:
Figure FDA0002947200760000056
如果成立,第三方审计者认为所有被审计的数据文件均被云服务器保存完整,第三方审计者给相应的用户返回相应的审计报告;如果不成立,则第三方审计者认为某些审计的数据文件发生损坏。
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)个数据文件的审计证明,第三方审计者对该审计证明进行验证。
CN201810649920.4A 2018-06-22 2018-06-22 基于卢卡斯序列定位错误文件的批量云审计方法 Active CN109088850B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
《Batchauditingformulti-clientdynamicdatainmulti-cloudstor》;xinliu,yujia jiang;《international journal of security and its applications》;20140630;全文 *
《Compactproofsofretrievability[J].JournalofCryptology》;ShachamH,WatersB;《IEEE》;20130326;全文 *
《Dynamic-Hash-Tablebasedpublicauditingforsecurecloudstorage》;TianH,ChenY,ChangC;《IEEETransactionsonServicesComputing》;20171005;全文 *
《Efficientpairing-freeprivacy-preservingauditingschemeforcloudstorageindistributedsensornetworks》;ZhangX,XuC,ZhangX;《International Journal of Distributed Sensor Networks》;20150219;全文 *
《Light-weightandprivacy-preservingsecurecloud auditingschemeforgroupusersviathethirdpartymedium》;wenting shen,jiayu,huixia,hanlin zhang,xiuqing liu,rong hao;《JournalofNetwork andComputerApplications》;20170215;全文 *
《privacy-preserving public auditing for secure cloud storage 》;wang C,chow SSM,wang q;《IEEE Transactions on computers》;20120202;全文 *
《Researchonmapreduce-basedcloudstoragebatchauditing》;JinY,YanD,HeH;《2016IEEE11thConferenceonIndustrialElectronicsandApplications》;20161231;全文 *
《Researchonmapreduce-basedcloudstoragebatchauditing》;JinY,YanD,HeH;《IEEE11thConferenceonIndustrialElectronicsandApplications》;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