CN110321715A - 可信度量方法、装置及处理器 - Google Patents
可信度量方法、装置及处理器 Download PDFInfo
- Publication number
- CN110321715A CN110321715A CN201910612209.6A CN201910612209A CN110321715A CN 110321715 A CN110321715 A CN 110321715A CN 201910612209 A CN201910612209 A CN 201910612209A CN 110321715 A CN110321715 A CN 110321715A
- Authority
- CN
- China
- Prior art keywords
- code
- credible
- firmware
- computer motherboard
- objective chip
- 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/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 Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种可信度量方法、装置及处理器。该方法包括:在为可信计算***供电后,控制目标芯片在计算机主板上的中央处理器启动前启动;目标芯片启动后,加载并执行可信平台控制模块固件、可信软件基以及可信密码模块固件,并利用预置接口读取计算机主板上的BIOS固件进行度量;在BIOS固件的度量结果可信的情况下,控制计算机主板上的中央处理器启动,并加载执行BIOS固件。通过本申请,解决了相关技术中以TPM方式所实现的可信计算方法难以提升计算机***的防御能力的问题。
Description
技术领域
本申请涉及可信计算领域,具体而言,涉及一种可信度量方法、装置及处理器。
背景技术
当前的网络空间极其脆弱,震网、Wannacry勒索病毒、Mirai等造成较大影响的网络攻击事件层出不穷,且日益猖獗。究其根源,在于并没有从网络安全风险的实质原因入手解决问题,一味采用以“防火墙”、“病毒查杀”、“入侵检测”等为代表的“封堵查杀”被动防御手段,防不胜防,特别在面对针对目标***的漏洞发起的攻击时,根本无法有效防御。
为解决当前网络空间安全面临的问题,国际上TCG组织提出了可信计算的方法,提出了以TPM和BIOS起始代码为信任根,一级度量一级,进而构建起计算机的信任链,保护计算机重要资源不被非法篡改和破坏,起到了较好的效果。TPM是作为计算机的外部设备,以被动挂接的方式,通过主机软件调用来发挥作用,仅能对计算机的固件和可执行程序等资源进行静态度量。以TPM方式所实现的可信计算平台实质是单***架构,只有被主机程序调用才会发挥作用,其安全能力完全依赖于主机***的安全性,并不能实质上提升计算机***的主动防御能力,一旦主机被攻击者控制,TPM的作用就会无从发挥,导致TCG的可信计算架构在面对黑客利用计算机***逻辑缺陷进行攻击时,基本难以抵御。例如Windows 10完全实现了TCG的可信计算架构,但是却未能阻止Wannacry勒索病毒的攻击。
此外,以TPM方式所实现的可信计算平台实质是单***架构,TPM在对计算机的资源访问、控制上都有局限性。TPM仅能对计算机的固件和可执行程序等资源进行静态度量,无法对应用执行及其所依赖的执行环境进行动态度量。
针对相关技术中以TPM方式所实现的可信计算方法难以提升计算机***的防御能力的问题,目前尚未提出有效的解决方案。
发明内容
本申请提供一种可信度量方法、装置及处理器,以解决相关技术中以TPM方式所实现的可信计算方法难以提升计算机***的防御能力的问题。
根据本申请的一个方面,提供了一种可信度量方法。该方法包括:在为可信计算***供电后,控制目标芯片在计算机主板上的中央处理器启动前启动,其中,可信计算***包括并行运行的计算子***和防护子***,计算子***至少包括计算机主板,防护子***至少包括可信计算模块,可信计算模块通过PCIE接口和预置接口与计算机主板相连接,可信计算模块至少包括:目标芯片和目标存储区,目标存储区与目标芯片连接,目标存储区用于存储可信平台控制模块固件、可信软件基以及可信密码模块固件;目标芯片启动后,加载并执行可信平台控制模块固件、可信软件基以及可信密码模块固件,并利用预置接口读取计算机主板上的BIOS固件进行度量;在BIOS固件的度量结果可信的情况下,控制计算机主板上的中央处理器启动,并加载执行BIOS固件。
进一步地,控制目标芯片在计算机主板上的中央处理器启动前启动包括:目标芯片通过预置接口向计算机主板上的时序控制电路发送控制信号;时序控制电路基于控制信号控制计算机主板的上电时序,以使目标芯片在中央处理器启动前启动。
进一步地,该方法还包括:在执行BIOS固件的过程中,BIOS固件中的度量代理模块拦截BIOS固件对OSLoader代码的加载操作;目标芯片从目标存储区中获取OSLoader代码,并对OSLoader代码进行度量;在OSLoader代码的度量结果可信的情况下,解除拦截操作,BIOS固件加载并执行OSLoader代码。
进一步地,该方法还包括:在执行OSLoader代码的过程中,OSLoader代码中的度量代理模块拦截OSLoader代码对OS内核代码的加载操作;目标芯片从目标存储区中获取OS内核代码,并对OS内核代码进行度量;在OS内核代码的度量结果可信的情况下,解除拦截操作,OSLoader代码加载并执行OS内核代码。
进一步地,该方法还包括:在执行OS内核代码的过程中,OS内核代码中的度量代理模块拦截OS内核代码对OS***服务代码的加载操作;目标芯片从目标存储区中获取OS***服务代码,并对OS***服务代码进行度量;在OS***服务代码的度量结果可信的情况下,解除拦截操作,OS内核代码加载并执行OS***服务代码。
进一步地,该方法还包括:在执行OS***服务代码的过程中,OS***服务代码中的度量代理模块拦截OS***服务代码对应用程序代码的加载操作;目标芯片从目标存储区中获取应用程序代码,并对应用程序代码进行度量;在应用程序代码的度量结果可信的情况下,解除拦截操作,OS***服务代码加载并执行应用程序代码。
进一步地,在执行OSLoader的过程中,在OSLoader代码中的度量代理模块拦截OSLoader代码对OS内核代码的加载操作之后,该方法还包括:目标芯片通过PCIE接口获取计算机主板中的内存数据,并对内存数据进行度量;在内存数据的度量结果可信的情况下,执行目标芯片从目标存储区中获取OS内核代码,并对OS内核代码进行度量。
进一步地,目标芯片通过PCIE接口获取计算机主板中的内存数据包括:目标芯片通过PCIE接口直接读取计算机主板中的内存数据;或者,目标芯片通过PCIE接口接收OSLoader代码中的度量代理模块获取到的计算机主板中的内存数据;或者,目标芯片通过PCIE接口接收OSLoader代码中的度量代理模块获取到的内存数据的地址,并基于内存数据的地址通过PCIE接口获取内存数据。
根据本申请的另一方面,提供了一种可信度量装置。该装置包括:控制单元,用于在为可信计算***供电后,控制目标芯片在计算机主板上的中央处理器启动前启动,其中,可信计算***包括并行运行的计算子***和防护子***,计算子***至少包括计算机主板,防护子***至少包括可信计算模块,可信计算模块通过PCIE接口和预置接口与计算机主板相连接,可信计算模块至少包括:目标芯片和目标存储区,目标存储区与目标芯片连接,目标存储区用于存储可信平台控制模块固件、可信软件基以及可信密码模块固件;第一执行单元,用于在目标芯片启动后,加载并执行可信平台控制模块固件、可信软件基以及可信密码模块固件,并利用预置接口读取计算机主板上的BIOS固件进行度量;第二执行单元,用于在BIOS固件的度量结果可信的情况下,控制计算机主板上的中央处理器启动,并加载执行BIOS固件。
为了实现上述目的,根据本申请的另一方面,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一种可信度量方法。
通过本申请,采用以下步骤:在为可信计算***供电后,控制目标芯片在计算机主板上的中央处理器启动前启动,其中,可信计算***包括并行运行的计算子***和防护子***,计算子***至少包括计算机主板,防护子***至少包括可信计算模块,可信计算模块通过PCIE接口和预置接口与计算机主板相连接,可信计算模块至少包括:目标芯片和目标存储区,目标存储区与目标芯片连接,目标存储区用于存储可信平台控制模块固件、可信软件基以及可信密码模块固件;目标芯片启动后,加载并执行可信平台控制模块固件、可信软件基以及可信密码模块固件,并利用预置接口读取计算机主板上的BIOS固件进行度量;在BIOS固件的度量结果可信的情况下,控制计算机主板上的中央处理器启动,并加载执行BIOS固件,解决了相关技术中以TPM方式所实现的可信计算方法难以提升计算机***的防御能力的问题。通过控制目标芯片在计算机主板上的中央处理器启动前启动,并在中央处理器启动后加载执行BIOS固件,进而达到了提高可信计算***对计算机***进行防御的能力的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的可信度量方法的流程图;
图2是根据本申请实施例提供的可信计算***的示意图;以及
图3是根据本申请实施例提供的可信度量装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
TCM:可信密码模块,可信计算平台的硬件模块,为可信计算平台提供密码运算功能,具有受保护的存储空间。
TPCM:可信平台控制模块,一种集成在可信计算平台中,用于建立和保障信任源点的硬件核心模块,为可信计算提供完整性度量、安全存储、可信报告以及密码服务等功能。
TSB:可信软件基,为可信计算平台的可信性提供支持的软件元素的集合。
根据本申请的实施例,提供了一种可信度量方法。
图1是根据本申请实施例的可信度量方法的流程图。如图1所示,该方法包括以下步骤:
步骤S101,在为可信计算***供电后,控制目标芯片在计算机主板上的中央处理器启动前启动,其中,可信计算***包括并行运行的计算子***和防护子***,计算子***至少包括计算机主板,防护子***至少包括可信计算模块,可信计算模块通过PCIE接口和预置接口与计算机主板相连接,可信计算模块至少包括:目标芯片和目标存储区,目标存储区与目标芯片连接,目标存储区用于存储可信平台控制模块固件、可信软件基以及可信密码模块固件。
具体地,在可信计算机主板上电之后,控制可信计算模块先于主板的CPU启动,实现以可信计算模块为信任根,对主机进行主动度量和主动控制。
需要说明的是,可信计算***如图2所示,目标芯片为嵌入式芯片,建立嵌入式芯片和持久化存储区的连接,构成可信计算模块,通过嵌入式芯片与持久化存储区之间的数据传输,实现嵌入式芯片能够运行可信平台控制模块固件、可信软件基以及可信密码模块固。可信计算模块通过PCIE接口以及预置接口和计算机主板连接,构建得到双体系结构的可信计算***,主板上的CPU、内存、CPLD、BIOS Flash、外设等配合以实现执行计算任务。
其中,PCIE接口为用户数据访问接口,通过PCIE接口实现防护子***与主板上的CPU之间可以进行数据传输和命令交互,预置接口用于通过第一总线控制计算子***上的时序控制电路,和/或通过第二总线读取BIOS固件,和/或通过第三总线控制计算子***上的外置设备,通过预置接口,防护子***可以通过GPIO总线控制主板上的时序控制电路CPLD,控制防护子***中的嵌入式芯片先于主板上的CPU启动,以实现嵌入式芯片对计算***进行静态度量,建立静态信任链。通过预置接口,防护子***还可以通过SPI总线访问BIOS Flash读取BIOS固件,以实现在计算***启动过程中对BIOS进行度量。通过预置接口,防护子***还可以根据度量结果通过SMBUS总线,利用BMC对主板上的外设进行控制。本申请实施例对预置接口的形式不做具体限定,例如预置接口可以为SPI方式,基于主板插针、接插件、插槽、金手指等方式实现,具体接口数量根据实际情况可以设计实现。
其中,嵌入式芯片包括至少包括芯片中央处理器、存储器以及接口,嵌入式芯片中的芯片中央处理器负责运行业务逻辑控制的执行,主要包括TPCM业务和存储业务的逻辑控制,存储器包括多个,分别存储可信计算中产生的不同的数据,例如,OTP寄存器负责存储硬件配置信息和芯片唯一的根密钥以及用于验签的部分公钥数据;卡内支持DDR(双倍速率同步动态存储器)扩大了***的RAM(随机存储器)容量;片上内存,主要用于缓存中转数据和内部固件使用;DMA(直接内存存取)通过专用总线将存储器与具有DMA能力的外置设备连接起来;ROM(只读存储器)主要包括量产时候的首次验签功能和量产过后的***安全引导功能。需要说明的是,本申请与密码密钥相关的操作可以放在嵌入式芯片内的存储区进行,将受TPCM密钥管理机制加密保护的密钥,由SDRAM(同步动态随机存取内存)解密到片内OCM(片上存储器)区域使用,相比在片外SRAM(静态随机存取存储器)中明文使用密钥,明文密钥在片内OCM区域使用将会更加安全。OCM与加解密引擎之间通过SDMA(数据加解密专用DMA)进行数据传输,同理,在TPCM密钥生成阶段,由密码算法引擎生成的明文密钥通过SDMA送入OCM中,再经过存储密钥加密之后送到芯片外的SDRAM中,最终保存于持久化存储区上。接口至少包括第一接口、第二接口和第三接口,第一接口可以为DDR接口,通过该DDR接口可以实现嵌入式芯片访问SDRAM。第二接口可以为设置Flash接口,通过该Flash接口可以实现嵌入式芯片访问持久化存储区,例如Flash,第三接口可以为SPI接口以及I2C接口,SPI接口用于传输度量信息、核心数据等,I2C负责为TPCM提供低速数据访问接口,主要用于自定义命令交互。此外,目标芯片包括还包括TIMER定时器,用于对片内时钟脉冲计数;GPIO(通用输入、输出口),负责向外部发出控制信号与状态信号。
其中,可信平台控制模块固件至少包括:指令处理模块、初始化模块、输入输出驱动模块、可信功能模块和度量模块,指令处理模块负责对外部实体发送的指令进行解析和执行,初始化模块负责模块初始化、模块自检、可信计算***状态初始化等,输入输出驱动模块主要是模块内输入输出的驱动函数库,主动度量模块负责对内存的主动度量,可信功能模块主要提供基本的可信支撑。
此外,除了持久化存储区,可信计算模块还包括与目标芯片连接的动态随机存储内存,以对可信计算中产生的数据进行存储。
需要说明的是,可信计算模块具有独立的计算、存储等资源,在对计算机主板进行安全防护时可以减少对计算机主板的资源占用,计算机主板在业务应用的性能不受影响的同时获得安全防护,且可信计算模块不对外提供服务,使可信计算模块难以被外界攻击,提高自身安全性能。
此外,本申请实施例对可信计算模块的存在形式不做具体限定,例如,可信计算模块可以为兼具可信计算和磁盘控制的硬盘,本申请实施例对双体系结构的可信计算机主板的存在形式也不做具体限定,例如,其可以是服务器、PC等。
步骤S102,目标芯片启动后,加载并执行可信平台控制模块固件、可信软件基以及可信密码模块固件,并利用预置接口读取计算机主板上的BIOS固件进行度量。
具体地,具有TPCM功能的嵌入式芯片利用预置接口、通过SPI总线访问BIOSFlash,对BIOS固件进行度量,并将度量结果存储在嵌入式芯片中的存储区,或者将度量结果发送给可信计算模块中的持久化存储区、SDRAM中进行存储。
步骤S103,在BIOS固件的度量结果可信的情况下,控制计算机主板上的中央处理器启动,并加载执行BIOS固件。
需要说明的是,若BIOS度量结果可信,具有TPCM功能的嵌入式芯片利用预置接口、通过GPIO总线控制CPLD,使得主板上的CPU启动,CPU通过南桥芯片加载并执行BIOS,则具有TPCM功能的嵌入式芯片会通过Flash接口依次读取持久化存储区中的OSLoader代码、OS内核代码、OS***服务代码、应用程序代码进行可信度量,直至建立静态信任链,同时,在静态信任链建立过程中,具有TPCM功能的嵌入式芯片还可以通过PCIE总线读取内存数据进行可信度量。
若BIOS度量结果不可信,则具有TPCM功能的嵌入式芯片可以依据可信策略进行控制处理,例如通过主板上的时序控制电电路控制可信计算平台强制重启、断电等。
本申请实施例提供的可信度量方法,通过在为可信计算***供电后,控制目标芯片在计算机主板上的中央处理器启动前启动,其中,可信计算***包括并行运行的计算子***和防护子***,计算子***至少包括计算机主板,防护子***至少包括可信计算模块,可信计算模块通过PCIE接口和预置接口与计算机主板相连接,可信计算模块至少包括:目标芯片和目标存储区,目标存储区与目标芯片连接,目标存储区用于存储可信平台控制模块固件、可信软件基以及可信密码模块固件;目标芯片启动后,加载并执行可信平台控制模块固件、可信软件基以及可信密码模块固件,并利用预置接口读取计算机主板上的BIOS固件进行度量;在BIOS固件的度量结果可信的情况下,控制计算机主板上的中央处理器启动,并加载执行BIOS固件,解决了相关技术中以TPM方式所实现的可信计算方法难以提升计算机***的防御能力的问题。通过控制目标芯片在计算机主板上的中央处理器启动前启动,并在中央处理器启动后加载执行BIOS固件,进而达到了提高可信计算***对计算机***进行防御的能力的效果。
可以通过时序控制电路控制芯片的启动顺序,可选地,在本申请实施例提供的可信度量方法中,控制目标芯片在计算机主板上的中央处理器启动前启动包括:目标芯片通过预置接口向计算机主板上的时序控制电路发送控制信号;时序控制电路基于控制信号控制计算机主板的上电时序,以使目标芯片在中央处理器启动前启动。
具体地,具有TPCM功能的嵌入式芯片利用预置接口,通过GPIO总线向主板上的时序控制电路CPLD发送控制信号,CPLD控制上电时序,使得具有TPCM功能的嵌入式芯片先于主板上的CPU启动,然后具有TPCM功能的嵌入式芯片加载并执行TPCM操作***和TSB程序。
加载执行BIOS固件时,需要对OSLoader代码进行度量,可选地,在本申请实施例提供的可信度量方法中,该方法还包括:在执行BIOS固件的过程中,BIOS固件中的度量代理模块拦截BIOS固件对OSLoader代码的加载操作;目标芯片从目标存储区中获取OSLoader代码,并对OSLoader代码进行度量;在OSLoader代码的度量结果可信的情况下,解除拦截操作,BIOS固件加载并执行OSLoader代码。
具体地,BIOS固件执行过程中,BIOS代码中的度量代理模块首先拦截BIOS加载OSLoader代码,然后通过PCIE接口向具有TPCM功能的嵌入式芯片发送通知消息,通知OSLoader的地址信息,之后具有TPCM功能的嵌入式芯片通过Flash接口、按照地址信息从持久化存储区中读取OSLoader代码进行度量。或者,BIOS代码中的度量代理模块直接读取持久化存储区中的OSLoader代码发送给具有TPCM功能的嵌入式芯片,具有TPCM功能的嵌入式芯片对OSLoader代码进行可信度量,具体地,包括完整性、签名验签、关键信息检查等。若OSLoader代码度量结果不可信则依据策略进行控制处理;若OSLoader代码度量结果可信则具有TPCM功能的嵌入式芯片向BIOS代码中的度量代理模块发送控制指令,BIOS代码中的度量代理模块解除拦截,BIOS固件对OSLoader代码进行加载并执行。
执行OSLoader代码的过程中,需要对OS内核代码进行度量,可选地,在本申请实施例提供的可信度量方法中,该方法还包括:在执行OSLoader代码的过程中,OSLoader代码中的度量代理模块拦截OSLoader代码对OS内核代码的加载操作;目标芯片从目标存储区中获取OS内核代码,并对OS内核代码进行度量;在OS内核代码的度量结果可信的情况下,解除拦截操作,OSLoader代码加载并执行OS内核代码。
具体地,OSLoader代码执行过程中,OSLoader代码中的度量代理模块首先拦截OSLoader代码加载OS内核代码,然后通过PCIE接口向具有TPCM功能的嵌入式芯片发送通知消息,通知OS内核代码的地址信息,具有TPCM功能的嵌入式芯片通过Flash接口、按照地址信息从持久化存储区中读取OS内核代码进行度量。若OS内核代码度量结果不可信则依据策略进行控制处理;若OS内核代码度量结果可信则具有TPCM功能的嵌入式芯片向OSLoader代码中的度量代理模块发送控制指令,OSLoader代码中的度量代理模块解除拦截,OSLoader代码对OS内核代码进行加载并执行。
执行OS内核代码的过程中,需要对OS***服务代码进行度量,可选地,在本申请实施例提供的可信度量方法中,该方法还包括:在执行OS内核代码的过程中,OS内核代码中的度量代理模块拦截OS内核代码对OS***服务代码的加载操作;目标芯片从目标存储区中获取OS***服务代码,并对OS***服务代码进行度量;在OS***服务代码的度量结果可信的情况下,解除拦截操作,OS内核代码加载并执行OS***服务代码。
具体地,OS内核代码执行过程中,OS内核代码中的度量代理模块首先拦截OS内核代码加载OS***服务代码,然后通过PCIE接口向具有TPCM功能的嵌入式芯片发送通知消息,通知OS***服务代码的地址信息,之后具有TPCM功能的嵌入式芯片通过Flash接口、按照地址信息从持久化存储区中读取OS***服务代码进行可信度量。若OS***服务代码度量结果不可信则依据策略进行控制处理;若OS***服务代码度量结果可信则具有TPCM功能的嵌入式芯片向OS内核代码中的度量代理模块发送控制指令,OS内核代码中的度量代理模块解除拦截,OS内核代码对OS***服务代码进行加载并执行。
执行OS***服务代码的过程中,需要对应用程序代码进行度量,可选地,在本申请实施例提供的可信度量方法中,该方法还包括:在执行OS***服务代码的过程中,OS***服务代码中的度量代理模块拦截OS***服务代码对应用程序代码的加载操作;目标芯片从目标存储区中获取应用程序代码,并对应用程序代码进行度量;在应用程序代码的度量结果可信的情况下,解除拦截操作,OS***服务代码加载并执行应用程序代码。
具体地,OS***服务代码执行过程中,OS***服务代码中的度量代理模块首先拦截OS***服务代码加载应用程序代码,然后通过PCIE接口向具有TPCM功能的嵌入式芯片发送通知消息,通知应用程序代码的地址信息,之后具有TPCM功能的嵌入式芯片通过Flash接口、按照地址信息从持久化存储区中读取应用程序代码进行可信度量。若应用程序度量结果不可信则依据策略进行控制处理,例如阻止应用程序代码加载,报警等;若应用程序度量结果可信则具有TPCM功能的嵌入式芯片向OS***服务代码中的度量代理模块发送控制指令,OS***服务代码中的度量代理模块解除拦截,OS***服务代码对应用程序代码进行加载并执行。
还可以对内存数据进行度量,可选地,在本申请实施例提供的可信度量方法中,在执行OSLoader的过程中,在OSLoader代码中的度量代理模块拦截OSLoader代码对OS内核代码的加载操作之后,该方法还包括:目标芯片通过PCIE接口获取计算机主板中的内存数据,并对内存数据进行度量;在内存数据的度量结果可信的情况下,执行目标芯片从目标存储区中获取OS内核代码,并对OS内核代码进行度量。
具体地,OSLoader代码执行过程中,OSLoader代码中的度量代理模块首先拦截OSLoader代码加载OS内核代码,然后通过PCIE接口向具有TPCM功能的嵌入式芯片发送通知消息,通知OS内核代码的地址信息,之后,具有TPCM功能的嵌入式芯片首先通过PCIE接口直接访问内存,读取内存数据进行度量。或者,也可以由OSLoader代码中的度量代理模块将内存数据传给具有TPCM功能的嵌入式芯片进行度量)。若内存数据度量结果不可信则依据策略进行控制处理。若内存数据度量结果可信,则具有TPCM功能的嵌入式芯片通过Flash接口、按照地址信息从持久化存储区中读取OS内核代码进行度量。若OS内核代码度量结果不可信则依据策略进行控制处理;若OS内核代码度量结果可信则具有TPCM功能的嵌入式芯片向OSLoader代码中的度量代理模块发送控制指令,OSLoader代码中的度量代理模块解除拦截,OSLoader代码对OS内核代码进行加载并执行。
需要说明的是,本申请实施例中,可以根据可信策略选择在启动流程中的任一阶段获取内存数据并对内存数据进行度量,并不仅限于上述示例中所述的在OSLoader代码执行过程中、在OS内核代码加载之前对内存数据进行度量。
可选地,在本申请实施例提供的可信度量方法中,目标芯片通过PCIE接口获取计算机主板中的内存数据包括:目标芯片通过PCIE接口直接读取计算机主板中的内存数据;或者,目标芯片通过PCIE接口接收OSLoader代码中的度量代理模块获取到的计算机主板中的内存数据;或者,目标芯片通过PCIE接口接收OSLoader代码中的度量代理模块获取到的内存数据的地址,并基于内存数据的地址通过PCIE接口获取内存数据。
具体地,具有TPCM功能的嵌入式芯片对内存数据进行度量时,可以由度量代理模块主动将内存数据发送给具有TPCM功能的嵌入式芯片进行度量,也可以由度量代理模块将数据的地址发送给具有TPCM功能的嵌入式芯片,由具有TPCM功能的嵌入式芯片去内存中获取数据进行度量,其中,具有TPCM功能的嵌入式芯片按照地址主动去内存中获取数据时,可以通过PCIE总线去内存获取数据。
此外,需要说明的是,在满足动态度量的触发条件时,具有TPCM功能的嵌入式芯片可以根据可信策略对内存、CPU、外设、TSB中一个或者多个对象进行动态度量,综合判断得到控制处理方法,其中,动态度量的触发条件包括但并不限于:行为触发、时间触发等,度量结果和度量日志可以存储于可信计算模块中的持久化存储区或SDRAM中。
例如,具有TPCM功能的嵌入式芯片对内存进行动态度量,可以保证计算***内存中的数据不被非法篡改,保障了加载下一阶段程序的内存环境可信,提高了安全性,对内存进行动态度量可以包括定时度量和实时度量,其中,定时度量为在达到预定时间点和/或预定度量周期时,具有TPCM功能的嵌入式芯片根据可信策略对内存进行的主动度量。实时度量为在行为触发和/或事件触发时,具有TPCM功能的嵌入式芯片根据可信策略对内存进行的主动度量。
具体地,在定时度量中,按照预定度量周期,具有TPCM功能的嵌入式芯片按照以下方式获取内存数据的方式可以包括但并不限于:TSB代理程序通过PCIE总线将数据直接发送给具有TPCM功能的嵌入式芯片,TSB代理程序通过PCIE总线将数据地址发送给具有TPCM功能的嵌入式芯片,具有TPCM功能的嵌入式芯片通过PCIE总线直接访问内存,从内存中获取数据。度量过程可以包括:步骤1,在达到预定时间点和/或预定度量周期时,具有TPCM功能的嵌入式芯片从内存中获取当前主机内存数据,例如执行环境信息,执行环境信息包括进程环境和***环境,例如操作***内核代码、内核数据、进程代码、进程数据等;步骤2,按照匹配到的可信策略对该执行环境信息进行度量,并将度量结果和度量日志存储于TPCM中;步骤3,根据度量结果以及可信策略中的判定方法进行判定,确定控制处理方法,例如是否进行报告或修复,并生成报告;步骤4,根据控制处理方法,对主机进行相应控制。
在实时度量中,由于TPCM具有两种度量模式,分别为直接度量模式和代理度量模式。在代理度量模式下,TSB代理程序可以植入到主机操作***内核中,该代理程序可以获取到内存中的相关信息(例如行为信息),同时,该代理程序还可以接收TPCM的控制指令,协助对主机进行控制,例如杀死主机进程、关机、进行数据处理、设备控制等。在代理度量模式下,以***调用行为触发为例,具有TPCM功能的嵌入式芯片对内存的动态度量过程可以包括:步骤1,TSB代理程序检测到***调用行为时,从上下文信息中获取与***调用行为相关的四元组信息,即主体、客体、操作以及执行环境,具体包括进程环境和***环境。TSB代理程序可以直接将获取到的四元组信息通过PCIE总线发送给具有TPCM功能的嵌入式芯片进行度量,或者,TSB代理程序也可以将四元组信息的地址通过PCIE总线发送给具有TPCM功能的嵌入式芯片,由具有TPCM功能的嵌入式芯片通过PCIE总线从内存中获取四元组信息进行度量;步骤2,根据匹配到的可信策略对***调用行为进行度量,并将度量结果和度量日志存储于TPCM中;步骤3,根据度量结果以及可信策略中的判定方法进行判定,确定控制处理方法,例如是否进行报告或修复,并生成报告;步骤4,根据控制处理方法,对主机进行相应控制。其中,控制处理方式可以包括但并不限于:是否允许计算***当前***调用行为执行、直接恢复计算***被破坏数据、报告度量错误、杀死计算***的主机进程、协同其它安全机制进行控制等。
需要说明的是,当TSB代理程序检测到***调用行为时,可以先进行拦截,在具有TPCM功能的嵌入式芯片对***调用行为进行度量之后,根据度量结果确定是否允许该***调用行为执行。根据度量结果,具有TPCM功能的嵌入式芯片可以通过PCIE总线向TSB代理程序发送控制指令,TSB代理程序可以根据控制指令对***调用行为进行控制,若内存的度量结果不可信时,具有TPCM功能的嵌入式芯片可以通过PCIE总线向TSB代理程序发送控制指令,TSB代理程序根据控制指令协助进行控制。或者,当TSB代理程序检测到***调用行为时,可以先允许其执行,同时具有TPCM功能的嵌入式芯片对***调用行为进行度量,并根据度量结果确定对该***调用行为的后续行为的控制处理方式,例如当确定该***调用行为不可信时,当该***调用行为再次发生时阻止其执行。
再例如,具有TPCM功能的嵌入式芯片对CPU的动态度量,具体地,在满足动态度量的触发条件时,具有TPCM功能的嵌入式芯片可以通过PCIE(或预置接口)直接读取CPU运行状态数据,实现对CPU的主动度量。若CPU的度量结果不可信时,具有TPCM功能的嵌入式芯片可以直接向主板发送控制指令,例如控制主板上的时序控制电路控制CPU强制重启或者断电等,或由预置接口进行实现,通过SPI进行控制实现重启或者断电。
再例如,具有TPCM功能的嵌入式芯片对外设的动态度量,具体地,在满足动态度量的触发条件时,具有TPCM功能的嵌入式芯片可以通过***管理总线SMBUS获取外设的运行状态数据,并按照可信策略对外设进行主动度量,若外设的度量结果不可信时,具有TPCM功能的嵌入式芯片可以通过SMBUS向BMC(基板管理控制器)发送控制指令,以实现对外设的控制。
再例如,具有TPCM功能的嵌入式芯片对TSB的动态度量,具体地,可信软件基TSB运行后,可以将自身运行空间中的核心数据的内存物理地址通过TPCM接口下发给TPCM,自身运行空间核心数据包括策略库、基准库、各功能机制的执行代码段、动态库等。TPCM通过动态度量功能以PCIE-DMA的方式周期性度量可信软件基内存空间中关键数据的完整性,以保障可信软件基的运行安全,TPCM通过自身的存储空间和加密机制为可信软件基的运行数据提供安全存放空间。可信软件基可以将自身的策略、配置信息、基准库等其他关键数据存放于TPCM中,加强对可信软件基的存储安全保障。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种可信度量装置,需要说明的是,本申请实施例的可信度量装置可以用于执行本申请实施例所提供的用于可信度量方法。以下对本申请实施例提供的可信度量装置进行介绍。
图3是根据本申请实施例的可信度量装置的示意图。如图3所示,该装置包括:控制单元10、第一执行单元20和第二执行单元30。
具体地,控制单元10,用于在为可信计算***供电后,控制目标芯片在计算机主板上的中央处理器启动前启动,其中,可信计算***包括并行运行的计算子***和防护子***,计算子***至少包括计算机主板,防护子***至少包括可信计算模块,可信计算模块通过PCIE接口和预置接口与计算机主板相连接,可信计算模块至少包括:目标芯片和目标存储区,目标存储区与目标芯片连接,目标存储区用于存储可信平台控制模块固件、可信软件基以及可信密码模块固件;
第一执行单元20,用于在目标芯片启动后,加载并执行可信平台控制模块固件、可信软件基以及可信密码模块固件,并利用预置接口读取计算机主板上的BIOS固件进行度量;
第二执行单元30,用于在BIOS固件的度量结果可信的情况下,控制计算机主板上的中央处理器启动,并加载执行BIOS固件。
本申请实施例提供的可信度量装置,通过控制单元10在为可信计算***供电后,控制目标芯片在计算机主板上的中央处理器启动前启动,其中,可信计算***包括并行运行的计算子***和防护子***,计算子***至少包括计算机主板,防护子***至少包括可信计算模块,可信计算模块通过PCIE接口和预置接口与计算机主板相连接,可信计算模块至少包括:目标芯片和目标存储区,目标存储区与目标芯片连接,目标存储区用于存储可信平台控制模块固件、可信软件基以及可信密码模块固件;第一执行单元20在目标芯片启动后,加载并执行可信平台控制模块固件、可信软件基以及可信密码模块固件,并利用预置接口读取计算机主板上的BIOS固件进行度量;第二执行单元30在BIOS固件的度量结果可信的情况下,控制计算机主板上的中央处理器启动,并加载执行BIOS固件,解决了相关技术中以TPM方式所实现的可信计算方法难以提升计算机***的防御能力的问题,通过控制目标芯片在计算机主板上的中央处理器启动前启动,并在中央处理器启动后加载执行BIOS固件,进而达到了提高可信计算***对计算机***进行防御的能力的效果。
可选地,在本申请实施例提供的可信度量装置中,控制单元10包括:发送模块,用于采用目标芯片通过预置接口向计算机主板上的时序控制电路发送控制信号;控制模块,用于通过时序控制电路基于控制信号控制计算机主板的上电时序,以使目标芯片在中央处理器启动前启动。
可选地,在本申请实施例提供的可信度量装置中,该装置还包括:第一拦截单元,用于在执行BIOS固件的过程中,通过BIOS固件中的度量代理模块拦截BIOS固件对OSLoader代码的加载操作;第一度量单元,用于通过目标芯片从目标存储区中获取OSLoader代码,并对OSLoader代码进行度量;第一解除单元,用于在OSLoader代码的度量结果可信的情况下,解除拦截操作,BIOS固件加载并执行OSLoader代码。
可选地,在本申请实施例提供的可信度量装置中,该装置还包括:第二拦截单元,用于在执行OSLoader代码的过程中,通过OSLoader代码中的度量代理模块拦截OSLoader代码对OS内核代码的加载操作;第二度量单元,用于通过目标芯片从目标存储区中获取OS内核代码,并对OS内核代码进行度量;第二解除单元,用于在OS内核代码的度量结果可信的情况下,解除拦截操作,OSLoader代码加载并执行OS内核代码。
可选地,在本申请实施例提供的可信度量装置中,该装置还包括:第三拦截单元,用于在执行OS内核代码的过程中,通过OS内核代码中的度量代理模块拦截OS内核代码对OS***服务代码的加载操作;第三度量单元,用于通过目标芯片从目标存储区中获取OS***服务代码,并对OS***服务代码进行度量;第三解除单元,用于在OS***服务代码的度量结果可信的情况下,解除拦截操作,OS内核代码加载并执行OS***服务代码。
可选地,在本申请实施例提供的可信度量装置中,该装置还包括:第四拦截单元,用于在执行OS***服务代码的过程中,通过OS***服务代码中的度量代理模块拦截OS***服务代码对应用程序代码的加载操作;第四度量单元,用于通过目标芯片从目标存储区中获取应用程序代码,并对应用程序代码进行度量;第四解除单元,用于在应用程序代码的度量结果可信的情况下,解除拦截操作,OS***服务代码加载并执行应用程序代码。
可选地,在本申请实施例提供的可信度量装置中,该装置还包括:获取单元,用于在执行OSLoader的过程中,在OSLoader代码中的度量代理模块拦截OSLoader代码对OS内核代码的加载操作之后,采用目标芯片通过PCIE接口获取计算机主板中的内存数据,并对内存数据进行度量;第三执行单元,用于在内存数据的度量结果可信的情况下,执行目标芯片从目标存储区中获取OS内核代码,并对OS内核代码进行度量。
可选地,在本申请实施例提供的可信度量装置中,获取单元包括:第一获取模块,用于采用目标芯片通过PCIE接口直接读取计算机主板中的内存数据;或者,第二获取模块,用于采用目标芯片通过PCIE接口接收OSLoader代码中的度量代理模块获取到的计算机主板中的内存数据;或者,第三获取模块,用于采用目标芯片通过PCIE接口接收OSLoader代码中的度量代理模块获取到的内存数据的地址,并基于内存数据的地址通过PCIE接口获取内存数据。
所述可信度量装置包括处理器和存储器,上述控制单元10、第一执行单元20和第二执行单元30等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决以TPM方式所实现的可信计算方法难以提升计算机***的防御能力的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述可信度量方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述可信度量方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:在为可信计算***供电后,控制目标芯片在计算机主板上的中央处理器启动前启动,其中,可信计算***包括并行运行的计算子***和防护子***,计算子***至少包括计算机主板,防护子***至少包括可信计算模块,可信计算模块通过PCIE接口和预置接口与计算机主板相连接,可信计算模块至少包括:目标芯片和目标存储区,目标存储区与目标芯片连接,目标存储区用于存储可信平台控制模块固件、可信软件基以及可信密码模块固件;目标芯片启动后,加载并执行可信平台控制模块固件、可信软件基以及可信密码模块固件,并利用预置接口读取计算机主板上的BIOS固件进行度量;在BIOS固件的度量结果可信的情况下,控制计算机主板上的中央处理器启动,并加载执行BIOS固件。
控制目标芯片在计算机主板上的中央处理器启动前启动包括:目标芯片通过预置接口向计算机主板上的时序控制电路发送控制信号;时序控制电路基于控制信号控制计算机主板的上电时序,以使目标芯片在中央处理器启动前启动。
该方法还包括:在执行BIOS固件的过程中,BIOS固件中的度量代理模块拦截BIOS固件对OSLoader代码的加载操作;目标芯片从目标存储区中获取OSLoader代码,并对OSLoader代码进行度量;在OSLoader代码的度量结果可信的情况下,解除拦截操作,BIOS固件加载并执行OSLoader代码。
该方法还包括:在执行OSLoader代码的过程中,OSLoader代码中的度量代理模块拦截OSLoader代码对OS内核代码的加载操作;目标芯片从目标存储区中获取OS内核代码,并对OS内核代码进行度量;在OS内核代码的度量结果可信的情况下,解除拦截操作,OSLoader代码加载并执行OS内核代码。
该方法还包括:在执行OS内核代码的过程中,OS内核代码中的度量代理模块拦截OS内核代码对OS***服务代码的加载操作;目标芯片从目标存储区中获取OS***服务代码,并对OS***服务代码进行度量;在OS***服务代码的度量结果可信的情况下,解除拦截操作,OS内核代码加载并执行OS***服务代码。
该方法还包括:在执行OS***服务代码的过程中,OS***服务代码中的度量代理模块拦截OS***服务代码对应用程序代码的加载操作;目标芯片从目标存储区中获取应用程序代码,并对应用程序代码进行度量;在应用程序代码的度量结果可信的情况下,解除拦截操作,OS***服务代码加载并执行应用程序代码。
在执行OSLoader的过程中,在OSLoader代码中的度量代理模块拦截OSLoader代码对OS内核代码的加载操作之后,该方法还包括:目标芯片通过PCIE接口获取计算机主板中的内存数据,并对内存数据进行度量;在内存数据的度量结果可信的情况下,执行目标芯片从目标存储区中获取OS内核代码,并对OS内核代码进行度量。
目标芯片通过PCIE接口获取计算机主板中的内存数据包括:目标芯片通过PCIE接口直接读取计算机主板中的内存数据;或者,目标芯片通过PCIE接口接收OSLoader代码中的度量代理模块获取到的计算机主板中的内存数据;或者,目标芯片通过PCIE接口接收OSLoader代码中的度量代理模块获取到的内存数据的地址,并基于内存数据的地址通过PCIE接口获取内存数据。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:在为可信计算***供电后,控制目标芯片在计算机主板上的中央处理器启动前启动,其中,可信计算***包括并行运行的计算子***和防护子***,计算子***至少包括计算机主板,防护子***至少包括可信计算模块,可信计算模块通过PCIE接口和预置接口与计算机主板相连接,可信计算模块至少包括:目标芯片和目标存储区,目标存储区与目标芯片连接,目标存储区用于存储可信平台控制模块固件、可信软件基以及可信密码模块固件;目标芯片启动后,加载并执行可信平台控制模块固件、可信软件基以及可信密码模块固件,并利用预置接口读取计算机主板上的BIOS固件进行度量;在BIOS固件的度量结果可信的情况下,控制计算机主板上的中央处理器启动,并加载执行BIOS固件。
控制目标芯片在计算机主板上的中央处理器启动前启动包括:目标芯片通过预置接口向计算机主板上的时序控制电路发送控制信号;时序控制电路基于控制信号控制计算机主板的上电时序,以使目标芯片在中央处理器启动前启动。
该方法还包括:在执行BIOS固件的过程中,BIOS固件中的度量代理模块拦截BIOS固件对OSLoader代码的加载操作;目标芯片从目标存储区中获取OSLoader代码,并对OSLoader代码进行度量;在OSLoader代码的度量结果可信的情况下,解除拦截操作,BIOS固件加载并执行OSLoader代码。
该方法还包括:在执行OSLoader代码的过程中,OSLoader代码中的度量代理模块拦截OSLoader代码对OS内核代码的加载操作;目标芯片从目标存储区中获取OS内核代码,并对OS内核代码进行度量;在OS内核代码的度量结果可信的情况下,解除拦截操作,OSLoader代码加载并执行OS内核代码。
该方法还包括:在执行OS内核代码的过程中,OS内核代码中的度量代理模块拦截OS内核代码对OS***服务代码的加载操作;目标芯片从目标存储区中获取OS***服务代码,并对OS***服务代码进行度量;在OS***服务代码的度量结果可信的情况下,解除拦截操作,OS内核代码加载并执行OS***服务代码。
该方法还包括:在执行OS***服务代码的过程中,OS***服务代码中的度量代理模块拦截OS***服务代码对应用程序代码的加载操作;目标芯片从目标存储区中获取应用程序代码,并对应用程序代码进行度量;在应用程序代码的度量结果可信的情况下,解除拦截操作,OS***服务代码加载并执行应用程序代码。
在执行OSLoader的过程中,在OSLoader代码中的度量代理模块拦截OSLoader代码对OS内核代码的加载操作之后,该方法还包括:目标芯片通过PCIE接口获取计算机主板中的内存数据,并对内存数据进行度量;在内存数据的度量结果可信的情况下,执行目标芯片从目标存储区中获取OS内核代码,并对OS内核代码进行度量。
目标芯片通过PCIE接口获取计算机主板中的内存数据包括:目标芯片通过PCIE接口直接读取计算机主板中的内存数据;或者,目标芯片通过PCIE接口接收OSLoader代码中的度量代理模块获取到的计算机主板中的内存数据;或者,目标芯片通过PCIE接口接收OSLoader代码中的度量代理模块获取到的内存数据的地址,并基于内存数据的地址通过PCIE接口获取内存数据。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种可信度量方法,其特征在于,包括:
在为可信计算***供电后,控制目标芯片在计算机主板上的中央处理器启动前启动,其中,所述可信计算***包括并行运行的计算子***和防护子***,所述计算子***至少包括所述计算机主板,所述防护子***至少包括可信计算模块,所述可信计算模块通过PCIE接口和预置接口与所述计算机主板相连接,所述可信计算模块至少包括:所述目标芯片和目标存储区,所述目标存储区与所述目标芯片连接,所述目标存储区用于存储可信平台控制模块固件、可信软件基以及可信密码模块固件;
所述目标芯片启动后,加载并执行所述可信平台控制模块固件、所述可信软件基以及可信密码模块固件,并利用所述预置接口读取所述计算机主板上的BIOS固件进行度量;
在所述BIOS固件的度量结果可信的情况下,控制所述计算机主板上的中央处理器启动,并加载执行所述BIOS固件。
2.根据权利要求1所述的方法,其特征在于,控制目标芯片在所述计算机主板上的中央处理器启动前启动包括:
所述目标芯片通过所述预置接口向所述计算机主板上的时序控制电路发送控制信号;
所述时序控制电路基于所述控制信号控制所述计算机主板的上电时序,以使所述目标芯片在所述中央处理器启动前启动。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在执行所述BIOS固件的过程中,所述BIOS固件中的度量代理模块拦截所述BIOS固件对OSLoader代码的加载操作;
所述目标芯片从所述目标存储区中获取所述OSLoader代码,并对所述OSLoader代码进行度量;
在所述OSLoader代码的度量结果可信的情况下,解除拦截操作,所述BIOS固件加载并执行所述OSLoader代码。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在执行所述OSLoader代码的过程中,所述OSLoader代码中的度量代理模块拦截所述OSLoader代码对OS内核代码的加载操作;
所述目标芯片从所述目标存储区中获取所述OS内核代码,并对所述OS内核代码进行度量;
在所述OS内核代码的度量结果可信的情况下,解除拦截操作,所述OSLoader代码加载并执行所述OS内核代码。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在执行所述OS内核代码的过程中,所述OS内核代码中的度量代理模块拦截所述OS内核代码对OS***服务代码的加载操作;
所述目标芯片从所述目标存储区中获取所述OS***服务代码,并对所述OS***服务代码进行度量;
在所述OS***服务代码的度量结果可信的情况下,解除拦截操作,所述OS内核代码加载并执行所述OS***服务代码。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在执行所述OS***服务代码的过程中,所述OS***服务代码中的度量代理模块拦截所述OS***服务代码对应用程序代码的加载操作;
所述目标芯片从所述目标存储区中获取所述应用程序代码,并对所述应用程序代码进行度量;
在所述应用程序代码的度量结果可信的情况下,解除拦截操作,所述OS***服务代码加载并执行所述应用程序代码。
7.根据权利要求4所述的方法,其特征在于,在执行所述OSLoader的过程中,在所述OSLoader代码中的度量代理模块拦截所述OSLoader代码对OS内核代码的加载操作之后,所述方法还包括:
所述目标芯片通过所述PCIE接口获取所述计算机主板中的内存数据,并对所述内存数据进行度量;
在所述内存数据的度量结果可信的情况下,执行所述目标芯片从所述目标存储区中获取所述OS内核代码,并对所述OS内核代码进行度量。
8.根据权利要求7所述的方法,其特征在于,所述目标芯片通过所述PCIE接口获取所述计算机主板中的内存数据包括:
所述目标芯片通过所述PCIE接口直接读取所述计算机主板中的内存数据;或者,
所述目标芯片通过所述PCIE接口接收所述OSLoader代码中的度量代理模块获取到的所述计算机主板中的内存数据;或者,
所述目标芯片通过所述PCIE接口接收所述OSLoader代码中的度量代理模块获取到的所述内存数据的地址,并基于所述内存数据的地址通过所述PCIE接口获取所述内存数据。
9.一种可信度量装置,其特征在于,包括:
控制单元,用于在为可信计算***供电后,控制目标芯片在计算机主板上的中央处理器启动前启动,其中,所述可信计算***包括并行运行的计算子***和防护子***,所述计算子***至少包括所述计算机主板,所述防护子***至少包括可信计算模块,所述可信计算模块通过PCIE接口和预置接口与所述计算机主板相连接,所述可信计算模块至少包括:所述目标芯片和目标存储区,所述目标存储区与所述目标芯片连接,所述目标存储区用于存储可信平台控制模块固件、可信软件基以及可信密码模块固件;
第一执行单元,用于在所述目标芯片启动后,加载并执行所述可信平台控制模块固件、所述可信软件基以及可信密码模块固件,并利用所述预置接口读取所述计算机主板上的BIOS固件进行度量;
第二执行单元,用于在所述BIOS固件的度量结果可信的情况下,控制所述计算机主板上的中央处理器启动,并加载执行所述BIOS固件。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至8中任意一项所述的可信度量方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910612209.6A CN110321715A (zh) | 2019-07-08 | 2019-07-08 | 可信度量方法、装置及处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910612209.6A CN110321715A (zh) | 2019-07-08 | 2019-07-08 | 可信度量方法、装置及处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110321715A true CN110321715A (zh) | 2019-10-11 |
Family
ID=68123064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910612209.6A Pending CN110321715A (zh) | 2019-07-08 | 2019-07-08 | 可信度量方法、装置及处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110321715A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110929263A (zh) * | 2019-11-21 | 2020-03-27 | 山东超越数控电子股份有限公司 | 一种基于主动度量的远程管理方法和设备 |
CN111159714A (zh) * | 2019-12-23 | 2020-05-15 | 北京工业大学 | 一种访问控制中主体运行时可信验证方法及*** |
CN111737701A (zh) * | 2020-06-19 | 2020-10-02 | 全球能源互联网研究院有限公司 | 一种服务器可信根***及其可信启动方法 |
CN112306754A (zh) * | 2020-11-05 | 2021-02-02 | 中国电子信息产业集团有限公司 | 基于可信的uefi固件恢复方法、装置、介质和设备 |
CN112347468A (zh) * | 2020-11-05 | 2021-02-09 | 中国电子信息产业集团有限公司 | 内存数据更新方法、装置、设备及存储介质 |
CN112784276A (zh) * | 2019-11-11 | 2021-05-11 | 阿里巴巴集团控股有限公司 | 可信度量的实现方法及装置 |
CN113127879A (zh) * | 2019-12-31 | 2021-07-16 | 杭州海康威视数字技术股份有限公司 | 一种固件可信启动方法、电子设备及可读存储介质 |
CN113486353A (zh) * | 2021-06-24 | 2021-10-08 | 邦彦技术股份有限公司 | 可信度量方法、***、设备及存储介质 |
WO2022037346A1 (zh) * | 2020-08-21 | 2022-02-24 | 华为技术有限公司 | 快速外设组件互联设备启动方法、装置以及存储介质 |
CN114153782A (zh) * | 2022-01-24 | 2022-03-08 | 阿里云计算有限公司 | 数据处理***、方法和存储介质 |
CN114385248A (zh) * | 2020-10-22 | 2022-04-22 | 四零四科技股份有限公司 | 处理信任链的计算***及装置 |
CN114666103A (zh) * | 2022-03-04 | 2022-06-24 | 阿里巴巴(中国)有限公司 | 可信度量装置、设备、***及可信身份认证方法 |
CN115237843A (zh) * | 2022-09-23 | 2022-10-25 | 粤港澳大湾区数字经济研究院(福田) | 一种可信计算***及方法 |
WO2022237551A1 (zh) * | 2021-05-12 | 2022-11-17 | 华为技术有限公司 | 安全启动装置及方法 |
CN116088659A (zh) * | 2023-02-13 | 2023-05-09 | 江苏云涌电子科技股份有限公司 | 一种国产处理器的复位判定***及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101356536A (zh) * | 2005-11-18 | 2009-01-28 | 高通股份有限公司 | 移动安全***及方法 |
US20150356299A1 (en) * | 2014-06-04 | 2015-12-10 | Dell Products L.P. | Bios secure data management system |
WO2019025762A1 (en) * | 2017-08-03 | 2019-02-07 | Arm Limited | COUNTER INTEGRITY TREE FOR MEMORY SECURITY |
CN109871695A (zh) * | 2019-03-14 | 2019-06-11 | 沈昌祥 | 一种计算与防护并行双体系结构的可信计算平台 |
CN109871694A (zh) * | 2019-03-14 | 2019-06-11 | 沈昌祥 | 一种基于双体系结构可信计算平台的静态度量方法 |
CN109918915A (zh) * | 2019-03-14 | 2019-06-21 | 沈昌祥 | 一种基于双体系结构可信计算平台的动态度量方法 |
CN109948344A (zh) * | 2019-03-14 | 2019-06-28 | 沈昌祥 | 一种基于双体系结构可信计算平台的***交互方法 |
-
2019
- 2019-07-08 CN CN201910612209.6A patent/CN110321715A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101356536A (zh) * | 2005-11-18 | 2009-01-28 | 高通股份有限公司 | 移动安全***及方法 |
US20150356299A1 (en) * | 2014-06-04 | 2015-12-10 | Dell Products L.P. | Bios secure data management system |
WO2019025762A1 (en) * | 2017-08-03 | 2019-02-07 | Arm Limited | COUNTER INTEGRITY TREE FOR MEMORY SECURITY |
CN109871695A (zh) * | 2019-03-14 | 2019-06-11 | 沈昌祥 | 一种计算与防护并行双体系结构的可信计算平台 |
CN109871694A (zh) * | 2019-03-14 | 2019-06-11 | 沈昌祥 | 一种基于双体系结构可信计算平台的静态度量方法 |
CN109918915A (zh) * | 2019-03-14 | 2019-06-21 | 沈昌祥 | 一种基于双体系结构可信计算平台的动态度量方法 |
CN109948344A (zh) * | 2019-03-14 | 2019-06-28 | 沈昌祥 | 一种基于双体系结构可信计算平台的***交互方法 |
Non-Patent Citations (1)
Title |
---|
赵波 等: "基于USBKey的安全增强密钥生成方案", 《计算机工程与应用》 * |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112784276B (zh) * | 2019-11-11 | 2024-02-23 | 阿里巴巴集团控股有限公司 | 可信度量的实现方法及装置 |
CN112784276A (zh) * | 2019-11-11 | 2021-05-11 | 阿里巴巴集团控股有限公司 | 可信度量的实现方法及装置 |
CN110929263A (zh) * | 2019-11-21 | 2020-03-27 | 山东超越数控电子股份有限公司 | 一种基于主动度量的远程管理方法和设备 |
CN111159714A (zh) * | 2019-12-23 | 2020-05-15 | 北京工业大学 | 一种访问控制中主体运行时可信验证方法及*** |
CN111159714B (zh) * | 2019-12-23 | 2022-03-11 | 北京工业大学 | 一种访问控制中主体运行时可信验证方法及*** |
CN113127879B (zh) * | 2019-12-31 | 2023-09-05 | 杭州海康威视数字技术股份有限公司 | 一种固件可信启动方法、电子设备及可读存储介质 |
CN113127879A (zh) * | 2019-12-31 | 2021-07-16 | 杭州海康威视数字技术股份有限公司 | 一种固件可信启动方法、电子设备及可读存储介质 |
CN111737701A (zh) * | 2020-06-19 | 2020-10-02 | 全球能源互联网研究院有限公司 | 一种服务器可信根***及其可信启动方法 |
WO2022037346A1 (zh) * | 2020-08-21 | 2022-02-24 | 华为技术有限公司 | 快速外设组件互联设备启动方法、装置以及存储介质 |
CN114385248A (zh) * | 2020-10-22 | 2022-04-22 | 四零四科技股份有限公司 | 处理信任链的计算***及装置 |
CN114385248B (zh) * | 2020-10-22 | 2024-04-23 | 四零四科技股份有限公司 | 处理信任链的计算***及装置 |
CN112306754B (zh) * | 2020-11-05 | 2024-05-24 | 中国电子信息产业集团有限公司 | 基于可信的uefi固件恢复方法、装置、介质和设备 |
CN112347468A (zh) * | 2020-11-05 | 2021-02-09 | 中国电子信息产业集团有限公司 | 内存数据更新方法、装置、设备及存储介质 |
CN112306754A (zh) * | 2020-11-05 | 2021-02-02 | 中国电子信息产业集团有限公司 | 基于可信的uefi固件恢复方法、装置、介质和设备 |
WO2022237551A1 (zh) * | 2021-05-12 | 2022-11-17 | 华为技术有限公司 | 安全启动装置及方法 |
CN113486353A (zh) * | 2021-06-24 | 2021-10-08 | 邦彦技术股份有限公司 | 可信度量方法、***、设备及存储介质 |
CN114153782B (zh) * | 2022-01-24 | 2022-05-06 | 阿里云计算有限公司 | 数据处理***、方法和存储介质 |
CN114153782A (zh) * | 2022-01-24 | 2022-03-08 | 阿里云计算有限公司 | 数据处理***、方法和存储介质 |
CN114666103B (zh) * | 2022-03-04 | 2023-08-15 | 阿里巴巴(中国)有限公司 | 可信度量装置、设备、***及可信身份认证方法 |
CN114666103A (zh) * | 2022-03-04 | 2022-06-24 | 阿里巴巴(中国)有限公司 | 可信度量装置、设备、***及可信身份认证方法 |
CN115237843B (zh) * | 2022-09-23 | 2023-02-14 | 粤港澳大湾区数字经济研究院(福田) | 一种可信计算***及方法 |
CN115237843A (zh) * | 2022-09-23 | 2022-10-25 | 粤港澳大湾区数字经济研究院(福田) | 一种可信计算***及方法 |
CN116088659A (zh) * | 2023-02-13 | 2023-05-09 | 江苏云涌电子科技股份有限公司 | 一种国产处理器的复位判定***及方法 |
CN116088659B (zh) * | 2023-02-13 | 2023-11-07 | 江苏云涌电子科技股份有限公司 | 一种国产处理器的复位判定***及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321715A (zh) | 可信度量方法、装置及处理器 | |
CN110334521A (zh) | 可信计算***构建方法、装置、可信计算***及处理器 | |
CN109871694B (zh) | 一种基于双体系结构可信计算平台的静态度量方法 | |
CN109918915B (zh) | 一种基于双体系结构可信计算平台的动态度量方法 | |
US10169574B2 (en) | Using trusted execution environments for security of code and data | |
CN106462708B (zh) | 认证变量的管理方法和装置 | |
CN109871695A (zh) | 一种计算与防护并行双体系结构的可信计算平台 | |
US20170230179A1 (en) | Password triggered trusted encrytpion key deletion | |
Strackx et al. | Efficient isolation of trusted subsystems in embedded systems | |
JP5164285B2 (ja) | アンチマルウェアを有するコンピュータシステム | |
JP6053786B2 (ja) | Arm(登録商標)トラストゾーン実施のためのファームウェア基盤トラステッドプラットフォームモジュール(tpm) | |
CN109948344A (zh) | 一种基于双体系结构可信计算平台的***交互方法 | |
CN110414235B (zh) | 一种基于ARM TrustZone的主动免疫的双体系结构*** | |
CN110321714A (zh) | 基于双体系结构的可信计算平台的动态度量方法及装置 | |
CN110321712A (zh) | 基于双体系结构的可信计算平台的静态度量方法及装置 | |
CN110334515B (zh) | 一种基于可信计算平台生成度量报告的方法及装置 | |
CN110309659A (zh) | 一种基于双体系结构的可信计算平台的动态度量方法 | |
CN110334519A (zh) | 基于双体系结构的可信计算平台的静态度量方法 | |
Francillon et al. | Systematic treatment of remote attestation | |
Strackx et al. | Salus: Kernel support for secure process compartments | |
CN110334520A (zh) | 双体系结构的可信计算平台的构建方法及装置 | |
US8800052B2 (en) | Timer for hardware protection of virtual machine monitor runtime integrity watcher | |
CN110348222A (zh) | 一种双体系结构的可信计算平台的构建方法 | |
CN115879064A (zh) | 一种程序运行方法、装置、处理器、芯片及电子设备 | |
CN110334532B (zh) | 文件的加密、解密处理方法及加解密*** |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191011 |