基于可变存储块大小Hash完整性校验研究.doc

基于可变存储块大小Hash完整性校验研究.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
变长存储块Hash完整性校验方法 引言 数据的完整性是计算机系统中数据安全的基本属性之一,它是指防止数据被非授权的改动。一般的,完整性保护既可以是一种“阻断”措施,也可以是一种“探测”措施。“阻断”措施是在修改行为发生之前对使用者的合法性进行验证,可拒绝非法的修改行为。但从抗拒硬件攻击的角度而言,由于无法物理地阻止攻击者的主动篡改行为,“阻断”对于硬件攻击行为是难于施行的,而“探测”措施是可行且相对易于施行的。 完整性校验是指记录系统中的当前信息,用于随后的比较以发现内容的变动。完整性校验被处理器、文件系统和数据库等用来校验非可信存储的数据,以此发现数据的篡改。为实现完整性校验,一般的结构是采用安全处理器构成校验的可信计算基,原理是利用存储在可信计算基中不可被非法篡改的信息,通过某种算法,对外部非可信存储器实施完整性校验。 存储器完整性校验方式可分为脱机 (Offline) 和联机(Online )校验[1]。脱机校验是指在一个存储器操作序列完成后实施检测,比如校验程序执行结果的完整性,它适用于不需精确探测异常的情形,它不需明确指明是哪个结果被篡改;联机校验是指在每一次存储器操作后马上实施校验,这种方式可以杜绝错误结果提交所造成的影响,但联机校验需要更频繁的检测,因而比脱机校验代价更高。 本文的研究是为系统提供一个高性能、低代价的完整性校验方案,即提供一个抗硬件攻击的篡改证明环境。为集中讨论,本文针对的非可信存储器特指计算机系统存储器(memory),即内存。本文基于联机方式的存储器完整性校验,提出了变长存储块的基于 Hash 树的存储器完整性校验方法。该方法基于Hash 树校验, 利用访问的局部性原理,分别对热访问区和非热访问区设置了不同的存储块大小值,从而更快速完成完整性校验。通过分析与模拟实验表明,该方法可有效提高存储器完整性联机校验的效率。 本文组织如下:第二部分讨论了相关的研究工作;第三部分是重点,首先提出了一个变长存储块的基于Hash树的完整性校验方法,然后讨论了变长存储块的规则和算法;第四部分基于前面建立的框架,完成模拟工作,并进行了分析;最后部分得出了结论。 2.相关研究 关于数据完整性校验,国内外学者做了一定的研究,这里简要讨论现有的针对单处理器的典型存储器完整性校验技术,特别是以Hash 树为基础的校验方法,然后分析了各种方法存在的问题。 2.1 MAC 消息认证码(Message Authentication Code,MAC)[2]是较常见的一种完整性校验方式,MAC是指对每个存储器块进行Hash计算所得到的结果。它验证的基本原理是:首先对要保护的存储器分成多个相等的块,针对每个存储器块进行 Hash计算,保存所得结果,并将结果同存储器块附着在一起,当再次访问时,重新计算存储器块的MAC值,并同原始附着的MAC值进行比较,从而判断该存储器块的内容是否完整。同时为了对抗入侵者将一个合法块的内容拷贝到另一块中,MAC在计算时包含块所在的地址信息。 MAC的优点是可以被快速计算及比较,但 MAC 不能用于动态修改的存储器的完整性校验,它无法应对重放攻击(Replay Attack),因为MAC可以保证是处理器保存的,但不能确保内容是最新的。因此目前MAC方法多与其他方法一起使用。 Hash树 Hash 树(Hash Tree)也叫Merkle 树(MerkleTree)[3],它是完整性校验的一种常用方法,它可以检测出包括重放攻击在内的篡改存储器的行为,它的基本原理是:类似于MAC,首先将存储器分成多个等长块,并进行编号,每个存储块对应Hash树的叶节点,每个内部节点为下属两个节点Hash计算的结果,一直到根节点。树的根节点处于安全的存储区(一般置于处理器内的L2-Cache内,这一区域内数据不能被篡改)。非可信存储器中进行对于一个 m 叉(m=2) Hash 树而言,每次更新数据将导致 logm N次Hash计算,这里N是要校验的存储器块数。Hash树校验存在的问题是每次校验的开销很大;当内存块尺寸增大时,Hash计算量会迅速加大,导致系统性能显著下降。 CHtree校验 缓冲型Hash 树(Cache Hash Tree)是MIT提出的完整性校验方法[4],它是基本Hash树的一种优化方法,基本思想是利用处理器的片内Cache来提高基于Hash树的完整性校验效率。该方法假定在CPU内Cache(含L1-Cache和L2-Cache)是可信的,完整性校验装置同L2-Cache并在一起,用作完整性检查的Hash树内部节点被缓冲在L2-Cache中而维持可信,从而校验路径只需到达缓冲在L2-Cache中的节点即可停止,而不必一直进行到根节点。这种方法通过降低校验路径的长度,使得所需Hash计算的次数

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档