CN110321712A - 基于双体系结构的可信计算平台的静态度量方法及装置 - Google Patents
基于双体系结构的可信计算平台的静态度量方法及装置 Download PDFInfo
- Publication number
- CN110321712A CN110321712A CN201910611568.XA CN201910611568A CN110321712A CN 110321712 A CN110321712 A CN 110321712A CN 201910611568 A CN201910611568 A CN 201910611568A CN 110321712 A CN110321712 A CN 110321712A
- Authority
- CN
- China
- Prior art keywords
- credible
- code
- mirror image
- image data
- starting mirror
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/54—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种基于双体系结构的可信计算平台的静态度量方法及装置。该方法包括:在可信计算平台上电之后,可信平台控制模块先于计算机中央处理器启动,并利用可信监控模块获取启动镜像数据进行度量,其中,启动镜像数据为计算机中央处理器待执行的数据;若启动镜像数据的度量结果可信,则可信平台控制模块控制计算机中央处理器执行启动镜像数据。通过本申请,解决了相关技术中TPM作为被动挂接到计算机的外部设备,只有在主机软件调用下才能对计算机进行静态度量,造成静态度量结果可信度较低的问题。
Description
技术领域
本申请涉及计算机防护领域,具体而言,涉及一种基于双体系结构的可信计算平台的静态度量方法及装置。
背景技术
当前的网络空间极其脆弱,震网、Wannacry勒索病毒、Mirai等造成较大影响的网络攻击事件层出不穷,且日益猖獗。究其根源,在于并没有从网络安全风险的实质原因入手解决问题,一味采用以“防火墙”、“病毒查杀”、“入侵检测”等为代表的“封堵查杀”被动防御手段,防不胜防,特别在面对针对目标系统的漏洞发起的攻击时,根本无法有效防御。
为解决当前网络空间安全面临的问题,国际上TCG组织提出了可信计算的方法,保护计算机重要资源不被非法篡改和破坏,起到了较好的效果。但是,TPM本质上只是计算机上一个被动挂接的外部设备,只有被主机程序调用才会发挥作用,一旦主机被攻击者控制,TPM的作用就会无从发挥,导致TCG的可信计算架构在面对黑客利用计算机系统逻辑缺陷进行攻击时,基本难以抵御,例如Windows 10完全实现了TCG的可信计算架构,但是却未能阻止Wannacry勒索病毒的攻击。
针对TPM作为被动挂接到计算机的外部设备,需由主机软件调用才能实现对计算机的固件和可执行程序等资源进行静态度量,在资源访问、控制上都有局限性。
针对相关技术中存在的上述问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种基于双体系结构的可信计算平台的静态度量方法及装置,以解决相关技术中TPM作为被动挂接到计算机的外部设备,只有在主机软件调用下才能对计算机进行静态度量,造成静态度量结果可信度较低的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种基于双体系结构的可信计算平台的静态度量方法,可信计算平台包括具有连接关系的可信计算模块与计算机主板,可信计算模块由可信平台控制模块、计算机中央处理器和可信监控模块封装构成,该方法包括:在可信计算平台上电之后,可信平台控制模块先于计算机中央处理器启动,并利用可信监控模块获取启动镜像数据进行度量,其中,启动镜像数据为计算机中央处理器待执行的数据;若启动镜像数据的度量结果可信,则可信平台控制模块控制计算机中央处理器执行启动镜像数据。
进一步地,利用可信监控模块获取启动镜像数据进行度量包括:可信平台控制模块通过可信监控模块从计算机主板的存储区读取启动镜像数据;或者,计算机中央处理器在将启动镜像数据加载至计算机主板上的内存时,可信监控模块对启动镜像数据进行拦截,并将拦截到的启动镜像数据发送至可信平台控制模块。
进一步地,在利用可信监控模块获取启动镜像数据进行度量之前,该方法还包括:可信平台控制模块获取计算机主板上的内存数据,进行度量;若内存数据的度量结果可信,则可信平台控制模块利用可信监控模块获取启动镜像数据进行度量。
进一步地,可信平台控制模块获取计算机主板上的内存数据进行度量包括:可信监控模块通过PCIE总线读取计算机主板上的内存数据,并将内存数据发送给可信平台控制模块;或者,可信平台控制模块通过PCIE总线直接读取计算机主板上的内存数据。
进一步地,利用可信监控模块获取启动镜像数据进行度量包括:在计算机中央处理器加载启动镜像数据到内存中之前,可信平台控制模块利用可信监控模块获取启动镜像数据进行度量,若度量结果可信则控制计算机中央处理器加载启动镜像数据到内存中,并执行启动镜像数据;或者,计算机中央处理器加载启动镜像数据到内存,可信平台控制模块控制启动镜像数据暂停执行,并利用可信监控模块获取启动镜像数据进行度量,若度量结果可信则控制启动镜像数据执行。
进一步地,启动镜像数据至少包括:BIOS代码、OSLoader代码、OS内核代码、OS系统服务代码和应用程序代码,其中,利用可信监控模块获取启动镜像数据进行度量包括:可信平台控制模块利用可信监控模块获取BIOS代码进行度量,若BIOS代码的度量结果可信,则可信平台控制模块控制计算机中央处理器加载并执行BIOS代码;在BIOS代码执行过程中,BIOS代码中的度量代理模块拦截OSLoader代码执行,可信平台控制模块利用可信监控模块获取OSLoader代码进行度量,若OSLoader代码的度量结果可信,则可信平台控制模块控制BIOS代码加载并执行OSLoader代码;在OSLoader代码执行过程中,OSLoader代码中的度量代理模块拦截OS内核代码执行,可信平台控制模块利用可信监控模块获取OS内核代码进行度量,若OS内核代码的度量结果可信,则可信平台控制模块控制OSLoader代码加载并执行OS内核代码;在OS内核代码执行过程中,OS内核代码中的度量代理模块拦截OS系统服务代码执行,可信平台控制模块利用可信监控模块获取OS系统服务代码进行度量,若OS系统服务代码的度量结果可信,则可信平台控制模块控制OS内核代码加载并执行OS系统服务代码;在OS系统服务代码执行过程中,OS系统服务代码中的度量代理模块拦截应用程序代码执行,可信平台控制模块利用可信监控模块获取应用程序代码进行度量,若应用程序代码的度量结果可信,则控制OS系统服务代码加载并执行应用程序代码。
进一步地,在可信计算平台上电之后,在利用可信监控模块获取启动镜像数据进行度量之后,该方法还包括:若启动镜像数据的度量结果不可信,则可信平台控制模块依据可信策略控制计算机中央处理器执行目标操作,其中,目标操作包括以下至少之一:控制可信计算平台断电、控制可信计算平台重启、阻止启动镜像数据执行、报警。
为了实现上述目的,根据本申请的另一方面,提供了一种基于双体系结构的可信计算平台的静态度量装置,可信计算平台包括具有连接关系的可信计算模块与计算机主板,可信计算模块由可信平台控制模块、计算机中央处理器和可信监控模块封装构成,该装置包括:度量单元,用于在可信计算平台上电之后,利用可信平台控制模块先于计算机中央处理器启动,并利用可信监控模块获取启动镜像数据进行度量,其中,启动镜像数据为计算机中央处理器待执行的数据;执行单元,用于在启动镜像数据的度量结果可信的情况下,可信平台控制模块控制计算机中央处理器执行启动镜像数据。
为了实现上述目的,根据本申请的另一方面,提供了一种存储介质,存储介质包括存储的程序,其中,该程序执行上述任意一项的一种基于双体系结构的可信计算平台的静态度量方法。
为了实现上述目的,根据本申请的另一方面,提供了一种处理器,存储介质包括存储的程序,其中,该程序执行上述任意一项的一种基于双体系结构的可信计算平台的静态度量方法。
通过本申请,可信计算平台包括具有连接关系的可信计算模块与计算机主板,可信计算模块由可信平台控制模块、计算机中央处理器和可信监控模块封装构成,采用以下步骤:在可信计算平台上电之后,可信平台控制模块先于计算机中央处理器启动,并利用可信监控模块获取启动镜像数据进行度量,其中,启动镜像数据为计算机中央处理器待执行的数据;若启动镜像数据的度量结果可信,则可信平台控制模块控制计算机中央处理器执行启动镜像数据,解决了相关技术中TPM作为被动挂接到计算机的外部设备,只有在主机软件调用下才能对计算机进行静态度量,造成静态度量结果可信度较低的问题,进而通过可信平台控制模块先于计算机中央处理器启动,对启动镜像数据进行度量,达到了在主动度量的基础上,保证了静态度量结果可信的技术效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的一种基于双体系结构的可信计算平台的静态度量方法的流程图;
图2是根据本申请实施例提供的一种双体系结构的可信计算平台示意图;以及
图3是根据本申请实施例提供的一种基于双体系结构的可信计算平台的静态度量装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
TPCM:可信平台控制模块,一种集成在可信计算平台中,用于建立和保障信任源点的硬件核心模块,为可信计算提供完整性度量、安全存储、可信报告以及密码服务等功能。
TSB:可信软件基,为可信计算平台的可信性提供支持的软件元素的集合。
CPU:计算机中央处理器。
根据本申请的实施例,提供了一种基于双体系结构的可信计算平台的静态度量方法。
图1是根据本申请实施例提供的一种基于双体系结构的可信计算平台的静态度量方法的流程图。如图1所示,该方法包括以下步骤S101至步骤S102,该静态度量方法基于的双体系结构的可信计算平台的结构如图2所示,双体系结构的可信计算平台包括具有连接关系的可信计算模块与计算机主板,可信计算模块由可信平台控制模块、计算机中央处理器和可信监控模块封装构成,其中计算机主板未在图2中明确示出,但图2中示出了计算机主板上的内存、BIOS存储区、PCIE设备、南桥芯片等,需要说明的是,除了图2示出的结构计算机主板上还可以包括其他结构,此处不再一一举例说明。
下面详细介绍本申请中的基于双体系结构的可信计算平台的静态度量方法:
步骤S101,在可信计算平台上电之后,可信平台控制模块先于计算机中央处理器启动,并利用可信监控模块获取启动镜像数据进行度量,其中,启动镜像数据为计算机中央处理器待执行的数据。
具体地,本实施例提供了一种双体系结构的可信计算平台,其中,在该可信计算平台中包括并行运行的防护子系统和计算子系统,计算子系统包括CPU及其主板上的其他设备(例如内存、BIOS存储区、PCIE设备、I/O设备等),计算子系统主要完成计算任务。防护子系统包括可信平台控制模块TPCM,此处需要说明的是,TPCM包括:TPCM硬件平台TPCM操作系统及在其上运行的可信软件基TSB,其中,TSB可以在TPCM的支撑下实现对计算子系统的主动度量以及控制处理。
结合图2所示,本实施例提供的双体系结构的可信计算平台可以通过以下步骤S1至步骤S3构建得到:
步骤S1,将可信计算处理器、可信计算内存和可信计算存储器进行封装,得到可信平台控制模块。
具体地,构建一个双体系结构的可信计算平台,首先需要构建一个可信平台控制模块,用于建立和保障信任源点的硬件核心模块,为可信计算提供完整性度量、安全存储、可信报告以及密码服务等功能。
需要说明的是,本实施例中的可信平台控制模块TPCM可以包括:TPCM硬件平台、TPCM操作系统及其上运行的可信软件基TSB。TPCM硬件平台主要包括可信计算处理器、可信计算内存、可信计算存储区、可信密码模块TCM等;TPCM操作系统基于TPCM硬件平台运行,主要用于对TPCM自身资源的管理,例如进程、内存、文件系统、网络协议、I/O设备和接口等的管理;TSB可以运行在TPCM操作系统上,主要用于对计算子系统进行主动度量(包括静态度量和动态度量)和主动控制。
还需要说明的是,本实施例对构建可信计算平台TPCM所采用的封装方式不做具体限定,凡是能够实现将可信计算处理器、可信计算内存和可信计算存储器等进行封装的手段均属于本实施例的保护范围。
步骤S2,将可信平台控制模块与计算机中央处理器进行封装,得到可信计算模块。
上述地,在构建得到可信平台控制模块TPCM后,可以将可信平台控制模块TPCM与计算机中央处理器CPU进行封装,得到一个兼具计算功能与防护功能的可信计算模块。在该可信计算模块中,CPU主要用于进行计算任务,TPCM主要用于进行主动度量功能,以实现对计算子系统进行安全防护的目的。
需要说明的是,本实施例对构建可信计算模块所采用的封装方式也不做具体限定。
步骤S3,将可信计算模块与计算机主板连接,得到双体系结构的可信计算平台,其中,可信计算平台包括并行运行的计算子系统与防护子系统,防护子系统用于对计算子系统进行主动度量和主动控制,防护子系统包括可信平台控制模块,计算子系统包括计算机中央处理器和计算机主板。
具体地,将构建得到的可信计算模块与计算机主板连接,构成双体系结构的可信计算平台(可信计算平台的产品形态可以包括但并不限于:服务器、PC、嵌入式设备等),其中,该可信计算平台包括并行运行的防护子系统和计算子系统,计算子系统包括CPU及其主板上的其他设备(例如内存、BIOS存储区、PCIE设备、IO设备等),计算子系统主要完成计算任务,防护子系统包括TPCM(包括TPCM硬件平台、TPCM操作系统及在其上运行的可信软件基TSB),用于根据可信策略和可信基准值,对计算子系统进行主动度量和主动控制,并生成可信报告,其中,TSB可以在TPCM的支撑下实现对计算子系统的主动度量以及控制处理。
需要说明的是,可信计算平台中,计算子系统与防护子系统是两套独立且完整的系统,计算子系统与防护子系统并行运行,且防护子系统具有比计算子系统更高的控制权项,防护子系统可以访问计算子系统,但是计算子系统无法访问防护子系统,这样可以更加有利保证防护子系统的自身安全,进而利用安全的防护子系统对计算子系统进行主动的安全防护。
还需要说明的是,可信计算模块可以通过预定接口与计算机主板连接,预定接口可以包括但并不限于PCIE、SPI接口、或者通过可信计算模块与计算机主板进行协商所预留的专用接口等。
可选地,将可信平台控制模块与计算机中央处理器进行封装,得到可信计算模块可以包括:将可信平台控制模块、计算机中央处理器和可信监控模块进行封装,得到可信计算模块,其中,可信监控模块用于监控计算机中央处理器与计算机主板之间传输的数据,并将监控到的数据发送至可信平台控制模块。
上述地,如图2所示,在将TPCM与CPU进行封装,得到一个兼具计算与防护的可信计算模块时,该可信计算模块中还可以包括:可信监控模块,可信监控模块可以用于在CPU与计算机主板之间进行数据传输时,对所传输的数据进行监控,并将监控到的数据发送给TPCM,以及读取内存中的数据发送给TPCM。可选地,可信监控模块可以是TPCM的组成部分,可以与TPCM做成一体架构。
需要说明的是,在可信计算模块中,TPCM可以通过PCIE等方式与可信监控模块进行通信,TPCM可也以通过PCIE等方式与CPU进行通信。
可选地,将可信计算模块与计算机主板连接,得到双体系结构的可信计算平台还可以包括:将可信计算模块、计算机主板分别与可信监控模块连接,得到双体系结构的可信计算平台,其中,可信监控模块通过PCIE总线分别与可信计算模块、计算机主板连接,可信监控模块用于监控计算机中央处理器与计算机主板之间传输的数据,并将监控到的数据发送至可信平台控制模块。
上述地,在一个可选的实施例中,可信监控模块可以是独立于可信计算模块的一个单独模块,那么构成可信计算平台时,就需要将可信计算模块、计算机主板与可信监控模块进行连接,其中,可信计算模块、计算机主板和可信监控模块之间可以采用PCIE总线连接的方式进行连接。同时,可信监控模块仍然是用于传输计算机中央处理器与计算机主板之间的数据,对传输的数据进行监控,并将监控到的数据发送至可信平台控制模块。
通过上述步骤S1至步骤S3可以构建得到双体系结构的可信计算平台,可信计算平台上电后,通过计算机主板上的时序控制电路使得TPCM先于CPU启动,加载并执行TPCM操作系统和在TPCM操作系统内运行的TSB,TSB对计算机的启动镜像数据进行度量,其中,启动镜像数据为计算机启动过程中各阶段的相关数据,例如BIOS代码、OSLoader代码等。
步骤S102,若启动镜像数据的度量结果可信,则可信平台控制模块控制计算机中央处理器执行启动镜像数据。
具体地,在TPCM对计算机启动过程中的启动镜像数据进行度量后,获得度量结果,如果度量结果可信,才能允许CPU执行启动镜像数据。
可选地,TPCM利用可信监控模块获取启动镜像数据进行度量可以包括:可信平台控制模块通过可信监控模块从计算机主板的存储区读取启动镜像数据;或者,计算机中央处理器在将启动镜像数据加载至计算机主板上的内存时,可信监控模块对启动镜像数据进行拦截,并将拦截到的启动镜像数据发送至可信平台控制模块。
具体地,计算机主板上的存储区可以包括但并不限于:存储有BIOS代码的BIOS存储区、存储有OSLoader代码、OS内核代码、OS系统服务代码、应用程序代码的硬盘等。
可选地,TPCM可以通过可信监控模块直接从计算机主板上的存储区中读取启动镜像数据进行度量。例如,TPCM可以通过可信监控模块直接从BIOS存储区直接读取BIOS代码、直接从硬盘中读取OSLoader代码、OS内核代码、OS系统服务代码、应用程序代码等进行度量。
可选地,可信监控模块可以具备数据拦截功能,在CPU将启动镜像数据加载至内存时,可信监控模块进行拦截,并将拦截到的启动镜像数据发送给TPCM。例如,CPU在将BIOS存储区中的BIOS代码加载至内存时,可信监控模块拦截BIOS代码,并将拦截到的BIOS代码发送给TPCM进行度量;CPU在将硬盘中的OSLoader代码、OS内核代码、OS系统服务代码或应用程序代码加载至内存时,可信监控模块进行拦截,并将拦截到的OSLoader代码、OS内核代码、OS系统服务代码或应用程序代码发送给TPCM进行度量。
可选地,在利用可信监控模块获取启动镜像数据进行度量之前,该方法还包括:可信平台控制模块获取计算机主板上的内存数据,进行度量;若内存数据的度量结果可信,则可信平台控制模块利用可信监控模块获取启动镜像数据进行度量。
上述地,在对计算机启动过程中的各阶段进行度量前,首先需要对加载各阶段数据的内存进行度量,只有加载启动镜像数据的内存安全可信的情况下,才能保证在内存中加载的启动镜像数据是安全可信的。
可选地,可信平台控制模块获取计算机主板上的内存数据进行度量包括:可信监控模块通过PCIE总线读取计算机主板上的内存数据,并将内存数据发送给可信平台控制模块;或者,可信平台控制模块通过PCIE总线直接读取计算机主板上的内存数据。
上述地,TPCM获取计算机主板上的内存数据的方式包括以下:依据可信监控模块通过PCIE总线获取内存数据,并经由可信监控模块把获取的内存数据发送至TPCM。另一种是TPCM直接经由PCIE总线读取内存数据。
上述地,TPCM对内存数据进行度量时,TPCM可以通过可信监控模块从计算机主板的存储区读取需要度量的启动镜像数据,也可以由各启动阶段的度量代理模块主动将内存数据发送给TPCM进行度量,或者可以由度量代理模块将数据的地址发送给TPCM,由TPCM去内存中获取数据进行度量,其中,TPCM按照地址主动去内存中获取数据时,可以通过PCIE总线去内存获取数据,也可以通过可信监控模块去内存获取数据。需要说明的是,TSB可以采用代理度量模式,在该模式下TSB可以在计算子系统中植入度量代理程序,也即度量代理模块,利用度量代理模块实现获取计算子系统的相关信息,并对计算子系统进行控制处理。
可选地,利用可信监控模块获取启动镜像数据进行度量包括:在计算机中央处理器加载启动镜像数据到内存中之前,可信平台控制模块利用可信监控模块获取启动镜像数据进行度量,若度量结果可信则控制计算机中央处理器加载启动镜像数据到内存中,并执行启动镜像数据;或者,计算机中央处理器加载启动镜像数据到内存,可信平台控制模块控制启动镜像数据暂停执行,并利用可信监控模块获取启动镜像数据进行度量,若度量结果可信则控制启动镜像数据执行。
上述地,TPCM对启动镜像数据进行度量的过程包括以下两种:1)在CPU将启动镜像数据加载到内存之前,TPCM获取到启动镜像数据并度量,如果度量结果可信,则允许CPU将启动镜像数据加载至内存,并执行启动镜像数据。2)首先允许CPU将启动镜像数据加载至内存,但是暂停执行启动镜像数据,TPCM对启动镜像数据进行度量,在度量结果可信的情况下,才允许执行启动镜像数据。
可选地,启动镜像数据至少包括:BIOS代码、OSLoader代码、OS内核代码、OS系统服务代码和应用程序代码,其中,利用可信监控模块获取启动镜像数据进行度量包括:可信平台控制模块利用可信监控模块获取BIOS代码进行度量,若BIOS代码的度量结果可信,则可信平台控制模块控制计算机中央处理器加载并执行BIOS代码;在BIOS代码执行过程中,BIOS代码中的度量代理模块拦截OSLoader代码执行,可信平台控制模块利用可信监控模块获取OSLoader代码进行度量,若OSLoader代码的度量结果可信,则可信平台控制模块控制BIOS代码加载并执行OSLoader代码;在OSLoader代码执行过程中,OSLoader代码中的度量代理模块拦截OS内核代码执行,可信平台控制模块利用可信监控模块获取OS内核代码进行度量,若OS内核代码的度量结果可信,则可信平台控制模块控制OSLoader代码加载并执行OS内核代码;在OS内核代码执行过程中,OS内核代码中的度量代理模块拦截OS系统服务代码执行,可信平台控制模块利用可信监控模块获取OS系统服务代码进行度量,若OS系统服务代码的度量结果可信,则可信平台控制模块控制OS内核代码加载并执行OS系统服务代码;在OS系统服务代码执行过程中,OS系统服务代码中的度量代理模块拦截应用程序代码执行,可信平台控制模块利用可信监控模块获取应用程序代码进行度量,若应用程序代码的度量结果可信,则控制OS系统服务代码加载并执行应用程序代码。
具体地,启动镜像数据是计算机启动过程中各启动阶段的相关数据,其至少包括:BIOS代码、OSLoader代码、OS内核代码、OS系统服务代码和应用程序代码。
对计算机启动过程的度量过程具体包括以下步骤:
步骤11:TPCM读取BIOS存储区中的BIOS(通过TPCM-可信监控模块-南桥芯片-BIOS存储区这条链路,如图2所示)进行度量,若BIOS度量结果可信,则TPCM向CPU发送控制信号,控制CPU加载并执行BIOS存储区中的BIOS(通过内存-CPU-可信监控模块-南桥芯片-BIOS存储区这条链路)中。若不可信则依据策略进行控制处理,例如TPCM通过主板上的时序控制电电路控制可信计算平台强制重启、断电等。
步骤12:BIOS执行过程中,BIOS代码中的度量代理模块首先拦截BIOS加载OSLoader代码,然后读取硬盘中的OSLoader代码发送给TPCM,TPCM对OSLoader代码进行可信度量(可信度量包括完整性、签名验签、关键信息检查等)。若度量结果不可信则依据策略进行控制处理;若度量结果可信则BIOS代码中的度量代理模块解除拦截,BIOS对OSLoader代码进行加载并执行。
作为上述步骤二的一个可选实施例,BIOS执行过程中,BIOS代码中的度量代理模块首先加载OSLoader代码到内存,然后拦截OSLoader代码执行,并通知TPCM OSLoader代码在内存中的地址,TPCM通过PCIE或可信监控模块读取OSLoader代码进行可信度量(可信度量包括完整性、签名验签、关键信息检查等)。若度量结果不可信则依据策略进行控制处理;若度量结果可信则BIOS代码中的度量代理模块解除拦截,OSLoader代码执行。
步骤13:OSLoader代码执行过程中,OSLoader代码中的度量代理模块首先拦截OSLoader代码加载OS内核代码,然后通过TPCM度量内存数据(可以由度量代理将内存数据传给TPCM进行度量;也可以由度量代理将数据的地址传给TPCM,由TPCM去内存中获取数据进行度量)。若内存数据度量结果不可信则依据策略进行控制处理。若内存数据度量结果可信则OSLoader代码中的度量代理模块可以读取硬盘中的OS内核代码发送给TPCM,TPCM对OS内核代码进行可信度量(可信度量包括完整性、签名验签、关键信息检查等)。若度量结果不可信则依据策略进行控制处理;若度量结果可信则OSLoader代码中的度量代理模块解除拦截,OSLoader代码对OS内核代码进行加载并执行。
步骤14:OS内核代码执行过程中,OS内核代码中的度量代理模块首先拦截OS内核代码加载OS系统服务代码,然后读取硬盘中的OS系统服务代码发送给TPCM,TPCM对OS系统服务代码进行可信度量(可信度量包括完整性、签名验签、关键信息检查等)。若度量结果不可信则依据策略进行控制处理;若度量结果可信则OS内核代码中的度量代理模块解除拦截,OS内核代码对OS系统服务代码进行加载并执行。
步骤15:OS系统服务代码执行过程中,OS系统服务代码中的度量代理模块首先拦截OS系统服务代码加载应用程序代码,然后读取硬盘中的应用程序代码,TPCM对应用程序代码进行可信度量(可信度量包括完整性、签名验签、关键信息检查等)。若度量结果不可信则依据策略进行控制处理,例如阻止应用程序代码加载,报警等;若度量结果可信则OS系统服务代码中的度量代理模块解除拦截,OS系统服务代码对应用程序代码进行加载并执行。
需要说明的是,作为上述计算机启动度量过程中的一个可选的实施例,可信监控模块具备数据拦截功能,可以将拦截到的数据发送给TPCM进行度量,则静态度量方法可以包括以下过程:
步骤21:可信计算平台上电后,通过主板时序控制电路使得TPCM先于CPU启动,加载并执行TPCM操作系统和TSB。在CPU读取BIOS存储区中的BIOS加载到内存时,可信监控模块拦截BIOS,并将BIOS发送给TPCM进行度量,并生成度量结果和日志存储于TPCM中。若BIOS度量结果为可信,则执行步骤2,否则依据可信策略进行控制,例如:TPCM可以通过主板上的时序控制电电路控制可信计算平台强制重启、断电等。
步骤22,TPCM向可信监控模块发送控制信号,可信监控模块终止拦截动作,CPU加载BIOS到内存(此处假设TPCM度量BIOS时间小于CPU加载BIOS时间上限)。
步骤23,BIOS执行过程中,BIOS代码中的度量代理模块首先拦截BIOS加载OSLoader代码,然后读取硬盘中的OSLoader代码发送给TPCM,TPCM对OSLoader代码进行可信度量(可信度量包括完整性、签名验签、关键信息检查等)。若度量结果不可信则依据策略进行控制处理;若度量结果可信则BIOS代码中的度量代理模块解除拦截,BIOS对OSLoader代码进行加载并执行。
步骤24,OSLoader代码执行过程中,OSLoader代码中的度量代理模块首先拦截OSLoader代码加载OS内核代码,通过TPCM度量内存数据(可以由度量代理将内存数据传给TPCM进行度量;也可以由度量代理将数据的地址传给TPCM,由TPCM去内存中获取数据进行度量)。若内存数据度量结果不可信则依据策略进行控制处理。若内存数据度量结果可信则OSLoader代码中的度量代理模块读取硬盘中的OS内核代码发送给TPCM,TPCM对OS内核代码进行可信度量(可信度量包括完整性、签名验签、关键信息检查等)。若度量结果不可信则依据策略进行控制处理;若度量结果可信则OSLoader代码中的度量代理模块解除拦截,OSLoader代码对OS内核代码进行加载并执行。
步骤25,OS内核代码执行过程中,OS内核代码中的度量代理模块首先拦截OS内核代码加载OS系统服务代码,然后读取硬盘中的OS系统服务代码发送给TPCM,TPCM对OS系统服务代码进行可信度量(可信度量包括完整性、签名验签、关键信息检查等)。若度量结果不可信则依据策略进行控制处理;若度量结果可信则OS内核代码中的度量代理模块解除拦截,OS内核代码对OS系统服务代码进行加载并执行。
步骤26,OS系统服务代码执行过程中,OS系统服务代码中的度量代理模块首先拦截OS系统服务代码加载应用程序代码,然后读取硬盘中的应用程序代码,TPCM对应用程序代码进行可信度量(可信度量包括完整性、签名验签、关键信息检查等)。若度量结果不可信则依据策略进行控制处理,例如阻止应用程序代码加载,报警等;若度量结果可信则OS系统服务代码中的度量代理模块解除拦截,OS系统服务代码对应用程序代码进行加载并执行。
可选地,在可信计算平台上电之后,在利用可信监控模块获取启动镜像数据进行度量之后,该方法还包括:若启动镜像数据的度量结果不可信,则可信平台控制模块依据可信策略控制计算机中央处理器执行目标操作,其中,目标操作包括以下至少之一:控制可信计算平台断电、控制可信计算平台重启、阻止启动镜像数据执行、报警。
具体地,TPCM在对启动镜像数据度量之后,如果度量结果不可信,则TPCM根据策略控制CPU执行对计算机的控制,其中,在BIOS代码度量结果不可信的情况下,TPCM可以通过主板上的时序控制电电路控制可信计算平台强制重启、断电等。在OSLoader代码、OS内核代码、OS系统服务代码的度量结果不可信的情况下,TPCM依据策略阻止启动各个启动镜像数据加载执行,或者进行报警。
通过上述基于双体系可信计算平台,对计算子系统进行的静态度量,在不改变CPU的前提下,实现了CPU在计算的同时主动对其进行安全防护的目的。同时,计算与防护并行的双体系结构,使得防护功能不依赖于CPU的安全性能,防护子系统具有对计算子系统的主动防护能力,其安全防护不是通过计算子系统的主机程序调用执行的,而是以TPCM为信任根,主动对计算子系统发起的主动度量和主动控制,在信任链建立过程中,对计算子系统当前内存进行度量,可以保证计算子系统内存中的数据不被非法篡改,保障了加载下一阶段程序的内存环境可信,提高了安全性。
本申请实施例提供的一种基于双体系结构的可信计算平台的静态度量方法,可信计算平台包括具有连接关系的可信计算模块与计算机主板,可信计算模块由可信平台控制模块、计算机中央处理器和可信监控模块封装构成,通过在可信计算平台上电之后,可信平台控制模块先于计算机中央处理器启动,并利用可信监控模块获取启动镜像数据进行度量,其中,启动镜像数据为计算机中央处理器待执行的数据;若启动镜像数据的度量结果可信,则可信平台控制模块控制计算机中央处理器执行启动镜像数据,解决了相关技术中TPM作为被动挂接到计算机的外部设备,只有在主机软件调用下才能对计算机进行静态度量,造成静态度量结果可信度较低的问题,进而通过平台控制模块先于计算机中央处理器启动,对启动镜像数据进行度量,达到了在主动度量的基础上,保证了静态度量结果可信的技术效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种基于双体系结构的可信计算平台的静态度量装置,需要说明的是,本申请实施例的一种基于双体系结构的可信计算平台的静态度量装置可以用于执行本申请实施例所提供的用于一种基于双体系结构的可信计算平台的静态度量方法。以下对本申请实施例提供的一种基于双体系结构的可信计算平台的静态度量装置进行介绍。
图3是根据本申请实施例提供的一种基于双体系结构的可信计算平台的静态度量装置的示意图。可信计算平台包括具有连接关系的可信计算模块与计算机主板,可信计算模块由可信平台控制模块、计算机中央处理器和可信监控模块封装构成,如图3所示,该装置包括:度量单元301,用于在可信计算平台上电之后,利用可信平台控制模块先于计算机中央处理器启动,并利用可信监控模块获取启动镜像数据进行度量,其中,启动镜像数据为计算机中央处理器待执行的数据;执行单元302,用于在启动镜像数据的度量结果可信的情况下,可信平台控制模块控制计算机中央处理器执行启动镜像数据。
本申请实施例提供的一种基于双体系结构的可信计算平台的静态度量装置,可信计算平台包括具有连接关系的可信计算模块与计算机主板,可信计算模块由可信平台控制模块、计算机中央处理器和可信监控模块封装构成,通过度量单元301,用于在可信计算平台上电之后,利用可信平台控制模块先于计算机中央处理器启动,并利用可信监控模块获取启动镜像数据进行度量,其中,启动镜像数据为计算机中央处理器待执行的数据;执行单元302,用于在启动镜像数据的度量结果可信的情况下,可信平台控制模块控制计算机中央处理器执行启动镜像数据,解决了相关技术中TPM作为被动挂接到计算机的外部设备,只有在主机软件调用下才能对计算机进行静态度量,造成静态度量结果可信度较低的问题,进而通过可信平台控制模块先于计算机中央处理器启动,对启动镜像数据进行度量,达到了在主动度量的基础上,保证了静态度量结果可信的技术效果。
可选地,度量单元301还包括:第一读取子单元,用于利用可信平台控制模块通过可信监控模块从计算机主板的存储区读取启动镜像数据;或者,第一发送子单元,用于利用计算机中央处理器在将启动镜像数据加载至计算机主板上的内存时,可信监控模块对启动镜像数据进行拦截,并将拦截到的启动镜像数据发送至可信平台控制模块。
可选地,该装置还包括:第一获取单元,用于在利用可信监控模块获取启动镜像数据进行度量之前,利用可信平台控制模块获取计算机主板上的内存数据进行度量;第二获取单元,用于在内存数据的度量结果可信的情况下,利用可信平台控制模块利用可信监控模块获取启动镜像数据进行度量。
可选地,第一获取单元包括:第二发送子单元,用于利用可信监控模块通过PCIE总线读取计算机主板上的内存数据,并将内存数据发送给可信平台控制模块;或者,第二读取子单元,用于利用可信平台控制模块通过PCIE总线直接读取计算机主板上的内存数据。
可选地,度量单元301还包括:执行子单元,用于在计算机中央处理器加载启动镜像数据到内存中之前,通过可信平台控制模块利用可信监控模块获取启动镜像数据进行度量,若度量结果可信则控制计算机中央处理器加载启动镜像数据到内存中,并执行启动镜像数据;或者,控制子单元,用于通过计算机中央处理器加载启动镜像数据到内存,可信平台控制模块控制启动镜像数据暂停执行,并利用可信监控模块获取启动镜像数据进行度量,若度量结果可信则控制启动镜像数据执行。
可选地,启动镜像数据至少包括:BIOS代码、OSLoader代码、OS内核代码、OS系统服务代码和应用程序代码,其中,度量单元301还包括:第一加载子单元,用于通过可信平台控制模块利用可信监控模块获取BIOS代码进行度量,若BIOS代码的度量结果可信,则可信平台控制模块控制计算机中央处理器加载并执行BIOS代码;第二加载子单元,用于在BIOS代码执行过程中,BIOS代码中的度量代理模块拦截OSLoader代码执行,可信平台控制模块利用可信监控模块获取OSLoader代码进行度量,若OSLoader代码的度量结果可信,则可信平台控制模块控制BIOS代码加载并执行OSLoader代码;第三加载子单元,用于在OSLoader代码执行过程中,OSLoader代码中的度量代理模块拦截OS内核代码执行,可信平台控制模块利用可信监控模块获取OS内核代码进行度量,若OS内核代码的度量结果可信,则可信平台控制模块控制OSLoader代码加载并执行OS内核代码;第四加载子单元,用于在OS内核代码执行过程中,OS内核代码中的度量代理模块拦截OS系统服务代码执行,可信平台控制模块利用可信监控模块获取OS系统服务代码进行度量,若OS系统服务代码的度量结果可信,则可信平台控制模块控制OS内核代码加载并执行OS系统服务代码;第五加载子单元,用于在OS系统服务代码执行过程中,OS系统服务代码中的度量代理模块拦截应用程序代码执行,可信平台控制模块利用可信监控模块获取应用程序代码进行度量,若应用程序代码的度量结果可信,则控制OS系统服务代码加载并执行应用程序代码。
可选地,该装置还包括:控制单元,用于在可信计算平台上电之后,在利用可信监控模块获取启动镜像数据进行度量之后,若启动镜像数据的度量结果不可信,则可信平台控制模块依据可信策略控制计算机中央处理器执行目标操作,其中,目标操作包括以下至少之一:控制可信计算平台断电、控制可信计算平台重启、阻止启动镜像数据执行、报警。
一种基于双体系结构的可信计算平台的静态度量装置包括处理器和存储器,上述度量单元301、执行单元302等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决相关技术中TPM作为被动挂接到计算机的外部设备,只有在主机软件调用下才能对计算机进行静态度量,造成静态度量结果可信度较低的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现一种基于双体系结构的可信计算平台的静态度量方法。
本发明实施例提供了一种处理器,处理器用于运行程序,其中,程序运行时执行一种基于双体系结构的可信计算平台的静态度量方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:在可信计算平台上电之后,可信平台控制模块先于计算机中央处理器启动,并利用可信监控模块获取启动镜像数据进行度量,其中,启动镜像数据为计算机中央处理器待执行的数据;若启动镜像数据的度量结果可信,则可信平台控制模块控制计算机中央处理器执行启动镜像数据。
可选地,利用可信监控模块获取启动镜像数据进行度量包括:可信平台控制模块通过可信监控模块从计算机主板的存储区读取启动镜像数据;或者,计算机中央处理器在将启动镜像数据加载至计算机主板上的内存时,可信监控模块对启动镜像数据进行拦截,并将拦截到的启动镜像数据发送至可信平台控制模块。
可选地,在利用可信监控模块获取启动镜像数据进行度量之前,该方法还包括:可信平台控制模块获取计算机主板上的内存数据,进行度量;若内存数据的度量结果可信,则可信平台控制模块利用可信监控模块获取启动镜像数据进行度量。
可选地,可信平台控制模块获取计算机主板上的内存数据进行度量包括:可信监控模块通过PCIE总线读取计算机主板上的内存数据,并将内存数据发送给可信平台控制模块;或者,可信平台控制模块通过PCIE总线直接读取计算机主板上的内存数据。
可选地,利用可信监控模块获取启动镜像数据进行度量包括:在计算机中央处理器加载启动镜像数据到内存中之前,可信平台控制模块利用可信监控模块获取启动镜像数据进行度量,若度量结果可信则控制计算机中央处理器加载启动镜像数据到内存中,并执行启动镜像数据;或者,计算机中央处理器加载启动镜像数据到内存,可信平台控制模块控制启动镜像数据暂停执行,并利用可信监控模块获取启动镜像数据进行度量,若度量结果可信则控制启动镜像数据执行。
可选地,启动镜像数据至少包括:BIOS代码、OSLoader代码、OS内核代码、OS系统服务代码和应用程序代码,其中,利用可信监控模块获取启动镜像数据进行度量包括:可信平台控制模块利用可信监控模块获取BIOS代码进行度量,若BIOS代码的度量结果可信,则可信平台控制模块控制计算机中央处理器加载并执行BIOS代码;在BIOS代码执行过程中,BIOS代码中的度量代理模块拦截OSLoader代码执行,可信平台控制模块利用可信监控模块获取OSLoader代码进行度量,若OSLoader代码的度量结果可信,则可信平台控制模块控制BIOS代码加载并执行OSLoader代码;在OSLoader代码执行过程中,OSLoader代码中的度量代理模块拦截OS内核代码执行,可信平台控制模块利用可信监控模块获取OS内核代码进行度量,若OS内核代码的度量结果可信,则可信平台控制模块控制OSLoader代码加载并执行OS内核代码;在OS内核代码执行过程中,OS内核代码中的度量代理模块拦截OS系统服务代码执行,可信平台控制模块利用可信监控模块获取OS系统服务代码进行度量,若OS系统服务代码的度量结果可信,则可信平台控制模块控制OS内核代码加载并执行OS系统服务代码;在OS系统服务代码执行过程中,OS系统服务代码中的度量代理模块拦截应用程序代码执行,可信平台控制模块利用可信监控模块获取应用程序代码进行度量,若应用程序代码的度量结果可信,则控制OS系统服务代码加载并执行应用程序代码。
可选地,在可信计算平台上电之后,在利用可信监控模块获取启动镜像数据进行度量之后,该方法还包括:若启动镜像数据的度量结果不可信,则可信平台控制模块依据可信策略控制计算机中央处理器执行目标操作,其中,目标操作包括以下至少之一:控制可信计算平台断电、控制可信计算平台重启、阻止启动镜像数据执行、报警。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:在可信计算平台上电之后,可信平台控制模块先于计算机中央处理器启动,并利用可信监控模块获取启动镜像数据进行度量,其中,启动镜像数据为计算机中央处理器待执行的数据;若启动镜像数据的度量结果可信,则可信平台控制模块控制计算机中央处理器执行启动镜像数据。
可选地,利用可信监控模块获取启动镜像数据进行度量包括:可信平台控制模块通过可信监控模块从计算机主板的存储区读取启动镜像数据;或者,计算机中央处理器在将启动镜像数据加载至计算机主板上的内存时,可信监控模块对启动镜像数据进行拦截,并将拦截到的启动镜像数据发送至可信平台控制模块。
可选地,在利用可信监控模块获取启动镜像数据进行度量之前,该方法还包括:可信平台控制模块获取计算机主板上的内存数据,进行度量;若内存数据的度量结果可信,则可信平台控制模块利用可信监控模块获取启动镜像数据进行度量。
可选地,可信平台控制模块获取计算机主板上的内存数据进行度量包括:可信监控模块通过PCIE总线读取计算机主板上的内存数据,并将内存数据发送给可信平台控制模块;或者,可信平台控制模块通过PCIE总线直接读取计算机主板上的内存数据。
可选地,利用可信监控模块获取启动镜像数据进行度量包括:在计算机中央处理器加载启动镜像数据到内存中之前,可信平台控制模块利用可信监控模块获取启动镜像数据进行度量,若度量结果可信则控制计算机中央处理器加载启动镜像数据到内存中,并执行启动镜像数据;或者,计算机中央处理器加载启动镜像数据到内存,可信平台控制模块控制启动镜像数据暂停执行,并利用可信监控模块获取启动镜像数据进行度量,若度量结果可信则控制启动镜像数据执行。
可选地,启动镜像数据至少包括:BIOS代码、OSLoader代码、OS内核代码、OS系统服务代码和应用程序代码,其中,利用可信监控模块获取启动镜像数据进行度量包括:可信平台控制模块利用可信监控模块获取BIOS代码进行度量,若BIOS代码的度量结果可信,则可信平台控制模块控制计算机中央处理器加载并执行BIOS代码;在BIOS代码执行过程中,BIOS代码中的度量代理模块拦截OSLoader代码执行,可信平台控制模块利用可信监控模块获取OSLoader代码进行度量,若OSLoader代码的度量结果可信,则可信平台控制模块控制BIOS代码加载并执行OSLoader代码;在OSLoader代码执行过程中,OSLoader代码中的度量代理模块拦截OS内核代码执行,可信平台控制模块利用可信监控模块获取OS内核代码进行度量,若OS内核代码的度量结果可信,则可信平台控制模块控制OSLoader代码加载并执行OS内核代码;在OS内核代码执行过程中,OS内核代码中的度量代理模块拦截OS系统服务代码执行,可信平台控制模块利用可信监控模块获取OS系统服务代码进行度量,若OS系统服务代码的度量结果可信,则可信平台控制模块控制OS内核代码加载并执行OS系统服务代码;在OS系统服务代码执行过程中,OS系统服务代码中的度量代理模块拦截应用程序代码执行,可信平台控制模块利用可信监控模块获取应用程序代码进行度量,若应用程序代码的度量结果可信,则控制OS系统服务代码加载并执行应用程序代码。
可选地,在可信计算平台上电之后,在利用可信监控模块获取启动镜像数据进行度量之后,该方法还包括:若启动镜像数据的度量结果不可信,则可信平台控制模块依据可信策略控制计算机中央处理器执行目标操作,其中,目标操作包括以下至少之一:控制可信计算平台断电、控制可信计算平台重启、阻止启动镜像数据执行、报警。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种基于双体系结构的可信计算平台的静态度量方法,其特征在于,所述可信计算平台包括具有连接关系的可信计算模块与计算机主板,所述可信计算模块由可信平台控制模块、计算机中央处理器和可信监控模块封装构成,其中,所述方法包括:
在所述可信计算平台上电之后,所述可信平台控制模块先于所述计算机中央处理器启动,并利用所述可信监控模块获取启动镜像数据进行度量,其中,所述启动镜像数据为所述计算机中央处理器待执行的数据;
若所述启动镜像数据的度量结果可信,则所述可信平台控制模块控制所述计算机中央处理器执行所述启动镜像数据。
2.根据权利要求1所述的方法,其特征在于,利用所述可信监控模块获取启动镜像数据进行度量包括:
所述可信平台控制模块通过所述可信监控模块从所述计算机主板的存储区读取所述启动镜像数据;或者,
所述计算机中央处理器在将所述启动镜像数据加载至所述计算机主板上的内存时,所述可信监控模块对所述启动镜像数据进行拦截,并将拦截到的所述启动镜像数据发送至所述可信平台控制模块。
3.根据权利要求1所述的方法,其特征在于,在利用所述可信监控模块获取启动镜像数据进行度量之前,所述方法还包括:
所述可信平台控制模块获取所述计算机主板上的内存数据,进行度量;
若所述内存数据的度量结果可信,则所述可信平台控制模块利用所述可信监控模块获取所述启动镜像数据进行度量。
4.根据权利要求3所述的方法,其特征在于,所述可信平台控制模块获取所述计算机主板上的内存数据进行度量包括:
所述可信监控模块通过PCIE总线读取所述计算机主板上的内存数据,并将所述内存数据发送给所述可信平台控制模块;或者,
所述可信平台控制模块通过PCIE总线直接读取所述计算机主板上的内存数据。
5.根据权利要求1所述的方法,其特征在于,利用所述可信监控模块获取启动镜像数据进行度量包括:
在所述计算机中央处理器加载所述启动镜像数据到内存中之前,所述可信平台控制模块利用所述可信监控模块获取所述启动镜像数据进行度量,若度量结果可信则控制计算机中央处理器加载所述启动镜像数据到内存中,并执行所述启动镜像数据;或者,
所述计算机中央处理器加载所述启动镜像数据到内存,所述可信平台控制模块控制所述启动镜像数据暂停执行,并利用所述可信监控模块获取所述启动镜像数据进行度量,若度量结果可信则控制所述启动镜像数据执行。
6.根据权利要求1所述的方法,其特征在于,所述启动镜像数据至少包括:BIOS代码、OSLoader代码、OS内核代码、OS系统服务代码和应用程序代码,其中,利用所述可信监控模块获取启动镜像数据进行度量包括:
所述可信平台控制模块利用所述可信监控模块获取BIOS代码进行度量,若所述BIOS代码的度量结果可信,则所述可信平台控制模块控制所述计算机中央处理器加载并执行所述BIOS代码;
在所述BIOS代码执行过程中,所述BIOS代码中的度量代理模块拦截所述OSLoader代码执行,所述可信平台控制模块利用所述可信监控模块获取所述OSLoader代码进行度量,若所述OSLoader代码的度量结果可信,则所述可信平台控制模块控制所述BIOS代码加载并执行所述OSLoader代码;
在所述OSLoader代码执行过程中,所述OSLoader代码中的度量代理模块拦截所述OS内核代码执行,所述可信平台控制模块利用所述可信监控模块获取所述OS内核代码进行度量,若所述OS内核代码的度量结果可信,则所述可信平台控制模块控制所述OSLoader代码加载并执行所述OS内核代码;
在所述OS内核代码执行过程中,所述OS内核代码中的度量代理模块拦截所述OS系统服务代码执行,所述可信平台控制模块利用所述可信监控模块获取所述OS系统服务代码进行度量,若所述OS系统服务代码的度量结果可信,则所述可信平台控制模块控制所述OS内核代码加载并执行所述OS系统服务代码;
在所述OS系统服务代码执行过程中,所述OS系统服务代码中的度量代理模块拦截所述应用程序代码执行,所述可信平台控制模块利用所述可信监控模块获取所述应用程序代码进行度量,若所述应用程序代码的度量结果可信,则控制所述OS系统服务代码加载并执行所述应用程序代码。
7.根据权利要求1至6任一项所述的方法,其特征在于,在所述可信计算平台上电之后,在利用所述可信监控模块获取启动镜像数据进行度量之后,所述方法还包括:
若所述启动镜像数据的度量结果不可信,则所述可信平台控制模块依据可信策略控制所述计算机中央处理器执行目标操作,其中,所述目标操作包括以下至少之一:控制所述可信计算平台断电、控制所述可信计算平台重启、阻止所述启动镜像数据执行、报警。
8.一种基于双体系结构的可信计算平台的静态度量装置,其特征在于,所述可信计算平台包括具有连接关系的可信计算模块与计算机主板,所述可信计算模块由可信平台控制模块、计算机中央处理器和可信监控模块封装构成,其中,所述装置包括:
度量单元,用于在所述可信计算平台上电之后,利用所述可信平台控制模块先于所述计算机中央处理器启动,并利用所述可信监控模块获取启动镜像数据进行度量,其中,所述启动镜像数据为所述计算机中央处理器待执行的数据;
执行单元,用于在所述启动镜像数据的度量结果可信的情况下,所述可信平台控制模块控制所述计算机中央处理器执行所述启动镜像数据。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至7中任意一项所述的一种基于双体系结构的可信计算平台的静态度量方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的一种基于双体系结构的可信计算平台的静态度量方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910611568.XA CN110321712A (zh) | 2019-07-08 | 2019-07-08 | 基于双体系结构的可信计算平台的静态度量方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910611568.XA CN110321712A (zh) | 2019-07-08 | 2019-07-08 | 基于双体系结构的可信计算平台的静态度量方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110321712A true CN110321712A (zh) | 2019-10-11 |
Family
ID=68123128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910611568.XA Pending CN110321712A (zh) | 2019-07-08 | 2019-07-08 | 基于双体系结构的可信计算平台的静态度量方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110321712A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111045744A (zh) * | 2019-12-17 | 2020-04-21 | 全球能源互联网研究院有限公司 | 一种系统的可信验证启动方法及装置 |
CN111898132A (zh) * | 2020-07-16 | 2020-11-06 | 山东超越数控电子股份有限公司 | 一种加快可信计算机主动度量速度的方法 |
CN112287350A (zh) * | 2020-08-11 | 2021-01-29 | 北京本形物语科技有限公司 | 一种面向区块链主节点的主动免疫可信计算平台的静态度量方法 |
CN114443147A (zh) * | 2020-11-06 | 2022-05-06 | 北京航空航天大学 | 基于可信硬件技术的超级监控式无人飞行器可信检测方法 |
CN116226872A (zh) * | 2023-05-08 | 2023-06-06 | 海光信息技术股份有限公司 | 安全启动方法、装置及相关器件 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871694A (zh) * | 2019-03-14 | 2019-06-11 | 沈昌祥 | 一种基于双体系结构可信计算平台的静态度量方法 |
CN109871695A (zh) * | 2019-03-14 | 2019-06-11 | 沈昌祥 | 一种计算与防护并行双体系结构的可信计算平台 |
-
2019
- 2019-07-08 CN CN201910611568.XA patent/CN110321712A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871694A (zh) * | 2019-03-14 | 2019-06-11 | 沈昌祥 | 一种基于双体系结构可信计算平台的静态度量方法 |
CN109871695A (zh) * | 2019-03-14 | 2019-06-11 | 沈昌祥 | 一种计算与防护并行双体系结构的可信计算平台 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111045744A (zh) * | 2019-12-17 | 2020-04-21 | 全球能源互联网研究院有限公司 | 一种系统的可信验证启动方法及装置 |
CN111045744B (zh) * | 2019-12-17 | 2024-03-08 | 全球能源互联网研究院有限公司 | 一种系统的可信验证启动方法及装置 |
CN111898132A (zh) * | 2020-07-16 | 2020-11-06 | 山东超越数控电子股份有限公司 | 一种加快可信计算机主动度量速度的方法 |
CN112287350A (zh) * | 2020-08-11 | 2021-01-29 | 北京本形物语科技有限公司 | 一种面向区块链主节点的主动免疫可信计算平台的静态度量方法 |
CN114443147A (zh) * | 2020-11-06 | 2022-05-06 | 北京航空航天大学 | 基于可信硬件技术的超级监控式无人飞行器可信检测方法 |
CN114443147B (zh) * | 2020-11-06 | 2023-02-03 | 北京航空航天大学 | 基于可信硬件技术的超级监控式无人飞行器可信检测方法 |
CN116226872A (zh) * | 2023-05-08 | 2023-06-06 | 海光信息技术股份有限公司 | 安全启动方法、装置及相关器件 |
CN116226872B (zh) * | 2023-05-08 | 2023-08-08 | 海光信息技术股份有限公司 | 安全启动方法、装置及相关器件 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109871694B (zh) | 一种基于双体系结构可信计算平台的静态度量方法 | |
CN110334521B (zh) | 可信计算系统构建方法、装置、可信计算系统及处理器 | |
CN109918915B (zh) | 一种基于双体系结构可信计算平台的动态度量方法 | |
US10169574B2 (en) | Using trusted execution environments for security of code and data | |
CN109871695B (zh) | 一种计算与防护并行双体系结构的可信计算平台 | |
CN110321715A (zh) | 可信度量方法、装置及处理器 | |
CN110321712A (zh) | 基于双体系结构的可信计算平台的静态度量方法及装置 | |
US9210576B1 (en) | Extended trusted security zone radio modem | |
CN110321714A (zh) | 基于双体系结构的可信计算平台的动态度量方法及装置 | |
CN109948344A (zh) | 一种基于双体系结构可信计算平台的系统交互方法 | |
JP6053786B2 (ja) | Arm(登録商標)トラストゾーン実施のためのファームウェア基盤トラステッドプラットフォームモジュール(tpm) | |
CN110321235B (zh) | 基于双体系架构的可信计算平台的系统交互方法和装置 | |
CN106462708A (zh) | 认证变量的管理 | |
CN110321713B (zh) | 基于双体系架构的可信计算平台的动态度量方法和装置 | |
CN111158906A (zh) | 一种主动免疫可信云系统 | |
CN110334519A (zh) | 基于双体系结构的可信计算平台的静态度量方法 | |
CN110348223B (zh) | 基于双体系结构可信计算平台的静态度量方法 | |
CN110309659A (zh) | 一种基于双体系结构的可信计算平台的动态度量方法 | |
CN110334520A (zh) | 双体系结构的可信计算平台的构建方法及装置 | |
CN110334515B (zh) | 一种基于可信计算平台生成度量报告的方法及装置 | |
CN110348222A (zh) | 一种双体系结构的可信计算平台的构建方法 | |
Coppola et al. | Automation for industry 4.0 by using secure lorawan edge gateways | |
Mühlberg et al. | Lightweight and flexible trust assessment modules for the Internet of Things | |
Morbitzer | Scanclave: verifying application runtime integrity in untrusted environments | |
Lombardi et al. | Virtualization and cloud security: Benefits, caveats, and future developments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191011 |
|
RJ01 | Rejection of invention patent application after publication |