一种可信计算方法与流程

文档序号:18414724发布日期:2019-08-13 19:13阅读:280来源:国知局
一种可信计算方法与流程

本发明涉及信息安全领域,具体涉及一种可信计算方法。



背景技术:

可信计算作为信息安全领域一个新的发展方向受到越来越多公司和研究机构的重视。可信计算系统的主要目标是构建一个用户可以预期的计算环境,从而保证计算资源不会被恶意篡改、盗取。

目前可信计算的概念也得到了政府、军队、企业等的广泛认可与推广。经过多年的发展,国内可信计算理论与技术的研究已经领先于其他国家,发展到了具有主动控制、主动度量的可信计算3.0时代。可信计算3.0主要的创新之一在于实现了主动度量功能,tpcm在中央处理单元运行固件代码之前对固件进行完整性度量、校验,确保固件未被篡改。tpcm模块结合tcm模块可以实现对可信软件基的密码支撑功能。在主板中通过tpcm来确保产品的安全将有着切实的用处和深远的意义。

pcie接口的tpcm卡具有硬件成本高的特点,而且需要主板提供单独的pcie插槽来支持,对设备的空间、接口有一定的要求。

相对于其他常见的通过线缆连接主板供电的方式,本设计中利用专用的供电线缆对tpcm首先供电,从而可以保证在开机的时候tpcm首先上电。相对而言对主板的兼容性更高、设备的稳定性更好。

而且目前的技术只是强调了启动过程中对设备bmc、bios(或pnor)等核心启动代码芯片的度量、校验,对pcie等外设设备缺少不要的监控。也不支持在固件层面的身份认证。



技术实现要素:

基于现有技术中存在的上述问题,有必要提出一种可信计算方法,通过专用的供电方式令tpcm在设备启动时优先上电,并在设备的启动过程中完成对外围设备的安全度量,从而基于构筑基于tpcm的可信链。

一种可信计算方法,其改进之处在于,包括如下步骤:

步骤1:可信平台控制模块tpcm上电并完成初始化;

步骤2:tpcm调用可信密码模块tcm对设备中的各芯片固件进行安全度量,当度量结果为正常时进入步骤3;

步骤3:设备开机或重启,通过cpu加载bootloader,并对bootloader芯片内的flash数据进行度量和校验,度量结果为正常时进入步骤4;

步骤4:设备进入正常工作状态。

在所述步骤1中,利用主板上专用的供电线路为tpcm供电,保证设备在待机状态下tpcm就已经供电。

所述步骤1还包括:

如果上电启动之后发现设备中不存在tpcm模块,则禁止设备启动,如果存在tpcm模块,则进入步骤2。

所述步骤2中的所述各芯片固件包括设备自身的固件、以及外设的oprom芯片的固件。

所述设备自身的固件包括:

biosflash中的固件。

所述步骤2进一步包括:

tpcm调用tcm对sbe和pnor内的数据依次进行度量和校验,度量成功进行下一步,度量不成功则led按照特定方式点亮、蜂鸣器按照特定方式点亮鸣叫,提示有异常。

当步骤2中的安全度量完成后,对cpu供电令其处于使能状态,cpu加载bootloader,然后令tpcm调用tcm对bootloader芯片内的flash数据进行度量和校验,度量成功后进行下一步对主板上外设芯片固件数据的度量;度量不成功则led按照特定方式点亮、蜂鸣器按照特定方式点亮鸣叫,提示有异常。

本发明公开了一种可信计算方法,包括x86/power/arm或mips架构cpu的终端设备中与自主研发的可信计算技术相结合,在主板中增加可信度量节点,在设备上电之后通过tpcm对设备以及外设中各芯片固件进行主动安全度量,主动安全度量结束后tpcm完成用户身份识别并对bootloader进行安全度量,度量结束之后设备正常运行,通过本发明的技术方案可令设备从上电开始就利用tpcm构筑可信链,保证设备运行时的稳定性和可信度。

附图说明

图1为本发明中用于实现一种可信计算方法的主板电路系统框图;

图2-4为本发明中用于实现一种可信计算方法的接口通信图;

图5为本发明实施例1中一种可信计算方法的工作流程图;

图6为本发明实施例2中一种安全度量方法的工作流程图;

图7为本发明实施例3中一种安全度量方法的工作流程图。

具体实施方式

本发明提供一种可信计算的实现方法及装置。为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本发明提供的一种可信计算方法可应用于x86/power/arm或mips架构cpu的终端设备中。

图1示出了本发明中用于实现一种可信计算方法的主板电路系统框图,其中:

tpcm上电后通过rst信号使bmc处于复位状态;当tpcm完成主动度量后,需要启动bmc时,释放rst信号。需要注意的是,tpcm上的rst信号(通过gpio控制)的默认状态是释放状态;即如果bmc的复位信号是低电平有效,则tpcm提供的gpio控制信号默认情况是高电平。

tpcm通过通讯总线访问bmcspiflash,获取bmc代码和数据。

bmc和tpcm之间通过通讯总线进行数据交互。

tpcm通过通讯总线接口访问biosspiflash,获取bios代码和数据。

power处理器通过pcie接口实现与tpcm之间的通信。

tpcm通过调用tcm实现存储加密、身份认证等密码功能。

图2-4示出了本发明中用于实现一种可信计算方法的接口通信图,其中包括:

(1)pcie接口:

如图2所示,pcie作为pcie设备使用,遵循标准的pcie规范。主机可以通过pcie调用tpcm,进行校验、加密等工作。接口规格为pci-ex2gen2;连接器预留了x8接口,方便后续升级。tpcm与cpu之间的pcie通信接口为mini-pcie接口。

其中:

vdd3.3v为输入电源;

perst_n为复位信号;

ref_clk_n与ref_clk_p为差分时钟信号;

txd_p、txd_n、rxd_p、rxd_n为差分数据信号。

(2)usb接口:

usb作为host使用,遵循标准的usb规范。接口预留供电能力为2a。通过usb接口,可以接u-key扩展或者固件升级等通途。

(3)spi接口:

如图3所示,spi接口作为host使用,遵循spi规范。tpcm卡通过spi接口读取。bmc/bios(或pnor)flash内容进行度量,或者进行固件更新工作。

其中tpcm作为spi的master端,spiflash作为spislave端。

(4)i2c接口:

如图4所示,i2c接口作为slave,与bmc进行通信。遵循i2c规范。

其中bmc作为i2c的master端,tpcm作为i2cslave端。

(5)gpio接口:

通用输入输出接口,配置灵活,便于用户扩展。

实施例一

本实施例提出了一种可信计算方法,通过图1中的主板电路系统实现,图5示出了该方法的工作流程,包括以下步骤:

步骤1:tpcm上电并完成初始化。

具体地,利用主板上专用的供电线路为tpcm供电,保证设备在待机状态下tpcm就已经供电。

具体地,所述待机状态是指设备已经接通电源但用户还未按下开机键时的状态。

具体地,如果用户令设备接通电源后直接按下开机键进行上电启动,则tpcm将会控制上电次序,先对设备中相应部分执行完主动安全度量之后再使设备正常开机运行。

具体地,所述tpcm先行上电之后先自检、并进行内部初始化。自检、初始化成功之后执行下一步工作;自检、初始化不成功则led按照特定方式点亮、蜂鸣器按照特定方式点亮鸣叫,提示有异常。

具体地,如果上电启动之后发现设备中不存在tpcm模块,则证明tpcm已被恶意移除,则此次将禁止设备启动。

步骤2:tpcm调用tcm对设备中的各芯片固件进行安全度量,当度量结果为正常时进入步骤3。

具体地,tpcm对bmcflash中的固件进行安全度量和校验,其中,tpcm通过bmc_reset信号线,使bmc处于rst状态,并将通讯总线开关切换到tpcm,tpcm访问bmc。

具体地,bmc启动后,可能会在任意时间点发生重启的动作,这时需要tpcm重新bmcreset,并进行度量。reset信号将通过gpio_m0发送给tpcm,reset信号以上升沿触发;当tpcm输出高时,bmcreset有效;当tpcm输出低时,bmcreset解除;当tpcm_gpio_3输出高时,bmcflash被bmc控制;当tpcm_gpio_3输出低时,bmcflash被tpcm控制。

具体地,tpcm调用tcm对sbe和pnor内的数据依次进行度量和校验,度量成功进行下一步,度量不成功则led按照特定方式点亮、蜂鸣器按照特定方式点亮鸣叫,提示有异常。

步骤3:设备开机或重启,使能cpu,cpu加载bootloader对主板上外设芯片的固件数据进行度量,度量结果为正常时进入步骤4。

具体地,当步骤2中的安全度量完成后,对cpu供电令其处于使能状态,cpu加载bootloader,然后令tpcm调用tcm对bootloader芯片内的flash数据进行度量和校验,度量成功后进行下一步对主板上外设芯片固件数据的度量;度量不成功则led按照特定方式点亮、蜂鸣器按照特定方式点亮鸣叫,提示有异常。

具体地,当bootloader芯片内flash数据的度量和校验结果为正常时,cpu运行所述bootloader,bootloader通过tpcm调用tcm芯片,依次对主板上各个外设的oprom芯片的固件数据进行度量、校验,度量完一个再进行下一个,直至全部度量、校验完成后进行下一步,度量不成功则led按照特定方式点亮、蜂鸣器按照特定方式点亮鸣叫、交互界面可以显示,提示有异常。

步骤4:设备进入正常工作状态。

本实施例提供了一种可信计算方法,包括x86/power/arm或mips架构cpu的终端设备中与自主研发的可信计算技术相结合,在主板中增加可信度量节点,在设备上电之后通过tpcm对设备以及外设中各芯片固件进行主动安全度量,主动安全度量结束后tpcm完成用户身份识别并对bootloader进行安全度量,度量结束之后设备正常运行,通过本发明的技术方案可令设备从上电开始就利用tpcm构筑可信链,保证设备运行时的稳定性和可信度。

实施例二

本实施例提供另一种可信计算方法。

其与实施例一技术方案的不同之处在于:

利用主板上pcie的待机电压为tpcm供电,保证设备在待机状态下tpcm就已经供电。

如图6所示,当tpcm完成实施例一步骤3中的安全度量操作之后,还包括下述安全度量步骤:

步骤3.1:cpu加载osloader;

具体地,tpcm调用tcm对osloader进行度量、校验,度量成功则cpu运行osloader并进入步骤3.2;度量不成功则led按照特定方式点亮、蜂鸣器按照特定方式点亮鸣叫、交互界面显示的方式提示有异常。

步骤3.2:cpu加载oskernel;

具体地,tpcm调用tcm对oskernel进行度量、校验,度量成功则cpu运行oskernel、加载文件系统并令设备进入正常工作状态;度量不成功则led按照特定方式点亮、蜂鸣器按照特定方式点亮鸣叫、交互界面显示的方式提示有异常。

通过本实施例提供的技术方案利用tpcm依次对设备中的固件、bootloader、外围设备中的固件、osloader以及oskernel进行安全度量,可令设备从上电开始就利用tpcm构筑可信链,保证设备运行时的稳定性和可信度。

实施例三

本实施例提供另一种更优的一种可信计算方法,流程图如图7所示。

步骤3.3:当设备完成对osloader以及oskernel的安全度量之后,即当设备的操作系统处于正常运行状态时,tpcm对操作系统进行实时度量,若度量结果为异常,则设备关机。

具体地,所述度量操作由主控芯片中的tpcm模块调用tcm来完成,每隔预定时间间隔完成对操作系统的安全性度量。

步骤3.4:在设备进入正常运行状态之后,可通过配置界面对tpcm进行配置以选择对上述度量项的一项或多项进行安全性度量。

本实施例提供了一种可信计算方法,包括x86/power/arm或mips架构cpu的终端设备中与自主研发的可信计算技术相结合,在主板中增加可信度量节点,在设备上电之后通过tpcm对设备以及外设中各芯片固件进行主动安全度量,主动安全度量结束后tpcm完成用户身份识别并对bootloader进行安全度量,当度量结果为正常时,利用tpcm对设备中bootloader、外围设备中的固件、osloader以及oskernel进行安全度量,并实时对运行中的操作系统进行安全度量,通过本发明的技术方案可令设备从上电开始就利用tpcm构筑可信链,及时发现设备中的风险点,并迅速作出响应。

在本发明所提供的几个实施例中,应该理解到,所揭露的方法和终端,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

另外,在不发生矛盾的情况下,上述几个实施例中的技术方案可以相互组合和替换。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个模块或装置也可以由一个模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1