首页 / 专利库 / 软件 / 软件套件 / 软件组件 / 软件代码 / 一种基于双体系结构可信计算平台的静态度量方法

一种基于双体系结构可信计算平台的静态度量方法

阅读:1018发布:2020-07-15

专利汇可以提供一种基于双体系结构可信计算平台的静态度量方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于双体系结构可信计算平台的静态度量方法,可信计算平台包括:并行的计算子系统和防护子系统,计算子系统用于完成计算任务,防护子系统用于通过可信平台控 制模 块 ,根据可信策略对计算子系统进行主动度量和主动控制;静态度量方法包括:在可信计算平台上电后,防护子系统中的可信平台 控制模块 先于计算子系统中的CPU启动,防护子系统以可信平台控制模块为信任根,通过可信 软件 基逐级对计算子系统的启动流程进行度量,直至计算子系统的信任链建立完成。本发明所提供的静态度量方法,将可信平台控制模块作为主动度量和主动控制的源点,为计算子系统构建了安全可信的信任链,能够有效保障计算子系统的安全性能。,下面是一种基于双体系结构可信计算平台的静态度量方法专利的具体信息内容。

1.一种基于双体系结构可信计算平台的静态度量方法,其特征在于,所述可信计算平台包括:并行的计算子系统和防护子系统,所述计算子系统用于完成计算任务,所述防护子系统用于通过可信平台控制模,根据可信策略对所述计算子系统进行主动度量和主动控制;所述计算子系统与所述防护子系统之间具有安全隔离机制,通过专用访问通道进行交互;
所述静态度量方法包括:
在所述可信计算平台上电后,所述防护子系统中的所述可信平台控制模块先于所述计算子系统中的CPU启动,所述防护子系统以所述可信平台控制模块为信任根,通过可信软件基逐级对所述计算子系统的启动流程进行度量,直至所述计算子系统的信任链建立完成。
2.根据权利要求1所述的一种基于双体系结构可信计算平台的静态度量方法,其特征在于,所述防护子系统以所述可信平台控制模块为信任根,通过可信软件基逐级对所述计算子系统的启动流程进行度量包括:
所述防护子系统通过所述可信软件基中的初始环境验证度量模块、系统引导验证度量模块、内核验证度量模块、系统验证度量模块和应用代码度量模块对所述计算子系统的相对应的启动流程进行度量;
所述初始环境验证度量模块、所述系统引导验证度量模块、所述内核验证度量模块、所述系统验证度量模块和所述应用代码度量模块均为可信的,且在所述可信平台控制模块启动后加载完成。
3.根据权利要求2所述的一种基于双体系结构可信计算平台的静态度量方法,其特征在于,所述防护子系统通过所述可信软件基中的初始环境验证度量模块、系统引导验证度量模块、内核验证度量模块、系统验证度量模块和应用代码度量模块对所述计算子系统的相对应的启动流程进行度量包括:
S1.1、在所述可信平台控制模块启动之后、且所述计算子系统的CPU启动之前,所述初始环境验证度量模块对所述计算子系统中的BIOS代码进行度量,若所述BIOS代码的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
S1.2、若所述BIOS代码的度量结果为可信,则所述防护子系统控制所述计算子系统加载BIOS代码,并在所述计算子系统加载BIOS代码之后,所述初始环境验证度量模块继续对所述计算子系统的OPROM以及硬件配置进行度量,若所述OPROM以及硬件配置的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
S1.3、若所述OPROM以及硬件配置的度量结果为可信,则所述BIOS代码中的系统引导验证度量代理拦截所述计算子系统中的OSLoader代码加载,并将OSLoader的相关信息发送给所述系统引导验证度量模块;
S1.4、所述系统引导验证度量模块对所述OSLoader代码进行度量,若所述OSLoader代码的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
S1.5、若所述OSLoader代码的度量结果为可信,则所述防护子系统控制所述计算子系统加载并执行所述OSLoader代码,且所述OSLoader代码中的内核验证度量代理拦截所述计算子系统中的操作系统内核代码加载,并将所述操作系统内核的相关信息发送给所述内核验证度量模块;
S1.6、所述内核验证度量模块对所述操作系统内核代码进行度量,若所述操作系统内核代码的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
S1.7、若所述操作系统内核代码的度量结果为可信,则所述防护子系统控制所述计算子系统加载并执行所述操作系统内核代码,且所述操作系统内核代码中的系统验证度量代理拦截所述计算子系统中的操作系统系统服务代码加载,并将所述操作系统系统服务的相关信息发送给所述系统验证度量模块;
S1.8、所述系统验证度量模块对所述操作系统系统服务代码进行度量,若所述操作系统系统服务代码度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
S1.9、若所述操作系统系统服务代码的度量结果为可信,则所述防护子系统控制所述计算子系统加载并执行所述操作系统系统服务代码,至此所述计算子系统启动完成;
S1.10、在所述计算子系统运行过程中,当需要加载应用程序时,所述应用代码度量模块获取所述应用程序的相关信息,并对所述应用程序进行度量,若所述应用程序的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
S1.11、若所述应用程序的度量结果为可信,则所述防护子系统控制所述计算子系统加载并执行所述应用程序,至此所述计算子系统的信任链建立完成。
4.根据权利要求3所述的一种基于双体系结构可信计算平台的静态度量方法,其特征在于,在S1.6中,在所述内核验证度量模块对所述操作系统内核代码进行度量的同时,所述静态度量方法还包括:
所述内核验证度量模块对当前的所述计算子系统的内存进行度量;
若所述操作系统内核代码的度量结果为不可信,和/或,当前的所述计算子系统的内存的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
若所述操作系统内核代码的度量结果为可信,且当前的所述计算子系统的内存的度量结果为可信,则执行S1.7中的所述防护子系统控制所述计算子系统加载并执行所述操作系统内核代码。
5.根据权利要求2所述的一种基于双体系结构可信计算平台的静态度量方法,其特征在于,所述防护子系统通过所述可信软件基中的初始环境验证度量模块、系统引导验证度量模块、内核验证度量模块、系统验证度量模块和应用代码度量模块对所述计算子系统的相对应的启动流程进行度量包括:
在以下至少之一个阶段对当前的所述计算子系统的内存进行度量:
在所述初始环境验证度量模块对所述计算子系统中的BIOS代码进行度量的同时,所述初始环境验证度量模块还用于对当前的所述计算子系统的内存进行度量;
在所述初始环境验证度量模块对所述计算子系统的OPROM以及硬件配置进行度量的同时,所述初始环境验证度量模块还用于对当前的所述计算子系统的内存进行度量;
在所述系统引导验证度量模块对所述计算子系统的OSLoader代码进行度量的同时,所述系统引导验证度量模块还用于对当前的所述计算子系统的内存进行度量;
在所述内核验证度量模块对所述计算子系统的操作系统内核代码进行度量的同时,所述内核验证度量模块还用于对当前的所述计算子系统的内存进行度量;
在所述系统验证度量模块对所述计算子系统的操作系统系统服务代码进行度量的同时,所述系统验证度量模块还用于对当前的所述计算子系统的内存进行度量;
在所述应用代码度量模块对待加载的应用程序进行度量的同时,所述应用代码度量模块还用于对当前的所述计算子系统的内存进行度量。
6.根据权利要求2所述的一种基于双体系结构可信计算平台的静态度量方法,其特征在于,所述防护子系统通过所述可信软件基中的初始环境验证度量模块、系统引导验证度量模块、内核验证度量模块、系统验证度量模块和应用代码度量模块对所述计算子系统的相对应的启动流程进行度量包括:
S2.1、在所述可信平台控制模块启动之后、且所述计算子系统的CPU启动之前,所述初始环境验证度量模块对所述计算子系统中的BIOS代码进行度量,若所述BIOS代码的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
S2.2、若所述BIOS代码的度量结果为可信,则所述防护子系统控制所述计算子系统加载BIOS代码,并在所述计算子系统加载BIOS代码之后,所述初始环境验证度量模块继续对所述计算子系统的OPROM以及硬件配置进行度量,并同时对当前的所述计算子系统的内存进行度量,若所述OPROM以及硬件配置和/或当前的所述计算子系统的内存的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
S2.3、若所述OPROM以及硬件配置和当前的所述计算子系统的内存的度量结果均为可信,则所述BIOS代码中的系统引导验证度量代理拦截所述计算子系统中的OSLoader代码加载,并将OSLoader的相关信息发送给所述系统引导验证度量模块;
S2.4、所述系统引导验证度量模块对所述OSLoader代码进行度量,并同时对当前的所述计算子系统的内存进行度量,若所述OSLoader代码和/或当前的所述计算子系统的内存的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
S2.5、若所述OSLoader代码和当前的所述计算子系统的内存的度量结果均为可信,则所述防护子系统控制所述计算子系统加载并执行所述OSLoader代码,且所述OSLoader代码中的内核验证度量代理拦截所述计算子系统中的操作系统内核代码加载,并将所述操作系统内核的相关信息发送给所述内核验证度量模块;
S2.6、所述内核验证度量模块对所述操作系统内核代码进行度量,并同时对当前的所述计算子系统的内存进行度量,若所述操作系统内核代码和/或当前的所述计算子系统的内存的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
S2.7、若所述操作系统内核代码和当前的所述计算子系统的内存的度量结果均为可信,则所述防护子系统控制所述计算子系统加载并执行所述操作系统内核代码,且所述操作系统内核代码中的系统验证度量代理拦截所述计算子系统中的操作系统系统服务代码加载,并将所述操作系统系统服务的相关信息发送给所述系统验证度量模块;
S2.8、所述系统验证度量模块对所述操作系统系统服务代码进行度量,并同时对当前的所述计算子系统的内存进行度量,若所述操作系统系统服务代码和/或当前的所述计算子系统的内存的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
S2.9、若所述操作系统系统服务代码和当前的所述计算子系统的内存的度量结果均为可信,则所述防护子系统控制所述计算子系统加载并执行所述操作系统系统服务代码,至此所述计算子系统启动完成;
S2.10、在所述计算子系统运行过程中,当需要加载应用程序时,所述应用代码度量模块获取所述应用程序的相关信息,并对所述应用程序进行度量,同时对当前的所述计算子系统的内存进行度量,若所述应用程序和/或当前的所述计算子系统的内存的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
S2.11、若所述应用程序和当前的所述计算子系统的内存的度量结果均为可信,则所述防护子系统控制所述计算子系统加载并执行所述应用程序,至此所述计算子系统的信任链建立完成。
7.根据权利要求1至6中任一项所述的一种基于双体系结构可信计算平台的静态度量方法,其特征在于,所述可信平台控制模块包括:TPCM硬件平台和TPCM操作系统;
所述TPCM硬件平台包括:中央处理器、专有物理内存、持久存储空间和内置TCM模块;
所述TPCM操作系统用于对所述防护子系统中的以下信息中的至少之一进行管理:进程、内存、文件系统、网络协议、I/O设备和接口
8.根据权利要求7所述的一种基于双体系结构可信计算平台的静态度量方法,其特征在于,所述TPCM操作系统包括以下至少之一:TSB通信模块、主机资源访问支持模块、TCM管理和调度模块;
所述TSB通信模块用于所述防护子系统与所述可信软件基进行通信;
所述主机资源访问支持模块包括以下至少之一:主机内存访问模块、主机I/O设备访问模块和主机CPU状态访问模块,所述主机内存访问模块用于提供访问所述计算子系统内存的接口,所述主机I/O设备访问模块用于访问所述计算子系统总线上的I/O设备,所述主机CPU状态访问模块用于访问、读取或修改所述计算子系统的CPU寄存器;
所述TCM管理和调度模块用于支持所述可信软件基完成密码运算任务,并用于提供多TCM并存时的并发调度工作。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至8任一项中所述一种基于双体系结构可信计算平台的静态度量方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至8任一项中所述的一种基于双体系结构可信计算平台的静态度量方法。

说明书全文

一种基于双体系结构可信计算平台的静态度量方法

技术领域

[0001] 本发明涉及可信计算技术领域,具体涉及一种基于双体系结构可信计算平台的静态度量方法。

背景技术

[0002] 当前的网络空间极其脆弱,震网、Wannacry勒索病毒、Mirai等造成较大影响的网络攻击事件层出不穷,且日益猖獗。究其根源,在于并没有从网络安全险的实质原因入手解决问题,一味采用以“防火墙”、“病毒查杀”、“入侵检测”等为代表的“封堵查杀”被动防御手段,防不胜防,特别在面对针对目标系统的漏洞发起的攻击时,根本无法有效防御。
[0003] 为解决当前网络空间安全面临的问题,国际TCG组织提出了可信计算的方法,提出了以TPM和BIOS起始代码为信任根,一级度量一级,进而构建起计算机的信任链,保护计算机重要资源不被非法篡改和破坏,起到了较好的效果。但是,TPM本质上只是计算机上一个被动挂接的外部设备,只有被主机程序调用才会发挥作用,一旦主机被攻击者控制,TPM的作用就会无从发挥,导致TCG的可信计算架构在面对黑客利用计算机系统逻辑缺陷进行攻击时,基本难以抵御,例如Windows 10完全实现了TCG的可信计算架构,但是却未能阻止Wannacry勒索病毒的攻击。针对TPM作为被动挂接到计算机的外部设备,需由主机软件调用才能实现对计算机的固件和可执行程序等资源进行静态度量,在资源访问、控制上都有局限性,其安全能完全依赖主机系统的安全性。

发明内容

[0004] 针对现有技术中存在的缺陷,本发明的目的在于提供一种基于双体系结构可信计算平台的静态度量方法,可信计算平台的防护子系统与计算子系统是并行运行关系,防护子系统的安全性和可靠性并不依赖于计算子系统,改变了以TPM和BIOS起始代码为信任根进行静态度量的传统思路,将可信平台控制模作为主动度量和主动控制的源点,为计算子系统构建了安全可信的信任链,能够有效保障计算子系统的安全性能。
[0005] 为实现上述目的,本发明采用的技术方案如下:
[0006] 一种基于双体系结构可信计算平台的静态度量方法,所述可信计算平台包括:并行的计算子系统和防护子系统,所述计算子系统用于完成计算任务,所述防护子系统用于通过可信平台控制模块,根据可信策略对所述计算子系统进行主动度量和主动控制;所述计算子系统与所述防护子系统之间具有安全隔离机制,通过专用访问通道进行交互;
[0007] 所述静态度量方法包括:
[0008] 在所述可信计算平台上电后,所述防护子系统中的所述可信平台控制模块先于所述计算子系统中的CPU启动,所述防护子系统以所述可信平台控制模块为信任根,通过可信软件基逐级对所述计算子系统的启动流程进行度量,直至所述计算子系统的信任链建立完成。
[0009] 进一步,如上所述的一种基于双体系结构可信计算平台的静态度量方法,所述防护子系统以所述可信平台控制模块为信任根,通过可信软件基逐级对所述计算子系统的启动流程进行度量包括:
[0010] 所述防护子系统通过所述可信软件基中的初始环境验证度量模块、系统引导验证度量模块、内核验证度量模块、系统验证度量模块和应用代码度量模块对所述计算子系统的相对应的启动流程进行度量;
[0011] 所述初始环境验证度量模块、所述系统引导验证度量模块、所述内核验证度量模块、所述系统验证度量模块和所述应用代码度量模块均为可信的,且在所述可信平台控制模块启动后加载完成。
[0012] 进一步,如上所述的一种基于双体系结构可信计算平台的静态度量方法,所述防护子系统通过所述可信软件基中的初始环境验证度量模块、系统引导验证度量模块、内核验证度量模块、系统验证度量模块和应用代码度量模块对所述计算子系统的相对应的启动流程进行度量包括:
[0013] S1.1、在所述可信平台控制模块启动之后、且所述计算子系统的CPU启动之前,所述初始环境验证度量模块对所述计算子系统中的BIOS代码进行度量,若所述BIOS代码的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
[0014] S1.2、若所述BIOS代码的度量结果为可信,则所述防护子系统控制所述计算子系统加载BIOS代码,并在所述计算子系统加载BIOS代码之后,所述初始环境验证度量模块继续对所述计算子系统的OPROM以及硬件配置进行度量,若所述OPROM以及硬件配置的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
[0015] S1.3、若所述OPROM以及硬件配置的度量结果为可信,则所述BIOS代码中的系统引导验证度量代理拦截所述计算子系统中的OSLoader代码加载,并将OSLoader的相关信息发送给所述系统引导验证度量模块;
[0016] S1.4、所述系统引导验证度量模块对所述OSLoader代码进行度量,若所述OSLoader代码的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
[0017] S1.5、若所述OSLoader代码的度量结果为可信,则所述防护子系统控制所述计算子系统加载并执行所述OSLoader代码,且所述OSLoader代码中的内核验证度量代理拦截所述计算子系统中的操作系统内核代码加载,并将所述操作系统内核的相关信息发送给所述内核验证度量模块;
[0018] S1.6、所述内核验证度量模块对所述操作系统内核代码进行度量,若所述操作系统内核代码的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
[0019] S1.7、若所述操作系统内核代码的度量结果为可信,则所述防护子系统控制所述计算子系统加载并执行所述操作系统内核代码,且所述操作系统内核代码中的系统验证度量代理拦截所述计算子系统中的操作系统系统服务代码加载,并将所述操作系统系统服务的相关信息发送给所述系统验证度量模块;
[0020] S1.8、所述系统验证度量模块对所述操作系统系统服务代码进行度量,若所述操作系统系统服务代码度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
[0021] S1.9、若所述操作系统系统服务代码的度量结果为可信,则所述防护子系统控制所述计算子系统加载并执行所述操作系统系统服务代码,至此所述计算子系统启动完成;
[0022] S1.10、在所述计算子系统运行过程中,当需要加载应用程序时,所述应用代码度量模块获取所述应用程序的相关信息,并对所述应用程序进行度量,若所述应用程序的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
[0023] S1.11、若所述应用程序的度量结果为可信,则所述防护子系统控制所述计算子系统加载并执行所述应用程序,至此所述计算子系统的信任链建立完成。
[0024] 进一步,如上所述的一种基于双体系结构可信计算平台的静态度量方法,在S1.6中,在所述内核验证度量模块对所述操作系统内核代码进行度量的同时,所述静态度量方法还包括:
[0025] 所述内核验证度量模块对当前的所述计算子系统的内存进行度量;
[0026] 若所述操作系统内核代码的度量结果为不可信,和/或,当前的所述计算子系统的内存的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
[0027] 若所述操作系统内核代码的度量结果为可信,且当前的所述计算子系统的内存的度量结果为可信,则执行S1.7中的所述防护子系统控制所述计算子系统加载并执行所述操作系统内核代码。
[0028] 进一步,如上所述的一种基于双体系结构可信计算平台的静态度量方法,所述防护子系统通过所述可信软件基中的初始环境验证度量模块、系统引导验证度量模块、内核验证度量模块、系统验证度量模块和应用代码度量模块对所述计算子系统的相对应的启动流程进行度量包括:
[0029] 在以下至少之一个阶段对当前的所述计算子系统的内存进行度量:
[0030] 在所述初始环境验证度量模块对所述计算子系统中的BIOS代码进行度量的同时,所述初始环境验证度量模块还用于对当前的所述计算子系统的内存进行度量;
[0031] 在所述初始环境验证度量模块对所述计算子系统的OPROM以及硬件配置进行度量的同时,所述初始环境验证度量模块还用于对当前的所述计算子系统的内存进行度量;
[0032] 在所述系统引导验证度量模块对所述计算子系统的OSLoader代码进行度量的同时,所述系统引导验证度量模块还用于对当前的所述计算子系统的内存进行度量;
[0033] 在所述内核验证度量模块对所述计算子系统的操作系统内核代码进行度量的同时,所述内核验证度量模块还用于对当前的所述计算子系统的内存进行度量;
[0034] 在所述系统验证度量模块对所述计算子系统的操作系统系统服务代码进行度量的同时,所述系统验证度量模块还用于对当前的所述计算子系统的内存进行度量;
[0035] 在所述应用代码度量模块对待加载的应用程序进行度量的同时,所述应用代码度量模块还用于对当前的所述计算子系统的内存进行度量。
[0036] 进一步,如上所述的一种基于双体系结构可信计算平台的静态度量方法,所述防护子系统通过所述可信软件基中的初始环境验证度量模块、系统引导验证度量模块、内核验证度量模块、系统验证度量模块和应用代码度量模块对所述计算子系统的相对应的启动流程进行度量包括:
[0037] S2.1、在所述可信平台控制模块启动之后、且所述计算子系统的CPU启动之前,所述初始环境验证度量模块对所述计算子系统中的BIOS代码进行度量,若所述BIOS代码的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
[0038] S2.2、若所述BIOS代码的度量结果为可信,则所述防护子系统控制所述计算子系统加载BIOS代码,并在所述计算子系统加载BIOS代码之后,所述初始环境验证度量模块继续对所述计算子系统的OPROM以及硬件配置进行度量,并同时对当前的所述计算子系统的内存进行度量,若所述OPROM以及硬件配置和/或当前的所述计算子系统的内存的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
[0039] S2.3、若所述OPROM以及硬件配置和当前的所述计算子系统的内存的度量结果均为可信,则所述BIOS代码中的系统引导验证度量代理拦截所述计算子系统中的OSLoader代码加载,并将OSLoader的相关信息发送给所述系统引导验证度量模块;
[0040] S2.4、所述系统引导验证度量模块对所述OSLoader代码进行度量,并同时对当前的所述计算子系统的内存进行度量,若所述OSLoader代码和/或当前的所述计算子系统的内存的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
[0041] S2.5、若所述OSLoader代码和当前的所述计算子系统的内存的度量结果均为可信,则所述防护子系统控制所述计算子系统加载并执行所述OSLoader代码,且所述OSLoader代码中的内核验证度量代理拦截所述计算子系统中的操作系统内核代码加载,并将所述操作系统内核的相关信息发送给所述内核验证度量模块;
[0042] S2.6、所述内核验证度量模块对所述操作系统内核代码进行度量,并同时对当前的所述计算子系统的内存进行度量,若所述操作系统内核代码和/或当前的所述计算子系统的内存的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
[0043] S2.7、若所述操作系统内核代码和当前的所述计算子系统的内存的度量结果均为可信,则所述防护子系统控制所述计算子系统加载并执行所述操作系统内核代码,且所述操作系统内核代码中的系统验证度量代理拦截所述计算子系统中的操作系统系统服务代码加载,并将所述操作系统系统服务的相关信息发送给所述系统验证度量模块;
[0044] S2.8、所述系统验证度量模块对所述操作系统系统服务代码进行度量,并同时对当前的所述计算子系统的内存进行度量,若所述操作系统系统服务代码和/或当前的所述计算子系统的内存的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
[0045] S2.9、若所述操作系统系统服务代码和当前的所述计算子系统的内存的度量结果均为可信,则所述防护子系统控制所述计算子系统加载并执行所述操作系统系统服务代码,至此所述计算子系统启动完成;
[0046] S2.10、在所述计算子系统运行过程中,当需要加载应用程序时,所述应用代码度量模块获取所述应用程序的相关信息,并对所述应用程序进行度量,同时对当前的所述计算子系统的内存进行度量,若所述应用程序和/或当前的所述计算子系统的内存的度量结果为不可信,则所述防护子系统依据可信策略对所述计算子系统进行控制;
[0047] S2.11、若所述应用程序和当前的所述计算子系统的内存的度量结果均为可信,则所述防护子系统控制所述计算子系统加载并执行所述应用程序,至此所述计算子系统的信任链建立完成。
[0048] 进一步,如上所述的一种基于双体系结构可信计算平台的静态度量方法,所述可信平台控制模块包括:TPCM硬件平台和TPCM操作系统;
[0049] 所述TPCM硬件平台包括:中央处理器、专有物理内存、持久存储空间和内置TCM模块;
[0050] 所述TPCM操作系统用于对所述防护子系统中的以下信息中的至少之一进行管理:进程、内存、文件系统、网络协议、I/O设备和接口
[0051] 进一步,如上所述的一种基于双体系结构可信计算平台的静态度量方法,所述TPCM操作系统包括以下至少之一:TSB通信模块、主机资源访问支持模块、TCM管理和调度模块;
[0052] 所述TSB通信模块用于所述防护子系统与所述可信软件基进行通信;
[0053] 所述主机资源访问支持模块包括以下至少之一:主机内存访问模块、主机I/O设备访问模块和主机CPU状态访问模块,所述主机内存访问模块用于提供访问所述计算子系统内存的接口,所述主机I/O设备访问模块用于访问所述计算子系统总线上的I/O设备,所述主机CPU状态访问模块用于访问、读取或修改所述计算子系统的CPU寄存器;
[0054] 所述TCM管理和调度模块用于支持所述可信软件基完成密码运算任务,并用于提供多TCM并存时的并发调度工作所述TPCM操作系统包括:TSB通信模块和TCM管理和调度模块;
[0055] 所述TSB通信模块用于所述防护子系统与所述可信软件基进行通信;
[0056] 所述TCM管理和调度模块用于支持所述可信软件基完成密码运算任务,并用于提供多TCM并存时的并发调度工作。
[0057] 一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一种所述一种基于双体系结构可信计算平台的静态度量方法。
[0058] 一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一种所述的一种基于双体系结构可信计算平台的静态度量方法。
[0059] 本发明的有益效果在于:本发明所提供的静态度量方法,将可信平台控制模块作为主动度量和主动控制的源点,为计算子系统构建了安全可信的信任链,能够有效保障计算子系统的安全性能。本发明的静态度量增加了度量内容,TPM的静态度量只针对文件的完整性进行度量,本发明对文件的完整性和内存都进行度量,确保了加载环境的可信性和安全性。附图说明
[0060] 图1为本发明实施例中提供的可信计算平台的框架示意图;
[0061] 图2为本发明实施例二中提供的一种基于双体系结构可信计算平台的静态度量方法的流程示意图;
[0062] 图3为本发明实施例三中提供的一种基于双体系结构可信计算平台的静态度量方法的流程示意图。

具体实施方式

[0063] 下面结合说明书附图与具体实施方式对本发明做进一步的详细说明。
[0064] 术语解释
[0065] TPM:TrustedPlatformModule,可信平台模块。
[0066] TCM:TrustedCryptographyModule,可信密码模块,可信计算平台的硬件模块,为可信计算平台提供密码运算功能,具有受保护的存储空间。
[0067] TPCM:trustedplatformcontrolmodule,可信平台控制模块,一种集成在可信计算平台中,用于建立和保障信任源点的硬件核心模块,为可信计算提供完整性度量、安全存储、可信报告以及密码服务等功能。
[0068] TSB:TrustedSoftwareBase,可信软件基,为可信计算平台的可信性提供支持的软件元素的集合。
[0069] TSM:TCMServiceModule,TCM服务模块,可信计算密码支撑平台内部的软件模块,为对平台外部提供访问可信密码模块的软件接口。
[0070] BIOS:BasicInputOutputSystem,基本输入输出系统,是个人电脑启动时加载的第一个软件。
[0071] 目前,国际TCG组织提出的可信计算芯片TPM是作为计算机的外部设备,以被动挂接的方式,通过主机软件调用来发挥作用,对计算机的固件和可执行程序等资源进行静态度量,在资源访问、控制上都有局限性,其安全能力完全依赖于主机系统的安全性,难以防御黑客利用主机系统漏洞进行的攻击,并不能实质上提升计算机系统的主动防御能力。
[0072] 针对TPM作为被动挂接到计算机的外部设备,需由主机软件调用才能实现对计算机的固件和可执行程序等资源进行静态度量,在资源访问、控制上都有局限性,其安全能力完全依赖主机系统的安全性的技术问题。本发明设计了基于计算与防护并行双体系结构可信计算平台的静态度量方法,其中,本发明的可信计算平台中包括并行的计算子系统与防护子系统。防护子系统与计算子系统是并行运行关系,防护子系统的安全性和可靠性并不依赖于计算子系统,且防护子系统具有比计算子系统更高的控制权限,防护子系统可以不受限制的访问计算子系统中的存储资源,但计算子系统不可以访问防护子系统中的存储资源,以实现提高防护子系统自身安全性能的目的。需要说明的是,本发明的可信计算平台可以通过以下任意一种方式构建:CPU片内构建、主板板载构建、PCI-E插卡构建、USB外接构建,此处本发明对具体构建方式所采取的技术手段不做具体限定。
[0073] 下面对本发明的可信计算平台的基本框架进行描述。
[0074] 如图1所示,计算与防护并行双体系结构的可信计算平台可以包括:并行的计算子系统和防护子系统,计算子系统用于完成计算任务,防护子系统用于通过可信平台控制模块,根据可信策略对计算子系统进行主动度量和主动控制,并生成可信报告;计算子系统与防护子系统之间具有安全隔离机制,可以通过专用访问通道进行交互;
[0075] 防护子系统具体用于通过可信软件基对计算子系统分别进行静态度量和动态度量。
[0076] 该可信计算平台以可信平台控制模块(TPCM)为信任根,TPCM先于计算子系统中的CPU启动对计算子系统中的BIOS、OPROM及硬件配置进行验证,改变了TPM作为被动挂接设备的传统思路,将TPCM作为主动度量和主动控制的源点,实现了TPCM对整个计算子系统的主动度量和主动控制。
[0077] 该可信计算平台除了建立以TPCM为信任根逐级度量的静态信任链之外,还设计了基于安全可信策略的动态度量机制,实现了在计算机启动以及运行过程中对整个计算机系统的主动防御。
[0078] 在该可信计算平台中,计算子系统与防护子系统之间具有安全隔离机制,可以通过专用访问通道进行交互。防护子系统具有比计算子系统更高的控制权限,防护子系统可以不受限制地访问计算子系统的内存以及I/O外设等,同时防护子系统可以对计算子系统进行控制,但计算子系统不能访问防护子系统的内存以及I/O外设等,更无法对防护子系统进行控制。计算子系统和防护子系统有各自独立的硬件资源支撑计算任务和安全任务,硬件资源包括CPU、内存、存储器等。TCM提供密码资源,计算子系统和防护子系统都可以使用,但是优先防护子系统使用。防护子系统的独立运行模式以及相对封闭的访问模式,可以提高防护子系统自身的安全性能。
[0079] 因此,本发明的可信计算平台,通过并行的计算子系统和防护子系统实现在计算的同时进行主动安全防护。防护子系统是一种独立的主动防御体系,能够直接访问计算子系统的内存和I/O外设等资源,并依据可信策略对计算子系统实施主动度量和主动控制,保证计算子系统计算全程可测可控,不被干扰和破坏,可抵御各种已知的和未知的攻击。
[0080] 下面进一步对上述可信计算平台的计算子系统和防护子系统的结构特征进行详细描述。
[0081] 计算子系统可以包括:CPU(中央处理器)、BIOS(基本输入输出系统)、操作系统和应用软件,操作系统包括系统服务和内核。
[0082] 防护子系统可以包括:TPCM硬件平台、TPCM操作系统及可信软件基(TSB)。
[0083] TPCM硬件平台可以包括:中央处理器、专有物理内存、持久存储空间和内置TCM模块。防护子系统并行于计算子系统执行,有自己的中央处理器CPU,专有物理内存。如果TPCM需要扩展密码计算能力,TPCM硬件平台还需要提供扩展TCM的总线和接口。
[0084] TPCM操作系统可以对防护子系统中的以下信息中的至少之一进行管理:进程、内存、文件系统、网络协议、I/O设备和接口。
[0085] TPCM操作系统可以包括以下至少之一:TSB通信模块、主机资源访问支持模块、TCM管理和调度模块。
[0086] TSB通信模块用于防护子系统与可信软件基进行通信。
[0087] 主机资源访问支持模块可以包括以下至少之一:主机内存访问模块、主机I/O设备访问模块和主机CPU状态访问模块,主机内存访问模块用于提供访问计算子系统内存的接口,主机I/O设备访问模块用于访问计算子系统总线上的I/O设备,主机CPU状态访问模块用于访问、读取或修改计算子系统的CPU寄存器。
[0088] TCM管理和调度模块用于支持可信软件基完成密码运算任务,并用于提供多TCM并存时的并发调度工作。TCM管理和调度模块包括内置TCM以及扩展TCM,TSB可使用内置TCM完成度量和密码运算任务,扩展TCM可提供访问扩展TCM的驱动和软件接口,在内置TCM计算能力不足时,可使用扩展TCM进行密码计算。
[0089] 可信计算平台还可以包括:计算子系统与防护子系统共享的可信密码模块,可信密码模块用于提供密码资源服务,具体用于提供基于国密算法的密钥管理、密码计算的密码资源服务,通过TCM服务模块提供调用服务。可信密码模块是一个独立的模块,可信密码模块可以具有自己的硬件和软件,可以包括但并不限于:密码算法引擎、随机数发生器、I/O接口等。
[0090] 本发明提供的可信计算平台中,可信密码模块采用自主创新的对称非对称相结合的密码体制作为免疫基因,以可信平台控制模块为信任根,基于安全可信策略,可信软件基通过建立信任链对计算子系统主动进行静态度量,以实现计算子系统的安全启动,并在计算子系统运行过程中主动对应用执行所依赖的进程环境以及应用执行所依赖的系统环境进行动态度量,以实现计算子系统的安全运行。需要说明的是,可信平台控制模块可以向可信软件基提供访问计算子系统的资源的接口和防护子系统的可信密码模块的接口。
[0091] 下面对可信软件基进行静态度量和动态度量的过程进行详细描述。
[0092] 可信软件基TSB
[0093] TSB依据其功能分为基本层和控制层。基本层实现对计算子系统的固件和可执行程序等资源进行的静态度量,完成信任链的建立,控制层实现在计算子系统运行过程中对计算子系统的应用执行及其所依赖的执行环境进行的动态度量,并根据度量结果对计算子系统进行控制处理。
[0094] 基本层
[0095] 基本层用于对计算子系统进行静态度量。
[0096] 基本层具体用于建立所述计算子系统的信任链;基本层可以包括:初始环境验证度量模块、系统引导验证度量模块、内核验证度量模块、系统验证度量模块以及应用代码度量模块。
[0097] 初始环境验证度量模块用于在可信平台控制模块启动后,且在计算子系统的CPU启动之前,对计算子系统的BIOS、OPROM及硬件配置进行主动度量,其中,硬件配置可以包括但并不限于CPU、主板芯片组硬盘、网卡、内存等;如果度量结果为可信则启动BIOS,否则防护子系统根据可信策略对计算子系统进行主动控制。
[0098] 系统引导验证度量模块用于在BIOS启动之后,在计算子系统的OSLoader代码加载之前,对OSLoader代码进行主动度量;如果度量结果为可信则加载并执行OSLoader代码,否则防护子系统根据可信策略对计算子系统进行主动控制。
[0099] 内核验证度量模块用于在OSLoader代码执行之后,在计算子系统的操作系统内核代码加载之前,对操作系统内核代码进行主动度量;如果度量结果为可信则加载并执行操作系统内核代码,否则防护子系统根据可信策略对计算子系统进行主动控制。
[0100] 系统验证度量模块用于在操作系统内核代码执行之后,在计算子系统的系统服务加载之前,对系统服务进行主动度量;如果度量结果为可信则加载并执行系统服务,至此完成计算子系统的启动过程,否则防护子系统根据可信策略对计算子系统进行主动控制。
[0101] 应用代码度量模块用于在计算子系统运行过程中,当需要加载应用程序时,对待加载的应用程序进行主动度量,如果度量结果为可信则计算子系统加载并执行待加载的应用程序,否则防护子系统控制计算子系统对待加载的应用程序进行控制,例如控制计算子系统不加载待加载的应用程序或者进行报警等,至此完成信任链的建立。
[0102] 如图1所示,计算子系统与防护子系统共享硬件资源可信密码模块,计算子系统的独有硬件资源包括CPU、内存、硬盘、外设等,防护子系统的独有硬件资源包括TPCM硬件平台的CPU、内存、持久性存储等。防护子系统中基本层由从下至上的初始环境验证度量模块、系统引导验证度量模块、内核验证度量模块、系统验证度量模块组成,分别对BIOS、OPROM和硬件配置、OSLoader代码、操作系统内核代码、系统服务进行主动度量,如果每一环节的度量结果均为可信,则计算子系统启动完成,但是,在计算子系统启动过程中,如果任一环节的度量结果为不可信,则防护子系统会根据可信策略对计算子系统进行控制,例如结束计算子系统启动过程或者在启动过程中进行报警。随后通过上层的应用代码度量模块对应用程序进行主动度量,如果度量结果为可信,则计算子系统加载并执行该应用程序,如果度量结果为不可信,则防护子系统控制计算子系统不加载该应用程序或者加载该应用程序并报警。至此,信任链建立完成。
[0103] 需要说明的是,信任链建立过程也即本发明可信计算平台的静态度量过程,所谓静态度量可以理解为对CPU未加载的程序和数据(例如程序代码、配置文件、关键信息等)进行的度量。
[0104] 还需要说明的是,信任链建立过程中,基本层中的各个模块是在可信平台控制模块启动之后,在计算子系统的CPU启动之前,一起加载完成的。而且,基本层中的各个模块均位于防护子系统中,防护子系统是相对独立且封闭的系统,故基本层中的各个模块自身均是可信的,无需在信任链建立过程中再对基本层中的各个模块进行度量。
[0105] 控制层
[0106] 控制层用于对计算子系统进行动态度量和控制处理。控制层可以包括两种度量模式,分别为直接度量模式和代理度量模式。在控制层采用直接度量模式时,控制层的主程序可以植入到防护子系统中。在控制层采用代理度量模式时,控制层的主程序可以植入到防护子系统中,且控制层的代理程序可以植入到计算子系统中,且该控制层的代理程序可以用于获取计算子系统的相关信息,并对计算子系统进行控制处理。计算子系统的相关信息可以包括但并不限于:计算子系统中的行为信息(例如系统调用行为)、事件等。对计算子系统进行的控制处理可以包括但并不限于:杀死主机进程等。
[0107] 需要说明的是,防护子系统对计算子系统的控制处理方式可以与控制层所采用的度量模式相关:控制层的主程序进行主动度量后根据度量结果生成控制指令。如果控制层采用直接度量模式,则控制层的主程序向可信平台控制模块发送控制指令,由可信平台控制模块对计算子系统进行控制处理。如果控制层采用代理度量模式,则控制层的主程序可以向控制层的代理程序发送控制指令,由控制层的代理程序对计算子系统进行控制处理;和/或,控制层的主程序可以向可信平台控制模块发送控制指令,由可信平台控制模块对计算子系统进行控制处理。
[0108] 控制层具体用于根据可信策略对计算子系统中的应用执行的相关信息进行度量,应用执行的相关信息可以包括以下至少之一:主体、客体、操作以及执行环境;所述执行环境可以包括:应用执行所依赖的进程环境和应用执行所依赖的系统环境,所述系统环境可以包括:所述计算子系统的系统服务和所述计算子系统的操作系统内核;可信策略由主体、客体、操作和执行环境四元素构成,不同的可信策略对应不同的度量对象和度量方法,此处对可信策略不做具体限定,本发明可以根据实际需求制定相应的可信策略。
[0109] 需要说明的是,应用执行可以理解为应用程序的运行过程,应用程序的运行过程中可以涉及到主体、客体、操作、执行环境等信息。
[0110] 应用执行所依赖的进程环境可以包括以下至少之一:应用程序的主程序代码、使用库函数代码、进程相关的数据结构、应用程序的数据段和关键的配置文件;应用执行所依赖的系统环境可以包括以下至少之一:内核主体代码段、可加载模块代码段、系统调用表、中断描述表、文件系统跳转表、网络协议栈、跳转表、设备驱动跳转表、寄存器值和关键的配置数据。需要说明的是,本发明中的应用执行所依赖的进程环境以及应用执行所依赖的系统环境还可以包括其他内容,此处不再一一举例说明。
[0111] 动态度量可以包括实时度量和定时度量两种度量方式:
[0112] 实时度量,可以是在行为触发和/或事件触发时,根据可信策略进行主动度量;定时度量,可以是在达到预定时间点和/或预定度量周期时,根据可信策略进行主动度量。
[0113] 需要说明的是,本发明中的行为可以包括但并不限于:系统调用行为、应用自身调用行为等。其中,系统调用行为可以包括以下至少之一:程序启动、共享库加载、驱动程序加载、文件访问、I/O设备访问、网络访问和内存映射,本发明中的系统调用行为还可以包括其他行为,此处不再一一举例说明。本发明中的事件可以包括但并不限于中断、设备热插拔信号等。预定时间点以及预定度量周期可以根据实际需求设定或调整,本发明对其不做具体限定。
[0114] 需要说明的是,在行为触发时,控制层可以采用以下任意一种方式对所述行为进行主动度量和控制处理:
[0115] 第一种方式:拦截所述行为,若对所述行为的度量结果为可信,则允许所述行为执行,若对所述行为的度量结果为不可信,则根据可信策略对所述行为进行控制。
[0116] 第二种方式:先允许所述行为执行,然后对所述行为进行主动度量,若对所述行为的度量结果为不可信,则根据可信策略对所述行为相关的后续行为进行控制。所述行为相关的后续行为可以包括但并不限于:所述行为再次执行、相同主体或者客体相关的行为(例如所述行为中的主体所执行的其他行为)等。
[0117] 防护子系统对计算子系统进行的主动防御可以包括:度量机制、判定机制以及控制机制。
[0118] 度量机制依据度量参数查询和解析策略库,并执行策略库中的可信策略,其中,可信策略规定了度量对象、度量方法等内容。
[0119] 判定机制根据可信基准值判定度量机制得到的度量结果是否符合预期,以此来判定是否可信。
[0120] 控制机制可以根据判定机制的判定结果并结合可信策略对计算子系统进行主动控制。
[0121] 实施例一
[0122] 下面对本发明提供的一种基于双体系结构可信计算平台的静态度量方法进行详细描述。
[0123] 一种基于双体系结构可信计算平台的静态度量方法,该实施例中的可信计算平台如图1所示,可以包括:并行的计算子系统和防护子系统,计算子系统用于完成计算任务,防护子系统用于通过可信平台控制模块,根据可信策略对计算子系统进行主动度量和主动控制;计算子系统与防护子系统之间具有安全隔离机制,通过专用访问通道进行交互;
[0124] 静态度量方法包括:
[0125] 在可信计算平台上电后,防护子系统中的可信平台控制模块先于计算子系统中的CPU启动,防护子系统以可信平台控制模块为信任根,通过可信软件基逐级对计算子系统的启动流程进行度量,直至计算子系统的信任链建立完成。
[0126] 具体地,防护子系统以可信平台控制模块为信任根,通过可信软件基逐级对计算子系统的启动流程进行度量包括:
[0127] 防护子系统通过可信软件基中的初始环境验证度量模块、系统引导验证度量模块、内核验证度量模块、系统验证度量模块、应用代码度量模块对计算子系统的相对应的启动流程进行度量;
[0128] 初始环境验证度量模块、系统引导验证度量模块、内核验证度量模块、系统验证度量模块、应用代码度量模块均为可信的,且在可信平台控制模块启动后加载完成。
[0129] 在可信平台控制模块启动后,在计算子系统的CPU启动之前,需要先加载并执行可信平台控制模块的TPCM操作系统和可信软件基,也即是说在进行静态度量之前,可信软件基的初始环境验证度量模块、系统引导验证度量模块、内核验证度量模块、系统验证度量模块、应用代码度量模块都已经加载完成,无需在信任链的建立过程中逐个加载。再者,由于上述各个度量模块都位于防护子系统中,各个度量模块本身就是可信的,在信任链建立过程(即静态度量过程)无需对各个度量模块进行可信度量。该实施例可以达到缩短静态度量时间、提高静态度量效率的效果。
[0130] 实施例二
[0131] 下面对防护子系统通过可信软件基中的各度量模块对计算子系统的相对应的启动流程进行度量的过程进行详细描述。
[0132] 如图2所示,防护子系统通过可信软件基中的初始环境验证度量模块、系统引导验证度量模块、内核验证度量模块、系统验证度量模块和应用代码度量模块对计算子系统的相对应的启动流程进行度量可以包括以下步骤:
[0133] S1.1、在可信平台控制模块启动之后、且计算子系统的CPU启动之前,初始环境验证度量模块对计算子系统中的BIOS代码进行度量,若BIOS代码的度量结果为不可信,则防护子系统依据可信策略对计算子系统进行控制;
[0134] S1.2、若BIOS代码的度量结果为可信,则防护子系统控制计算子系统加载BIOS代码,并在计算子系统加载BIOS代码之后,初始环境验证度量模块继续对计算子系统的OPROM以及硬件配置进行度量,若OPROM以及硬件配置的度量结果为不可信,则防护子系统依据可信策略对计算子系统进行控制;
[0135] S1.3、若OPROM以及硬件配置的度量结果为可信,则BIOS代码中的系统引导验证度量代理拦截计算子系统中的OSLoader代码加载,并将OSLoader的相关信息发送给系统引导验证度量模块;
[0136] S1.4、系统引导验证度量模块对OSLoader代码进行度量,若OSLoader代码的度量结果为不可信,则防护子系统依据可信策略对计算子系统进行控制;
[0137] S1.5、若OSLoader代码的度量结果为可信,则防护子系统控制计算子系统加载并执行OSLoader代码,且OSLoader代码中的内核验证度量代理拦截计算子系统中的操作系统内核代码加载,并将操作系统内核的相关信息发送给内核验证度量模块;
[0138] S1.6、内核验证度量模块对操作系统内核代码进行度量,若操作系统内核代码的度量结果为不可信,则防护子系统依据可信策略对计算子系统进行控制;
[0139] S1.7、若操作系统内核代码的度量结果为可信,则防护子系统控制计算子系统加载并执行操作系统内核代码,且操作系统内核代码中的系统验证度量代理拦截计算子系统中的操作系统系统服务代码加载,并将操作系统系统服务的相关信息发送给系统验证度量模块;
[0140] S1.8、系统验证度量模块对操作系统系统服务代码进行度量,若操作系统系统服务代码度量结果为不可信,则防护子系统依据可信策略对计算子系统进行控制;
[0141] S1.9、若操作系统系统服务代码的度量结果为可信,则防护子系统控制计算子系统加载并执行操作系统系统服务代码,至此计算子系统启动完成;
[0142] 在计算子系统的启动过程中的任一环节的度量结果为不可信,则防护子系统依据可信策略控制结束计算子系统的启动过程或者在计算子系统的启动过程中进行报警。
[0143] S1.10、在计算子系统运行过程中,当需要加载应用程序时,应用代码度量模块获取应用程序的相关信息,并对应用程序进行度量,若应用程序的度量结果为不可信,则防护子系统依据可信策略对计算子系统进行控制;
[0144] 若所述应用程序的度量结果为不可信,则所述防护子系统依据可信策略控制所述计算子系统不加载所述应用程序或者加载所述应用程序并报警。
[0145] S1.11、若应用程序的度量结果为可信,则防护子系统控制计算子系统加载并执行应用程序,至此计算子系统的信任链建立完成。
[0146] 相对于现有技术中信任根代码置于计算子系统启动过程中的各个代码段中,对于信任链建立过程(即静态度量过程)仅是在逻辑功能上实现了双系统结构,而本发明中的各个度量模块是均位于防护子系统中,在逻辑功能上和物理内存占用上均实现了双系统结构。
[0147] 为了进一步提高计算子系统的安全性能,本发明的静态度量方法可以包括对文件的完整性度量以及内存度量,也即本发明可以在计算子系统信任链建立过程中的每个环节,根据可信策略选择是否对计算子系统的内存进行度量。
[0148] 一方面,在S1.6中,在内核验证度量模块对操作系统内核代码进行度量的同时,静态度量方法还包括:
[0149] 内核验证度量模块对当前的计算子系统的内存进行度量;
[0150] 若操作系统内核代码的度量结果为不可信,和/或,当前的计算子系统的内存的度量结果为不可信,则防护子系统依据可信策略对计算子系统进行控制;
[0151] 若操作系统内核代码的度量结果为可信,且当前的计算子系统的内存的度量结果为可信,则执行S1.7中的防护子系统控制计算子系统加载并执行操作系统内核代码。
[0152] 另一方面,防护子系统通过可信软件基中的初始环境验证度量模块、系统引导验证度量模块、内核验证度量模块、系统验证度量模块和应用代码度量模块对计算子系统的相对应的启动流程进行度量包括:
[0153] 在以下至少之一个阶段对当前的计算子系统的内存进行度量:
[0154] 在初始环境验证度量模块对计算子系统中的BIOS代码进行度量的同时,初始环境验证度量模块还用于对当前的计算子系统的内存进行度量;
[0155] 在初始环境验证度量模块对计算子系统的OPROM以及硬件配置进行度量的同时,初始环境验证度量模块还用于对当前的计算子系统的内存进行度量;
[0156] 在系统引导验证度量模块对计算子系统的OSLoader代码进行度量的同时,系统引导验证度量模块还用于对当前的计算子系统的内存进行度量;
[0157] 在内核验证度量模块对计算子系统的操作系统内核代码进行度量的同时,内核验证度量模块还用于对当前的计算子系统的内存进行度量;
[0158] 在系统验证度量模块对计算子系统的操作系统系统服务代码进行度量的同时,系统验证度量模块还用于对当前的计算子系统的内存进行度量;
[0159] 在应用代码度量模块对待加载的应用程序进行度量的同时,应用代码度量模块还用于对当前的计算子系统的内存进行度量。
[0160] 本发明实施例在信任链建立过程中的每个环节,根据可信策略选择是否对计算子系统的内存进行度量,这样可以保证计算子系统内存中的数据不被非法篡改,保证了内存环境的可信,进一步提高了计算子系统的安全性能。
[0161] 实施例三
[0162] 下面对在BIOS代码的度量过程之后的每一阶段对当前的计算子系统的内存进行度量的过程进行详细描述。
[0163] 如图3所示,防护子系统通过可信软件基中的初始环境验证度量模块、系统引导验证度量模块、内核验证度量模块、系统验证度量模块和应用代码度量模块对计算子系统的相对应的启动流程进行度量包括:
[0164] S2.1、在可信平台控制模块启动之后、且计算子系统的CPU启动之前,初始环境验证度量模块对计算子系统中的BIOS代码进行度量,若BIOS代码的度量结果为不可信,则防护子系统依据可信策略对计算子系统进行控制;
[0165] S2.2、若BIOS代码的度量结果为可信,则防护子系统控制计算子系统加载BIOS代码,并在计算子系统加载BIOS代码之后,初始环境验证度量模块继续对计算子系统的OPROM以及硬件配置进行度量,并同时对当前的计算子系统的内存进行度量,若OPROM以及硬件配置和/或当前的计算子系统的内存的度量结果为不可信,则防护子系统依据可信策略对计算子系统进行控制;
[0166] S2.3、若OPROM以及硬件配置和当前的计算子系统的内存的度量结果均为可信,则BIOS代码中的系统引导验证度量代理拦截计算子系统中的OSLoader代码加载,并将OSLoader的相关信息发送给系统引导验证度量模块;
[0167] S2.4、系统引导验证度量模块对OSLoader代码进行度量,并同时对当前的计算子系统的内存进行度量,若OSLoader代码和/或当前的计算子系统的内存的度量结果为不可信,则防护子系统依据可信策略对计算子系统进行控制;
[0168] S2.5、若OSLoader代码和当前的计算子系统的内存的度量结果均为可信,则防护子系统控制计算子系统加载并执行OSLoader代码,且OSLoader代码中的内核验证度量代理拦截计算子系统中的操作系统内核代码加载,并将操作系统内核的相关信息发送给内核验证度量模块;
[0169] S2.6、内核验证度量模块对操作系统内核代码进行度量,并同时对当前的计算子系统的内存进行度量,若操作系统内核代码和/或当前的计算子系统的内存的度量结果为不可信,则防护子系统依据可信策略对计算子系统进行控制;
[0170] S2.7、若操作系统内核代码和当前的计算子系统的内存的度量结果均为可信,则防护子系统控制计算子系统加载并执行操作系统内核代码,且操作系统内核代码中的系统验证度量代理拦截计算子系统中的操作系统系统服务代码加载,并将操作系统系统服务的相关信息发送给系统验证度量模块;
[0171] S2.8、系统验证度量模块对操作系统系统服务代码进行度量,并同时对当前的计算子系统的内存进行度量,若操作系统系统服务代码和/或当前的计算子系统的内存的度量结果为不可信,则防护子系统依据可信策略对计算子系统进行控制;
[0172] S2.9、若操作系统系统服务代码和当前的计算子系统的内存的度量结果均为可信,则防护子系统控制计算子系统加载并执行操作系统系统服务代码,至此计算子系统启动完成;
[0173] S2.10、在计算子系统运行过程中,当需要加载应用程序时,应用代码度量模块获取应用程序的相关信息,并对应用程序进行度量,同时对当前的计算子系统的内存进行度量,若应用程序和/或当前的计算子系统的内存的度量结果为不可信,则防护子系统依据可信策略对计算子系统进行控制;
[0174] S2.11、若应用程序和当前的计算子系统的内存的度量结果均为可信,则防护子系统控制计算子系统加载并执行应用程序,至此计算子系统的信任链建立完成。
[0175] 需要说明的是,对计算子系统的内存进行度量可以根据可信策略做灵活调整,并不仅限于上述示例所描述的。
[0176] 本发明的一种基于双体系结构可信计算平台的静态度量方法可以转化成可执行的计算机程序,然后以二进制数据的形式保存在存储介质中。
[0177] 实施例四
[0178] 本发明还提供一种存储介质,存储介质中存储有计算机程序,其中,计算机程序运行时可以执行本发明的一种基于双体系结构可信计算平台的静态度量方法。该存储介质包括以下至少之一:软盘、光盘、DVD、硬盘、闪存、U盘、CF卡、SD卡、MMC卡、SM卡、记忆棒(MemoryStick)、xD卡等,将本发明的一种基于双体系结构可信计算平台的静态度量方法转化成数据(计算机程序)刻录到上述存储介质中,比如将刻有本发明静态度量方法的计算机程序的硬盘放入电脑运行,则可以实现本发明的静态度量方法。
[0179] 实施例五
[0180] 本发明还提供一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行本发明的一种基于双体系结构可信计算平台的静态度量方法。该存储器属于实施例四中的存储介质,能够存储本发明静态度量方法的计算机程序,该处理器可以对存储器中的数据进行处理,该电子装置可以是计算机、手机或者其他包括存储器和处理器的任何装置。在计算机启动后,启动处理器运行存储器中的本发明静态度量方法的计算机程序,则可以实现本发明的静态度量方法。
[0181] 本发明提供的一种基于双体系结构可信计算平台的静态度量方法及系统至少包括以下优点:
[0182] 1、并行双体系结构设计可以在计算子系统进行计算的同时主动进行安全防护,在不改变计算子系统的计算逻辑的前提下实现对计算子系统的主动安全防护。
[0183] 2、防护子系统具有对计算子系统的主动防护能力,其安全防护不是通过计算子系统的主机程序调用执行的,而是以TPCM为信任根,主动对计算子系统发起的主动度量和主动控制。在不修改计算子系统的代码的前提下防护子系统能够为计算子系统的启动、运行等整个生命周期提供安全防护。
[0184] 3、防护子系统可以不受限制的访问计算子系统中的内存以及I/O外设等,但计算子系统不可以访问防护子系统中的内存以及I/O外设等,以确保防护子系统自身的安全性能。
[0185] 4、防护子系统不对外提供服务,减少了攻击面,使得防护子系统更加难以被外界攻击,提高自身安全性能。
[0186] 5、防护子系统具有独立的计算、存储等资源,在对计算子系统进行安全防护时可以减少对计算子系统的资源占用,计算子系统的业务应用可以在不影响其性能的同时获得安全防护。
[0187] 6、由于基本层中的各个度量模块都位于防护子系统中,在TPCM启动时各个度量模块均加载完毕,无需在信任链建立过程逐个加载;且各个度量模块本身就是可信的,在信任链建立过程无需对各个度量模块进行可信度量,减少了信任链建立过程的耗时。
[0188] 7、在信任链建立过程中,对计算子系统当前内存进行度量,可以保证计算子系统内存中的数据不被非法篡改,保障了加载下一阶段程序的内存环境可信,提高了安全性。
[0189] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈