TWI588749B - 用於確保管理控制器韌體安全之方法及計算機裝置 - Google Patents

用於確保管理控制器韌體安全之方法及計算機裝置 Download PDF

Info

Publication number
TWI588749B
TWI588749B TW105100612A TW105100612A TWI588749B TW I588749 B TWI588749 B TW I588749B TW 105100612 A TW105100612 A TW 105100612A TW 105100612 A TW105100612 A TW 105100612A TW I588749 B TWI588749 B TW I588749B
Authority
TW
Taiwan
Prior art keywords
firmware
identity data
management
computer device
management controller
Prior art date
Application number
TW105100612A
Other languages
English (en)
Other versions
TW201717000A (zh
Inventor
李永富
Original Assignee
廣達電腦股份有限公司
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 廣達電腦股份有限公司 filed Critical 廣達電腦股份有限公司
Publication of TW201717000A publication Critical patent/TW201717000A/zh
Application granted granted Critical
Publication of TWI588749B publication Critical patent/TWI588749B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0442Network 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
    • 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
    • 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/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2107File 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)

Description

用於確保管理控制器韌體安全之方法及計算機裝置
本申請案係關於一種電腦系統,且更具體而言是一種用於確認管理控制器韌體安全之系統及方法。
典型地,管理控制器諸如基板管理控制器(BMC)係位於每台計算機裝置上。BMC包括管理系統管理軟體與平台硬體之間的介面之微控制器。 BMC監測建於裝置內之不同類型感測器之參數,像是溫度、冷卻風扇的速度、電力狀態、負載狀態、操作系統狀態等。BMC的運行獨立於計算機裝置之處理器,且因此在處理器、記憶體或任何其他硬體錯誤之任何狀態下,BMC仍應繼續提供服務。
韌體是一種軟體,其對於所安裝的裝置提供控制、監控以及數據操作。如嵌入式系統的程序之韌體可為將在系統上運行之唯一程式,且提供其所有功能。韌體係保持在非易失性記憶體(non-volatile memory)裝置中,像是ROM、EPROM、或快閃記憶體。大部分韌體可被更新或替代。更新韌體的常見 原因包括修復錯誤或添加功能至裝置。此可能需要ROM集成電路以物理性地替換,或可能需要快閃記憶體透過特定程序來重新編程。
用於計算機裝置之BMC的韌體控制所述BMC的所有功能。然而,BMC的韌體可能會受到損害。惡意韌體可以透過韌體之更新或其他方法而載入BMC。如果未立即發現和制止,惡意韌體控制BMC可能會導致對計算機裝置之嚴重硬體及/或數據損壞。
以下呈現一或多個實施例之簡單概述,以提供本技術之基本理解。此概述並非為本技術的所有預期實施例的詳盡的概述,且其亦非旨在標識全部實施例的關鍵或重要元素或描繪本技術之任何及所有肽樣之範疇。其唯一目的係為以簡化形式呈現一或多個示例之部分概念,作為稍後呈現之更詳細說明之序言。
在一些實施例中,藉由計算機裝置的安全管理器用於確保管理控制器韌體安全之方法包含:儲存公用密鑰及原始身份數據,並從用於計算機裝置的管理控制器之管理韌體取得加密的身份數據。安全管理器以公用密鑰來解密加密的身份數據為解密的身份數據,並比較解密的身份數據與原始身份數據,以確定管理韌體是否為受信任的。響應於判定管理韌體是不受信任的,安全管理器得以保護計算機裝置免於管理韌體之損害。
在一些實施例中,藉由計算機裝置之生產者用於確保管理控制器韌體安全之方法包含:產生一對安全密鑰包括公用密鑰及私用密鑰,且使用私用密鑰加密原始身份數據為一加密身份數據。生產者嵌入加密的身份數據於用 於計算機裝置之管理控制器的管理韌體中,且嵌入公用密鑰及原始身份數據於計算機裝置之安全管理器,該安全管理器係配置以:自管理韌體取得加密的身份數據;以公用密鑰解密此加密的身份數據為解密的身份數據;比較解密的身份數據與原始身份數據,以判定管理韌體是否為受信任的;並響應於判定該管理韌體是不受信任的,而保護計算機裝置免於管理韌體之損害。
在一些實施例中,計算機裝置包括運行管理韌體以儲存加密的身份數據之管理控制器以及儲存公用密鑰及原始身份數據之安全管理器。安全管理器係配置以自用於計算機裝置之管理控制器的管理韌體取得加密的身份數據。安全管理器係配置以用公用密鑰來解密此加密的身份數據為解密的身份數據。安全管理器係配置以用原始身份數據比較解密之身份數據,以判定管理韌體是否為受信任的。響應於判定管理韌體是不受信任的,安全管理器係進一步配置以保護計算機裝置免於管理韌體之損害。
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‧‧‧南橋
本技術的這些及其他樣本態樣將在後續之實施方式及所附申請專利範圍以及於附圖中進行說明,其中:第1圖示出了用於確保管理控制器韌體安全的示例系統的框圖;第2圖示出了用於確保管理控制器韌體安全的示例方法的示意圖;第3圖示出了用於確保管理控制器韌體安全的另一示例方法的示意圖;第4圖示出了例示計算機裝置之框圖。
本標的發明係提供用於確保管理控制器韌體安全之技術。本技術的各個態樣將參照圖式進行說明。在以下描述中,出於解釋的目的,闡述了許多具體的細節,以提供一或多個態樣之徹底理解。然而,顯而易見的是,本技術可以在沒有這些具體細節的情況下實施。在其他實例中,習知的結構及裝置係示為框圖的形式,以便於描述此些態樣。
本標的發明提供一種迅速發現在管理控制器(例如,BMC)上運行之惡意韌體且防止惡意韌體對計算機裝置造成損害之方法。
第1圖示出了用於確保管理控制器韌體安全的示例系統的框圖。 計算機裝置100包括管理控制器150及安全管理器160。安全管理器160係藉由使用下述之加密及解密驗證過程來確定加載於管理控制器150上之管理韌體是否為受信任的。
在一些態樣中,安全管理器160包括基本輸入/輸出系統(BIOS)。 在一些其他態樣中,安全管理器160包括在計算機裝置100之操作系統(OS)上運行之安全軟體、運行在網路裝置上透過網路與計算機裝置100連線之安全軟體、包括計算機裝置100之伺服器機櫃(server rack)之機櫃管理控制器(rack management controller,RMC)、或用於計算機裝置100之機箱管理控制器(chassis management controller,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 of specifications),且為頻外管理並由系統管理員所監控。然而,各種實施例並不侷限於此方面,且其他協定亦可由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可接著在允許BMC 150執行其管理功能之前先由計算機裝置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可包含一長串十六進制數字,像是「3048 0241 00C9 18FA CF8D EB2D」。
下面是從公用密鑰產生私用密鑰之極度簡化示例:若「私用密鑰120」=7
公用密鑰130可藉由解出方程式而定:(「私用密鑰120」x「公用密鑰130」)模數40=1
接著(7 x「公用密鑰130」)模數40=1
則「公用密鑰130」=23
在一些態樣中,公用密鑰演算法係基於當前承認沒有有效的解法且為特定整數分解(integer factorization)、離散對數(discrete logarithm)、及橢圓曲線的關係中固有之數學難題(mathematical problems)。然而,其在計算上易於生成公用密鑰及私用密鑰對,且使用以加密及解密。公用密鑰演算法的優勢在於從其對應之公用密鑰對於要被測定之適當產生私用密鑰具有計算不可行性(computational impracticality)。因此,公用密鑰可在不影響安全下公開。安全性只取決於保持私用密鑰私密未公開。公用密鑰演算法不同於對稱密鑰演算法,無須當事人之間的密鑰的初步交換的安全通道。
原始身份數據110係使用私用密鑰120來加密(亦即,加密操作140)以產生加密的身份數據152。加密的身份數據152接著被儲存及/或內置於管理控制器150的管理韌體。在一些態樣中,經加密的身份數據152可在製造管理控制器150期間被嵌入於管理控制器150之管理韌體。
運行於BIOS 160之晶片上之BIOS軟體程式係位於計算機裝置100之主板上。BIOS 160儲存在計算機裝置100首先電源開啟時執行之韌體,連同指定BIOS 160之設定配置。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期間嵌入BIOS 160。
在操作中,BIOS 160藉由發送指令從BMC 150請求加密的身份數據152。該指令可使用在任何計算機裝置管理規格及/或協定上,如IPMI、表徵性狀態傳輸(REST)等。舉例而言,請求指令可在計算機開啟期間傳送或在加載OS之後傳送。BMC 150接著係傳回加密身份數據152至BIOS 160。
在一些態樣中,BMC 150及BIOS 160包括共享記憶體,像是動態隨機存取記憶體(DRAM)、電可除程式化唯讀記憶體(EEPROM)、郵箱寄存器(mailbox registers)等。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
接著(7 x「公用密鑰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,且因此,BIOS 160確定管理韌體是受信任的。
如果BIOS 160確定運行於BMC 150上之管理韌體不是受信任的,則BIOS 160續行程序(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啟動時加載並執行順序程式(sequence program)。BIOS 410係基於設定配置來識別、初始化並測試給定計算機系統中存在的硬體。BIOS 410可以在計算機系統400上執行自測試,諸如開機 自我檢測(POST)。這種自測試測試各種硬體組件的功能性,像是硬式磁碟機、光學讀取裝置、冷卻裝置、記憶體模組、擴充卡等。BIOS尋址及分配內存記憶體420中之區域以儲存操作系統。BIOS 410接著對OS進行計算機系統之控制。
計算機系統400的BIOS 410包括定義BIOS 410如何控制計算機系統400中之各種硬體組件之BIOS配置。BIOS配置決定其中計算機系統400中各種硬體組件起始之順序。BIOS 410提供了介面(例如,BIOS設置公用程式(setup utility)),允許各種不同參數被設定不同於BIOS預設配置中之參數。例如,使用者(例如管理員)可使用BIOS 410以指定時脈及匯流排速率,指定什麼外圍設備被連接到計算機系統,指定監控健康(例如,風扇速度及CPU溫度限制),且指定影響計算機系統的整體性能及電源使用的各種其他參數。
管理控制器480是嵌入於計算機系統的主板上之專門微控制器(specialized microcontroller)。例如,管理控制器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)、軟性磁碟及藍光光碟,其中磁盤通常磁性地再生數據,而光盤則是以雷射光學地再生數據。上述之組合亦應包含於非臨時性計算機可讀媒介之範疇內。
本揭露的先前描述係提供以使得任何所屬技術領域中具有通常知識者能夠實施或利用本公開。對本揭露之各種修改對於所屬技術領域中具有通常知識者而言將是顯而易見的,且本文所定義之通用原理可在不脫離本揭露之範疇下應用其他變化。因此,本揭露係非旨在侷限於本文所述之示例及設計,而是依據本文所揭露之原理及新穎特徵相符的最廣範疇。
200‧‧‧方法
210、220、230、240、250、255、260、270‧‧‧步驟

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. 一種計算機裝置,其包含:一管理控制器,運行一管理韌體以儲存一加密身份數據;一安全管理器,儲存一公用密鑰及一原始身份數據,該安全管理器係配置以:自用於該計算機裝置之一管理控制器的一管理韌體取得該加密身份數據; 用該公用密鑰將該加密身份數據解密為一解密身份數據;比較該解密身份數據與該原始身份數據以判定該管理韌體是否為受信任的;響應於該管理韌體是不受信任的之判定,產生一安裝韌體指令,並重複至少一更新該管理韌體及判定該管理韌體是否為受信任的過程;以及響應於更新後的該管理韌體是不受信任之判定,保護該計算機裝置免於該管理韌體之損害。
TW105100612A 2015-11-05 2016-01-08 用於確保管理控制器韌體安全之方法及計算機裝置 TWI588749B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/933,477 US9935945B2 (en) 2015-11-05 2015-11-05 Trusted management controller firmware

Publications (2)

Publication Number Publication Date
TW201717000A TW201717000A (zh) 2017-05-16
TWI588749B true TWI588749B (zh) 2017-06-21

Family

ID=58664333

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105100612A TWI588749B (zh) 2015-11-05 2016-01-08 用於確保管理控制器韌體安全之方法及計算機裝置

Country Status (3)

Country Link
US (1) US9935945B2 (zh)
CN (1) CN106682518A (zh)
TW (1) TWI588749B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI671629B (zh) * 2018-12-15 2019-09-11 英業達股份有限公司 機櫃與設置於機櫃中電子裝置的測試系統及其方法

Families Citing this family (21)

* Cited by examiner, † Cited by third party
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
WO2018127278A1 (de) * 2017-01-04 2018-07-12 Gerhard Schwartz Asymmetrische system- und netzwerkarchitektur
US20190108009A1 (en) * 2017-10-05 2019-04-11 Harman International Industries, Incorporated Generating checksums on trusted storage devices for accelerated authentication
US10685121B2 (en) * 2017-10-17 2020-06-16 Quanta Computer Inc. Secure environment examination
CN108229209B (zh) * 2018-01-02 2021-11-12 湖南国科微电子股份有限公司 一种双cpu构架的bmc芯片及其自主安全提高方法
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
CN109063470A (zh) * 2018-07-26 2018-12-21 郑州云海信息技术有限公司 一种bmc固件的安全验证方法及系统
CN109189425A (zh) * 2018-08-24 2019-01-11 郑州云海信息技术有限公司 一种bmc的管理方法、管理系统及相关装置
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
CN113805908A (zh) * 2020-06-17 2021-12-17 瑞昱半导体股份有限公司 固件更新系统和方法
CN111783120A (zh) * 2020-06-30 2020-10-16 曙光信息产业(北京)有限公司 一种数据的交互方法、计算设备、bmc芯片及电子设备
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
CN113127823B (zh) * 2021-03-26 2022-06-07 山东英信计算机技术有限公司 一种本地串口登录和权限的管理方法、系统及介质
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 (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060143600A1 (en) * 2004-12-29 2006-06-29 Andrew Cottrell Secure firmware update
US8738915B2 (en) * 2011-06-30 2014-05-27 Dell Products L.P. System and method for establishing perpetual trust among platform domains
CN103944913A (zh) * 2014-04-28 2014-07-23 浪潮电子信息产业股份有限公司 一种面向服务器的安全固件设计方法
US20140250291A1 (en) * 2013-03-01 2014-09-04 Nicholas J. Adams Continuation of trust for platform boot firmware
CN104160403A (zh) * 2012-09-04 2014-11-19 英特尔公司 使用单个可信平台模块测量平台部件
US20140365755A1 (en) * 2013-06-07 2014-12-11 Dell Inc. Firmware authentication

Family Cites Families (24)

* Cited by examiner, † Cited by third party
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
AU2002354094B2 (en) * 2001-12-13 2006-10-19 Sony Interactive Entertainment Inc. Methods and apparatus for secure distribution of program content
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
EP1984866B1 (en) * 2006-02-07 2011-11-02 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 富士ゼロックス株式会社 ドキュメント管理装置及びプログラム
JP2008146479A (ja) * 2006-12-12 2008-06-26 Toshiba Corp ソフトウェア部品、ソフトウェア部品管理方法、及びソフトウェア部品管理システム
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 情報処理装置、プログラム実行方法、プログラムおよび情報処理システム
US9231768B2 (en) * 2010-06-22 2016-01-05 International Business Machines Corporation Utilizing a deterministic all or nothing transformation in a dispersed storage network
US10042993B2 (en) * 2010-11-02 2018-08-07 Homayoon Beigi Access control through multifactor authentication with multimodal biometrics
JP6332970B2 (ja) * 2011-02-11 2018-05-30 シーメンス・ヘルスケア・ダイアグノスティックス・インコーポレーテッドSiemens Healthcare Diagnostics Inc. 安全なソフトウェアの更新のためのシステム及び方法
CN102571347B (zh) * 2011-12-16 2016-05-25 华为技术有限公司 现场可更换单元的校验方法、装置和通信设备
US9043456B2 (en) * 2012-02-28 2015-05-26 Arris Technology, Inc. Identity data management system for high volume production of product-specific identity data
SG11201602154YA (en) * 2013-09-23 2016-04-28 Xero Ltd Systems for access control and system integration
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060143600A1 (en) * 2004-12-29 2006-06-29 Andrew Cottrell Secure firmware update
US8738915B2 (en) * 2011-06-30 2014-05-27 Dell Products L.P. System and method for establishing perpetual trust among platform domains
CN104160403A (zh) * 2012-09-04 2014-11-19 英特尔公司 使用单个可信平台模块测量平台部件
US20140250291A1 (en) * 2013-03-01 2014-09-04 Nicholas J. Adams Continuation of trust for platform boot firmware
US20140365755A1 (en) * 2013-06-07 2014-12-11 Dell Inc. Firmware authentication
CN103944913A (zh) * 2014-04-28 2014-07-23 浪潮电子信息产业股份有限公司 一种面向服务器的安全固件设计方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI671629B (zh) * 2018-12-15 2019-09-11 英業達股份有限公司 機櫃與設置於機櫃中電子裝置的測試系統及其方法

Also Published As

Publication number Publication date
CN106682518A (zh) 2017-05-17
US20170134373A1 (en) 2017-05-11
US9935945B2 (en) 2018-04-03
TW201717000A (zh) 2017-05-16

Similar Documents

Publication Publication Date Title
TWI588749B (zh) 用於確保管理控制器韌體安全之方法及計算機裝置
US9742568B2 (en) Trusted support processor authentication of host BIOS/UEFI
TWI567579B (zh) 用於對硬體裝置提供金鑰的方法和設備
TWI581125B (zh) 以電腦實施的方法與使用其的系統、以及電腦程式產品
US9602282B2 (en) Secure software and hardware association technique
TWI436280B (zh) 存取基本輸入輸出系統設定的認證方法
US20100082960A1 (en) Protected network boot of operating system
JP4971466B2 (ja) コンピューティング・デバイスの安全なブート
US11556490B2 (en) Baseboard management controller-based security operations for hot plug capable devices
US10771264B2 (en) Securing firmware
JP4848458B2 (ja) 永続的セキュリティシステム及び永続的セキュリティ方法
TW201145041A (en) Provisioning, upgrading and/or changing of hardware
CN113785548B (zh) 用于实施数据中心中的有效载荷安全性策略的证明服务
US10425412B2 (en) Dynamic generation of key for encrypting data in management node
US10255438B2 (en) Operating system agnostic validation of firmware images
US11909882B2 (en) Systems and methods to cryptographically verify an identity of an information handling system
US20230246827A1 (en) Managing use of management controller secrets based on firmware ownership history
US20230237155A1 (en) Securing communications with security processors using platform keys
US20230134324A1 (en) Managing storage of secrets in memories of baseboard management controllers
US11720717B2 (en) System memory information protection with a controller
US11797679B2 (en) Trust verification system and method for a baseboard management controller (BMC)
CN108429727B (zh) 安全交换发现链路信息的方法
US20210194705A1 (en) Certificate generation method
US20240073007A1 (en) Enforcing access control for embedded controller resources and interfaces
TWI822531B (zh) 韌體保護系統及方法