CN115858448A - 一种多处理器计算设备及其可信链构建方法 - Google Patents
一种多处理器计算设备及其可信链构建方法 Download PDFInfo
- Publication number
- CN115858448A CN115858448A CN202211639252.XA CN202211639252A CN115858448A CN 115858448 A CN115858448 A CN 115858448A CN 202211639252 A CN202211639252 A CN 202211639252A CN 115858448 A CN115858448 A CN 115858448A
- Authority
- CN
- China
- Prior art keywords
- code
- root
- processor
- trusted
- verification
- 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
- 238000010276 construction Methods 0.000 title claims abstract description 9
- 238000012795 verification Methods 0.000 claims abstract description 44
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000012550 audit Methods 0.000 claims description 12
- 238000005259 measurement Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 241000579895 Chlorostilbon Species 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000010976 emerald Substances 0.000 description 1
- 229910052876 emerald Inorganic materials 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000007124 immune defense Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000010977 jade Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本说明书实施例公开了一种多处理器计算设备及其可信链构建方法,所述计算设备包括两个以上处理器,所述方法包括:启动位于所述计算设备上的第一可信根;通过第一可信根分别验证各处理器的首代码,并在验证通过后启动对应处理器的首代码;对于所述两个以上处理器中的每一个:首代码对其下一级代码进行验证,并在验证通过后启动其下一级代码;首代码的下一级代码对再下一级代码进行验证,并在验证通过后启动所述再下一级代码;依此,逐层验证并启动下一级的代码,进而完成该处理器的可信链建立;其中,与各所述验证相关的信息被存储在第一可信根中。
Description
技术领域
本发明涉及信息安全技术领域,特别涉及一种多处理器计算设备及其可信链的构建方法。
背景技术
可信计算体系构建了一种“宿主—可信双节点”的可信免疫架构。具体的,在计算设备(或称为宿主设备)自有的系统之外构建了一个逻辑上独立的可信系统,上电启动时该可信系统会为宿主设备创建一条从计算设备的底层软硬件到应用程序的可信链,进而为宿主设备提供自下而上的全面保护。
随着人们对计算性能的要求不断提高,一个计算设备中常具有两个甚至更多的处理器,由此,如何构建多处理器计算设备的可信链,为多处理器计算设备提供更好的安全支撑是亟待解决的技术问题。
发明内容
本说明书实施例之一提供一种多处理器计算设备的可信链构建方法,所述计算设备包括两个以上处理器,所述方法包括:启动位于所述计算设备上的第一可信根;通过第一可信根分别验证各处理器的首代码,并在验证通过后启动对应处理器的首代码;对于所述两个以上处理器中的每一个:首代码对其下一级代码进行验证,并在验证通过后启动其下一级代码;首代码的下一级代码对再下一级代码进行验证,并在验证通过后启动所述再下一级代码;依此,逐层验证并启动下一级的代码,进而完成该处理器的可信链建立;其中,与各所述验证相关的信息被存储在第一可信根中。
本说明书实施例之一提供一种多处理器计算设备,包括第一可信根以及两个以上处理器;其中,所述第一可信根用于在启动后分别验证各处理器的首代码,并在验证通过后启动对应处理器的首代码;所述两个以上处理器中的每一个用于:通过首代码对其下一级代码进行验证,并在验证通过后通过首代码启动其下一级代码;通过首代码的下一级代码对再下一级代码进行验证,并在验证通过后通过所述首代码的下一级代码启动所述再下一级代码;依此,逐层验证并启动下一级的代码,进而完成该处理器的可信链建立;其中,与各所述验证相关的信息被存储在第一可信根中。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的多处理器计算设备的可信链构建方法的示例性流程图;
图2是根据本说明书一些实施例所示的计算设备的结构示意图;
图3是根据本说明书一些实施例所示的主处理器的可信链示意图;
图4是根据本说明书一些实施例所示的协处理器的可信链示例图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
为了有效的应对当前形式下的计算机信息安全需求,人们提出了全新的可信计算体系框架。它在计算设备中构建了一个“宿主—可信双节点”的可信免疫架构。具体的,在计算设备(或称为宿主设备)自有的系统之外构建了一个逻辑上独立的可信系统,为宿主设备提供自下而上的可信支撑。
可信系统(又可称为可信计算平台)可以进一步包括可信根以及可信软件基。其中,可信根为可信系统的基础功能模块,是无法检测到不当行为而必须信任的最小计算系统,可以基于安全芯片实现,进一步包括可信度量根、可信存储根以及可信报告根。其中,可信度量根(root of trust for measurement,RTM)是可信系统进行可信度量的基点,其在计算设备自身系统中的首代码,如BIOS,之前启动,用以对计算设备的重要底层计算资源进行可信度量。具体的,RTM按照预设的度量方式对计算设备的重要资源数据进行度量,度量方式可以包括但不限于计算数字摘要、散列值、加解密等。例如在计算设备出厂时对其初始的资源数据计算散列值,并将散列值作为可信度量值进行安全存储;在计算设备启动或运行时,RTM重新计算重要资源数据的散列值,并与存储的初始散列值比较以实现完整性度量。又例如,可以从生产厂商处获取计算设备中代码的数字签名,如BIOS的数字签名、OS加载器的数字签名等,在计算设备启动或运行时,RTM重新计算重要资源数据的数字摘要,并基于相关代码的数字签名以及代码厂商的公钥得到数字签名的数字摘要,通过比对当前计算出的数字摘要与数字签名中的数字摘要验证相关代码的完整性。可信存储根(root oftrust for storage,RTS)是对可信度量值,如计算设备的重要资源数据的可信散列值或数字签名(或统称为基准值),进行安全存储的基点,除此,RTS还可以存储度量过程中的其他信息,如重新计算的散列值、重新计算的散列值与基准值的比较结果等。可信报告根(rootof trust for report,RTR)可以响应于请求方的证明请求,向请求方发送具有数字签名的审计报告,以向请求方证明可信系统对计算设备中计算资源的度量情况。可信软件基(TSB,Trusted Software Base)为向计算设备的可信性提供支持的软件元素的集合,在计算设备启动后的运行过程中对其系统内部的数据请求或数据访问进行主动拦截和度量保护,实现动态免疫防御的安全能力。在一些实施例中,对计算设备内部的访问控制情况可以以日志形式存储在RTS中。
多处理器计算设备包含两个以上的处理器,如CPU(中央处理器,CentralProcessing Unit)、DPU(数据处理器,Data Processing Unit)、GPU(图像处理器,GraphicsProcessing Unit)、DSA(领域特定构架,Domain Specific Architecture)等,处理器之间可以彼此交换数据,实现作业、任务以及程序等的并行执行。在一些实施例中,计算设备可以包括一个主处理器以及一个或多个协处理器(或简称为XPU)。协处理器可以有自己的OS(Operating System)、内存以及硬盘等软硬件资源,相当于一个完整的小型(相对于计算设备而言)计算机系统,协处理器可以通过PCIE接口与计算设备的主板进行通信连接。在实际应用中,协处理器主要用于协助主处理器完成其无法执行或执行效率、效果低下的工作。作为示例,用于图像处理的计算设备中的CPU作为主处理器,GPU作为协处理器,协处理器GPU协助主处理器完成图像处理等相关计算,从而将主处理器从图像处理相关任务中“解放”出来,以更多的资源处理计算设备内部的其他事务。又例如用于安全计算的计算设备中,DPU作为协处理器,主要负责数据加解密等处理,主处理器可以调用协处理器以完成计算设备内部的数据加解密。随着信息安全技术的发展,各类处理器可以内置有可信根、独立可信子系统或TEE(可信执行环境,Trusted Execution Environment)等,作为处理器内部的可信起点并在处理器内部建立信任链。然而在多处理器计算设备中,这些处理器自身安全启动实现可信链单一传递,可信链之间不能交互协同,对整体计算设备的安全应用支持不友好,限制了整个系统的安全水位。为此本说明书一些实施例提供了一种多处理器计算设备的可信链构建方法。
图1是根据本说明书一些实施例所示的多处理器计算设备的可信链构建方法的示例性流程图。
在一些实施例中,多处理器计算设备包括第一可信根以及两个以上处理器。如图1所示,流程100可以包括如下步骤:
步骤110,启动位于计算设备上的第一可信根。
关于第一可信根的详细描述可以参见前文的可信根说明,在此不再赘述。第一可信根是计算设备中无法检测到不当行为而必须信任的最小计算系统,在计算设备自身系统启动之前,先对第一可信根进行上电启动。
步骤120,通过第一可信根分别验证各处理器的首代码,并在验证通过后启动对应处理器的首代码。
处理器的首代码是第一可信根验证的各处理器的一段代码,可以看作在各处理器内部可信链起始的地方。在一些实施例中,对于主处理器来说,首代码可以是BIOS。对于协处理器来说,首代码是协处理器最底层的控制固件,可以实现协处理器上电自检以及处理器初始化。协处理器首代码可以是固化到其ROM中的一段启动代码,或可称为ROM启动代码。
在一些实施例中,第一可信根可以通过可信度量根分别对计算设备的各处理器中的首代码进行度量。作为示例,可信度量根可以获取处理器中首代码的一条或多条数据(如指令、参数等),并计算其散列值,将计算出来的散列值与可信存储根中预先存储的基准值进行比对,当比对结果为一致时,则确定首代码通过验证,随后第一可信根可以启动对应处理器的首代码。例如,第一可信根控制主处理器将BIOS调入计算设备的内存,使得首代码得以执行。又例如,在协处理器的ROM代码验证通过后,第一可信根控制协处理器将ROM代码调入协处理器的内存,以便ROM代码被执行。
在一些实施例中,当比对结果不一致时,可以确定首代码验证不通过,第一可信根不启动对应处理器的首代码,或者限制启动首代码。例如,第一可信根可以控制处理器将首代码的部分加载到内存(计算设备的内存或协处理器的内存)中,以执行。在又一些实施例中,当验证不通过时,第一可信根仍然可以将该处理器的首代码启动,但同时将验证数据,可以包括对首代码计算得到的度量值和/或比对结果存储,如以审计报告或日志的形式存储在可信存储根中。
步骤130,对于所述两个以上处理器中的每一个:首代码对其下一级代码进行验证,并在验证通过后启动其下一级代码;首代码的下一级代码对再下一级代码进行验证,并在验证通过后启动所述再下一级代码;依此,逐层验证并启动下一级的代码,进而完成该处理器的可信链建立。
处理器中的首代码启动以后,各处理器开始在内部建立自身的可信链,在处理器中可信链跟随着处理器的启动链路逐层建立。
图3为本说明书一些实施例所示的主处理器的可信链建立示意图,其启动顺序依次为BIOS、主引导区代码、OS加载器以及OS内核。
在主处理器的BIOS启动后,其对主引导区代码进行验证。主引导区为计算设备中硬盘的第一个扇区,一般情况下它位于整个硬盘的0磁头0柱面1扇区,BIOS启动后,读取主引导区中代码,并对其进行验证。在一些实施例中,BIOS被配置为对主引导区代码进行完整性度量,以验证主引导区代码是否被篡改。具体的,BIOS可以对主引导区代码中的一条或多条数据计算散列值,再将其与RTS存储的基准值进行比对,如果比对结果一致,则可以认为主引导区代码可信,并将其从硬盘调入内存以启动。
主引导区代码启动后,其对OS加载器进行验证。OS(Operating System)加载器又称为操作系统引导程序,主引导区代码被配置为对OS加载器进行完整性度量,以验证OS加载器是否被篡改。具体的,主引导区代码可以对OS加载器中的一条或多条数据计算散列值,再将其与RTS存储的基准值进行比对,如果比对结果一致,则可以认为OS加载器可信,并将其从硬盘调入内存以启动。
OS加载器启动后,读取OS内核并进行验证。OS内核可以看作是操作系统的核心程序。在一些实施例中,可以将那些与计算设备中的硬件紧密相关的程序模块(如中断处理程序、驱动程序等)以及运行频率较高的程序模块(如时钟管理、进程调度和大多数程序模块所公用的一些基本操作),看作是操作系统的核心部分,即OS内核。OS加载器被配置为对OS内核进行完整性校验。具体的,OS加载器可以对OS内核中的一条或多条数据计算散列值,再将其与RTS存储的基准值进行比对,如果比对结果一致,则可以认为OS内核可信,将其从硬盘调入内存以启动,至此,计算设备的控制权交由OS内核。在一些实施例中,在OS内核上添加了一些功能基础的应用程序(如文件系统实用程序,文本编辑器,编译器等应用程序)后,即得到完整的操作系统。当然在又一些实施例中,OS内核也可以直接等同于操作系统。
在一些实施例中,处理器的可信链可以延伸至应用程序。应用程序运行与操作系统之上,通过操作系统调用计算设备的各类系统资源,以面向用户提供特定的数据处理功能。在一些实施例中,OS内核会对计算设备中的应用程序进行验证,以确保其可信。具体的,OS内核可以对计算设备的应用程序中的一条或多条数据计算散列值,再将其与RTS存储的基准值进行比对,如果比对结果一致,则可以认为应用程序可信,将其从硬盘调入内存,以便主处理器执行。
由此,从计算设备的第一可信根开始,逐层在主处理器的启动链路中传递信任,为主处理器的运行提供良好的可信支撑。
在协处理器内部,可信链依然跟随着其启动链路逐层建立。图4为本说明书一些实施例所示的协处理器的可信链建立示意图。仅作为示例,协处理器的首代码启动后,读取XPU固件,XPU固件用于对协处理器的主板资源进行初始化、基本输入输出以及系统启动。具体的,首代码可以对XPU固件中的一条或多条数据计算散列值,再将其与RTS存储的基准值进行比对,如果比对结果一致,则可以认为XPU固件可信,并将其调入协处理器内存以启动。在XPU固件启动后,其对协处理子系统OS(Operating System)进行验证。协处理子系统OS类似于协处理器的操作系统。验证通过后,XPU固件将协处理器子系统OS调用内存以启动。在一些可选的实施例中,协处理器还可以具有其自身的安全子系统,XPU固件启动后还可以将安全子系统从协处理器硬盘中加载到内存中以启动。由此,从计算设备的第一可信根开始,逐层在协处理器的启动链路中传递信任,为协处理器的运行提供良好的可信支撑。需要说明的是,不同架构的协处理器具有不同的启动链路,图4所示的启动链路仅作为示例,不应理解为对本实施例的限制。
在一些实施例中,主处理器以及协处理器可信链建立过程中的每一次验证的相关信息都会记录在RTS中,其中,相关信息包括但不限于计算出来的度量值,计算的度量值与RTS中预先存储的基准值的比较结果等。
通过流程100,多处理器计算设备中建立了从第一可信根开始各处理器启动链路延伸的可信树,如图2所示。可信树具有统一的可信根,且在可信链建立过程的相关信息都记录在第一可信根的可信存储根中。第一可信根中的可信报告根可以响应请求方的证明请求,统一、高效的提供相关的审计报告。
在一些实施例中,请求方可以是独立于计算设备的第三方设备。作为示例,第三方设备可以向计算设备发起远程证明的请求。进一步,第三方设备可以请求主处理器和/或协处理器的可信证明。计算设备中第一可信根的可信报告根可以基于可信存储根中的相关数据,生成审计报告。在一些实施例中,可信报告根可以对审计报告进行数字签名,以证明审计报告的来源可信。
在一些实施例中,计算设备内部的处理器(如主处理器或协处理器)可以作为所述请求方,向计算设备发起本地证明的请求。例如,主处理器可以向计算设备的第一可信根发起关于第一协处理器的可信证明。第一可信根中的可信报告根可以基于可信存储根中与第一协处理器相关的验证数据生成审计报告,并发送给主处理器。同样的,可信报告根可以对审计报告进行数字签名。较为具体的,处理器可以通过执行相关的计算机程序向计算设备发起本地证明的请求。作为示例,主处理器执行某应用程序,并需要将相关的敏感数据送入用于隐私计算的协处理器执行,此时,应用程序中可以编写有向第一可信根请求本地证明的指令,并设置程序执行条件,使得在本地证明指示协处理器可信之后再将调用协处理器处理敏感数据。在计算设备内部,处理器之间相互调用(如主处理器调用协处理器执行图像处理或隐私数据计算)时,便出现了可信树节点,通过计算设备内部的本地证明请求对可信树节点进行交互验证,进而对处理器的可信边界进行了有效拓展,为计算设备上各类应用提供了完善的可信基础。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书实施例的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书实施例进行各种修改、改进和修正。该类修改、改进和修正在本说明书实施例中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书实施例的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书实施例的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书实施例的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书实施例各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书实施例所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书实施例流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书实施例披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书实施例对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本申请权利要求最广范围有限制的文件(当前或之后附加于本申请中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书实施例的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
Claims (10)
1.一种多处理器计算设备的可信链构建方法,所述计算设备包括两个以上处理器,所述方法包括:
启动位于所述计算设备上的第一可信根;
通过第一可信根分别验证各处理器的首代码,并在验证通过后启动对应处理器的首代码;
对于所述两个以上处理器中的每一个:首代码对其下一级代码进行验证,并在验证通过后启动其下一级代码;首代码的下一级代码对再下一级代码进行验证,并在验证通过后启动所述再下一级代码;依此,逐层验证并启动下一级的代码,进而完成该处理器的可信链建立;
其中,与各所述验证相关的信息被存储在第一可信根中。
2.如权利要求1所述的方法,所述第一可信根基于安全芯片实现,其包括可信度量根、可信存储根以及可信报告根。
3.如权利要求1或2所述的方法,通过第一可信根分别验证各处理器的首代码,包括:
通过第一可信根中的可信度量根分别对各处理器的首代码的一项或多项信息进行度量,并将度量结果与预存的基准值进行比较,当比较结果为一致时确定相应处理器的首代码的验证通过;
对于所述两个以上处理器中的每一个,其中的验证包括通过当前层代码按照预设的度量机制对其下一级代码的一项或多项信息进行度量,并将度量结果与预存的基准值进行比较,当比较结果为一致时确定其下一级代码的验证通过。
4.如权利要3所述的方法,与各所述验证相关的信息通过第一可信根的可信存储根存储;第一可信根的可信报告根用于响应于证明请求向对应的请求方发送审计报告,所述审计报告包括与各所述验证相关的信息中的至少部分;其中,所述请求方为所述计算设备以外的设备或所述计算设备中的处理器。
5.如权利要求1所述的方法,所述两个以上处理器包括主处理器以及协处理器;所述主处理器的首代码为BIOS;
对于主处理器,所述首代码对其下一级代码进行验证,并在验证通过后启动其下一级代码;依此,逐层验证并启动下一级的代码,进而完成该处理器的可信链建立,包括:
通过BOIS对主引导代码进行验证,并在验证通过后将主引导代码调入计算设备的内存以运行;
通过主引导代码对OS装载器进行验证,并在验证通过后将OS装载器调入计算设备的内存以运行;
通过OS装载器对OS内核程序进行验证,并在验证通过后将OS内核程序调入计算设备的内存以运行。
6.如权利要求5所述的方法,对于主处理器,所述首代码对其下一级代码进行验证,并在验证通过后启动其下一级代码;依此,逐层验证并启动下一级的代码,进而完成该处理器的可信链建立,还包括:
通过OS内核程序对一个或多个应用程序进行验证,并在验证通过后将所述应用程序调入计算设备的内存以运行。
7.如权利要求1所述的方法,所述两个以上处理器包括主处理器以及协处理器;所述协处理器包括以下中的一种或多种:GPU、DPU、DSA。
8.一种多处理器计算设备,包括第一可信根以及两个以上处理器;其中,
所述第一可信根用于在启动后分别验证各处理器的首代码,并在验证通过后启动对应处理器的首代码;
所述两个以上处理器中的每一个用于:通过首代码对其下一级代码进行验证,并在验证通过后通过首代码启动其下一级代码;通过首代码的下一级代码对再下一级代码进行验证,并在验证通过后通过所述首代码的下一级代码启动所述再下一级代码;依此,逐层验证并启动下一级的代码,进而完成该处理器的可信链建立;
其中,与各所述验证相关的信息被存储在第一可信根中。
9.如权利要求8所述的计算设备,所述第一可信根基于安全芯片实现,其包括可信度量根、可信存储根以及可信报告根;
所述第一可信根进一步用于通过其可信度量根分别对各处理器的首代码的一项或多项信息进行度量,并将度量结果与预存的基准值进行比较,当比较结果为一致时确定相应处理器的首代码的验证通过;
为了实现逐层验证,所述两个以上处理器中的每一个进一步用于,通过当前层代码按照预设的度量机制对其下一级代码的一项或多项信息进行度量,并将度量结果与预存的基准值进行比较,当比较结果为一致时确定其下一级代码的验证通过。
10.如权利要8或9所述的计算设备,与各所述验证相关的信息通过第一可信根的可信存储根存储;第一可信根的可信报告根用于响应于证明请求向对应的请求方发送审计报告,所述审计报告包括与各所述验证相关的信息中的至少部分;其中,所述请求方为所述计算设备以外的设备或所述计算设备中的处理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211639252.XA CN115858448A (zh) | 2022-12-20 | 2022-12-20 | 一种多处理器计算设备及其可信链构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211639252.XA CN115858448A (zh) | 2022-12-20 | 2022-12-20 | 一种多处理器计算设备及其可信链构建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115858448A true CN115858448A (zh) | 2023-03-28 |
Family
ID=85674420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211639252.XA Pending CN115858448A (zh) | 2022-12-20 | 2022-12-20 | 一种多处理器计算设备及其可信链构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115858448A (zh) |
-
2022
- 2022-12-20 CN CN202211639252.XA patent/CN115858448A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
De Benedictis et al. | Integrity verification of Docker containers for a lightweight cloud environment | |
US10228924B2 (en) | Application deployment and monitoring in a cloud environment to satisfy integrity and geo-fencing constraints | |
JP6588945B2 (ja) | 仮想マシンにおける悪意のあるファイルを分析するシステム及び方法 | |
JP5957004B2 (ja) | 信頼できるホスト環境が仮想計算機(vm)の要件に準拠しているという妥当性確認を提供するためのシステム、方法、コンピュータ・プログラム製品、およびコンピュータ・プログラム | |
US20200272739A1 (en) | Performing an action based on a pre-boot measurement of a firmware image | |
US9202062B2 (en) | Virtual machine validation | |
US9372984B2 (en) | Authenticated launch of virtual machines and nested virtual machine managers | |
CN109669734B (zh) | 用于启动设备的方法和装置 | |
US8516481B2 (en) | Virtual machine manager system and methods | |
US20170090929A1 (en) | Hardware-assisted software verification and secure execution | |
WO2017112248A1 (en) | Trusted launch of secure enclaves in virtualized environments | |
CN102244684B (zh) | 基于usbkey的efi可信云链引导方法 | |
CN107704308B (zh) | 虚拟平台vTPM管理系统、信任链构建方法及装置、存储介质 | |
Jayaram et al. | Trustworthy geographically fenced hybrid clouds | |
CN110334515B (zh) | 一种基于可信计算平台生成度量报告的方法及装置 | |
KR20220090537A (ko) | 정책 적용을 위한 가상 환경 유형 검증 | |
Cheng et al. | Building dynamic and transparent integrity measurement and protection for virtualized platform in cloud computing | |
Sailer et al. | The role of TPM in enterprise security | |
CN113448681B (zh) | 一种虚拟机监控器公钥的注册方法、设备和存储介质 | |
CN107832606B (zh) | 基于sgx的信任链实现方法及系统 | |
CN115858448A (zh) | 一种多处理器计算设备及其可信链构建方法 | |
US20240095362A1 (en) | Methods and apparatuses for starting application on target platform | |
CN115982714A (zh) | 一种计算设备及其可信链构建方法 | |
Jia et al. | Performing trusted computing actively using isolated security processor | |
CN115879118A (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 |