CN113420297A - 一种可信验证的系统、方法、主板、微型板卡及存储介质 - Google Patents
一种可信验证的系统、方法、主板、微型板卡及存储介质 Download PDFInfo
- Publication number
- CN113420297A CN113420297A CN202010982939.8A CN202010982939A CN113420297A CN 113420297 A CN113420297 A CN 113420297A CN 202010982939 A CN202010982939 A CN 202010982939A CN 113420297 A CN113420297 A CN 113420297A
- Authority
- CN
- China
- Prior art keywords
- verification
- mainboard
- motherboard
- tpcm
- firmware
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 233
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000002093 peripheral effect Effects 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 3
- JBWKIWSBJXDJDT-UHFFFAOYSA-N triphenylmethyl chloride Chemical compound C=1C=CC=CC=1C(C=1C=CC=CC=1)(Cl)C1=CC=CC=C1 JBWKIWSBJXDJDT-UHFFFAOYSA-N 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 12
- 238000012544 monitoring process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 229920006342 thermoplastic vulcanizate Polymers 0.000 description 1
Images
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
-
- 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
-
- 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/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种可信验证的系统、方法、主板、微型板卡及存储介质。根据本申请实施例提供的方案,系统在通电启动时,首先基于微型板卡上的第一可信平台控制模块TPCM对微型板卡本身进行可信验证,在验证通过之后,控制所述微型板卡中的其它部件脱离复位状态,并通过用于对主板进行可信验证的主板验证部件对所述主板进行可信验证。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种可信验证的系统、方法、主板、微型板卡及存储介质。
背景技术
随着对信息安全要求的不断提高,在设备启动时对设备中的相关信息进行可信验证已经很有必要。当前的设备的基本架构如图1A所示。在启动时,主板上的可信平台控制模块(trusted platform control module,TPCM)首先上电工作,并对主板中的各固件进行可信验证,而同时高速串行扩展总线(peripheral component interconnect express,PCIE)还没有上电工作。在这种方式下,设备启动时仍然存在一些固件(例如,PCIE中的各固件)没有进行可信验证。
基于此,需要一种在设备启动时更为全面的可信验证方案。
发明内容
有鉴于此,本申请实施例提供一种可信验证的系统、方法、主板、微型板卡及存储介质,以至少部分解决上述问题。
根据本申请实施例的第一方面,提供了一种可信验证的系统,包括:
主板;和,
微型板卡,所述微型板卡连接所述主板,所述微型板卡中包括第一可信平台控制模块TPCM;
当所述系统通电启动时,所述第一TPCM,对所述微型板卡进行可信验证;并在所述微型板卡的可信验证通过后,控制所述系统的其它部件脱离复位状态,并通过用于对主板进行可信验证的主板验证部件对所述主板进行可信验证。
根据本申请实施例的第二方面,提供了一种可信验证的主板,所述主板中包括复杂可编程逻辑器件CPLD和第二可信平台控制模块TPCM;
所述CPLD接收来自于已经通过可信验证的微型板卡的控制信号,并控制所述第二TPCM脱离复位状态;
所述第二TPCM对所述主板进行可信验证。
根据本申请实施例的第三方面,提供了一种可信验证的微型板卡,所述微型板卡连接主板,所述微型板卡中包括第一可信平台控制模块TPCM;
当设备通电启动时,所述第一TPCM,对所述微型板卡进行可信验证,并在所述微型板卡的可信验证通过后,控制其它部件脱离复位状态,并通过用于对主板进行可信验证的主板验证部件对所述主板进行可信验证。
根本本申请的第四方面,提供了一种服务器,所述服务器中包括如第二方面所述的主板。
根据本申请实施例的第五方面,提供了一种可信验证的方法,应用于包含主板和微型板卡的系统中,所述方法包括:
当所述系统通电启动时,对所述微型板卡进行可信验证,并在所述微型板卡的可信验证通过后,控制所述微型板卡中的其它部件脱离复位状态;并通过用于对主板进行可信验证的主板验证部件对所述主板进行可信验证。
根据本申请实施例的第六方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前述的可信验证的方法。
根据本申请实施例提供的方案,系统在通电启动时,首先基于微型板卡上的第一可信平台控制模块TPCM对微型板卡本身进行可信验证,在验证通过之后,控制所述微型板卡中的其它部件脱离复位状态,以正常工作,然后通过系统中的主板验证部件对主板进行可信验证,从而实现在系统启动时对于系统的全面的可信验证。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1A为当前系统所涉及的架构示意图;
图1B为本申请实施例所提供的一种可信验证的系统的示意图;
图1C为本申请实施例所提供的另一种可信验证的系统的示意图;
图1D为本申请实施例所提供的一种可信验证的主板的结构示意图;
图1E为本申请实施例所提供的一种可信验证的微型板卡的结构示意图;
图2为本申请实施例所提供的一种系统进行可信验证的流程示意图;
图3为本申请实施例所提供的一种可信验证的方法的流程示意图。
具体实施方式
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
TPCM:可信平台控制模块,Trusted Platform Control Module。TPCM中可以预先存储设备的相关信息,并用于可信验证。
FPGA:现场可编程逻辑门阵列,Field Programmable Gate Array。它是作为专用集成电路(Application Specific Integrated Circuit,ASIC)领域中的一种半定制电路而出现的,具备可编程和可存储功能。
CPLD:复杂可编程逻辑器件,Complex Programmable Logic Device。用户可以在CPLD中根据需要而自行构造逻辑功能的数字集成电路。例如,借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,将代码传送到目标芯片中,实现设计的数字系统。
PCIE:高速串行扩展总线标准,Peripheral Component Interconnect Express。在常规设备中,PCIE卡通过PCIE的规范与主板连接。
如图1A所示,图1A为当前系统所涉及的架构示意图。在这种情形下,系统通电启动时,主板中的TPCM会先上电工作,而PCIE卡不会上电。主板中的TPCM对于主板中的固件验证完毕之后,即启动系统,对于PCIE中的固件则无法进行可信验证。
微型板卡:即为自带CPU和ROM/RAM的物理板卡设备,能够运行独立的操作系统,同时可以通过系统总线连入到另外的硬件上,对该硬件上提供输入输出IO设备的虚拟、IO请求的处理和转发等服务,微型板卡上还可以包含可编程部件CPLD、FPGA等等。例如,卡上微型服务器(Microserver On Card,MOC)即为微型板卡的一种。
第一TPCM:处于微型板卡中的TPCM;
第二TPCM:处于主板中的TPCM。
基于前述,本申请实施例提供一种可信验证的系统,在启动时实现更为全面的可信验证。所述系统包括:
主板;和,卡上微型服务器微型板卡,所述微型板卡连接所述主板,所述微型板卡中包括第一可信平台控制模块TPCM;
当所述系统通电启动时,所述第一TPCM,对所述微型板卡进行可信验证,并在所述微型板卡的可信验证通过后,控制所述系统中的其它部件脱离复位状态,并通过用于对主板进行可信验证的主板验证部件对所述主板进行可信验证。
具体而言,在系统通电启动时,微型板卡先于主板进行通电启动。在微型板卡完成可信验证之前,所述主板(包括主板中的各部件)一直保持复位状态。
在微型板卡进行可信验证的流程中,微型板卡中的第一TPCM最先开始工作,此时微型板卡中的其它部件也处于复位状态,并等待第一TPCM对微型板卡进行可信验证。
在一种实施例中,在对于所述微型板卡的可信验证通过后,所述第一TPCM可以直接控制微型板卡上的部件(包括微型板卡中的其它部件和主板验证部件)脱离复位状态,并通过主板验证部件执行对主板的可信验证。
在一种实施例中,第一TPCM也可以通过相应的控制信号,来间接的控制主板上的部件(包括主板中的其它部件和主板验证部件)脱离复位状态,以使得主板验证部件开始对主板进行可行验证。
例如,第一TPCM在控制微型板卡中的其它部件脱离复位状态之后,即可以通过位于微型板卡中的其它部件中的可编程部件对所述主板中的主板验证部件进行使能操作,以通过所述主板中的主板验证部件对所述主板进行可信验证。
所述位于微型板卡中的其它部件中的可编程部件可以是设置于微型板卡中的复杂可编程逻辑器件CPLD和/或现场可编程逻辑门阵列FPGA,它们可以向主板中的CPLD发送使能信号,使得主板中的CPLD激活主板中的主板验证部件,并执行对主板的可信验证。
对所述主板进行可信验证的主板验证部件可以是微型板卡中的部件,也可以是主板中的部件。例如,第一TPCM可以通过微型板卡中的可编程部件CPLD或者FPGA发送使能信号,控制主板上的CPLD激活主板中的第二TPCM,使得第二TPCM进行对主板的可信验证。又例如,对所述主板进行可信验证的主板验证部件可以是设置于微型板卡中的FPGA模块。
如图1B所示,图1B为本申请实施例所提供的一种可信验证的系统的示意图,所述设备包括:
主板;和,卡上微型服务器微型板卡,所述微型板卡中第一TPCM和现场可编程逻辑门阵列FPGA,所述FPGA连接所述主板;具体而言,所述FPGA可以通过PCIE连接所述主板中的CPU和CPLD。
当所述系统通电启动时,所述第一TPCM,对所述微型板卡进行可信验证,并在所述微型板卡的可信验证通过后,控制所述微型板卡中的其它部件脱离复位状态;
所述FPGA用于,在所述微型板卡的可信验证通过后,对所述主板进行可信验证。
换言之,当该系统通电启动时,微型板卡中的第一TPCM会先上电工作,充当对于微型板卡执行可信验证的部件。此时,微型板卡上的其它部件(包括FPGA)和主板上的部件均处在复位状态。
如图1B所示,由于微型板卡中的固件包括诸如片上系统(System on Chip,SOC)、基本输入输出系统(Basic Input Output System,BIOS)、基板管理控制器(BaseboardManager Controller,BMC)等多个部件,各部件中可能存在一些固件或者一些系统代码,第一TPCM对于微型板卡的可信验证可以包括对这些部件的固件或者系统代码的可信验证。
具体而言,第一TPCM在通电工作时,首先处于串行外围设备接口(SerialPeripheral Interface,SPI)主模式,在该模式下,可以基于SPI主接口读取微型板卡的BIOS中和BMC中的固件,并对BIOS和BMC中的固件进行可信验证。
第一TPCM可以在第一TPCM的寄存器中预先存储一份可信度量根(例如,由可信硬件预先得到的固件的哈希值,或者预先存储的固件的指定位置的可信的部分代码),具体的验证方式可以是第一TPCM确认所述固件的固件度量值(即固件的哈希值,或者固件的指定位置的代码),将固件度量值与预存的可信度量根进行匹配,若二者一致,则确认所述固件可信。
在确定了BIOS和BMC中的固件可信之后,此时,第一TPCM即可以发出SOC复位失效信号和BMC复位失效信号,使得SOC和BMC脱离复位状态,开始正常工作,SOC开始加载所述BIOS中的固件,所述BMC开始加载所述BMC中的固件。
在SOC和BMC加载固件完毕之后,第一TPCM切换为SPI从模式,开始与SOC的SPI主控进程进行通信,被动地接受连接到微型板卡上的外围设备和预设的微型板卡信息,并对外围设备和预设的微型板卡信息。具体的外围设备可以包括连接于微型板卡的外围设备的型号、唯一标识、名称等等,微型板卡信息可以包括连接于微型板卡的各外围设备中的固件代码以及SOC的版本等等。
在对于所述微型板卡上的外围设备和预设的微型板卡信息进行可信验证通过后,此时第一TPCM即可以对所述SOC的系统代码进行可信验证。在SOC的操作系统的系统代码进行可信验证之后,此时即说明了微型板卡本身已经是可信的了,此时所述SOC加载所述SOC的系统代码,完成对于微型板卡的启动。
对于外围设备、预设的微型板卡信息和SOC的系统代码进行可信验证的方式,与对于微型板卡中的固件进行可信验证的方式类似,此处不再赘述。
在对于微型板卡完成可信验证之后,此时FPGA已经被第一TPCM指示脱离了复位状态,开始正常工作,并作为主要的实现对主板实现可信验证的功能模块,此时,主板中的部件仍然均处于复位状态。
主板中包含有主板中的BIOS和BMC,以及存在于主板上的操作系统等部件,具体而言,所述FPGA对于主板进行可信验证,可以包括对于主板中的BIOS、BMC和主板上的操作系统进行可信验证。
具体而言,当微型板卡已经完成可信验证,而主板上的部件仍然均处于复位状态时,此时可以通过FPGA上的SPI主设备,对获取所述主板中的固件,并对所述主板中的固件进行可信验证,其中主板中的固件包括所述主板的基本输入输出系统BIOS的固件和所述主板的基板管理控制器BMC的固件。
具体的验证方式与前述类似,FPGA可以预先存储一份可信度量根(例如,由可信硬件预先得到的固件的哈希值,或者预先存储的固件的指定位置的可信的部分代码),具体的验证方式可以是FPGA确认所述主板上的固件的固件度量值(即固件的哈希值,或者固件的指定位置的代码),将固件度量值与预存的可信度量根进行匹配,若二者一致,则确认所述主板上的固件可信。
在FPGA对所述主板中的固件进行可信验证通过之后,FPGA即发送出主板上的BMC和BIOS的复位失效的信号,控制所述主板的BIOS和BMC脱离复位状态,同时所述主板的平台控制器集线器(Platform Controller Hub,PCH,又称为集成南桥)加载所述主板的BIOS中的固件,所述主板的BMC加载所述主板的BMC中的固件。
在BIOS和BMC中的固件被加载完毕之后,所述FPGA,切换为串行外围设备接口SPI从模式,对所述主板中的外围设备和预设的主板信息进行可信验证。主板中的外围设备可以包括连接于主板的外围设备的型号、唯一标识、名称等等,预设的主板信息可以包括各连接于主板的外围设备中的固件代码、主板上的操作系统的版本等等。
进而,所述FPGA对所述主板中的外围设备和预设的主板信息进行可信验证通过之后,FPGA对所述主板上的操作系统的代码进行可信验证,在验证通过后,所述主板加载所述主板上的操作系统的代码,从而构建了整个系统的硬件可信环境。
此外,需要说明的是,前述对于微型板卡的可信验证的过程中具体顺序的实现和相关复位信号的传递可以通过在CPLD中进行编程而可以实现。
在另一种实施例中,对所述主板进行可信验证的其它部件可以是主板中的第二TPCM,如图1C所示,图1C为本申请实施例所提供的另一种可信验证的系统的示意图,所述系统包括:
主板;和,卡上微型服务器微型板卡,所述微型板卡中包括第一可信平台控制模块TPCM,所述主板中包括第二可信平台控制模块TPCM;
当所述系统通电启动时,所述第一TPCM,对所述微型板卡进行可信验证,并在所述微型板卡的可信验证通过后,控制所述微型板卡中的其它部件脱离复位状态,并通过脱离复位状态后的所述其它部件中的可编程部件(例如,微型板卡中的CPLD)对所述主板中的主板验证部件进行使能操作,以通过所述主板中的第二TPCM对所述主板进行可信验证。
第一TPCM对于微型板卡的可信验证过程在前述部分已经进行了说明,此处不再赘述。
在第一TPCM对于微型板卡的可信验证通过后,此时,微型板卡上已经脱离复位状态的BMC可以产生主板控制信号,该控制信号经过设置于所述微型板卡中的可编程部件发送至所述主板,所述主板根据所述控制指令,控制所述第二TPCM脱离复位状态,所述第二TPCM对所述主板进行可信验证。
具体而言,所述微型板卡中的可编程部件可以是设置于微型板卡中的复杂可编程逻辑器件CPLD或者现场可编程逻辑门阵列FPGA。
在主板中接收该控制指令的可以是设置于主板中的复杂可编程逻辑器件CPLD,进而主板上的CPLD根据该控制信号控制所述第二TPCM脱离复位状态,并开始对主板执行可信验证。此时的第二TPCM对主板进行可信验证的流程具体如下:
第二TPCM,读取所述主板中的固件,并对所述主板中的固件进行可信验证,其中主板中的固件包括所述主板的基本输入输出系统BIOS的固件和所述主板的基板管理控制器BMC的固件。当计算得到的固件度量值与预存在第二TPCM中的值一致时,验证通过。
然后所述第二TPCM发出控制信号,控制所述主板的BIOS和BMC脱离复位状态并开始加载已经验证过的固件。进而,所述第二TPCM,切换为串行外围设备接口SPI从模式,主板中的与PCH的SPI主控进行通信,并对所述主板中的外围设备和预设的主板信息进行可信验证,在对于外设和主板信息的验证通过之后,第二TPCM即对所述主板上的操作系统的代码进行可信验证,并在验证通过之后启动系统。
根据本申请实施例提供的方案,系统在通电启动时,首先基于微型板卡上的第一可信平台控制模块TPCM对微型板卡本身可信验证,在验证通过之后,控制所述微型板卡中的其它部件脱离复位状态,以正常工作,然后再通过用于对主板进行可信验证的主板验证部件对所述主板进行可信验证,从而实现在系统启动时对于系统的全面的可信验证。
需要说明的是,在前述的可信验证过程中,如果存在任一部件的可信验证失败,即可以中断系统的启动过程,以维护系统的安全运行环境。
此外,在一种实施例中,当启动以后主板在正常运行的过程中,微型板卡中的FPGA还可以对于主板的内存中的信息进行监测,以确定所述主板中运行的内容是否可信。主板的内存中的信息可以包括运行的进程的名称、进程的数量、进程占用的空间、进程调用的接口等等。
进一步地,FPGA对所述内存中的信息进行监测可以包括确定获取得到的内存中的信息的哈希值;将所述内存中的信息的哈希值与FPGA中预存的哈希值进行匹配。
预存的哈希值可以是一些对主板上的数据或程序的安全性产生不良影响的危险进程的名称或者标识所对应的哈希值,相当于黑名单。从而如果主板上的内存中存在某个进程的相关的哈希值与预存的哈希值相同,则可以认为主板所处的设备上运行了某些存在安全风险的进程;或者,预存的哈希值也可以是已经被确认的安全进程的名称或者标识所对应的哈希值,相当于白名单,从而如果主板上的内存中存在某个进程的相关哈希值与预先存储的哈希值不相同,则可以认为该进程是存在安全风险的进程。进而可以对存在安全风险的进程实施相应的监控,或者可以调用微型板卡强制关闭该进程,以实现动态的安全环境的维护。
在一种实施例中,该系统中的主板可以是服务器主板。
为使本申请的方案更为浅显易懂,以下给出一个更为具体的示例,如图2所示,图2为本申请实施例所提供的一种系统进行可信验证的流程示意图,在该示意图中,采用了系统的微型板卡中的FPGA模块对于主板进行可信验证,其具体包括:
201,系统通电,开始启动;
其中,所述系统中包含有微型板卡和主板。
202,微型板卡中的第一TPCM上电工作,其余部件均处于复位状态;
203,第一TPCM验证微型板卡的BIOS和BMC中的固件;
204,验证通过,微型板卡上的SOC和BMC脱离复位状态,微型板卡上的SOC和BMC加载固件;
205,第一TPCM切换为从模式,验证微型板卡的外设和微型板卡信息;
206,验证通过,第一TPCM验证SOC的系统代码;
207,验证通过,微型板卡上的FPGA验证主板的BIOS及BMC中的固件;
208,验证通过,主板上的BIOS和BMC脱离复位状态,主板上的BIOS和BMC加载固件;
209,FPGA切换为从模式,验证主板的外设和主板信息;
210,验证通过,FPGA验证主板上的操作系统的代码;
211,验证通过,主板加载所述主板上的操作系统的代码,设备启动。
前述任一可信验证失败,均可以中断系统的启动过程。
在系统启动之后,FPGA还可以监测主板中的内存信息,实现对于系统的安全环境的动态的监测。
本申请的第二方面,还提供一种可信验证的主板,如图1D所示,图1D为本申请实施例所提供的一种可信验证的主板的结构示意图,所述主板中包括复杂可编程逻辑器件CPLD和第二可信平台控制模块TPCM;
所述CPLD接收来自于已经通过可信验证的微型板卡的控制信号,并控制所述第二TPCM脱离复位状态;
所述第二TPCM对所述主板进行可信验证。
本申请的第三方面,还提供一种可信验证的微型板卡,如图1E所示,图1E为本申请实施例所提供的一种可信验证的微型板卡的结构示意图,所述微型板卡连接主板(图中未示出),所述微型板卡中包括第一可信平台控制模块TPCM;
当设备通电启动时,所述第一TPCM,对所述微型板卡进行可信验证,并在所述微型板卡的可信验证通过后,控制其它部件脱离复位状态,并通过用于对主板进行可信验证的主板验证部件对所述主板进行可信验证。
其中,主板验证部件包括设置于微型板卡中的现场可编程逻辑门阵列FPGA,和/或,复杂可编程逻辑器件CPLD。
本申请实施例的第四方面,还提供一种服务器,包括:如第二方面所述的可信验证的主板;
进一步地,在所述服务器中,还包括如第三方面所述的可信验证的微型板卡。
本申请实施例的第五方面,还提供一种可信验证的方法,应用于包含主板和微型板卡的系统中,如图3所示,图3为本申请实施例所提供的一种可信验证的方法的流程示意图,所述方法具体包括:
S301,当所述系统通电启动时,对所述微型板卡进行可信验证,并在所述微型板卡的可信验证通过后,控制所述微型板卡中的其它部件脱离复位状态;
S303,通过用于对主板进行可信验证的主板验证部件对所述主板进行可信验证。可选地,对所述微型板卡进行可信验证可以采用微型板卡中的第一TPCM对所述微型板卡进行可信验证;
可选地,所述第一TPCM在所述微型板卡的可信验证通过后,控制所述微型板卡中的其它部件和所述主板验证部件脱离复位状态,并通过脱离复位状态后的所述主板验证部件对所述主板进行可信验证;
可选地,所述微型板卡中的所述主板验证部件包括设置于所述微型板卡中的现场可编程逻辑门阵列FPGA,所述FPGA连接所述主板;所述微型板卡通过所述FPGA对所述主板进行可信验证。
可选地,所述第一TPCM在所述微型板卡的可信验证通过后,控制所述微型板卡中的其它部件脱离复位状态,并通过脱离复位状态后的所述其它部件中的可编程部件对所述主板中的主板验证部件进行使能操作,以通过所述主板中的主板验证部件对所述主板进行可信验证。
可选地,所述主板中的主板验证部件包括所述主板中的第二TPCM;所述微型板卡通过所述可编程部件对所述主板中的主板验证部件进行使能操作,以通过所述主板中的第二TPCM对所述主板进行可信验证。
可选地,所述微型板卡通过设置于所述微型板卡中的可编程部件发送控制指令至所述主板;所述主板根据所述控制指令,控制所述第二TPCM脱离复位状态,并通过所述第二TPCM对所述主板进行可信验证。
可选地,所述可编程部件包括:复杂可编程逻辑器件CPLD和/或现场可编程逻辑门阵列FPGA。
可选地,所述微型板卡中还包括基本输入输出系统BIOS和基板管理控制器BMC,对所述微型板卡进行可信验证包括,读取固件,对所述固件进行可信验证,其中,所述固件包括所述微型板卡的基本输入输出系统BIOS中的固件和所述微型板卡的BMC中的固件。
可选地,对所述固件进行可信验证,包括:确认所述固件的哈希值,与预存的哈希值进行匹配,若二者一致,则确认所述固件可信。
可选地,当对所述固件进行可信验证通过后,控制所述SOC和所述BMC脱离复位状态;相应的,所述SOC加载所述BIOS中的固件,以及,所述BMC加载所述BMC中的固件;
可选地,对所述微型板卡进行可信验证,包括:所述第一TPCM切换为串行外围设备接口SPI从模式,对所述微型板卡上的外围设备和预设的微型板卡信息进行可信验证。
可选地,所述微型板卡上的外围设备和预设的微型板卡信息进行可信验证通过后;对所述SOC的系统代码进行可信验证,在验证通过后,所述SOC加载所述SOC的系统代码。
可选地,对所述主板进行可信验证,包括:获取所述主板中的固件,并对所述主板中的固件进行可信验证,其中主板中的固件包括所述主板的基本输入输出系统BIOS的固件和所述主板的基板管理控制器BMC的固件。
可选地,在所述主板的可信验证通过之后,控制所述主板脱离复位状态,包括:对所述主板中的固件进行可信验证通过之后,控制所述主板的BIOS和BMC脱离复位状态;所述主板的平台控制器集线器PCH加载所述主板的BIOS中的固件,所述主板的BMC加载所述主板的BMC中的固件。
可选地,对所述主板进行可信验证,包括:对所述主板中的外围设备和预设的主板信息进行可信验证。
可选地,对所述主板中的外围设备和预设的主板信息进行可信验证通过之后,对所述主板上的操作系统的代码进行可信验证,在验证通过后,所述主板加载所述主板上的操作系统的代码。
可选地,获取所述主板的内存中的信息,对所述内存中的信息进行监测。
可选地,对所述内存中的信息进行监测,包括:确定获取得到的内存中的信息的代码的哈希值;将所述内存中的信息的代码的哈希值与预存的哈希值进行匹配。
可选地,当所述系统通电启动时,所述微型板卡先于所述主板通电启动,且,在所述微型板卡的可信验证通过之前,所述主板保持复位状态;相应的,在所述微型板卡的可信验证通过后,所述微型板卡控制所述通过主板脱离复位状态。
可选地,所述主板为服务器主板。
根据本申请实施例提供的方案,系统在通电启动时,首先基于微型板卡上的第一可信平台控制模块TPCM对微型板卡本身可信验证,在验证通过之后,控制所述微型板卡中的其它部件脱离复位状态,以正常工作,然后通过用于对主板进行可信验证的主板验证部件对所述主板进行可信验证,从而实现在系统启动时对于系统的全面的可信验证。
本申请实施例的第六方面,还提供一种计算机机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如图3所述的可信验证的方法。
需要指出,根据实施的需要,可将本申请实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本申请实施例的目的。
上述根据本申请实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的可信验证的方法。此外,当通用计算机访问用于实现在此示出的可信验证的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的可信验证的方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
以上实施方式仅用于说明本申请实施例,而并非对本申请实施例的限制,有关技术领域的普通技术人员,在不脱离本申请实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本申请实施例的范畴,本申请实施例的专利保护范围应由权利要求限定。
Claims (31)
1.一种可信验证的系统,包括:
主板;和,
微型板卡,所述微型板卡连接所述主板,所述微型板卡中包括第一可信平台控制模块TPCM;
当所述系统通电启动时,所述第一TPCM,对所述微型板卡进行可信验证;并在所述微型板卡的可信验证通过后,控制所述微型板卡的其它部件脱离复位状态,并通过用于对主板进行可信验证的主板验证部件对所述主板进行可信验证。
2.如权利要求1所述的系统,其中,所述第一TPCM在所述微型板卡的可信验证通过后,控制所述微型板卡中的其它部件和所述主板验证部件脱离复位状态,并通过脱离复位状态后的所述主板验证部件对所述主板进行可信验证。
3.如权利要求2所述的系统,其中,所述微型板卡中的所述主板验证部件包括设置于所述微型板卡中的现场可编程逻辑门阵列FPGA,所述FPGA连接所述主板;
所述微型板卡通过所述FPGA对所述主板进行可信验证。
4.如权利要求1所述的系统,其中,所述第一TPCM在所述微型板卡的可信验证通过后,控制所述微型板卡中的其它部件脱离复位状态,并通过脱离复位状态后的所述其它部件中的可编程部件对所述主板中的主板验证部件进行使能操作,以通过所述主板中的主板验证部件对所述主板进行可信验证。
5.如权利要求4所述的系统,其中,所述主板中的主板验证部件包括所述主板中的第二TPCM;
所述微型板卡通过所述可编程部件对所述主板中的主板验证部件进行使能操作,以通过所述主板中的第二TPCM对所述主板进行可信验证。
6.如权利要求5所述的系统,其中,
所述微型板卡通过设置于所述微型板卡中的可编程部件发送控制指令至所述主板;
所述主板根据所述控制指令,控制所述第二TPCM脱离复位状态,并通过所述第二TPCM对所述主板进行可信验证。
7.如权利要求4-6任一项所述的系统,其中,所述可编程部件包括:复杂可编程逻辑器件CPLD和/或现场可编程逻辑门阵列FPGA。
8.如权利要求1所述的系统,其中,所述微型板卡中还包括基本输入输出系统BIOS和基板管理控制器BMC;
所述第一TPCM,对所述微型板卡进行可信验证,包括:所述第一TPCM读取固件,对所述固件进行可信验证,其中,所述固件包括所述微型板卡的基本输入输出系统BIOS中的固件和所述微型板卡的BMC中的固件。
9.如权利要求8所述的系统,其中,所述第一TPCM读取固件,对所述固件进行可信验证,包括:
所述第一TPCM读取固件,确认所述固件的哈希值,与预存于所述第一TPCM中的哈希值进行匹配,若二者一致,则确认所述固件可信。
10.如权利要求8所述的系统,其中,所述微型板卡中还包括片上系统SOC;
当对所述固件进行可信验证通过后,所述第一TPCM控制所述SOC和所述BMC脱离复位状态;
相应的,所述SOC加载所述BIOS中的固件,以及,所述BMC加载所述BMC中的固件。
11.如权利要求10所述的系统,其中,所述第一TPCM,对所述微型板卡进行可信验证,包括:
所述第一TPCM切换为串行外围设备接口SPI从模式,对所述微型板卡上的外围设备和预设的微型板卡信息进行可信验证。
12.如权利要求11所述的系统,其中,当所述微型板卡上的外围设备和预设的微型板卡信息进行可信验证通过后,
所述第一TPCM对所述SOC的系统代码进行可信验证,在验证通过后,所述SOC加载所述SOC的系统代码。
13.如权利要求3所述的系统,其中,所述微型板卡通过所述FPGA对所述主板进行可信验证包括:
所述FPGA,获取所述主板中的固件,并对所述主板中的固件进行可信验证,其中主板中的固件包括所述主板的基本输入输出系统BIOS的固件和所述主板的基板管理控制器BMC的固件。
14.如权利要求13所述的系统,其中,所述FPGA还用于,对所述主板中的固件进行可信验证通过之后,控制所述主板的BIOS和BMC脱离复位状态;
相应的,所述主板的平台控制器集线器PCH加载所述主板的BIOS中的固件,所述主板的BMC加载所述主板的BMC中的固件。
15.如权利要求14所述的系统,其中,所述微型板卡通过所述FPGA对所述主板进行可信验证,包括:
所述FPGA,切换为串行外围设备接口SPI从模式,对所述主板上的外围设备和预设的主板信息进行可信验证。
16.如权利要求15所述的系统,其中,所述微型板卡通过所述FPGA对所述主板进行可信验证,包括:
当对所述主板上的外围设备和预设的主板信息进行可信验证通过之后,所述FPGA,对所述主板上的操作系统的代码进行可信验证。
17.如权利要求3所述的系统,其中,所述FPGA还用于,获取所述主板的内存中的信息,对所述内存中的信息进行监测。
18.如权利要求17所述的系统,其中,所述FPGA还用于,对所述内存中的信息进行监测,包括:
确定获取得到的内存中的信息的哈希值;
将所述内存中的信息的哈希值与FPGA中预存的哈希值进行匹配。
19.如权利要求5所述的系统,其中,所述微型板卡通过所述其它部件控制所述主板中的第二TPCM对所述主板进行可信验证,包括:
所述第二TPCM,读取所述主板中的固件,并对所述主板中的固件进行可信验证,其中主板中的固件包括所述主板的基本输入输出系统BIOS的固件和所述主板的基板管理控制器BMC的固件。
20.如权利要求19所述的系统,其中,所述第二TPCM还用于,对所述主板中的固件进行可信验证通过之后,控制所述主板的BIOS和BMC脱离复位状态。
21.如权利要求19所述的系统,其中,所述微型板卡通过所述其它部件控制所述主板中的第二TPCM对所述主板进行可信验证,包括:
所述第二TPCM,切换为串行外围设备接口SPI从模式,对所述主板中的外围设备和预设的主板信息进行可信验证。
22.如权利要求21所述的系统,其中,所述微型板卡通过所述其它部件控制所述主板中的所述第二TPCM对所述主板进行可信验证,包括:
当对所述主板中的外围设备和预设的主板信息进行可信验证通过之后,所述第二TPCM,对所述主板上的操作系统的代码进行可信验证。
23.如权利要求1所述的系统,其中,当所述系统通电启动时,包括:
当所述系统通电启动时,所述微型板卡先于所述主板通电启动,且,在所述微型板卡的可信验证通过之前,所述主板保持复位状态;
相应的,在所述微型板卡的可信验证通过后,所述微型板卡控制所述通过主板脱离复位状态。
24.如权利要求1所述的系统,其中,所述主板为服务器主板。
25.一种可信验证的主板,所述主板中包括复杂可编程逻辑器件CPLD和第二可信平台控制模块TPCM;
所述CPLD接收来自于已经通过可信验证的微型板卡的控制信号,并控制所述第二TPCM脱离复位状态;
所述第二TPCM对所述主板进行可信验证。
26.一种可信验证的微型板卡,所述微型板卡连接主板,所述微型板卡中包括第一可信平台控制模块TPCM;
当设备通电启动时,所述第一TPCM,对所述微型板卡进行可信验证,并在所述微型板卡的可信验证通过后,控制其它部件脱离复位状态,并通过用于对主板进行可信验证的主板验证部件对所述主板进行可信验证。
27.如权利要求26所述的微型板卡,其中,所述主板验证部件包括现场可编程逻辑门阵列FPGA,和/或,复杂可编程逻辑器件CPLD。
28.一种服务器,包括:如权利要求25所述的主板。
29.如权利要求28所述的服务器,其中,所述服务器还包括:如权利要求26或27所述的微型板卡。
30.一种可信验证的方法,应用于包含主板和微型板卡的系统中,所述方法包括:
当所述系统通电启动时,对所述微型板卡进行可信验证,并在所述微型板卡的可信验证通过后,控制所述微型板卡中的其它部件脱离复位状态,并通过用于对主板进行可信验证的主板验证部件对所述主板进行可信验证。
31.一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求30所述的可信验证的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010982939.8A CN113420297A (zh) | 2020-09-16 | 2020-09-16 | 一种可信验证的系统、方法、主板、微型板卡及存储介质 |
US18/026,582 US20240028738A1 (en) | 2020-09-16 | 2021-09-09 | Trusted verification system and method, motherboard, micro-board card, and storage medium |
PCT/CN2021/117387 WO2022057720A1 (zh) | 2020-09-16 | 2021-09-09 | 一种可信验证的系统、方法、主板、微型板卡及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010982939.8A CN113420297A (zh) | 2020-09-16 | 2020-09-16 | 一种可信验证的系统、方法、主板、微型板卡及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113420297A true CN113420297A (zh) | 2021-09-21 |
Family
ID=77711557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010982939.8A Pending CN113420297A (zh) | 2020-09-16 | 2020-09-16 | 一种可信验证的系统、方法、主板、微型板卡及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240028738A1 (zh) |
CN (1) | CN113420297A (zh) |
WO (1) | WO2022057720A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114090488A (zh) * | 2021-11-11 | 2022-02-25 | 深圳市同泰怡信息技术有限公司 | 可信度量扩展板、基本输入输出系统以及可信度量方法和装置 |
CN114357536A (zh) * | 2021-12-24 | 2022-04-15 | 锋微固件(深圳)有限公司 | 一种基于国产飞腾平台板卡bios防护系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116467721B (zh) * | 2023-05-25 | 2023-11-24 | 合芯科技(苏州)有限公司 | Cpld的校验方法、装置、服务器启动方法及服务器 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7752428B2 (en) * | 2005-03-31 | 2010-07-06 | Intel Corporation | System and method for trusted early boot flow |
CN109753804A (zh) * | 2018-12-26 | 2019-05-14 | 北京可信华泰信息技术有限公司 | 一种可信系统 |
CN111008379B (zh) * | 2019-11-22 | 2023-02-28 | 腾讯科技(深圳)有限公司 | 电子设备的固件安全检测方法及相关设备 |
-
2020
- 2020-09-16 CN CN202010982939.8A patent/CN113420297A/zh active Pending
-
2021
- 2021-09-09 US US18/026,582 patent/US20240028738A1/en active Pending
- 2021-09-09 WO PCT/CN2021/117387 patent/WO2022057720A1/zh active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114090488A (zh) * | 2021-11-11 | 2022-02-25 | 深圳市同泰怡信息技术有限公司 | 可信度量扩展板、基本输入输出系统以及可信度量方法和装置 |
CN114357536A (zh) * | 2021-12-24 | 2022-04-15 | 锋微固件(深圳)有限公司 | 一种基于国产飞腾平台板卡bios防护系统 |
Also Published As
Publication number | Publication date |
---|---|
US20240028738A1 (en) | 2024-01-25 |
WO2022057720A1 (zh) | 2022-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112560004B (zh) | 完整性确定方法和系统 | |
CN113420297A (zh) | 一种可信验证的系统、方法、主板、微型板卡及存储介质 | |
US8544092B2 (en) | Integrity verification using a peripheral device | |
JP5270377B2 (ja) | ブリッジサポートを有するプラットフォーム起動 | |
US9292302B2 (en) | Allowing bypassing of boot validation in a computer system having secure boot enabled by default only under certain circumstances | |
US7937575B2 (en) | Information processing system, program product, and information processing method | |
US11579893B2 (en) | Systems and methods for separate storage and use of system BIOS components | |
US11106798B2 (en) | Automatically replacing versions of a key database for secure boots | |
US9959125B2 (en) | Field update of boot loader using regular device firmware update procedure | |
CN101221509A (zh) | 可信嵌入式平台总线仲裁启动方法 | |
EP3138041A1 (en) | Verified boot | |
CN113901473B (zh) | 一种服务器安全启动的方法、装置、设备及可读介质 | |
CN110909360A (zh) | 基于双系统的电子设备安全启动方法及装置 | |
US10540500B2 (en) | Method of securely booting a computer system and a computer system | |
KR100977267B1 (ko) | 신뢰할 수 있는 플랫폼에서의 물리적 존재 판정 방법 | |
CN115827522A (zh) | Bios的设置方法、bios芯片和电子设备 | |
CN113626792A (zh) | PCIe Switch固件安全执行方法、装置、终端及存储介质 | |
CN111625836B (zh) | 门卫式电子设备的可信引导方法 | |
US11960337B2 (en) | Customized thermal and power policies in computers | |
WO2024045828A1 (zh) | 操作系统安全启动方法、操作系统安装方法及相关装置 | |
CN114077738A (zh) | 快速外设组件互联设备启动方法、装置以及存储介质 | |
CN114611116A (zh) | 设备启动方法、装置、电子设备及计算机可读存储介质 | |
CN117421736A (zh) | 一种计算机的可信启动系统及方法 | |
CN118260727A (zh) | 安全性得到强化的重编程方法及其装置 | |
CN118626155A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40059916 Country of ref document: HK |