CN108629185A - 服务器可信平台度量控制系统及其运行方法 - Google Patents

服务器可信平台度量控制系统及其运行方法 Download PDF

Info

Publication number
CN108629185A
CN108629185A CN201710152017.2A CN201710152017A CN108629185A CN 108629185 A CN108629185 A CN 108629185A CN 201710152017 A CN201710152017 A CN 201710152017A CN 108629185 A CN108629185 A CN 108629185A
Authority
CN
China
Prior art keywords
code
spi flash
switch
tpcm
hashed value
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.)
Granted
Application number
CN201710152017.2A
Other languages
English (en)
Other versions
CN108629185B (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.)
Huada Semiconductor Co Ltd
Original Assignee
Huada Semiconductor Co Ltd
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 Huada Semiconductor Co Ltd filed Critical Huada Semiconductor Co Ltd
Priority to CN201710152017.2A priority Critical patent/CN108629185B/zh
Publication of CN108629185A publication Critical patent/CN108629185A/zh
Application granted granted Critical
Publication of CN108629185B publication Critical patent/CN108629185B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种服务器可信平台度量控制系统,包括:第一开关,其布置在基板管理控制器与第一SPI闪存之间;第二开关,其布置在南桥芯片与第二SPI闪存之间;以及TPCM模块,其与第一SPI闪存和第二SPI闪存连接并被配置为执行下列动作:在TPCM模块上电以后断开第一开关和第二开关;从第一SPI闪存中读取第一代码的至少一部分并且从第二SPI闪存中读取第二代码的至少一部分,并且生成第一代码的所述至少一部分的第一散列值和第二代码的所述至少一部分的第二散列值;将第一散列值与第一参考散列值相比较并且将第二散列值与第二参考散列值相比较;以及在度量成功时闭合第一开关和第二开关。本发明还涉及一种相应的方法。

Description

服务器可信平台度量控制系统及其运行方法
技术领域
本发明总体上涉及信息安全领域,具体而言涉及一种服务器可信平台度量控制系统以及一种运行服务器可信平台度量控制系统的方法。
背景技术
基本输入输出系统(英文:Basic Input Output System,BIOS)以下统称启动代码,是一组固化到计算机内主板上的ROM芯片上的程序,它保存着计算机最重要的用于基本输入输出的程序、开机后自检程序和系统自启动程序。通过BIOS可从CMOS中读写系统设置的具体信息。BIOS的主要功能是为计算机提供最底层的、最直接的硬件设置和控制。当今,BIOS已成为一些病毒木马的目标。一旦BIOS被破坏篡改,往往造成严重后果,甚至硬件损坏。
基板管理控制器(英文:Baseboard Management Controller,BMC)是服务器的一个重要硬件组件,它利用传感器来监视服务器或者其它硬件驱动设备的状态,并且通过独立的连接线路与系统管理员通信,运行在BMC上的软件称为BMC代码。BMC是智能平台控制接口(英文:Intelligent Platform Management Interface,IPMI)的一部分并且通常被设置在服务器主板上。BMC代码如果被诸如黑客之类的恶意方例如通过病毒攻击篡改,则恶意方就可以通过远程控制整个服务器系统。
可信平台模块(Trusted Platform Module,TPM)是一种硬件设备,其与计算机主板相连,用于验证身份和处理由计算机在可信计算环境中使用的变量。TPM和存储在其中的数据通常与计算机的所有其它组件分开。
然而,现有技术中的用于服务器的可信平台模块是受服务器主板支配的一个单独模块,因此其无法保证安装在服务器主板上的BIOS及BMC代码的完整性。而在BIOS及BMC越来越容易受到攻击和篡改的今天,传统的TPM已不能保证服务器平台的可信性。
最近,提出了用于对服务器的BMC进行度量(即鉴定或验证)的可信平台控制模块(Trusted Platform Control Module,TPCM)和相应方法,例如在名称为“一种基于TPCM实现BMC完整性度量的方法”的中国专利公开CN105550579A中就公开了一种这样的方法,其中调用TPCM的SM3算法模块对BMC的启动程序进行完整性度量以判断BMC程序是否完整,如果不完整则提示用户平台是不可信的并执行异常处理。然而,这样的TPCM或方法所具有的缺点是,1)没有对BMC Flash的供电进行预期的控制(例如控制上电的先后次序),这一方面会造成上电的BMC Flash电路可能对TPCM的度量产生干扰,另一方面,BMC可能在其代码被度量以前就已经读取了相应代码,使得BMC仍然可能执行经篡改的代码,从而威胁平台的可信度;2)在对一个主控设备进行度量时没有对其它主控设备进行隔离,这可能会造成主控设备的异常状态,例如在未隔离的情况下,当TPCM作为BMC Flash主控设备读取BMC代码时,南桥也会处于主控设备状态,这样同一个Flash设备同时存在两主控设备连接是无法正常工作的,其后果也难以预料。
发明内容
从现有技术出发,本发明的任务是提供一种服务器可信平台度量控制系统及其运行方法,通过该系统或该方法,可以防止上电的BMC或南桥芯片对TPCM模块产生干扰,并且防止BMC和CPU对未经度量的代码进行不期望的读取,从而保证服务器的可信运行环境,此外,还能降低采用可信平台度量方案所需的改造成本。
在本发明的第一方面,该任务通过一种服务器可信平台度量控制系统来解决,该系统包括:
第一开关,其布置在基板管理控制器与第一SPI闪存之间,其中第一SPI闪存用于存储用于基板管理控制器的第一代码;
第二开关,其布置在南桥芯片与第二SPI闪存之间,其中第二SPI闪存用于存储用于南桥芯片的第二代码;以及
TPCM模块,其与第一SPI闪存和第二SPI闪存连接并被配置为执行下列动作:
在TPCM模块上电以后断开第一开关和第二开关;
从第一SPI闪存中读取第一代码的至少一部分并且从第二SPI闪存中读取第二代码的至少一部分,并且生成第一代码的所述至少一部分的第一散列值和第二代码的所述至少一部分的第二散列值;
将第一散列值与第一参考散列值相比较并且将第二散列值与第二参考散列值相比较;以及
在第一散列值与第一参考散列值一致并且第二散列值与第二参考散列值一致时闭合第一开关和第二开关,使得基板管理控制器能够加载第一代码并且南桥芯片能够加载第二代码。
根据本发明的服务器可信平台度量控制系统或方法至少具有下列优点:(1)通过本发明的系统或方法,可以对服务器的BMC和启动代码进行度量,从而防止因运行经篡改的代码而影响系统工作环境的可信度;(2)通过在TPCM度量第一代码期间断开BMC与第一SPI闪存之间的信号连接并且在TPCM度量第二代码期间断开南桥芯片与第二SPI闪存之间的信号连接,可以防止上电的BMC或南桥芯片对TPCM模块产生干扰并同时防止BMC和南桥芯片对未经度量的代码的读取,从而保证了可信运行环境;(3)通过在BMC与第一SPI闪存之间的信号连接上布置第一开关并且在南桥芯片与第二SPI闪存之间的信号连接上布置第二开关来中断和接通所述信号连接,可以降低采用可信平台度量方案所需的改造成本,这是因为与对主板的电源控制模块进行修改来推迟BMC和南桥芯片的上电相比,通过开关来断开信号连接无需对主板芯片进行较大改变,而是可以简单地实现,由此降低了改造成本。
在本发明的一个优选方案中规定,TPCM模块的第一读取端口与第一SPI闪存连接并且TPCM的第二读取端口与第二SPI闪存连接,并且TPCM还被配置为执行下列动作:
在第一散列值与第一参考散列值一致并且第二散列值与第二参考散列值一致时通过禁用第一读取端口来断开TPCM模块与第一SPI闪存之间的连接并且通过禁用第二读取端口来断开TPCM模块与第二SPI闪存之间的连接。
通过该优选方案,可以实现TPCM模块对BMC代码和启动代码的并行(同时)度量,从而提高度量速度;同时,通过在度量成功以后禁用第一读取端口和第二读取端口,可以防止TPCM模块干扰BMC和南桥芯片对相应代码的读取。但是该方案需要TPCM模块配备有两个读取端口。
在本发明的另一优选方案中规定,服务器可信平台度量控制系统还包括选择开关,所述选择开关的第一选择输入端与第一SPI闪存连接,并且所述选择开关的第二选择输入端与第二SPI闪存连接,并且所述选择开关的输出端与TPCM模块的闪存读取端口连接,并且TPCM模块还被配置为执行下列动作:
激励选择开关的信号选择控制端以将TPCM模块的闪存读取端口与第一SPI闪存连接,使得TPCM模块能够从第一SPI闪存中读取第一代码的至少一部分;
激励选择开关的信号选择控制端以将TPCM模块的闪存读取端口与第二SPI闪存连接,使得TPCM模块能够从第二SPI闪存中读取第二代码的至少一部分;以及
在第一散列值与第一参考散列值一致并且第二散列值与第二参考散列值一致时激励选择开关的信号选择控制端以将TPCM模块的闪存读取端口从第一SPI闪存和第二SPI闪存断开。
通过该优选方案,可以实现TPCM模块对BMC代码和启动代码的相继度量,该方案尽管与并行方案相比度量速度较慢,但是却只需要TPCM模块配备单个闪存读取端口即可;此外,通过在度量成功以后将TPCM模块的闪存读取端口从第一SPI闪存和第二SPI闪存断开,也可以防止TPCM模块干扰BMC和南桥芯片对相应代码的读取。
在本发明的一个扩展方案中规定,第一代码的所述至少一部分是第一代码中的关键代码和/或第二代码的所述至少一部分是第二代码中的关键代码。关键代码例如可以是第一代码和第二代码中的核心部分。通过该扩展方案,可以减小数据处理量,从而提高度量速度。
在本发明的另一扩展方案中规定,第一开关、第二开关和选择开关为2选1选通器,其中第一开关和第二开关的两个选择输入端之一被悬空,而选择开关的两个选择输入端分别与第一SPI闪存和第二SPI闪存连接。通过该优选方案,可以用统一器件实现上述三个开关元件,从而降低硬件成本。
在本发明的第二方面,前述任务通过一种服务器来实现,所述服务器包括根据本发明的服务器可信平台度量控制系统。
通过该服务器,同样可以实现前述优点,即可以防止上电的BMC或南桥芯片对TPCM模块产生干扰,并且防止BMC对未经度量的代码进行不期望的读取,从而保证服务器的可信运行环境,此外,还能降低采用可信平台度量方案所需的改造成本。
在本发明的第三方面,前述任务通过一种用于运行服务器可信平台度量控制系统的方法来解决,其中该服务器可信平台度量控制系统包括:第一开关,其布置在基板管理控制器与第一SPI闪存之间,其中第一SPI闪存用于存储用于基板管理控制器的第一代码;第二开关,其布置在南桥芯片与第二SPI闪存之间,其中第二SPI闪存用于存储用于南桥芯片的第二代码;以及TPCM模块,其与第一SPI闪存和第二SPI闪存连接,该方法包括:
对TPCM模块上电;
断开第一开关和第二开关;
由TPCM模块从第一SPI闪存中读取第一代码的至少一部分并且从第二SPI闪存中读取第二代码的至少一部分并且生成第一代码的所述至少一部分的第一散列值和第二代码的所述至少一部分的第二散列值;
由TPCM模块将第一散列值与第一参考散列值相比较并且将第二散列值与第二参考散列值相比较;以及
在第一散列值与第一参考散列值一致并且第二散列值与第二参考散列值一致时闭合第一开关和第二开关,使得基板管理控制器能够加载第一代码并且南桥芯片能够加载第二代码。
通过该方法,同样可以实现前述优点,即可以防止上电的BMC或南桥芯片对TPCM模块产生干扰,并且防止BMC对相应代码进行不期望的读取,从而保证服务器的可信运行环境,此外,还能降低采用可信平台度量方案所需的改造成本。
在本发明的一个优选方案中规定,TPCM模块的第一读取端口与第一SPI闪存连接并且TPCM的第二读取端口与第二SPI闪存连接,并且该方法还包括:
在第一散列值与第一参考散列值一致并且第二散列值与第二参考散列值一致时禁用第一读取端口以断开TPCM模块与第一SPI闪存之间的连接并且禁用第二读取端口以断开TPCM模块与第二SPI闪存之间的连接。
通过该优选方案,可以实现TPCM模块对BMC代码和启动代码的并行(同时)度量,从而提高度量速度;同时,通过在度量成功以后禁用第一读取端口和第二读取端口,可以防止TPCM模块干扰BMC和南桥芯片对相应代码的读取。但是该方案需要TPCM模块配备有两个读取端口。
在本发明的另一优选方案中规定,所述选择开关的第一选择输入端与第一SPI闪存连接,并且所述选择开关的第二选择输入端与第二SPI闪存连接,并且所述选择开关的输出端与TPCM模块的闪存读取端口连接,并且该方法还包括:
激励选择开关的信号选择控制端以将TPCM模块的闪存读取端口与第一SPI闪存连接,使得TPCM模块能够从第一SPI闪存中读取第一代码的至少一部分;
激励选择开关的信号选择控制端以将TPCM的闪存读取端口与第二SPI闪存连接,使得TPCM模块能够从第二SPI闪存中读取第二代码的至少一部分;以及
在第一散列值与第一参考散列值一致并且第二散列值与第二参考散列值一致时激励选择开关的信号选择控制端以将TPCM的闪存读取端口从第一SPI闪存和第二SPI闪存断开。
通过该优选方案,可以实现TPCM模块对BMC代码和启动代码的相继度量,该方案尽管与并行方案相比度量速度较慢,但是却只需要TPCM模块配备单个闪存读取端口即可;此外,通过在度量成功以后将TPCM模块的闪存读取端口从第一SPI闪存和第二SPI闪存断开,也可以防止TPCM模块干扰BMC和南桥芯片对相应代码的读取。
在本发明的一个扩展方案中规定,第一代码的所述至少一部分是第一代码中的关键代码和/或第二代码的所述至少一部分是第二代码中的关键代码。关键代码例如可以是第一代码和第二代码中的核心部分。通过该扩展方案,可以减小数据处理量,从而提高度量速度。
附图说明
图1示出了根据本发明的服务器可信平台度量控制系统的第一实施例;
图2示出了根据本发明的服务器可信平台度量控制系统的第二实施例;
图3示出了根据本发明的用于运行服务器可信平台度量控制系统的方法的第一实施例;以及
图4示出了根据本发明的用于运行服务器可信平台度量控制系统的方法的第二实施例。
具体实施方式
图1示出了根据本发明的服务器可信平台度量控制系统100的第一实施例。
如图1所示,服务器可信平台度量控制系统100包括第一开关101,其布置在基板管理控制器BMC 106与第一SPI闪存104之间,其中第一SPI闪存104用于存储用于基板管理控制器的第一代码。第一开关101既可以为普通开关,也可以为2选1选通器,其中在2选1选通器的情况下第一开关101的两个选择输入端之一被悬空,并且通过在两个选择输入端之间切换来实现开关操作。
服务器可信平台度量控制系统100还包括第二开关102,其布置在南桥芯片107与第二SPI闪存105之间,其中第二SPI闪存105用于存储用于南桥芯片的第二代码。第二开关102既可以为普通开关,也可以为2选1选通器,其中在2选1选通器的情况下第一开关102的两个选择输入端之一被悬空,并且通过在两个选择输入端之间切换来实现开关操作。
此外,服务器可信平台度量控制系统100还包括TPCM模块(可信平台控制模块)103。TPCM模块103具有第一读取端口109和第二读取端口110,其分别与第一SPI闪存104和第二SPI闪存105连接以用于在端口109和110被使能(enabled)的情况下对所述闪存104和105进行读取。而在端口109和110被禁用(disabled)的情况下,TPCM模块103与第一SPI闪存104和第二SPI闪存105断开。
TPCM模块103被配置为执行下列动作:
·在TPCM模块103上电以后断开第一开关101和第二开关102,从而防止上电的BMC106和南桥芯片107对TPCM模块的操作(例如闪存读取和代码度量)产生干扰并且防止上电的BMC 106和南桥芯片107从第一SPI闪存104和第二SPI闪存105中读取未经度量的代码。
·从第一SPI闪存104中读取第一代码的至少一部分并且从第二SPI闪存105中读取第二代码的至少一部分,并且生成第一代码的所述至少一部分的第一散列值和第二代码的所述至少一部分的第二散列值。第一代码的所述至少一部分优选地为第一代码中的关键代码(例如代码中的核心部分)并且第二代码的所述至少一部分优选地为第二代码中的关键代码,从而减小数据处理量,从而提高度量速度。
·将第一散列值与第一参考散列值相比较并且将第二散列值与第二参考散列值相比较。
·在第一散列值与第一参考散列值一致并且第二散列值与第二参考散列值一致时通过禁用第一读取端口109来断开TPCM模块103与第一SPI闪存104之间的连接并且通过禁用第二读取端口110来断开TPCM模块103与第二SPI闪存105之间的连接,从而防止TPCM模块103干扰BMC 106和南桥芯片107对相应代码的读取。
·闭合第一开关101和第二开关102,使得BMC 106能够加载第一代码并且南桥芯片107能够加载第二代码。在此,当第一开关101或第二开关102闭合以后,可以由例如TPCM模块103分别向BMC 106和南桥芯片107发送代码读取指令,例如向BMC 106和南桥芯片107的复位端口发送复位信号以指示它们分别从第一闪存103和第二闪存中读取代码。
当度量成功并且BMC 106和南桥芯107加载相应代码以后,CPU 108执行相应代码,并使服务器主板的其它设备上电,系统然后进入可信运行环境。
相反,如果对第一代码或第二代码的度量不成功,则执行异常处理或者使服务器下电或重启。
从上面可以得知,在第一实施例中,可以实现TPCM模块103对BMC 106的代码和南桥芯片107的代码的并行(同时)度量,从而提高度量速度;同时,通过在度量成功以后禁用第一读取端口109和第二读取端口110,可以防止TPCM模块103干扰BMC 106和南桥芯片107对相应代码的读取。但是该方案需要TPCM模块103配备有两个读取端口109和110。
图2示出了根据本发明的服务器可信平台度量控制系统100的第二实施例。
图2的第二实施例与图1的实施例的区别在于,服务器可信平台度量控制系统100还包括选择开关111,所述选择开关111的第一选择输入端112与第一SPI闪存104连接,并且所述选择开关111的第二选择输入端113与第二SPI闪存105连接,并且所述选择开关111的输出端114与TPCM模块103的闪存读取端口115连接。选择开关111可以是2选1选通器。
TPCM模块103还被配置为执行下列动作:
·在TPCM模块103上电以后断开第一开关101和第二开关102,从而防止上电的BMC106和南桥芯片107对TPCM模块的操作(例如闪存读取和代码度量)产生干扰并且防止上电的BMC 106和南桥芯片107从第一SPI闪存104和第二SPI闪存105中读取未经度量的代码。
·激励选择开关111的信号选择控制端(未示出)以将TPCM模块103的闪存读取端口115与第一SPI闪存104连接,使得TPCM模块103能够从第一SPI闪存104中读取第一代码的至少一部分。
·从第一SPI闪存104中读取第一代码的至少一部分。
·激励选择开关111的信号选择控制端以将TPCM模块103的闪存读取端口115与第二SPI闪存105连接,使得TPCM模块103能够从第二SPI闪存105中读取第二代码的至少一部分;
·从第二SPI闪存105中读取第二代码的至少一部分。
·生成第一代码的所述至少一部分的第一散列值和第二代码的所述至少一部分的第二散列值。第一代码的所述至少一部分优选地为第一代码中的关键代码(例如代码中的核心部分)并且第二代码的所述至少一部分优选地为第二代码中的关键代码,从而减小数据处理量,从而提高度量速度。
·将第一散列值与第一参考散列值相比较并且将第二散列值与第二参考散列值相比较。
·在第一散列值与第一参考散列值一致并且第二散列值与第二参考散列值一致时激励选择开关的信号选择控制端以将TPCM模块103的闪存读取端口115从第一SPI闪存104和第二SPI闪存105断开,从而防止TPCM模块103干扰BMC 106和南桥芯片107对相应代码的读取。
·闭合第一开关101和第二开关102,使得基板管理控制器BMC 106能够加载第一代码并且南桥芯片107能够加载第二代码。
当度量成功并且BMC 106和南桥芯107加载相应代码以后,CPU 108执行相应代码,并使服务器主板的其它设备上电,系统然后进入可信运行环境。
相反,如果对第一代码或第二代码的度量不成功,则执行异常处理或者使服务器下电或重启。
从上面可以得知,在第二实施例中,可以实现TPCM模块103对BMC 106的代码和南桥芯片107的代码的相继或顺序度量,该方案尽管与并行方案相比度量速度较慢,但是却只需要TPCM模块103配备单个闪存读取端口115即可;此外,通过在度量成功以后将TPCM模块103的闪存读取端口115从第一SPI闪存104和第二SPI闪存105断开,也可以防止TPCM模块103干扰BMC 106和南桥芯片107对相应代码的读取。
根据本发明的服务器可信平台度量控制系统100至少具有下列优点:(1)通过本发明的系统,可以对服务器的BMC 106和启动代码进行度量,从而防止因运行经篡改的代码而影响系统工作环境的可信度;(2)通过在TPCM模块103度量第一代码期间断开BMC 106与第一SPI闪存104之间的信号连接并且在TPCM模块103度量第二代码期间断开南桥芯片107与第二SPI闪存105之间的信号连接,可以防止上电的BMC 106或南桥芯片对TPCM模块103产生干扰并同时防止BMC 106和南桥芯片107对未经度量的代码的读取,从而保证了可信运行环境;(3)通过在BMC 106与第一SPI闪存104之间的信号连接上布置第一开关101并且在南桥芯片107与第二SPI闪存105之间的信号连接上布置第二开关102来中断和接通所述信号连接,可以降低采用可信平台度量方案所需的改造成本,这是因为与对主板的电源控制模块进行修改来推迟BMC和南桥芯片的上电相比,通过开关来断开信号连接无需对主板芯片进行较大改变,而是可以简单地实现,由此降低了改造成本。
图3示出了根据本发明的用于运行服务器可信平台度量控制系统的方法的第一实施例300。
在步骤302,在TPCM模块103上电以后断开第一开关101和第二开关102,从而防止上电的BMC 106和南桥芯片107对TPCM模块的操作(例如闪存读取和代码度量)产生干扰并且防止上电的BMC 106和南桥芯片107从第一SPI闪存104和第二SPI闪存105中读取未经度量的代码。
在步骤304,由TPCM 103从第一SPI闪存104中读取第一代码的至少一部分并且从第二SPI闪存105中读取第二代码的至少一部分。
在步骤306,由TPCM 103生成第一代码的所述至少一部分的第一散列值和第二代码的所述至少一部分的第二散列值。第一代码的所述至少一部分优选地为第一代码中的关键代码(例如代码中的核心部分)并且第二代码的所述至少一部分优选地为第二代码中的关键代码,从而减小数据处理量,从而提高度量速度。
在步骤308,由TPCM 103将第一散列值与第一参考散列值相比较并且将第二散列值与第二参考散列值相比较。
在步骤310,在第一散列值与第一参考散列值一致并且第二散列值与第二参考散列值一致时通过禁用第一读取端口109来断开TPCM模块103与第一SPI闪存104之间的连接并且通过禁用第二读取端口110来断开TPCM模块103与第二SPI闪存105之间的连接,从而防止TPCM模块103干扰BMC 106和南桥芯片107对相应代码的读取。
步骤312,闭合第一开关101和第二开关102,使得BMC 106能够加载第一代码并且南桥芯片107能够加载第二代码。
方法300然后结束,并且BMC 106和南桥芯107加载相应代码,然后CPU 108执行相应代码,并使服务器主板的其它设备上电,系统最后进入可信运行环境。
相反,如果对第一代码或第二代码的度量不成功,则执行异常处理或者使服务器下电或重启。
图4示出了根据本发明的用于运行服务器可信平台度量控制系统的方法的第二实施例400。
在步骤402,在TPCM模块103上电以后断开第一开关101和第二开关102,从而防止上电的BMC 106和南桥芯片107对TPCM模块的操作(例如闪存读取和代码度量)产生干扰并且防止上电的BMC 106和南桥芯片107从第一SPI闪存104和第二SPI闪存105中读取未经度量的代码。
在步骤404,激励选择开关111的信号选择控制端(未示出)以将TPCM模块103的闪存读取端口115与第一SPI闪存104连接,使得TPCM模块103能够从第一SPI闪存104中读取第一代码的至少一部分。
在步骤406,由TPCM 103从第一SPI闪存104中读取第一代码的至少一部分。
在步骤408,激励选择开关111的信号选择控制端以将TPCM模块103的闪存读取端口115与第二SPI闪存105连接,使得TPCM模块103能够从第二SPI闪存105中读取第二代码的至少一部分;
在步骤410,由TPCM 103从第二SPI闪存105中读取第二代码的至少一部分。
在步骤412,由TPCM 103生成第一代码的所述至少一部分的第一散列值和第二代码的所述至少一部分的第二散列值。第一代码的所述至少一部分优选地为第一代码中的关键代码(例如代码中的核心部分)并且第二代码的所述至少一部分优选地为第二代码中的关键代码,从而减小数据处理量,从而提高度量速度。
在步骤414,由TPCM 103将第一散列值与第一参考散列值相比较并且将第二散列值与第二参考散列值相比较。
在步骤416,在第一散列值与第一参考散列值一致并且第二散列值与第二参考散列值一致时激励选择开关的信号选择控制端以将TPCM模块103的闪存读取端口115从第一SPI闪存104和第二SPI闪存105断开,从而防止TPCM模块103干扰BMC 106和南桥芯片107对相应代码的读取。
在步骤418,闭合第一开关101和第二开关102,使得基板管理控制器BMC 106能够加载第一代码并且南桥芯片107能够加载第二代码。
方法400然后结束,并且BMC 106和南桥芯107加载相应代码,然后CPU 108执行相应代码,并使服务器主板的其它设备上电,系统最后进入可信运行环境。
相反,如果对第一代码或第二代码的度量不成功,则执行异常处理或者使服务器下电或重启。
虽然本发明的一些实施方式已经在本申请文件中予以了描述,但是对本领域技术人员显而易见的是,这些实施方式仅仅是作为示例示出的。本领域技术人员可以想到众多的变型方案、替代方案和改进方案而不超出本发明的范围。所附权利要求书旨在限定本发明的范围,并藉此涵盖这些权利要求本身及其等同变换的范围内的方法和结构。

Claims (10)

1.一种服务器可信平台度量控制系统,包括:
第一开关,其布置在基板管理控制器与第一SPI闪存之间,其中第一SPI闪存用于存储用于基板管理控制器的第一代码;
第二开关,其布置在南桥芯片与第二SPI闪存之间,其中第二SPI闪存用于存储用于南桥芯片的第二代码;以及
TPCM模块,其与第一SPI闪存和第二SPI闪存连接并被配置为执行下列动作:
在TPCM模块上电以后断开第一开关和第二开关;
从第一SPI闪存中读取第一代码的至少一部分并且从第二SPI闪存中读取第二代码的至少一部分,并且生成第一代码的所述至少一部分的第一散列值和第二代码的所述至少一部分的第二散列值;
将第一散列值与第一参考散列值相比较并且将第二散列值与第二参考散列值相比较;以及
在第一散列值与第一参考散列值一致并且第二散列值与第二参考散列值一致时闭合第一开关和第二开关,使得基板管理控制器能够加载第一代码并且南桥芯片能够加载第二代码。
2.根据权利要求1所述的服务器可信平台度量控制系统,其中TPCM模块的第一读取端口与第一SPI闪存连接并且TPCM的第二读取端口与第二SPI闪存连接,并且TPCM还被配置为执行下列动作:
在第一散列值与第一参考散列值一致并且第二散列值与第二参考散列值一致时通过禁用第一读取端口来断开TPCM模块与第一SPI闪存之间的连接并且通过禁用第二读取端口来断开TPCM模块与第二SPI闪存之间的连接。
3.根据权利要求1所述的服务器可信平台度量控制系统,还包括选择开关,所述选择开关的第一选择输入端与第一SPI闪存连接,并且所述选择开关的第二选择输入端与第二SPI闪存连接,并且所述选择开关的输出端与TPCM模块的闪存读取端口连接,并且TPCM模块还被配置为执行下列动作:
激励选择开关的信号选择控制端以将TPCM模块的闪存读取端口与第一SPI闪存连接,使得TPCM模块能够从第一SPI闪存中读取第一代码的至少一部分;
激励选择开关的信号选择控制端以将TPCM模块的闪存读取端口与第二SPI闪存连接,使得TPCM模块能够从第二SPI闪存中读取第二代码的至少一部分;以及
在第一散列值与第一参考散列值一致并且第二散列值与第二参考散列值一致时激励选择开关的信号选择控制端以将TPCM模块的闪存读取端口从第一SPI闪存和第二SPI闪存断开。
4.根据权利要求1至3之一所述的服务器可信平台度量控制系统,其中第一代码的所述至少一部分是第一代码中的关键代码和/或第二代码的所述至少一部分是第二代码中的关键代码。
5.根据权利要求1至3之一所述的服务器可信平台度量控制系统,其中第一开关、第二开关和选择开关为2选1选通器,其中第一开关和第二开关的两个选择输入端之一被悬空,而选择开关的两个选择输入端分别与第一SPI闪存和第二SPI闪存连接。
6.一种服务器,所述服务器包括根据权利要求1至4之一所述的服务器可信平台度量控制系统。
7.一种用于运行服务器可信平台度量控制系统的方法,其中该服务器可信平台度量控制系统包括:第一开关,其布置在基板管理控制器与第一SPI闪存之间,其中第一SPI闪存用于存储用于基板管理控制器的第一代码;第二开关,其布置在南桥芯片与第二SPI闪存之间,其中第二SPI闪存用于存储用于南桥芯片的第二代码;以及TPCM模块,其与第一SPI闪存和第二SPI闪存连接,该方法包括:
对TPCM模块上电;
断开第一开关和第二开关;
由TPCM模块从第一SPI闪存中读取第一代码的至少一部分并且从第二SPI闪存中读取第二代码的至少一部分并且生成第一代码的所述至少一部分的第一散列值和第二代码的所述至少一部分的第二散列值;
由TPCM模块将第一散列值与第一参考散列值相比较并且将第二散列值与第二参考散列值相比较;以及
在第一散列值与第一参考散列值一致并且第二散列值与第二参考散列值一致时闭合第一开关和第二开关,使得基板管理控制器能够加载第一代码并且南桥芯片能够加载第二代码。
8.根据权利要求7所述的方法,其中TPCM模块的第一读取端口与第一SPI闪存连接并且TPCM的第二读取端口与第二SPI闪存连接,并且该方法还包括:
在第一散列值与第一参考散列值一致并且第二散列值与第二参考散列值一致时禁用第一读取端口以断开TPCM模块与第一SPI闪存之间的连接并且禁用第二读取端口以断开TPCM模块与第二SPI闪存之间的连接。
9.根据权利要求7所述的方法,其中所述选择开关的第一选择输入端与第一SPI闪存连接,并且所述选择开关的第二选择输入端与第二SPI闪存连接,并且所述选择开关的输出端与TPCM模块的闪存读取端口连接,并且该方法还包括:
激励选择开关的信号选择控制端以将TPCM模块的闪存读取端口与第一SPI闪存连接,使得TPCM模块能够从第一SPI闪存中读取第一代码的至少一部分;
激励选择开关的信号选择控制端以将TPCM的闪存读取端口与第二SPI闪存连接,使得TPCM模块能够从第二SPI闪存中读取第二代码的至少一部分;以及
在第一散列值与第一参考散列值一致并且第二散列值与第二参考散列值一致时激励选择开关的信号选择控制端以将TPCM的闪存读取端口从第一SPI闪存和第二SPI闪存断开。
10.根据权利要求7所述的方法,其中第一代码的所述至少一部分是第一代码中的关键代码和/或第二代码的所述至少一部分是第二代码中的关键代码。
CN201710152017.2A 2017-03-15 2017-03-15 服务器可信平台度量控制系统及其运行方法 Active CN108629185B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710152017.2A CN108629185B (zh) 2017-03-15 2017-03-15 服务器可信平台度量控制系统及其运行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710152017.2A CN108629185B (zh) 2017-03-15 2017-03-15 服务器可信平台度量控制系统及其运行方法

Publications (2)

Publication Number Publication Date
CN108629185A true CN108629185A (zh) 2018-10-09
CN108629185B CN108629185B (zh) 2021-08-13

Family

ID=63686412

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710152017.2A Active CN108629185B (zh) 2017-03-15 2017-03-15 服务器可信平台度量控制系统及其运行方法

Country Status (1)

Country Link
CN (1) CN108629185B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367496A (zh) * 2020-02-26 2020-07-03 杭州涂鸦信息技术有限公司 一种自发电开关闪存快速存储与读取的方法及系统
CN111859398A (zh) * 2020-07-24 2020-10-30 苏州浪潮智能科技有限公司 一种基于tpcm的双bios安全验证装置及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101877040A (zh) * 2009-12-07 2010-11-03 中国航天科工集团第二研究院七○六所 一种高信度计算平台
CN102915097A (zh) * 2011-08-03 2013-02-06 中兴通讯股份有限公司 控制上电顺序的方法和装置
CN205827377U (zh) * 2016-05-27 2016-12-21 华大半导体有限公司 基于atx电源的可信平台控制模块
CN106484578A (zh) * 2016-10-14 2017-03-08 苏州国芯科技有限公司 一种基于可信计算机硬件的校验系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101877040A (zh) * 2009-12-07 2010-11-03 中国航天科工集团第二研究院七○六所 一种高信度计算平台
CN102915097A (zh) * 2011-08-03 2013-02-06 中兴通讯股份有限公司 控制上电顺序的方法和装置
CN205827377U (zh) * 2016-05-27 2016-12-21 华大半导体有限公司 基于atx电源的可信平台控制模块
CN106484578A (zh) * 2016-10-14 2017-03-08 苏州国芯科技有限公司 一种基于可信计算机硬件的校验系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367496A (zh) * 2020-02-26 2020-07-03 杭州涂鸦信息技术有限公司 一种自发电开关闪存快速存储与读取的方法及系统
CN111367496B (zh) * 2020-02-26 2022-05-17 杭州涂鸦信息技术有限公司 一种自发电开关闪存快速存储与读取的方法及系统
CN111859398A (zh) * 2020-07-24 2020-10-30 苏州浪潮智能科技有限公司 一种基于tpcm的双bios安全验证装置及方法
CN111859398B (zh) * 2020-07-24 2023-01-10 苏州浪潮智能科技有限公司 一种基于tpcm的双bios安全验证装置及方法

Also Published As

Publication number Publication date
CN108629185B (zh) 2021-08-13

Similar Documents

Publication Publication Date Title
CN100568254C (zh) 一种可信平台模块及其主动度量方法
CN104160403B (zh) 使用单个可信平台模块测量平台部件
US7962738B2 (en) Hypervisor runtime integrity support
US8332930B2 (en) Secure use of user secrets on a computing platform
LeMay et al. Cumulative attestation kernels for embedded systems
CN101281577B (zh) 一种对bios进行保护的可信计算系统及其应用方法
CN102509046B (zh) 带有休眠支持的全局有效的测量的操作系统发动
Wang et al. Malicious firmware detection with hardware performance counters
US20070271461A1 (en) Method for managing operability of on-chip debug capability
CN107665308A (zh) 用于构建和保持可信运行环境的tpcm系统以及相应方法
CN112651030B (zh) 一种面向bmc固件系统安全的可信启动方法
US20220067165A1 (en) Security measurement method and security measurement device for startup of server system, and server
CN208210006U (zh) 一种基于国产tpm的高安全可信服务器
KR19990074001A (ko) 원격지 웨이크 업 기능을 갖는 컴퓨터 시스템 및 컴퓨터 시스템의 원격 웨이크 업 방법
US20090249050A1 (en) System and method for establishing a trust domain on a computer platform
CN102063591A (zh) 基于可信平台的平台配置寄存器参考值的更新方法
CN103049293B (zh) 一种嵌入式可信系统的启动方法
CN110334522A (zh) 启动度量的方法及装置
CN110659498A (zh) 可信计算度量方法及其系统、计算机可读存储介质
CN206649517U (zh) 服务器可信平台度量控制系统及包括该系统的服务器
CN106991327B (zh) 一种基于Power平台可信计算机的设计方法和控制运行方法
CN111125707A (zh) 一种基于可信密码模块的bmc安全启动方法、系统及设备
CN114462050A (zh) 一种面向多核bmc固件系统的可信启动方法
EP2813966A2 (en) Providing a trustworthy indication of the current state of a multiprocessor data processing apparatus
CN108629185A (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
GR01 Patent grant
GR01 Patent grant