CN109992973B - 一种利用oprom机制的启动度量方法及装置 - Google Patents

一种利用oprom机制的启动度量方法及装置 Download PDF

Info

Publication number
CN109992973B
CN109992973B CN201910285217.4A CN201910285217A CN109992973B CN 109992973 B CN109992973 B CN 109992973B CN 201910285217 A CN201910285217 A CN 201910285217A CN 109992973 B CN109992973 B CN 109992973B
Authority
CN
China
Prior art keywords
program
oprom
computing
operating system
code
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.)
Active
Application number
CN201910285217.4A
Other languages
English (en)
Other versions
CN109992973A (zh
Inventor
孙瑜
王强
王涛
李春艳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING KEXIN HUATAI INFORMATION TECHNOLOGY CO LTD
Original Assignee
BEIJING KEXIN HUATAI INFORMATION TECHNOLOGY CO LTD
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING KEXIN HUATAI INFORMATION TECHNOLOGY CO LTD filed Critical BEIJING KEXIN HUATAI INFORMATION TECHNOLOGY CO LTD
Priority to CN201910285217.4A priority Critical patent/CN109992973B/zh
Publication of CN109992973A publication Critical patent/CN109992973A/zh
Application granted granted Critical
Publication of CN109992973B publication Critical patent/CN109992973B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure 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)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种利用OPROM机制的启动度量方法及装置,方法包括:在可信计算平台上电后,防护子系统中的可信平台控制模块先于计算子系统中的CPU启动,防护子系统以可信平台控制模块为信任根,对计算子系统的BIOS固件程序进行度量,若BIOS固件程序的度量结果可信,则在BIOS固件程序执行过程中利用OPROM机制对计算子系统的OSLoader代码进行度量,若OSLoader代码的度量结果可信,则继续对计算子系统的操作系统和应用程序进行度量,直至计算子系统的信任链建立完成。本发明所提供的启动度量方法,利用OPROM机制,无需修改BIOS就可以实现对计算机设备的启动度量,该启动度量方法可适配所有计算机设备。

Description

一种利用OPROM机制的启动度量方法及装置
技术领域
本发明涉及计算机安全技术领域,具体涉及一种利用OPROM机制的启动度量方法及装置。
背景技术
为了保证计算机安全启动运行,通常需要对计算机启动过程进行可信度量,即在加载执行下一阶段的启动对象之前,需要对下一阶段的启动对象进行度量,例如BIOS需要对下一阶段的OS进行度量。
现有技术中通常采用修改计算机的BIOS固件程序,使计算机具有Secure Boot功能,利用该Secure Boot功能实现对计算机启动过程中的操作系统进行安全验证。但是,这种启动度量方式并未对BIOS进行安全验证,且对操作系统只进行一次整体度量。此外,该启动度量方式需要对BIOS固件程序进行修改才能实现,对于已经出厂但并未修改BIOS固件程序的计算机设备则无法进行启动度量,无法做到对所有计算机设备进行启动度量适配。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种利用OPROM机制的启动度量方法,无需修改BIOS就可以实现对计算机设备进行启动度量,该启动度量方法可适配所有计算机设备。
为实现上述目的,本发明采用的技术方案如下:
一种利用OPROM机制的启动度量方法,应用于可信计算平台,所述可信计算平台包括:并行的计算子系统和防护子系统,所述计算子系统用于完成计算任务,所述防护子系统用于通过可信平台控制模块,根据可信策略对所述计算子系统进行主动度量和主动控制;所述计算子系统与所述防护子系统之间具有安全隔离机制,通过专用访问通道进行交互;
所述启动度量方法包括:
S1、在所述可信计算平台上电后,所述防护子系统中的所述可信平台控制模块先于所述计算子系统中的CPU启动,所述防护子系统以所述可信平台控制模块为信任根,对所述计算子系统的BIOS固件程序进行度量;
S2、若所述BIOS固件程序的度量结果可信,则在所述BIOS固件程序执行过程中利用OPROM机制对所述计算子系统的OSLoader代码进行度量;
S3、若所述OSLoader代码的度量结果可信,则继续对所述计算子系统的操作系统和应用程序进行度量,直至所述计算子系统的信任链建立完成。
进一步,如上所述的一种利用OPROM机制的启动度量方法,所述步骤S2包括:
若所述BIOS固件程序的度量结果可信,则启动CPU,加载并执行所述BIOS固件程序,当所述BIOS固件程序的执行阶段到达寻址各个外设的阶段时,若所述BIOS固件程序中的OPROM程序开关状态为开,则所述BIOS固件程序暂停执行,跳转执行所述OPROM程序,所述OPROM程序用于加载所述可信计算平台的硬盘中的OSLoader代码及其相关信息,并对所述OSLoader代码进行度量。
进一步,如上所述的一种利用OPROM机制的启动度量方法,当所述BIOS固件程序的执行阶段到达寻址各个外设的阶段时,若所述BIOS固件程序中的OPROM程序开关状态为关,则所述BIOS固件程序加载所述计算子系统的操作系统,所述可信平台控制模块根据所述操作系统所在分区的类型将对应的OPROM程序写入所述可信平台控制模块的ROM。
进一步,如上所述的一种利用OPROM机制的启动度量方法,在所述步骤S2之后,所述启动度量方法还包括:
S4、若所述OSLoader代码的度量结果不可信,则所述OPROM程序控制所述BIOS固件程序中断执行,使得所述BIOS固件程序无法加载执行所述OSLoader代码,所述计算子系统无法正常启动。
进一步,如上所述的一种利用OPROM机制的启动度量方法,所述步骤S3包括:
S31、若所述OSLoader代码的度量结果可信,则所述OPROM程序控制所述BIOS固件程序继续执行,加载并执行所述OSLoader代码,所述OSLoader代码中的度量代理模块拦截加载操作系统内核代码,从所述硬盘中读取所述操作系统内核代码及其相关信息并发送给所述可信平台控制模块,所述可信平台控制模块对所述操作系统内核代码进行度量;
S32、若所述操作系统内核代码的度量结果可信,则所述OSLoader代码加载并执行所述操作系统内核代码,所述操作系统内核代码中的度量代理模块拦截加载操作系统系统服务代码,从所述硬盘中读取所述操作系统系统服务代码及其相关信息并发送给所述可信平台控制模块,所述可信平台控制模块对所述操作系统系统服务代码进行度量;
S33、若所述操作系统系统服务代码的度量结果可信,则所述操作系统内核代码加载并执行所述操作系统系统服务代码,所述操作系统系统服务代码中的度量代理模块拦截加载应用程序,从所述硬盘中读取所述应用程序的代码及其相关信息,并发送给所述可信平台控制模块,所述可信平台控制模块对所述应用程序进行度量;
S34、若所述应用程序的度量结果可信,则所述操作系统系统服务代码加载并执行所述应用程序,至此所述计算子系统的信任链建立完成。
进一步,如上所述的一种利用OPROM机制的启动度量方法,所述OPROM程序为所述可信平台控制模块内的ROM区域存储的程序,所述可信平台控制模块通过PICE方式与所述可信计算平台的主板连接。
进一步,如上所述的一种利用OPROM机制的启动度量方法,所述启动度量方法还包括:
在以下至少之一个阶段对所述可信计算平台进行用户身份认证:
在所述可信平台控制模块启动阶段,通过外接识别设备进行用户身份认证;
在所述BIOS固件程序启动阶段,通过所述BIOS固件程序中的第一身份认证模块进行用户身份认证;
在所述OPROM程序启动阶段,通过所述OPROM程序中的第二身份认证模块进行用户身份认证。
一种利用OPROM机制的启动度量装置,应用于可信计算平台,所述可信计算平台包括:并行的计算子系统和防护子系统,所述计算子系统用于完成计算任务,所述防护子系统用于通过可信平台控制模块,根据可信策略对所述计算子系统进行主动度量和主动控制;所述计算子系统与所述防护子系统之间具有安全隔离机制,通过专用访问通道进行交互;
所述启动度量装置包括:
第一度量模块,用于在所述可信计算平台上电后,所述防护子系统中的所述可信平台控制模块先于所述计算子系统中的CPU启动,所述防护子系统以所述可信平台控制模块为信任根,对所述计算子系统的BIOS固件程序进行度量;
第二度量模块,用于若所述BIOS固件程序的度量结果可信,则在所述BIOS固件程序执行过程中利用OPROM机制对所述计算子系统的OSLoader代码进行度量;
第三度量模块,用于若所述OSLoader代码的度量结果可信,则继续对所述计算子系统的操作系统和应用程序进行度量,直至所述计算子系统的信任链建立完成。
一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行本发明中任一所述的一种利用OPROM机制的启动度量方法。
一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行本发明中任一所述的一种利用OPROM机制的启动度量方法。
本发明的有益效果在于:本发明所提供的启动度量方法,利用OPROM机制,无需修改BIOS就可以实现对计算子系统的启动度量,该启动度量方法可适配所有计算机设备;利用可信平台控制模块对BIOS进行可信度量,能够保证BIOS的安全可信;对应用程序进行可信度量,能够保证应用程序的安全可信。本发明所提供的启动度量方法能够实现提高计算子系统启动过程安全性能的技术效果。
附图说明
图1为本发明实施例中提供的计算与防护并行双体系结构的可信计算平台的结构框图;
图2为本发明实施例二中提供的一种利用OPROM机制的启动度量方法的流程示意图;
图3为本发明实施例二中提供的利用PCIE OPROM机制对OSLoader进行度量的流程示意图;
图4为本发明实施例四中提供的一种利用OPROM机制的启动度量方法的分步骤流程示意图;
图5为本发明实施例五中提供的用户身份认证功能的结构框图;
图6为本发明实施例五中提供的用户身份认证功能的流程框图。
具体实施方式
下面结合说明书附图与具体实施方式对本发明做进一步的详细说明。
术语解释
TPCM:trusted platform control module,可信平台控制模块,一种集成在可信计算平台中,用于建立和保障信任源点的硬件核心模块,为可信计算提供完整性度量、安全存储、可信报告以及密码服务等功能。
TSB:Trusted Software Base,可信软件基,为可信计算平台的可信性提供支持的软件元素的集合。
BIOS:Basic Input Output System,基本输入输出系统,是个人电脑启动时加载的第一个软件。
OPROM:Option ROM,扩展Rom基址寄存器。
针对现有技术需要修改BIOS固件程序对计算机进行启动度量,导致对于已经出厂但并未修改BIOS固件程序的计算机设备则无法进行启动度量的技术问题,本发明设计了一种利用OPROM机制的启动度量方法。本发明中的启动度量方法基于计算与防护并行双体系结构的可信计算平台,该可信计算平台中计算子系统与防护子系统并行运行,计算子系统用于执行计算任务,防护子系统用于对计算子系统进行主动度量(包括对计算子系统进行的静态度量和动态度量)和主动控制,且防护子系统具有比计算子系统更高的控制权限。
本发明中的启动度量方法,以TPCM为度量根,首先对计算子系统的BIOS进行可信度量,若BIOS度量结果可信,则在BIOS执行过程中利用OPROM机制实现对计算子系统的OSLoader进行可信度量,若OSLoader度量结果可信,则继续对计算子系统的操作系统的内核代码、操作系统的系统服务以及应用程序进行可信度量,以建立完整的信任链。本发明中的启动度量方法不仅对BIOS进行可信度量,而且将计算子系统的操作系统拆分成OSLoader、操作系统的内核代码、操作系统的系统服务分别进行可信度量,还对应用程序进行可信度量,能够提高计算子系统启动度量结果的准确度。此外,本发明的启动度量方法无需修改BIOS固件程序就可以完成计算子系统的启动度量,对计算机设备的适配性更强。
本发明的可信计算平台包括:并行的计算子系统和防护子系统。计算子系统与防护子系统之间具有安全隔离机制,可以通过专用访问通道进行交互。防护子系统具有比计算子系统更高的控制权限,防护子系统可以不受限制地访问计算子系统的内存以及对I/O外设等,同时防护子系统可以对计算子系统进行控制,但计算子系统不能访问防护子系统的内存以及I/O外设等,更无法对防护子系统进行控制。计算子系统和防护子系统有各自独立的硬件资源支撑计算任务和安全任务,硬件资源包括CPU、内存、存储器等。TCM提供密码资源服务,计算子系统和防护子系统都可以使用,但是优先防护子系统使用。
本发明的可信计算平台,通过并行的计算子系统和防护子系统实现在计算的同时进行主动安全防护。防护子系统是一种独立的主动防御体系,能够直接访问计算子系统的内存和I/O外设等资源,并依据可信策略对计算子系统实施主动度量和主动控制,保证计算子系统计算全程可测可控,不被干扰和破坏,可抵御各种已知的和未知的攻击。
如图1所示,计算与防护并行双体系结构的可信计算平台的具体结构如下:
计算子系统
计算子系统用于完成计算任务,其由计算机的传统部件构成,主要包括:CPU、BIOS、OS、应用软件等。
防护子系统
防护子系统用于根据可信策略和可信基准值,对计算子系统进行主动度量和主动控制,并生成可信报告。
防护子系统包括:TPCM硬件平台、TPCM操作系统、TCM、可信软件基(TSB)。
TPCM硬件平台包括:中央处理器、专有物理内存、持久存储空间、内置TCM模块等。TPCM操作系统提供用于防护子系统自身资源的管理功能,包括对防护子系统中的进程、内存、文件系统、网络协议、I/O设备和接口等的管理。TCM是一个独立模块,自身具有硬件部分和软件部分,例如密码算法引擎、随机数发生器、I/O接口等。TCM可由硬件实体实现也可以通过软件的方式实现。TCM提供基于国密算法的密钥管理、密码计算等密码资源服务。由TPCM进行统一调度和管理。TCM通过TSM提供调用服务,TPCM操作系统中包含TSM。
可信软件基TSB依据其功能分为基本层和控制层。基本层实现对计算子系统的固件和可执行程序等资源进行的静态度量,完成信任链的建立,也即完成对计算子系统的启动度量;控制层实现在计算子系统运行过程中对计算子系统的应用执行及其所依赖的执行环境进行的动态度量,并根据度量结果对计算子系统进行控制处理。
对计算子系统的启动度量过程可以描述为:TPCM先于计算子系统的CPU启动,在TPCM操作系统和TSB加载执行后,由初始环境验证度量模块对BIOS、OPROM以及硬件配置进行主动度量,如果度量结果为可信,则BIOS启动;在加载OSLoader之前,由系统引导验证度量模块对OSLoader进行主动度量,如果度量结果为可信,则OSLoader启动;在加载操作系统内核代码之前,由内核验证度量模块对操作系统内核代码进行主动度量,如果度量结果为可信,则操作系统内核启动;在加载系统服务之前,由系统验证度量模块对系统服务进行主动度量,如果度量结果为可信,则系统服务启动;当需要加载应用程序时,应用代码度量模块会对待加载的应用程序进行主动度量,如果度量结果为可信,则计算子系统加载并执行该应用程序,至此,信任链建立完成。
实施例一
基于上述可信计算平台,对于允许直接修改BIOS固件程序的情况,本发明提供了一种启动度量方法,包括:
S101、在可信计算平台上电后,TPCM先于计算子系统的CPU启动,TPCM对计算子系统的BIOS进行度量。
S102、若度量结果可信,则CPU启动并加载BIOS。在BIOS执行过程中,BIOS中的度量代理模块(防护子系统中的TSB植入到计算子系统中的代理程序)首先拦截OSLoader代码加载,然后从硬盘中读取OSLoader代码及其相关信息,并将其发送给TPCM进行度量。
S103、若OSLoader的度量结果可信,则BIOS加载并执行OSLoader。之后OSLoader中的度量代理模块首先拦截操作系统内核代码加载,然后从硬盘中读取操作系统内核代码及其相关信息,并将其发送给TPCM进行度量。
S104、若操作系统内核的度量结果可信,则OSLoader加载并执行操作系统内核。之后操作系统内核中的度量代理模块首先拦截操作系统系统服务代码加载,然后从硬盘中读取操作系统系统服务代码及其相关信息,并将其发送给TPCM进行度量。
S105、若操作系统系统服务的度量结果可信,则操作系统内核加载并执行操作系统系统服务。之后操作系统系统服务中的度量代理模块首先拦截应用程序加载,然后从硬盘中读取应用程序代码及其相关信息,并将其发送给TPCM进行度量。
S106、若应用程序度量结果可信,则操作系统系统服务加载并执行应用程序。计算子系统的启动度量过程完成,建立静态信任链。
实施例二
对于不允许直接修改BIOS固件程序的情况或在实际场景中不适用修改BIOS的情况,本发明提供了一种利用OPROM机制的启动度量方法。
一种利用OPROM机制的启动度量方法,可以应用于上文所述的可信计算平台,可信计算平台包括:并行的计算子系统和防护子系统,计算子系统用于完成计算任务,防护子系统用于通过可信平台控制模块,根据可信策略对计算子系统进行主动度量和主动控制;计算子系统与防护子系统之间具有安全隔离机制,通过专用访问通道进行交互;
如图2所示,该实施例中的启动度量方法包括:
S1、在可信计算平台上电后,防护子系统中的可信平台控制模块先于计算子系统中的CPU启动,防护子系统以可信平台控制模块为信任根,对计算子系统的BIOS固件程序进行度量;
S2、若BIOS固件程序的度量结果可信,则在BIOS固件程序执行过程中利用OPROM机制对计算子系统的OSLoader代码进行度量;
若BIOS固件程序的度量结果可信,则启动CPU,加载并执行BIOS固件程序,当BIOS固件程序的执行阶段到达寻址各个外设的阶段时,若BIOS固件程序中的OPROM程序开关状态为开,则BIOS固件程序暂停执行,跳转执行OPROM程序,OPROM程序用于加载可信计算平台的硬盘中的OSLoader代码及其相关信息,并对OSLoader代码进行度量。
当BIOS固件程序的执行阶段到达寻址各个外设的阶段时,若BIOS固件程序中的OPROM程序开关状态为关,则BIOS固件程序加载计算子系统的操作系统,可信平台控制模块根据操作系统所在分区的类型将对应的OPROM程序写入可信平台控制模块的ROM,以备下次利用可信平台控制模块的ROM中的OPROM程序对OSLoader代码进行度量。
可选地,OPROM程序为可信平台控制模块内的ROM区域存储的程序,可信平台控制模块通过PICE方式与可信计算平台的主板连接。
利用PCIE OPROM机制对OSLoader进行度量,在TSB基准值采集阶段,可以先判断启动磁盘分区类型,然后在OPROM程序库中选择带有可以支持此分区类型文件系统的OPROM程序,TSB程序还会采集启动阶段需要度量的文件信息及度量配置以策略的形式下送给TPCM,提供给带有文件系统功能的OPROM程序读取相关文件进行度量操作。
如图3所示,当BIOS固件程序的执行阶段到达寻址各个外设的阶段时,若BIOS固件程序中的OPROM程序开关状态为开,则加载OPROM程序并运行,OPROM程序对OSLoader和操作系统进行度量,若度量成功则返回BIOS启动流程,加载OSLoader并运行,若度量失败提示度量错误。若BIOS固件程序中的OPROM程序开关状态为关,则加载并执行操作系统,并在TSB基准值采集阶段,根据启动磁盘的分区类型,在OPROM程序库中选择具有支持分区类型的文件系统的OPROM程序写入可信平台控制模块的ROM区域。然后进入TSB工作流程,利用TSB对计算子系统的启动过程进行度量,计算子系统启动运行后拦截并度量系统应用程序。
S3、若OSLoader代码的度量结果可信,则继续对计算子系统的操作系统和应用程序进行度量,直至计算子系统的信任链建立完成。
实施例三
对于不允许直接修改BIOS固件程序的情况或在实际场景中不适用修改BIOS的情况,本发明提出一种利用OPROM机制的启动度量方法。
一种利用OPROM机制的启动度量方法,应用于可信计算平台,可信计算平台包括:并行的计算子系统和防护子系统,计算子系统用于完成计算任务,防护子系统用于通过可信平台控制模块,根据可信策略对计算子系统进行主动度量和主动控制;计算子系统与防护子系统之间具有安全隔离机制,通过专用访问通道进行交互;
启动度量方法包括:
S101、在可信计算平台上电后,防护子系统中的可信平台控制模块先于计算子系统中的CPU启动,防护子系统以可信平台控制模块为信任根,对计算子系统的BIOS固件程序进行度量;
S102、若BIOS固件程序的度量结果可信,则在BIOS固件程序执行过程中利用OPROM机制对计算子系统的OSLoader代码进行度量;
若BIOS固件程序的度量结果可信,则启动CPU,加载并执行BIOS固件程序,当BIOS固件程序的执行阶段到达寻址各个外设的阶段时,若BIOS固件程序中的OPROM程序开关状态为开,则BIOS固件程序暂停执行,跳转执行OPROM程序,OPROM程序用于加载可信计算平台的硬盘中的OSLoader代码及其相关信息,并对OSLoader代码进行度量。
当BIOS固件程序的执行阶段到达寻址各个外设的阶段时,若BIOS固件程序中的OPROM程序开关状态为关,则BIOS固件程序加载计算子系统的操作系统,可信平台控制模块根据操作系统所在分区的类型将对应的OPROM程序写入可信平台控制模块的ROM。
OPROM程序为可信平台控制模块内的ROM区域存储的程序,可信平台控制模块通过PICE方式与可信计算平台的主板连接。
S103、若OSLoader代码的度量结果不可信,则OPROM程序控制BIOS固件程序中断执行,使得BIOS固件程序无法加载执行OSLoader代码,计算子系统无法正常启动。
实施例四
如图4所示,实施例二中的步骤S3包括:
S31、若OSLoader代码的度量结果可信,则OPROM程序控制BIOS固件程序继续执行,加载并执行OSLoader代码,OSLoader代码中的度量代理模块拦截加载操作系统内核代码,从硬盘中读取操作系统内核代码及其相关信息并发送给可信平台控制模块,可信平台控制模块对操作系统内核代码进行度量;
S32、若操作系统内核代码的度量结果可信,则OSLoader代码加载并执行操作系统内核代码,操作系统内核代码中的度量代理模块拦截加载操作系统系统服务代码,从硬盘中读取操作系统系统服务代码及其相关信息并发送给可信平台控制模块,可信平台控制模块对操作系统系统服务代码进行度量;
S33、若操作系统系统服务代码的度量结果可信,则操作系统内核代码加载并执行操作系统系统服务代码,操作系统系统服务代码中的度量代理模块拦截加载应用程序,从硬盘中读取应用程序的代码及其相关信息,并发送给可信平台控制模块,可信平台控制模块对应用程序进行度量;
S34、若应用程序的度量结果可信,则操作系统系统服务代码加载并执行应用程序,至此计算子系统的信任链建立完成。
实施例五
为了进一步保证计算子系统的安全性能,本发明还在计算子系统的启动度量过程中增加了用户身份认证功能。
本发明所提供的启动度量方法可以在以下至少之一个阶段对可信计算平台进行用户身份认证:
在可信平台控制模块启动阶段,通过外接识别设备进行用户身份认证;外接识别设备可以包括以下至少之一:外接USBkey、生物识别设备等。生物识别设备可以包括以下至少之一:指纹识别设备、静脉识别设备、虹膜识别设备、视网膜识别设备、面部识别设备、DNA识别设备等。
在BIOS固件程序启动阶段,通过BIOS固件程序中的第一身份认证模块进行用户身份认证。第一身份认证模块可以是在BIOS固件程序中增加的用于用户身份认证的程序段。
在OPROM程序启动阶段,通过OPROM程序中的第二身份认证模块进行用户身份认证。第二身份认证模块可以是在OPROM程序中增加的用于用户身份认证的程序段。
如图5所示,基于可信计算平台的身份认证有三种实现方式,第一种通过外联的身份认证设备例如指纹识别设备;第二种通过修改BIOS,在BIOS中加入身份认证模块与TPCM交互认证;第三种通过TPCM内部的OPROM实现对用户的身份认证。不同的实现方式,度量的时机也不尽相同。
为了保障系统的安全、满足不同领域的客户对安全的需求,在产品设计阶段即需要在底层增加对用户身份的认证功能。如图6所示,在不同的启动阶段有不同的认证方式可以选择。
身份认证1:在TPCM启动阶段,可以通过外接USBkey、指纹采集仪等生物识别设备,对操作人员的身份进行识别。此阶段需要硬件产品支持外接硬件设备的方式实现用户身份认证。
身份认证2:在BIOS启动阶段,可以通过对BIOS进行升级更改,在BIOS中的TPCM配置项内增加“Administrator password”选项,用于支持用户登录时通过进行身份的确认。
身份认证3:在OPROM启动阶段,可参照上文“在BIOS启动阶段”的方式在TPCM模块的OPROM内增加登录对话框,在OPROM内实现对设备使用人员的身份认证功能。这种方式也适用于不方便对BIOS升级的应用场景。
实施例六
对于不允许直接修改BIOS固件程序的情况或在实际场景中不适用修改BIOS的情况,本发明提出一种利用OPROM机制的启动度量装置。
一种利用OPROM机制的启动度量装置,应用于上文所述的可信计算平台,可信计算平台包括:并行的计算子系统和防护子系统,计算子系统用于完成计算任务,防护子系统用于通过可信平台控制模块,根据可信策略对计算子系统进行主动度量和主动控制;计算子系统与防护子系统之间具有安全隔离机制,通过专用访问通道进行交互;
启动度量装置包括:
第一度量模块,用于在可信计算平台上电后,防护子系统中的可信平台控制模块先于计算子系统中的CPU启动,防护子系统以可信平台控制模块为信任根,对计算子系统的BIOS固件程序进行度量;
第二度量模块,用于若BIOS固件程序的度量结果可信,则在BIOS固件程序执行过程中利用OPROM机制对计算子系统的OSLoader代码进行度量;
第三度量模块,用于若OSLoader代码的度量结果可信,则继续对计算子系统的操作系统和应用程序进行度量,直至计算子系统的信任链建立完成。
第二度量模块用于:
若BIOS固件程序的度量结果可信,则启动CPU,加载并执行BIOS固件程序,当BIOS固件程序的执行阶段到达寻址各个外设的阶段时,若BIOS固件程序中的OPROM程序开关状态为开,则BIOS固件程序暂停执行,跳转执行OPROM程序,OPROM程序用于加载可信计算平台的硬盘中的OSLoader代码及其相关信息,并对OSLoader代码进行度量。
当BIOS固件程序的执行阶段到达寻址各个外设的阶段时,若BIOS固件程序中的OPROM程序开关状态为关,则BIOS固件程序加载计算子系统的操作系统,可信平台控制模块根据操作系统所在分区的类型将对应的OPROM程序写入可信平台控制模块的ROM。
OPROM程序为可信平台控制模块内的ROM区域存储的程序,可信平台控制模块通过PICE方式与可信计算平台的主板连接。
启动度量装置还包括:第四度量模块,用于:
若OSLoader代码的度量结果不可信,则OPROM程序控制BIOS固件程序中断执行,使得BIOS固件程序无法加载执行OSLoader代码,计算子系统无法正常启动。
第三度量模块用于:
若OSLoader代码的度量结果可信,则OPROM程序控制BIOS固件程序继续执行,加载并执行OSLoader代码,OSLoader代码中的度量代理模块拦截加载操作系统内核代码,从硬盘中读取操作系统内核代码及其相关信息并发送给可信平台控制模块,可信平台控制模块对操作系统内核代码进行度量;
若操作系统内核代码的度量结果可信,则OSLoader代码加载并执行操作系统内核代码,操作系统内核代码中的度量代理模块拦截加载操作系统系统服务代码,从硬盘中读取操作系统系统服务代码及其相关信息并发送给可信平台控制模块,可信平台控制模块对操作系统系统服务代码进行度量;
若操作系统系统服务代码的度量结果可信,则操作系统内核代码加载并执行操作系统系统服务代码,操作系统系统服务代码中的度量代理模块拦截加载应用程序,从硬盘中读取应用程序的代码及其相关信息,并发送给可信平台控制模块,可信平台控制模块对应用程序进行度量;
若应用程序的度量结果可信,则操作系统系统服务代码加载并执行应用程序,至此计算子系统的信任链建立完成。
启动度量装置还用于:
在以下至少之一个阶段对可信计算平台进行用户身份认证:
在可信平台控制模块启动阶段,通过外接识别设备进行用户身份认证;
在BIOS固件程序启动阶段,通过BIOS固件程序中的第一身份认证模块进行用户身份认证;
在OPROM程序启动阶段,通过OPROM程序中的第二身份认证模块进行用户身份认证。
实施例七
本发明还提供一种存储介质,存储介质中存储有计算机程序,其中,计算机程序运行时可以执行本发明的一种利用OPROM机制的启动度量方法。该存储介质包括以下至少之一:软盘、光盘、DVD、硬盘、闪存、U盘、CF卡、SD卡、MMC卡、SM卡、记忆棒(Memory Stick)、xD卡等,将本发明的一种利用OPROM机制的启动度量方法转化成数据(计算机程序)刻录到上述存储介质中,比如将刻有本发明启动度量方法的计算机程序的硬盘放入电脑运行,则可以实现本发明的一种利用OPROM机制的启动度量方法。
实施例八
本发明还提供一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行本发明的一种利用OPROM机制的启动度量方法。该存储器属于实施例七中的存储介质,能够存储本发明一种利用OPROM机制的启动度量方法的计算机程序,该处理器可以对存储器中的数据进行处理,该电子装置可以是计算机、手机或者其他包括存储器和处理器的任何装置。在计算机启动后,启动处理器运行存储器中的本发明一种利用OPROM机制的启动度量方法的计算机程序,则可以实现本发明的一种利用OPROM机制的启动度量方法。
本发明提供的一种利用OPROM机制的启动度量方法至少包括以下优点:
1、对启动度量过程中的BIOS、OSLoader、操作系统内核、操作系统系统服务、应用程序均进行可信度量,能够提高计算子系统启动过程的安全性能。现有技术中BIOS只能对下一阶段的操作系统进行验签度量,度量不足,本发明采用OPROM方式可以度量的更加充分和细致。同时OPROM方式不仅能对下一阶段的操作系统进行度量,还能对BIOS本阶段进行一些度量,使得计算机启动过程更加安全。
2、无需修改BIOS就可以实现对计算子系统进行启动度量,该启动度量方法可适配所有计算机设备。
3、在启动度量过程中通过增加用户身份认证功能,能够进一步保障计算子系统启动安全性能。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (9)

1.一种利用OPROM机制的启动度量方法,其特征在于,应用于可信计算平台,所述可信计算平台包括:并行的计算子系统和防护子系统,所述计算子系统用于完成计算任务,所述防护子系统用于通过可信平台控制模块,根据可信策略对所述计算子系统进行主动度量和主动控制;所述计算子系统与所述防护子系统之间具有安全隔离机制,通过专用访问通道进行交互;
所述启动度量方法包括以下步骤:
S1、在所述可信计算平台上电后,所述防护子系统中的所述可信平台控制模块先于所述计算子系统中的CPU启动,所述防护子系统以所述可信平台控制模块为信任根,对所述计算子系统的BIOS固件程序进行度量;
S2、若所述BIOS固件程序的度量结果可信,则在所述BIOS固件程序执行过程中利用OPROM机制对所述计算子系统的OSLoader代码进行度量;
S3、若所述OSLoader代码的度量结果可信,则继续对所述计算子系统的操作系统和应用程序进行度量,直至所述计算子系统的信任链建立完成;
所述步骤S2包括:
若所述BIOS固件程序的度量结果可信,则启动CPU,加载并执行所述BIOS固件程序,当所述BIOS固件程序的执行阶段到达寻址各个外设的阶段时,若所述BIOS固件程序中的OPROM程序开关状态为开,则所述BIOS固件程序暂停执行,跳转执行所述OPROM程序,所述OPROM程序用于加载所述可信计算平台的硬盘中的OSLoader代码及其相关信息,并对所述OSLoader代码进行度量。
2.根据权利要求1所述的一种利用OPROM机制的启动度量方法,其特征在于,当所述BIOS固件程序的执行阶段到达寻址各个外设的阶段时,若所述BIOS固件程序中的OPROM程序开关状态为关,则所述BIOS固件程序加载所述计算子系统的操作系统,所述可信平台控制模块根据所述操作系统所在分区的类型将对应的OPROM程序写入所述可信平台控制模块的ROM。
3.根据权利要求1所述的一种利用OPROM机制的启动度量方法,其特征在于,在所述步骤S2之后,所述启动度量方法还包括:
S4、若所述OSLoader代码的度量结果不可信,则所述OPROM程序控制所述BIOS固件程序中断执行,使得所述BIOS固件程序无法加载执行所述OSLoader代码,所述计算子系统无法正常启动。
4.根据权利要求1所述的一种利用OPROM机制的启动度量方法,其特征在于,所述步骤S3包括:
S31、若所述OSLoader代码的度量结果可信,则所述OPROM程序控制所述BIOS固件程序继续执行,加载并执行所述OSLoader代码,所述OSLoader代码中的度量代理模块拦截加载操作系统内核代码,从所述硬盘中读取所述操作系统内核代码及其相关信息并发送给所述可信平台控制模块,所述可信平台控制模块对所述操作系统内核代码进行度量;
S32、若所述操作系统内核代码的度量结果可信,则所述OSLoader代码加载并执行所述操作系统内核代码,所述操作系统内核代码中的度量代理模块拦截加载操作系统系统服务代码,从所述硬盘中读取所述操作系统系统服务代码及其相关信息并发送给所述可信平台控制模块,所述可信平台控制模块对所述操作系统系统服务代码进行度量;
S33、若所述操作系统系统服务代码的度量结果可信,则所述操作系统内核代码加载并执行所述操作系统系统服务代码,所述操作系统系统服务代码中的度量代理模块拦截加载应用程序,从所述硬盘中读取所述应用程序的代码及其相关信息,并发送给所述可信平台控制模块,所述可信平台控制模块对所述应用程序进行度量;
S34、若所述应用程序的度量结果可信,则所述操作系统系统服务代码加载并执行所述应用程序,至此所述计算子系统的信任链建立完成。
5.根据权利要求1至4中任一项所述的一种利用OPROM机制的启动度量方法,其特征在于,所述OPROM程序为所述可信平台控制模块内的ROM区域存储的程序,所述可信平台控制模块通过PICE方式与所述可信计算平台的主板连接。
6.根据权利要求1至4中任一项所述的一种利用OPROM机制的启动度量方法,其特征在于,所述启动度量方法还包括:
在以下至少之一个阶段对所述可信计算平台进行用户身份认证:
在所述可信平台控制模块启动阶段,通过外接识别设备进行用户身份认证;
在所述BIOS固件程序启动阶段,通过所述BIOS固件程序中的第一身份认证模块进行用户身份认证;
在所述OPROM程序启动阶段,通过所述OPROM程序中的第二身份认证模块进行用户身份认证。
7.一种利用OPROM机制的启动度量装置,其特征在于,应用于可信计算平台,所述可信计算平台包括:并行的计算子系统和防护子系统,所述计算子系统用于完成计算任务,所述防护子系统用于通过可信平台控制模块,根据可信策略对所述计算子系统进行主动度量和主动控制;所述计算子系统与所述防护子系统之间具有安全隔离机制,通过专用访问通道进行交互;
所述启动度量装置包括:
第一度量模块,用于在所述可信计算平台上电后,所述防护子系统中的所述可信平台控制模块先于所述计算子系统中的CPU启动,所述防护子系统以所述可信平台控制模块为信任根,对所述计算子系统的BIOS固件程序进行度量;
第二度量模块,用于若所述BIOS固件程序的度量结果可信,则在所述BIOS固件程序执行过程中利用OPROM机制对所述计算子系统的OSLoader代码进行度量;
第三度量模块,用于若所述OSLoader代码的度量结果可信,则继续对所述计算子系统的操作系统和应用程序进行度量,直至所述计算子系统的信任链建立完成;
第二度量模块用于:
若所述BIOS固件程序的度量结果可信,则启动CPU,加载并执行所述BIOS固件程序,当所述BIOS固件程序的执行阶段到达寻址各个外设的阶段时,若所述BIOS固件程序中的OPROM程序开关状态为开,则所述BIOS固件程序暂停执行,跳转执行所述OPROM程序,所述OPROM程序用于加载所述可信计算平台的硬盘中的OSLoader代码及其相关信息,并对所述OSLoader代码进行度量。
8.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至6任一项中所述的一种利用OPROM机制的启动度量方法。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至6任一项中所述的一种利用OPROM机制的启动度量方法。
CN201910285217.4A 2019-04-10 2019-04-10 一种利用oprom机制的启动度量方法及装置 Active CN109992973B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910285217.4A CN109992973B (zh) 2019-04-10 2019-04-10 一种利用oprom机制的启动度量方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910285217.4A CN109992973B (zh) 2019-04-10 2019-04-10 一种利用oprom机制的启动度量方法及装置

Publications (2)

Publication Number Publication Date
CN109992973A CN109992973A (zh) 2019-07-09
CN109992973B true CN109992973B (zh) 2021-04-20

Family

ID=67132758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910285217.4A Active CN109992973B (zh) 2019-04-10 2019-04-10 一种利用oprom机制的启动度量方法及装置

Country Status (1)

Country Link
CN (1) CN109992973B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110472400B (zh) * 2019-08-22 2021-06-01 浪潮集团有限公司 一种基于人脸识别的可信计算机系统及实现方法
CN111723379B (zh) * 2020-06-18 2024-03-19 中国电力科学研究院有限公司 可信台区智能终端的可信保护方法、系统、设备及存储介质
CN111950014A (zh) * 2020-08-27 2020-11-17 英业达科技有限公司 服务器系统启动的安全度量方法、安全度量装置及服务器
CN116842517A (zh) * 2022-03-24 2023-10-03 华为技术有限公司 可信验证方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1621994A (zh) * 2005-01-10 2005-06-01 北京太极英泰信息科技有限公司 计算机安全控制模块及其安全保护控制方法
CN101079003A (zh) * 2006-05-23 2007-11-28 北京金元龙脉信息科技有限公司 对计算机bios固件进行安全风险检测的系统和方法
CN102279914A (zh) * 2011-07-13 2011-12-14 中国人民解放军海军计算技术研究所 一种uefi可信支撑系统及其控制方法
CN104318142A (zh) * 2014-10-31 2015-01-28 山东超越数控电子有限公司 一种计算机可信启动方式
CN208210006U (zh) * 2018-06-11 2018-12-07 山东超越数控电子股份有限公司 一种基于国产tpm的高安全可信服务器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7299379B2 (en) * 2003-06-27 2007-11-20 Intel Corporation Maintaining cache integrity by recording write addresses in a log
US7240187B2 (en) * 2003-09-30 2007-07-03 Intel Corporation Method and apparatus to support legacy master boot record (MBR) partitions
CN101226577A (zh) * 2008-01-28 2008-07-23 南京大学 基于可信硬件与虚拟机的微内核操作系统完整性保护方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1621994A (zh) * 2005-01-10 2005-06-01 北京太极英泰信息科技有限公司 计算机安全控制模块及其安全保护控制方法
CN101079003A (zh) * 2006-05-23 2007-11-28 北京金元龙脉信息科技有限公司 对计算机bios固件进行安全风险检测的系统和方法
CN102279914A (zh) * 2011-07-13 2011-12-14 中国人民解放军海军计算技术研究所 一种uefi可信支撑系统及其控制方法
CN104318142A (zh) * 2014-10-31 2015-01-28 山东超越数控电子有限公司 一种计算机可信启动方式
CN208210006U (zh) * 2018-06-11 2018-12-07 山东超越数控电子股份有限公司 一种基于国产tpm的高安全可信服务器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种基于完整性和权限控制的动态安全防御架构;于颖超 等;《第二十一届计算机工程与工艺年会暨第七届微处理器技术论坛论文集》;20170831;论文第60-65页 *
基于扩展ROM的信任根设备设计与实现;鲁青远 等;《计算机工程与设计》;20120630;第33卷(第6期);论文第2178-2181页 *

Also Published As

Publication number Publication date
CN109992973A (zh) 2019-07-09

Similar Documents

Publication Publication Date Title
CN109992973B (zh) 一种利用oprom机制的启动度量方法及装置
CN103299311B (zh) 用于可信引导优化的方法和设备
US7921286B2 (en) Computer initialization for secure kernel
JP6053786B2 (ja) Arm(登録商標)トラストゾーン実施のためのファームウェア基盤トラステッドプラットフォームモジュール(tpm)
US7594124B2 (en) Cross validation of data using multiple subsystems
JP5745061B2 (ja) 起動プロセスの際の対話型コンポーネントの使用の認証
US7974416B2 (en) Providing a secure execution mode in a pre-boot environment
CN103080904B (zh) 提供多阶段锁步完整性报告机构
US7937575B2 (en) Information processing system, program product, and information processing method
KR102324336B1 (ko) 사용자 장치 및 그것에 대한 무결성 검증 방법
US20090172378A1 (en) Method and system for using a trusted disk drive and alternate master boot record for integrity services during the boot of a computing platform
US20110040961A1 (en) Binding data to a computing platform through use of a cryptographic module
CN106909848A (zh) 一种基于bios扩展的计算机安全增强系统及其方法
CN115618364B (zh) 实现安全可信启动的方法、安全架构系统及相关设备
CN109583214A (zh) 一种安全控制方法
US10095855B2 (en) Computer system and operating method therefor
CN113448681B (zh) 一种虚拟机监控器公钥的注册方法、设备和存储介质
WO2011149329A1 (en) Method of providing trusted application services
CN115130106A (zh) 一种通过fTPM实现可信启动的方法及相关装置
CN115618365B (zh) 实现安全可信启动的方法、安全架构系统及相关设备
CN110601846B (zh) 一种校验虚拟可信根的系统及方法
Gu et al. A secure bootstrap based on trusted computing
RU2808198C1 (ru) Способ доверенной загрузки устройства с возможностью заверения разных этапов загрузки несколькими независимыми владельцами ключей
Yadav SECURE BOOTLOADER IN EMBEDDED SYSTEM USING MISRA-C
CN114818006A (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
GR01 Patent grant
GR01 Patent grant