发明名称 运行时程序安全关键数据的完整性验证方法及装置
摘要 本发明公开了一种运行时程序安全关键数据的完整性验证方法及装置,方法步骤如下:1)在程序中指明安全关键变量,在编译时生成安全关键数据集合,加载程序时将程序的虚拟地址空间分为保护区域和非保护区域、将安全关键数据集合加载至保护区域内,为程序保护区域的虚拟页构造完整性验证树;2)在向内存写入程序数据时,更新根验证值;在从内存中读取程序数据时,生成新的根验证值,并将新的根验证值与原根验证值进行比较,如果两者相等则判定安全关键数据集合未被篡改,否则判定安全关键数据集合已经被篡改;装置包括数据完整性验证电路、根验证值存储模块、比较器。本发明具有安全性能高、防攻击性能强、运算量小、占用存储空间少的优点。
申请公布号 CN102930185B 申请公布日期 2015.07.29
申请号 CN201210494049.8 申请日期 2012.11.28
申请人 中国人民解放军国防科学技术大学 发明人 王蕾;邓宇;王永文;窦强;李姗姗;孙彩霞;张承义;高军;黄立波;倪晓强;隋兵才;陈微;赵天磊
分类号 G06F21/10(2013.01)I 主分类号 G06F21/10(2013.01)I
代理机构 湖南兆弘专利事务所 43008 代理人 赵洪;谭武艺
主权项 一种运行时程序安全关键数据的完整性验证方法,其特征在于实施步骤如下:1)在程序中指明待保护的安全关键变量,在编译程序时为安全关键变量生成对应的安全关键数据集合,在加载程序时将程序的虚拟地址空间分为保护区域和非保护区域、将安全关键数据集合加载至所述保护区域内,为所述程序的保护区域中的每一个虚拟页构造完整性验证树,并将所述完整性验证树的根验证值保存在处理器中;2)当处理器发出读写操作向内存写入程序数据时,更新保存在处理器中的根验证值;在处理器片上高速缓存的读写操作从内存中读取程序数据时,生成新的完整性验证树的根验证值,并将新的根验证值与保存在处理器中的根验证值进行比较,如果两者相等则判定安全关键数据集合未被篡改,否则判定安全关键数据集合已经被篡改。
地址 410073 湖南省长沙市砚瓦池正街47号中国人民解放军国防科学技术大学计算机学院