一种面向云存储的文件压缩及认证方法技术

技术编号:14056192 阅读:55 留言:0更新日期:2016-11-27 01:28
本发明专利技术涉及一种面向云存储的文件压缩及认证方法,该方法包括文件压缩保护与文件认证提取两个过程。该方法通过对原始文件数据进行高效的压缩及加密,达到大幅减少数据传输代价及存储空间并有效防止数据泄露的目的。此外,该方法通过在原始文件数据中嵌入认证信息实现数据认证。认证方式包含两种,一种是水印认证,一种是附言认证。水印认证基于压缩数据中均匀分布的水印信息进行认证。附言认证基于用户隐藏在文件中的附加留言进行认证。认证时,首先基于原文件中嵌入的认证信息头部检测文件是否被替换,然后基于原文件中嵌入的水印信息检测出文件是否被修改以及被修改的位置,最后基于附言信息由用户进行最终的主观判定。

【技术实现步骤摘要】

本专利技术涉及网络信息安全应用领域,特别涉及一种面向云存储的文件压缩及认证方法
技术介绍
2014年EMC公司发布的第七份“数字宇宙”年度研究报告指出,随着互联网技术以及物联网技术的迅速发展,全球数据总量将以每两年翻一番的速度持续增长。从2013年到2020年,全球数据量总量将增长10倍,从4.4万亿GB升至44万亿GB。面对数据量的急剧膨胀,企业及个人需要不断购置大量的存储设备来满足日益增长的存储需求。然而,随着存储资源及配套硬件的投入不断加大,数据维护成本、人员管理和资源的消耗也在将不断增加,大多数企业及个人无法承受如此巨大且持续的开支。此外,大量的异构物理存储资源将极大地增加存储管理的复杂性,导致存储资源浪费以及利用效率降低。为了解决这些问题,必须建立一套新的处理机制来调度和协调现有资源。在此背景下,云存储技术应运而生。云存储技术利用分布式文件系统、集群应用和网格技术等手段,将网络中各类异构物理存储设备通过应用软件集合起来协同工作,共同对外提供业务访问和数据存储功能。它为用户提供了大量廉价的存储空间,因此得到了广泛支持及应用。然而,云存储作为一种新型的存储模式,面临以下问题:1)云存储速度较慢。与本地物理存储设备相比,云存储由于受到用户带宽、网络服务供应商网络设备性能、云提供商业务承载能力及设备性能等多种因素影响,因而存储速度受到限制。其中,用户带宽为主要限制因素;2)云存储中的数据具有泄露风险。在云存储模式下,用户的私有数据不再由自己控制,而是完全交由云提供商进行存储和管理。当云提供商系统存在安全漏洞或配置错误等问题时,用户数据可能被泄露;3)云提供商并不完全可信。云提供商自身可能存在严重的“拜占庭错误”,即云提供商可能出于某种目的而任意伪造或篡改用户数据。这些问题使得云存储对数据的第三方存储与保护提出了新的要求:1)为了减少传输代价及存储空间,数据需要被压缩存储;2)为了防止第三方泄露,数据需要被密文存储;3)为了防止数据被伪造或篡改,需要能够对数据进行认证,包括宿主认证及完整性认证等。因此,面向云存储的文件压缩及认证方法需要能够适应以上要求,即能够对数据进行压缩加密并在压缩加密数
据中进行信息隐藏,从而提供数据保护认证功能。目前,现有技术中尚缺乏适用于所有类型数据的通用云存储文件压缩与保护方法。
技术实现思路
本专利技术的目的在于,为了克服上述问题,本专利技术提供一种面向云存储的文件压缩及认证方法。为了实现上述目的,本专利技术提供一种面向云存储的文件压缩及认证方法,所述方法包含:文件压缩步骤和文件认证提取步骤:所述文件压缩步骤具体包括:步骤101)选择认证方式,所述认证方式包含:单独采用附言认证方式或者同时采用附言和水印的认证方式;设定认证和压缩相关参数的初值,所述的相关参数包含:水印认证信息的长度R、附言认证信息的长度为T、嵌入位置密钥Key1(即密钥1)、对数据进行加密的密钥Key2及嵌入单元大小U,其中U>R;其中,所述的嵌入单元为划分原始文件后得到的处理单元,该处理单元为文件嵌入、压缩与加密过程的最小单位;步骤102)设定认证信息内容,所述认证信息包含水印认证信息和附言认证信息,其中水印认证信息为长度R的字符串,附言认证信息为长度T的字符串;根据设定的认证信息内容及认证和压缩相关参数初值生成长度为H的认证信息头部;步骤103)获取原始文件及原始文件的长度;步骤104)根据原始文件的长度信息S、认证信息头部的长度H、水印认证信息的长度R、附言认证信息的长度T和嵌入单元大小U,采用如下公式计算嵌入单元的个数N:如果没有水印认证信息,则R=0;如果没有附言认证信息,则T=0;步骤105)根据得到的嵌入式单元的个数N计算当前嵌入单元中待嵌入的认证信息长度和待嵌入的载体文件长度,其中待嵌入的认证信息的长度与待嵌入的载体文件长度的和等于嵌入单元的长度;其中,当计算当前嵌入单元中待嵌入认证信息长度和载体文件数据长度是可以采用如下方法:步骤105-1)计算当前嵌入单元中待嵌入认证信息长度进一步包括:步骤105-1-1)将附言认证信息分为N个块后再分别嵌入到N个嵌入单元中,每个嵌入单元中附言认证信息的长度l的计算方法为:令k1为T除以N的商,k2为T除以N的余数,k为将第k个块嵌入到第k个嵌入单元:如果k≤k2,则l=k1+1;否则l=k1;步骤105-1-2)将认证信息头部嵌入第一个嵌入单元中,如果是第一次嵌入,则认证信息长度为认证信息头部长度与水印认证信息长度和附言认证信息长度的和,用公式表示为:L=H+R+l如果是其他次嵌入,则认证信息长度为水印认证信息长度加上附言认证信息长度,用公式表示为:L=R+l;步骤105-2)载体文件数据长度为嵌入单元大小减去当前嵌入单元待嵌入认证信息长度,设当前嵌入单元中载体文件数据长度为Z,则:Z=U-L如果没有认证信息,上面的公式中R=0;如果没有附言认证信息,上面的公式中l=0;步骤106)根据步骤105)所得结果读取相应长度的认证信息和载体文件数据;步骤107)根据嵌入位置密钥Key1,在当前嵌入单元中生成待嵌入认证信息的嵌入位置;步骤108)根据读取的相应长度的认证信息和载体文件数据以及生成的待嵌入认证信息的嵌入位置,在当前嵌入单元中嵌入认证信息进而形成载密数据单元;其中,载密数据单元大小与嵌入单元大小相同,所述载密数据单元包含载体文
件数据及认证信息;步骤109)对载密数据单元进行压缩与加密;步骤110)判断当前嵌入单元是否为最后一个嵌入单元,如果是,则在压缩文件中写入文件信息,文件压缩过程结束;如果否,回到步骤105);其中,压缩文件是指原始文件经过嵌入、加密与压缩过程后得到的文件;所述文件认证提取步骤具体包括:步骤201)提取认证所需要的参数,其中所需要的参数包括:用来生成嵌入位置的嵌入位置密钥Key1、用来进行数据加密的密钥Key2以及认证信息;步骤202)根据所述密钥Key2对压缩文件进行解密及解压;步骤203)读取嵌入的认证信息头部;步骤204)根据读取的嵌入的认证信息头部计算嵌入单元的个数;步骤205)如果嵌入单元的个数为1,则解密解压所有未解密解压的文件,进入步骤207);如果嵌入单元的个数大于1,则进入步骤206);步骤206)每次从未解密解压的文件中解密解压出等于嵌入单元大小的载密数据;步骤207)根据步骤203)和步骤204)所得结果计算当前载密数据单元中认证信息长度;步骤208)根据步骤201)和步骤207)所得结果生成当前载密数据单元中认证信息的位置;步骤209)根据步骤207)和步骤208)所得结果提取当前载密数据单元中的认证信息,验证提取的认证信息,输出验证后的认证信息和载体文件数据;步骤210)判断解压提取是否全部完成,如果否,进入步骤206);如果解压提取全部完成且文件中具有附言认证信息,则结束同时显示附言信息以供用户进行主观认证;如果全部提取完成且文件中不含附言认证信息,则结束文件的认证提取。可选的,步骤102)中的生成认证信息头部的过程进一步包括:步骤2-1)如果不嵌入认证信息,则认证信息头部为4个字节的认证匹配串;步骤2-2)如果只嵌入水印认证信息,则水印认证信息头部包含:认证匹配串、嵌入标本文档来自技高网
...
一种面向云存储的文件压缩及认证方法

【技术保护点】
一种面向云存储的文件压缩方法,所述方法文件压缩方法具体包括:步骤101)选择认证方式,所述认证方式包含:单独采用附言认证方式或者同时采用附言和水印的认证方式;设定认证和压缩相关参数的初值,所述的相关参数包含:水印认证信息的长度R、附言认证信息的长度为T、嵌入位置密钥Key1、对数据进行加密的密钥Key2及嵌入单元大小U;其中,所述的嵌入单元为划分原始文件后得到的处理单元,该处理单元为文件嵌入、压缩与加密过程的最小单位,U>R;步骤102)设定认证信息内容,所述认证信息包含水印认证信息和附言认证信息,所述水印认证信息为长度R的字符串,附言认证信息为长度T的字符串;根据设定的认证信息内容及认证和压缩相关参数初值生成长度为H的认证信息头部;步骤103)获取原始文件及原始文件的长度;步骤104)根据原始文件的长度信息S、认证信息头部的长度H、水印认证信息的长度R、附言认证信息的长度T和嵌入单元大小U,采用如下公式计算嵌入单元的个数N:如果没有水印认证信息,则R=0;如果没有附言认证信息,则T=0;步骤105)根据得到的嵌入式单元的个数N计算当前嵌入单元中待嵌入的认证信息长度和待嵌入的载体文件长度,其中待嵌入的认证信息的长度与待嵌入的载体文件长度的和等于嵌入单元的长度;步骤106)根据步骤105)所得结果读取相应长度的认证信息和载体文件数据;步骤107)根据嵌入位置密钥Key1,在当前嵌入单元中生成待嵌入认证信息的嵌入位置;步骤108)根据读取的相应长度的认证信息和载体文件数据以及生成的待嵌入认证信息的嵌入位置,在当前嵌入单元中嵌入认证信息进而形成载密数据单元;其中,载密数据单元大小与嵌入单元大小相同,所述载密数据单元包含载体文件数据及认证信息;步骤109)对载密数据单元进行压缩与加密;步骤110)判断当前嵌入单元是否为最后一个嵌入单元,如果是,则在压缩文件中写入文件信息,文件压缩过程结束;如果否,回到步骤105);其中,压缩文件是指原始文件经过嵌入、加密与压缩过程后得到的文件。...

【技术特征摘要】
1.一种面向云存储的文件压缩方法,所述方法文件压缩方法具体包括:步骤101)选择认证方式,所述认证方式包含:单独采用附言认证方式或者同时采用附言和水印的认证方式;设定认证和压缩相关参数的初值,所述的相关参数包含:水印认证信息的长度R、附言认证信息的长度为T、嵌入位置密钥Key1、对数据进行加密的密钥Key2及嵌入单元大小U;其中,所述的嵌入单元为划分原始文件后得到的处理单元,该处理单元为文件嵌入、压缩与加密过程的最小单位,U>R;步骤102)设定认证信息内容,所述认证信息包含水印认证信息和附言认证信息,所述水印认证信息为长度R的字符串,附言认证信息为长度T的字符串;根据设定的认证信息内容及认证和压缩相关参数初值生成长度为H的认证信息头部;步骤103)获取原始文件及原始文件的长度;步骤104)根据原始文件的长度信息S、认证信息头部的长度H、水印认证信息的长度R、附言认证信息的长度T和嵌入单元大小U,采用如下公式计算嵌入单元的个数N:如果没有水印认证信息,则R=0;如果没有附言认证信息,则T=0;步骤105)根据得到的嵌入式单元的个数N计算当前嵌入单元中待嵌入的认证信息长度和待嵌入的载体文件长度,其中待嵌入的认证信息的长度与待嵌入的载体文件长度的和等于嵌入单元的长度;步骤106)根据步骤105)所得结果读取相应长度的认证信息和载体文件数据;步骤107)根据嵌入位置密钥Key1,在当前嵌入单元中生成待嵌入认证信息的嵌入位置;步骤108)根据读取的相应长度的认证信息和载体文件数据以及生成的待嵌入认证信息的嵌入位置,在当前嵌入单元中嵌入认证信息进而形成载密数据单元;其中,载密数据单元大小与嵌入单元大小相同,所述载密数据单元包含载体文件数据及认证信息;步骤109)对载密数据单元进行压缩与加密;步骤110)判断当前嵌入单元是否为最后一个嵌入单元,如果是,则在压缩文件中写入文件信息,文件压缩过程结束;如果否,回到步骤105);其中,压缩文件是指原始文件经过嵌入、加密与压缩过程后得到的文件。2.根据权利要求1所述的面向云存储的文件压缩及认证方法,其特征在于,所述计算当前嵌入单元中待嵌入认证信息长度和载体文件数据长度进一步包括:步骤105-1)计算当前嵌入单元中待嵌入认证信息长度进一步包括:步骤105-1-1)将附言认证信息分为N个块后再分别嵌入到N个嵌入单元中,每个嵌入单元中附言认证信息的长度l的计算方法为:令k1为T除以N的商,k2为T除以N的余数,k为将第k个块嵌入到第k个嵌入单元:如果k≤k2,则l=k1+1;否则l=k1;步骤105-1-2)将认证信息头部嵌入第一个嵌入单元中,如果是第一次嵌入,则认证信息长度为认证信息头部长度与水印认证信息长度和附言认证信息长度的和,用公式表示为:L=H+R+l如果是其他次嵌入,则认证信息长度为水印认证信息长度加上附言认证信息长度,用公式表示为:L=R+l;步骤105-2)载体文件数据长度为嵌入单元大小减去当前嵌入单元待嵌入认证信息长度,设当前嵌入单元中载体文件数据长度为Z,则:Z=U-L如果没有认证信息,上面的公式中R=0;如果没有附言认证信息,上面的公式中l=0。3.根据权利要求1所述的面向云存储的文件压缩方法,其特征在于,步骤102)中的生成认证信息头部的过程进一步包括:步骤2-1)如果不嵌入认证信息,则认证信息头部为4个字节的认证匹配串;步骤2-2)如果只嵌入水印认证信息,则水印认证信息头部包含:认证匹配串、嵌入标志、嵌入单元大小、水印认证信息长度所占字节、水印认证信息长度和水印认证信息的CRC校验码;步骤2-3)如果只嵌入附言认证信息,则认证信息头部包含:认证匹配串、嵌入标志、嵌入单元大小、附言认证信息长度所占字节、附言认证信息长度和附言认证信息的CRC校验码;步骤2-4)如果同时嵌入水印认证信息和附言认证信息,则认证信息头部包含:认证匹配串、嵌入标志、嵌入单元大小、水印认证信息长度所占字节、附言认证信息长度所占字节、水印认证信息长度、附言认证信息长度、水印认证信息的CRC校验码和附言认证信息的CRC校验码。4.根据权利要求1所述的面向云存储的文件压缩方法,其特征在于,步骤107)生成当前嵌入单元中认证信息的嵌入位置的方法进一步包括:步骤7-1)在第一个嵌入单元中生成认证信息嵌入位置,且认证信息头部的嵌入位置在第一个嵌入单元的前U20个位置中产生;认证信息头部嵌入位置具体的生成方法是:将U20均匀分成25个区间,在25个区间的前H个区间中,由密钥1在每个区间随机生成1个嵌入位置,记为Ph=[p0,p1,…,ph-1];认证信息中水印认证信息或者附言认证信息位置则在嵌入单元中从U20之后产生,生成方法为:将“U-U20”均匀分成“R+l”个区间,由密钥Key1在每个区间中随机生成1个嵌入位置,记为Pc=[ph,ph+1,…,ph+r-1,ph+r,ph+r+1,…,ph+r+l-1];记第一个嵌入单元的认证信息嵌入位置为:P=[p0,p1,…,ph-1,ph,ph+1,…,ph+r-1,ph+r,ph+r+1,…,ph+r+l-1];步骤7-2)在剩余的嵌入单元中生成认证信息嵌入位置时,当仅有水印认证信息或者附言认证信息时,则嵌入位置产生的方法是:将嵌入单元U均匀分成“R+l”个区间...

【专利技术属性】
技术研发人员:李松斌刘鹏杨洁付江云
申请(专利权)人:中国科学院声学研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1