CN101515316B - 一种可信计算终端及可信计算方法 - Google Patents

一种可信计算终端及可信计算方法 Download PDF

Info

Publication number
CN101515316B
CN101515316B CN 200810057855 CN200810057855A CN101515316B CN 101515316 B CN101515316 B CN 101515316B CN 200810057855 CN200810057855 CN 200810057855 CN 200810057855 A CN200810057855 A CN 200810057855A CN 101515316 B CN101515316 B CN 101515316B
Authority
CN
China
Prior art keywords
trusted
transfer unit
code
tolerance
operating system
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.)
Expired - Fee Related
Application number
CN 200810057855
Other languages
English (en)
Other versions
CN101515316A (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 University of Technology
Original Assignee
Beijing University of Technology
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 University of Technology filed Critical Beijing University of Technology
Priority to CN 200810057855 priority Critical patent/CN101515316B/zh
Publication of CN101515316A publication Critical patent/CN101515316A/zh
Application granted granted Critical
Publication of CN101515316B publication Critical patent/CN101515316B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种可信计算终端,所述终端包括可信平台控制模块TPCM、中央处理器CPU和启动程序加载模块;所述TPCM用于,不可篡改地存储核心可信度量根,对启动程序加载模块的代码进行度量,并发送度量完成的指示;所述CPU用于,接收到TPCM对所述启动程序加载模块度量完成的指示后,加载并执行启动程序加载模块中的代码;所述启动程序加载模块用于,存储可信计算终端的启动程序代码。本发明实施例同时公开了一种可信计算方法。应用本发明实施例公开的技术方案可建立可信计算环境,并可将可信计算环境延伸至操作系统OS层以上。

Description

一种可信计算终端及可信计算方法
技术领域
本发明涉及信息安全领域,尤其涉及一种可信计算终端及可信计算方法。
背景技术
可信计算作为信息安全领域一个新的发展方向受到越来越多公司和研究机构的重视。可信计算系统的主要目标是构建一个用户可以预期的计算环境,从而保证计算资源不会被恶意篡改、盗取。
可信计算组织(Trusted Computing Group,TCG)确定的可信计算系统主要是通过增强现有的终端体系结构的安全性来保证整个计算机系统的安全性。其主要思路是在终端硬件平台上引入可信架构,通过该可信架构提供的安全特性来提高所述可信计算系统的安全性。
所述可信架构通过基于硬件的不可篡改可信根,以及基于该可信根建立的可信链来构建可预期的计算环境。
TCG的相关规范(TCG Specification Architecture Overview)规定了三种可信根,分别是可信度量根、可信存储根和可信报告根;其中,可信存储根和可信报告根存储在不可篡改的可信平台模块(Trusted Platform Module,TPM)中,核心可信度量根(CRTM)存储在基本输入输出系统(Basic InputOutput System,BIOS)中。可信度量根主要用于检验计算模块的完整性,并在各计算模块之间实现信任的传递。TCG中说明的可信度量方法是基于杂凑算法的安全杂凑算法(Secure Hash Algorithm,SHA)版本1(SHA-1)。
图1是TCG规范中提供的可信计算终端系统结构图,如图1所示,该终端系统除了包括CPU、南桥芯片ICH、北桥芯片MCH、PCI、随机存取器(Random-Access Memory,RAM)、局域网(Local Area Network,LAN)接口这些非可信终端系统同样具有的单元外,还包括TPM,其通过少针脚型接口(Low Pin Count,LPC)总线与ICH相连,做为ICH的从设备由该ICH启动,并且,图1所示的BIOS与现有非可信终端系统的不同之处在于,其内存储有CRTM。
图2为图1所示可信终端系统的工作流程图,如图2所示,该可信终端系统中包含可信构件(Trusted Building Block,TBB)、存有操作系统(OpertingSystem,OS)加载代码的单元、存有OS代码的单元和存有应用代码的单元,所述TBB中包括存储CRTM代码的单元。图2所示的可信终端系统在工作时除了执行②、④、⑥这些执行流程外,还执行①、③、⑤这些度量流程,但是关于①、③、⑤这些度量流程具体如何实现,TCG规范中并未给出具体方法。
由上述方案可见,根据TCG规范,可信计算环境的建立依赖于不可篡改的可信根以及基于可信根的信任链,而目前业界采用的TCG可信终端系统,其中的可信度量根存储在可以修改的BIOS中,因为信任链是一个单向传递链,其间任意一个节点出现问题,都会导致整个信任环境建立失败,因此,一旦该可信度量根被篡改,则无法在该可信终端系统中建立可信计算环境,导致可信终端系统存在安全隐患。
现有的可信终端系统中,TPM被安置在南桥的LPC总线上,作为南桥芯片的从设备,由该南桥芯片启动,因此,无法对该南桥芯片自身的启动及该启动之前的动作提供可信的计算环境;并且,TCG规范中只提供了操作系统(Operating System,OS)层以下的可信传递流程,但并未给出信任传递的具体实现方法,且无法为OS层以上的计算提供可信的计算环境。
发明内容
有鉴于此,本发明实施例的目的在于提供一种可信计算终端以及可信计算方法,以建立可信计算环境。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种可信计算终端,所述终端包括可信平台控制模块TPCM、中央处理器CPU、启动程序加载模块和至少一级信任传递单元;
所述信任传递单元与从可信计算终端划分出的结构层次对应、且每一级信任传递单元中分别存储有可信度量根,所述可信度量根用于度量所述信任传递单元对应的所述结构层次、以及下一级信任传递单元中的可信度量根;
所述TPCM用于,不可篡改地存储核心可信度量根,对启动程序加载模块的代码进行度量,并发送度量完成的指示;
所述CPU用于,接收到TPCM对所述启动程序加载模块度量完成的指示后,加载并执行启动程序加载模块中的代码;
所述启动程序加载模块用于,存储可信计算终端的启动程序代码。
较佳地,所述终端进一步包括电源装置;
所述电源装置用于,先为所述TPCM供电,接收到所述TPCM发来的度量完成指示后,再为所述CPU供电。
较佳地,所述启动程序加载模块是基本输入输出系统BIOS;所述至少一级信任传递单元包括基本输入输出系统BIOS信任传递单元、硬盘信任传递单元和操作系统内核信任传递单元;
所述BIOS信任传递单元与BIOS这一启动程序加载模块对应,存储一可信度量根,度量硬盘信任传递单元中的可信度量根和所述BIOS中的代码;
所述硬盘信任传递单元与硬盘对应,存储另一可信度量根,度量操作系统内核信任传递单元中的可信度量根和所述硬盘中的代码;
所述操作系统内核信任传递单元与操作系统内核对应,存储再一可信度量根,度量操作系统。
较佳地,所述操作系统内核信任传递单元包括度量模块和监控模块;
所述度量模块用于,度量操作系统代码以及上层应用的代码;
所述监控模块用于,截获上层应用进程的系统资源调用命令。
较佳地,所述可信计算终端包括第一操作系统内核和第二操作系统内核;
所述第一操作系统内核处于核心态,用于存储可信度量根,度量操作系统代码以及上层应用的代码,截获上层应用进程的系统资源调用命令;
所述第二操作系统内核处于非核心态,用于运行上层应用程序,通过所述第一操作系统内核调用系统资源。
一种可信计算方法,包括步骤:
利用不可篡改的核心可信度量根对启动程序进行度量;度量完成后加载并运行所述启动程序;
按照可信计算终端划分的结构层次,对应地设置至少一级信任传递单元,每一级信任传递单元都分别存储有可信度量根;
按照所述结构层次的加载顺序,先加载的结构层次对应的信任传递单元中的可信度量根对所述结构层次、以及下一级信任传递单元中的可信度量根进行度量,度量完成后再加载所述结构层次以及所述下一级信任传递单元。
较佳地,所述方法进一步包括步骤:
先对不可篡改地存储了核心可信度量根的单元供电,接收到该单元发来的度量完成指示后,再对加载并运行所述启动程序加载单元中代码的单元供电。
较佳地,所述结构层次包括可信操作系统内核;可信操作系统内核对应的信任传递单元进行度量的方法包括:
对可信操作系统代码、和/或上层应用代码进行度量、和/或截获上层应用代码对系统资源的调用命令。
由上述技术方案可见,本发明实施例所述的可信计算终端以及可信计算方法中的可信度量根不可篡改,且在加载启动程序之前,由所述不可篡改的度量根对所述启动程序进行了度量,从而建立了可信的计算环境。
若设置与可信计算终端的结构层次对应的至少一级信任传递单元,由所述信任传递单元度量对应的结构层次以及下一级信任传递单元,则可以进一步扩大可信计算环境的范围。
若在操作系统内核中设置信任传递单元,由所述信任传递单元对操作系统代码、上层应用的代码以及截获的系统资源调用命令进行度量,则可以进一步将可信计算环境扩大至OS层以上。
若所述操作系统内核包括处于核心态、并存储有可信度量根的第一操作系统内核,以及处于非核心态的第二操作系统内核,由所述第一操作系统内核对操作系统代码以及系统资源调用命令进行度量和/或截获,则可以在所述第二操作系统内核为非自主的操作系统内核情况下,建立可信的计算环境。
附图说明
图1是TCG规范中提供的可信计算终端系统结构图;
图2为图1所示可信终端系统的工作流程图;
图3是本发明装置实施例提供的可信计算终端结构图;
图4是本发明实施例提供的可信计算终端中可信链的建立示意图
图5为包含可信操作系统内核的可信计算终端结构示意图;
图6为本发明实施例提供的可信计算终端结构图;
图7为本发明实施例提供的可信计算方法的流程图。
具体实施方式
本发明实施例提供的可信计算终端,不可篡改地存储CRTM,并且在所述CRTM对启动程序度量完成后才加载并运行所述启动程序,启动可信计算终端进行计算,从而建立了可信的计算环境。
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
图3是本发明装置实施例提供的可信计算终端结构图,如图3所示,该可信计算终端包括:中央处理器CPU、南桥芯片ICH、北桥芯片MCH、PCI、RAM、LAN接口、BIOS、可信平台控制模块(Trusted  Platform ComputingModule,TPCM)和LPC型总线LPC1、LPC2。
所述CPU、南桥芯片ICH、北桥芯片MCH、PCI、RAM、BIOS与LAN接口之间的连接关系与图1所示可信计算终端的连接关系相同,TPCM通过LPC1总线与BIOS相连、通过LPC2总线与ICH相连。
为了解决TCG规范中将CRTM存储在可以被篡改的BIOS中的问题,本实施例中,所述TPCM中除了不可篡改地存储有核心可信存储根、核心可信报告根外,还不可篡改地存储有CRTM。
为了解决TCG规范中无法为BIOS启动及所述启动以前的计算提供可信的计算环境这一问题,本实施例由不可篡改地存储了CRTM的TPCM对BIOS中的启动代码度量完毕后,再加载所述启动代码,从而在一开始就将控制权牢牢地掌握。
由TPCM对BIOS中的启动代码度量完毕后再加载所述启动代码可以有多种实现方式,例如:通过改变对可信计算终端中各部件的供电顺序实现,具体参见图3相关说明;CPU启动后,先不加载BIOS中的代码,而是运行于空闲(Idle)状态,在接收到TPCM对BIOS中的启动代码度量完毕的指示后,才加载BIOS中的代码。
参照图3,由TPCM对BIOS中的代码度量完毕后再加载所述代码的具体实现方法可以为:
使用LPC1总线将TPCM与BIOS相连接,使用LPC2总线将TPCM与ICH相连接,所述TPCM内部有计算单元、存储单元,构成了小型的计算机,可以读取BIOS内部数据并对BIOS中的代码进行度量。
启动图3所示的可信计算终端时,电源装置先给TPCM和BIOS两个部件组成的小系统供电,并保证MCH、ICH、CPU等都不启动,由所述TPCM对所述BIOS进行度量。
TPCM对所述BIOS度量结束后,电源装置停止向由TPCM和BIOS组成的小系统供电,而变为现有技术中的供电策略,即向MCH、ICH、CPU等部件供电,此时LPC1失效,而LPC2启动,CPU开始执行BIOS中已经由TPCM度量过的代码,TPCM作为南桥上面的外设进行工作。通常,TPCM对BIOS中的启动代码进行度量,所述启动代码可以为传统BIOS中加载区域(Boot Block)中的代码,也可以为统一扩展固件接口BIOS(UnifiedExtensable Firware Interfaceb BIOS,UEFI BIOS)中的启动代码,其中,可在UEFI BIOS中设置分界符,例如设置32位分界符,将所述UEFI BIOS划分为两部分,其中一部分用于存储启动代码,该启动代码可以起到传统BIOS中Boot Block区域内代码的作用。
由图3所示的装置实施例可知,由于CRTM不可篡改地存储在TPCM中,而非存储在可擦写的BIOS中,从而保证了可信计算环境的建立,并且,由所述TPCM对所述BIOS中的代码度量完毕后,才加载BIOS中的代码,从而保证在可信计算终端加载BIOS时就已建立了可信的计算环境。
加载完BIOS中的代码后,图3所示的可信计算终端可采用TCG规范中的结构和/或方法建立可信链,也可采用本发明实施例提供的结构和/或方法建立可信链。
图4是本发明实施例提供的可信计算终端中可信链的建立示意图。
图4所示的可信计算终端采用双系统体系结构,即由普通系统和可信度量、监控系统组成。所述可信度量、监控系统可将自身分为与所述普通系统对应的若干层次,对应所述层次设置可信度量根,较佳地,在每个层次中均设置不同的可信度量根,由所述度量根对其对应层次范围内的主体进行度量,保证各主体行为的可预期。采用双系统体系结构的可信计算终端,其可信链的建立基于TPCM中不可篡改的CRTM,从第N(N为自然数)层到第N+1层建立可信链时,首先由第N层的可信度量根RTM(N)度量N+1层的可信度量根RTM(N+1),根据度量结果采用预定策略,例如只有在度量通过后才加载RTM(N+1)和N+1层,以此来实现可信链的建立。其中,每一层的度量根本身也可采用层次型结构来实现度量功能。
下面结合图4,以所述普通系统包括BIOS、主板、可信硬盘以及输入输出设备等其他设备、操作系统、上层应用以及存储于硬盘中的可信操作系统内核,所述可信度量、监控系统包括存储于TPCM中的核心可信度量根RTM0(即CRTM)、存储于可信BIOS中的度量模块(即第一级可信度量根RTM1)、存储于可信硬盘芯片中的度量模块(即第二级可信度量根RTM2)、存储于可信操作系统内核中的度量模块(即第三级可信度量根RTM3)、可信应用接口为例,介绍可信链的建立方法。
如图4所示的可信计算终端,其可信链的建立可由如下步骤得到:
步骤401,主板只为TPCM和BIOS构成的小系统加电,由TPCM度量BIOS,并将度量结果存储在TPCM中,度量完成后,主板停止给TPCM和BIOS单独加电,并正常启动,为CPU、南北桥芯片等供电。
TPCM中存储有核心可信度量根CRTM,记为RTM0,且TPCM内部有计算单元和存储单元,可以执行存储在RTM0中的代码,从而对BIOS进行度量。所述度量可以为完整性度量,也可以为基于语义的信息流度量,所述基于语义的信息流度量可以采用虚拟机的方式实现。
步骤402,CPU加载并执行BIOS中已由TPCM度量过的代码。
BIOS中存储的代码除了包括开机自检(Power On SelfTest,POST)等系统检测和初始化代码外,还包括第一级可信度量根RTM1。RTM1用于对主板上的各种设备和输入输出接口进行度量和检验,如进行完整性度量;且RTM1用于对硬盘中存储的第二级可信度量根RTM2进行度量。通常,TPCM度量BIOS中的启动程序代码,该启动程序代码中包含RTM1,通过执行RTM1,对BIOS中的其他代码进行度量,并在度量完成后加载并执行所述其他代码。
RTM1对RTM2进行度量后,可根据度量结果采取预定策略,例如,若RTM1对RTM2度量通过,则执行步骤403,RTM1将控制权交给RTM2。
步骤403,RTM2对硬盘中存储的操作系统内核代码进行完整性度量,并根据度量结果采取预定策略,例如,若度量通过,则加载并执行操作系统内核。
所述操作系统内核代码中包含第三级可信度量根RTM3,RTM3包括度量模块和监控模块。
所述度量模块用于,在加载操作系统的代码和上层应用的代码前,对所述操作系统代码和上层应用代码进行度量,例如检查代码的完整性,通过与预期值的比较,从而观测代码是否受到破坏;根据度量结果采取预定策略,例如,只有在度量通过后才则加载操作系统代码和上层应用代码。
所述监控模块用于,截获上层应用进程的底层系统调用命令,对所述调用命令进行记录和/或分析,根据记录和/或分析的结果采取预定策略,例如,若发现异常情况则进行报警。所述监控模块还提供记录调用接口,用于获取监控模块已记录的系统调用命令,用于日后审计。监控模块对底层系统调用命令的截获方法可以采用现有技术实现。
步骤404,可信操作系统内核中的RTM3可以对可信应用接口进行完整性度量,可信应用接口提供给上层应用软件调用TPCM的功能接口。
图4所示的可信链建立方法包括硬件层可信链建立和软件层可信链建立两部分,建立起来的可信链,一方面保证了硬件部分的不可篡改性,另外一方面提供了检测软件被篡改的依据。基于硬件的信任根也是此系统区别于传统(虚拟)监控机,以及无可信根的虚拟操作系统的重要标准之一。
如图4所示的信任链建立示意图,可信计算终端划分的BIOS、可信硬盘和可信操作系统内核结构层次中,均对应地设置了用于建立可信链的信任传递单元RTM1、RTM2和RTM3,用于对所述结构层次以及该结构层次涉及的硬件和/或软件进行度量,并且对下一级信任传递单元进行度量,从而扩大了可信计算环境的范围。
可信计算终端可利用可信度量、监控系统对普通系统的当前状态进行真实的度量和记录,并可根据可信度量、监控系统对普通系统的度量结果采用预定策略,例如,只有在普通系统通过了可信度量、监控系统的度量后,可信计算终端才为其分配计算资源,或者,可信计算终端仅将可信度量的结果存储在TPCM中,即使普通系统未通过可信度量、监控系统的度量,仍可获得计算资源。
根据可信计算终端中的操作系统是否为自主开发的,可信操作系统内核及其中的信任传递单元RTM3可采用不同的结构。
图5为包含可信操作系统内核的可信计算终端结构示意图。
如图5所示,该可信计算终端以可信硬件平台为基础,自主可信操作系统内核包括度量模块、监控模块和TPCM驱动。
当该可信计算终端中的操作系统为自主操作系统时,可通过修改所述操作系统的内核,将RTM3嵌入该操作系统内核中,从而实现对操作系统的度量和监控功能,并通过可信应用接口实现对可信应用的度量和监控功能。
当该可信计算终端中的操作系统为非自主操作系统时,可采用虚拟机的方式实现对非自主操作系统的度量和监控,具体方法为:
将非自主操作系统的内核“架”到非核心态,而在核心态插入自主开发的可信操作系统内核。例如,对于X86体系结构的可信计算终端,将非自主操作系统内核放入非Ring0状态,而将自主开发的可信操作系统内核以虚拟监控机方式放入Ring0状态。
下面以自主开发的Linux操作系统内核和非自主开发的Windows操作系统为例,介绍可信计算终端中的操作系统架构:
在Ring0内以虚拟监控机方式运行Linux内核,在客户操作系统(Guest OS)内运行Windows操作系统。在Windows执行应用程序或加载各种动态库前,Linux内核对所述应用程序和动态库进行诸如完整性的度量,并且,Linux内核通过截获并分析Windows的特权指令,截获应用程序或动态库调用系统资源等操作,实现对Windows操作系统及其上层应用的监控。所述度量侧重于静态度量,而所述监控主要侧重于审计,以及基于异常行为的报警和处理。
图5所示的可信计算终端结构,其在操作系统内核中设置信任传递单元,由所述信任传递单元对操作系统代码、上层应用的代码以及截获的系统调用命令进行度量,从而进一步将可信计算环境扩大至OS层以上。
当可信计算终端包括非自主开发的操作系统时,通过将自主开发并存储有可信度量根的可信操作系统内核置于核心态,且将非自主开发的操作系统内核置于非核心态,由所述自主开发的操作系统内核中的可信度量根对非自主开发的操作系统代码以及系统调用命令进行度量,从而保证了即使可信计算终端中含有非自主开发的操作系统,也可将可信计算环境扩大至OS层以上。
本发明实施例中所述度量通常为完整性度量,完整性度量的具体实现方法为现有技术;所述度量也可以为基于语义的信息流度量。
上述的可信计算终端可以为台式计算机、手提式计算机(笔记本)、各种类型的服务器等电脑产品,也可以为移动终端设备等其他电子产品。
上述实施例中所述BIOS仅为启动程序加载单元的一个示例,用于向可信计算终端中加载启动程序,在不含BIOS的电子产品中,所述启动程序加载单元可由其他结构充当。
通过上述分析,可得到可信计算终端的一般性结构,具体请参见图6。
图6为本发明实施例提供的可信计算终端结构图,如图6所示,该可信计算终端包括可信平台控制模块TPCM601、中央处理器CPU602和启动程序加载模块603。
TPCM601用于,不可篡改地存储核心可信度量根,对启动程序加载模块603的代码进行度量,并发送度量完成的指示。
CPU602用于,接收到TPCM601对所述启动程序加载模块603度量完成的指示后,加载并执行启动程序加载模块603中的代码。
启动程序加载模块603用于,存储可信计算终端的启动程序代码。
图6所示的可信计算终端还可以进一步包括电源装置;
所述电源装置用于,先为所述TPCM供电,接收到所述TPCM发来的度量完成指示后,再为所述CPU供电。该电源装置为所述CPU供电,即相当于向所述CPU发送TPCM已对所述启动程序加载模块603度量完成的指示。
图6所示的可信计算终端还可进一步包括至少一级信任传递单元;
所述信任传递单元与所述可信计算终端划分的结构层次对应、并存储可信度量根,用于度量所述信任传递单元对应的结构层次、以及下一级信任传递单元中的可信度量根;
启动程序加载模块603进一步对应存储有可信度量根的第一级信任传递单元。
所述至少一级信任传递单元可以包括基本输入输出系统BIOS信任传递单元、硬盘信任传递单元和操作系统内核信任传递单元;
所述BIOS信任传递单元与BIOS这一启动程序加载模块对应,存储可信度量根,度量硬盘信任传递单元中的可信度量根和所述BIOS中的代码;
所述硬盘信任传递单元与硬盘对应,存储可信度量根,度量操作系统内核信任传递单元中的可信度量根和所述硬盘中的代码;
所述操作系统内核信任传递单元与操作系统内核对应,存储可信度量根,度量操作系统。
所述操作系统内核信任传递单元可以包括静态度量模块和动态监控模块;
所述静态度量模块用于,度量操作系统代码以及上层应用的代码;
所述动态监控模块用于,截获上层应用进程的系统调用命令。
所述可信计算终端可以包括第一操作系统内核和第二操作系统内核;
所述第一操作系统内核处于核心态,用于存储可信度量根,度量操作系统代码以及上层应用的代码,截获上层应用进程的系统资源调用命令;
所述第二操作系统内核处于非核心态,用于运行上层应用程序,通过所述第一操作系统内核调用系统资源。
由上述对可信计算终端的描述可得到实现可信计算的方法。
图7为本发明实施例提供的可信计算方法的流程图,如图7所示,该方法具体由如下步骤实现:
步骤701,利用不可篡改的核心可信度量根对启动程序代码进行度量。
步骤702,度量完成后加载并运行所述启动程序代码。
图7所示的可信计算方法还可进一步包括步骤:
先对不可篡改地存储了核心可信度量根的单元供电,接收到该单元发来的度量完成指示后,再对加载并运行所述启动程序加载单元中代码的单元供电。通过本步骤实现先由不可篡改的核心可信度量根对启动程序加载单元中的代码进行度量,度量完成后再加载并运行所述代码,保证计算的可信性。
图7所示的方法还可进一步包括步骤:
按照可信计算终端划分的结构层次,对应地设置至少一级存储有可信度量根的信任传递单元;
按照所述结构层次的加载顺序,先加载的结构层次对应的信任传递单元对所述结构层次、以及下一级信任传递单元进行度量,度量完成后再加载所述结构层次以及所述下一级信任传递单元。
所述结构层次可以包括可信操作系统内核;可信操作系统内核对应的信任传递单元进行度量的方法包括:
对可信操作系统代码、和/或上层应用代码进行度量、和/或截获上层应用代码对系统资源的调用命令。
由上述技术方案可见,由不可篡改的CRTM对启动程序度量完成后才加载并运行所述启动程序代码,可保证可信计算终端行为的可预期,即建立可信的计算环境。
当可信计算终端采用双体系结构来建立可信链时,可将可信计算终端中的普通系统根据各部件之间的依赖支撑关系划分结构层次,可信度量、监控系统根据所述结构层次也分为若干层,在每层中设置可信度量根,对相应层次的普通系统以及下一层的可信度量根进行度量,从而建立可信链,扩大可信计算环境。
由于采用双体系结构来建立可信链,尤其针对非自主开发的操作系统提供了相应的可信计算终端结构,因此,本发明实施例提供的可信计算终端及可信计算方法尤其适用于,在采用非自主操作系统的计算终端上实现可信计算。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种可信计算终端,其特征在于,所述终端包括可信平台控制模块TPCM、中央处理器CPU、启动程序加载模块和至少一级信任传递单元;
所述信任传递单元与从可信计算终端划分出的结构层次对应、且每一级信任传递单元中分别存储有可信度量根,所述可信度量根用于度量所述信任传递单元对应的所述结构层次、以及下一级信任传递单元中的可信度量根;
所述TPCM用于,不可篡改地存储核心可信度量根,对启动程序加载模块的代码进行度量,并发送度量完成的指示;
所述CPU用于,接收到TPCM对所述启动程序加载模块度量完成的指示后,加载并执行启动程序加载模块中的代码;
所述启动程序加载模块用于,存储可信计算终端的启动程序代码。
2.如权利要求1所述的可信计算终端,其特征在于,所述终端进一步包括电源装置;
所述电源装置用于,先为所述TPCM供电,接收到所述TPCM发来的度量完成指示后,再为所述CPU供电。
3.如权利要求1所述的可信计算终端,其特征在于,所述启动程序加载模块是基本输入输出系统BIOS;所述至少一级信任传递单元包括基本输入输出系统BIOS信任传递单元、硬盘信任传递单元和操作系统内核信任传递单元;
所述BIOS信任传递单元与基本输入输出系统BIOS对应,存储一可信度量根,度量硬盘信任传递单元中的可信度量根和所述BIOS中的代码;
所述硬盘信任传递单元与硬盘对应,存储另一可信度量根,度量操作系统内核信任传递单元中的可信度量根和所述硬盘中的代码;
所述操作系统内核信任传递单元与操作系统内核对应,存储再一可信度量根,度量操作系统。
4.如权利要求3所述的可信计算终端,其特征在于,所述操作系统内核信任传递单元包括度量模块和监控模块;
所述度量模块用于,度量操作系统代码以及上层应用的代码;
所述监控模块用于,截获上层应用进程的系统资源调用命令。
5.如权利要求3或4所述的可信计算终端,其特征在于,所述可信计算终端包括第一操作系统内核和第二操作系统内核;
所述第一操作系统内核处于核心态,用于存储可信度量根,度量操作系统代码以及上层应用的代码,截获上层应用进程的系统资源调用命令;
所述第二操作系统内核处于非核心态,用于运行上层应用程序,通过所述第一操作系统内核调用系统资源。
6.一种可信计算方法,其特征在于,所述方法包括步骤:
利用不可篡改的核心可信度量根对启动程序代码进行度量;度量完成后加载并运行所述启动程序代码;
按照可信计算终端划分的结构层次,对应地设置至少一级信任传递单元,每一级信任传递单元都分别存储有可信度量根;
按照所述结构层次的加载顺序,先加载的结构层次对应的信任传递单元中的可信度量根对所述结构层次、以及下一级信任传递单元中的可信度量根进行度量,度量完成后再加载所述结构层次以及所述下一级信任传递单元。
7.如权利要求6所述的方法,其特征在于,所述方法包括:
先对不可篡改地存储了核心可信度量根的单元供电,接收到该单元发来的度量完成指示后,再对加载并运行所述启动程序加载单元中代码的单元供电。
8.如权利要求6所述的方法,其特征在于,所述结构层次包括可信操作系统内核;可信操作系统内核对应的信任传递单元进行度量的方法包括:
对可信操作系统代码、和/或上层应用代码进行度量、和/或截获上层应用代码对系统资源的调用命令。
CN 200810057855 2008-02-19 2008-02-19 一种可信计算终端及可信计算方法 Expired - Fee Related CN101515316B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810057855 CN101515316B (zh) 2008-02-19 2008-02-19 一种可信计算终端及可信计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810057855 CN101515316B (zh) 2008-02-19 2008-02-19 一种可信计算终端及可信计算方法

Publications (2)

Publication Number Publication Date
CN101515316A CN101515316A (zh) 2009-08-26
CN101515316B true CN101515316B (zh) 2011-09-28

Family

ID=41039768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810057855 Expired - Fee Related CN101515316B (zh) 2008-02-19 2008-02-19 一种可信计算终端及可信计算方法

Country Status (1)

Country Link
CN (1) CN101515316B (zh)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8510569B2 (en) * 2009-12-16 2013-08-13 Intel Corporation Providing integrity verification and attestation in a hidden execution environment
CN102012979B (zh) * 2010-11-15 2012-07-04 深圳市华威世纪科技股份有限公司 嵌入式可信计算终端
CN102523211B (zh) * 2011-12-09 2014-07-23 中国联合网络通信集团有限公司 终端授信方法、授信服务器和终端
CN103646214B (zh) * 2013-12-18 2016-08-31 国家电网公司 一种在配电终端中建立可信环境的方法
CN103902915B (zh) * 2014-04-17 2017-02-22 中国科学院信息工程研究所 一种可信工控终端及其构建方法
CN104598841B (zh) * 2014-12-29 2017-11-28 东软集团股份有限公司 一种面向终端安全的双系统引导方法和装置
CN104618333B (zh) * 2014-12-30 2017-09-22 北京工业大学 一种移动终端安全办公系统
CN104834845A (zh) * 2015-05-12 2015-08-12 武汉上博科技有限公司 一种可信工业相机的实现方法
CN104933358A (zh) * 2015-07-10 2015-09-23 沈军 一种计算机免疫系统设计方法与实现
CN107665308B (zh) * 2016-07-28 2023-04-07 华大半导体有限公司 用于构建和保持可信运行环境的tpcm系统以及相应方法
CN106778282A (zh) * 2016-11-22 2017-05-31 国网江苏省电力公司南通供电公司 可信配电终端
CN106557700B (zh) * 2016-11-24 2019-11-26 苏州国芯科技股份有限公司 一种用于可信计算机的度量系统及方法
CN106991327B (zh) * 2017-03-29 2019-10-18 山东英特力数据技术有限公司 一种基于Power平台可信计算机的设计方法和控制运行方法
CN110096883A (zh) * 2018-01-31 2019-08-06 北京可信华泰信息技术有限公司 一种可信度量方法
CN110096885A (zh) * 2018-01-31 2019-08-06 北京可信华泰信息技术有限公司 一种可信计算的实现装置及方法
CN108595964A (zh) * 2018-04-27 2018-09-28 北京可信华泰信息技术有限公司 一种基于固件的可信平台控制模块实现方法
CN111198717A (zh) * 2018-11-20 2020-05-26 西门子股份公司 计算机系统的可信启动方法、装置、电子设备和介质
CN109583169B (zh) * 2018-11-28 2021-05-14 北京可信华泰信息技术有限公司 一种安全认证方法
CN109598150B (zh) * 2018-11-28 2021-01-08 北京可信华泰信息技术有限公司 一种密钥使用方法
CN109583196B (zh) * 2018-11-28 2021-01-08 北京可信华泰信息技术有限公司 一种密钥生成方法
CN109598125B (zh) * 2018-11-28 2021-05-14 北京可信华泰信息技术有限公司 一种安全启动方法
CN109583214B (zh) * 2018-11-28 2021-05-14 北京可信华泰信息技术有限公司 一种安全控制方法
CN109614799B (zh) * 2018-11-28 2021-03-16 北京可信华泰信息技术有限公司 一种信息权鉴方法
CN109670349B (zh) 2018-12-13 2021-10-01 英业达科技有限公司 可信计算机的硬件架构及计算机的可信启动方法
CN109861970B (zh) * 2018-12-18 2022-04-22 北京可信华泰信息技术有限公司 一种基于可信策略的系统
TWI687837B (zh) * 2018-12-18 2020-03-11 英業達股份有限公司 可信電腦的硬體裝置及電腦的可信啟動方法
CN109783192A (zh) * 2018-12-18 2019-05-21 北京可信华泰信息技术有限公司 一种虚拟机安全迁移系统
CN109918915B (zh) * 2019-03-14 2019-10-11 沈昌祥 一种基于双体系结构可信计算平台的动态度量方法
CN109871695B (zh) * 2019-03-14 2020-03-20 沈昌祥 一种计算与防护并行双体系结构的可信计算平台
CN111814205B (zh) * 2019-04-12 2023-11-14 阿里巴巴集团控股有限公司 计算处理方法、系统、设备、存储器、处理器及计算机设备
CN112016090B (zh) * 2019-05-30 2024-01-23 阿里巴巴集团控股有限公司 安全计算卡,基于安全计算卡的度量方法及系统
CN110287047B (zh) * 2019-06-03 2023-04-25 北京可信华泰信息技术有限公司 一种可信状态检测方法
CN110334521B (zh) * 2019-07-08 2022-03-15 北京可信华泰信息技术有限公司 可信计算系统构建方法、装置、可信计算系统及处理器
CN111045744B (zh) * 2019-12-17 2024-03-08 全球能源互联网研究院有限公司 一种系统的可信验证启动方法及装置
CN111158906B (zh) * 2019-12-19 2023-04-28 北京可信华泰信息技术有限公司 一种主动免疫可信云系统
CN111538993B (zh) * 2020-04-16 2023-05-12 南京东科优信网络安全技术研究院有限公司 一种引入外置式硬件信任根进行可信度量的装置与方法
CN112162781B (zh) * 2020-09-24 2023-07-18 北京八分量信息科技有限公司 基于可信根度量进行双核安全启动的方法、装置及相关产品
CN112256390B (zh) * 2020-10-22 2023-08-29 海光信息技术股份有限公司 一种度量管理方法及相关设备
CN113064652B (zh) * 2021-04-01 2023-03-14 海光信息技术股份有限公司 用于中央处理单元的启动代码的装置、方法、设备和介质
CN113961911A (zh) * 2021-10-19 2022-01-21 维沃移动通信有限公司 模型数据发送方法、模型数据整合方法及装置
CN117150505B (zh) * 2023-09-01 2024-07-02 国网江苏省电力有限公司扬州供电分公司 一种基于分离架构的可恢复信任链传递方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327652B1 (en) * 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
CN1853162A (zh) * 2003-09-18 2006-10-25 贵族技术澳大利亚有限公司 Bios保护装置
CN101038556A (zh) * 2007-04-30 2007-09-19 中国科学院软件研究所 可信引导方法及其系统
CN101122936A (zh) * 2007-09-21 2008-02-13 武汉大学 一种可信机制上的嵌入式平台引导

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327652B1 (en) * 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
CN1853162A (zh) * 2003-09-18 2006-10-25 贵族技术澳大利亚有限公司 Bios保护装置
CN101038556A (zh) * 2007-04-30 2007-09-19 中国科学院软件研究所 可信引导方法及其系统
CN101122936A (zh) * 2007-09-21 2008-02-13 武汉大学 一种可信机制上的嵌入式平台引导

Also Published As

Publication number Publication date
CN101515316A (zh) 2009-08-26

Similar Documents

Publication Publication Date Title
CN101515316B (zh) 一种可信计算终端及可信计算方法
US9081954B2 (en) Verifying firmware integrity of a device
CN101436237B (zh) 用于将软件组件列入白名单的方法和系统
US8375221B1 (en) Firmware-based trusted platform module for arm processor architectures and trustzone security extensions
US20140025961A1 (en) Virtual machine validation
US20150135311A1 (en) Virtual machine validation
KR20160112757A (ko) 사용자 장치 및 그것에 대한 무결성 검증 방법
CN101226577A (zh) 基于可信硬件与虚拟机的微内核操作系统完整性保护方法
CN107301082A (zh) 一种实现操作系统完整性保护的方法和装置
CN114254304A (zh) 容器安全入侵检测方法、装置、计算机设备及存储介质
US20170220795A1 (en) Information-processing device, information-processing monitoring method, and recording medium
US11775649B2 (en) Perform verification check in response to change in page table base register
CN110334519A (zh) 基于双体系结构的可信计算平台的静态度量方法
WO2023094931A1 (en) Detecting vulnerabilities in configuration code of a cloud environment utilizing infrastructure as code
CN112883369B (zh) 一种可信虚拟化系统
CN101303716A (zh) 基于tpm的嵌入式系统恢复机制
US20200342109A1 (en) Baseboard management controller to convey data
CN112835639A (zh) 一种Hook实现方法、装置、设备、介质及产品
US20180226136A1 (en) System management mode test operations
CN115130106A (zh) 一种通过fTPM实现可信启动的方法及相关装置
CN110399726A (zh) Tpm物理芯片检测方法、装置、设备及可读存储介质
CN110781517A (zh) 一种bios与bmc沟通实现数据交互的方法
CN117667465B (zh) 代码共享方法、装置、交换机、多主机系统、设备和介质
US20240028713A1 (en) Trust-based workspace instantiation
Cheng et al. Building dynamic integrity protection for multiple independent authorities in virtualization-based infrastructure

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110928

Termination date: 20120219