[发明专利]文件完整性验证方法及文件处理器有效
申请号: | 201310461083.X | 申请日: | 2013-09-24 |
公开(公告)号: | CN103488952B | 公开(公告)日: | 2017-01-18 |
发明(设计)人: | 王显雷 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F21/60 | 分类号: | G06F21/60;G06F9/44;G06F17/30 |
代理公司: | 北京林达刘知识产权代理事务所(普通合伙)11277 | 代理人: | 刘新宇 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件 完整性 验证 方法 处理器 | ||
技术领域
本发明涉及通信技术领域,尤其涉及一种文件完整性验证方法及文件处理器。
背景技术
由于文件在存储和传输过程中可能被破坏,所以要对文件进行完整性验证。通常情况下,文件完整性验证主要分为校验值文件生成和完整性检测两个阶段。例如,在校验值文件生成阶段,首先把文件切成多个数据块,然后利用多线程并行地对数据块执行HASH(哈希)算法例如MD5(Message Digest Algorithm MD5,消息摘要算法第五版)算法,分别得到各数据块的校验值,通过将各个数据块的校验值相加得到整个文件的校验值,并将所得到的整个文件的校验值保存在随文件一起分发的校验值文件中。在完整性检测阶段,首先利用与校验值文件生成阶段相同的步骤对接收到的文件提取校验值,并将所提取到的校验值与保存在校验值文件中的校验值进行比较,如果二者相同则认为文件完整、即文件没有被篡改或破坏,否则认为文件的完整性被破坏了。
在上述技术中,即使在只有一个数据块被破坏或篡改的情况下,也要在对整个文件的所有数据块进行校验值提取之后,通过完整性检测才能判定文件是否完整。这明显耗时较长,尤其对于数据量较大、例如达到10GB的文件来说,可能不太适用。
发明内容
技术问题
有鉴于此,本发明要解决的技术问题是如何尽量缩短文件完整性验证的时间。
解决方案
为了解决上述问题,根据本发明一实施例,提供了一种文件完整性验证方法,包括:
按预定的分块策略将文件切分成至少两个数据块;以及
基于所述文件的校验值文件验证所述数据块的完整性,其中,所述校验值文件包括所述至少两个数据块各自的校验值,若任一所述数据块被认定为不完整,则判定所述文件不完整并停止所述验证。
对于上述文件完整性验证方法,在一种可能的实现方式中,基于所述文件的校验值文件验证所述数据块的完整性,包括:
计算所述数据块的校验值;
将所计算出的所述数据块的校验值与所述校验值文件中的所述数据块的校验值进行比较;以及
若上述比较的结果为相同,则认定所述数据块完整,否则认定所述数据块不完整。
对于上述文件完整性验证方法,在一种可能的实现方式中,所述校验值文件为布隆向量库,
所述布隆向量库包括各所述数据块的布隆向量,
各所述数据块的布隆向量是在生成所述校验值文件时,使各所述数据块的校验值通过布隆过滤器而得到的。
对于上述文件完整性验证方法,在一种可能的实现方式中,基于所述文件的校验值文件验证所述数据块的完整性,包括:
计算所述数据块的校验值;
将所计算出的所述数据块的校验值通过所述布隆过滤器转换为布隆向量;
将所转换得到的布隆向量与所述布隆向量库中的所述数据块的布隆向量进行比较;以及
若上述比较的结果为相同,则认定所述数据块完整,否则认定所述数据块不完整。
对于上述文件完整性验证方法,在一种可能的实现方式中,所述校验值是通过对所述数据块进行HASH运算提取到的。
对于上述文件完整性验证方法,在一种可能的实现方式中,所述分块策略包括按预定长度进行所述切分,所述预定长度为页面大小的整数倍。
为了解决上述技术问题,根据本发明另一实施例,提供了一种文件处理器,包括:
切分模块,用于按预定的分块策略将文件切分成至少两个数据块;以及
验证模块,与所述切分模块连接,用于基于所述文件的校验值文件验证所述数据块的完整性,并且若任一所述数据块被认定为不完整,则判定所述文件不完整并停止操作,其中,所述校验值文件包括所述至少两个数据块各自的校验值。
对于上述文件处理器,在一种可能的实现方式中,还包括:
计算模块,与所述切分模块连接,用于计算由所述切分模块切分出的数据块的校验值;以及
生成模块,与所述计算模块连接,用于将从待分发文件切分出的数据块的校验值保存于所述待分发文件的校验值文件中。
对于上述文件处理器,在一种可能的实现方式中,所述验证模块包括:
第一提取单元,与所述计算模块连接,用于将从待验证文件切分出的数据块作为关注数据块,并提取所述计算模块针对所述关注数据块计算出的校验值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310461083.X/2.html,转载请声明来源钻瓜专利网。