一种基于国产cpu的主动可信度量方法
【专利摘要】本发明提供了一种基于国产CPU的主动可信度量方法。在确认BIOS可信的前提下,再由BIOS实施对关键硬件信息或操作系统核心文件的可信度量,可有效防止计算平台因BIOS被篡改而带来的安全问题。具备很高的物理安全防护特性,同时TPCM模块采用硬核实现的可信度量和密码算法也具有很高的性能,本发明可以很好的应用到高安全等级计算平台中,实现系统启动过程的安全可信。
【专利说明】—种基于国产CPU的主动可信度量方法
【技术领域】
[0001]本发明涉及一种基于国产CPU的主动可信度量方法,特别是涉及一种适用于国产龙芯处理器的主动可信度量方法。
【背景技术】
[0002]在目前的x86 PC可信平台架构中,系统启动过程中,是通过执行保存在B1S中的可度量核心根(Core Root of Trust for Measurement,CRTM)发起对关键硬件信息和操作系统核心文件的可信度量,因此B1S的CRTM部分成为了系统信任链的信任根。采用这种可信度量方法时可信平台模块(TPM)是被动调用的,因此被称为被动可信度量技术。众所周知,由于B1S属于可擦写的FLASH器件,没有物理防篡改特性,容易被改写,导致B1S的不可信,采用这种被动可信度量,难以从根上保证平台的可信,一旦B1S被植入恶意代码,将使整个信任链崩溃。
[0003]TPM是一种将度量根、密码算法、参数存储在片内存储器中,外部是无法获取和篡改的,具备很高的物理安全特性的硬件模块。
[0004]可信平台控制模块(TPCM)作为可以独立运行的模块与可信计算平台主板连接,与平台主板(含可信B1S)以及外围设备等组成可信硬件平台,为可信系统软件提供可信度量、可信存储和可信报告服务支持。TPCM还提供系统所需的数字签名、完整性验证、数据加解密等服务,并接受密码管理系统的管理。TPCM模块由硬件和工作在模块处理器上的嵌入控制程序,以及工作在主机上的驱动软件组成。
【发明内容】
[0005]本发明要解决的技术问题是提供一种基于国产CPU的主动可信度量方法。
[0006]本发明采用的技术方案如下:一种基于国产CPU的主动可信度量方法,其特征在于:在确认B1S可信的前提下,再由B1S实施对关键硬件信息或操作系统核心文件的可信度量。
[0007]作为优选,所述方法是以TPM为信任根的。
[0008]作为优选,具体方法步骤为:一、将CRTM置于TPCM内部,主机加电启动,使TPCM作为可信根优先于CPU首先启动,获得可信度量权;二、TPCM对B1S实施可信度量,验证成功,则释放CPU启动控制信号,并将信任链传递到B1S ;三、CPU启动并执行B1S对关键硬件信息和操作系统装载器(Os Loader)实施可信度量,度量成功,则将信任链传递到OsLoader ;四、Os Loader对操作系统实施可信度量,度量成功后加载操作系统(OS),将信任链传递到OS ;五、OS启动过程中实现对可执行代码和要求验证的应用程序代码实施可信度量,启动完成后,即将信任链传递到应用程序。至此信任链传递完成,可信计算环境建立。
[0009]作为优选,所述步骤一中,通过主动度量控制电路拉住CPU,使TPCM作为可信根优先于CPU首先启动。
[0010]作为优选,所述主动度量控制电路由TPCM通过逻辑控制电路控制CPU的复位信号,和CPU对B1S的数据访问通道来控制系统的启动;
当主机加电启动或复位时,TPCM首先拉住CPU的复位信号使其处于复位状态,同时控制CPU对B1S的访问通道;TPCM再执行CRTM对B1S代码实施主动可信度量,向逻辑控制电路发送控制信息和CPU复位信号,逻辑控制电路根据控制信息开放B1S的访问通道;使CPU可以通过逻辑控制电路执行B1S代码,开始系统正常启动。
[0011]与现有技术相比,本发明的有益效果是:可有效防止计算平台因B1S被篡改而带来的安全问题。
[0012]本发明进一步的有益效果是:由于将CRTM放在了 TPCM内部,以TPCM作为起始信任根先于CPU执行,对B1S实施主动可信度量后,才由CPU执行后续的启动。由于整个主动可信度量过程都是在TPCM模块内部完成,所有与度量和密码算法相关的私密信息都存储在TPCM片内,具备很高的物理安全防护特性,同时TPCM模块采用硬核实现的可信度量和密码算法也具有很高的性能,本发明可以很好的应用到高安全等级计算平台中,实现系统启动过程的安全可信。
【专利附图】
【附图说明】
[0013]图1为本发明其中一实施例的信任链建立过程示意图。
[0014]图2为图1所示实施例中主动可信度量控制流程示意图。
[0015]图3为本发明图1所示实施例中主动可信度量控制电路原理框图。
[0016]图4为图3所示实施例中主动可信度量控制方法功能框图。
【具体实施方式】
[0017]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0018]本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
[0019]一种基于国产CPU的主动可信度量方法,其特征在于:在确认B1S可信的前提下,再由B1S实施对关键硬件信息或操作系统核心文件的可信度量。
[0020]在本具体实施例中,所述可信度量方法是以TPM为信任根,在确认B1S可信的前提下,再由B1S实施对关键硬件信息或操作系统核心文件的可信度量。另外,具有与TPM相同的特性硬件模块也可以作为本发明可信度量方法的信任根。
[0021]如图1和图2所示,在本具体实施例中,具体方法步骤为:一、将CRTM置于TPCM内部,主机加电启动,使TPCM作为可信根优先于CPU首先启动,获得可信度量权;二、TPCM对B1S实施可信度量,验证成功,则释放CPU启动控制信号,并将信任链传递到B1S ;三、CPU启动并执行B1S对关键硬件信息和操作系统装载器(Os Loader)实施可信度量,度量成功,则将信任链传递到Os Loader ;四、Os Loader对操作系统实施可信度量,度量成功后加载操作系统(OS),将信任链传递到OS ;五、OS启动过程中实现对可执行代码和要求验证的应用程序代码实施可信度量,启动完成后,即将信任链传递到应用程序。至此信任链传递完成,可信计算环境建立。
[0022]TPCM实现了可信平台模块的所有功能,其功能构成与TPM基本相同,但由于TPM的核心度量根CRTM处于B1S中,不受TPM的保护。因此,TPCM将CRTM置于TPCM内部,同时改变TPCM和CPU的启动顺序,以TPCM为真正的可信度量起点,构建真正的可信度量根。在此基础上,建立了以TPCM芯片为信任根的计算平台信任链,由TPCM芯片控制计算平台的启动、I/O接口控制以及系统配置等。TPCM连接主板,与B1S以及外围设备等组成可信硬件平台,为系统软件和应用软件提供可信度量、可信存储和可信报告等服务。
[0023]所述步骤一中,通过主动度量控制电路拉住CPU,使TPCM作为可信根优先于CPU首先启动。
[0024]如图3所示,主动可信度量控制电路由TPCM内的逻辑控制电路和主板上的相关接口电路组成。所述主动度量控制电路由TPCM通过逻辑控制电路控制CPU的复位信号,和CPU对B1S的数据访问通道来控制系统的启动。
[0025]当主机加电启动或复位时,TPCM首先拉住CPU的复位信号使其处于复位状态,同时控制CPU对B1S的访问通道;TPCM再执行CRTM对B1S代码实施主动可信度量,向逻辑控制电路发送控制信息和CPU复位信号,逻辑控制电路根据控制信息开放B1S的访问通道;使CPU可以通过逻辑控制电路执行B1S代码,开始系统正常启动。
[0026]主动可信度量控制由CRTM、B1S固件驱动、控制信号产生模块和逻辑控制电路驱动等模块组成,模块组成及工作流程见附图4。主动可信度量控制工作在TPCM模块上,当系统复位时,TPCM首先执行CRTM,CRTM调用可信度量服务对B1S实施主动可信度量;可信度量完成后向逻辑控制电路发送控制信息和复位信号,控制CPU的复位和对B1S代码的执行。
[0027]当前X86可信计算平台所采用的可信平台模块TPM和我国的可信密码模块TCM所采用的CRTM均位于B1S之中,不受到可信芯片的物理保护,且在CPU之后启动,难以形成真正的可信度量根,TPM/TCM处于被动设备的地位,不能对系统的启动和运行实施主动度量和控制。本发明针对TPM/TCM度量起始点和被动度量的问题,提出将可信芯片设计为主动设备的思想,改变将其作为被动设备的传统思路,通过可信平台控制模块(TPCM)对计算平台实施主动可信度量。TPCM作为计算平台的主动设备,在系统中最先加电,先于CPU启动,构建以TPCM模块为信任根的信任链。将CRTM设计在TPCM内部,增强对可信度量根的安全保护问题,使得可信根全部植入芯片内部,受到更强的物理保护,解决了由于B1S篡改造成的可信度量根失控、信任起点不明确等问题,增强了可信度量根的安全性。
【权利要求】
1.一种基于国产CPU的主动可信度量方法,其特征在于:在确认B1S可信的前提下,再由B1S实施对关键硬件信息或操作系统核心文件的可信度量。
2.根据权利要求1所述的基于国产CPU的主动可信度量方法,其特征在于:所述方法是以TPM为/[目任根的。
3.根据权利要求2所述的基于国产CPU的主动可信度量方法,其特征在于:具体方法步骤为:一、将CRTM置于TPCM内部,主机加电启动,使TPCM作为可信根优先于CPU首先启动,获得可信度量权;二、TPCM对B1S实施可信度量,验证成功,则释放CPU启动控制信号,并将信任链传递到B1S ;三、CPU启动并执行B1S对关键硬件信息和操作系统装载器实施可信度量,度量成功,则将信任链传递到Os Loader ;四、Os Loader对操作系统实施可信度量,度量成功后加载操作系统,将信任链传递到OS ;五、OS启动过程中实现对可执行代码和要求验证的应用程序代码实施可信度量,启动完成后,即将信任链传递到应用程序。
4.根据权利要求3所述的基于国产CPU的主动可信度量方法,其特征在于:所述步骤一中,通过主动度量控制电路拉住CPU,使TPCM作为可信根优先于CPU首先启动。
5.根据权利要求4所述的基于国产CPU的主动可信度量方法,其特征在于:所述主动度量控制电路由TPCM通过逻辑控制电路控制CPU的复位信号,和CPU对B1S的数据访问通道来控制系统的启动; 当主机加电启动或复位时,TPCM首先拉住CPU的复位信号使其处于复位状态,同时控制CPU对B1S的访问通道;TPCM再执行CRTM对B1S代码实施主动可信度量,向逻辑控制电路发送控制信息和CPU复位信号,逻辑控制电路根据控制信息开放B1S的访问通道。
【文档编号】G06F21/57GK104200165SQ201410366234
【公开日】2014年12月10日 申请日期:2014年7月30日 优先权日:2014年7月30日
【发明者】冷冰, 庞飞, 张建辉, 王远强, 周楝淞 申请人:中国电子科技集团公司第三十研究所