[发明专利]基于TPM/VTPM的可信程序列表生成方法及系统有效
申请号: | 201210160589.2 | 申请日: | 2012-05-22 |
公开(公告)号: | CN102722665A | 公开(公告)日: | 2012-10-10 |
发明(设计)人: | 高云伟;薛栋梁;孙毓忠 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F21/00 | 分类号: | G06F21/00 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 祁建国;梁挥 |
地址: | 100080 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 tpm vtpm 可信 程序 列表 生成 方法 系统 | ||
技术领域
本发明涉及可信程序列表,具体涉及一种计算机可信启动过程中可信程序列表的生成方法,属于可信计算领域。
背景技术
一个实体的行为以可预期的方式符合预期的目标,则该实体是可信的。从技术角度划分,可信分为静态可信和动态可信。静态可信以TPM(可信平台模块)及部分BIOS(基本输入输出系统)作为为可信度量核心根,在加载运行新的程序前,先计算其Hash值,之后将Hash值扩展到TPM的PCR(平台配置寄存器)中。动态可信基于CPU(中央处理器)的扩展特性比如Intel的TXT(可信执行技术)和TPM,在计算机启动之后的任意时刻都可以构建一个隔离的可信计算环境。然而不论是静态可信还是动态可信,它们都是面向远程验证的,即远程的挑战方定时要求被挑战方提供其平台的PCR及所加载程序的列表,之后远程的挑战方根据可信程序列表(或称为指纹数据库)确认被挑战方平台的可信性。考虑到远程验证需要定时同第三方进行平台可信性验证,其不可避免地存在着通信安全漏洞,同时如何保障第三方的可信性也是很大的问题,还有可信验证和程序加载之间存在着的时间窗口也给系统的可信性带来巨大的威胁。基于上述考虑,我们引入本地可信验证方法,即将可信程序列表保存在本地,系统或程序启动过程中实时地验证其可信性,若不可信则中止系统或程序的执行,避免恶意程序进一步扩散。然而在本地可信验证方法中,如何保证可信程序列表的安全性和易用性就非常重要。
发明内容
为解决上述问题,本发明目的提供一种可信程序列表的生成方法,经由这种方法生成的可信列表易于使用,同时其安全性也非常好。
本发明公开一种基于TPM/VTPM的可信程序列表生成方法,包括:
步骤1,更改计算机的启动配置,将启动模式改为可信程序列表生成模式并设置数据封存或解封密码,启动计算机;
步骤2,BIOS将封存保护的Boot Loader(启动加载器)的Hash值保存到TPM或VTPM的非易失性存储中;BIOS只能封存保护Boot Loader的第一部分,后续部分由前一部分封存保护;
步骤3,Boot Loader将封存保护的操作系统内核及相关模块的Hash值保存到TPM或VTPM的非易失性存储中;
步骤4,操作系统内核将封存保护的关键或全部可执行程序、内核模块和动态库的可信程序列表保存至文件系统指定文件中。
所述的基于TPM/VTPM的可信程序列表生成方法,还包括:
步骤5,虚拟机的操作系统内核将步骤2及步骤3中保存到VTPM非易失性存储的数据以及步骤4中保存到文件系统中的文件,传输到管理域或主机的文件系统指定位置,并清除步骤2及步骤3中保存到VTPM非易失性存储的数据以及步骤4中保存到文件系统中的文件;虚拟机启动完毕后使用的过程中,虚拟机用户根本无法读取这些可信程序列表,进一步增强了这些列表的安全性。
所述的基于TPM/VTPM的可信程序列表生成方法,所述步骤2还包括:
步骤31,BIOS读取启动介质中Boot Loader的相关扇区到内存中;
步骤32,计算内存中的Boot Loader相关扇区的Hash值,添加到Hash数组hashes1;
步骤33,以数据封存密码调用TPM或VTPM的Seal功能封存保护hashes1数组,生成二进制数据blob1,其中blob1为非易失性存储数据;
步骤34,调用TPM或VTPM的DefineSpace和WriteValueAuth功能保存blob1到TPM或VTPM的非易失性存储区,TPM或VTPM返回数据索引i1,其中DefineSpace为从非易失性存储中分配的空间,WriteValueAuth为将数据写到分配的空间中。
所述的基于TPM/VTPM的可信程序列表生成方法,所述步骤3还包括:
步骤41,Boot Loader读取操作系统内核及相关模块到内存中;
步骤42,计算内存中的操作系统内核及相关模块的Hash值,并分别添加到Hash数组hashes2;
步骤43,以数据封存密码调用TPM或VTPM的Seal功能封存保护hashes2数组,生成二进制数据blob2,其中blob2为非易失性存储数据;
步骤44,调用TPM或VTPM的DefineSpace和WriteValueAuth功能保存blob2到TPM或VTPM的非易失性存储区,TPM或VTPM返回数据索引i2。
所述的基于TPM/VTPM的可信程序列表生成方法,所述步骤4还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210160589.2/2.html,转载请声明来源钻瓜专利网。