CN116467721B - Cpld的校验方法、装置、服务器启动方法及服务器 - Google Patents
Cpld的校验方法、装置、服务器启动方法及服务器 Download PDFInfo
- Publication number
- CN116467721B CN116467721B CN202310601328.8A CN202310601328A CN116467721B CN 116467721 B CN116467721 B CN 116467721B CN 202310601328 A CN202310601328 A CN 202310601328A CN 116467721 B CN116467721 B CN 116467721B
- Authority
- CN
- China
- Prior art keywords
- cpld
- signal
- gating
- tpcm
- flash memory
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000012795 verification Methods 0.000 title claims abstract description 33
- 238000005259 measurement Methods 0.000 claims abstract description 74
- JBWKIWSBJXDJDT-UHFFFAOYSA-N triphenylmethyl chloride Chemical compound C=1C=CC=CC=1C(C=1C=CC=CC=1)(Cl)C1=CC=CC=C1 JBWKIWSBJXDJDT-UHFFFAOYSA-N 0.000 claims 7
- 230000005540 biological transmission Effects 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
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
- G06F21/575—Secure boot
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及计算机安全技术领域,公开了CPLD的校验方法、装置、服务器启动方法及服务器,包括在服务器系统上电后,生成第一选通信号并发送至选通器,以使选通器的第一通路导通;根据第一通路访问SPI闪存,对SPI闪存内存储的CPLD配置信息进行度量;若度量通过,则生成第二选通信号并发送至选通器,以使选通器的第二通路导通;生成第一复位信号并发送至CPLD,以使CPLD通过第二通路读取CPLD配置信息进行启动;若度量不通过,则维持第一通路的导通状态。本发明避免了因CPLD被篡改导致的系统不可信等风险的发生,完善了服务器系统启动的可信认证及可信链的传递,提高了服务器系统的安全性和稳定性。
Description
技术领域
本发明涉及计算机安全技术领域,特别是涉及CPLD的校验方法、装置、服务器启动方法及服务器。
背景技术
目前,随着信息安全越来越重要,许多服务器系统都设置有TPCM,TPCM(TrustedPlatform Control Module,可信平台控制模块)是一种基于可信根的可信认证机制,在系统上电的过程中,会对BMC镜像和BIOS镜像进行度量,如果度量通过说明镜像可信,允许服务器系统启动;如果度量不通过说明系统不可信,就不允许服务器启动,因此TPCM一定程度上可以保护系统安全、防止系统被篡改造成信息泄密和损失。
在现有的基于TPCM进行服务器系统可信启动的过程中,CPLD和TPCM会同时上电和启动,由TPCM和CPLD配合进行度量,TPCM将度量结果传递给CPLD,CPLD接受到TPCM度量结果后,根据度量结果决定系统启动与否。但是,这个过程CPLD是没有经过度量的,不是百分百可信的,当CPLD被篡改后,CPLD不去判断TPCM的度量结果,在搭载有被篡改的BMC或者BIOS时允许直接启动系统,就会造成系统不可信,有信息泄露等风险。
发明内容
为了解决上述技术问题,本发明提供了一种CPLD的校验方法、装置、服务器启动方法及设备,以能够解决CPLD被篡改造成的系统不可信和信息泄露问题,以达到提高服务器系统的安全性和稳定性的目的。
为了达到上述目的,第一方面,本发明提供了一种CPLD的校验方法,所述方法包括:
在服务器系统上电后,生成第一选通信号并发送至选通器,以使所述选通器的第一通路导通;
根据所述第一通路访问SPI闪存,对所述SPI闪存内存储的CPLD配置信息进行度量;
若度量通过,则生成第二选通信号并发送至所述选通器,以使所述选通器的第二通路导通;生成第一复位信号并发送至CPLD,以使所述CPLD通过所述第二通路读取所述CPLD配置信息进行启动;
若度量不通过,则维持所述第一通路的导通状态。
进一步地,在生成第一选通信号之前,所述方法还包括:
生成第一使能信号并发送至CPLD供电通路,以使所述CPLD供电通路断开;
生成第二复位信号并发送至CPLD,以禁止所述CPLD启动。
进一步地,在度量通过之后,所述方法还包括:
生成第三复位信号,通过所述第一通路将所述第三复位信号发送至所述SPI闪存,以使所述SPI闪存复位。
进一步地,在所述生成第一复位信号之前,所述方法还包括:
生成第二使能信号并发送至CPLD供电通路,以使所述CPLD供电通路导通。
第二方面,本发明提供了一种CPLD的校验装置,所述装置集成于服务器系统的TPCM中,所述装置包括:
选通控制模块,用于在服务器系统上电后,生成第一选通信号并发送至选通器,以使所述选通器的第一通路导通;并在度量通过后,生成第二选通信号并发送至所述选通器,以使所述选通器的第二通路导通;
度量模块,用于根据所述第一通路访问SPI闪存,对所述SPI闪存内存储的CPLD配置信息进行度量;
复位控制模块,用于在度量通过后,生成第一复位信号并发送至CPLD,以使所述CPLD通过所述第二通路读取所述CPLD配置信息进行启动。
进一步地,所述装置还包括供电控制模块;
所述供电控制模块,用于在服务器系统上电后,生成第一使能信号并发送至CPLD供电通路,以使所述CPLD供电通路断开;
所述复位控制模块,还用于在服务器系统上电后,生成第二复位信号并发送至CPLD,以禁止所述CPLD启动。
进一步地,所述复位控制模块,还用于在度量通过之后,生成第三复位信号,通过所述第一通路将所述第三复位信号发送至所述SPI闪存,以使所述SPI闪存复位。
进一步地,所述供电控制模块,还用于在生成第一复位信号之前,生成第二使能信号并发送至CPLD供电通路,以使所述CPLD供电通路导通。
第三方面,本发明实施例还提供了一种服务器启动方法,采用如上所述的CPLD的校验方法对CPLD进行校验,并在校验通过时启动服务器。
第四方面,本发明实施例还提供一种服务器,所述服务器包括供电单元、TPCM、CPLD、选通器和SPI闪存;
所述供电单元与所述TPCM相连接,且所述供电单元通过MOS管与所述CPLD相连接;
所述TPCM分别与CPLD和所述MOS管相连接;所述TPCM采用如上所述的CPLD的校验方法对CPLD进行校验;
所述SPI闪存通过所述选通器分别与所述TPCM和所述CPLD相连接。
进一步地,所述选通器的第一端口与所述SPI闪存相连接,所述选通器的第二端口和选通端口均与所述TPCM相连接,所述选通器的第三端口与所述CPLD相连接。
本发明提供了一种CPLD的校验方法、装置、服务器启动方法及服务器。通过所述方法,完善了可信认证以及可信链的传递,避免了因CPLD认证缺失导致可信认证、可信链传递失效,从而导致系统的不可信,能够有效提高服务器系统的安全性和稳定性。
附图说明
图1是现有技术中基于TPCM进行服务器系统启动的流程示意图;
图2是本发明实施例中CPLD的校验方法的流程示意图;
图3是本发明实施例中CPLD的校验装置的结构示意图;
图4是本发明实施例中服务器可信启动方法的流程示意图;
图5是本发明实施例中服务器设备的结构示意图;
图6是本发明实施例中服务器可信启动方法的另一种流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在对本发明的技术方案进行说明之前,先对本发明涉及到的技术关键词进行解释:TPCM(Trusted Platform Control Module):可信平台控制模块、或可信认证启动流程;BIOS(Basic Input Output System):基本输入输出系统;BMC(Baseboard ManagementController):基板管理控制器;CPLD(Complex Programmable Logic Device):复杂可编程逻辑器件;SPI Flash(SERIAL FLASH MEMORY):串行接口存储器;SPI MUX(SPIMultiplexer):串行接口选通器、或者串行接口多路选择器。
请参阅图1,在现有的服务器系统可信启动过程中,TPCM和CPLD会同时上电启动,因为在工作流程中,CPLD和TPCM需要共同配合来完成系统的初始化,其中,CPLD负责切换SPI链路、上电时序控制等工作,具体为CPLD根据可信启动流程和TPCM反馈的度量结果执行SPI链路切换工作、复位以及上电时序控制;TPCM则负责固件度量,具体为读取闪存中的数据,根据哈希算法计算当前闪存中的哈希值,并与TPMC中的基准哈希值进行比对,从而完成固件度量。根据附图1的启动流程,可以很清楚的看到,CPLD并不在可信链上,因此CPLD具有被篡改的风险,当CPLD被篡改后,CPLD不去判断TPCM的度量结果,而在搭载有被篡改的BMC或者BIOS的情况下允许直接启动系统,就会造成系统不可信,从而有信息泄露等安全风险。为此,本发明提供了一种对CPLD进行校验方法,以实现将CPLD加入可信链中,来提高服务器系统的安全性。
请参阅图2,本发明第一实施例提出的一种CPLD的校验方法,包括步骤S10~S30:
步骤S10,在服务器系统上电后,生成第一选通信号并发送至选通器,以使所述选通器的第一通路导通。
步骤S20,根据所述第一通路访问SPI闪存,对所述SPI闪存内存储的CPLD配置信息进行度量。
在本实施例中,在服务器系统搭载有TPCM的基础上,利用TPCM的度量特性来完成对CPLD的度量校验,只有度量通过的CPLD还被允许启动,这样才能够保证CPLD是可信的,而在原有的启动流程中,TPCM和CPLD是同时启动的,在这种情况下很难实现对CPLD的度量,为此,本发明对原有的启动流程进行变更,使CPLD晚于TPCM启动,即将原有的系统上电后启动TPCM和CPLD的步骤,变更为在服务器系统上电后,先对TPCM供电,启动TPCM,而不对CPLD进行供电,此时CPLD即为未启动状态,而在CPLD未启动的状态下,就可以对CPLD进行度量。
对CPLD的度量步骤是先通过选通信号,控制选通器导通连接到SPI闪存的通路,在SPI闪存中存储有CPLD的配置文件,然后利用TPCM的度量功能,使TPCM通过导通的通路读取对CPLD的配置文件来进行固件度量,从而可以验证CPLD是否会篡改,能够避免由于CPLD的不可信引起的信息泄露等问题。
通过上述说明可知,在利用TPCM对CPLD进行度量时,需要将CPLD的上电启动设置为晚于TPCM,并且应当是在TPCM度量通过之后才会被允许启动,但是在实际情况中,可能会出现CPLD在度量未完成或者度量未通过的情况下,意外上电启动而导致度量失败。
为了解决这一问题,本发明提供了一个优选的实施例,由TPCM来控制CPLD的上电和启动,这样就能保证在TPCM度量不通过时,CPLD不会意外启动,其控制步骤如下所示:
生成第一使能信号并发送至CPLD供电通路,以使所述CPLD供电通路断开;
生成第二复位信号并发送至CPLD,以禁止所述CPLD启动。
在本实施例中,在系统上电之后,由TPCM生成一个使能信号,与该使能信号配套的是在CPLD的供电通路上设置的使能开关,该使能信号会被发送至使能开关,控制使能开关关闭,此时CPLD的供电通路断开,CPLD不上电,通过这种方法可以确保在系统上电之后,CPLD并不会被供电,从而便于TPCM对CPLD进行固件度量。
进一步地,在本实施例中,还可以由TPCM对CPLD进行复位控制,即在TPCM上电之后生成一个复位信号Reset并发送给CPLD,即通过拉低Reset信号,以禁止CPLD启动,本实施例中拉低Reset的目的是为了避免使能开关损坏等情况下CPLD被意外上电,而在度量没有完成或者度量没有通过的情况下直接启动的情况,确保了可信链的完整实施,从而能够有效提高服务器系统的安全性。
步骤S30,若度量通过,则生成第二选通信号并发送至所述选通器,以使所述选通器的第二通路导通;生成第一复位信号并发送至CPLD,以使所述CPLD通过所述第二通路读取所述CPLD配置信息进行启动;若度量不通过,则维持所述第一通路的导通状态。
其中,在对CPLD的固件度量通过之后,按照正常的服务器系统启动流程,CPLD就可以正常启动了,由于本发明中CPLD并没有在系统上电时启动,而是需要在固件度量通过之后才可以启动,因此,本实施例中同样采用了由TPCM控制CPLD启动的机制,即在TPCM在对CPLD进行度量之后,根据度量结果来控制CPLD是否启动,其控制步骤为:在度量通过之后,先发送选通信号到选通器,来导通CPLD与其配置文件之间的通路,然后启动CPLD,在启动步骤中,同样可以利用复位信号启动CPLD,即拉高Reset信号并发送给CPLD,CPLD在接到启动信号之后,就可以通过已导通的通路访问CPLD的配置文件,以完成启动,由于CPLD的配置文件是已经被TPCM度量通过的可信数据,因此确保了CPLD没有被篡改,能够可信启动。
进一步地,为了确保CPLD能够安全正确的启动,本发明还提供了另一个优选的实施例,在该实施例中,在TPCM对SPI闪存内的配置文件进行度量通过之后,会生成一个复位信号并发送给SPI闪存,以复位SPI闪存,这么做的好处是可以避免由于TPCM和CPLD访问SPI闪存的方式可能存在不同,而导致的CPLD无法正常读取SPI闪存中的数据的问题,从而确保了CPLD在度量通过之后能够正常的启动,从而提高了服务器系统的稳定性。
进一步地,由于在TPCM启动之后会通过使能信号断开CPLD的供电通路以避免CPLD的意外上电启动,因此在CPLD的度量通过待启动之前,还需要先连通CPLD的供电通路以实现CPLD的上电,在本实施例中,同样可以通过发送使能信号的方式来控制使能开关由关闭状态切换为开启状态,从而使CPLD的供电通路导通,而在CPLD上电之后,就可以通过发送复位信号的方式启动CPLD,从而完成了CPLD的校验启动的整个过程。本发明通过对CPLD的供电和复位的双重控制,确保了CPLD不会在度量不通过或度量未完成之前意外启动,保证了CPLD能够完全的执行可信认证。
本实施例提供的一种CPLD的校验方法,相比传统方法缺乏对CPLD进行度量,因此无法避免CPLD被篡改而引起的系统不可信和信息泄露等风险,本发明利用TPCM的度量特性,增加了对CPLD的度量校验,实现了完整的可信链和可信认证,提高了服务器系统的安全性和稳定性。
请参阅图3,基于同一发明构思,本发明第二实施例提出的一种CPLD的校验装置,本装置集成于服务器系统的TPCM中,包括:
选通控制模块10,用于在服务器系统上电后,生成第一选通信号并发送至选通器,以使所述选通器的第一通路导通;并在度量通过后,生成第二选通信号并发送至所述选通器,以使所述选通器的第二通路导通;
度量模块20,用于根据所述第一通路访问SPI闪存,对所述SPI闪存内存储的CPLD配置信息进行度量;
复位控制模块30,用于在度量通过后,生成第一复位信号并发送至CPLD,以使所述CPLD通过所述第二通路读取所述CPLD配置信息进行启动。
本发明提供的CPLD的校验装置利用TPCM的度量特性,增加了对CPLD的度量校验,实现了完整的可信链和可信认证,提高了服务器系统的安全性和稳定性。
进一步地,在一个优选的实施例中,本装置还包括:
供电控制模块40,用于在服务器系统上电后,生成第一使能信号并发送至CPLD供电通路,以使所述CPLD供电通路断开;
以及,在生成第一复位信号之前,生成第二使能信号并发送至CPLD供电通路,以使所述CPLD供电通路导通。
在本实施例中,在系统上电之后,由TPCM生成一个使能信号,与该使能信号配套的是在CPLD的供电通路上设置的使能开关,该使能信号会被发送至使能开关,控制使能开关关闭,此时CPLD的供电通路断开,CPLD不上电,通过这种方法可以确保在系统上电之后,CPLD并不会被供电,从而便于TPCM对CPLD进行固件度量。
进一步地,在另一个优选的实施例中,复位控制模块30还用于在服务器系统上电后,生成第二复位信号并发送至CPLD,以禁止所述CPLD启动;以及,在度量通过之后,生成第三复位信号,通过所述第一通路将所述第三复位信号发送至所述SPI闪存,以使所述SPI闪存复位。
在本实施例中,由TPCM对CPLD进行复位控制,即在TPCM上电之后生成一个复位信号Reset并发送给CPLD,即通过拉低Reset信号,以禁止CPLD启动,拉低Reset的目的是为了避免在使能开关损坏等情况下CPLD被意外上电,而在度量没有完成或者度量没有通过的情况下直接启动的情况,确保了可信链的完整实施,从而能够有效提高服务器系统的安全性。
并且,在TPCM对SPI闪存内的配置文件进行度量通过之后,会生成一个复位信号并发送给SPI闪存,以复位SPI闪存,这么做的好处是可以避免由于TPCM和CPLD访问SPI闪存的方式可能存在不同,而导致的CPLD无法正常读取SPI闪存中的数据的问题,从而确保了CPLD在度量通过之后能够正常的启动,从而提高了服务器系统的稳定性。本发明通过对CPLD的供电和复位的双重控制,确保了CPLD不会在度量不通过或度量未完成之前意外启动,保证了CPLD能够完全的执行可信认证。
本发明实施例提出的CPLD的校验装置的技术特征和技术效果与本发明实施例提出的方法相同,在此不予赘述。上述CPLD的校验装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本发明的第三实施例提出的一种服务器启动方法,采用如上所述的CPLD的校验方法对CPLD进行校验,并在校验通过时启动服务器。
请参阅图4,在采用本发明提供的校验方法将CPLD的校验加入启动流程之后,现有的基于TPCM的启动流程会被变更为:在系统上电后,TPCM先于CPLD进行启动,并在启动完成后,对CPLD进行度量,如果对CPLD的度量通过,认为CPLD是可信的,此时TPCM会通过复位控制和供电控制来启动CPLD;在CPLD启动之后,由TPCM继续对BMC进行度量,并在BMC度量通过之后由CPLD控制BMC启动;在接收到系统的开机指令之后,由TPCM继续对BIOS进行度量,并在度量通过之后,由CPLD控制BIOS启动,从而完成整个系统的可信启动流程。
本发明提供的服务器系统的可信启动方法,利用TPCM的度量特征,在系统上电之后,通过TPCM对CPLD进行固件度量,将CPLD加入服务器系统启动的可信链上,避免了CPLD被篡改而导致的系统不可信启动,完善了服务器系统启动的可信链和可信认证,提高了服务器系统的安全性和稳定性。
请参阅图5,本发明的第四实施例提供的一种服务器,包括:供电单元、TPCM、CPLD、选通器和SPI闪存;
所述供电单元与所述TPCM相连接,且所述供电单元通过MOS管与所述CPLD相连接;
所述TPCM分别与CPLD和所述MOS管相连接;所述TPCM采用如上所述的CPLD的校验方法对CPLD进行校验;
所述SPI闪存通过所述选通器分别与所述TPCM和所述CPLD相连接。
本发明的服务器与现有的服务器相比,其区别在于,TPCM中集成了用于实现对CPLD进行校验的模块,并且对于CPLD的供电控制、复位控制和固件配置等拓扑结构也进行了有针对性的设计改进。
在原有的服务器设备中,CPLD和TPCM是同时上电启动的,本发明为了将CPLD纳入可信链,能够利用TPCM对CPLD进行度量,因此需要将CPLD的供电设计成晚于TPCM上电,并且还需要保证CPLD的启动是在度量通过之后才会被允许启动,为此,本发明设计了CPLD的供电控制和复位控制。
本实施例中,供电单元分别与TPCM和CPLD相连接,以对TPCM和CPLD进行供电,并且为了控制CPLD的上电时序,在供电单元和CPLD的供电通路上增加了使能开关即MOS管,并且该MOS管的开关使能由TPCM来控制,即由TPCM向MOS管发送Enable使能信号来控制MOS管的打开或者关闭,从而使TPCM能够控制CPLD的上电时间。
并且,为了进一步地的确保CPLD能够在度量通过之后才被允许启动,本实施例中,还设计了由TPCM控制CPLD复位的拓扑结构,即由TPCM向CPLD发送Reset复位信号,以控制CPLD的启动时间。
结合上述的拓扑结构,本实施例中,对CPLD的供电控制和复位控制的步骤为:在系统上电后,供电单元会对TPCM直接供电,TPCM启动后会生成Enable使能信号并发送给MOS管,MOS管受TPCM发出的Enable使能信号控制,断开或者连接CPLD的供电通路;在TPCM度量CPLD之前,先通过Enable使能信号关闭MOS管,断开CPLD的供电通路,并拉低CPLD的Reset复位信号,禁止CPLD启动,从而避免了CPLD在MOS损坏等情况下的意外上电启动;在TPCM度量CPLD固件通过后,通过Enable使能信号打开MOS管,使CPLD的供电通路连通,同时拉高CPLD的Reset复位信号,允许CPLD启动。
通过本发明的这种拓扑结构,能够实现对CPLD的供电控制和复位控制,通过双重控制保证了CPLD在度量未完成或未通过之前不会被启动,使TPCM能够实现对CPLD的完整度量,从而完善了可信认证以及可信链的传递,提高了系统的可信程度。
进一步地,传统的CPLD设计中往往采用的是由CPLD内置的闪存来存放其配置信息,但是这种传统的设计难以准确控制CPLD的启动,比如在复位信号失灵或者CPLD被篡改而不响应复位信号自行启动的情况,现有的设计结构很难避免这些情况的发生,为此,本发明采用了CPLD外接SPI闪存即SPI Flash芯片的方式,从外部SPI闪存内获取配置信息,即将CPLD的配置信息存放至外部的SPI闪存内,并且为了使TPCM在对配置信息进行度量时CPLD不会自行读取配置信息进行启动,本实施例还在SPI闪存与TCPM和CPLD之间设置了一个选通器即SPI MUX,该选通器可以为两路选择器,选通器的一端连接在SPI闪存上,两个选择端分别与TPCM和CPLD相连接,并且选通器的选通信号端口也与TPCM相连,由TPCM控制选通器的导通通路,从而实现了由TPCM来控制CPLD是否能够读取配置文件进行启动的功能,进一步提高了CPLD启动的可控性。
如图5所示,TPCM、CPLD和SPI闪存之间通过SPI总线互联,并通过选通器进行通道切换,CPLD与选通器的B2端口连接,TPCM与选通器的B1端口连接,SPI闪存与选通器的A端口连接,TPCM与选通器的S管脚连接。
TPCM通过Select选通信号控制选通器的选通状态,当TPCM度量SPI闪存时,Select选通信号控制选通器端口B1与端口A选通,此时TPCM可以通过导通的第一通路访问SPI闪存,以对其内部存储的配置文件进行度量;当CPLD被允许启动时,Select选通信号控制选通器端口B2与端口A选通,此时CPLD就可以通过导通的第二通路访问SPI闪存,以读取其内部存储的配置文件进行启动。TPCM、选通器和SPI闪存为一个供电域,CPLD为另一个供电域,且CPLD供电域受TPCM控制,并晚于TPCM供电域。
本发明提供的这种服务器的拓扑结构,通过CPLD供电控制和复位控制的双重控制,CPLD不会在度量未通过的情况下意外启动,保证了CPLD能够可信启动,同时通过将CPLD的配置文件进行外置,并且将外置的SPI闪存与TPCM设置为同一供电域,保证了TPCM能够在CPLD未上电的情况下度量其配置文件,进一步地通过由TPCM对选通器的选通控制,即使在CPLD在意外情况下被上电启动时,由于CPLD无法读取配置文件,也不能启动成功,从而确保了CPLD的可信启动和可控启动。
结合附图5的拓扑结构,请参阅图6,本发明提供的服务器系统的可信启动流程为:
在系统上电后,TPCM上电并启动;TPCM通过Enable使能信号关闭MOS管,以断开CPLD的供电通路,通过拉低Reset信号来禁止CPLD启动,并通过Select信号切换选通器的端口B1与端口A导通;TPCM通过导通的第一通路度量SPI闪存中的配置文件,若度量通过,则TPCM发送闪存Reset命令,复位SPI闪存;TPMC通过Select信号切换选通器端口B2与端口A导通,同时通过Enable使能信号打开MOS管,以使CPLD供电通路连通,并释放Reset信号,允许CPLD启动,若度量不通过,则保持现状,停止后续启动流程。
CPLD在接到拉高的Reset信号后通过导通的第二通路读取SPI闪存内的配置信息进行初始化,完成启动。在CPLD启动后,由TPCM对BMC进行度量,并在度量通过后,由CPLD控制BMC进行启动,并在服务器系统接收到开机指令后,由TPCM对BIOS进行度量,在度量通过后,由CPLD控制BIOS进行启动,从而完成整个服务器系统的可信启动流程。
通过本发明提供的这种服务器可信启动方法,避免了由于CPLD缺乏校验而被篡改导致的系统不可信等风险的发生,完善了服务器系统启动的可信认证及可信链的传递,进一步提高了服务器系统的安全性和稳定性。
综上,本发明实施例提出的CPLD的校验方法、装置、服务器启动方法及服务器,所述方法通过在服务器系统上电后,生成第一选通信号并发送至选通器,以使所述选通器的第一通路导通;根据所述第一通路访问SPI闪存,对所述SPI闪存内存储的CPLD配置信息进行度量;若度量通过,则生成第二选通信号并发送至所述选通器,以使所述选通器的第二通路导通;生成第一复位信号并发送至CPLD,以使所述CPLD通过所述第二通路读取所述CPLD配置信息进行启动;若度量不通过,则维持所述第一通路的导通状态。本发明利用TPCM的度量特性,增加了对CPLD的度量校验,避免了因CPLD缺乏校验而被篡改导致的系统不可信等风险的发生,完善了服务器系统启动的可信认证及可信链的传递,进一步提高了服务器系统的安全性和稳定性。
本说明书中的各个实施例均采用递进的方式描述,各个实施例直接相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。需要说明的是,上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种优选实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本申请的保护范围。因此,本申请专利的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种CPLD的校验方法,其特征在于,包括:
在服务器系统上电后,生成第一使能信号并发送至CPLD供电通路,以使所述CPLD供电通路断开;
生成第二复位信号并发送至CPLD,以禁止所述CPLD启动;
生成第一选通信号并发送至选通器,以使所述选通器的第一通路导通;
根据所述第一通路访问SPI闪存,对所述SPI闪存内存储的CPLD配置信息进行度量;
若度量通过,则生成第二选通信号并发送至所述选通器,以使所述选通器的第二通路导通;生成第一复位信号并发送至CPLD,以使所述CPLD通过所述第二通路读取所述CPLD配置信息进行启动;
若度量不通过,则维持所述第一通路的导通状态。
2.根据权利要求1所述的CPLD的校验方法,其特征在于,在度量通过之后,所述方法还包括:
生成第三复位信号,通过所述第一通路将所述第三复位信号发送至所述SPI闪存,以使所述SPI闪存复位。
3.根据权利要求1所述的CPLD的校验方法,其特征在于,在所述生成第一复位信号之前,所述方法还包括:
生成第二使能信号并发送至CPLD供电通路,以使所述CPLD供电通路导通。
4.一种CPLD的校验装置,其特征在于,所述装置集成于服务器系统的TPCM中,所述装置包括:
选通控制模块,用于在服务器系统上电后,生成第一选通信号并发送至选通器,以使所述选通器的第一通路导通;并在度量通过后,生成第二选通信号并发送至所述选通器,以使所述选通器的第二通路导通;
度量模块,用于根据所述第一通路访问SPI闪存,对所述SPI闪存内存储的CPLD配置信息进行度量;
复位控制模块,用于在度量通过后,生成第一复位信号并发送至CPLD,以使所述CPLD通过所述第二通路读取所述CPLD配置信息进行启动;
供电控制模块,用于在服务器系统上电后,生成第一使能信号并发送至CPLD供电通路,以使所述CPLD供电通路断开;
所述复位控制模块,还用于在服务器系统上电后,生成第二复位信号并发送至CPLD,以禁止所述CPLD启动。
5.根据权利要求4所述的CPLD的校验装置,其特征在于,所述复位控制模块,还用于在度量通过之后,生成第三复位信号,通过所述第一通路将所述第三复位信号发送至所述SPI闪存,以使所述SPI闪存复位。
6.根据权利要求4所述的CPLD的校验装置,其特征在于,所述供电控制模块,还用于在生成第一复位信号之前,生成第二使能信号并发送至CPLD供电通路,以使所述CPLD供电通路导通。
7.一种服务器启动方法,其特征在于,采用如权利要求1至3任一项所述的CPLD的校验方法对CPLD进行校验,并在校验通过时启动服务器。
8.一种服务器,其特征在于,所述服务器包括供电单元、TPCM、CPLD、选通器和SPI闪存;
所述供电单元与所述TPCM相连接,且所述供电单元通过MOS管与所述CPLD相连接;
所述TPCM分别与CPLD和所述MOS管相连接;所述TPCM采用如权利要求1至3任一项所述的CPLD的校验方法对CPLD进行校验;
所述SPI闪存通过所述选通器分别与所述TPCM和所述CPLD相连接。
9.根据权利要求8所述的服务器,其特征在于所述选通器的第一数据端口与所述SPI闪存相连接,所述选通器的第二数据端口和选通端口均与所述TPCM相连接,所述选通器的第三数据端口与所述CPLD相连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310601328.8A CN116467721B (zh) | 2023-05-25 | 2023-05-25 | Cpld的校验方法、装置、服务器启动方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310601328.8A CN116467721B (zh) | 2023-05-25 | 2023-05-25 | Cpld的校验方法、装置、服务器启动方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116467721A CN116467721A (zh) | 2023-07-21 |
CN116467721B true CN116467721B (zh) | 2023-11-24 |
Family
ID=87173844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310601328.8A Active CN116467721B (zh) | 2023-05-25 | 2023-05-25 | Cpld的校验方法、装置、服务器启动方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116467721B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506663A (zh) * | 2017-08-02 | 2017-12-22 | 中电科技(北京)有限公司 | 基于可信bmc的服务器安全启动方法 |
CN111399919A (zh) * | 2020-03-06 | 2020-07-10 | 苏州浪潮智能科技有限公司 | 一种服务器的启动方法、系统、电子设备及存储介质 |
CN114168205A (zh) * | 2021-10-29 | 2022-03-11 | 浪潮(北京)电子信息产业有限公司 | 一种bios固件校验系统、方法和装置 |
WO2022057720A1 (zh) * | 2020-09-16 | 2022-03-24 | 阿里巴巴集团控股有限公司 | 一种可信验证的系统、方法、主板、微型板卡及存储介质 |
CN115906046A (zh) * | 2022-05-31 | 2023-04-04 | 北京工业职业技术学院 | 可信计算系统及基于可信计算系统的度量方法 |
-
2023
- 2023-05-25 CN CN202310601328.8A patent/CN116467721B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506663A (zh) * | 2017-08-02 | 2017-12-22 | 中电科技(北京)有限公司 | 基于可信bmc的服务器安全启动方法 |
CN111399919A (zh) * | 2020-03-06 | 2020-07-10 | 苏州浪潮智能科技有限公司 | 一种服务器的启动方法、系统、电子设备及存储介质 |
WO2022057720A1 (zh) * | 2020-09-16 | 2022-03-24 | 阿里巴巴集团控股有限公司 | 一种可信验证的系统、方法、主板、微型板卡及存储介质 |
CN114168205A (zh) * | 2021-10-29 | 2022-03-11 | 浪潮(北京)电子信息产业有限公司 | 一种bios固件校验系统、方法和装置 |
CN115906046A (zh) * | 2022-05-31 | 2023-04-04 | 北京工业职业技术学院 | 可信计算系统及基于可信计算系统的度量方法 |
Non-Patent Citations (1)
Title |
---|
"TPCM 主动防御可信服务器平台设计";黄坚会,沈昌祥;《郑州大学学报(理学版)》;第51卷(第3期);第1-6页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116467721A (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10839080B2 (en) | Hardware-enforced firmware security | |
US10839079B2 (en) | Systems and methods for tamper-resistant verification of firmware with a trusted platform module | |
US8312258B2 (en) | Providing platform independent memory logic | |
JP5607863B2 (ja) | セキュア・リカバリ装置及び方法 | |
US8156317B2 (en) | Integrated circuit with secure boot from a debug access port and method therefor | |
CN101221509B (zh) | 可信嵌入式系统总线仲裁启动方法 | |
CN109670319A (zh) | 一种服务器flash安全管理方法及其系统 | |
KR100872175B1 (ko) | Tpm을 이용한 모바일 플랫폼의 보안 부팅 장치 및 방법 | |
CN111694760B (zh) | 服务器系统、快闪存储器模块及更新固件映像文件的方法 | |
CN110069363B (zh) | 更新多处理器装置引导加载程序的方法、存储介质及装置 | |
CN112363867B (zh) | 一种双bios切换系统 | |
CN111723376A (zh) | 一种板内可信平台的监测和控制方法、电路和装置 | |
CN113282969B (zh) | 设备控制方法、电子设备及可读存储介质 | |
CN116467721B (zh) | Cpld的校验方法、装置、服务器启动方法及服务器 | |
CN114138587A (zh) | 服务器电源固件升级的可靠性验证方法、装置和设备 | |
CN113806811A (zh) | 一种被篡改固件自动恢复方法、装置及存储介质 | |
CN112433580A (zh) | 风扇控制方法、装置、计算机设备及存储介质 | |
CN206649517U (zh) | 服务器可信平台度量控制系统及包括该系统的服务器 | |
CN113626792B (zh) | PCIe Switch固件安全执行方法、装置、终端及存储介质 | |
US9424937B2 (en) | Method for programming a flash memory | |
CN111797442B (zh) | 安全装置及方法 | |
US10606329B2 (en) | Safety circuit for an electrical system | |
CN116466968B (zh) | 一种主板闪存的访问方法及装置、固件烧录方法及装置 | |
CN116628701B (zh) | Tpcm在位检测方法、装置、服务器启动方法及服务器 | |
CN115795490B (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 |