[发明专利]多层摘要文件生成方法及文件正确性验证方法无效
申请号: | 201210394765.9 | 申请日: | 2012-10-16 |
公开(公告)号: | CN102946379A | 公开(公告)日: | 2013-02-27 |
发明(设计)人: | 何王全;方燕飞;权建校;刘勇;文延华;魏迪;毛兴权;王珊珊 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;G06F11/00 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 骆苏华 |
地址: | 214083 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多层 摘要 文件 生成 方法 正确性 验证 | ||
技术领域
本发明涉及网络安全领域,尤其涉及大规模并行系统下的多层摘要文件生成方法以及大规模并行系统下基于多层摘要文件的文件正确性验证方法。
背景技术
在由成千上万个CPU构成的大规模并行系统上,应用程序要处理的文件数量和容量非常巨大,盘阵上的文件内容被损坏,或者程序运行过程中,从盘阵读入内存,或者从内存写入文件时由于I/O的偶发性错误导致的数据内容出错,很难被快速检测出来。
目前,传统的校验文件正确性的手段是利用MD5、sha1、des等hash算法来进行文件摘要,通过对比摘要就可以发现文件内容是否被破坏。
MD5全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位的“hash值”(或称“摘要”),不同的文件产生相同的hash值的可能性是非常小的。图1为利用MD5算法计算hash值的流程图。如图1所示,MD5算法以512bit为一个分组,将待计算摘要的数据分为n个组。从第一个分组开始,为第一个分组计算一个128bit的hash值。接着,为第二个分组计算一个128bit的hash值,并将第二个分组的hash值累加到第一个分组的hash值上。如此往复,直至第n个hash值累加值第(n-1)个hash值上。整理输出最后得到的128bit的hash值(即摘要)。校验文件正确性时,用同样的算法计算得出128bit的摘要,与之前计算得出的摘要做比较。如果一致,则文件正确;如果不一致,表明文件在I/O过程中出现错误。
目前linux下常用的文件校验工具是md5sum,它是用来计算和校验文件摘要的工具程序。windows下也有md5sum及类似功能的文件摘要软件。如图1所示,在计算hash值时,后一分组的hash值会迭加到前一分组的hash值上,前、后hash值具有相关性。所以,用MD5算法计算摘要,实质上是一个串行计算。所以在大规模并行系统下,文件数据容量非常巨大时,利用MD5算法生成摘要或者进行校验变成了一件非常耗时的工作。
另外,已有linux或者windows下的摘要工具都是静态的,不支持应用程序中对文件的I/O操作进行实时检测,无法及时发现I/O错误、尽早避免错误扩大。
发明内容
本发明所要解决的技术问题是在大规模并行系统上,如何快速实现对大量文件的完整性验证和大量I/O操作的正确性检查。
为了解决上述问题,本发明提供了一种大规模并行系统下的多层摘要文件生成方法,包括:
以事先定义的原始Hash块大小为单位,将目标文件拆分成多个一级文件;
用报文摘要算法为每个一级文件,生成一级层间摘要,将所述一级层间摘要保存于所述多层摘要文件中;
基于所述一级层间摘要,至少使用一次报文摘要算法,生成总摘要,将所述总摘要保存于所述多层摘要文件中。
可选的,所述基于所述一级层间摘要,至少使用一次报文摘要算法,生成总摘要包括:
使用报文摘要算法为所有一级层间摘要生成总摘要。
可选的,所述基于所述一级层间摘要,至少使用一次报文摘要算法,生成总摘要包括:
获取事先定义的摘要层数m、第一层Hash块数n1、第二层Hash块数n2、…、第m层Hash块数nm;
当所述摘要层数m大于1时,重复以下步骤,直至形成所有m级层间摘要:
1)将所有i级层间摘要拆分成n(i+1)个(i+1)级文件;1≤i≤(m-1),i为正整数;
2)用报文摘要算法为每个(i+1)级文件,生成(i+1)级层间摘要,将所述(i+1)级层间摘要保存于所述多层摘要文件中;
3)累加i后从步骤1)开始循环;
使用报文摘要算法为所有m级层间摘要生成总摘要。
可选的,在所述以事先定义的原始Hash块大小为单位,将目标文件拆分成多个一级文件之前,还包括:定义所述多层摘要文件的结构;
所述多层摘要文件的结构包括:目标文件名、目标文件大小、原始Hash块大小、原始Hash块数n、n个一级层间摘要、总摘要。
可选的,在所述以事先定义的原始Hash块大小为单位,将目标文件拆分成多个一级文件之前,还包括:定义所述多层摘要文件的结构;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210394765.9/2.html,转载请声明来源钻瓜专利网。