CN107169379A - 一种基于bmc和tcm进行完整性度量的方法和服务器 - Google Patents

一种基于bmc和tcm进行完整性度量的方法和服务器 Download PDF

Info

Publication number
CN107169379A
CN107169379A CN201710356753.XA CN201710356753A CN107169379A CN 107169379 A CN107169379 A CN 107169379A CN 201710356753 A CN201710356753 A CN 201710356753A CN 107169379 A CN107169379 A CN 107169379A
Authority
CN
China
Prior art keywords
tcm
bmc
metric
cpu
stored
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
Application number
CN201710356753.XA
Other languages
English (en)
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710356753.XA priority Critical patent/CN107169379A/zh
Publication of CN107169379A publication Critical patent/CN107169379A/zh
Pending legal-status Critical Current

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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种基于BMC和TCM进行完整性度量的方法和服务器,该方法包括:通过SPI总线构建基板管理控制器BMC与BIOS之间的连接,通过LPC总线构建BMC与可信密码模块TCM之间的连接,并在TCM中存储SM3杂凑算法和基准值;BMC通过所述SPI总线收集BIOS中的关键代码;通过LPC总线调用TCM中存储的SM3杂凑算法,对关键代码进行度量,得到度量值;判断度量值与TCM中存储的基准值是否一致,如果是,则发送控制信号给CPU,以控制CPU上电,并将信任链传递给BIOS中的关键代码;否则,禁止CPU启动。本发明提供的方案实现了信任传递。

Description

一种基于BMC和TCM进行完整性度量的方法和服务器
技术领域
本发明涉及计算机技术领域,特别涉及一种基于BMC和TCM进行完整性度量的方法和服务器。
背景技术
随着服务器在各行各业应用越来越深入,使得服务器的安全性问题得到广泛的关注。尤其是在服务器启动过程中,很容易受到攻击,因此,对服务器进行完整性度量,以保证服务器的安全启动则显得尤为重要。
目前,完整性度量的方是主要是,把静态核心度量根CRTM存储于BIOS中,这样默认CRTM为可信的,则由BIOS中的CRTM控制整个的启动过程,在服务器启动过程中,CRTM并不会将控制权释放给下一阶段的被度量部件,并不能实现信任传递。
发明内容
本发明实施例提供了一种基于BMC和TCM进行完整性度量的方法和服务器,实现了信任传递。
一种基于BMC和TCM进行完整性度量的方法,通过SPI总线构建基板管理控制器BMC与BIOS之间的连接,通过LPC总线构建所述BMC与可信密码模块TCM之间的连接,并在所述TCM中存储SM3杂凑算法和基准值;还包括:
所述BMC通过所述SPI总线收集所述BIOS中的关键代码;
通过所述LPC总线调用所述TCM中存储的SM3杂凑算法,对所述关键代码进行度量,得到度量值;
判断所述度量值与所述TCM中存储的基准值是否一致,如果是,则发送控制信号给CPU,以控制所述CPU上电,并将信任链传递给所述BIOS中的关键代码;否则,禁止所述CPU启动。
优选地,上述方法进一步包括:在所述BMC中构建非易失存储器Flash,并在所述TCM中存储SM4加密算法;
在所述通过所述LPC总线调用所述TCM中存储的SM3杂凑算法,对所述关键代码进行度量之后,在所述判断所述度量值与所述TCM中存储的基准值是否一致之前,进一步包括:
生成度量日志信息,并调用所述TCM中存储的SM4加密算法对所述度量日志信息进行加密;
将加密后的度量日志信息存储到所述BMC中的Flash中,所述度量日志信息,包括:度量时间和所述度量值。
优选地,上述方法进一步包括:设置初次启动标识信息;
在所述TCM中存储基准值之前,进一步包括:
当读取到所述初次启动标识信息时,调用所述SM3杂凑算法,对所述关键代码进行杂凑运算,得到256bit的基准值。
优选地,在所述判断所述度量值与所述TCM中存储的基准值是否一致之后,在所述发送控制信号给CPU之前,进一步包括:
所述BMC和所述TCM对所述度量值进行数字签名,并利用签名后的度量值生成可信控制信号;
所述发送控制信号给CPU,包括:将所述可信控制信号发送给所述CPU。
优选地,上述方法进一步包括:
隐藏所述BMC和所述TCM的地址空间,并为所述BMC和所述TCM的地址空间设置对应的指令集;
外部通过解析所述指令集对所述BMC和所述TCM进行访问。
优选地,上述方法进一步包括:设置临时数据的失效时间;
当所述临时数据达到所述失效时间时,所述BMC和所述TCM分别清除自身运行过程中产生的临时数据。
一种服务器,包括:基板管理控制器BMC、BIOS、可信密码模块TCM及CPU,其中,
所述BMC通过SPI总线与所述BIOS连接,并通过LPC总线与所述TCM连接;
所述TCM,用于存储SM3杂凑算法和基准值;
所述BMC,用于通过所述SPI总线收集所述BIOS中的关键代码,并通过所述LPC总线调用所述TCM中存储的SM3杂凑算法,对所述关键代码进行度量,得到度量值;判断所述度量值与所述TCM中存储的基准值是否一致,如果是,则发送控制信号给CPU,以控制所述CPU上电,并将信任链传递给所述BIOS中的关键代码;否则,切断禁止所述CPU启动。
优选地,所述BMC,包括:加密单元和非易失存储器Flash,其中,
所述TCM,进一步用于存储SM4加密算法;
所述加密单元,用于生成度量日志信息,并调用所述TCM中存储的SM4加密算法对所述度量日志信息进行加密,将加密后的度量日志信息发送给所Flash中,所述度量日志信息,包括:度量时间和所述度量值;
所述Flash,用于存储所述加密后的度量日志信息。
优选地,
所述BMC,进一步用于设置初次启动标识信息,当读取到所述初次启动标识信息时,调用所述TCM中存储的所述SM3杂凑算法,对所述BIOS中的关键代码进行杂凑运算,得到256bit的基准值。
优选地,
所述TCM,进一步用于对所述度量值进行数字签名;
所述BMC,进一步用于对所述度量值进行数字签名,并利用签名后的度量值生成可信控制信号,将所述可信控制信号发送给所述CPU。
优选地,
所述BMC,进一步用于为自身产生的临时数据设置失效时间,当所述临时数据达到所述失效时间时,清除自身运行过程中产生的临时数据;
所述TCM,进一步用于为自身产生的临时数据设置失效时间,当所述临时数据达到所述失效时间时,清除自身运行过程中产生的临时数据。
本发明实施例提供了基于BMC和TCM进行完整性度量的方法和服务器,BMC通过SPI总线收集BIOS中的关键代码,并通过LPC总线调用TCM中存储的SM3杂凑算法,对关键代码进行度量,得到度量值;当述度量值与TCM中存储的基准值一致,则发送控制信号给CPU,以控制CPU上电,并将信任链传递给BIOS中的关键代码,整个度量过程通过BMC和TCM完成,并将完成的信任链传递给BIOS,从而实现了信任传递。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种基于BMC和TCM进行完整性度量的方法的流程图;
图2是本发明另一个实施例提供的一种基于BMC和TCM进行完整性度量的方法的流程图;
图3是本发明一个实施例提供的服务器的结构示意图;
图4是本发明另一个实施例提供的服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种基于BMC和TCM进行完整性度量的方法,该方法可以包括以下步骤:
步骤101:通过SPI总线构建基板管理控制器BMC与BIOS之间的连接,通过LPC总线构建所述BMC与可信密码模块TCM之间的连接;
步骤102:在所述TCM中存储SM3杂凑算法和基准值;
步骤103:所述BMC通过所述SPI总线收集所述BIOS中的关键代码;
步骤104:通过所述LPC总线调用所述TCM中存储的SM3杂凑算法,对所述关键代码进行度量,得到度量值;
步骤105:判断所述度量值与所述TCM中存储的基准值是否一致,如果是,则执行步骤106;否则,执行步骤107;
步骤106:发送控制信号给CPU,以控制所述CPU上电,并将信任链传递给所述BIOS中的关键代码,并结束当前流程;
步骤107:禁止所述CPU启动。
在图1所示的实施例中,BMC通过SPI总线收集BIOS中的关键代码,并通过LPC总线调用TCM中存储的SM3杂凑算法,对关键代码进行度量,得到度量值;当述度量值与TCM中存储的基准值一致,则发送控制信号给CPU,以控制CPU上电,并将信任链传递给BIOS中的关键代码,整个度量过程通过BMC和TCM完成,并将完成的信任链传递给BIOS,从而实现了信任传递。
在本发明一个实施例中,为了保证度量结果的安全性,上述方法进一步包括:在所述BMC中构建非易失存储器Flash,并在所述TCM中存储SM4加密算法;在所述通过所述LPC总线调用所述TCM中存储的SM3杂凑算法,对所述关键代码进行度量之后,在所述判断所述度量值与所述TCM中存储的基准值是否一致之前,进一步包括:
生成度量日志信息,并调用所述TCM中存储的SM4加密算法对所述度量日志信息进行加密;将加密后的度量日志信息存储到所述BMC中的Flash中,所述度量日志信息,包括:度量时间和所述度量值。则在进行后续判断过程中通过解密度量日志信息得到度量值,以准确的判断度量值与TCM中存储的基准值是否一致。
在本发明一个实施例中,为了获得比较准确的基准值,上述方法进一步包括:设置初次启动标识信息;在所述TCM中存储基准值之前,进一步包括:当读取到所述初次启动标识信息时,调用所述SM3杂凑算法,对所述关键代码进行杂凑运算,得到256bit的基准值。即以初次启动度量得到的度量值作为基准值,保证整个度量过程的一致性,同时保证基准值的准确性。
在本发明一个实施例中,为了进一步保证度量过程的安全性,在所述判断所述度量值与所述TCM中存储的基准值是否一致之后,在所述发送控制信号给CPU之前,进一步包括:所述BMC和所述TCM对所述度量值进行数字签名,并利用签名后的度量值生成可信控制信号;所述发送控制信号给CPU,包括:将所述可信控制信号发送给所述CPU,由于可信控制信号被进行数字签名,使得可信控制信号不能被任意更改,从而保证度量过程的安全性。
在本发明一个实施例中,为了进一步保证BMC和TCM的安全性,上述方法进一步包括:隐藏所述BMC和所述TCM的地址空间,并为所述BMC和所述TCM的地址空间设置对应的指令集;外部通过解析所述指令集对所述BMC和所述TCM进行访问。
在本发明一个实施例中,为了进一步保证BMC和TCM的安全性,上述方法进一步包括:设置临时数据的失效时间;当所述临时数据达到所述失效时间时,所述BMC和所述TCM分别清除自身运行过程中产生的临时数据,从而避免BMC和TCM中的临时数据被恶意攻击,从而进一步保证了BMC和TCM的安全性。
如图2所示,本发明实施例提供了一种基于BMC和TCM进行完整性度量的方法,该方法可以包括以下步骤:
步骤201:通过SPI总线构建基板管理控制器BMC与BIOS之间的连接,通过LPC总线构建所述BMC与可信密码模块TCM之间的连接;
步骤202:在所述BMC中构建非易失存储器Flash,并在所述TCM中存储SM4加密算法;
该步骤的SM4加密算法采用32轮非线性迭代结构。加密算法对应解密算法,该加密算法和对应的解密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。在下述进行判断的过程需要通过解密算法对加密后的基准值进行解密。
步骤203:设置初次启动标识信息,并在所述TCM中存储SM3杂凑算法;
该初次启动标识信息是为了实现对基准值的度量,一旦服务器启动过,则该初次启动标识信息将会被更改,在后续启动过程中则不会再次被发现。例如:设置初次启动标识信息为first_boot_flag=1;一旦服务器启动,则将所述标识信息修改为first_boot_flag=0;即当启动时读取到first_boot_flag=0时,则表明服务器为非初次启动。
上述SM3杂凑算法主要是对长度为l(l<264)bit的消息m,经过填充和迭代压缩,生成杂凑值,杂凑值长度为256bit。
其中,SM3杂凑算法的填充过程为:
假设消息m的长度为lbit。首先将bit“1”添加到消息的末尾,再添加k个“0”,k是满足l+1+k≡448mod512的最小的非负整数。然后再添加一个64位比特串,该比特串是长度l的二进制表示。填充后的消息m′的比特长度为512的倍数。
迭代压缩过程:
将填充后的消息m′按512bit进行分组:m′=B(0)B(1)···B(n-1)
其中n=(l+k+65)/512。
对m′按下列方式迭代:
FOR i=0TO n-1
V(i+1)=CF(V(i),B(i))
ENDFOR
其中CF是压缩函数,V(0)为256bit初始值IV,B(i)为填充后的消息分组,迭代压缩的结果为V(n)
然后,
将消息分组B(i)按以下方法扩展生成132个字W0,W1,···,W67,W′0,W′1,···,W′63,用于压缩函数CF:
a)将消息分组B(i)划分为16个字W0,W1,···,W15
b)FOR j=16 TO 67
ENDFOR
c)FOR j=0 TO 63
ENDFOR
令A,B,C,D,E,F,G,H为字寄存器,SS1,SS2,TT1,TT2为中间变量,压缩函数Vi+1=CF(V(i),B(i)),0≤i≤n-1。
计算过程描述如下:
ABCDEFGH←V(i)
FOR j=0 TO 63
SS1←((A<<12)+E+(Tj<<j))<<7
T T1←F Fj(A,B,C)+D+SS2+W′j
T T2←GGj(E,F,G)+H+SS1+Wj
D←C C←B<<9
B←A
A←T T1
H←G
G←F<<19
F←E
E←P0(T T2)
ENDFOR
ABCDEFGH←V(n)
输出256bit的杂凑值y=ABCDEFGH。
步骤204:当读取到所述初次启动标识信息时,调用所述SM3杂凑算法,对所述关键代码进行杂凑运算,得到256bit的基准值;
步骤205:将256bit的基准值存储到TCM中;
该过程中要是为了保证基准值的安全性。
步骤206:所述BMC通过所述SPI总线收集所述BIOS中的关键代码;
步骤207:通过所述LPC总线调用所述TCM中存储的SM3杂凑算法,对所述关键代码进行度量,得到度量值;
步骤208:生成度量日志信息,并调用所述TCM中存储的SM4加密算法对所述度量日志信息进行加密;
步骤209:将加密后的度量日志信息存储到所述BMC中的Flash中,所述度量日志信息,包括:度量时间和度量值;
该Flash为BMC的非易失存储器,其大小可为1M字节。可用来存储度量时间和度量值。
步骤210:判断所述度量日志信息中的度量值与所述TCM中存储的256bit的基准值是否一致,如果是,则执行步骤211;否则,执行步骤213;
在该过程中需要将上述步骤208和步骤209加密后的度量值进行解密,该解密过程是通过SM4加密算法对应的SM4解密算法实现。
步骤211:所述BMC和所述TCM对所述度量值进行数字签名,并利用签名后的度量值生成可信控制信号;
步骤212:将所述可信控制信号发送给所述CPU,以控制所述CPU上电,并将信任链传递给所述BIOS中的关键代码,并结束当前流程;
该步骤的实现主要是因为,BMC作为系统平台的可信度量根,同时具有主板监控管理功能。另外,在BMC中通过可编程逻辑实现主板的上电时序控制,在服务器接通电源时通过主板电源组件控制BMC和TCM先加电,CPU先不加电启动;只有当度量完成BIOS确保可信后CPU才加电。
步骤213:禁止所述CPU启动。
另外,在上述实施例所述的整个度量过程或者服务器使用过程中,均隐藏所述BMC和所述TCM的地址空间,并为所述BMC和所述TCM的地址空间设置对应的指令集;则外部通过解析所述指令集对所述BMC和所述TCM进行访问,例如:BIOS或者CPU对BMC进行访问时,则是通过解析指令集来完成访问,从而保证了BMC和TCM的安全性。
另外,在上述实施例的度量过程中,BMC和TCM均会产生临时数据,为了避免临时数据被攻击,还可以为BMC和TCM设置临时数据的失效时间,那么,当所述临时数据达到所述失效时间时,所述BMC和所述TCM分别清除自身运行过程中产生的临时数据。
如图3所示,本发明实施例提供一种服务器,包括:基板管理控制器BMC301、BIOS302、可信密码模块TCM303及CPU304,其中,
所述BMC301通过SPI总线与所述BIOS302连接,并通过LPC总线与所述TCM303连接;
所述TCM303,用于存储SM3杂凑算法和基准值;
所述BMC301,用于通过所述SPI总线收集所述BIOS302中的关键代码,并通过所述LPC总线调用所述TCM303中存储的SM3杂凑算法,对所述关键代码进行度量,得到度量值;判断所述度量值与所述TCM303中存储的基准值是否一致,如果是,则发送控制信号给CPU304,以控制所述CPU304上电,并将信任链传递给所述BIOS302中的关键代码;否则,切断禁止所述CPU304启动。
如图4所示,在本发明另一个实施例中,所述BMC301,包括:加密单元401和非易失存储器Flash402,其中,
所述TCM303,进一步用于存储SM4加密算法;
所述加密单元401,用于生成度量日志信息,并调用所述TCM303中存储的SM4加密算法对所述度量日志信息进行加密,将加密后的度量日志信息发送给所Flash402中,所述度量日志信息,包括:度量时间和所述度量值;
所述Flash402,用于存储所述加密后的度量日志信息。
在本发明又一实施例中,所述BMC301,进一步用于设置初次启动标识信息,当读取到所述初次启动标识信息时,调用所述TCM303中存储的所述SM3杂凑算法,对所述BIOS302中的关键代码进行杂凑运算,得到256bit的基准值。
在本发明另一实施例中,所述TCM303,进一步用于对所述度量值进行数字签名;
所述BMC301,进一步用于对所述度量值进行数字签名,并利用签名后的度量值生成可信控制信号,将所述可信控制信号发送给所述CPU304。
在本发明另一实施例中,所述BMC301,进一步用于为自身产生的临时数据设置失效时间,当所述临时数据达到所述失效时间时,清除自身运行过程中产生的临时数据;
所述TCM303,进一步用于为自身产生的临时数据设置失效时间,当所述临时数据达到所述失效时间时,清除自身运行过程中产生的临时数据。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
根据上述方案,本发明的各实施例,至少具有如下有益效果:
1.BMC通过SPI总线收集BIOS中的关键代码,并通过LPC总线调用TCM中存储的SM3杂凑算法,对关键代码进行度量,得到度量值;当述度量值与TCM中存储的基准值一致,则发送控制信号给CPU,以控制CPU上电,并将信任链传递给BIOS中的关键代码,整个度量过程通过BMC和TCM完成,并将完成的信任链传递给BIOS,从而实现了信任传递。
2.通过生成度量日志信息,并调用所述TCM中存储的SM4加密算法对所述度量日志信息进行加密,将加密后的度量日志信息存储到所述BMC中的Flash中,所述度量日志信息包括:度量时间和所述度量值,保证度量日志信息中度量值的安全性。
3.通过设置初次启动标识信息,当读取到初次启动标识信息时,调用SM3杂凑算法,对关键代码进行杂凑运算,得到256bit的基准值,保证基准值与度量值度量过程的一致性,同时保证基准值的准确性。
4.通过BMC和TCM对度量值进行数字签名,并利用签名后的度量值生成可信控制信号,将可信控制信号发送给CPU,从而保证可信度量过程的安全性。
5.通过隐藏所述BMC和所述TCM的地址空间,并为所述BMC和所述TCM的地址空间设置对应的指令集,外部通过解析所述指令集对所述BMC和所述TCM进行访问,从而保证BMC和TCM的安全性。
6.通过设置临时数据的失效时间,当临时数据达到所述失效时间时,所述BMC和所述TCM分别清除自身运行过程中产生的临时数据,避免临时数据被恶意攻击,从而进一步保证了BMC和TCM的安全性。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种基于BMC和TCM进行完整性度量的方法,其特征在于,通过SPI总线构建基板管理控制器BMC与BIOS之间的连接,通过LPC总线构建所述BMC与可信密码模块TCM之间的连接,并在所述TCM中存储SM3杂凑算法和基准值;还包括:
所述BMC通过所述SPI总线收集所述BIOS中的关键代码;
通过所述LPC总线调用所述TCM中存储的SM3杂凑算法,对所述关键代码进行度量,得到度量值;
判断所述度量值与所述TCM中存储的基准值是否一致,如果是,则发送控制信号给CPU,以控制所述CPU上电,并将信任链传递给所述BIOS中的关键代码;否则,禁止所述CPU启动。
2.根据权利要求1所述的方法,其特征在于,进一步包括:在所述BMC中构建非易失存储器Flash,并在所述TCM中存储SM4加密算法;
在所述通过所述LPC总线调用所述TCM中存储的SM3杂凑算法,对所述关键代码进行度量之后,在所述判断所述度量值与所述TCM中存储的基准值是否一致之前,进一步包括:
生成度量日志信息,并调用所述TCM中存储的SM4加密算法对所述度量日志信息进行加密;
将加密后的度量日志信息存储到所述BMC中的Flash中,所述度量日志信息,包括:度量时间和所述度量值。
3.根据权利要求1所述的方法,其特征在于,进一步包括:设置初次启动标识信息;
在所述TCM中存储基准值之前,进一步包括:
当读取到所述初次启动标识信息时,调用所述SM3杂凑算法,对所述关键代码进行杂凑运算,得到256bit的基准值。
4.根据权利要求1所述的方法,其特征在于,在所述判断所述度量值与所述TCM中存储的基准值是否一致之后,在所述发送控制信号给CPU之前,进一步包括:
所述BMC和所述TCM对所述度量值进行数字签名,并利用签名后的度量值生成可信控制信号;
所述发送控制信号给CPU,包括:将所述可信控制信号发送给所述CPU。
5.根据权利要求1至4任一所述的方法,其特征在于,进一步包括:
隐藏所述BMC和所述TCM的地址空间,并为所述BMC和所述TCM的地址空间设置对应的指令集;
外部通过解析所述指令集对所述BMC和所述TCM进行访问。
6.根据权利要求1至4任一所述的方法,其特征在于,进一步包括:设置临时数据的失效时间;
当所述临时数据达到所述失效时间时,所述BMC和所述TCM分别清除自身运行过程中产生的临时数据。
7.一种服务器,其特征在于,包括:基板管理控制器BMC、BIOS、可信密码模块TCM及CPU,其中,
所述BMC通过SPI总线与所述BIOS连接,并通过LPC总线与所述TCM连接;
所述TCM,用于存储SM3杂凑算法和基准值;
所述BMC,用于通过所述SPI总线收集所述BIOS中的关键代码,并通过所述LPC总线调用所述TCM中存储的SM3杂凑算法,对所述关键代码进行度量,得到度量值;判断所述度量值与所述TCM中存储的基准值是否一致,如果是,则发送控制信号给CPU,以控制所述CPU上电,并将信任链传递给所述BIOS中的关键代码;否则,切断禁止所述CPU启动。
8.根据权利要求7所述的服务器,其特征在于,所述BMC,包括:加密单元和非易失存储器Flash,其中,
所述TCM,进一步用于存储SM4加密算法;
所述加密单元,用于生成度量日志信息,并调用所述TCM中存储的SM4加密算法对所述度量日志信息进行加密,将加密后的度量日志信息发送给所Flash中,所述度量日志信息,包括:度量时间和所述度量值;
所述Flash,用于存储所述加密后的度量日志信息。
9.根据权利要求7所述的服务器,其特征在于,
所述BMC,进一步用于设置初次启动标识信息,当读取到所述初次启动标识信息时,调用所述TCM中存储的所述SM3杂凑算法,对所述BIOS中的关键代码进行杂凑运算,得到256bit的基准值;
和/或,
所述TCM,进一步用于对所述度量值进行数字签名;
所述BMC,进一步用于对所述度量值进行数字签名,并利用签名后的度量值生成可信控制信号,将所述可信控制信号发送给所述CPU。
10.根据权利要求7至9任一所述的服务器,其特征在于,
所述BMC,进一步用于为自身产生的临时数据设置失效时间,当所述临时数据达到所述失效时间时,清除自身运行过程中产生的临时数据;
所述TCM,进一步用于为自身产生的临时数据设置失效时间,当所述临时数据达到所述失效时间时,清除自身运行过程中产生的临时数据。
CN201710356753.XA 2017-05-19 2017-05-19 一种基于bmc和tcm进行完整性度量的方法和服务器 Pending CN107169379A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710356753.XA CN107169379A (zh) 2017-05-19 2017-05-19 一种基于bmc和tcm进行完整性度量的方法和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710356753.XA CN107169379A (zh) 2017-05-19 2017-05-19 一种基于bmc和tcm进行完整性度量的方法和服务器

Publications (1)

Publication Number Publication Date
CN107169379A true CN107169379A (zh) 2017-09-15

Family

ID=59815189

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710356753.XA Pending CN107169379A (zh) 2017-05-19 2017-05-19 一种基于bmc和tcm进行完整性度量的方法和服务器

Country Status (1)

Country Link
CN (1) CN107169379A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729069A (zh) * 2017-10-12 2018-02-23 浪潮(北京)电子信息产业有限公司 一种安全启动显卡的方法、装置、计算机可读存储介质
CN108255690A (zh) * 2018-01-16 2018-07-06 宿州新材云计算服务有限公司 一种服务器性能度量方法
CN108446564A (zh) * 2018-02-22 2018-08-24 北京航空航天大学 基于tpm模块的虚拟化度量方法及装置
CN109726562A (zh) * 2019-01-03 2019-05-07 北京工业大学 一种基于可信bmc的服务器主板可信启动方法
CN109740353A (zh) * 2019-01-03 2019-05-10 北京工业大学 一种服务器的bmc固件的可信启动方法
CN109784061A (zh) * 2018-12-17 2019-05-21 北京华胜天成信息技术发展有限公司 控制服务器可信启动的方法及装置
CN110647750A (zh) * 2019-09-20 2020-01-03 大唐高鸿信安(浙江)信息科技有限公司 文件完整性度量方法、装置、终端及安全管理中心
CN110781527A (zh) * 2019-09-29 2020-02-11 苏州浪潮智能科技有限公司 一种控制寄存器保护方法与装置
CN111125707A (zh) * 2019-11-22 2020-05-08 苏州浪潮智能科技有限公司 一种基于可信密码模块的bmc安全启动方法、系统及设备
CN111158944A (zh) * 2019-12-30 2020-05-15 联想(北京)有限公司 一种信息处理方法、电源系统及电子设备系统
CN111291381A (zh) * 2020-01-17 2020-06-16 山东超越数控电子股份有限公司 一种基于tcm构建信任链的方法、设备及介质
CN111310189A (zh) * 2018-12-11 2020-06-19 航天信息股份有限公司 一种usbkey可信验证方法及装置
CN114036559A (zh) * 2021-11-16 2022-02-11 北京冲量在线科技有限公司 基于可信平台控制模块(tpcm)和异构可信执行环境的信创隐私计算系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105718806A (zh) * 2016-01-26 2016-06-29 浪潮电子信息产业股份有限公司 一种基于国产bmc和tpm2.0实现可信主动度量的方法
CN105740710A (zh) * 2016-02-01 2016-07-06 浪潮电子信息产业股份有限公司 一种基于bmc实现bios动态度量的方法
CN106127056A (zh) * 2016-06-20 2016-11-16 浪潮电子信息产业股份有限公司 一种国产bmc芯片可信固件的设计方法
CN106384052A (zh) * 2016-08-26 2017-02-08 浪潮电子信息产业股份有限公司 一种实现BMC U‑boot可信启动控制的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105718806A (zh) * 2016-01-26 2016-06-29 浪潮电子信息产业股份有限公司 一种基于国产bmc和tpm2.0实现可信主动度量的方法
CN105740710A (zh) * 2016-02-01 2016-07-06 浪潮电子信息产业股份有限公司 一种基于bmc实现bios动态度量的方法
CN106127056A (zh) * 2016-06-20 2016-11-16 浪潮电子信息产业股份有限公司 一种国产bmc芯片可信固件的设计方法
CN106384052A (zh) * 2016-08-26 2017-02-08 浪潮电子信息产业股份有限公司 一种实现BMC U‑boot可信启动控制的方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729069A (zh) * 2017-10-12 2018-02-23 浪潮(北京)电子信息产业有限公司 一种安全启动显卡的方法、装置、计算机可读存储介质
CN108255690A (zh) * 2018-01-16 2018-07-06 宿州新材云计算服务有限公司 一种服务器性能度量方法
CN108446564A (zh) * 2018-02-22 2018-08-24 北京航空航天大学 基于tpm模块的虚拟化度量方法及装置
CN108446564B (zh) * 2018-02-22 2020-11-03 北京航空航天大学 基于tpm模块的虚拟化度量方法及装置
CN111310189A (zh) * 2018-12-11 2020-06-19 航天信息股份有限公司 一种usbkey可信验证方法及装置
CN109784061A (zh) * 2018-12-17 2019-05-21 北京华胜天成信息技术发展有限公司 控制服务器可信启动的方法及装置
CN109740353A (zh) * 2019-01-03 2019-05-10 北京工业大学 一种服务器的bmc固件的可信启动方法
CN109726562A (zh) * 2019-01-03 2019-05-07 北京工业大学 一种基于可信bmc的服务器主板可信启动方法
CN110647750A (zh) * 2019-09-20 2020-01-03 大唐高鸿信安(浙江)信息科技有限公司 文件完整性度量方法、装置、终端及安全管理中心
CN110781527A (zh) * 2019-09-29 2020-02-11 苏州浪潮智能科技有限公司 一种控制寄存器保护方法与装置
CN110781527B (zh) * 2019-09-29 2022-02-22 苏州浪潮智能科技有限公司 一种控制寄存器保护方法与装置
CN111125707A (zh) * 2019-11-22 2020-05-08 苏州浪潮智能科技有限公司 一种基于可信密码模块的bmc安全启动方法、系统及设备
CN111158944A (zh) * 2019-12-30 2020-05-15 联想(北京)有限公司 一种信息处理方法、电源系统及电子设备系统
CN111291381A (zh) * 2020-01-17 2020-06-16 山东超越数控电子股份有限公司 一种基于tcm构建信任链的方法、设备及介质
CN114036559A (zh) * 2021-11-16 2022-02-11 北京冲量在线科技有限公司 基于可信平台控制模块(tpcm)和异构可信执行环境的信创隐私计算系统
CN114036559B (zh) * 2021-11-16 2022-11-04 北京冲量在线科技有限公司 基于可信平台控制模块(tpcm)和异构可信执行环境的信创隐私计算系统

Similar Documents

Publication Publication Date Title
CN107169379A (zh) 一种基于bmc和tcm进行完整性度量的方法和服务器
US9537657B1 (en) Multipart authenticated encryption
CN107145802A (zh) 一种bios完整性度量方法、基板管理控制器和系统
TWI531925B (zh) 資料驗證方法及其裝置
US9298947B2 (en) Method for protecting the integrity of a fixed-length data structure
US20130103954A1 (en) Key usage policies for cryptographic keys
US20100220853A1 (en) Method and Apparatus for Compound Hashing Via Iteration
JP2005260676A (ja) セキュリティ装置、情報処理装置、セキュリティ装置の制御方法、情報処理装置の制御方法、該制御方法を実行させるための装置実行可能なプログラムおよびチケット・システム
BR112019007232B1 (pt) Métodos implementados por computador para proteção da informação, sistemas para proteção da informação e meio de armazenamento legível por computador não transitório
CN105184181B (zh) 文件的加密方法、解密方法及装置
CN111131278A (zh) 数据处理方法及装置、计算机存储介质、电子设备
CN105930733A (zh) 一种信任链构建方法和装置
CN111177693B (zh) 一种验证终端根证书的方法、装置、设备和介质
CN106547648A (zh) 一种备份数据处理方法及装置
CN112907375B (zh) 数据处理方法、装置、计算机设备和存储介质
TW201314454A (zh) 記憶體儲存裝置及其記憶體控制器與密碼驗證方法
CN105893837A (zh) 应用程序安装方法、安全加密芯片及终端
CN105279441A (zh) 用于对数据进行加密和解密的方法和架构
CN113688399A (zh) 固件数字签名保护方法、装置、计算机设备及存储介质
CN109657497A (zh) 安全文件系统及其方法
CN101582765B (zh) 绑定用户的便携式可信移动装置
US7809130B1 (en) Password recovery system and method
CN104993932A (zh) 一种提高签名安全性的方法
CN112989362B (zh) 一种基于安全型芯片监测的cpu可信启动系统及方法
CN113434876A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170915

RJ01 Rejection of invention patent application after publication