[发明专利]硬件协助的软件控制流完整性远程证明方法有效
申请号: | 201810046233.3 | 申请日: | 2018-01-17 |
公开(公告)号: | CN108345786B | 公开(公告)日: | 2020-01-14 |
发明(设计)人: | 周洪伟;原锦辉;张来顺;冀会芳;关慧 | 申请(专利权)人: | 中国人民解放军战略支援部队信息工程大学 |
主分类号: | G06F21/54 | 分类号: | G06F21/54;G06F21/57 |
代理公司: | 41111 郑州大通专利商标代理有限公司 | 代理人: | 石丹丹 |
地址: | 450000 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 远程证明 验证方 记录 控制转移 软件控制 控制流 内存 指纹 控制转移指令 处理器执行 记录处理器 判定控制 验证请求 验证软件 硬件特性 指纹验证 处理器 操作系统 捕获 装载 指令 检查 进程 服务 | ||
本发明属于控制流完整性远程证明方法的技术领域,特别是涉及一种硬件协助的软件控制流完整性远程证明方法,当程序被装载入内存,以进程的形式在操作系统内运行后,其所有指令都将由处理器执行。处理器的BTS硬件特性将记录处理器所执行的控制转移指令,并将控制转移信息记录到内存中指定位置。为了使验证方检查BTS记录是否完整,BTS记录的完整性指纹将被扩展到TPM的PCR中。当验证方提出验证请求后,证明方将BTS记录以及记录指纹提交给验证方。验证方根据记录指纹验证BTS记录的完整性,再根据BTS记录以及基准值验证软件控制流完整性。本发明提高了捕获控制转移信息的效率,提高了判定控制流完整性的准确性,并可以提供远程证明服务。
技术领域
本发明属于控制流完整性远程证明方法的技术领域,特别是涉及一种硬件协助的软件控制流完整性远程证明方法。
背景技术
如果用户需要将数据提交给远端的服务器处理,用户自然希望知道:远端的服务器能够如其宣称的那样合法的使用数据,而不是非法使用这些数据。为了消除用户的顾虑,提供服务的厂商就需要提供这样一种机制,这种机制能够证明已方的软件合法的使用客户数据。这是远程证明的典型应用背景。
在远程证明范畴中,证明方向验证方提供的证据有多种形式。软件控制流完整性是十分重要的一类证据。软件控制流是程序执行过程中,所有可能的指令执行顺序的一个抽象表示。它反映的是软件的运行逻辑,在很大程度上也反映了软件运行时的行为。如果可以证明软件控制流并未被破坏,那么软件很大概率上是可信的。
就我们所知,由Tigist Abera等人所完成的C-FLAT与我们的目标是一致的,即:控制流完整性远程证明。不过由于依托的硬件基础以及应用环境等方面的差异,我们的工作与C-FLAT存在多个方面完全不同。下面详细介绍C-FLAT的工作流程及主要实现细节。
C-FLAT远程证明的工作流程包含以下几步。当验证方需要证明方提交进程A的控制流完整性证明时,验证方首先采用静态分析的方法生成进程A的控制流图(CFG:ControlFlow Graph);验证方在当前输入条件下,对某个特定的控制路径实施监控;验证方向证明方发送远程证明挑战c;证明方在同等条件下执行进程A的指令路径;证明方监控进程A的执行,并生成该控制路径的度量结果Auth,并进一步生成度量报告Sigx(Auth,c)发送给验证方;验证方验证数字签名以及挑战信息,以确保度量报告的合法性,以此为基础进一步验证Auth的正确,以明确进程A指定路径是否正确执行。
为了生成指定路径的度量值,C-FLAT在每个控制转移时完成如下计算:Hi=H(Hprev,Ni),其中H代表哈希计算函数,Hi代表度量值,Hprev代表前一轮的度量值,Ni代表基本块的ID号。结合图2进一步说明。图2表示控制流图的一个局部,圆圈表明基本块,每个基本块均有ID号,箭头表示控制转移,C-FLAT在每次控制转移时计算此次控制转移的度量值。对于H1而言,其哈希计算函数的输入为0和N1,对于H1而言,其哈希计算函数的输入为H1和N2,即以往控制转移的度量值以及控制转移的源基本块ID号。这样,控制路径上的所有控制转移将合并为一个度量值。为了快速计算哈希值,C-FLAT使用BLAKE-2密码算法。
为了获得时机计算度量值,C-FLAT截获软件控制流,在其中插入跳板(Trampolines)。这使得软件一旦进行控制转移时,首先跳转到跳板程序,由跳板程序完成此次控制转移的度量值计算,再完成控制转移。更确切的说,当接受到完整性证明请求,C-FLAT会对目标软件进行重写,将跳板插入到目标位置;当软件欲执行控制转移指令时,跳板会被首先触发,进而唤醒度量程序;度量程序完成控制路径的度量值计算;当软件完成指定路径的运行,验证方生成度量报告,通过网络提交给证明方。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军战略支援部队信息工程大学,未经中国人民解放军战略支援部队信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810046233.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:内建智能安全行动装置
- 下一篇:确定处理器安全性的方法、检测装置及系统