首页 > 专利 > 陕西师范大学 > 基于卢卡斯序列定位错误文件的批量云审计方法专利详情

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

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2018-06-22
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2019-01-18
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2021-06-15
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2038-06-22
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201810649920.4 申请日 2018-06-22
公开/公告号 CN109088850B 公开/公告日 2021-06-15
授权日 2021-06-15 预估到期日 2038-06-22
申请年 2018年 公开/公告年 2021年
缴费截止日
分类号 H04L29/06H04L9/32H04L9/06G06F21/64G16H10/60 主分类号 H04L29/06
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 8
权利要求数量 9 非专利引证数量 1
引用专利数量 1 被引证专利数量 0
非专利引证 1、2014.12.18Kingston, Ontario. Louis《.the squareterms in lucas sequences》《.journal ofnumber theory 58》.1994,ShachamH,WatersB《.Compactproofsofretrievability[J]J.ournalofCryptology》《.IEEE》.2013,JinY,YanD,HeH《.Researchonmapreduce-basedcloudstoragebatchauditing》《.IE EE11thConferenceonIndustrialElectronicsandApplications》.2016,ZhangX,XuC,ZhangX《.Efficientpairing-freeprivacy-preservingauditingschemeforclousdtorageindistributesdensornetworks》. 《International Journal of DistributedSensor Networks》.2015, TianH,ChenY,ChangC《.Dynamic-Hash-Tablebasedpublicauditingfosrecureclousdtorage》《.IE EETransactionsonServicesComputing》.2017,xinliu,yujia jiang《.Batchauditingformulti-clientdynamicdatainmulti-cloudstor》《.i nternationaljournal of security and itsapplications》.2014,wenting shen,jiayu,huixia,hanlinzhang,xiuqing liu,rong hao《.Light-weightandprivacy-preservingsecurecloud auditingschemfeorgroupusersviathethirdpartymedium》《.JournalofNetwork andComputerApplications》.2017,wang C,chow SSM,wang q《.privacy-preserving public auditing for securecloud storage 》《.IEEE Transactions oncomputers》.2012,张新鹏,许春香,张新颜,赛 伟,韩兴阳,刘国平《.基于代理重签名的支持用户可撤销的云存储数据公共审计方案》《.计算机应用》.2016,JinY,YanD,HeH《.Researchonmapreduce-basedcloudstoragebatchauditing》《.2016IE EE11thConferenceonIndustrialElectronicsandApplications》.2016,;
引用专利 US2014369492A 被引证专利
专利权维持 4 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 陕西师范大学 当前专利权人 陕西师范大学
发明人 李艳平、韩静、吴姣姣、鲁来凤 第一发明人 李艳平
地址 陕西省西安市长安南路199号 邮编 710062
申请人数量 1 发明人数量 4
申请人所在省 陕西省 申请人所在市 陕西省西安市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
西安恒泰知识产权代理事务所 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
张明
摘要
本发明公开了一种基于卢卡斯序列定位错误文件的批量云审计方法,首先,本方法可扩展性强,无论被审计文件是单个还是多个,本方法均可一次处理;其次,利用自查询技术和多项式承诺技术,将批量审计阶段的通信开销从线性级降到常数量级,即不随被审计文件个数而线性递增;再次,在批量审计任务失败时,利用卢卡斯序列的递归性和黄金分割性,设计了一种新型的错误文件定位方法,并针对特殊情况(被审计文件的数量是一个卢卡斯数)和一般情况(被审计文件的数量是一个任意正整数)的处理方法分别进行了详细介绍;最后,本方法可防止好奇的第三方审计者和云服务提供商获取用户数据文件的数据具体内容,很好的保护数据文件的机密性和隐私性。
  • 摘要附图
    基于卢卡斯序列定位错误文件的批量云审计方法
  • 说明书附图:图1
    基于卢卡斯序列定位错误文件的批量云审计方法
  • 说明书附图:图2
    基于卢卡斯序列定位错误文件的批量云审计方法
  • 说明书附图:图3
    基于卢卡斯序列定位错误文件的批量云审计方法
  • 说明书附图:图4
    基于卢卡斯序列定位错误文件的批量云审计方法
  • 说明书附图:图5
    基于卢卡斯序列定位错误文件的批量云审计方法
  • 说明书附图:图6
    基于卢卡斯序列定位错误文件的批量云审计方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2021-06-15 授权
2 2019-01-18 实质审查的生效 IPC(主分类): H04L 29/06 专利申请号: 201810649920.4 申请日: 2018.06.22
3 2018-12-25 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
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: E为对称加密算法,伪随机函数ψ: π为伪随机置
换。

3.如权利要求2所述的基于卢卡斯序列定位错误文件的批量云审计方法,其特征在于,步骤2的具体过程包括:
步骤2.1,记所述的云存储服务器中共注册有N个用户,每个用户Uθ独立地选择一个随机值 作为用户Uθ的私钥,并生成 作为用户Uθ的公钥;θ∈{1,2,···,
N};
步骤2.2,用户Uθ设置对称加密算法E的密钥 并随机选择两个值
作为生成数据认证元的辅助值;
(θ) (θ) (θ)
步骤2.3,用户Uθ公开K 、α ,保密k 、 和

4.如权利要求3所述的基于卢卡斯序列定位错误文件的批量云审计方法,其特征在于,步骤3的具体过程包括:
步骤3.1,数据文件的划分
(θ)
用户Uθ将需要外包到云存储服务器的数据文件F 顺序分割成n块,即
(θ)
每个 数 据块 f i 进 一步 分 成s 个数 据 字段 ,即
其中每个元素 i∈{1,2,...,n},j∈{1,2,···,s};
步骤3.2,生成标签
(θ)
用户Uθ设置数据文件F 的身份标识符 中包含数据文件的名字、版本
(θ) (θ)
号和文件分类号,用户Uθ生成数据文件F 在私钥k 下的签名 产生数据文件(θ)
F 的标签
步骤3.3,数据文件的盲化处理
用户Uθ利用所述的对称加密算法E,用以下方式盲化数据文件划分成的数据字段:
为对称加密算法E在用户Uθ的保密密钥 控制下对(j,i)加密后所得的密文,然后与每个数据字段 做模p加运算,得到加密后字段 加密字段组成加密数据块最终文件 被加密为
步骤3.4,生成数据认证元集合
用户Uθ利用下式得到数据认证元集合:
其中 i∈{1,2,···,n},j∈{1 ,2,···,s},
则数据认证元集合为
步骤3.5,文件的存储及审计请求的发送
(θ) (θ)′ (θ)
用户Uθ发送存储文件信息{TagF ,F ,Φ }给云存储服务器进行存储,当收到云存(θ) (θ)′
储服务器已安全存储的反馈,用户Uθ删除本地存储的数据文件F 及其密文文件F 。

5.如权利要求4所述的基于卢卡斯序列定位错误文件的批量云审计方法,其特征在于,步骤4的具体过程包括:
用户Uθ向第三方审计者发送审计请求,第三方审计者收到来自N′个不同用户发来的审计请求后,验证这些审计请求中用户和文件的合法性,若存在不合法的审计请求,则第三方审计者拒绝并剔除不合法的审计请求,N′≤N;对于合法的审计请求,第三方审计者按照以下步骤生成审计挑战:
第三方审计者随机选取一个挑战数目c,c为一个小于等于n的正整数,选取一个随机值用于多项式函数,选择 和 分别作为伪随机函数ψ和伪随机置换π的密钥,输出审计挑战Q={c,r,kψ,kπ}并发送给云存储服务器。

6.如权利要求5所述的基于卢卡斯序列定位错误文件的批量云审计方法,其特征在于,步骤5的具体过程包括:
步骤5.1,云存储服务器接收到审计挑战Q之后,将 中的每一个值 作为伪随机置换π和伪随机函数ψ的输入,生成 作为被挑战数据块的位置索引,形成新位置索引集I;生成 作为原 扩散的相应位置 的系数;
(θ) (θ)′ (θ)
步骤5.2,云存储服务器结合用户发来的存储文件信息{TagF ,F ,Φ },生成以下证据γ,ξ和数据认证元σ:
(θ)′
首先对盲化后的加密矩阵F 逐列计算 j∈{1,2,···,
s},其中 为用户Uθ对 加密后所得密文字段;其次利上述计算的 构造一个s次多项式函数 其中s是字段个数;最后将第三方审计者选择的
(θ)
随机值r带入函数φ(x)得γ =φ(r),并生成
云存储服务器求得s‑1次多 项式 计算
生成
(θ)
云存储服务器利用用户给它发的数据认证元集合Φ ,生成 和
聚合的挑战数据完整性认证元
步骤5.3,云存储服务器输出审计证明P={γ,ξ,σ},并将审计证明返回给第三方审计者。

7.如权利要求6所述的基于卢卡斯序列定位错误文件的批量云审计方法,其特征在于,步骤6中所述的第三方审计者收到审计证明后进行验证,经验证如果所述的数据文件被云存储服务器保存完整,则给相应的用户返回审计报告,包括:
(θ) (1)
第三方审计者接收到审计证明P后,利用系统公开参数α ,请求审计用户的公钥K ,K(2) (θ) (N′)
,...,K ,...,K , 被审计文件信息 以及审计请求Req,根据下式生成辅助信息K,
第三方审计者验证下式是否成立:
如果成立,第三方审计者认为所有被审计的数据文件均被云服务器保存完整,第三方审计者给相应的用户返回相应的审计报告;如果不成立,则第三方审计者认为某些审计的数据文件发生损坏。

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)个数据文件的审计证明,第三方审计者对该审计证明进行验证。
说明书

技术领域

[0001] 本发明属于云存储中数据完整性验证的技术领域,具体涉及一种基于卢卡斯序列(Lucas sequence)定位错误数据文件的新型高效批量云审计方法。

背景技术

[0002] 物联网应用领域中,医疗物联网(Internet of Medical Things,IoMT)一直是近年来备受关注的焦点,图1展示了医疗物联网的系统模型,人体携带的各种存储能力受限的移动传感器一天24小时间断的产生海量医疗数据。云存储服务平台的出现为海量医疗数据的存储提供了有效的解决方案,但云外包存储数据的完整性、隐私性等安全问题仍是用户选择这种云外包存储的主要顾虑,也是影响云存储技术进一步发展的一个障碍。因此,在医疗物联网的应用背景下,如何确保外包存储数据的完整性和隐私性显得尤为重要。
[0003] 近年来,云外包存储数据的完整性验证技术已被许多学者持续关注,并提出了多种完整性验证和审计技术,例如利用HMAC哈希函数来实现远程云存储数据的完整性验证、利用RSA签名的同态特征来实现数据的完整性验证、云用户高效撤销的共享数据公共审计方案、基于云的无线人体区域网络的公共审计方案、云中同态验证环签名机制共享数据的公共审计方案等;另外,中国发明专利CN201610871538、CN20150390398.9也分别提出了云数据的完整性验证方法。
[0004] 在上述公共云审计方案中,多数方案只关注单个文件的完整性审计,不考虑保护数据机密性以及第三方审计者可能会在短时间内处理多个审计申请的情况。一旦发生第三方审计者短时间内接收到多个审计请求的情况,第三方审计者只能按序依次审计,审计效率会大大降低。可以扩展为批量审计的个别方案,它们审计阶段的通信开销均随被审计的文件数或被挑战的数据块数的增长而线性增长,在恶劣的网络环境情况下,这种通信成本的增长会极大影响批量审计的效率。此外,虽然批量审计在验证数据完整性方面非常高效,但当批量审计任务失败时,表明被审计数据文件中有损坏数据文件,目前识别和定位出被损坏数据文件只有一个传统的二分法,该法非常低效。因此,设计一个高效的批量云审计方案和一个新的错误文件定位方法是一个非常具有挑战性的研究问题。

发明内容

[0005] 针对现有技术中存在的问题,本发明的目的是基于卢卡斯递归序列,提供一种存储安全、审计高效、定位快速的批量云审计方法。
[0006] 为了实现上述任务,本发明采用以下技术方案:
[0007] 一种基于卢卡斯序列定位错误文件的批量云审计方法,包括以下步骤:
[0008] 步骤1,云存储服务器生成并公开系统参数;
[0009] 步骤2,用户根据云存储服务器参数生成用于标签的公钥和私钥、对称加密算法的密钥,以及数据认证元的辅助值;
[0010] 步骤3,用户将需要外包到云存储服务器的数据文件进行分块,并将每个分块进一步划分成数据字段,生成数据文件的标签,并对所述的数据文件进行盲化处理得到密文文件,然后生成数据认证元集合;最后用户将数据文件的标签,密文文件以及数据认证元集合存储到云存储服务器,然后删除用户本地存储的数据文件和密文文件;
[0011] 步骤4,用户向第三方审计者发送审计请求,第三方审计者收到不同用户发来的审计请求后,验证这些审计请求的合法性,若存在不合法的审计请求则拒绝;对于合法的审计请求,第三方审计者生成审计挑战并发送给云存储服务器;
[0012] 步骤5,云存储服务器根据所述审计挑战生成相应的审计证明,并将审计证明返回给第三方审计者;
[0013] 步骤6,第三方审计者收到审计证明后进行验证,经验证如果所述的数据文件被云存储服务器保存完整,则给相应的用户返回审计报告;如数据文件发生损坏,则采用卢卡斯序列查找法定位数据文件中的错误文件;所述的查找法包括:
[0014] 判断被审计的数据文件的总数是否为卢卡斯数列中的一个数,如果是则执行步骤6.1,不是则执行步骤6.2;
[0015] 步骤6.1,第三方审计者将被审计的数据文件按照卢卡斯序列的递归关系分为两部分,其中较少部分是第三方审计者记录的审计过程中未出错或出错次数少的数据文件组成,将较少一部分的数据文件通过云存储服务器进行审计后,第三方审计者进行验证:
[0016] 如果验证通过,则错误文件位于较多一部分数据文件中,此时对所述较多一部分数据文件再次按照卢卡斯序列的递归关系划分成两部分,较少部分是在该部分中审计未出错或出错次数少的数据文件组成,并进行审计、验证;
[0017] 如果验证不通过,则较少一部分数据文件中包含错误文件,同时较多的一部分数据文件中可能包含错误文件,则将所述较少一分部数据文件再次按照卢卡斯序列的递归关系划分成两部分,将此次划分后得到的较少部分的数据文件、首次划分后得到的较多一部分的数据文件进行审计、验证;
[0018] 步骤6.2,被审计的数据文件总数为任意一个正整数M,第三方审计者将M划分成一个小于M且最接近M的卢卡斯数和剩余数之和,利用此法对被审计的数据文件进行m次循环划分,从而将所述的数据文件共划分为m+1个子部分,再将这m+1个子部分的数据文件划分成两部分,并将这两部分中较少部分的数据文件进行审计、验证。
[0019] 进一步地,步骤1所述的云存储服务器生成并公开系统参数,包括:
[0020] 云存储服务器生成并公开系统参数cp={p,G,GT,g,e,h,E,ψ,π},其中p为一个大素数,G、GT为p阶的乘法循环群,g为乘法循环群G的生成元,e为G×G→GT上的一个双线性对,h为hash函数 E为对称加密算法,伪随机函数 π为伪随机置换。
[0021] 进一步地,步骤2的具体过程包括:
[0022] 步骤2.1,记所述的云存储服务器中共注册有N个用户,每个用户Uθ独立地选择一个随机值 作为用户Uθ的私钥,并生成 作为用户Uθ的公钥;θ∈{1,2,···,N};
[0023] 步骤2.2,用户Uθ设置所述对称加密算法E的密钥 并随机选择两个值作为生成数据认证元的辅助值;(θ) (θ) (θ)
[0024] 步骤2.3,用户Uθ公开K 、α ,保密k 、 和
[0025] 进一步地,步骤3的具体过程包括:
[0026] 步骤3.1,数据文件的划分
[0027] 用户Uθ将需要外包到云存储服务器的数据文件F(θ)顺序分割成n块,即(θ)每个 数 据块 fi 进 一步 分成 s 个数 据 字段 ,即
其中每个元素 i∈{1,2,...,n},j∈{1,2,···,s};
[0028] 步骤3.2,生成标签
[0029] 用户Uθ设置数据文件F(θ)的身份标识符 中包含数据文件的名字、(θ) (θ)
版本号和文件分类号,用户Uθ生成数据文件F 在私钥k 下的签名 产生数据
(θ)
文件F 的标签
[0030] 步骤3.3,数据文件的盲化处理
[0031] 用户Uθ利用所述的对称加密算法E,用以下方式盲化数据文件划分成的数据字段:
[0032]
[0033] 为对称加密算法E在用户Uθ的保密密钥 控制下对(j,i)加密后所得的密文,然后与每个数据字段 做模p加运算,得到加密后字段 加密字段组成加密数据块 最终文件 被加密为
[0034] 步骤3.4,生成数据认证元集合
[0035] 用户Uθ利用下式得到数据认证元集合:
[0036]
[0037] 其中 i∈{1,2,···,n},j∈{1,2,···,s},则数据认证元集合为
[0038] 步骤3.5,文件的存储
[0039] 用户Uθ发送存储文件信息{TagF(θ),F(θ)′,Φ(θ)}给云存储服务器进行存储,当收到(θ) (θ)′云服务器已安全存储的反馈,用户Uθ删除本地存储的数据文件F 及其密文文件F ;
[0040] 进一步地,步骤4的具体过程包括:
[0041] 用户向第三方审计者发送审计请求,第三方审计者收到来自N′个不同用户发来的审计请求后,验证这些审计请求中用户和文件的合法性,若存在不合法的审计请求,则第三方审计者拒绝并剔除不合法的审计请求,N′≤N;对于合法的审计请求,第三方审计者按照以下步骤生成审计挑战:
[0042] 第三方审计者随机选取一个挑战数目c,c为一个小于等于n的正整数,选取一个随机值 用于多项式函数,选择 分别作为伪随机函数ψ和伪随机置换π的密钥,输出审计挑战Q={c,r,kψ,kπ}并发送给云存储服务器。
[0043] 进一步地,所述的步骤5包括:
[0044] 步骤5.1,云存储服务器接收到审计挑战Q之后,将 中的每一个值 作为伪随机置换π和伪随机函数ψ的输入,生成 作为被挑战数据块的位置索引,形成新位置索引集I;生成 作为原 扩散的相应位置 的系数;
[0045] 步骤5.2,云存储服务器结合用户发来的存储文件信息 生成以下证据γ,ξ和数据认证元σ:
(θ)′
[0046] 首先对盲化后的加密矩阵F 逐列计算 j∈{1,2,···,s},其中 为用户Uθ对 加密后所得密文字段;其次利上述计算的 构造一个s次多项式函数 其中s是字段个数;最后将第三方审计
(θ)
者选择的随机值r带入函数φ(x)得γ =φ(r),并生成
[0047] 云存储服务器求得s‑1次多项式 计算生成
[0048] 云存储服务 器利用用 户给 它发的 数据认证元 集合Φ(θ) ,生 成和聚合的挑战数据完整性认证元
[0049] 步骤5.3,云存储服务器输出审计证明P={γ,ξ,σ},并将审计证明返回给第三方审计者。
[0050] 进一步地,步骤6中所述的第三方审计者收到审计证明后进行验证,经验证如果所述的数据文件被云存储服务器保存完整,则给相应的用户返回审计报告,包括:
[0051] 第三方审计者接收到审计证明P后,利用系统公开参数α(θ),请求审计用户的公钥K(1) (2) (θ) (N′),K ,...,K ,...,K , 被审计文件信息 以及审计请求Req,根据下式
生成辅助信息K,
[0052]
[0053]
[0054] 第三方审计者验证下式是否成立:
[0055]
[0056] 如果成立,第三方审计者认为所有被审计的数据文件均被云服务器保存完整,第三方审计者给相应的用户返回相应的审计报告;如果不成立,则第三方审计者认为某些审计的数据文件发生损坏。
[0057] 进一步地,步骤6.1的具体过程包括:
[0058] 若被审计的数据文件的总数为一个卢卡斯数列中的一个数,称被审计的数据文件总数为卢卡斯数L(d);
[0059] 步骤6.1.1,因卢卡斯数L(d)=L(d‑1)+L(d‑2),第三方审计者将被审计的数据文件分为两部分,第一部分由第三方审计者在审计过程中未出错或出错次数较少的L(d‑2)个数据文件组成,第二部分由剩余的L(d‑1)个数据文件组成,其中第一部分中数据文件的数目少于第二部分;
[0060] 所述的未出错或出错次数较少是指:第三方审计者记录了所有被审计过的数据文件的出错次数a/审计总次数b,如果某数据文件审计未出过错,则a=0,a/b=0,对未被审计的文件赋值a/b=0/0;所述的第一部分由被审计文件中a/b值最小的文件组成;
[0061] 步骤6.1.2,第三方审计者对云存储服务器提交第一部分L(d‑2)个数据文件的审计申请,云存储服务器返回该部分的审计证明,第三方审计者对该审计证明进行验证:
[0062] ①当审计证明通过第三方审计者的验证时,则说明错误文件一定位于第二部分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)个数据文件的审计证明,第三方审计者对继续该审计证明进行验证;
[0063] ②当审计证明未通过第三方审计者的验证时,则说明第一部分的L(d‑2)个文件中包含错误文件,而第二部分L(d‑1)个数据文件中包含或不包含错误文件;将第一部分L(d‑2)个数据文件分为L(d‑4)和L(d‑3)两个部分,将其中较少一部分的L(d‑4)个数据文件、首次划分后得到的第二部分L(d‑1)个数据文件云存储服务器进行审计,云存储服务器返回这两部分文件的审计证明,第三方审计者继续对这两个审计证明分别进行验证。
[0064] 进一步地,步骤6.2的具体过程包括:
[0065] 记被审计的数据文件总数为一个任意的正整数M,第三方审计者将被审计的数据文件分成两部分,第一部分包含L1(d)个数据文件,其中L1(d)是小于M的最大卢卡斯数,则第二部分包含M‑L1(d)个数据文件;将第二部分M‑L1(d)个数据文件分为两部分,第一部分包含L2(d)个数据文件,其中L2(d)是一个小于M‑L1(d)的最大卢卡斯数,第二部分包含M‑L1(d)‑L2(d)个数据文件;
[0066] 经过有限m次的循环操作,M个数据文件可被分为m+1子部分,M可表示为如下形式:
[0067] M=L1(d)+L2(d)+…+Lm(d)+Lm+1(d);
[0068] 将所述的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)个数据文件的审计证明,第三方审计者对该审计证明进行验证。
[0069] 本发明与现有技术相比具有以下技术特点:
[0070] 第一,本发明考虑到第三方审计者短时间内收到多个审计任务,为了节约审计时间,提高审计效率,提出让第三方审计者批量处理审计任务的方法,目前这样处理的方法相对来说非常少,多数方法都是顺序处理单个审计任务,导致审计效率较低,当然本发明也可以处理单个审计任务,也可以同时处理多个审计任务。
[0071] 第二,目前多数公开的审计方案中,数据文件都是以明文形式进行外包存储,导致数据的机密性和隐私性都被云存储服务器和第三方审计者知晓,本文利用轻量级加密算法,对数据文件进行分块盲化处理,保证了数据文件的机密性和隐私性。
[0072] 第三,少数可以扩展成批审计的方法存在挑战期间和生成证据量与被审计文件数目线性相关的问题,对于网络环境较差或带宽受限的情况下,审计效率非常低下,本发明专利利用多项式承诺技术和聚合方法,将第三方审计者对多个被审计文件生成的挑战Q以及云存储中心返回证据P都降为常数量级,与被审计文件数目完全无关。
[0073] 第四,当批审计失败时,说明被审计文件中存在完整性破坏文件(后称损害文件),如何找出该损坏文件,目前少数可扩展成批审计的方法都没有对其进行深入探讨。考虑到传统二分法随机一分为二,损坏文件可能随机分布,定位起来比较费时,本发明想结合第三方审计者的先验概率,把少数不出错或出过一两次错的文件分出小部分,进行批审计且希望一次通过审计,提高批审计成功率,减少随机一分为二所带来的重复审计,逐步缩小定位损坏文件的范围。本发明基于卢卡斯数列递归思想,主要是卢卡斯序列属于黄金分割数列,且划分成非对分的两部分,比对等分的二分法更契合第三方审计者的先验概率统计。本发明提出方法和传统二分法做了相关比较,综合考虑计算量和通信量,本方法在平均情况下优于二分法。

实施方案

[0080] 以下结合附图对本发明方案进行进一步详细说明。
[0081] 如图2所示,一种基于卢卡斯序列定位错误文件的批量云审计方法,包括以下步骤:
[0082] 步骤1,云存储服务器生成并公开系统参数;
[0083] 云存储服务器根据系统安全参数κ选择合适素数生成算法生成一个二进制长度大于等于κ的大素数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,ψ,π}。
[0084] 步骤2,用户根据云存储服务器参数生成用于标签的公钥和私钥、对称加密算法的密钥,以及数据认证元的辅助值;具体地:
[0085] 步骤2.1,记所述的云存储服务器中共注册有N个用户,N为有限的正整数;每个用户Uθ独立地选择一个随机值 作为用户Uθ的私钥,并生成 作为用户Uθ的公钥,θ∈{1,2,···,N};
[0086] 步骤2.2,用户Uθ设置所述对称加密算法E的密钥 并随机选择两个值作为生成数据认证元的辅助值;
[0087] 步骤2.3,用户Uθ公开K(θ)、α(θ),保密k(θ)、 和
[0088] 步骤3,用户将需要外包到云存储服务器的数据文件进行分块,并将每个分块进一步划分成数据字段,生成数据文件的标签,并对所述的数据文件进行盲化处理得到密文文件,然后生成数据认证元集合;最后用户将数据文件的标签,密文文件以及数据认证元集合存储到云存储服务器,然后删除用户本地存储的数据文件和密文文件,用户向第三方审计者发送审计请求;云审计系统结构如图2,存储及审计过程如图3所示,具体步骤如下:
[0089] 步骤3.1,数据文件的划分
[0090] 用户Uθ将需要外包到云存储服务器的数据文件F(θ)顺序分割成n块,即每个数据块 进一步分成s个数据字段,即其中每个元素 i∈{1,2,...,n},j∈{1,2,···,s},具
体表示如下:
[0091]
[0092] 步骤3.2,生成标签(θ)
[0093] 用户Uθ设置数据文件F 的身份标识符 中包含数据文件的名字、(θ) (θ) (θ)
版本号和文件分类号,用户Uθ生成数据文件F 在私钥k 下的签名,产生数据文件F 的标签
[0094] 步骤3.3,数据文件的盲化处理
[0095] 用户Uθ利用所述的对称加密算法E,用以下方式盲化数据文件划分成的数据字段:
[0096]
[0097] 为对称加密算法E在用户Uθ的保密密钥 控制下对(j,i)加密后所得的密文,然后与每个数据字段 做模p加运算,得到加密后字段 加密字段组成加密数据块 最终文件 被加密为
[0098] 步骤3.4,生成数据认证元集合
[0099] 用户Uθ利用下式得到数据认证元集合:
[0100]
[0101] 其中α(θ)为用户Uθ公开密钥, 为用户Uθ的保密密钥,i∈{1,2,···,n},j∈{1,2,···,s}, 则数据认证元集合为
[0102] 步骤3.5,文件的存储
[0103] 用户Uθ发送存储文件信息 给云存储服务器进行存储,当收到云服(θ) (θ)′
务器已安全存储的反馈,用户Uθ删除本地存储的数据文件F 及其密文文件F ;
[0104] 上面属于用户数据外包存储阶段,下面属于数据完整性公开审计阶段:
[0105] 步骤4,用户Uθ向第三方审计者发送审计请求,第三方审计者在某时间段内收到不同用户发来的审计请求 后,验证这些审计请求的合法性,若存在不合法的审计请求则拒绝;对于合法的审计请求,第三方审计者生成审计挑战并发送给云存储服务器;具体地:
[0106] 设第三方审计者几乎同时或在一段时间内收到来自N′个不同用户发来的审计请求后,验证这些审计请求中用户和文件的合法性,若存在不合法的审计请求,则第三方审计者拒绝并剔除不合法的审计请求,N′≤N;对于合法的审计请求,第三方审计者按照以下步骤生成审计挑战:
[0107] 第三方审计者随机选取一个挑战数目c,c为一个小于等于n的正整数,选取一个随机值 用于多项式函数,随机选择 和 分别作为伪随机函数ψ和伪随机置换π的密钥(相同的密钥产生相同的输出),输出审计挑战Q={c,r,kψ,kπ}并发送给云存储服务器。
[0108] 步骤5,云存储服务器根据所述审计挑战生成相应的审计证明,并将审计证明返回给第三方审计者;
[0109] 步骤5.1,云存储服务器接收到审计挑战Q之后,将 中的每一个值 作为伪随机置换π和伪随机函数ψ的输入,生成 作为被挑战数据块的位置索引,实质是把c个数随机扩散到{1,2,···,n}上去,形成新位置索引集I;生成 作为原扩散的相应位置 的系数;其中,I集合中的c个数对应了c个随机的被挑战数据块,表示对伪随机置换π输入 ,输出 这样使得选出的抽检文件块更随机;
表示对于伪随机函数ψ,输入 输出 与 相对应。
[0110] 步骤5.2,云存储服务器结合用户发来的存储文件信息 生成以下证据γ,ξ和数据认证元σ:
(θ)
[0111] 首先对盲化后的加密矩阵F ′逐列计算 j∈{1,2,···,s},其中 为用户Uθ对 加密后所得密文字段;其次利上述计算的 构造一个s次多项式函数 其中s是字段个数;最后将第三方审计者
(θ)
选择的随机值r带入函数φ(x)得γ =φ(r),并生成
[0112] 云存储服务器求得s‑1次多项式函数 其中为s‑1次多项式函数的形式化表达方式;计算 生成
[0113] 云存储服务 器利用用 户给 它发的 数据认证元 集合Φ(θ) ,生 成和聚合的挑战数据完整性认证元
[0114] 步骤5.3,云存储服务器输出审计证明P={γ,ξ,σ},并将审计证明返回给第三方审计者。
[0115] 步骤6,第三方审计者收到审计证明后进行验证,经验证如果所述的数据文件被云存储服务器保存完整,则给相应的用户返回审计报告;具体地:
[0116] 第三方审计者接收到审计证明P后,对集合{1,2,…,c}中的每一个值 利用伪随(θ)机置换 生成 伪随机函数 生成了 利用系统公开参数α ,请求审计用户的
(1) (2) (θ) (N′)
公钥K ,K ,...,K ,...,K , 被审计文件信息 以及审计请求Req,根
据下式生成辅助信息K,
[0117]
[0118]
[0119] 第三方审计者验证下式是否成立:
[0120]
[0121] 如果成立,第三方审计者认为所有被审计的数据文件均被云服务器保存完整,第三方审计者给相应的用户返回相应的审计报告;如果不成立,则第三方审计者认为某些审计的数据文件发生损坏。
[0122] 如数据文件发生损坏,则采用卢卡斯序列查找法定位数据文件中的错误文件;所述的查找法包括:
[0123] 步骤6.1,第三方审计者将被审计的数据文件按照卢卡斯序列的递归关系分为两部分,这里的卢卡斯序列的递归关系是指:
[0124] 由于被审计的数据文件的总数是一个卢卡斯数,根据卢卡斯序列的特点,其可以被拆分成两个卢卡斯数之和。在卢卡斯序列中,每一个卢卡斯数等于前两项卢卡斯数之和,即L(d)=L(d‑1)+L(d‑2),其中L(d‑1)>L(d‑2);本方案中,第三方审计者按照卢卡斯序列的自然递归关系,将数据文件拆分成两部分,即将数据文件的总数L(d)拆分为L(d‑1)和L(d‑2)这两部分,其中一部分数据文件较多而另外一部分较少。
[0125] 第三方审计者记录了所有被审计过的文件的出错次数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型数据文件尽量安排在较多一部分。将较少一部分的数据文件通过云存储服务器进行审计后,第三方审计者进行验证:
[0126] 如果验证通过,则错误文件位于较多L(d‑1)部分数据文件中,此时对所述较多一部分数据文件再次按照卢卡斯序列的递归关系划分成两部分,较少部分依旧是L(d‑1)个数据文件中a/b值最小的L(d‑3)个组成,并进行审计、验证;
[0127] 如果验证不通过,则较少一部分数据文件中包含错误文件,同时较多的一部分数据文件中可能包含错误文件,则将所述较少一分部数据文件再次按照卢卡斯序列的递归关系划分成两部分,每次总是将被审计文件集中a/b值最小的文件自然分割成一个卢卡斯数,每次先对划分后得到的较少部分的数据文件进行批量审计验证,然后再对较多一部分的数据文件进行审计、验证;
[0128] 第一种情况(特殊情况):被审计的数据文件的总数为一个卢卡斯数列中的一个数,称被审计的数据文件总数为卢卡斯数L(d);
[0129] 步骤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越大,该比例值越稳定;
[0130] 步骤6.1.2,第三方审计者对云存储服务器提交第一部分L(d‑2)个数据文件的审计申请,云存储服务器返回该部分的审计证明,第三方审计者对该审计证明进行验证:
[0131] ①当审计证明通过第三方审计者的验证时,则说明错误文件一定位于第二部分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)个数据文件的审计证明,第三方审计者对继续该审计证明进行验证;
[0132] ②当审计证明未通过第三方审计者的验证时,则说明第一部分的L(d‑2)个文件中包含错误文件,而第二部分L(d‑1)个数据文件中包含或不包含错误文件;将第一部分L(d‑2)个数据文件按照之前相同的方法分为L(d‑4)和L(d‑3)两个部分,将其中较少一部分的L(d‑4)个数据文件、首次划分后得到的第二部分L(d‑1)个数据文件云存储服务器进行审计,云存储服务器返回这两部分文件的审计证明,第三方审计者继续对这两个审计证明分别进行验证。
[0133] 如图4所示,给出了在第一种情况下的审计流程图。图中深色菱形框代表需要验证的部分,实线表示需要执行相应的步骤,虚线表示不需要执行。
[0134] 如图5所示,给出了特殊情况下定位错误时文件本发明方法和传统的二分法的所需时间对比图。从图中可以明显看出,在不同的审计文件数量下,本发明的审计方法均比现有传统的二分法耗时少。
[0135] 第二种情况(一般情况):被审计的数据文件总数为任意一个正整数M
[0136] 步骤6.2,当被审计的数据文件总数为任意一个正整数M,第三方审计者将M划分成一个小于M且最接近M的卢卡斯数和剩余数之和,利用此法对被审计的数据文件进行m次循环划分,从而将所述的数据文件共划分为m+1个子部分,再将这m+1个子部分的数据文件划分成两部分,并将这两部分中较少部分的数据文件进行审计、验证。具体过程如下:
[0137] 记被审计的数据文件总数为M,第三方审计者将被审计的数据文件分成两部分,第一部分包含L1(d)个数据文件,其中L1(d)是小于M的最大卢卡斯数,则第二部分包含M‑L1(d)个数据文件;将第二部分M‑L1(d)个数据文件分为两部分,第一部分包含L2(d)个数据文件,其中L2(d)是一个小于M‑L1(d)的最大卢卡斯数,第二部分包含M‑L1(d)‑L2(d)个数据文件;
[0138] 经过有限m次的循环操作,M个数据文件可被分为m+1子部分,M可表示为如下形式:
[0139] M=L1(d)+L2(d)+…+Lm(d)+Lm+1(d);
[0140] 将所述的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)个数据文件的审计证明,第三方审计者对该审计证明进行验证;后续过程与第一种情况相同,在此不赘述。
[0141] 图6的(6‑1)和(6‑2)给出了一般情况下定位错误文件本发明方法和传统的二分法的所需时间对比图,从图中可以看到,在审计相同数量文件的前提下,本发明较传统的二分法耗时更短。

附图说明

[0074] 图1为医疗物联网系统模型图;
[0075] 图2为云审计系统模型图;
[0076] 图3为本发明中批量审计以及错误文件定位算法概要;
[0077] 图4为特殊情况时的审计流程图;
[0078] 图5为特殊情况下定位错误文件本发明方法和传统的二分法的所需时间对比图;
[0079] 图6为一般情况下定位错误文件本发明方法和传统的二分法的所需时间对比图,其中(6‑1)为本发明方法,(6‑2)为传统的二分法。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号