[发明专利]一种非平衡哈希树的存储器完整性保护方法有效

专利信息
申请号: 201510451102.X 申请日: 2015-07-28
公开(公告)号: CN105138478B 公开(公告)日: 2018-10-26
发明(设计)人: 张国印;郭振华;姚念民;石翠华;吴艳霞 申请(专利权)人: 哈尔滨工程大学
主分类号: G06F12/14 分类号: G06F12/14;G06F12/06
代理公司: 暂无信息 代理人: 暂无信息
地址: 150001 黑龙江省哈尔滨市南岗区*** 国省代码: 黑龙江;23
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明涉及的是内存完整性校验领域,具体为一种非平衡哈希树的存储器完整性保护方法。本发明包括:(1)初始化;(2)构建非平衡二叉树;(3)写操作;(4)读操作。本方法在一般情况下,校验代价要低于普通的平衡二叉树的校验代价,即使在最坏情况下,本方法的性能也不会高于普通的平衡二叉树的校验代价,而是与它的校验代价相同。本发明从整体上缩短了数据认证时的路径长度。
搜索关键词: 一种 平衡 哈希树 存储器 完整性 保护 方法
【主权项】:
1.一种非平衡哈希树的存储器完整性保护方法,其特征在于,包括如下步骤:1)初始化(1.1)把内存分成相同大小的数据块data_block[i],每个数据块有一个计数器counter[i]来记录对该数据块的读/写次数;初始时,counter[i]=0,当处理器读写数据块data_block[i]时,它的计数器值counter[i]=counter[i]+1;(1.2)数据结构采用3链表式,如下所示:Node{long int counter;//读/写次数,作为数据块的权值long int hash;//哈希值Struct node*lchild;//左孩子Struct node*rchild;//右孩子Struct node*parent;//父节点}node;(1.3)设置一个定时器Time;当定时器到达设定的时间后,构建一棵非平衡二叉树,同时把所有数据块data_block的计数器counter全部清零,使它们重新计数;本发明使用模拟器SimpleScalar tool实现所提出的算法内容,下面分别介绍每一个步骤算法的具体实施伪代码;2)构建非平衡二叉树处理器构建非平衡二叉树的流程,具体操作如下:(2.1)把内存中n个数据块的读/写次数作为权值,则得到n个权值{w1,w2,w3,w4,w5,……wn},每个权值构成一棵只有根节点的树Ti,则得到有n棵树的集合F={T1,T2,T3,T4,T5,……Tn};(2.2)从集合F中选取权值最小的两棵树Ti和Tj,以它们作为左右孩子构建一棵新的树T,新树T节点的权值为两个孩子节点权值之和;从集合F中删除Ti和Tj,树T加入集合F中;(2.3)重复步骤(2.2),直到集合F中只剩下一棵树;构建非平衡二叉树的具体实施代码如算法1所示;算法1:构建非平衡二叉树算法输入:数据块节点data_block[n]输出:非平衡二叉树T算法描述:3)向内存中写入数据当处理器向内存中写入数据块data_block[i]时,更新数据块的访问次数counter[i]和整个哈希树;处理器对存储器进行写操作的流程,具体的操作如下:(3.1)当CPU向内存写入数据块data_block[i]时,更新它的计数器counter[i]=counter[i]+1;(3.2)然后找到数据块data_block[i]的相应叶子节点的指针;(3.3)把这个数据块和兄弟结点所对应的数据块进行连接,重新计算数据块连接之后的的哈希值hash,更新父节点的哈希值,重复这个过程直到根节点;(3.4)检查定时器Time是否到达设定时间,如果已经到达设定时间,则重新建立非平衡哈希树,否则,写操作结束;向内存中写入一个数据块时的具体实施过程如算法2所示;算法2:向内存中写数据块算法输入:数据块节点data_block[n],叶节点指针数组node[n],集合F输出:F中二叉树T算法描述:4)从内存中读数据当处理器从内存中读数据块data_block[i]时,更新它的计数器counter[i],同时对数据进行完整性检验;处理器对存储器进行读操作的具体流程如下:(4.1)当CPU从内存中读数据块data_block[i]时,更新它的计数器counter[i]=counter[i]+1;(4.2)然后找到数据块data_block[i]的相应叶子节点的指针;(4.3)把这个数据块和兄弟结点所对应的数据块进行连接,然后计算数据块连接之后的的哈希值hash,把哈希结果与父节点的哈希值进行比较,重复这个过程直到根节点,如果最后计算后的根节点的哈希值与CPU上存储的根节点的哈希结果相同,则说明数据是正确的,没有被篡改,CPU可以使用数据;反之,则说明数据被篡改,发出警报;(4.4)检查定时器Time是否到达设定时间,如果已经到达设定时间,则重新建立非平衡哈希树,否则,读操作结束;从内存中读取一个数据块时的具体实施过程如算法3所示;算法3:从内存中读数据块算法输入:数据块节点data_block[n],叶节点指针数组node[n],集合F输出:F中二叉树T算法描述:
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工程大学,未经哈尔滨工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201510451102.X/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top