CN113626792B - PCIe Switch固件安全执行方法、装置、终端及存储介质 - Google Patents

PCIe Switch固件安全执行方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN113626792B
CN113626792B CN202110778028.8A CN202110778028A CN113626792B CN 113626792 B CN113626792 B CN 113626792B CN 202110778028 A CN202110778028 A CN 202110778028A CN 113626792 B CN113626792 B CN 113626792B
Authority
CN
China
Prior art keywords
firmware
redundancy check
pcie switch
executed
key
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
Application number
CN202110778028.8A
Other languages
English (en)
Other versions
CN113626792A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202110778028.8A priority Critical patent/CN113626792B/zh
Publication of CN113626792A publication Critical patent/CN113626792A/zh
Application granted granted Critical
Publication of CN113626792B publication Critical patent/CN113626792B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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/602Providing cryptographic facilities or services
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (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)
  • Stored Programmes (AREA)

Abstract

本发明的技术方案提供一种PCIe Switch固件安全执行方法、装置、终端及存储介质,首先PCIe Switch上电;之后对待执行固件进行冗余校验计算,获得冗余校验码;其中,待执行固件为待启动固件和待升级固件中的任意一种;再将所获得冗余校验码与预存在待执行固件内的冗余校验码进行比对,若两者一致,则继续下一步,若两者不一致,则阻止固件执行;最后将待执行固件中存储的密钥与预存密钥进行比对,若两者一致,则允许固件执行,若两者不一致,则阻止固件执行。本发明可有效阻止恶意固件的攻击,避免恶意固件对主机和设备的数据篡改,有效保护***的安全性。

Description

PCIe Switch固件安全执行方法、装置、终端及存储介质
技术领域
本发明涉及PCIe Switch固件执行领域,具体涉及一种PCIe Switch固件安全执行方法、装置、终端及存储介质。
背景技术
随着现代处理器技术的发展,PCIe总线作为一种标准的高速总线,具有高速性、可靠性、高带宽、自动配置等特点,在服务器领域得到了广泛应用。
同时随着服务器***中PCIe设备的增多,服务器开发人员面临CPU PCIe总线数量不足的问题,为了解决该问题,开发人员越来越多的将PCIe Switch(可以对PCIe数量进行扩展的芯片)加入到服务器***中,实现PCIe数量的扩展。PCIe Switch上行连接CPU,下行连接PCIe设备,一旦PCIe Switch的固件被篡改或者攻击,就会对整个服务器***的安全带来不可估量的威胁。
而现有技术方案PCIe Switch的启动和升级并没有安全机制,使***容易受到恶意固件的攻击,且无法阻止恶意固件对PCIe主机、PCIe设备的数据篡改;在固件升级过程中,无法对用户固件进行校验认证,从而对固件安全带来隐患。
发明内容
为解决上述问题,本发明提供一种PCIe Switch固件安全执行方法、装置、终端及存储介质,设置安全执行机制,在固件启动和升级时进行安全验证,消除恶意固件对***的攻击,提高固件执行的安全性。
第一方面,本发明的技术方案提供一种PCIe Switch固件安全执行方法,包括以下步骤:
S1,PCIe Switch上电;
S2,对待执行固件进行冗余校验计算,获得冗余校验码;其中,待执行固件为待启动固件和待升级固件中的任意一种;
S3,将所获得冗余校验码与预存在待执行固件内的冗余校验码进行比对,若两者一致,则继续下一步,若两者不一致,则阻止固件执行;
S4,将待执行固件中存储的密钥与预存密钥进行比对,若两者一致,则允许固件执行,若两者不一致,则阻止固件执行。
进一步地,在步骤S1中PCIe Switch上电之后,还包括以下步骤:
配置执行环境;
若所配置执行环境为启动安全执行模式,则继续执行步骤S2-S4;
若所配置执行环境为关闭安全执行模式,则直接对固件进行执行。
进一步地,配置执行环境具体为:
烧录寄存器的环境配置位。
进一步地,寄存器的环境配置位包括:Debug模式位、安全执行模式位、安全执行模式撤销功能位;
配置执行环境为启动安全执行模式,具体为:配置Debug模式禁用、安全执行模式启动和安全执行模式撤销功能永久禁用;
配置执行环境为关闭安全执行模式,具体为:配置Debug模式使能、安全执行模式关闭和安全执行模式撤销功能开启。
进一步地,寄存器内还设置有读写模式位和安全密钥位;
烧录寄存器的环境配置位为启动安全执行模式后,还执行以下步骤:
配置寄存器的读写模式位为读写模式;
将预存密钥烧录到寄存器的安全密钥位;
预存密钥烧录完成后,配置寄存器的读写模式位为只读模式。
进一步地,预存密钥烧录完成后,还执行以下步骤:
控制PCIe Switch上的烧录指示灯关闭。
进一步地,PCIe Switch上配置有TWI地址配置管脚和固件恢复管脚;
在步骤S1中PCIe Switch上电之后,还包括以下步骤:
通过PCIe Switch的TWI地址配置管脚确定TWI地址;
当待执行固件为待升级固件时,在升级过程执行完成后,还执行以下步骤:
S5,重启PCIe Switch;
S6,若PCIe Switch正常启动,则固件升级成功;若PCIe Switch未正常启动,则进入下一步;
S7,基于TWI地址,通过PCIe Switch的固件恢复管脚向固件内输入备用密钥;
S8,将备用密钥与预存密钥进行比对,若两者一致,则通过PCIe Switch的固件恢复管脚向PCIe Switch传输正确的待升级固件,并返回步骤S2;若两者不一致,则固件升级失败。
第二方面,本发明的技术方案提供一种PCIe Switch固件安全执行装置,包括,
冗余校验计算模块:对待执行固件进行冗余校验计算,获得冗余校验码;
校验码比对模块:将所获得冗余校验码与预存在待执行固件内的冗余校验码进行比对;
密钥比对模块:将待执行固件中存储的密钥与预存密钥进行比对。
第三方面,本发明的技术方案提供一种终端,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行上述任一项所述的方法。
第四方面,本发明的技术方案提供一种存储有计算机程序的计算机可读存储介质,该程序被处理器执行时实现如上述任一项所述的方法。
本发明提供的一种PCIe Switch固件安全执行方法、装置、终端及存储介质,相对于现有技术,具有以下有益效果:在固件执行时加入安全机制,包括对固件的冗余校验和密钥验证,检验通过的固件才可运行正常执行,否则不运行执行,可有效阻止恶意固件的攻击,避免恶意固件对主机和设备的数据篡改,有效保护***的安全性。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种PCIe Switch固件安全执行方法流程示意图;
图2是本发明实施例二提供的一种PCIe Switch固件安全执行方法流程示意图;
图3是本发明实施例二配置安全执行模式下PCIe Switch固件安全执行方法流程示意图;
图4a~图4b是本发明实施例三提供的一种PCIe Switch固件安全执行方法安全执行模式下的固件升级过程方法流程示意图;
图5a~图5b是本发明实施例三的一具体实施方式固件升级执行过程方法流程示意图;
图6是本发明实施例四提供的一种PCIe Switch固件安全执行装置结构示意框图;
图7为本发明实施例五提供的一种终端的结构示意图。
具体实施方式
本发明的核心是提供一种PCIe Switch固件安全执行方法、装置、终端及存储介质,在固件执行时加入安全机制,对待执行固件进行冗余校验和密钥验证,对验证不通过的固件阻止执行,有效阻止恶意固件的攻击,提高***安全性。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
随着现代处理器技术的发展,PCIe总线作为一种标准的高速总线,具有高速性、可靠性、高带宽、自动配置等特点,在服务器领域得到了广泛应用。同时随着服务器***中PCIe设备的增多,服务器开发人员面临CPU PCIe总线数量不足的问题,为了解决该问题,开发人员越来越多的将PCIe Switch加入到服务器***中,实现PCIe数量的扩展。PCIeSwitch上行连接CPU,下行连接PCIe设备,一旦PCIe Switch的固件被篡改或者攻击,就会对整个服务器***的安全带来不可估量的威胁。
而现有技术方案PCIe Switch的启动和升级并没有安全机制,使***容易受到恶意固件的攻击,且无法阻止恶意固件对PCIe主机、PCIe设备的数据篡改;在固件升级过程中,无法对用户固件进行校验认证,从而对固件安全带来隐患。
因此,本发明提供一种PCIe Switch固件安全执行方法,在固件执行时加入安全机制,对待执行固件进行冗余校验和密钥验证,对验证不通过的固件阻止执行,有效阻止恶意固件的攻击,提高***安全性。
如图1所示,本实施例提供的一种PCIe Switch固件安全执行方法,包括以下步骤。
S1,PCIe Switch上电。
S2,对待执行固件进行冗余校验计算,获得冗余校验码;其中,待执行固件为待启动固件和待升级固件中的任意一种。
本方法适用于固件启动和固件升级过程,在固件启动和升级过程中均可执行本方法,阻止固件启动和升级时恶意固件的工具。
其中冗余校验可采用CRC32校验算法,获得CRC32校验码。
S3,将所获得冗余校验码与预存在待执行固件内的冗余校验码进行比对,若两者一致,则继续下一步,若两者不一致,则阻止固件执行。
待执行固件内预存有冗余校验码,本实施例在固件执行前对其冗余校验,所获得的冗余校验码与待执行固件内预存的冗余校验码比对,若两者一致,说明待执行固件数据完整正确,可继续执行;否则,说明待执行固件数据不完整正确,不可继续执行,避免恶意软件对固件的篡改。
S4,将待执行固件中存储的密钥与预存密钥进行比对,若两者一致,则允许固件执行,若两者不一致,则阻止固件执行。
经冗余校验后,本实施例还进一步进行密钥验证,进行双重安全校验,提高***安全性。对于密钥正确的待执行固件允许执行,后续可正常进行启动或升级,否则阻止执行,避免恶意固件的攻击。
本实施例提供的PCIe Switch固件安全执行方法,在固件执行时加入安全机制,包括对固件的冗余校验和密钥验证,检验通过的固件才可运行正常执行,否则不运行执行,可有效阻止恶意固件的攻击,避免恶意固件对主机和设备的数据篡改,有效保护***的安全性。
本方法适用于固件启动和固件升级过程,对于固件启动过程,其执行步骤如下:
S101,PCIe Switch上电;
S102,对待启动固件进行冗余校验计算,获得冗余校验码;
S103,将所获得冗余校验码与预存在待启动固件内的冗余校验码进行比对,若两者一致,则继续下一步,若两者不一致,则阻止固件启动;
S104,将待启动固件中存储的密钥与预存密钥进行比对,若两者一致,则允许固件启动,若两者不一致,则阻止固件启动。
对于固件升级过程,其执行步骤如下:
S101,PCIe Switch上电;
S102,对待升级固件进行冗余校验计算,获得冗余校验码;
S103,将所获得冗余校验码与预存在待升级固件内的冗余校验码进行比对,若两者一致,则继续下一步,若两者不一致,则阻止固件升级;
S104,将待升级固件中存储的密钥与预存密钥进行比对,若两者一致,则允许固件启动,若两者不一致,则阻止固件启动。
实施例二
考虑到在某些运行场景下,操作人员可确保固件的安全性,为提高执行效率,本实施例提供的一种PCIe Switch固件安全执行方法,在PCIe Switch上电之后,首先配置执行环境,供选择启动或关闭安全执行模式。启动安全启动模式时,以安全启动机制执行,关闭安全启动模式时,则直接对固件进行执行。
如图2所示,本实施例提供的PCIe Switch固件安全执行方法,具体包括以下步骤:
S1,PCIe Switch上电;
S2,配置执行环境;若所配置执行环境为启动安全执行模式,则进入步骤S3;若所配置执行环境为关闭安全执行模式,则直接对固件进行执行;
即,若关闭安全执行模式,则直接进行固件启动或升级,不再进行安全验证;
S3,对待执行固件进行冗余校验计算,获得冗余校验码;其中,待执行固件为待启动固件和待升级固件中的任意一种;
S4,将所获得冗余校验码与预存在待执行固件内的冗余校验码进行比对,若两者一致,则继续下一步,若两者不一致,则阻止固件执行;
S5,将待执行固件中存储的密钥与预存密钥进行比对,若两者一致,则允许固件执行,若两者不一致,则阻止固件执行。
本实施例提供的PCIe Switch固件安全执行方法,在固件执行时可加入安全机制,包括对固件的冗余校验和密钥验证,同时允许操作人员根据需要选择是否开启加入安全机制,对于确保固件安全且要求快速执行的场景,可选择关闭加入安全机制,直接进行固件执行。对于加入安全机制的场景,对检验通过的固件才可运行正常执行,否则不运行执行,可有效阻止恶意固件的攻击,避免恶意固件对主机和设备的数据篡改,有效保护***的安全性。
具体实施时,可通过烧录寄存器的环境配置位的方式配置执行环境。
具体地,寄存器的环境配置位包括:Debug模式位、安全执行模式位、安全执行模式撤销功能位。
其中,Debug模式位可设置Debug模式为使能或禁用,安全执行模式位可设置安全执行模式启动或关闭,安全执行模式撤销功能位可设置安全执行模式撤销功能永久禁用或开启。需要说明的是,对Debug模式的禁用可阻止通过Debug接口对***的攻击。
对于配置执行环境为启动安全执行模式,具体为:配置Debug模式禁用、安全执行模式启动和安全执行模式撤销功能永久禁用。
对于配置执行环境为关闭安全执行模式,具体为:配置Debug模式使能、安全执行模式关闭和安全执行模式撤销功能开启。
另外,本实施例在进行密钥验证时,需要将待执行固件内的密钥与预存的密钥进行比对,基于寄存器的特征,本实施例可将预存密钥存储在寄存器内。相应地,在寄存器内设置安全密钥位,将预存密钥烧录到安全密钥位,同时在寄存器内设置读写模式位,供密钥的烧录和读取。
具体地,在步骤S2烧录寄存器的环境配置位为启动安全执行模式后,还配置读写模式位和安全密钥位,进行预测密钥的存储。
以下以配置安全执行模式的执行过程对本实施例提供的PCIe Switch固件安全执行方法进一步说明,如图3所示为配置安全执行模式的方法步骤。
S1,PCIe Switch上电。
S2,烧录寄存器的环境配置位,包括配置Debug模式禁用、安全执行模式启动和安全执行模式撤销功能永久禁用。
S3,配置寄存器的读写模式位为读写模式。
S4,将预存密钥烧录到寄存器的安全密钥位。
S5,预存密钥烧录完成后,配置寄存器的读写模式位为只读模式。
本实施例在PCIe Switch上还设置烧录指示灯,寄存器烧录前,该指示灯亮,寄存器烧录完成后,控制该指示灯灭,以供操作人员及时查看烧录情况。另外,烧录完成后为只读模式,避免对预存密钥的篡改。
S6,对待执行固件进行冗余校验计算,获得冗余校验码;其中,待执行固件为待启动固件和待升级固件中的任意一种。
S7,将所获得冗余校验码与预存在待执行固件内的冗余校验码进行比对,若两者一致,则继续下一步,若两者不一致,则阻止固件执行。
S8,将待执行固件中存储的密钥与预存密钥进行比对,若两者一致,则允许固件执行,若两者不一致,则阻止固件执行。
实施例三
在固件启动或升级执行时,可能会遇到不能正常启动和升级的极端情况,为应对这种情况,本实施例提供的一种PCIe Switch固件安全执行方法,在固件执行失败后再次输入密钥,对固件重新进行升级。
为实现应对固件执行失败的情况,本实施例在PCIe Switch上配置有TWI(Two-Wire Interface,双线接口)地址配置管脚和固件恢复管脚。在PCIe Switch上电后,确定TWI地址,若出现固件执行失败的情况,则基于TWI地址,通过固件恢复管脚输入备用密钥和正确的待执行固件重新执行。需要说明的是,对于固件升级过程,重新执行即重新升级;对于固件启动过程出现故障,重新执行同样是需要对固件进行升级,升级后再启动。
如图4a和图4b所示为本实施例提供的PCIe Switch固件安全执行方法安全执行模式下的固件升级过程方法流程示意图,包括以下步骤。
S1,PCIe Switch上电。
S2,通过PCIe Switch的TWI地址配置管脚确定TWI地址。
S3,烧录寄存器的环境配置位,包括配置Debug模式禁用、安全执行模式启动和安全执行模式撤销功能永久禁用。
S4,配置寄存器的读写模式位为读写模式。
S5,将预存密钥烧录到寄存器的安全密钥位。
S6,预存密钥烧录完成后,配置寄存器的读写模式位为只读模式。
S7,对待升级固件进行冗余校验计算,获得冗余校验码。
S8,将所获得冗余校验码与预存在待升级固件内的冗余校验码进行比对,若两者一致,则继续下一步,若两者不一致,则阻止固件升级。
S9,将待升级固件中存储的密钥与预存密钥进行比对,若两者一致,则允许固件升级,若两者不一致,则阻止固件升级。
S10,固件升级完成后,重启PCIe Switch。
S11,若PCIe Switch正常启动,则固件升级成功;若PCIe Switch未正常启动,则进入下一步。
S12,基于TWI地址,通过PCIe Switch的固件恢复管脚向固件内输入备用密钥。
S13,将备用密钥与预存密钥进行比对,若两者一致,则通过PCIe Switch的固件恢复管脚向PCIe Switch传输正确的待升级固件,并返回步骤S7;若两者不一致,则固件升级失败。
为对本发明进一步说明,以下基于本实施例,结合本发明原理提供一具体实施例。
该具体实施例包括PCIe Switch管脚的设计、寄存器的设计和固件格式的设计等。
(一)PCIe Switch管脚设计
1、设计2个管脚bootstrap 12、bootstrap 13用于TWI 地址配置,用户通过配置这2个PIN的高低电平,可以将PCIe Switch的TWI地址配置成自己需要的地址。
2、设计TWI_SCL_RECOVERY、TWI_SDA_RECOVERY管脚,用于在遇到致命性问题时固件恢复。
3、设计VQPS_OTP_SNS管脚,用于指示寄存器是否完成了烧录。使用该管脚控制一个指示灯,当指示灯亮时,表示寄存器尚未烧录;当指示灯灭时,表示一次性可编程寄存器完成烧录。
(二)寄存器的设计
1、设计Debug Mode 位,该位设置为0,Debug模式使能,PCIe Switch的EJTAG接口正常使用;该位设置为1,Debug模式禁用,PCIe Switch的EJTAG接口禁用。
2、设计Security State位,该位设置为0,安全执行模式禁用;该位设置为1,安全执行模式使能。
3、设计Main FW Security Version Control Region位,该位设置为0,PCIeSwitch安全执行模式可以撤销,该位设置为1,PCIe Switch安全执行模式撤销功能永久禁用。
4、设计OTP Settings位,该位设置为0,寄存器进入允许读写模式;该位设置为1,寄存器进入只读模式。
5、设计安全秘钥位,可以保存4个安全秘钥,每个安全秘钥由10bit构成。用户最多可以撤销3次安全秘钥,工作机制为:如果一个新的秘钥被烧录进OTP中,那么PCIe Switch会将该秘钥与上一个秘钥进行对比,如果不同,则上一个秘钥会自动失效。
(三)固件格式的设计
固件中设计秘钥清单区域,秘钥清单区域中存放了该固件秘钥,在固件执行过程中,该秘钥与存储在寄存器中的秘钥进行验证,验证通过后方能执行。秘钥清单区域还存放了该固件的冗余校验码,PCIe Switch固件执行时,会对执行的固件进行冗余校验计算,计算所得冗余校验码与存储在该固件秘钥清单区域的冗余校验码进行对比,如果一致,固件执行才会继续。
如图5a和图5b所示为该具体实施方式固件升级执行过程方法流程示意图,包括以下步骤。
S1,PCIe Switch上电。
S2,通过PCIe Switch的bootstrap 12、bootstrap 13管脚确定TWI地址。
S3,烧录寄存器的环境配置位,包括配置Debug Mode 位为1、Security State位为1和Main FW Security Version Control Region位为1,实现Debug模式禁用、安全执行模式启动和安全执行模式撤销功能永久禁用。
S4,配置寄存器的OTP Settings位为0,进入读写模式。
S5,将预存密钥烧录到寄存器的安全密钥位。
S6,预存密钥烧录完成后,配置寄存器的OTP Settings位为1,进入只读模式。
S7,对待升级固件进行冗余校验计算,获得冗余校验码。
S8,将所获得冗余校验码与预存在待升级固件内的冗余校验码进行比对,若两者一致,则继续下一步,若两者不一致,则阻止固件升级。
S9,将待升级固件中存储的密钥与预存密钥进行比对,若两者一致,则允许固件升级,若两者不一致,则阻止固件升级。
S10,固件升级完成后,重启PCIe Switch。
S11,若PCIe Switch正常启动,则固件升级成功;若PCIe Switch未正常启动,则进入下一步。
S12,基于TWI地址,通过TWI_SCL_RECOVERY、TWI_SDA_RECOVERY管脚向固件内输入备用密钥。
S13,将备用密钥与预存密钥进行比对,若两者一致,则通过PCIe Switch的TWI_SCL_RECOVERY、TWI_SDA_RECOVERY管脚向PCIe Switch传输正确的待升级固件,并返回步骤S7;若两者不一致,则固件升级失败。
实施例四
本实施例提供一种PCIe Switch固件安全执行装置,用于实现前述的PCIe Switch固件安全执行方法。
如图6所示为本实施例所提供PCIe Switch固件安全执行装置的结构示意框图,包括以下功能模块。
冗余校验计算模块101:对待执行固件进行冗余校验计算,获得冗余校验码;
校验码比对模块102:将所获得冗余校验码与预存在待执行固件内的冗余校验码进行比对;
密钥比对模块103:将待执行固件中存储的密钥与预存密钥进行比对。
本实施例的PCIe Switch固件安全执行装置用于实现前述的PCIe Switch固件安全执行方法,因此该装置中的具体实施方式可见前文中的PCIe Switch固件安全执行方法的实施例部分,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
另外,由于本实施例的PCIe Switch固件安全执行装置用于实现前述的PCIeSwitch固件安全执行方法,因此其作用与上述方法的作用相对应,这里不再赘述。
实施例五
图7为本发明实施例提供的一种终端装置300的结构示意图,该终端装置300可以用于执行本发明实施例提供的PCIe Switch固件安全执行方法。
其中,该终端装置300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。
处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC) 组成,例如可以由单颗封装的IC 所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
实施例六
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。

Claims (9)

1.一种PCIe Switch固件安全执行方法,其特征在于,包括以下步骤:
S1,PCIe Switch上电;
S2,对待执行固件进行冗余校验计算,获得冗余校验码;其中,待执行固件为待启动固件和待升级固件中的任意一种;
S3,将所获得冗余校验码与预存在待执行固件内的冗余校验码进行比对,若两者一致,则继续下一步,若两者不一致,则阻止固件执行;
S4,将待执行固件中存储的密钥与预存密钥进行比对,若两者一致,则允许固件执行,若两者不一致,则阻止固件执行;
PCIe Switch上配置有TWI地址配置管脚和固件恢复管脚;
在步骤S1中PCIe Switch上电之后,还包括以下步骤:
通过PCIe Switch的TWI地址配置管脚确定TWI地址;
当待执行固件为待升级固件时,在升级过程执行完成后,还执行以下步骤:
S5,重启PCIe Switch;
S6,若PCIe Switch正常启动,则固件升级成功;若PCIe Switch未正常启动,则进入下一步;
S7,基于TWI地址,通过PCIe Switch的固件恢复管脚向固件内输入备用密钥;
S8,将备用密钥与预存密钥进行比对,若两者一致,则通过PCIe Switch的固件恢复管脚向PCIe Switch传输正确的待升级固件,并返回步骤S2;若两者不一致,则固件升级失败。
2.根据权利要求1所述的PCIe Switch固件安全执行方法,其特征在于,在步骤S1中PCIe Switch上电之后,还包括以下步骤:
配置执行环境;
若所配置执行环境为启动安全执行模式,则继续执行步骤S2-S4;
若所配置执行环境为关闭安全执行模式,则直接对固件进行执行。
3.根据权利要求2所述的PCIe Switch固件安全执行方法,其特征在于,配置执行环境具体为:
烧录寄存器的环境配置位。
4.根据权利要求3所述的PCIe Switch固件安全执行方法,其特征在于,寄存器的环境配置位包括:Debug模式位、安全执行模式位、安全执行模式撤销功能位;
配置执行环境为启动安全执行模式,具体为:配置Debug模式禁用、安全执行模式启动和安全执行模式撤销功能永久禁用;
配置执行环境为关闭安全执行模式,具体为:配置Debug模式使能、安全执行模式关闭和安全执行模式撤销功能开启。
5.根据权利要求4所述的PCIe Switch固件安全执行方法,其特征在于,寄存器内还设置有读写模式位和安全密钥位;
烧录寄存器的环境配置位为启动安全执行模式后,还执行以下步骤:
配置寄存器的读写模式位为读写模式;
将预存密钥烧录到寄存器的安全密钥位;
预存密钥烧录完成后,配置寄存器的读写模式位为只读模式。
6.根据权利要求5所述的PCIe Switch固件安全执行方法,其特征在于,寄存器烧录完成后,还执行以下步骤:
控制PCIe Switch上的烧录指示灯关闭。
7.一种PCIe Switch固件安全执行装置,其特征在于,包括,
冗余校验计算模块:对待执行固件进行冗余校验计算,获得冗余校验码;
校验码比对模块:将所获得冗余校验码与预存在待执行固件内的冗余校验码进行比对;
密钥比对模块:将待执行固件中存储的密钥与预存密钥进行比对;
PCIe Switch上电,触发执行冗余校验计算模块对待执行固件进行冗余校验计算,获得冗余校验码,触发执行校验码比对模块将所获得冗余校验码与预存在待执行固件内的冗余校验码进行比对,若两者不一致,则阻止固件执行,若两者一致,则触发执行密钥比对模块将待执行固件中存储的密钥与预存密钥进行比对,若两者一致,则允许固件执行,若两者不一致,则阻止固件执行;
其中,待执行固件为待启动固件和待升级固件中的任意一种;
PCIe Switch上配置有TWI地址配置管脚和固件恢复管脚,PCIe Switch上电之后,通过PCIe Switch的TWI地址配置管脚确定TWI地址;
当待执行固件为待升级固件时,在升级过程执行完成后,该装置还用于实现以下步骤:
步骤1,重启PCIe Switch;
步骤2,若PCIe Switch正常启动,则固件升级成功;若PCIe Switch未正常启动,则进入下一步;
步骤3,基于TWI地址,通过PCIe Switch的固件恢复管脚向固件内输入备用密钥;
步骤4,将备用密钥与预存密钥进行比对,若两者一致,则通过PCIe Switch的固件恢复管脚向PCIe Switch传输正确的待升级固件,并重新触发执行冗余校验计算模块;若两者不一致,则固件升级失败。
8.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行所述指令实现权利要求1-6任一项所述的方法。
9.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
CN202110778028.8A 2021-07-09 2021-07-09 PCIe Switch固件安全执行方法、装置、终端及存储介质 Active CN113626792B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110778028.8A CN113626792B (zh) 2021-07-09 2021-07-09 PCIe Switch固件安全执行方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110778028.8A CN113626792B (zh) 2021-07-09 2021-07-09 PCIe Switch固件安全执行方法、装置、终端及存储介质

Publications (2)

Publication Number Publication Date
CN113626792A CN113626792A (zh) 2021-11-09
CN113626792B true CN113626792B (zh) 2023-07-14

Family

ID=78379394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110778028.8A Active CN113626792B (zh) 2021-07-09 2021-07-09 PCIe Switch固件安全执行方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN113626792B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114928551B (zh) * 2022-04-30 2024-03-12 苏州浪潮智能科技有限公司 一种***配置方法、装置和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455354A (zh) * 2013-09-06 2013-12-18 南京南自信息技术有限公司 一种防止固件升级失败的方法和设备
CN109214168A (zh) * 2018-08-27 2019-01-15 阿里巴巴集团控股有限公司 固件升级方法及装置
CN111258667A (zh) * 2020-02-05 2020-06-09 苏州浪潮智能科技有限公司 一种服务器的自适应配置方法、装置、设备及存储介质
CN112925679A (zh) * 2021-03-16 2021-06-08 南昌欧菲光电技术有限公司 固件升级方法、非易失性存储器、计算机存储介质及终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455354A (zh) * 2013-09-06 2013-12-18 南京南自信息技术有限公司 一种防止固件升级失败的方法和设备
CN109214168A (zh) * 2018-08-27 2019-01-15 阿里巴巴集团控股有限公司 固件升级方法及装置
CN111832013A (zh) * 2018-08-27 2020-10-27 创新先进技术有限公司 固件升级方法及装置
CN111258667A (zh) * 2020-02-05 2020-06-09 苏州浪潮智能科技有限公司 一种服务器的自适应配置方法、装置、设备及存储介质
CN112925679A (zh) * 2021-03-16 2021-06-08 南昌欧菲光电技术有限公司 固件升级方法、非易失性存储器、计算机存储介质及终端

Also Published As

Publication number Publication date
CN113626792A (zh) 2021-11-09

Similar Documents

Publication Publication Date Title
CN109542518B (zh) 芯片和启动芯片的方法
CN109446815B (zh) 基本输入输出***固件的管理方法、装置和服务器
EP3522059B1 (en) Perform security action based on inventory comparison
US20140250290A1 (en) Method for Software Anti-Rollback Recovery
CN102063591B (zh) 基于可信平台的平台配置寄存器参考值的更新方法
WO2021052191A1 (zh) 一种计算机的启动方法和控制器、存储介质以及***
CN104951701B (zh) 一种基于usb控制器的终端设备操作***引导的方法
CN101221509B (zh) 可信嵌入式***总线仲裁启动方法
CN105718277B (zh) 一种bios更新的保护方法、装置和***
CN111694760B (zh) 服务器***、快闪存储器模块及更新固件映像文件的方法
CN113168474A (zh) 固件的安全验证
CN109583212B (zh) 一种基于Intel Whitley平台的固件文件保护方法与***
CN111625295A (zh) 一种嵌入式***启动方法、装置、设备及存储介质
CN111625263A (zh) 一种服务器部件固件更新方法
CN113626792B (zh) PCIe Switch固件安全执行方法、装置、终端及存储介质
CN115329321A (zh) 一种固件的启动方法、芯片及计算设备
CN113127879A (zh) 一种固件可信启动方法、电子设备及可读存储介质
CN109375953B (zh) 一种操作***启动方法及装置
US7302562B1 (en) Transmitting configuration data to a target programmable device after updating an intermediate programmable device
CN114003915A (zh) 基于芯片的安全启动方法及装置
CN117130672A (zh) 服务器启动流程控制方法、***、终端及存储介质
CN114008617A (zh) 固件防回滚
CN115827522A (zh) Bios的设置方法、bios芯片和电子设备
CN115688120A (zh) 安全芯片固件导入方法、安全芯片及计算机可读存储介质
CN114579971A (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