买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】用于TPM故障切换的方法和装置_联想企业解决方案(新加坡)有限公司_201810068740.7 

申请/专利权人:联想企业解决方案(新加坡)有限公司

申请日:2018-01-24

公开(公告)日:2023-12-01

公开(公告)号:CN110069361B

主分类号:G06F11/14

分类号:G06F11/14

优先权:

专利状态码:有效-授权

法律状态:2023.12.01#授权;2019.08.23#实质审查的生效;2019.07.30#公开

摘要:本公开的实施例涉及一种用于TPM故障切换的方法和装置。公开了一种在计算设备上执行安全操作的方法。该方法包括以下步骤:检测第一可信平台模块TPM是否被损坏;以及响应于检测到第一TPM被损坏,将原本要由第一TPM执行的安全操作转换到第二TPM。还提供了一种用于检测TPM的故障并提供故障切换的计算设备。因此,上述方法解决了在TPM设备被破坏且不可用时必须更换整个主板的问题。

主权项:1.一种在计算设备上执行安全操作的方法,所述方法包括:检测第一可信平台模块TPM是否被损坏;响应于在所述计算设备的通电自检POST过程期间检测到所述第一TPM被损坏,执行统一可扩展固件接口UEFI的驱动程序执行环境DXE代码;或者响应于在所述计算设备的操作系统OS被加载有OS驱动程序之后检测到所述第一TPM被损坏,执行所述UEFI的系统管理模式SMM代码;在主板上的持久性存储装置中,将所述第一TPM标记为损坏状态,以指示所述第一TPM被放弃;以及将原本要由所述第一TPM执行的安全操作转换到第二TPM执行。

全文数据:用于TPM故障切换的方法和装置技术领域本发明涉及计算设备中使用的安全密码处理器,具体涉及这种密码处理器的故障的检测及其故障切换。背景技术存储在计算机系统上的信息的安全是主要的关注点。从安装在计算机系统上的安全应用软件到访问信息所需的硬件密钥,已经实现了许多不同的技术来保护这些信息。另一种保护信息的方式被称为来自可信计算组织TCG的可信平台模块TPM规范。在该规范中,包括可编程微控制器的标准芯片组在制造期间被提供在计算机的电路板上,并被用于存储和保护期望被保护的计算机系统的信息,即实现有效的可信计算特征。在微控制器上运行的安全架构即功能和应用程序接口API可以被称为TPM。TPM可以提供各种特征,包括随机数字生成器、用于安全生成加密密钥的设施以及限制密钥使用的能力,例如用于签名和验证,和或加密和解密。然而,传统计算设备中与TPM芯片相关的问题是,TPM芯片被焊接到计算设备的主板,在TPM芯片被破坏的情况下,必须更换整个主板。TPM芯片可能由于固件更新而被破坏,或者由于TPM芯片的内部存储装置磨损而被破坏。由于TPM芯片的破坏所导致的主板更换不仅成本非常高,而且还中断了计算设备的正常操作,特别是对于经常需要7×24运行的服务器而言。发明内容因此,在一个方面中,本发明提供了一种在计算设备上执行安全操作的方法。该方法包含以下步骤:检测第一可信平台模块TPM是否被损坏;以及响应于检测到第一TPM被损坏,将原本要由第一TPM执行的安全操作转换到第二TPM。优选地,该转换步骤还包含在不影响存储器映射IOMMIO中的TPM存储器映射的情况下,通过多工器选择第二TPM。在一个具体的实现中,多工器是计算设备的通用输入输出GPIO电路。根据优选实施例的变型,转换步骤之后是计算设备的重启。根据优选实施例的另一个变型,转换步骤还包含TPM准备、TPM版本对齐检查或TPM版本切换。在一个具体的实现中,检测步骤还包含尝试向第一TPM发送TPM接口规范TIS命令并从第一TPM接收响应。优选地,评估步骤还包含基于从第一TPM接收到的响应来确定损坏程度。在另一个具体的实现中,检测步骤和评估步骤在计算设备的通电自检POST过程期间发生,并且包括执行统一可扩展固件接口UEFI的驱动程序执行环境DXE代码。在又一个具体的实现中,检测步骤和评估步骤在计算设备的操作系统被加载有特定的OS驱动程序之后发生,并且涉及高级配置和功率接口ACPI。根据本发明的另一个方面,一种计算设备包括:控制模块;第一可信平台模块TPM;以及第二TPM。控制模块可操作以检测第一TPM是否被损坏,以及响应于第一TPM被损坏,将原本要由第一TPM执行的安全操作转换到第二TPM。优选地,控制模块适于检测第一TPM的可用性,评估第一TPM的损坏程度,并将第一TPM的状态标记在主板上的一致性存储装置中。优选地,计算设备还包含多工器,通过该多工器从第一TPM转换到第二TPM不会影响存储器映射IOMMIO中的TPM存储器映射。在具体的实现中,多工器是计算设备的通用输入输出GPIO电路。根据优选实施例的一个变型,从主TPM到备用TPM的转换之后是计算设备的重启。优选地,该转换还包含通过多工器电路的控制来转换到第二TPM、TPM准备、TPM版本对齐检查或者TPM版本切换。根据优选实施例的另一个变型,控制模块还适于尝试向第一TPM发送TPM接口规范TIS命令并从第一TPM接收响应。优选地,控制模块还适于基于从第一TPM接收到的响应来确定损坏程度。在一个具体的实现中,控制模块包含高级配置和功率接口ACPI。控制模块适于在计算设备的操作系统被加载有特定的OS驱动程序之后检测第一TPM的可用性并评估第一TPM的损坏程度。在另一个具体的实现中,控制模块包含统一可扩展固件接口UEFI。控制模块适于在计算设备的通电自检POST过程期间,检测第一TPM的可用性并评估第一TPM的损坏程度。附图说明从结合附图的仅作为示例提供的优选实施例的以下描述中,本发明的前述特征和更多特征将变得显而易见,其中:图1示出了根据本发明实施例的计算设备的内部结构的框图。图2是示出检测第一TPM设备的故障并通过转换到第二TPM设备执行故障切换的方法的流程图。图3是示出如图2所示的确定第一TPM设备是否被破坏的详细步骤的流程图。图4是示出如图2所示的重启系统并且转换到第二TPM设备的详细步骤的流程图。在附图中,贯穿本文所描述的若干实施例,相同的附图标记表示相同的部分。具体实施方式图1示出了实现本申请的原理的计算设备的实施例。该计算设备可以包括处理器20。处理器20可以包括能够执行软件和或处理数据信号的任何类型的处理器。处理器20可以经由存储器路径未示出被耦合到系统存储器24,以用于指令和数据存储和或用于存储例如图形命令、数据和纹理。处理器20可以经由被耦合到PCIe互连30的PCIe端口未示出而被耦合到一个或多个外围设备38。存储器24可以是硬盘、软盘、随机存取存储器RAM、只读存储器ROM、闪存、或者由处理器20可读的任何其它类型的介质。RAM还可以包括非易失性随机存取存储器NVRAM和或动态随机存取存储器DRAM以及静态随机存取存储器SRAM。处理器20可以指代计算设备中的多于一个的处理器,或者指代可以包括多线程、多内核等的一个或多个处理器。本改进不限于计算机系统或数据处理设备系统。本发明的备选实施例可以用于使用统一可扩展固件接口UEFI的基本输入输出系统BIOS的任何形式因素的设备诸如手持设备和嵌入式应用中。手持设备的一些示例包括蜂窝电话、平板计算机、因特网协议设备、数码相机、个人数字助理PDA或者诸如上网本或笔记本电脑的手持PC。嵌入式应用可以包括微控制器、数字信号处理器DSP、片上系统、网络计算机NetPC、机顶盒、网络集线器、广域网WAN交换机或者任何其它系统。处理器20可以被耦合到系统逻辑芯片26。例如,系统逻辑芯片26作为平台控制器集线器PCH在图示的实施例中被示出。在一个实施例中,PCH26可以例如经由本地IO互连来提供到一个或多个IO设备的连接。在实施例中,本地IO互连可以是高速IO总线,诸如外围组件互连PCI高速总线。PCH26可以在处理器20与计算设备中的一个或多个其他组件之间引导数据信号或其它信息,并且在处理器20与系统IO之间桥接数据信号或信息。一个或多个组件的一些示例可以包括数据存储设备28、一个或多个PCIe端口未示出、联网控制器34、USB端口36。在一个实施例中,数据存储设备28可以包括硬盘驱动器、软盘驱动器、CD-ROM设备、闪存设备或者其他大容量存储设备。尽管图1示出了组件的一些示例,但是PCH26可以提供到其他组件的连接,诸如音频IO,键盘鼠标IO,以及诸如电子集成驱动器IDE、局域网LAN和其他串行扩展端口的其他集成IO组件,无线收发器,传统IO控制器等。参考图1,诸如闪存34的非易失性存储器可以经由例如低引脚数LPC总线而被耦合到PCH26。BIOS固件32可以驻留在闪存34中,并且启动可以执行来自闪存或固件的指令。尽管图1图示了在闪存34中的BIOS固件32,但是在一些实施例中,BIOS固件32可以被存储在诸如固件集线器等的其它非易失性存储器中。在实施例中,BIOS固件32可以由统一可扩展固件接口UEFI固件或操作系统与计算设备的硬件之间的任何其他固件接口来实现。图1中的计算设备还包含两个可信平台模块TPM芯片即TPM121和TPM223以提供基于硬件的认证和篡改检测。TPM121和TPM223都被焊接—永久地附接—到主板未示出。TPM121和TPM223都被电连接到PCH26。注意在正常操作期间,TPM121和TPM223中的仅一个将被激活并被计算设备使用,而另一个将被保留作为备用。尽管图1图示了计算设备,但是根据本发明的实施例可以用于任何其他硬件和软件架构中,诸如可以用于使用多个处理器核心的平台或者使用处理器或协处理器的平台、使用IO集线器的平台、或嵌入在处理器内的存储器控制等。现在转到图2,图2示出了根据本发明实施例的检测安装在计算设备的主板上的第一TPM设备诸如图1中的TPM121的故障以及恢复第一TPM设备或放弃第一TPM设备并转换到第二TPM设备的方法。这里提到的TPM设备可以包括遵循TPM规范的TPM芯片。该方法从步骤40开始,在步骤40中,计算设备被通电并且执行一系列通电自检POST步骤,该POST步骤包括初始化诸如图1中所示的外围设备。POST步骤包括检查和初始化安装在计算设备的主板上的第一TPM设备,诸如图1中所示的TPM121。然而,关于计算设备的外围设备将以何种顺序被检查或者第一TPM设备将在其他外围设备之前还是之后被检查,不存在特别的要求。相反,该方法允许在POST阶段的任何阶段检查第一TPM设备,或者如稍后将更详细地解释的那样在操作系统已经被加载有特定的OS驱动程序之后检查第一TPM设备。在计算设备通电之后,在步骤42中,控制模块检测第一TPM设备并检查其是否被破坏。控制模块例如是如上所述的UEFI模块。图3示出了步骤42的更多细节。第一步骤66是UEFI尝试发出TPM接口规范TIS命令以感测第一TPM设备的可用性。TIS是用于访问TPM的众所周知的标准化TPM接口,并且这里由UEFI使用的TIS命令例如是对于计算设备的系统存储器中的、第一TPM设备应当被映射到的特定存储器范围的查询。接下来,在步骤68中,UEFI将尝试从第一TPM设备接收响应于TIS命令的返回值。当然,在该步骤中可能会出现这样的情况,即在第一TPM设备被破坏时或者处于更好情况但暂时发生故障时,没有从第一TPM设备接收到任何响应。UEFI将根据根本没有从TPM设备接收到响应或者接收到响应,来评估从TPM返回值的值。显然,取决于从TPM设备可以接收到多少可能的返回值,可以为TPM设备定义多个程度甚至超过四个的损坏。在步骤70中,UEFI将决定第一TPM设备是否存在使其不能正常工作的任何问题。如果没有检测到问题,那么方法转到图2中的步骤44,该步骤中计算设备将继续正常启动。然而,如果确定在第一TPM设备中存在问题,那么随后取决于损坏程度,该方法将从步骤70前往由步骤72、步骤74和步骤76示出的三种途径之一。在步骤72中表示的途径中,例如当第一TPM设备只是暂时发生故障时,UEFI将简单地恢复第一TPM设备。在第一TPM设备被恢复之后,方法转到计算设备将继续正常启动的图2中的步骤44。在步骤76中表示的途径中,UEFI将冷重启计算设备,并且在使第一TPM设备回到其正常状态的尝试中再次进行POST过程。然后,在步骤76之后该方法流程回到图2中的步骤40。然而,如果UEFI确定了第一TPM设备通过简单恢复或通过冷重启不能返回到正常状态,那么将采取步骤74中表示的途径。在这种情况下,该方法将前往步骤48以便准备放弃第一TPM设备并转换到第二TPM设备。回到图2,在步骤48中,UEFI将必须确定计算设备的启动过程的当前阶段。如果系统仍处于POST阶段且OS尚未加载,那么该方法随后转到步骤52以直接执行UEFI驱动程序执行环境DXE代码。由于OS尚未控制计算设备,所以在这种情况下可以执行DXE代码。但是,如果该系统不处于POST阶段,那么在步骤50中确定OS已经被加载,并且该方法将前往步骤54。在OS已被加载到系统存储器中的情况下,需要涉及高级配置和电源接口ACPI,因为UEFI代码不能在OS的存在下直接执行。在步骤54中,ACPI驱动程序被加载有特定的预安装的OS驱动程序。在具体的实现中,该方法前往步骤58以触发SMI中断,以便执行UEFI系统管理模式SMM代码。应当注意,如步骤60和步骤62中所示,在步骤52中执行的UEFIDXE代码和在步骤56中执行的UEFISMM代码执行类似的功能。只是由于系统操作环境中的不同,当OS已经被加载时,SMM代码必须利用ACPI和SMI来执行。无论是在步骤52中执行UEFIDXE代码还是在步骤56中执行UEFISMM代码,在步骤60中,UEFI继续把被确定为被破坏且不可用的第一TPM设备在持久性存储装置中标记为“坏的”。该步骤是为了确保故障的第一TPM设备在将来将不会被任何其他应用程序所使用。与此同时,在一致性存储装置中设置标志64以指示需要切换TPM的状态。然后,该方法前往步骤62,步骤62中的详细步骤在图4中被最好地图示出。UEFI可以选择TPM设备被切换的方式。第一种方式是在步骤78中对计算设备进行冷重启,并且在计算设备被重启之后,UEFI随后利用计算设备的通用输入输出GPIO电路来选择第二TPM设备的MMIO解码。GPIO电路在这里用作多工器。注意,对于操作系统或使用TPM的任何其他应用程序而言,MMIO解码总是与Intel架构IAx86系统中定义的解码相同,所以物理TPM设备的任何切换对于操作系统和软件应用程序是透明的。GPIO电路用作访问不同的TPM设备的接口,而不需要对现有的操作系统或使用TPM的任何其他应用程序进行任何修改。备选地,如果UEFI确定不需要冷重启来转换TPM设备,那么系统将不执行步骤78而是执行步骤80,在步骤80中进行实时迁移以将数据从第一TPM设备传送到第二TPM设备。当然,只有当系统仍然可以访问第一TPM设备时才能进行该实时迁移。实时迁移需要UEFI与两个TPM设备的固件进行相互作用。特别地,需要ROM孔机制来防止固件操作期间的数据丢失。在系统已经从第一TPM设备转换到第二TPM设备之后,然后在步骤84中,将准备即初始化第二TPM设备。接下来,在步骤86中,第二TPM设备的版本需要与第一TPM设备的版本对齐。目前有两个版本的TPM规范,即1.2和2.0,并且第一TPM设备可能具有与第二TPM设备不同的版本。这是因为尽管两个TPM设备都被预安装到主板并应当具有相同的TPM版本,但是第一TPM设备在正常使用期间可能已经升级到更高版本。由于直到TPM设备切换的时间之前第二TPM设备从未被使用过,因此第二TPM设备仍然具有默认较低版本。确保第二TPM设备的版本与第一TPM设备的版本一致是至关重要的,因为TPM2.0并不往回兼容TPM1.2。如果在步骤88中确定了第二TPM设备的版本需要被切换,那么在步骤90中执行该切换。不论是否执行版本切换,整个TPM故障检测和故障转换过程在步骤92中都要完成。因此,上述方法解决了当TPM设备被破坏且不可用时必须更换整个主板的问题。传统地,主板只有一个TPM设备。所描述的方法通过引入将TPM转换到备用TPM的诸如GPIO电路的多工器来解决这个问题。因此,如果第一TPM设备被破坏,那么在第二TPM设备可以被投入使用的计算设备中向TPM设备提供冗余。此外,上述方法智能地检测对第一TPM设备的损害程度,并且选择适当的策略以例如通过重启和重试或者切换TPM设备来缓解该问题。因此,已经充分描述了本发明的示例性实施例。尽管该描述涉及特定实施例,但是对于本领域技术人员而言将清楚的是,可以利用这些具体细节的变型来实践本发明。因此,本发明不应被解释为限于本文阐述的实施例。尽管已经在附图和前面的描述中详细说明和描述了本发明,但是应当认为这些附图和描述是说明性的而不是限制性的,应当理解,仅仅已经示出和描述了示例性实施例,它们并不以任何方式来限制本发明的范围。应当理解,在此所描述的任何特征可以与任何实施例一起使用。说明性实施例并不排除彼此或者排除本文未记载的其他实施例。因此,本发明还提供了包括一个或多个上述说明性实施例的组合的实施例。如本文阐述的本发明的修改和变型可以在不脱离本发明的精神和范围的情况下做出,因此,仅仅应当施加如所附权利要求所指示的所述限制。例如,在上述实施例中,第一TPM设备被描述为在正常操作期间由计算设备使用的默认TPM设备,并且第二TPM设备被描述为当第一TPM被破坏且不可恢复时代替第一TPM的功能的备用TPM设备。然而,应当注意,本实施例中的第一TPM设备和第二TPM设备的指定仅仅是为了便于描述的目的,并且“第一”和“第二”并不表示安装在主板上的多个TPM设备中的任何特定TPM设备。例如,在其他形式的描述中,可以交换“第一”和“第二”的指定。所描述的实施例中使用的用于TPM芯片选择的多工器是计算设备的GPIO电路。然而,技术人员将确定理解的是,可以使用其他类型的电路,诸如FPGA芯片。

权利要求:1.一种在计算设备上执行安全操作的方法,所述方法包括:检测第一可信平台模块TPM是否被损坏;以及响应于检测到所述第一TPM被损坏,将原本要由所述第一TPM执行的安全操作转换到第二TPM。2.根据权利要求1所述的方法,其中所述转换步骤还包括:在不影响存储器映射IOMMIO中的TPM存储器映射的情况下,通过多工器选择所述第二TPM。3.根据权利要求2所述的方法,其中所述多工器是所述计算设备的通用输入输出GPIO电路。4.根据权利要求1所述的方法,其中所述转换步骤之后是所述计算设备的重启。5.根据权利要求1所述的方法,其中所述转换步骤还包括TPM准备、TPM版本对齐检查或者TPM版本切换。6.根据权利要求1所述的方法,其中所述检测步骤还包括:尝试向所述第一TPM发送TPM接口规范TIS命令并且从所述第一TPM接收响应。7.根据权利要求6所述的方法,其中所述检测步骤还包括:基于从所述第一TPM接收到的所述响应来确定损坏程度。8.根据权利要求1所述的方法,其中所述检测步骤在所述计算设备的通电自检POST过程期间发生,并且包括:执行统一可扩展固件接口UEFI的驱动程序执行环境DXE代码。9.根据权利要求1所述的方法,其中所述检测步骤和评估步骤在所述计算设备的操作系统被加载有特定的OS驱动程序之后发生;并且涉及高级配置和功率接口ACPI。10.一种计算设备,包括:控制模块;第一可信平台模块TPM;以及第二TPM;其中所述控制模块可操作以检测所述第一TPM是否被损坏,并且响应于所述第一TPM被损坏,将原本要由所述第一TPM执行的安全操作转换到所述第二TPM。11.根据权利要求10所述的计算设备,其中所述控制模块适于:检测所述第一TPM的可用性;评估所述第一TPM的损坏程度;以及将所述第一TPM的状态标记在主板上的一致性存储装置中。12.根据权利要求10所述的计算设备,还包括多工器,通过所述多工器从所述第一TPM切换到所述第二TPM不会影响存储器映射IOMMIO中的TPM存储器映射。13.根据权利要求12所述的计算设备,其中所述多工器是所述计算设备的通用输入输出GPIO电路。14.根据权利要求10所述的计算设备,其中从所述第一TPM到所述第二TPM的转换之后是所述计算设备的重启。15.根据权利要求14所述的计算设备,其中所述转换还包括:通过对所述多工器电路的控制来转换到所述第二TPM、TPM准备、TPM版本对齐检查或者TPM版本切换。16.根据权利要求11所述的计算设备,其中所述控制模块还适于尝试向所述第一TPM发送TPM接口规范TIS命令并且从所述第一TPM接收响应。17.根据权利要求16所述的计算设备,其中所述控制模块还适于基于从所述第一TPM接收到的所述响应来确定所述损坏程度。18.根据权利要求11所述的计算设备,其中所述控制模块包括高级配置和功率接口ACPI,所述控制模块适于检测所述第一TPM的所述可用性。19.根据权利要求11所述的计算设备,其中所述控制模块包括统一可扩展固件接口UEFI;所述控制模块适于在所述计算设备的通电自检POST过程期间检测所述第一TPM的所述可用性并评估所述第一TPM的所述损坏程度。

百度查询: 联想企业解决方案(新加坡)有限公司 用于TPM故障切换的方法和装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。

相关技术
相关技术
相关技术
相关技术