CN106682518A - 用于确保管理控制器固件安全的方法及计算机装置 - Google Patents
用于确保管理控制器固件安全的方法及计算机装置 Download PDFInfo
- Publication number
- CN106682518A CN106682518A CN201610080270.7A CN201610080270A CN106682518A CN 106682518 A CN106682518 A CN 106682518A CN 201610080270 A CN201610080270 A CN 201610080270A CN 106682518 A CN106682518 A CN 106682518A
- Authority
- CN
- China
- Prior art keywords
- identity data
- firmware
- management controller
- computer installation
- management
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- 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/602—Providing cryptographic facilities or services
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
用于确保管理控制器固件安全的方法及计算机装置。本发明公开一种藉由计算机装置的安全管理器用于确保管理控制器固件安全的方法,其包含:存储公用密钥及原始身份数据,并从用于计算机装置的管理控制器的管理固件取得加密的身份数据。安全管理器以公用密钥来解密加密的身份数据为解密的身份数据,并比较解密的身份数据与原始身份数据,以确定管理固件是否为受信任的。响应于判定管理固件是不受信任的,安全管理器得以保护计算机装置免于管理固件的损害。
Description
技术领域
本申请案涉及一种计算机系统,且更具体而言涉及一种用于确认管理控制器固件安全的系统及方法。
背景技术
典型地,管理控制器诸如基板管理控制器(BMC)位于每台计算机装置上。BMC包括管理系统管理软件与平台硬件之间的接口的微控制器。BMC监测建于装置内的不同类型传感器的参数,像是温度、冷却风扇的速度、电力状态、负载状态、操作系统状态等。BMC的运行独立于计算机装置的处理器,且因此在处理器、存储器或任何其他硬件错误的任何状态下,BMC仍应继续提供服务。
固件是一种软件,其对于所安装的装置提供控制、监控以及数据操作。如嵌入式系统的程序的固件可为将在系统上运行的唯一程序,且提供其所有功能。固件保持在非易失性存储器(non-volatile memory)装置中,像是ROM、EPROM、或快闪存储器。大部分固件可被更新或替代。更新固件的常见原因包括修复错误或添加功能至装置。此可能需要ROM集成电路以物理性地替换,或可能需要快闪存储器通过特定程序来重新编程。
用于计算机装置的BMC的固件控制所述BMC的所有功能。然而,BMC的固件可能会受到损害。恶意固件可以通过固件的更新或其他方法而载入BMC。如果未立即发现和制止,恶意固件控制BMC可能会导致对计算机装置的严重硬件和/或数据损坏。
发明内容
以下呈现一或多个实施例的简单概述,以提供本技术的基本理解。此概述并非为本技术的所有预期实施例的详尽的概述,且其亦非旨在标识全部实施例的关键或重要元素或描绘本技术的任何及所有肽样的范围。其唯一目的为以简化形式呈现一或多个示例的部分概念,作为稍后呈现的更详细说明的序言。
在一些实施例中,藉由计算机装置的安全管理器用于确保管理控制器固件安全的方法包含:存储公用密钥及原始身份数据,并从用于计算机装置的管理控制器的管理固件取得加密的身份数据。安全管理器以公用密钥来解密加密的身份数据为解密的身份数据,并比较解密的身份数据与原始身份数据,以确定管理固件是否为受信任的。响应于判定管理固件是不受信任的,安全管理器得以保护计算机装置免于管理固件的损害。
在一些实施例中,藉由计算机装置的生产者用于确保管理控制器固件安全的方法包含:产生一对安全密钥包括公用密钥及私用密钥,且使用私用密钥加密原始身份数据为一加密身份数据。生产者嵌入加密的身份数据于用于计算机装置的管理控制器的管理固件中,且嵌入公用密钥及原始身份数据于计算机装置的安全管理器,该安全管理器配置以:自管理固件取得加密的身份数据;以公用密钥解密此加密的身份数据为解密的身份数据;比较解密的身份数据与原始身份数据,以判定管理固件是否为受信任的;并响应于判定该管理固件是不受信任的,而保护计算机装置免于管理固件的损害。
在一些实施例中,计算机装置包括运行管理固件以存储加密的身份数据的管理控制器以及存储公用密钥及原始身份数据的安全管理器。安全管理器配置以自用于计算机装置的管理控制器的管理固件取得加密的身份数据。安全管理器配置以用公用密钥来解密此加密的身份数据为解密的身份数据。安全管理器配置以用原始身份数据比较解密的身份数据,以判定管理固件是否为受信任的。响应于判定管理固件是不受信任的,安全管理器进一步配置以保护计算机装置免于管理固件的损害。
附图说明
本技术的这些及其他样本方面将在后续的实施方式及所附权利要求书以及在附图中进行说明,其中:
图1示出了用于确保管理控制器固件安全的示例系统的框图;
图2示出了用于确保管理控制器固件安全的示例方法的示意图;
图3示出了用于确保管理控制器固件安全的另一示例方法的示意图;
图4示出了例示计算机装置的框图。
【符号说明】
200、300:方法
210、220、230、240、250、255、260、270、310、320、330、340、350、360、370、385、390:步骤
100:计算机装置
110:原始身份数据
120:私用密钥
130:公用密钥
140:加密操作
150、480:管理控制器
160:安全管理器
170、152:身份数据
180:比较操作
142:解密操作
400:计算机系统
410:BIOS
420:存储器
430:存储器
440:处理器
450:网络接口
460:北桥
470:南桥
具体实施方式
本标的发明提供用于确保管理控制器固件安全的技术。本技术的各个方面将参照附图进行说明。在以下描述中,出于解释的目的,阐述了许多具体的细节,以提供一或多个方面的彻底理解。然而,显而易见的是,本技术可以在没有这些具体细节的情况下实施。在其他实例中,已知的结构及装置示为框图的形式,以便于描述此些方面。
本标的发明提供一种迅速发现在管理控制器(例如,BMC)上运行的恶意固件且防止恶意固件对计算机装置造成损害的方法。
图1示出了用于确保管理控制器固件安全的示例系统的框图。计算机装置100包括管理控制器150及安全管理器160。安全管理器160藉由使用下述的加密及解密验证过程来确定加载于管理控制器150上的管理固件是否为受信任的。
在一些方面中,安全管理器160包括基本输入/输出系统(BIOS)。在一些其他方面中,安全管理器160包括在计算机装置100的操作系统(OS)上运行的安全软件、运行在网络装置上通过网络与计算机装置100连线的安全软件、包括计算机装置100的服务器机柜(server rack)的机柜管理控制器(rack managementcontroller,RMC)、或用于计算机装置100的机箱管理控制器(chassis managementcontroller,CMC)的其中之一。
在一些方面中,管理控制器150包括基板管理控制器(BMC)150。在一些其他方面中,管理控制器150包括在计算机装置100中的各种其他控制器的任一。在一些方面中,管理控制器160包含BIOS,而安全管理器包含BMC 150、RMC、或CMC的至少之一。BMC 150包含管理介于系统管理软件及平台硬件之间的接口的微控制器。BMC 150监测建于计算机装置100中的不同类型传感器的参数,像是温度、冷却风扇的速度(亦即,在装置内部的风扇以及于计算机装置机柜102的风扇两者)、电力状态、负载状态、操作系统状态等。在一些实施例中,BMC 150与各种计算机装置组件连线,其中BMC 150使用智能平台管理接口(IPMI)协议来进行管理。IPMI为用以管理及监控计算机装置的CPU、固件、及OS的自主计算机系统(autonomous computer subsystem)的规格设定(set ofspecifications),且为频外管理并由系统管理员所监控。然而,各种实施例并不局限于此方面,且其他协议也可由BMC 150所使用。BMC 150也可使用任何总线接口来连接至各种计算机装置组件(例如,南桥或网络控制器),总线接口例如为系统管理总线(SMBus)、RS-232串行总线、IIC协议(IIC protocol)、以太(Ethernet)、IPMB、少针脚型接口(LPC)总线等。
管理固件加载于BMC 150上来控制BMC 150的所有功能。然而,如以上所指出的,BMC 150的管理固件可能会受到损害,使整个计算机装置100处于风险之中。例如,恶意管理固件可以通过固件更新或其他方法载入BMC 150。当恶意的管理固件控制BMC 150时,BMC 150可能会导致对于计算机装置的严重硬件和/或数据损坏。
为了解决这些问题,本公开设想在计算机装置100中实现一验证方案。特别是,为了允许之后验证加载于BMC 150上的管理固件的真实性(authenticity),加密的身份数据152存储在管理固件。加密的身份数据152可接着在允许BMC150执行其管理功能之前先由计算机装置100所验证。
在一些实施例中,加密的身份数据152从原始身份数据110及私用密钥120所产生。原始身份数据110可包括任何数据字符串。例如,原始身份数据可包括计算机装置生产者名称、产品名称、装置模块标识(device model identification)、客户名称、管理控制器硬件标识、日期和/或时间等等。原始身份数据110也可以包含文本数据(text data)和/或哈希数据(hash data)。哈希数据包括由文本字符串产生的数值的散列值(hash values)。散列值实质上比文本本身小,且依一些其他文本将极度不可能产生相同的散列值的这种方式藉由公式来产生。散列值帮助确保文件、讯息或数据不会被篡改。
私用密钥120是亦包括公用密钥130的一对安全密钥的其中之一。私用密钥120保密,但公用密钥130不需要保密。虽然不同,但此安全密钥对中的公用密钥130与私用密钥120以公用密钥算法(public-key algorithm)来数学上连接。公用密钥130用于验证数字签章。私用密钥120用于进行相反的操作以产生数字签章。例如,私用密钥120及公用密钥130的每一个可包含文本数据字符串。例如,公用密钥130可包含一长串十六进制数字,像是「3048024100C918FACF8D EB2D」。
下面是从公用密钥产生私用密钥的极度简化示例:
若「私用密钥120」=7
公用密钥130可藉由解出方程式而定:
(「私用密钥120」x「公用密钥130」)模数40=1
接着(7x「公用密钥130」)模数40=1
则「公用密钥130」=23
在一些方面中,公用密钥算法基于当前承认没有有效的解法且为特定整数分解(integer factorization)、离散对数(discrete logarithm)、及椭圆曲线的关系中固有的数学难题(mathematical problems)。然而,其在计算上易于生成公用密钥及私用密钥对,且使用以加密及解密。公用密钥算法的优势在于从其对应的公用密钥对于要被测定的适当产生私用密钥具有计算不可行性(computationalimpracticality)。因此,公用密钥可在不影响安全下公开。安全性只取决于保持私用密钥私密未公开。公用密钥算法不同于对称密钥算法,无须当事人之间的密钥的初步交换的安全通道。
原始身份数据110使用私用密钥120来加密(亦即,加密操作140)以产生加密的身份数据152。加密的身份数据152接着被存储和/或内置于管理控制器150的管理固件。在一些方面中,经加密的身份数据152可在制造管理控制器150期间被嵌入于管理控制器150的管理固件。
运行于BIOS 160的芯片上的BIOS软件程序位于计算机装置100的主板上。BIOS 160存储在计算机装置100首先电源开启时执行的固件,连同指定BIOS160的设定配置。BIOS固件及BIOS配置存储于非易失性存储器中,像是只读存储器(ROM)。
BIOS 160基于设定配置来识别、初始化并测试计算机装置100中存在的硬件。BIOS 160可以在计算机装置100上执行自测试,诸如开机自我检测(POST)。这种自测试可以测试各种硬件组件的功能性,像是硬式磁盘机、光学读取装置、冷却装置、存储器模块、扩充卡等。BIOS 160可寻址及分配系统内存存储器(system memory in)中的区域以存储操作系统(OS)。BIOS 160可接着对OS进行计算机系统的控制。
BIOS 160提供接口,允许设置各种不同的参数。例如,BIOS 160可用于指定时钟(clock)及总线速率(bus speeds),指定什么外围设备被连接到计算机装置100,指定监控健康(例如,风扇速度及CPU温度限制),且指定影响计算机装置100的整体性能及电源使用的各种其他参数。
公用密钥130被存储在BIOS 160中。另外,存储于BMC 150中用于加密加密的身份数据的原始身份数据110的相同副本亦存储于BIOS 160中。在一些方面中,公用密钥130及原始身份数据110可在制造BIOS 160期间嵌入BIOS160。
在操作中,BIOS 160藉由发送指令从BMC 150请求加密的身份数据152。该指令可使用在任何计算机装置管理规格和/或协议上,如IPMI、表征性状态传输(REST)等。举例而言,请求指令可在计算机开启期间传送或在加载OS之后传送。BMC 150接着传回加密身份数据152至BIOS 160。
在一些方面中,BMC 150及BIOS 160包括共享存储器,像是动态随机存取存储器(DRAM)、电可除编程只读存储器(EEPROM)、邮箱寄存器(mailboxregisters)等。BIOS 160藉由请求存储在BIOS 160及BMC 150的共享存储器上的加密的身份数据152,从BMC 150取得加密的身份数据152。
BIOS 160使用公用密钥130解密(亦即,解密操作142)经加密的身份数据152成解密的身份数据170。BIOS 160接着比较(亦即,比较操作180)解密的身份数据170与原始身份数据110。如果所解密的身份数据170不同于原始身份数据110,则BIOS 160判定运行在BMC 150上的管理固件为不受信任的。
回到上述用于生成一对安全密钥的极其简化的示例:
若「私用密钥120」=7
公用密钥130可藉由解出方程式而定:
(「私用密钥120」x「公用密钥130」)模数40=1
接着(7x「公用密钥130」)模数40=1
则「公用密钥130」=23
例示性原始身份数据110可使用加密方程式被加密为加密身份数据152:
「加密的身份数据152」=(「原始身份数据110」)(「私用密钥120」)模数55
如果「原始身份数据110」=2
则「加密的身份数据152」=27模数55=18
「加密的身份数据152」=18存储于BMC 150中。BIOS 160接着以方程式解密经加密的身份数据152:
「解密的身份数据170」=(「加密的身份数据152」)(「公用密钥130」)模数55
则「解密的身份数据170」=1823模数55=2
在这个例子中,解密的身份数据170等于原始身份数据110,且因此,BIOS160确定管理固件是受信任的。
如果BIOS 160确定运行于BMC 150上的管理固件不是受信任的,则BIOS160续行程序(proceeds)以保护计算机装置免于管理固件的损害。例如,BIOS 160可停止BMC 150、防止启动进入OS、关闭计算机装置100、和/或输出警告在显示器上以使管理员得以查看。
可选地或除上述措施之外,BIOS 160可以触发BMC 150中的固件更新。举例而言,在一些实施例中,BIOS 160可被配置以产生使BMC 150下载并安装固件新副本的指令。在另一实例中,固件的「金(gold)」或可信版本可存储于计算机装置,且BIOS 160可被配置以产生使BMC 150存取并安装固件的可信版本的指令。在一些实施例中,BIOS 160可在更新后重复验证过程。在一些实施例中,在BIOS 160停止BMC 150、防止启动进入OS、关闭计算机装置100、输出警告在显示器上以使管理员得以查看之前,更新及重新验证过程可重复至少一次,或采取其他移动以保护计算机装置。
图2示出用于确保管理控制器固件安全的示例方法200。
在步骤210中,计算机装置的安全管理器存储公用密钥及原始身份数据。
在步骤220中,安全管理器从用于计算机装置的管理控制器的管理固件取得加密的身份数据。
在步骤230中,安全管理器以公用密钥解密经加密的身份数据为解密的身份数据。
在步骤240中,安全管理器比较解密的身份数据与原始身份数据,以判定管理固件是否为受信任的。
在步骤250,如果管理固件被判定为受信任的,则方法200进行到步骤255。如果管理固件被判定为不受信任的,则方法200进行到步骤260。
在步骤255,安全管理器允许管理控制器正常操作。
在步骤260,响应于判定管理固件为不受信任的,安全管理器保护计算机装置免于管理固件的损害。
在选择性步骤270,对于管理控制器,安全管理器用新的管理固件替换管理固件。该方法200接着返回到步骤220。
图3显示用于确保管理控制器固件安全的另一示例方法300。
在步骤310,计算机装置的生产者产生一对安全密钥,包括公用密钥及私用密钥。
在步骤320,生产者使用私用密钥加密原始身份数据为加密的身份数据。
在步骤330,生产者嵌入加密的身份数据在用于计算机装置的管理控制器的管理固件。
在步骤340,生产者嵌入公用密钥及原始身份数据于计算机装置的安全管理器中。
在步骤350,安全管理器从管理固件取得加密的身份数据。
在步骤360,安全管理器以公用密钥解密经加密的身份数据为解密身份数据。
在步骤370,安全管理器比较解密身份数据与原始身份数据,以判定管理固件是否为受信任的。
在步骤370,如果管理固件被判定为受信任的,则方法300进行至步骤385。如果管理固件被判定为不受信任的,则方法300进行至步骤390。
在步骤390,响应于判定所述管理固件是不受信任的,安全管理器保护计算机装置免于管理固件的损害。
图4示出示例计算机系统400的框图。计算机系统400包括处理器440、网络接口450、管理控制器480、存储器420、存储器430、BIOS 410、北桥460及南桥470。
计算机系统400是,例如,计算机装置(例如,在数据中心的计算机装置机柜中的计算机装置)或个人计算机。处理器(例如,中央处理单元(CPU))440是检索并执行存储在存储器420中的编程指令的主板上的芯片。处理器440为具单处理内核的单CPU、具多处理内核的单CPU、或多CPU。一或多个总线(未绘示)在多个计算机组件之间传输指令及应用数据,计算机组件如处理器440、存储器420、存储器430、及网络接口450。
存储器420包括用于暂时或永久存储数据或程序的任何物理装置,如各种形式的随机存取存储器(RAM)。存储器430包括用于非易失性数据存储的任何物理装置,诸如HDD或随身碟。存储器430可具有大于存储器420的容量,且在每单位存储上可具经济效益,但也可能具有较低的传输速率。
该BIOS 410包括基本输入/输出系统或其继承者或等价物,如可扩展固件接口(EFI)、或统一可扩展固件接口(UEFI)。BIOS 410包括位于存储BIOS软件程序的计算机系统400的主板上的BIOS芯片。BIOS 410存储在计算机系统首先电源开启时执行的固件,连同指定BIOS 410的设定配置。BIOS固件及BIOS配置存储于非易失性存储器(如NVRAM)中,或像是快闪存储器的ROM。快闪存储器为可电性擦除及重新编程的非易失性计算机存储介质。
BIOS 410在每次计算机系统400启动时加载并执行顺序程序(sequenceprogram)。BIOS 410基于设定配置来识别、初始化并测试给定计算机系统中存在的硬件。BIOS 410可以在计算机系统400上执行自测试,诸如开机自我检测(POST)。这种自测试测试各种硬件组件的功能性,像是硬式磁盘机、光学读取装置、冷却装置、存储器模块、扩充卡等。BIOS寻址及分配内存存储器420中的区域以存储操作系统。BIOS 410接着对OS进行计算机系统的控制。
计算机系统400的BIOS 410包括定义BIOS 410如何控制计算机系统400中的各种硬件组件的BIOS配置。BIOS配置决定其中计算机系统400中各种硬件组件起始的顺序。BIOS 410提供了接口(例如,BIOS设置公用程序(setuputility)),允许各种不同参数被设定不同于BIOS预设配置中的参数。例如,使用者(例如管理员)可使用BIOS 410以指定时钟及总线速率,指定什么外围设备被连接到计算机系统,指定监控健康(例如,风扇速度及CPU温度限制),且指定影响计算机系统的整体性能及电源使用的各种其他参数。
管理控制器480是嵌入于计算机系统的主板上的专门微控制器(specializedmicrocontroller)。例如,管理控制器480是基板管理控制器(BMC)。所述管理控制器480管理介于系统管理软件与平台硬件之间的接口。建于计算机系统的不同类型传感器向管理控制器780回报参数,像是温度、冷却风扇的速度、电力状态、操作系统状态等。若任何参数未留在预设限制内时,所述管理控制器480监测传感器且具有通过网络接口450发送警报于管理员的能力,指示系统的潜在故障。管理员可与管理控制器480远程连线,以采取一些纠正措施,像是重置或电源循环系统来恢复功能。
北桥460是可以直接连接到处理器440或集成在处理器440的在主板上的芯片。在一些情况下,北桥460和南桥470合并至单一晶粒(die)上。北桥460及南桥470管理处理器440与主板的其他部分之间的通信连线。北桥460管理相较于南桥470需要较高性能的任务。北桥460管理处理器440、存储器420及视频控制器(未示出)之间的通信连线。在一些情况下,北桥460包括视频控制器。
南桥470为连接到北桥460的主板上的芯片,但与北桥460不同的是,南桥470不必直接连接到处理器440。南桥470管理输入/输出功能,诸如计算机系统400的通用串行总线(USB)、音频、串行(serial)、BIOS、串行先进技术附接(Serial Advanced Technology Attachment,SATA)、周边组件互连(PCI)总线、PCI扩展(PCI-X)总线、PCI传输(Express)总线、SPI总线、eSPI总线、SMBus。南桥470连接到或包括在南桥470有管理控制器480,直接存储器存取(DMAs)控制器、可编程中断控制器(PICs)、及实时时钟。在一些情况下,南桥470直接连接到处理器440,像是其中北桥460被集成到处理器440的情况。
网络接口450是支持有线或无线局域网络(LANs)或广域网络(WANs),如以太、光纤通道、Wi-Fi、蓝牙、火线(Firewire)、互联网等的任何界面。例如,网络接口450可以包括针对以太的网络接口控制器(NIC)。以太为用于连接局域网络(LANs)与广域网络(WANs)中的计算机的最广泛使用的网络标准。以太定义了对于物理层(PHY)的一些线路及信号标准,通过在介质访问控制(MAC)/数据连接层的网络接口的手段,并通过通用寻址格式。以太功能装置通常藉由传输数据包来连线,数据包包含了个别发送及传输的数据块(blocks of data)。
与本文公开搭配所述的各种说明性逻辑块、模块、及电路可利用设计用以执行本文所述的功能的通用目的处理器(general-purpose processor)、数字信号处理器(DSP)、特定应用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑装置、离散闸极、或晶体管逻辑、离散硬件组件、或其任何组合来实现或实施。通用目的处理器为微处理器,或者是任何常规处理器、控制器、微控制器或状态机。处理器也可实施成计算机装置的组合,例如,DSP与微处理器、多个微处理器、一或多个微处理器搭配DSP内核的组合,或任何其他此类配置。
搭配本文的公开所述的方法或算法的操作可直接体现于硬件中、由处理器执行的软件模块中、或两者的组合中。软件模块可驻留于RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移磁盘、CD-ROM或所属技术领域中已知的任何其他形式的存储介质。例示性存储介质耦接至处理器,使得处理器读取信息于存储介质或写入信息于存储介质。或者,存储介质集成于处理器。处理器及存储介质驻留于ASIC。ASIC驻留在使用者终端机。或者,处理器及存储介质驻留在使用者终端机为分开的组件。
在一或多个例示性设计中,所描述的功能以硬件、软件、固件、或其任意组合来实现。如果在软件中实现,则功能以一或多个指令或代码被存储或传输至非临时性计算机可读介质(non-transitory computer-readable medium)。非临时性计算机可读介质包括计算机存储介质与连线介质,包括有助于从一个位置传送计算机程序至另一处的任何介质。存储介质为可由通用目的计算机或特定目的计算机所存取的任何可应用介质。举例而言,且非为限制性的,这样的计算机可读介质包含RAM、快闪存储器、ROM、EEPROM、CD-ROM或其他光磁碟存储器、磁碟存储器、或其他磁存储装置,或可以用于加载或存储所需程序代码工具为指令或数据结构的形式的任何其他介质,其可藉由通用目的或特定目的计算机、或通用目的或特定目的处理器所存取。当用于本文时,磁盘(Disk)和光盘(disc)包含光碟(CD)、激光光碟、光学光碟、多样化数字光碟(DVD)、软性磁碟及蓝光光碟,其中磁盘通常磁性地再生数据,而光盘则是以激光光学地再生数据。上述的组合亦应包含在非临时性计算机可读介质的范围内。
本公开的先前描述提供以使得本领域技术人员能够实施或利用本公开。对本公开的各种修改对于本领域技术人员而言将是显而易见的,且本文所定义的通用原理可在不脱离本公开的范围下应用其他变化。因此,本公开非旨在局限于本文所述的示例及设计,而是依据本文所公开的原理及新颖特征相符的最广范围。
Claims (10)
1.一种藉由计算机装置的安全管理器确保管理控制器固件安全的方法,其包含:
存储公用密钥及原始身份数据;
从用于该计算机装置的管理控制器的管理固件取得加密身份数据;
以该公用密钥将该加密身份数据解密为解密身份数据;
比较该解密身份数据与该原始身份数据,以判定该管理固件是否为受信任的;以及
响应于该管理固件是不受信任的的判定,保护该计算机装置免于该管理固件的损害。
2.如权利要求1所述的方法,其进一步包含:
发送请求指令至该管理控制器请求该加密身份数据,其中该请求指令使用智能平台管理接口(IPMI)及表征性状态传输(REST)中的至少其一;以及
从该管理控制器接收该加密身份数据。
3.如权利要求1所述的方法,其中:
该公用密钥与私用密钥配对;
该加密身份数据使用该原始身份数据及该私用密钥来加密;以及
该加密身份数据存储于该管理控制器固件。
4.如权利要求1所述的方法,其中保护该计算机装置包含下列的至少之一:
停止该管理控制器;
防止启动进入该计算机装置的操作系统;
关闭该计算机装置;或
输出警告在显示器上。
5.如权利要求1所述的方法,其进一步包含:
替换用于该管理控制器的该管理固件为新管理固件。
6.如权利要求1所述的方法,其中该安全管理器包含该计算机装置之一的基本输入/输出系统(BIOS)。
7.如权利要求1所述的方法,其中该安全管理器包含运行于该计算机装置的操作系统(OS)上的安全软件、运行在通过网络与计算机装置连线的网络装置上的安全软件、包括该计算机装置的服务器机柜(server rack)的机柜管理控制器(RMC)、或用于该计算机装置的机箱管理控制器(CMC)。
8.如权利要求1所述的方法,其中该管理控制器包含基板管理控制器(BMC)。
9.一种藉由计算机装置的生产者确保管理控制器固件安全的方法,其包含:
产生包括公用密钥及私用密钥的一对安全密钥;
使用该私用密钥将原始身份数据加密为加密身份数据;
嵌入该加密身份数据于用于该计算机装置的管理控制器的管理固件中:以及
嵌入该公用密钥及该原始身份数据于该计算机装置的安全管理器中,该安全管理器配置以:
自该管理固件取得该加密身份数据;
以该公用密钥将该加密身份数据解密为解密身份数据;
比较该解密身份数据与该原始身份数据以判定该管理固件是否为受信任的;以及
响应于该管理固件是不受信任的的判定,保护该计算机装置免于该管理固件的损害。
10.一种计算机装置,其包含:
管理控制器,运行管理固件以存储加密身份数据;
安全管理器,存储公用密钥及原始身份数据,该安全管理器配置以:
自用于该计算机装置的管理控制器的管理固件取得该加密身份数据;
用该公用密钥将该加密身份数据解密为解密身份数据;
比较该解密身份数据与该原始身份数据以判定该管理固件是否为受信任的;以及
响应于该管理固件是不受信任的的判定,保护该计算机装置免于该管理固件的损害。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/933,477 US9935945B2 (en) | 2015-11-05 | 2015-11-05 | Trusted management controller firmware |
US14/933,477 | 2015-11-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106682518A true CN106682518A (zh) | 2017-05-17 |
Family
ID=58664333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610080270.7A Pending CN106682518A (zh) | 2015-11-05 | 2016-02-04 | 用于确保管理控制器固件安全的方法及计算机装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9935945B2 (zh) |
CN (1) | CN106682518A (zh) |
TW (1) | TWI588749B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108229209A (zh) * | 2018-01-02 | 2018-06-29 | 湖南国科微电子股份有限公司 | 一种双cpu构架的bmc芯片及其自主安全提高方法 |
CN109063470A (zh) * | 2018-07-26 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种bmc固件的安全验证方法及系统 |
CN109672656A (zh) * | 2017-10-17 | 2019-04-23 | 广达电脑股份有限公司 | 网络装置及其保护方法 |
CN111783120A (zh) * | 2020-06-30 | 2020-10-16 | 曙光信息产业(北京)有限公司 | 一种数据的交互方法、计算设备、bmc芯片及电子设备 |
CN112868013A (zh) * | 2018-10-25 | 2021-05-28 | 戴尔产品有限公司 | 经由边带接口恢复场域可程序门阵列固件的系统及方法 |
CN113127823A (zh) * | 2021-03-26 | 2021-07-16 | 山东英信计算机技术有限公司 | 一种本地串口登录和权限的管理方法、系统及介质 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10802901B2 (en) * | 2016-07-18 | 2020-10-13 | American Megatrends International, Llc | Obtaining state information of threads of a device |
US10726131B2 (en) * | 2016-11-21 | 2020-07-28 | Facebook, Inc. | Systems and methods for mitigation of permanent denial of service attacks |
US10740483B2 (en) * | 2016-11-22 | 2020-08-11 | Sap Se | Unified instance authorization based on attributes and hierarchy assignment |
JP2020506490A (ja) * | 2017-01-04 | 2020-02-27 | シュバルツ、ゲルハルト | 非対称システムおよびネットワークアーキテクチャ |
US20190108009A1 (en) * | 2017-10-05 | 2019-04-11 | Harman International Industries, Incorporated | Generating checksums on trusted storage devices for accelerated authentication |
US11038874B2 (en) * | 2018-06-11 | 2021-06-15 | Dell Products, L.P. | Authentication and authorization of users in an information handling system between baseboard management controller and host operating system users |
CN109189425A (zh) * | 2018-08-24 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种bmc的管理方法、管理系统及相关装置 |
TWI671629B (zh) * | 2018-12-15 | 2019-09-11 | 英業達股份有限公司 | 機櫃與設置於機櫃中電子裝置的測試系統及其方法 |
CN110362427A (zh) * | 2019-06-26 | 2019-10-22 | 苏州浪潮智能科技有限公司 | 一种镜像文件的处理方法、系统、bmc及可读存储介质 |
TWI720694B (zh) * | 2019-11-18 | 2021-03-01 | 中華電信股份有限公司 | 具時間序列演算之燒錄認證裝置及方法 |
US10997297B1 (en) * | 2019-12-06 | 2021-05-04 | Western Digital Technologies, Inc. | Validating firmware for data storage devices |
CN113805908B (zh) * | 2020-06-17 | 2024-09-13 | 瑞昱半导体股份有限公司 | 固件更新系统和方法 |
US20220188465A1 (en) * | 2020-12-15 | 2022-06-16 | SoftIron Ltd. | Wireless board management control system |
US11522723B2 (en) | 2021-03-01 | 2022-12-06 | Hewlett Packard Enterprise Development Lp | Secure provisiong of baseboard management controller identity of a platform |
US11755404B2 (en) * | 2021-06-14 | 2023-09-12 | Dell Products, L.P. | Custom baseboard management controller (BMC) firmware stack monitoring system and method |
TWI791271B (zh) | 2021-08-25 | 2023-02-01 | 新唐科技股份有限公司 | 匯流排系統 |
TWI822531B (zh) * | 2022-12-23 | 2023-11-11 | 技鋼科技股份有限公司 | 韌體保護系統及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080141380A1 (en) * | 2006-12-12 | 2008-06-12 | Kabushiki Kaisha Toshiba | Software component, software component management method, and software component management system |
US20140365755A1 (en) * | 2013-06-07 | 2014-12-11 | Dell Inc. | Firmware authentication |
CN104982019A (zh) * | 2012-02-28 | 2015-10-14 | 通用仪表公司 | 用于大量生产的产品专用身份数据的身份数据管理系统 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6298446B1 (en) * | 1998-06-14 | 2001-10-02 | Alchemedia Ltd. | Method and system for copyright protection of digital images transmitted over networks |
US6587945B1 (en) * | 1998-12-28 | 2003-07-01 | Koninklijke Philips Electronics N.V. | Transmitting reviews with digital signatures |
GB2359156B (en) * | 2000-02-14 | 2004-10-13 | Reuters Ltd | Methods of computer programs for and apparatus for providing and accessing digital content |
CN100592682C (zh) * | 2001-12-13 | 2010-02-24 | 索尼计算机娱乐公司 | 用于安全分配程序内容的方法和装置 |
US7747531B2 (en) * | 2002-02-05 | 2010-06-29 | Pace Anti-Piracy | Method and system for delivery of secure software license information |
US7069442B2 (en) * | 2002-03-29 | 2006-06-27 | Intel Corporation | System and method for execution of a secured environment initialization instruction |
JP4099039B2 (ja) * | 2002-11-15 | 2008-06-11 | 松下電器産業株式会社 | プログラム更新方法 |
US20040216031A1 (en) * | 2003-04-28 | 2004-10-28 | Taylor Clark N. | Verifying the veracity and creator of a printed document |
US7765600B2 (en) * | 2004-05-04 | 2010-07-27 | General Instrument Corporation | Methods and apparatuses for authorizing features of a computer program for use with a product |
US20060005046A1 (en) * | 2004-06-30 | 2006-01-05 | Seagate Technology Llc | Secure firmware update procedure for programmable security devices |
US20060143600A1 (en) * | 2004-12-29 | 2006-06-29 | Andrew Cottrell | Secure firmware update |
US10289688B2 (en) * | 2010-06-22 | 2019-05-14 | International Business Machines Corporation | Metadata access in a dispersed storage network |
WO2007091002A1 (en) * | 2006-02-07 | 2007-08-16 | Nextenders (India) Private Limited | Document security management system |
US8086859B2 (en) * | 2006-03-02 | 2011-12-27 | Microsoft Corporation | Generation of electronic signatures |
JP4844281B2 (ja) * | 2006-08-10 | 2011-12-28 | 富士ゼロックス株式会社 | ドキュメント管理装置及びプログラム |
DE102008031890B4 (de) * | 2008-07-08 | 2010-06-17 | Artec Computer Gmbh | Verfahren und Computersystem zur Langzeitarchivierung von qualifiziert signierten Daten |
JP2010039891A (ja) * | 2008-08-07 | 2010-02-18 | Nec Corp | 情報処理装置、プログラム実行方法、プログラムおよび情報処理システム |
US10042993B2 (en) * | 2010-11-02 | 2018-08-07 | Homayoon Beigi | Access control through multifactor authentication with multimodal biometrics |
US9276752B2 (en) * | 2011-02-11 | 2016-03-01 | Siemens Healthcare Diagnostics Inc. | System and method for secure software update |
US8738915B2 (en) * | 2011-06-30 | 2014-05-27 | Dell Products L.P. | System and method for establishing perpetual trust among platform domains |
CN102571347B (zh) * | 2011-12-16 | 2016-05-25 | 华为技术有限公司 | 现场可更换单元的校验方法、装置和通信设备 |
US9384367B2 (en) * | 2012-09-04 | 2016-07-05 | Intel Corporation | Measuring platform components with a single trusted platform module |
US9223982B2 (en) | 2013-03-01 | 2015-12-29 | Intel Corporation | Continuation of trust for platform boot firmware |
CA2925483C (en) * | 2013-09-23 | 2018-10-16 | Xero Limited | Systems for access control and system integration |
CN103944913B (zh) | 2014-04-28 | 2018-02-23 | 浪潮电子信息产业股份有限公司 | 一种面向服务器的安全固件设计方法 |
US9363087B2 (en) * | 2014-10-02 | 2016-06-07 | Microsoft Technology Licensing, Inc. | End-to-end security for hardware running verified software |
US20170090909A1 (en) * | 2015-09-25 | 2017-03-30 | Qualcomm Incorporated | Secure patch updates for programmable memories |
-
2015
- 2015-11-05 US US14/933,477 patent/US9935945B2/en active Active
-
2016
- 2016-01-08 TW TW105100612A patent/TWI588749B/zh active
- 2016-02-04 CN CN201610080270.7A patent/CN106682518A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080141380A1 (en) * | 2006-12-12 | 2008-06-12 | Kabushiki Kaisha Toshiba | Software component, software component management method, and software component management system |
CN104982019A (zh) * | 2012-02-28 | 2015-10-14 | 通用仪表公司 | 用于大量生产的产品专用身份数据的身份数据管理系统 |
US20140365755A1 (en) * | 2013-06-07 | 2014-12-11 | Dell Inc. | Firmware authentication |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109672656A (zh) * | 2017-10-17 | 2019-04-23 | 广达电脑股份有限公司 | 网络装置及其保护方法 |
CN109672656B (zh) * | 2017-10-17 | 2021-07-13 | 广达电脑股份有限公司 | 网络装置及其保护方法 |
CN108229209A (zh) * | 2018-01-02 | 2018-06-29 | 湖南国科微电子股份有限公司 | 一种双cpu构架的bmc芯片及其自主安全提高方法 |
CN108229209B (zh) * | 2018-01-02 | 2021-11-12 | 湖南国科微电子股份有限公司 | 一种双cpu构架的bmc芯片及其自主安全提高方法 |
CN109063470A (zh) * | 2018-07-26 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种bmc固件的安全验证方法及系统 |
CN112868013A (zh) * | 2018-10-25 | 2021-05-28 | 戴尔产品有限公司 | 经由边带接口恢复场域可程序门阵列固件的系统及方法 |
CN111783120A (zh) * | 2020-06-30 | 2020-10-16 | 曙光信息产业(北京)有限公司 | 一种数据的交互方法、计算设备、bmc芯片及电子设备 |
CN113127823A (zh) * | 2021-03-26 | 2021-07-16 | 山东英信计算机技术有限公司 | 一种本地串口登录和权限的管理方法、系统及介质 |
CN113127823B (zh) * | 2021-03-26 | 2022-06-07 | 山东英信计算机技术有限公司 | 一种本地串口登录和权限的管理方法、系统及介质 |
Also Published As
Publication number | Publication date |
---|---|
TWI588749B (zh) | 2017-06-21 |
US9935945B2 (en) | 2018-04-03 |
TW201717000A (zh) | 2017-05-16 |
US20170134373A1 (en) | 2017-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106682518A (zh) | 用于确保管理控制器固件安全的方法及计算机装置 | |
US11843705B2 (en) | Dynamic certificate management as part of a distributed authentication system | |
US10771264B2 (en) | Securing firmware | |
US20240330470A1 (en) | Rollback Resistant Security | |
US9602282B2 (en) | Secure software and hardware association technique | |
TWI436280B (zh) | 存取基本輸入輸出系統設定的認證方法 | |
TWI567579B (zh) | 用於對硬體裝置提供金鑰的方法和設備 | |
CN104160403B (zh) | 使用单个可信平台模块测量平台部件 | |
US20100082960A1 (en) | Protected network boot of operating system | |
US8006100B2 (en) | Enhancing trusted platform module performance | |
JP2022528641A (ja) | 秘密鍵を使用したアイデンティティの検証 | |
TWI632483B (zh) | 安全裝置及在其內提供安全服務至主機的方法、安全設備以及電腦軟體產品 | |
US20230351056A1 (en) | Sram physically unclonable function (puf) memory for generating keys based on device owner | |
US20230237155A1 (en) | Securing communications with security processors using platform keys | |
CN111177709A (zh) | 一种终端可信组件的执行方法、装置及计算机设备 | |
CN113190880B (zh) | 基于对安全协处理器的背书信息的分析确定是否对计算设备执行动作 | |
US8429423B1 (en) | Trusted platform modules | |
CN106156632A (zh) | 安全装置及在其内提供安全服务至主机的方法、安全设备 | |
CN116956267A (zh) | 平台证书的基于管理控制器的验证 | |
CN114816549A (zh) | 一种保护bootloader及其环境变量的方法及系统 | |
CN108228219A (zh) | 一种带外刷新bios时验证bios合法性的方法及装置 | |
TWI822531B (zh) | 韌體保護系統及方法 | |
Sukhomlinov et al. | Supply Chain Verification of Hardware Components Using Open-Source Root of Trust | |
CN114329422A (zh) | 一种可信安全防护方法、装置、电子设备和存储介质 | |
TW202424741A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170517 |