CN104850792A - 一种服务器信任链的构建方法和装置 - Google Patents
一种服务器信任链的构建方法和装置 Download PDFInfo
- Publication number
- CN104850792A CN104850792A CN201510257643.9A CN201510257643A CN104850792A CN 104850792 A CN104850792 A CN 104850792A CN 201510257643 A CN201510257643 A CN 201510257643A CN 104850792 A CN104850792 A CN 104850792A
- Authority
- CN
- China
- Prior art keywords
- bios
- code
- data
- server
- backup
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure 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)
- Stored Programmes (AREA)
Abstract
本发明提供一种服务器信任链的构建方法和装置,为CPU划分出安全存储空间,将BIOS ACM组件存储于所述安全存储空间,以CPU为信任根,通过将BIOS程序代码和配置数据备份到安全位置,基于所述CPU确定BIOS ACM组件的完整性未被破坏,并引导加载所述BIOS ACM组件;通过BIOS ACM组件开启TPM,度量并验证BIOS Main Block以及服务器上电到操作引导阶段的代码和数据的完整性,验证操作系统引导程序的完整性,如果完整性验证失败,则记录验证失败的原因,调用所述BIOS程序代码和配置数据的备份,一般来说,CPU中的代码不可被软件刷写工具篡改,因此,以CPU为信任根可以提高信任根的可信性。
Description
技术领域
本发明涉及计算机安全领域,特别涉及一种服务器信任链的构建方法和装置。
背景技术
基本输入输出系统(BIOS)保存着计算机的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序,为计算机提供最底层的、最直接的硬件设置和控制,使得BIOS常常被病毒木马攻击。目前,主要通过可信计算的信任链技术检测BIOS的完整性,即检测BIOS是否被破坏。
在现有信任链技术中,以可信赖平台模块(TPM)和存在于BIOS中的可信度量根的核心(core root of trust for measurement,CRTM)作为信任根,检测BIOS的完整性,并构建信任链启动服务器。在现有技术中,存在于BIOS中的可信度量根的核心仍然具有被破坏的可能性,使得信任根的可信性较低。
发明内容
本发明提供一种服务器信任链的构建方法和装置,以提高信任根的可信性。
一种服务器信任链的构建方法,为CPU划分出安全存储空间,将BIOSACM组件存储于所述安全存储空间,以CPU为信任链的信任根,还包括:
将BIOS程序代码和配置数据备份到安全位置,所述安全位置包括:BIOSFLASH空余位置,或者,主板上的基于TPM访问控制的FLASH;
基于所述CPU确定BIOS ACM组件的完整性未被破坏,并引导加载所述BIOS ACM组件;
通过所述BIOS ACM组件开启TPM,并确定所述TPM可用;
度量BIOS Main Block以及服务器上电到操作引导阶段的代码和数据;
验证所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据是否完整,如果是,则加载所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据,否则,调用所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据的备份,度量并确定所述备份的完整性;
验证操作系统引导程序的完整性;
如果完整性验证失败,则记录验证失败的原因,并触发TXT Reset重启服务器,调用所述引导程序代码和配置数据的备份。
优选地,所述将BIOS程序代码和配置数据备份到安全位置,包括:
以签名压缩的方式将所述BIOS程序代码和配置数据备份到安全位置,并基于TPM的随机授权值生成签名密钥;
将所述签名密钥保存到NV空间;
所述调用所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据的备份,包括:通过所述TPM的Platform访问NV空间获取签名密钥,通过所述签名密钥调用所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据的备份;
所述调用所述引导程序代码和配置数据的备份,包括:通过所述TPM的Platform访问NV空间获取签名密钥,通过所述签名密钥调用所述引导程序代码和配置数据的备份。
优选地,该方法进一步包括:构建基于硬件保护的可信度量环境;
在所述将BIOS程序代码和配置数据备份到安全位置之后,进一步包括:度量所述BIOS程序代码和配置数据备份的基准值;
所述验证所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据是否完整,包括:在所述硬件保护的可信度量环境中,将所述BIOSMain Block以及服务器上电到操作引导阶段的代码和数据的第一度量值与第一基准值进行比较,检验所述第一度量值与所述第一基准值是否一致。
优选地,该方法进一步包括:将SINIT ACM组件存储于所述安全空间;
基于SINIT ACM组件构建可信度量环境;
所述验证操作系统引导程序的完整性,包括:在所述SINIT ACM构建的可信度量环境中,将所述操作系统引导程序的第二度量值与第二基准值进行比较,检验所述第二度量值与所述第二基准值是否一致。
优选地,在所述验证操作系统引导程序的完整性之后,进一步包括:
度量板载设备的OpROM和MBR;
检测所述板载设备的OpROM和MBR是否被篡改,如果是,则通过显示器提示设备信息,所述设备信息包括:设备类型、设备在主板上的位置和设备ID。
优选地,该方法进一步包括:
建立多种度量算法,所述多种度量算法,包括:SHA1、SHA256、SM-3;
通过配置界面提供度量算法的操作接口;
所述度量BIOS Main Block以及服务器上电到操作引导阶段的代码和数据,包括:通过所述操作接口选取所述多种度量算法中的任意一种度量算法度量BIOS Main Block以及服务器上电到操作引导阶段的代码和数据。
优选地,该方法进一步包括:确定所述TPM不可用时,发出提示信息,并以授权的形式由用户选择执行关闭可信启动功能或者人工手动干预。
一种服务器信任链的装置,CPU中具有的安全存储空间用于存储BIOSACM组件,CPU作为信任链的信任根,包括:
备份单元,用于将BIOS程序代码和配置数据备份到安全位置,所述安全位置包括:BIOS FLASH空余位置,或者,主板上的基于TPM访问控制的FLASH;
第一确定单元,用于基于CPU确定BIOS ACM组件的完整性未被破坏,并引导加载所述BIOS ACM组件;
第二确定单元,用于通过所述BIOS ACM组件开启TPM,并确定所述TPM可用;
度量单元,用于度量BIOS Main Block以及服务器上电到操作引导阶段的代码和数据;
第一检验单元,用于验证所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据是否完整,如果是,则触发加载单元,否则,触发调用单元;
所述加载单元,用于加载所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据;
所述调用单元,用于调用所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据的备份,度量并确定所述备份的完整性;
第二检验单元,用于验证操作系统引导程序的完整性;
触发单元,用于如果完整性验证失败,则记录验证失败的原因,并触发TXT Reset重启服务器,调用所述引导程序代码和配置数据的备份。
优选地,所述备份单元,用于通过签名压缩的方式将所述BIOS程序代码和配置数据备份到安全位置,基于TPM的随机授权值生成签名密钥,并将所述签名密钥保存到NV空间;
所述调用单元,用于通过所述TPM的Platform访问NV空间获取签名密钥,通过所述签名密钥调用所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据的备份;
优选地,该装置进一步包括:第一构建单元和基准值单元,其中,
所述第一构建单元,用于构建基于硬件保护的可信度量环境;
所述基准值单元,用于度量所述BIOS程序代码和配置数据备份的基准值;
所述第一检验单元,用于在所述第一构建单元构建的可信度量环境中,将所述度量单元度量的所述BIOS Main Block以及服务器上电到操作引导阶段的代码和数据的第一度量值与所述基准值单元的第一基准值进行比较,检验所述第一度量值与所述第一基准值是否一致。
优选地,该装置进一步包括:第二构建单元,其中,
所述第二构建单元,用于基于SINIT ACM组件构建可信度量环境;
所述第二检验单元,用于在所述第二构建单元构建的可信度量环境中,将所述操作系统引导程序的第二度量值与第二基准值进行比较,检验所述第二度量值与所述第二基准值是否一致。
优选地,该装置进一步包括:第三检验单元和提示单元,其中,
所述度量单元,进一步用于:度量板载设备的OpROM和MBR;
所述第三检验单元,用于检测所述板载设备的OpROM和MBR是否被篡改,如果是,则触发所述提示单元;
所述提示单元,用于通过显示器提示设备信息,所述设备信息包括:设备类型、设备在主板上的位置和设备ID。
优选地,所述度量单元包含有多种度量算法,所述多种度量算法,包括:SHA1、SHA256、SM-3,并通过配置界面提供的度量算法操作接口,选取所述多种度量算法中的任意一种度量算法度量BIOS Main Block以及服务器上电到操作引导阶段的代码和数据。
本发明实施例提供了一种服务器信任链的构建方法和装置,其通过为CPU划分出安全存储空间,将BIOS ACM组件存储于所述安全存储空间,并以CPU为信任链的信任根,由于CPU是不可以被修改的,使得本发明实施例建立的信任链的信任根是完全可信的。该信任链的构建方法还包括:将BIOS程序代码和配置数据备份到安全位置,所述安全位置包括:BIOSFLASH空余位置,或者,主板上的基于TPM访问控制的FLASH,尽可能的保障了备份代码的安全性和完整性;基于所述CPU确定BIOS ACM组件的完整性未被破坏,并引导加载所述BIOS ACM组件;通过所述BIOS ACM组件开启TPM,并确定所述TPM可用;度量BIOS Main Block以及服务器上电到操作引导阶段的代码和数据;验证所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据是否完整,如果是,则加载所述BIOSMain Block以及所述服务器上电到操作引导阶段的代码和数据,否则,调用所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据的备份,度量并确定所述备份的完整性;验证操作系统引导程序的完整性;如果完整性验证失败,则记录验证失败的原因,并触发TXT Reset重启服务器,调用所述BIOS程序代码和配置数据的备份,本发明实施例以CPU为信任根,一般来说,CPU是可读不可写,其里面的代码不可被软件刷写工具篡改,因此,本发明实施例以CPU为信任根可以提高信任根的可信性。
附图说明
图1为本发明实施例提供的一种服务器信任链的构建方法的流程图;
图2为本发明另一实施例提供的一种服务器信任链的构建方法的流程图;
图3为本发明实施例提供的一种服务器信任链的构建装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
可信计算是一种信息系统安全新技术,它关注于终端安全,从硬件和软件底层入手,针对信息系统综合采取措施,以增强系统的安全性。可信计算具有三大基本功能:完整性度量、完整性存储和完整性报告。其中,完整性度量功能又是完整性存储功能和完整性报告功能的基础。为了实现完整性度量功能,可信计算组织TCG定义了可信链技术。能否实现完整、安全的可信链,直接关系到整个可信计算平台能否正常运行。
如图1所示,本发明实施例提供了一种服务器信任链的构建方法,为CPU划分出安全存储空间,将BIOS ACM组件存储于所述安全存储空间,以CPU为信任链的信任根,该方法还可以包括以下步骤:
步骤101:将BIOS程序代码和配置数据备份到安全位置,所述安全位置包括:BIOS FLASH空余位置,或者,主板上的基于TPM访问控制的FLASH;
步骤102:基于所述CPU确定BIOS ACM组件的完整性未被破坏,并引导加载所述BIOS ACM组件;
步骤103:通过所述BIOS ACM组件开启TPM,并确定所述TPM可用;
步骤104:度量BIOS Main Block以及服务器上电到操作引导阶段的代码和数据;
步骤105:验证所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据是否完整,如果是,则执行步骤106,否则,执行步骤107;
步骤106:加载所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据;
步骤107:调用所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据的备份,度量并确定所述备份的完整性;
步骤108:验证操作系统引导程序的完整性;
步骤109:如果完整性验证失败,则记录验证失败的原因,并触发TXTReset重启服务器,调用所述BIOS程序代码和配置数据的备份。
在本发明一个实施例中,为了加强备份代码和数据的安全性,步骤101的具体实施方式:以签名压缩的方式将所述BIOS程序代码和配置数据备份到安全位置,并基于TPM的随机授权值生成签名密钥;将所述签名密钥保存到NV空间;那么,在此基础之上,步骤107的具体实施方式:通过所述TPM的Platform访问NV空间获取签名密钥,通过所述签名密钥调用所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据的备份。
在本发明一个实施例中,为了进一步提高信任链的可信度,进一步包括:构建给予硬件保护的可信度量环境,在此基础之上,在步骤101之后,进一步包括:度量所述BIOS程序代码和配置数据备份的基准值;步骤105的具体实现方式:在所述硬件保护的可信度量环境中,将所述BIOS Main Block以及服务器上电到操作引导阶段的代码和数据的第一度量值与第一基准值进行比较,检验所述第一度量值与所述第一基准值是否一致。
在本发明一个实施例中,为了进一步增强操作系统引导程序的可信性,进一步包括:将SINIT ACM组件存储于所述安全空间,基于SINIT ACM构建可信度量环境;步骤108的具体实施方式:在所述SINIT ACM构建的可信度量环境中,将所述操作系统引导程序的第二度量值与第二基准值进行比较,检验所述第二度量值与所述第二基准值是否一致。
在本发明一个实施例中,在步骤108之后,进一步包括:度量板载设备的OpROM和MBR;检测所述板载设备的OpROM和MBR是否被篡改,如果是,则通过显示器提示设备信息,所述设备信息包括:设备类型、设备在主板上的位置和设备ID。
在本发明一个实施例中,为了使度量满足不同的需求,进一步包括:建立多种度量算法,所述多种度量算法,包括:SHA1、SHA256、SM-3;通过配置界面提供度量算法的操作接口;步骤104的具体实施方式:通过所述操作接口选取所述多种度量算法中的任意一种度量算法度量BIOS Main Block以及服务器上电到操作引导阶段的代码和数据。
在本发明一个实施例中,进一步包括:确定所述TPM不可用时,发出提示信息,并以授权的形式由用户选择执行关闭可信启动功能或者人工手动干预。
如图2所示,本发明另一实施例提供了一种服务器信任链的构建方法,为CPU划分出安全存储空间,将BIOS ACM组件和SINIT ACM组件存储于所述安全存储空间,以CPU为信任链的信任根,该方法还可以包括以下步骤:
步骤201:以签名压缩的方式将所述BIOS程序代码和配置数据备份到安全位置;
上述BIOS程序代码和配置数据并不包含板载设备OpROM等由厂商提供的程序和数据,上述安全位置可以是BIOS FLASH空余位置,也可以是,主板上的基于TPM访问控制的FLASH,将BIOS程序代码和配置数据备份至这些安全位置,可以最大程度的避免备份文件被破坏。另外,在备份程序代码和配置数据过程中,度量所述BIOS程序代码和配置数据备份的基准值,该基准值可为后续度量提供标准。值得说明的是,签名压缩的过程可以基于TPM2.0的Platform的随机授权值生成签名密钥,并将所述签名密钥保存到NV空间,改NV空间只允许Platform访问,上面所提到的随机授权值,在每次开机都会被重置,可以有效地防止授权值或签名密钥被恶意分析。
步骤202:构建基于硬件保护的可信度量环境和基于SINIT ACM组件的可信度量环境;
本步骤所构建的度量环境,可以度量信任链中每个环节的可信度,从而最大程度的保证信任链的可信性,在此过程中,部署信任链构建过程中要用到的策略数据,即在信任链中需要度量的项目以及该项目对应的基准值,基于硬件保护的可信度环境可以保证该环境尽可能不被破坏,值得说明的是,SINIT ACM组件保存于安全存储空间,其通过CPU进行保护,保证了该SINIT ACM组件不被改变,从而确保了该SINIT ACM组件构建的可信度量环境的可信性。
步骤203:基于所述CPU确定BIOS ACM组件的完整性未被破坏,并引导加载所述BIOS ACM组件;
在现有技术中,是通过TPM和BIOS的第一段代码为信任根构建信任链,而在本发明实施例中,是以CPU为信任根,一般来说,CPU是不会被更改的,因此,以CPU为信任根,可以提高信任链的可信性。
步骤204:通过所述BIOS ACM组件开启TPM,并确定所述TPM可用;
在本发明实施例中,所述TPM为TPM2.0,TPM2.0最近为服务器、台式机、嵌入式系统、移动设备和网络设备等一系列广泛平台提供了行业安装灵活性。在对于TPM在启动过程中被损坏的情况,建议在服务器运行时,在系统层面将TPM数据、用户密钥以及策略数据备份到安全U盘,以便恢复使用。那么,如果确定所述TPM不可用时,向用户发出提示信息,并以授权的形式由用户选择执行关闭可信启动功能或者人工手动干预。
步骤205:度量BIOS Main Block以及服务器上电到操作引导阶段的代码和数据;
在现有技术中,度量过程一般仅采用一种度量算法进行度量,而在本发明实施例中,建立了多种度量算法,所述多种度量算法,包括:SHA1、SHA256、SM-3,TPM的度量时间日志所引链表中增加了该多种度量算法的说明;并通过配置界面向用户提供度量算法的操作接口,可供用户选择度量算法,那么,用户通过所述操作接口选取所述多种度量算法中的任意一种度量算法度量BIOS Main Block以及服务器上电到操作引导阶段的代码和数据。
在硬件保护的可信度量环境中,将BIOS Main Block以及服务器上电到操作引导阶段的代码和数据的度量值与其对应的基准值进行比较,检验该度量值与其对应的基准值是否一致。
值得说明的是,在度量过程中,本发明实施例可参照TCG相关规范构建并扩展声称度量事件日志,以对度量过程进行记录。其中,部分代码被度量扩展到相应的TPM平台配置寄存器中。
步骤206:验证所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据是否完整,如果是,则执行步骤207,否则,执行步骤208;
如果步骤205所度量的度量值与上述步骤205所提到的代码和数据的基准值一致,则说明,该BIOS Main Block以及服务器上电到操作引导阶段的代码和数据完整;如果不一致,则说明上述代码和数据不完整。
步骤207:加载所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据;
步骤208:调用所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据的备份,度量并确定所述备份的完整性;
该步骤的主要过程为通过所述TPM的Platform访问NV空间获取签名密钥,通过所述签名密钥调用所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据的备份,度量并确定所述备份的完整性;在该步骤中,仍然对备份代码的完整性进行校验,在该过程中,通过TPM平台授权的签名方式验证备份压缩程序的完整性。
步骤209:验证操作系统引导程序是否完整,如果是,则执行步骤210;否则,执行步骤211;
在所述SINIT ACM构建的可信度量环境中,将所述操作系统引导程序的度量值与其对应的基准值进行比较,检验所述操作系统引导程序的度量值与其对应的基准值是否一致,如果一致,说明该操作引导程序完整,如果不一致,说明该操作引导程序不完整。
步骤210:度量板载设备的OpROM和MBR,检测所述板载设备的OpROM和MBR是否被篡改,如果是,则通过显示器提示设备信息,所述设备信息包括:设备类型、设备在主板上的位置和设备ID;
与现有技术相比,本发明实施例增加了对板载设备的OpROM和MBR的度量,在服务器初次运行过程中,可以获取板载设备的OpROM和MBR的度量值,该度量值即可作为基准值,与板载设备的OpROM和MBR的后续的度量值进行对比,以检测板载设备的OpROM和MBR是否被篡改,当发现被篡改时,服务器提供给用户的设备信息,可以帮助用户迅速找到相应的设备进行替换或者恢复。
步骤211:记录验证失败的原因,并触发TXT Reset重启服务器,调用所述BIOS程序代码和配置数据的备份。
在该步骤中,BIOS ACM组件可以分析验证失败的原因,并根据失败的原因,执行备份代码,同时,将会对备份代码的完整性进一步验证。
值得说明的是,在步骤210验证完成MBR之后,MBR度量并验证OSLoader,OSLoader度量并验证TBoot等等来完成信任链的传递,最终形成一个可信的运行环境,从根本上保证了服务器系统的安全性。
如图3所示,本实施例提供的一种服务器信任链的构建装置,CPU中具有的安全存储空间用于存储BIOS ACM组件,CPU作为信任链的信任根,包括:
备份单元301,用于将BIOS程序代码和配置数据备份到安全位置,所述安全位置包括:BIOS FLASH空余位置,或者,主板上的基于TPM访问控制的FLASH;
第一确定单元302,用于基于CPU确定BIOS ACM组件的完整性未被破坏,并引导加载所述BIOS ACM组件;
第二确定单元303,用于通过所述BIOS ACM组件开启TPM,并确定所述TPM可用;
度量单元304,用于度量BIOS Main Block以及服务器上电到操作引导阶段的代码和数据;
第一检验单元305,用于验证所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据是否完整,如果是,则触发加载单元,否则,触发调用单元;
所述加载单元306,用于加载所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据;
所述调用单元307,用于调用所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据的备份,度量并确定所述备份的完整性;
第二检验单元308,用于验证操作系统引导程序的完整性;
触发单元309,用于如果完整性验证失败,则记录验证失败的原因,并触发TXT Reset重启服务器,调用所述BIOS程序代码和配置数据的备份。
本发明另一实施例中,所述备份单元301,用于通过签名压缩的方式将所述BIOS程序代码和配置数据备份到安全位置,基于TPM的随机授权值生成签名密钥,并将所述签名密钥保存到NV空间;
所述调用单元307,用于通过所述TPM的Platform访问NV空间获取签名密钥,通过所述签名密钥调用所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据的备份。
在本发明另一实施例中,上述服务器信任链的构建装置,进一步包括:第一构建单元和基准值单元,其中,
所述第一构建单元,用于构建基于硬件保护的可信度量环境;
所述基准值单元,用于度量所述BIOS程序代码和配置数据备份的基准值;
所述第一检验单元305,用于在所述第一构建单元构建的可信度量环境中,将所述度量单元度量的所述BIOS Main Block以及服务器上电到操作引导阶段的代码和数据的第一度量值与所述基准值单元的第一基准值进行比较,检验所述第一度量值与所述第一基准值是否一致。
在本发明另一实施例中,上述服务器信任链的构建装置,进一步包括:第二构建单元,其中,
所述第二构建单元,用于基于SINIT ACM组件构建可信度量环境;
所述第二检验单元308,用于在所述第二构建单元构建的可信度量环境中,将所述操作系统引导程序的第二度量值与第二基准值进行比较,检验所述第二度量值与所述第二基准值是否一致。
在本发明又一实施例中,上述服务器信任链的构建装置,进一步包括:第三检验单元和提示单元,其中,
所述度量单元,进一步用于:度量板载设备的OpROM和MBR;
所述第三检验单元,用于检测所述板载设备的OpROM和MBR是否被篡改,如果是,则触发所述提示单元;
所述提示单元,用于通过显示器提示设备信息,所述设备信息包括:设备类型、设备在主板上的位置和设备ID。
在本发明又一实施例中,所述度量单元包含有多种度量算法,所述多种度量算法,包括:SHA1、SHA256、SM-3,并通过配置界面提供的度量算法操作接口,选取所述多种度量算法中的任意一种度量算法度量BIOS MainBlock以及服务器上电到操作引导阶段的代码和数据。
本发明实施例至少能够达到如下有益效果:
1.本发明实施例通过为CPU划分出安全存储空间,将BIOS ACM组件存储于所述安全存储空间,并以CPU为信任链的信任根,由于CPU是不可以被修改的,使得本发明实施例建立的信任链的信任根是完全可信的。该信任链的构建方法还包括:将BIOS程序代码和配置数据备份到安全位置,所述安全位置包括:BIOS FLASH空余位置,或者,主板上的基于TPM访问控制的FLASH,尽可能的保障了备份代码的安全性和完整性;基于所述CPU确定BIOS ACM组件的完整性未被破坏,并引导加载所述BIOS ACM组件;通过所述BIOS ACM组件开启TPM,并确定所述TPM可用;度量BIOS MainBlock以及服务器上电到操作引导阶段的代码和数据;验证所述BIOS MainBlock以及所述服务器上电到操作引导阶段的代码和数据是否完整,如果是,则加载所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据,否则,调用所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据的备份,度量并确定所述备份的完整性;验证操作系统引导程序的完整性;如果完整性验证失败,则记录验证失败的原因,并触发TXTReset重启服务器,调用所述BIOS程序代码和配置数据的备份,本发明实施例以CPU为信任根,一般来说,CPU是可读不可写,其里面的代码不可被软件刷写工具篡改,因此,本发明实施例以CPU为信任根可以提高信任根的可信性。
2.在本发明实施例中,以签名压缩的方式将BIOS程序代码和配置数据备份到安全位置,并基于TPM的随机授权值生成签名密钥,将所述签名密钥保存到NV空间,可以有效地保证备份代码和数据的安全,另一方面,当BIOS程序代码和配置数据被破坏之后,可通过执行备份使信任链得以继续,因此,该信任链具有可恢复功能。
3.通过构建基于硬件保护的可信度量环境和基于SINIT ACM组件构建可信度量环境,通过可信度量环境对BIOS的代码和数据进行度量,可以更好的保障度量过程的安全性和可信性。
4.本发明实施例可以对板载设备的OpROM和MBR进行度量,并检测所述板载设备的OpROM和MBR是否被篡改,通过这一过程进一步增强了信任链的可信性。
5、支持多种度量算法,所述多种度量算法,包括:SHA1、SHA256、SM-3,通过配置界面提供度量算法的操作接口,通过选择合适的度量算法,可以使度量过程更加准确或者快速,因此,本发明实施例有效地增加了用户的选择性以及度量过程的合理性。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种服务器信任链的构建方法,其特征在于,为CPU划分出安全存储空间,将BIOS ACM组件存储于所述安全存储空间,以CPU为信任链的信任根,还包括:
将BIOS程序代码和配置数据备份到安全位置,所述安全位置包括:BIOSFLASH空余位置,或者,主板上的基于TPM访问控制的FLASH;
基于所述CPU确定BIOS ACM组件的完整性未被破坏,并引导加载所述BIOS ACM组件;
通过所述BIOS ACM组件开启TPM,并确定所述TPM可用;
度量BIOS Main Block以及服务器上电到操作引导阶段的代码和数据;
验证所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据是否完整,如果是,则加载所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据,否则,调用所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据的备份,度量并确定所述备份的完整性;
验证操作系统引导程序的完整性;
如果完整性验证失败,则记录验证失败的原因,并触发TXT Reset重启服务器,调用所述引导程序代码和配置数据的备份。
2.根据权利要求1所述的方法,其特征在于,所述将BIOS程序代码和配置数据备份到安全位置,包括:
以签名压缩的方式将所述BIOS程序代码和配置数据备份到安全位置,并基于TPM的随机授权值生成签名密钥;
将所述签名密钥保存到NV空间;
所述调用所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据的备份,包括:通过所述TPM的Platform访问NV空间获取签名密钥,通过所述签名密钥调用所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据的备份;
所述调用所述引导程序代码和配置数据的备份,包括:通过所述TPM的Platform访问NV空间获取签名密钥,通过所述签名密钥调用所述引导程序代码和配置数据的备份。
3.根据权利要求1或2所述的方法,其特征在于,
进一步包括:构建基于硬件保护的可信度量环境;
在所述将BIOS程序代码和配置数据备份到安全位置之后,进一步包括:度量所述BIOS程序代码和配置数据备份的基准值;
所述验证所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据是否完整,包括:在所述硬件保护的可信度量环境中,将所述BIOSMain Block以及服务器上电到操作引导阶段的代码和数据的第一度量值与第一基准值进行比较,检验所述第一度量值与所述第一基准值是否一致。
4.根据权利要求1所述的方法,其特征在于,进一步包括:将SINIT ACM组件存储于所述安全空间;
基于SINIT ACM组件构建可信度量环境;
所述验证操作系统引导程序的完整性,包括:在所述SINIT ACM构建的可信度量环境中,将所述操作系统引导程序的第二度量值与第二基准值进行比较,检验所述第二度量值与所述第二基准值是否一致。
5.根据权利要求1所述的方法,其特征在于,在所述验证操作系统引导程序的完整性之后,进一步包括:
度量板载设备的OpROM和MBR;
检测所述板载设备的OpROM和MBR是否被篡改,如果是,则通过显示器提示设备信息,所述设备信息包括:设备类型、设备在主板上的位置和设备ID。
6.根据权利要求1所述的方法,其特征在于,进一步包括:
建立多种度量算法,所述多种度量算法,包括:SHA1、SHA256、SM-3;
通过配置界面提供度量算法的操作接口;
所述度量BIOS Main Block以及服务器上电到操作引导阶段的代码和数据,包括:通过所述操作接口选取所述多种度量算法中的任意一种度量算法度量BIOS Main Block以及服务器上电到操作引导阶段的代码和数据。
7.根据权利要求1所述的方法,其特征在于,进一步包括:
确定所述TPM不可用时,发出提示信息,并以授权的形式由用户选择执行关闭可信启动功能或者人工手动干预。
8.一种服务器信任链的装置,其特征在于,CPU中具有的安全存储空间用于存储BIOS ACM组件,CPU作为信任链的信任根,包括:
备份单元,用于将BIOS程序代码和配置数据备份到安全位置,所述安全位置包括:BIOS FLASH空余位置,或者,主板上的基于TPM访问控制的FLASH;
第一确定单元,用于基于CPU确定BIOS ACM组件的完整性未被破坏,并引导加载所述BIOS ACM组件;
第二确定单元,用于通过所述BIOS ACM组件开启TPM,并确定所述TPM可用;
度量单元,用于度量BIOS Main Block以及服务器上电到操作引导阶段的代码和数据;
第一检验单元,用于验证所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据是否完整,如果是,则触发加载单元,否则,触发调用单元;
所述加载单元,用于加载所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据;
所述调用单元,用于调用所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据的备份,度量并确定所述备份的完整性;
第二检验单元,用于验证操作系统引导程序的完整性;
触发单元,用于如果完整性验证失败,则记录验证失败的原因,并触发TXT Reset重启服务器,调用所述引导程序代码和配置数据的备份。
9.根据权利要求8所述的装置,其特征在于,
所述备份单元,用于通过签名压缩的方式将所述BIOS程序代码和配置数据备份到安全位置,基于TPM的随机授权值生成签名密钥,并将所述签名密钥保存到NV空间;
所述调用单元,用于通过所述TPM的Platform访问NV空间获取签名密钥,通过所述签名密钥调用所述BIOS Main Block以及所述服务器上电到操作引导阶段的代码和数据的备份;
和/或,
进一步包括:第一构建单元和基准值单元,其中,
所述第一构建单元,用于构建基于硬件保护的可信度量环境;
所述基准值单元,用于度量所述BIOS程序代码和配置数据备份的基准值;
所述第一检验单元,用于在所述第一构建单元构建的可信度量环境中,将所述度量单元度量的所述BIOS Main Block以及服务器上电到操作引导阶段的代码和数据的第一度量值与所述基准值单元的第一基准值进行比较,检验所述第一度量值与所述第一基准值是否一致;
和/或,
进一步包括:第二构建单元,其中,
所述第二构建单元,用于基于SINIT ACM组件构建可信度量环境;
所述第二检验单元,用于在所述第二构建单元构建的可信度量环境中,将所述操作系统引导程序的第二度量值与第二基准值进行比较,检验所述第二度量值与所述第二基准值是否一致。
10.根据权利要求8所述的装置,其特征在于,进一步包括:第三检验单元和提示单元,其中,
所述度量单元,进一步用于:度量板载设备的OpROM和MBR;
所述第三检验单元,用于检测所述板载设备的OpROM和MBR是否被篡改,如果是,则触发所述提示单元;
所述提示单元,用于通过显示器提示设备信息,所述设备信息包括:设备类型、设备在主板上的位置和设备ID;
和/或,
所述度量单元包含有多种度量算法,所述多种度量算法,包括:SHA1、SHA256、SM-3,并通过配置界面提供的度量算法操作接口,选取所述多种度量算法中的任意一种度量算法度量BIOS Main Block以及服务器上电到操作引导阶段的代码和数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510257643.9A CN104850792A (zh) | 2015-05-20 | 2015-05-20 | 一种服务器信任链的构建方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510257643.9A CN104850792A (zh) | 2015-05-20 | 2015-05-20 | 一种服务器信任链的构建方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104850792A true CN104850792A (zh) | 2015-08-19 |
Family
ID=53850429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510257643.9A Pending CN104850792A (zh) | 2015-05-20 | 2015-05-20 | 一种服务器信任链的构建方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104850792A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106886473A (zh) * | 2017-04-24 | 2017-06-23 | 郑州云海信息技术有限公司 | 一种服务器的启动方法、装置及服务器 |
CN107145802A (zh) * | 2017-05-09 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种bios完整性度量方法、基板管理控制器和系统 |
CN107256168A (zh) * | 2017-06-12 | 2017-10-17 | 郑州云海信息技术有限公司 | 一种uefi bios安全升级机制的设计方法 |
CN107480535A (zh) * | 2017-08-18 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种两路服务器的可信硬件层设计方法及装置 |
CN107729069A (zh) * | 2017-10-12 | 2018-02-23 | 浪潮(北京)电子信息产业有限公司 | 一种安全启动显卡的方法、装置、计算机可读存储介质 |
CN109101284A (zh) * | 2018-07-18 | 2018-12-28 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机启动方法、装置、设备及存储介质 |
CN109784061A (zh) * | 2018-12-17 | 2019-05-21 | 北京华胜天成信息技术发展有限公司 | 控制服务器可信启动的方法及装置 |
CN109948327A (zh) * | 2017-12-20 | 2019-06-28 | 北京可信华泰信息技术有限公司 | 一种异常状态核查方法及终端 |
CN110197073A (zh) * | 2019-05-30 | 2019-09-03 | 苏州浪潮智能科技有限公司 | 一种基于自校验机制保护主机完整性的方法与系统 |
CN111273952A (zh) * | 2020-02-15 | 2020-06-12 | 山东超越数控电子股份有限公司 | 一种可信恢复更新的方法及装置 |
CN111373404A (zh) * | 2017-09-19 | 2020-07-03 | 惠普发展公司,有限责任合伙企业 | 密码密钥安全 |
CN112114908A (zh) * | 2020-11-20 | 2020-12-22 | 支付宝(杭州)信息技术有限公司 | 硬件平台及其启动方法、装置和电子设备 |
CN112363776A (zh) * | 2020-11-13 | 2021-02-12 | 北京智芯微电子科技有限公司 | 一种终端控制方法、装置及终端 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101295340A (zh) * | 2008-06-20 | 2008-10-29 | 北京工业大学 | 一种可信平台模块及其主动度量方法 |
EP2775418A1 (en) * | 2013-03-08 | 2014-09-10 | Igt | Multi-tiered static chain of trust |
-
2015
- 2015-05-20 CN CN201510257643.9A patent/CN104850792A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101295340A (zh) * | 2008-06-20 | 2008-10-29 | 北京工业大学 | 一种可信平台模块及其主动度量方法 |
EP2775418A1 (en) * | 2013-03-08 | 2014-09-10 | Igt | Multi-tiered static chain of trust |
Non-Patent Citations (1)
Title |
---|
沈昌祥等: "可信计算的研究与发展", 《中国科学:信息科学》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106886473A (zh) * | 2017-04-24 | 2017-06-23 | 郑州云海信息技术有限公司 | 一种服务器的启动方法、装置及服务器 |
CN107145802A (zh) * | 2017-05-09 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种bios完整性度量方法、基板管理控制器和系统 |
CN107256168A (zh) * | 2017-06-12 | 2017-10-17 | 郑州云海信息技术有限公司 | 一种uefi bios安全升级机制的设计方法 |
CN107480535A (zh) * | 2017-08-18 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种两路服务器的可信硬件层设计方法及装置 |
CN111373404A (zh) * | 2017-09-19 | 2020-07-03 | 惠普发展公司,有限责任合伙企业 | 密码密钥安全 |
CN111373404B (zh) * | 2017-09-19 | 2024-03-22 | 惠普发展公司,有限责任合伙企业 | 密码密钥安全 |
CN107729069A (zh) * | 2017-10-12 | 2018-02-23 | 浪潮(北京)电子信息产业有限公司 | 一种安全启动显卡的方法、装置、计算机可读存储介质 |
CN109948327A (zh) * | 2017-12-20 | 2019-06-28 | 北京可信华泰信息技术有限公司 | 一种异常状态核查方法及终端 |
CN109101284A (zh) * | 2018-07-18 | 2018-12-28 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机启动方法、装置、设备及存储介质 |
CN109784061A (zh) * | 2018-12-17 | 2019-05-21 | 北京华胜天成信息技术发展有限公司 | 控制服务器可信启动的方法及装置 |
CN110197073A (zh) * | 2019-05-30 | 2019-09-03 | 苏州浪潮智能科技有限公司 | 一种基于自校验机制保护主机完整性的方法与系统 |
CN111273952A (zh) * | 2020-02-15 | 2020-06-12 | 山东超越数控电子股份有限公司 | 一种可信恢复更新的方法及装置 |
CN112363776A (zh) * | 2020-11-13 | 2021-02-12 | 北京智芯微电子科技有限公司 | 一种终端控制方法、装置及终端 |
CN112114908A (zh) * | 2020-11-20 | 2020-12-22 | 支付宝(杭州)信息技术有限公司 | 硬件平台及其启动方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104850792A (zh) | 一种服务器信任链的构建方法和装置 | |
US11520894B2 (en) | Verifying controller code | |
CN105205401B (zh) | 基于安全密码芯片的可信计算机系统及其可信引导方法 | |
JP5745061B2 (ja) | 起動プロセスの際の対話型コンポーネントの使用の認証 | |
CN100568254C (zh) | 一种可信平台模块及其主动度量方法 | |
US8225101B2 (en) | Cross validation of data using multiple subsystems | |
US7921286B2 (en) | Computer initialization for secure kernel | |
US9852298B2 (en) | Configuring a system | |
US11579893B2 (en) | Systems and methods for separate storage and use of system BIOS components | |
CN106940651B (zh) | Pos终端软件升级方法和装置 | |
US20230004648A1 (en) | Firmware Integrity Check Using Silver Measurements | |
CN104966022A (zh) | 一种基于芯片的信任链构建方法和装置 | |
US9928367B2 (en) | Runtime verification | |
US10181956B2 (en) | Key revocation | |
CN110674494B (zh) | 进程的保护方法、系统及数据处理方法 | |
CN109614154A (zh) | 一种计算机安全启动方法 | |
CN115130114B (zh) | 一种网关安全启动方法、装置、电子设备及存储介质 | |
WO2021034317A1 (en) | Authenticity verification | |
CN110781517B (zh) | 一种bios与bmc沟通实现数据交互的方法 | |
CN113157386A (zh) | 一种从物理机到虚拟机的信任链构建方法及系统 | |
CN117494232B (zh) | 固件的执行方法和装置、系统、存储介质及电子设备 | |
US11269637B2 (en) | Validating machine-readable instructions using an iterative validation process | |
CN111258805B (zh) | 一种服务器的硬盘状态监控方法、设备和计算机设备 | |
CN117608672A (zh) | 服务器启动方法、装置、设备及存储介质 | |
CN113609529A (zh) | 一种计算机固件安全供应的方法、系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150819 |