TWI606396B - 母板、電腦可讀儲存裝置以及韌體驗證方法 - Google Patents

母板、電腦可讀儲存裝置以及韌體驗證方法 Download PDF

Info

Publication number
TWI606396B
TWI606396B TW105111768A TW105111768A TWI606396B TW I606396 B TWI606396 B TW I606396B TW 105111768 A TW105111768 A TW 105111768A TW 105111768 A TW105111768 A TW 105111768A TW I606396 B TWI606396 B TW I606396B
Authority
TW
Taiwan
Prior art keywords
motherboard
component
random number
response
transmitting
Prior art date
Application number
TW105111768A
Other languages
English (en)
Other versions
TW201729091A (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 TW201729091A publication Critical patent/TW201729091A/zh
Application granted granted Critical
Publication of TWI606396B publication Critical patent/TWI606396B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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/575Secure boot
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • 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/2103Challenge-response

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Virology (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Description

母板、電腦可讀儲存裝置以及韌體驗證方法
本發明係有關韌體認證,特別係有關防止啟動伺服器母板之惡意韌體更新的韌體認證。
在以往,英特爾(Intel)以及其他晶片供應商已將越來越多的功能,整合至晶片封裝中。舉例而言,現今的一個普通晶片設計,包括一核心處理器、記憶體控制器、整合的輸入/輸出控制器、USB控制器、SATA控制器等等。晶片製造商更可提供一公板(customer reference board)以及矽韌體參考碼,藉以幫助伺服器母板(motherboard)設計之原廠設計製造者(Original Design Manufactures(ODM))。客製化晶片的能力,係依據母板之原廠設計製造者的需求,上述現象意味著晶片的改變受限於輸入/輸出周邊、佈局、元件配置以及韌體設計。換句話說,伺服器母板的設計變成更加正規化;以及更低複雜度的工程,且設計已遷移至矽(亦即晶片本身)。
近來,開源基金會(open source foundations)(例如OPC基金會)已開始鼓勵設計者透過提供公共結構以享有儲存在共享資料庫之設計的好處,在網路上公開地分享想法、規格 以及其他知識產權。上述開源基金會的使用者,可進一步存取所記錄的資料庫,且製造任何一個可運用的文獻。
近年來,源自惡意軟體、蠕蟲以及病毒的惡意攻擊,已從軟體轉移至韌體,特別係統一可延伸韌體介面(Unified Extensible Firmware Interface)、基本輸入輸出系統(Basic Input/Output System)以及基板管理控制器(Baseboard Management Controller)韌體。如第2圖所示,由於上述所提之韌體的一部分係源於開源基金會202以及論壇204,因此駭客使用開放原始碼資料庫之惡意行為,係有可能存在的。特別的係,惡意人士可不受限制地下載韌體規格(步驟208),進而研究上述韌體規格以找出可能的安全性漏洞,且利用上述安全性漏洞以非法地存取及/或傷害伺服器。特別的是,上述駭客可將一伺服器母板的韌體(步驟210),更換為缺少各種安全協定的韌體,進而在上述安全性功能未啟用的情況下啟動伺服器(步驟212)。由於上述安全性功能被關閉,上述駭客進而可以在母板啟動時,植入病毒或惡意軟體至作業系統內部(步驟214),並將上述病毒透過網路以及各種機架伺服器218進行傳遞(步驟216)。雖然使用者可在伺服器母板之韌體內部設定一安全機制(例如安全啟動(Secure Boot)或使用者密碼),然而當韌體可透過開源資訊而被更換時,資料即處於高風險的狀況,因為伺服器的母板很少對於韌體的更換,進行安全檢查。
本發明所提供之系統、母板、電腦可讀儲存裝置以及實施例之概念,可在一母板啟動之前,驗證硬體及/或韌 體配置。舉例而言,依據本發明之一系統配置,在提供電源給一母板,且在上述母板完成啟動程序之前,會產生一隨機數(nonce)(單次使用的密碼),並傳送上述隨機數至上述母板的一第一元件,以及傳送上述隨機數至上述母板的一第二元件。上述系統進而從上述母板之一或多個元件(上述第一元件以及上述第二元件)接收一回應,而上述回應係以上述第一元件與上述第二元件之間的一通訊為基礎,且上述通訊使用上述隨機數。當上述回應表示一正確硬體配置及/或韌體配置時,上述系統執行上述母板之啟動。
100‧‧‧系統
110‧‧‧系統匯流排
120‧‧‧處理器
122‧‧‧快取記憶體
130‧‧‧記憶體
140‧‧‧唯讀記憶體
150‧‧‧隨機存取記憶體
160‧‧‧儲存裝置
170‧‧‧輸出裝置
180‧‧‧通訊介面
190‧‧‧輸入裝置
162、164、166‧‧‧模組
202‧‧‧開源基金會
204‧‧‧論壇
208、210、212、214、216‧‧‧步驟
218‧‧‧機架伺服器
300‧‧‧示意圖
302‧‧‧BMC
304‧‧‧UEFI BIOS
306‧‧‧CPLD
308、310、312、314、316、318‧‧‧步驟
400‧‧‧示意圖
402‧‧‧UEFI BIOS
404‧‧‧CPLD
406‧‧‧BMC
418、424‧‧‧GPIO區塊
434‧‧‧GPIO區塊或信箱
438‧‧‧IPMI
410、412、416、420、422、426、428、436、440、442、444‧‧‧步驟
408‧‧‧伺服器管理
500‧‧‧示意圖
502‧‧‧BMC
506‧‧‧CPLD
508‧‧‧數學邏輯
512‧‧‧PCH
514‧‧‧UEFI BIOS
504、510、516‧‧‧密碼
518、520‧‧‧圖表
600‧‧‧示意圖
602‧‧‧PCH
604‧‧‧CPLD
606‧‧‧BMC
608‧‧‧UEFI BIOS
610‧‧‧演算法
612、614、616、618、620、622‧‧‧圖表
702-714‧‧‧步驟
802-818‧‧‧步驟
902-918‧‧‧步驟
1002-1012‧‧‧步驟
1102-1112‧‧‧步驟
第1圖係依據本發明一實施例之系統的示意圖。
第2圖係依據本發明一實施例之在一母板中使用偽韌體的示意圖。
第3圖係依據本發明一實施例之伺服器母板元件之專用通訊的示意圖。
第4圖係依據本發明另一實施例之伺服器母板元件之專用通訊的示意圖。
第5圖係依據本發明一實施例之一母板之各元件之間的硬體連接的示意圖。
第6圖係依據本發明一實施例之一母板之各元件之間的交叉驗證的示意圖。
第7圖係依據本發明一實施例之一複雜可編程邏輯裝置傳送一個密碼和驗證反饋的示意圖。
第8圖係依據本發明另一實施例之一複雜可編程邏輯裝置傳送一個密碼和驗證反饋的示意圖。
第9圖係依據本發明又一實施例之一複雜可編程邏輯裝置傳送一個密碼和驗證反饋的示意圖。
第10圖係依據本發明又一實施例之一複雜可編程邏輯裝置傳送一個密碼和驗證反饋的示意圖。
第11圖係依據本發明一實施例之方法的示意圖。
本發明提供系統、方法以及電腦可讀儲存裝置,藉以提供一伺服器母板在啟動之前的保護機制。上述保護機制係在上述伺服器母板接收電源時,透過在伺服器母板的硬體元件之間,建立新的專用通訊。上述硬體元件可以係基板管理控制器(Baseboard Management Controller,以下註記為BMC)以及統一可延伸韌體介面(Unified Extensible Firmware Interface,以下註記為UEFI)基本輸入輸出系統(Basic Input/Output System,以下註記為BIOS)。上述保護機制使得上述BMC、UEFI BIOS以及上述伺服器母板彼此之間的通訊,係使用一動態協定,上述動態協定係透過隨機數(nonce)產生器來初始化,而隨機數可以係一個字、代碼或僅用在單一時機的密碼。上述母板的每一個元件,必須對所接收的輸入訊號做出正確的回應,直到驗證程序完成。若任何元件產生不正確的回應,則導致上述伺服器母板的電源被中斷。上述伺服器母板之複雜的可規劃邏輯元件(Complex Programmable Logic Device,以下註記為CPLD),係一根可信模組(root trusted module),且可為驗證韌 體配置的元件之一。舉例而言,當一偽(fake)UEFI BIOS以及BMC韌體被重新編程時,上述CPLD可檢查所接收的序列,並且可將上述所接收的序列與一正確序列做比較。若上述所接收的序列與上述正確序列不匹配,則表示一偽韌體元件,且上述偽韌體元件不知道用以通訊的演算法。在此情況下,上述CPLD(或其他韌體元件)將立即地關閉上述伺服器母板的電源。
依據本發明一實施例,一系統的配置,可在一母板接收到電源,且在上述母板啟動(booting)之前,產生一隨機數;傳送上述隨機數至上述母板的一第一元件,以及傳送上述隨機數至上述母板的一第二元件。上述系統進而從上述母板的上述第一元件以及第二元件之至少其中之一,接收一回應,其中上述回應係以上述第一元件與第二元件之間的一通訊協定為基礎,且上述通訊協定使用上述隨機數。當上述回應係表示一正確硬體配置時,上述系統執行上述母板之啟動。
本說明書將在下文中,詳細描述本發明之各種實施例。本發明之具體的實施例將被描述,應當理解的是,各具體的實施例僅用於達到說明的目的。在不脫離本發明之精神以及範圍的情況下,其他的元件以及配置亦可被採用。此外,可以理解的是,本發明之一實施例或範例所描述的特徵或配置,可以在本發明之其他實施例中實現,或與本發明之其他實施例做結合。亦即,例如「實施例」、「變化」、「觀點」、「範例」、「配置」、「實現」、「案例」以及其他的技術用語,可意味著描述特定特徵或配置的實施例,但並不用以將相關的特定特徵或配置限制在特定或獨立的實施例,且並不用以表示上述特徵或配置 不能與其他實施例、變化、觀點、範例、配置、實現、案例等等所提之特徵或配置做結合。換句話說,本發明之一特定範例(例如實施例,變化、觀點、配置、實現、案例等等)所描述之特徵,可與其他範例所描述之特徵做結合。因此,熟知本技術領域者應可瞭解,本發明之各實施例以及相關之特徵,可與彼此做結合。
第1圖所示之基本通用系統或計算裝置的簡單介紹說明,可用以實現本發明之概念、方法以及技術。有關韌體驗證之更詳細的描述,將伴隨著各實施例以及變化,在下文中闡述。在此之各種變化可描述為各種實施例。以下將介紹第1圖之內容。
如第1圖所示,一系統100(或計算裝置)包括一處理器(中央處理器(CPU)或處理器)120與一系統匯流排110,系統匯流排110將包括記憶體130之各系統元件耦接至處理器120,例如唯讀記憶體140與隨機存取記憶體150。系統100可包含一高速記憶體之快取記憶體(cache)122,快取記憶體122可與處理器120直接連接、靠近或整合為一部份。系統100可由記憶體130及/或儲存裝置160,複製資料至快取記憶體122,藉以使處理器120可快速存取。透過此方法,該快取記憶體可提供一效能提升以避免處理器120於等待資料時發生延遲。此模組與其他模組可控制,或被配置以控制處理器120執行各種操作或動作。其他記憶體130亦可被使用。記憶體130可包含多種不同類型且具有不同效能特徵的記憶體。可以理解的是,本發明所揭露之內容可在系統100上,透過一個以上的處理器120來進行操 作,或在一群或一聚集之連結成網路的複數計算設備中進行操作,藉以提供更好的處理效能。處理器120可包含任何通用處理器及一硬體模組或軟體模組(如儲存於儲存裝置160之模組162、模組164與模組166),並被配置以控制處理器120以及一特殊目的處理器,其中軟體指令係合併於處理器中。處理器120可為一自足式計算系統(self-contained computing system),並包含多個核心或處理器、一匯流排、記憶體控制器、快取記憶體等。一多核處理器可為對稱或非對稱。處理器120可包括複數個處理器,例如一系統具備在不同插槽之複數個實體獨立處理器,或一系統具備在單一實體晶片中的複數個處理器核心。相似地,處理器120可包括複數個分散式處理器,設置於多個獨立計算裝置,且共同運行(例如透過一通訊網路)。複數個處理器或處理器核心可分享資源(例如記憶體130或快取記憶體122),或可透過獨立資源進行操作。處理器120可包括一或多個狀態機(state machine)、一特定應用積體電路(application specific integrated circuit(ASIC))或一可編程閘陣列(programmable gate array(PGA))(包括一場域可編程閘陣列(field PGA,以下註記為FPGA)。
系統匯流排110可為任何匯流排結構,包括一記憶體匯流排或記憶體控制器、一周邊設備匯流排以及使用任何匯流排架構之本地匯流排。儲存在唯讀記憶體140之類的一BIOS,可提供基本功能,藉以協助轉換系統100之各元件之間的資訊(例如在啟動的期間)。系統100更包括儲存裝置160或電腦可讀儲存媒體(例如硬碟驅動器、磁碟驅動器、光碟驅動器、 磁帶驅動器、固態驅動器、隨機存取記憶體驅動器、可刪除之儲存裝置、磁碟陣列、混合儲存裝置等等)。儲存裝置160可包括軟體的模組162、164、166以控制處理器120。系統100可包括其他硬體或軟體模組,儲存裝置160透過一驅動器介面連接系統匯流排110。上述驅動器以及相關之電腦可讀儲存裝置,提供電腦可讀指令、資料結構、程式模組以及其他用於系統100之資料的非易失性儲存。另一方面,一硬體模組執行一特定功能,上述特定功能包括儲存在實體之電腦可讀儲存裝置中的軟體元件,並與必要的硬體元件連結(例如處理器120、系統匯流排110、輸出裝置170等等)以執行一特定功能。此外,上述系統可使用一處理器以及電腦可讀儲存裝置來儲存指令,當上述指令被上述處理器執行時,致使上述處理器執行複數操作、方法或其他特定動作。上述各基本元件以及適當的變化,可依據裝置的類型做修改,例如系統100是否為一小型手持計算裝置、一桌上型電腦或一電腦伺服器。當處理器120執行複數個指令以執行複數操作時,處理器120可直接執行及/或直接促進上述操作,或與其他裝置或組件合作以執行上述操作。
本發明一些實施例之儲存裝置160採用硬碟,然而其他類型之可儲存資料的電腦可讀儲存裝置,亦可被一電腦所存取,例如磁式匣(magnetic cassettes)、快閃記憶卡、DVDs、盒式磁帶(cartridges)、隨機存取記憶體150、唯讀記憶體140、具備一位元流的一電纜等,亦可在各實施例之操作環境中使用。其中,所述之實體之電腦可讀儲存媒體、電腦可讀儲存裝置或電腦可讀記憶體裝置,則係明確排除如短暫的波動、能 量、載波、電磁波與訊號本身。
為啟動使用者與系統100的互動,一輸入裝置190可表現任何數量的輸入機制,例如一用於演講之麥克風、一使用於手勢或圖形輸入之觸控螢幕、鍵盤、滑鼠、動態輸入、語音等等。一輸出裝置170亦可為一或多個具有一數量之輸出機制,且該輸出機制為所屬技術領域中具有通常知識者所習知。在一些實施例中,多模式介面(multimodal)系統可致使一使用者以提供多種類型的輸入以與系統100通訊。通訊介面180通常可治理與管理使用者輸入與系統輸出。本發明並未限制操作在任何特定硬體配置中,因此本發明所述之基本硬體可被輕易的置換於所開發之較佳的硬體或韌體配置中。
一BMC可為系統100之一專門的微控制器或處理器。在一些實施例中,上述BMC可為一智能平台管理介面(Intelligent Platform Management Interface,以下註記為IPMI)的一部分。此外,在一些實施例中,上述BMC可被嵌入至系統100之一母板或主要電路板。上述BMC可管理系統管理軟體以及平台硬體之間的介面。建立在系統100之不同類型的感測器,可向上述BMC回報各種參數,例如溫度、冷卻風扇的速度、電源狀態、作業系統狀態等等。上述BMC可監測上述感測器,若任何一個上述參數沒有保持在一預設限制範圍或閾值時,表示系統100的一潛在失效或錯誤,則透過一網路介面(例如一通訊介面)傳送警訊給一管理者。上述管理者亦可遠程地與上述BMC進行通訊,藉以採取一些修正措施,例如重置或將系統100進行電力循環(power cycling)以恢復功能。
韌體可包括一基本輸入/輸出系統或上述基本輸入/輸出系統的承接或等效元件。例如一可延伸韌體介面(Extensible Firmware Interface)或UEFI。上述韌體可在每一次系統100開啟時,如同一序列程式般地被載入且執行。上述韌體可基於配置,對系統100之硬體進行辨識、初始化以及測試。上述韌體可在系統100執行一自我檢測,例如開機自我檢測(Power-on-Self-Test,以下註記為POST)。上述自我檢測可測試各個硬體元件的功能,上述硬體元件包括硬碟驅動器、光學讀取裝置、冷卻裝置、記憶體模組、擴充卡等等。上述韌體可定址以及分配記憶體130、唯讀記憶體140、隨機存取記憶體150及/或儲存裝置160的一區域,藉以儲存一作業系統。上述韌體可載入一啟動載入器及/或作業系統,且將系統100之控制權交給上述作業系統。
一CPLD係複雜性與PAL以及FPGA相似的一可編程邏輯裝置,且與PAL以及FPGA兩者的架構特徵相似。上述CPLD的主要組件係一巨晶元(macrocell),上述巨晶元包含實現析取正規表達式(disjunctive normal form expressions)的邏輯以及更加特定的邏輯運算。CPLD可在一晶片層級,實現適度複雜的資料處理,且可為本發明所描述之一母板的一元件。
為了清楚地說明,本實施例之系統係描述成包括多個獨立功能區塊,上述獨立功能區塊包括標註為處理器或處理器120之功能區塊。上述功能區塊的功能,可透過分享的或專用的硬體來提供,上述硬體包括但不限於可執行軟體的硬體;以及建立用以運作,並且等效於執行軟體之一通用處理器 的硬體(例如處理器120)。舉例而言,如第1圖所示之一或多個處理器的功能,可透過單一個分享的處理器或多個處理器來提供。在此所述之處理器,不可被解釋成專門指定可執行軟體之硬體。在一些實施例中,可包括微處理器及/或數位訊號處理器(digital signal processor(DSP))硬體;用以儲存執行下文之操作之軟體的唯讀記憶體140;以及用以儲存結果之隨機存取記憶體150。超大型積體電路(very large scale integration,以下註記為VLSI)硬體以及客製化VLSI電路結合一通用數位訊號處理器(DSP)電路,亦可被採用。
上述各實施例之邏輯操作,可實現為:(1)電腦實現之步驟、操作或程序的一序列,上述程序係在一般使用之電腦的一可編程電路中運作;(2)電腦實現之步驟、操作或程序的一序列,上述程序係在一專用之可編程電路中運作;及/或(3)互聯之機器模組或上述可編程電路之程式引擎。第1圖之系統100可實現全部或部分之上述方法,亦可為上述實施例之系統的一部分,及/或可依據上述實體的電腦可讀儲存裝置之指令來運作。上述邏輯操作可被實現為模組,而上述模組係被配置以控制處理器120,藉以依據上述模組之編程來執行特定功能。舉例而言,第1圖描述三個模組(模組162、164、166),上述模組係被配置以控制處理器120。上述模組可被儲存在儲存裝置160,且在運作時被載入至隨機存取記憶體150或記憶體130,或可被儲存在其他電腦可讀記憶體的位置。
系統100的一或多個部分,直至系統100的整體,可被虛擬化。舉例而言,一虛擬處理器可為一軟體物件,且可 依據一特定指令集進行操作(即使係在與上述虛擬處理器相同類型的一實體處理器不能運作時)。一虛擬層或一虛擬主機可透過將虛擬化操作轉換為實體操作,啟用一或多個不同計算裝置或計算類型的虛擬化元件。然而,任何類型的虛擬化硬體,係透過一些底層實體硬體而被實現或執行。因此,一虛擬計算層可在一實體計算層上操作。上述虛擬計算層可包括一或多個虛擬機器、一覆蓋網路(overlay network)、一管理程序(hypervisor)、虛擬切換以及任何其他虛擬應用。
處理器120可包括本發明所揭露之所有類型的處理器,包括一虛擬處理器。然而,有關於一虛擬處理器,處理器120包括有關於在一虛擬層以及底層硬體,執行上述虛擬處理器的軟體元件,其中,上述底層硬體係執行上述虛擬層的必要元件。系統100可包括一實體的或虛擬的處理器120,用以接收儲存在一電腦可讀儲存裝置的指令,上述指令致使處理器120執行特定操作。關於一虛擬的處理器120,上述系統亦包括上述底層實體硬體以運行上述虛擬的處理器120。
上述實施例描述一計算系統的一些元件,而第2圖之內容,已敘述駭客以偽韌體更換韌體的危險,以下將針對第3圖做描述,第3圖係描述伺服器母板元件之專用通訊。在示意圖300中,一伺服器母板的韌體驗證,係透過在母板元件(BMC 302、UEFI BIOS 304、CPLD 306)之間,以一密碼做通訊來完成。若上述母板之各元件針對一輸入,提供正確回應,則啟動上述母板之上電(power-on)程序。
在示意圖300的實施例中,一密碼係在上述母板中 產生(例如使用UEFI BIOS 304)。上述密碼係(建議為)一隨機數,上述隨機數係隨機(或擬隨機)產生的單一使用之密碼。上述密碼係透過上述母板之第一元件讀取(例如BMC 302),如步驟308。一第二元件(例如CPLD 306)使用一通訊協定,讀取上述密碼(例如被BMC 302讀取之密碼),如步驟310。若CPLD 306表示BMC 302之密碼係不正確的,或尚未被上述BMC正確的修正,CPLD 306可啟動一母板關閉程序。同樣地,上述母板讀取(透過一元件,例如UEFI BIOS 304)被CPLD 306接收或修正之密碼,且相似地判定上述密碼的正確性,如步驟312。如示意圖300所示,驗證過程在三個位置之間發生(UEFI BIOS 304、BMC 302、以及CPLD 306),而在其他配置中,可採用額外的或更少的元件。
在上述各元件接收密碼且驗證密碼的有效性後,可啟動上電程序。在一些實施例中,如第3圖所示,上述上電程序係透過與讀取密碼相反的順序來進行。如第3圖所示,當確認來自CPLD 306的密碼(步驟312)時,上述母板啟動一設定上電程序,並傳送至CPLD 306,如步驟314。若CPLD 306從BMC 302所接收的密碼(步驟310)係正確的,上述上電程序繼續進行,CPLD 306透過與BMC 302的通訊,停止一監視計時器(watchdog timer),如步驟316。當BMC 302接收到上述監視計時器被停止(步驟316)的通知時,完成安全程序,如步驟318。此時,上述母板可完成一啟動程序。
如上文所述,本發明之系統配置,可透過更多或更少的元件,來執行韌體驗證。此外,上述上電程序可在每個 獨立韌體元件被驗證後執行,或可在所有上述韌體元件被驗證後執行。舉例而言,若BMC 302無法正確的提供一密碼至CPLD 306,上述上電程序可立即被終止,不需要UEFI BIOS 304對CPLD 306之額外的驗證(如步驟312)。
第4圖係伺服器母板元件(UEFI BIOS 402、CPLD 404、BMC 406、伺服器管理408)之專用通訊的示意圖400。伺服器母板在步驟410中啟動電源,且在步驟412中啟動一POST程序。一專用通訊係在伺服器母板硬體元件(例如UEFI BIOS 402以及BMC 406)之間進行通訊,直到一安全程序被完成。在一元件傳送一訊息,表示無法傳遞一上電密碼至一後續元件,且不能正確地從上述元件接收回應的情況下,可執行一措施以立即關閉上述伺服器母板的電源,並結束上述POST程序。
在上述伺服器母板中,UEFI BIOS 402、CPLD 404、BMC 406、伺服器管理408各自具備獨特的硬體介面,以及彼此之間的通訊協定。上述伺服器母板之各種元件(UEFI BIOS 402、CPLD 404、BMC 406、伺服器管理408),可透過設定以及讀取通用輸入/輸出(General Purpose Input/Output,以下註記為GPIO)的區塊來進行通訊。在示意圖400中,啟動電源(步驟410)以開啟一BMC啟動(步驟416),此時,在BMC 406接收透過一隨機數產生器所產生的一初始上電密碼。上述初始上電密碼可來自其他上述伺服器母板的元件(例如來自伺服器管理408或BMC 406之一模組)。當BMC 406接收上述初始上電密碼時,可對上述初始上電密碼執行一演算法或其他資料處理,藉以修改或轉換上述初始上電密碼。舉例而言,上述BMC可對所 接收之上述初始上電密碼的值加「2」。BMC 406進而儲存上述修改之密碼至CPLD 404可存取之一GPIO區塊418。在此同時,BMC 406啟動一監視計時器,若沒有在一預定時間內接收到來自CPLD 404的回應,則終止上述POST程序。
在步驟420中,CPLD 404讀取上述GPIO區塊之密碼;並透過設定一通用輸出(General Purpose Output)來回應BMC 406(步驟422)。當CPLD 404接收源自BMC 406之上述GPIO區塊的密碼(步驟420)時,亦可對所接收的密碼執行計算或演算法,且將修改之密碼紀錄至另一個GPIO區塊424。GPIO區塊424係由UEFI BIOS 402所讀取(步驟426),且UEFI BIOS 402透過設定上述GPIO區塊來回應上述CPLD(步驟428)。當CPLD 404透過GPIO區塊434接收源自UEFI BIOS 402之回應時,將上述回應與一預期回應進行比較。若上述回應係不正確的,或沒有收到上述回應,上述CPLD可關閉電源及/或關閉啟動程序。上述BMC亦可讀取GPIO且做出相對應的回應(步驟436)。依據特定的配置,UEFI BIOS 402亦可對BMC 406之輸出做驗證,藉以響應於讀取已更新之密碼,或可被配置成只依據CPLD 404之輸出(步驟442)。若所接收的密碼係正確的,上述BMC透過通報上述安全程序已完成來進行回應(步驟440);且與伺服器管理408透過IPMI 438,對上述伺服器母板之安全檢查的結果進行通訊(步驟444)。
第5圖係一母板之各元件(BMC 502、CPLD 506、PCH 512)之間的硬體連接的示意圖500。一種新的硬體通訊,係被增加在BMC 502至CPLD 506;CPLD至PCH 512;以及PCH 512至BMC 502。實體硬體介面可透過GPIO區塊或更複雜之硬體協定來連接,上述更複雜之硬體協定係取決於CPLD 506之設計。
在此實施例中,上述各元件被配置以加密在各元件之間傳遞的密碼。在一實施例中,上述加密的動作可應用數學計算,藉以將所接收之儲存在GPIO之上述密碼的值加「2」(亦可使用任意數值)。第5圖之圖表,圖表518表示一成功之硬體配置,以及圖表520表示一失敗之硬體配置。在圖表518之配置中,BMC 502接收或產生一隨機數的密碼504,而密碼504係儲存在GPIO區塊。BMC 502之輸出(密碼)係「0」(僅用以於說明),且被CPLD 506讀取為輸入。上述CPLD之數學邏輯508對上述密碼執行一數學演算法,產生一密碼510。在此實施例中,上述數學演算法係將輸入加「2」,且CPLD 506的輸出在圖表518中表示為「2」。表示為「2」的密碼510被PCH 512讀取為輸入,透過額外的數學計算,產生表示為「4」的密碼516,並被記錄至GPIO,且被上述BMC以及UEFI BIOS 514所讀取。由於透過PCH 512所輸出的最終結果係對應一正確值,以上描述之安全程序認定上述韌體係合乎認證的,且發送成功結果,並允許上述母板啟動。
然而,若上述韌體係被不知道上述加密演算法的人所修改,透過PCH 512所輸出的上述最終結果將不是「4」,進而導致以上描述之安全程序產生失敗的結果。如圖表520所示之失敗的配置,CPLD 506之輸出係正確的(結果為「2」),但PCH 512係產生「0」而不係「4」,此狀況表示PCH 512已被 破壞。因此,上述安全程序可保護上述母板之上電程序。此外,上述的事件可以被記錄,以供日後審核和數據匯總。
第6圖係一母板之各元件之間的交叉驗證的示意圖600。在一實施例中,所示之配置可用以確認韌體是否被不適當地修改。此外,所示之配置表示上述母板係如何確認結果。在示意圖600中,各元件(PCH 602、CPLD 604、BMC 606)具備與第5圖所示之相反的通訊流程。亦即,PCH 602將一密碼儲存至一GPIO區塊;CPLD 604接收上述密碼並執行計算,進而儲存修改之密碼至之一GPIO區塊(可以係與PCH 602所使用之相同或不同的GPIO區塊),此GPIO區塊係由BMC 606所讀取。BMC 606所接收之密碼再被修改、儲存,進而被PCH 602所讀取。基於上述通訊過程(以及UEFI BIOS 608),上述韌體之狀態可被驗證。
如第6圖所示,在此實施例中,交叉驗證(計算)係將「1」加入至所接收的值,如演算法610所示。舉例而言,在BMC 606與PCH 602之間的通訊中,若BMC 606所接收的密碼為「0」,將適當的輸出「1」做為結果,如圖表612所示。其中「0」或其他值將表示一失敗的結果,如圖表614所示。相似地,CPLD 604接收源自PCH 602之密碼,進而加「1」。若結果符合規定的值(如圖表616),CPLD 604係被認證且辨識為成功。若上述PCH檢查CPLD 604之輸出,而結果不係輸入加「1」的值,則判定為失敗,如圖表618所示。相似的驗證步驟可在CPLD 604至BMC 606執行,而成功的狀態如圖表620所示;失敗的狀態如圖表622所示。
上述失敗的結果,會基於不同的韌體元件的驗證失敗而有所不同。舉例而言,如第6圖所示,若上述PCH驗證失敗(圖表614),對應的措施可要求上述事件的紀錄,而非不啟動上述母板。若CPLD 604驗證失敗(圖表618),則結果可導致立即關閉上述母板的電源。若BMC 606驗證失敗(圖表622),則結果可導致立即停止POST程序。上述措施僅用以說明,且可依據需求進行組合或修改。舉例而言,在一些實施例中,上述任何一種驗證失敗的結果,可被記錄錯誤,當找到兩個錯誤時,系統停止自我檢測程序。在另一實施例中,每一個上述元件係以複數個方向進行檢測,亦即從不同來源接收輸入,且傳送輸出至不同元件,例如第5圖以及第6圖所述之不同資料流動方向。在此配置中,在一個方向中的錯誤,可導致停止一部份的POST程序,但在兩個方向中的錯誤,將導致上述母板的電源關閉。
此外,上述母板之各元件之間的通訊,可使用GPIO區塊以外之機制來執行儲存與擷取。舉例而言,UEFI BIOS與BMC韌體之間的另一種通訊,可為原始設備製造商(Original Equipment Manufacturer,以下註記為OEM)IPMI指令或專用信箱(由晶片設計所支援)。舉例而言,上述OEM IPMI指令可通報伺服器之惡意軟體韌體檢查狀態;讀取源自UEFI BIOS的上電密碼;及/或從BMC傳遞交叉驗證的結果至UEFI。
以上實施例描述一些基本系統元件以及概念,以下將描述第7至11圖的示範性方法。為了清楚地表達,以下方法將搭配第1圖之系統100做描述。各實施例之方法係用以示 範,且可透過任何實施例之組合來實現,上述組合的方式包括排除、增加或修改特定步驟。
第7圖描述一複雜可編程邏輯裝置傳送一個密碼和驗證反饋的示意圖。特別的是,第7圖描述可被加入至一BMC韌體設計的邏輯,用以開始通訊。第7圖之內容,包括在接收到電源時產生一上電密碼(步驟702);傳送新的上電密碼至輸出邏輯,上述輸出邏輯連接至CPLD(步驟704)從連接至CPLD的輸入邏輯讀取回應(步驟706);以及透過一數學子程序來驗證上述回應(步驟708)。若所接收之上述回應與預期不同,上述BMC韌體將記錄一暫停事件至伺服器事件日誌(Server Event Log)(步驟712)。若所接收之上述回應與預期相同,以上所述之用以開啟母板電源的安全程序將被啟動(步驟714)。
第8圖係一複雜可編程邏輯裝置傳送一個密碼和驗證反饋的示意圖。特別的是,第8圖描述可被加入至一CPLD的邏輯,用以與母板之其他韌體進行通訊。如第8圖所示之內容,上述CPLD可讀取源自連接BMC之輸入邏輯的上電密碼(步驟802)。上述CPLD可用連接至BMC之輸出邏輯,傳送有關於上述上電密碼之回應至上述BMC(步驟804);以及透過數學邏輯,加密所讀取之上電密碼(步驟806)。舉例而言,若上述上電密碼係一數字,上述數學邏輯可對所接收之上述數字進行加法、減法或其他數學運算。此修改(新的)之密碼透過連接上述CPLD以及PCH的輸出邏輯,被傳送至上述PCH(步驟808);且從上述PCH接收回應(步驟810)。上述源自PCH的回應係透過數學邏輯來驗證是否有效(步驟812),且可與上述CPLD所使用之 數學邏輯相同或不相同。若上述回應係正確的,上述CPLD執行上電程序(步驟818);若上述回應係不正確的(步驟814),上述CPLD關閉伺服器之電源(步驟816)。
第9圖係一複雜可編程邏輯裝置傳送一個密碼和驗證反饋的示意圖。特別的是,第9圖描述可被加至UEFI BIOS之新的子程序。配置上述子程序的UEFI BIOS,從CPLD讀取上電密碼(步驟902);提供回應至上述CPLD(步驟904),用以表示上述上電密碼以被接收;使用一數學子程序加密上述上電密碼(步驟906);以及傳送已更新之加密(被修改)的上電密碼,到連接上述BMC之輸出邏輯或信箱(步驟908)。上述UEFI BIOS進而從連接至上述BMC之輸入邏輯或信箱,接收上述回應(步驟910);且透過一數學子程序驗證上述回應(步驟912)。若上述回應係正確的,上述UEFI BIOS執行開機自我檢測程序;若上述回應係不正確的(步驟914),上述UEFI BIOS停止開機自我檢測程序(步驟916)。
第10圖係一複雜可編程邏輯裝置傳送一個密碼和驗證反饋的示意圖。特別的是,第10圖描述可被加至BMC韌體之子程序,用以最終檢查。具備上述子程序之一BMC透過連接PCH之輸入邏輯或信箱讀取一上電密碼(例如經過兩個元件的一上電密碼),上述上電密碼已被其他元件修改(調整)(步驟1002)。上述BMC透過輸出邏輯或上述信箱,提供回應至上述PCH(步驟1004);以及透過將所接收之上述上電密碼與一原始密碼比較,藉以驗證上述上電密碼(步驟1006)。若所接收之上述上電密碼係正確的,則完成以上所述之安全程序(步驟 1012)。若所接收之上述上電密碼係不正確的(步驟1008),則將相關錯誤紀錄至伺服器錯誤日誌(Sever Error Log)(步驟1010)。
第11圖係一方法的示意圖,可用於系統100之配置。當一母板接收到電源,且在上述母板啟動之前(步驟1102);系統100產生一隨機數(步驟1104);傳送上述隨機數至上述母板的一第一元件(步驟1106);以及傳送上述隨機數至上述母板的一第二元件(步驟1108)。系統100亦從上述母板之上述第一元件以及第二元件之至少其中之一接收一回應,其中上述回應係以上述第一元件與第二元件之間的一通訊協定做為基礎,且上述通訊協定使用上述隨機數(步驟1110)。當上述回應表示一正確硬體配置時,啟動上述母板(步驟1112)。
上述硬體配置可以係(或需要)上述各種元件之特定韌體配置。上述通訊協定可使用GPIO區塊、搭配上述隨機數之數學演算法及/或上述隨機數(或密碼)之加密。本實施例之方法可包括在上述回應表示一錯誤硬體配置時,發送上述母板之一電源關閉命令,及/或使用在上述母板、上述第一元件與上述第二元件之間的一反向通訊路徑,執行上述回應的一交叉驗證。上述通訊協定可使用上述母板各元件之間的一專用信箱通訊系統。
以上所述之各方法、邏輯以及配置可依據需求,相互地混合以及融合。舉例而言,專注於一母板之一或多個特定元件的邏輯的實施例,在採用相同的概念、檢查以及驗證機制的應用中,可被使用於以上各實施例以外之其他母板元件的韌體驗證。同樣地,一些實施例主要係針對用於已知硬體的特 定韌體配置的討論,上述所討論之概念可透過確認硬體之韌體係正確地配置,而應用於硬體驗證。
本發明之範圍亦可包括實體的及/或非暫態的電腦可讀儲存裝置,用於承載或擁有所儲存之電腦可執行指令或資料結構。實體電腦可讀儲存裝置可為任何可使用之裝置,上述可使用之裝置可被一通用或特殊目的電腦所存取,包括任何特殊目的處理器之功能設計(如前文所述)。上述實體電腦可讀儲存裝置可包括但不受限於隨機存取記憶體、唯讀記憶體、EEPROM、CD-ROM或其他光碟儲存、磁碟儲存或其他磁式儲存裝置,或任何其他可用於乘載或儲存所需之程式碼的裝置,其中上述程式碼係電腦可執行指令、資料結構或處理器晶片設計的形式。當資訊或指令透過一網路或其他通訊連接(有線、無線方式或兩者的組合),而被提供至一電腦時,上述電腦適當地將上述連結視為一電腦可讀媒體。因此,任何上述連結被適當地視為一電腦可讀媒體。上述各特徵的組合應包括在本發明之電腦可讀儲存裝置的範圍之中。
電腦可執行指令包括指令以及資料,致使一通用電腦、特殊目的電腦或特殊目的處理裝置執行特定的功能或一組功能。電腦可執行指令亦包括程式模組,上述程式模組係透過電腦以獨立或網路環境來執行。一般而言,程式模組包括例行程序、程式、組件、資料結構、物件、以及在特殊目的處理器的設計中固有的功能等等,用以執行特定任務或實現特定抽象資料類型。電腦可執行指令、相關的資料結構以及程式模組可代表上述程式碼的範例,用以執行本發明之方法的步驟。上 述可執行指令或相關的資料結構的特定程序,可代表實現本發明各個步驟之功能的相對應動作的範例。
本發明之其他實施例可在具備多種電腦系統配置的網路計算環境中實現,包括個人電腦、手持裝置、多處理器系統、基於微處理器的或可編程消費性電子產品、網路個人電腦、迷你電腦、大型電腦等等。本發明之特徵亦可實現於分散式計算環境,其中各任務係透過已連結的本地以及遠程處理裝置(有線、無線方式或兩者的組合),透過一通訊網路來執行。在一分散式計算環境中,程式模組可被設置在本地以及遠程記憶體儲存裝置。
以上各實施例所描述之內容僅用於說明,不應對本發明之範圍造成限制。舉例而言,以上所描述之原理可應用至伺服器以及非伺服器電腦之母板。在不脫離本發明之精神以及範圍的情況下,以上所述之各實施例的內容,可進行各種修改以及變化,且不需依照以上所述之各實施例的內容。申請專利範圍所描述之「至少一」,係表示屬於申請專利範圍之一組特徵中的其中一個特徵或多個特徵。
1102-1112‧‧‧步驟

Claims (9)

  1. 一種韌體驗證方法,包括:在一母板接收電源時,以及在啟動該母板之前:產生一隨機數;傳送該隨機數至該母板的一第一元件;傳送該隨機數至該母板的一第二元件;以及從該母板的該第一元件以及該第二元件的至少其中之一接收一回應;其中該回應係以該第一元件與該第二元件之間的一通訊協定為基礎,該通訊協定利用該隨機數;使用在該母板、該第一元件與該第二元件之間的一反向通訊路徑,執行該回應的一交叉驗證;以及當該回應表示一正確硬體配置時,啟動該母板。
  2. 如申請專利範圍第1項所述之韌體驗證方法,更包括在該回應表示一錯誤硬體配置時,發送該母板之一電源關閉命令。
  3. 如申請專利範圍第1項所述之韌體驗證方法,其中該通訊協定利用與該隨機數結合的一數學演算法來產生該回應。
  4. 如申請專利範圍第1項所述之韌體驗證方法,更包括在傳送該隨機數至該第一元件之前,以及在傳送該隨機數至該第二元件之前,對該隨機數進行加密。
  5. 如申請專利範圍第1項所述之韌體驗證方法,其中該正確硬體配置需要一正確韌體配置。
  6. 一種母板,包括:一處理器;一第一元件;一第二元件;以及一電腦可讀儲存媒體,儲存複數指令,當該等指令被該處理器執行時,致使該處理器執行複數動作,該等動作包括:在接收電源時,以及在啟動該母板之前:產生一隨機數;傳送該隨機數至該第一元件;傳送該隨機數至該第二元件;以及從該第一元件以及該第二元件的至少其中之一接收一回應;其中該回應係以該第一元件與該第二元件之間的一通訊協定為基礎,該通訊協定利用該隨機數;使用在該母板、該第一元件與該第二元件之間的一反向通訊路徑,執行該回應的一交叉驗證;以及當該回應表示一正確硬體配置時,啟動該母板。
  7. 如申請專利範圍第6項所述之母板,該電腦可讀儲存媒體更儲存第二複數指令,當上述第二複數指令被該處理器執行時,致使該處理器執行第二複數動作,上述第二複數動作包括:在該回應表示一錯誤硬體配置時,發送該母板之一電源關閉命令。
  8. 一種電腦可讀儲存裝置,儲存複數指令,當該等指令被 一計算裝置執行時,致使該計算裝置執行複數動作,該等動作包括:在一母板接收電源時,以及在啟動該母板之前:產生一隨機數;傳送該隨機數至該母板的一第一元件;傳送該隨機數至該母板的一第二元件;以及從該母板的該第一元件以及該第二元件的至少其中之一接收一回應;其中該回應係以該第一元件與該第二元件之間的一通訊協定為基礎,該通訊協定利用該隨機數;使用在該母板、該第一元件與該第二元件之間的一反向通訊路徑,執行該回應的一交叉驗證;以及當該回應表示一正確硬體配置時,啟動該母板。
  9. 如申請專利範圍第8項所述之電腦可讀儲存裝置,更儲存第二複數指令,當上述第二複數指令被該計算裝置執行時,致使該計算裝置執行第二複數動作,上述第二複數動作包括:在該回應表示一錯誤硬體配置時,發送該母板之一電源關閉命令。
TW105111768A 2016-02-01 2016-04-15 母板、電腦可讀儲存裝置以及韌體驗證方法 TWI606396B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US15/012,158 US9805200B2 (en) 2016-02-01 2016-02-01 System and method for firmware verification

Publications (2)

Publication Number Publication Date
TW201729091A TW201729091A (zh) 2017-08-16
TWI606396B true TWI606396B (zh) 2017-11-21

Family

ID=59387611

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105111768A TWI606396B (zh) 2016-02-01 2016-04-15 母板、電腦可讀儲存裝置以及韌體驗證方法

Country Status (3)

Country Link
US (1) US9805200B2 (zh)
CN (1) CN107025406B (zh)
TW (1) TWI606396B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI740214B (zh) * 2019-09-24 2021-09-21 技嘉科技股份有限公司 伺服器啟動方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11151225B2 (en) * 2016-02-17 2021-10-19 Dell Products, L.P. License management in pre-boot environments
US10002213B2 (en) 2016-06-01 2018-06-19 Oracle International Corporation System and method for verifying the deterministic starting state of a digital device
US10515218B2 (en) * 2016-10-01 2019-12-24 Intel Corporation Systems, apparatuses, and methods for platform security
US10831897B2 (en) * 2017-07-14 2020-11-10 Dell Products, L.P. Selective enforcement of secure boot database entries in an information handling system
US10839080B2 (en) * 2017-09-01 2020-11-17 Microsoft Technology Licensing, Llc Hardware-enforced firmware security
CA3073751C (en) 2017-09-06 2023-08-15 Absolute Software Corporation Secure firmware interface
US10956575B2 (en) * 2017-11-20 2021-03-23 Hewlett Packard Enterprise Development Lp Determine malware using firmware
TWI665604B (zh) * 2018-02-27 2019-07-11 其陽科技股份有限公司 具開機之可信驗證與容錯移轉之計算機系統及方法
US10817610B2 (en) 2018-03-23 2020-10-27 Wipro Limited Method and system for providing hack protection in an autonomous vehicle
TWI662417B (zh) * 2018-05-31 2019-06-11 緯創資通股份有限公司 切換卡以及伺服器
JP7090495B2 (ja) * 2018-07-18 2022-06-24 キヤノン株式会社 情報処理装置とその制御方法
WO2020026228A1 (en) * 2018-08-01 2020-02-06 Vdoo Connected Trust Ltd. Firmware verification
US10489338B1 (en) * 2018-09-05 2019-11-26 Quanta Computer Inc. Method and system for streamlined server design
US10956576B2 (en) * 2018-09-06 2021-03-23 Micron Technology, Inc. Secure boot via system and power management microcontroller
CN109491846B (zh) * 2018-10-17 2022-02-18 郑州云海信息技术有限公司 一种用于服务器抓取SATA硬盘trace的方法和系统
US11023586B2 (en) * 2018-10-26 2021-06-01 American Megatrends International, Llc Auto detection mechanism of vulnerabilities for security updates
CN109726059B (zh) * 2019-01-02 2022-07-29 浪潮商用机器有限公司 一种服务器测试系统
CN111766797A (zh) * 2019-04-02 2020-10-13 海盗船存储器公司 微控制器、存储模块及用于更新微控制器的韧件的方法
US11176270B2 (en) * 2019-05-10 2021-11-16 Dell Products L.P. Apparatus and method for improving data security
EP3912068A4 (en) * 2019-05-15 2022-08-10 Hewlett-Packard Development Company, L.P. UPDATE SIGNALS
TWI694452B (zh) * 2019-09-11 2020-05-21 英業達股份有限公司 電腦測試方法
CN112632552A (zh) * 2019-09-24 2021-04-09 技嘉科技股份有限公司 服务器启动方法
US11100230B1 (en) 2019-12-31 2021-08-24 Management Services Group, Inc. Modular embedded chassis with firmware for removably coupled compute devices, and methods and systems for the same
US11487550B1 (en) * 2020-12-07 2022-11-01 Amazon Technologies, Inc. Event communication management
CN113282969B (zh) * 2021-05-13 2023-10-31 中科可控信息产业有限公司 设备控制方法、电子设备及可读存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7243237B2 (en) * 2003-05-02 2007-07-10 Microsoft Corporation Secure communication with a keyboard or related device
US7636442B2 (en) * 2005-05-13 2009-12-22 Intel Corporation Method and apparatus for migrating software-based security coprocessors
US7805598B2 (en) * 2007-05-03 2010-09-28 Dell Products L.P. Auto-detecting and auto-correcting system state changes before booting into operating systems
US8418259B2 (en) * 2010-01-05 2013-04-09 Microsoft Corporation TPM-based license activation and validation
US8644510B2 (en) * 2011-05-11 2014-02-04 Alcatel Lucent Discovery of security associations for key management relying on public keys
CN103136485B (zh) 2011-11-28 2016-08-17 联想(北京)有限公司 一种实现计算机安全的方法和计算机
US9230112B1 (en) * 2013-02-23 2016-01-05 Xilinx, Inc. Secured booting of a field programmable system-on-chip including authentication of a first stage boot loader to mitigate against differential power analysis
US9536094B2 (en) * 2014-01-13 2017-01-03 Raytheon Company Mediated secure boot for single or multicore processors
CN105022651B (zh) * 2015-07-29 2018-08-28 北京后易科技有限公司 一种设备生产过程中的防盗版方法及固件烧写装置
CN105160255A (zh) 2015-08-06 2015-12-16 浪潮电子信息产业股份有限公司 一种可信度量装置及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI740214B (zh) * 2019-09-24 2021-09-21 技嘉科技股份有限公司 伺服器啟動方法

Also Published As

Publication number Publication date
CN107025406A (zh) 2017-08-08
US9805200B2 (en) 2017-10-31
CN107025406B (zh) 2020-07-14
TW201729091A (zh) 2017-08-16
US20170220802A1 (en) 2017-08-03

Similar Documents

Publication Publication Date Title
TWI606396B (zh) 母板、電腦可讀儲存裝置以及韌體驗證方法
US11843705B2 (en) Dynamic certificate management as part of a distributed authentication system
US9742568B2 (en) Trusted support processor authentication of host BIOS/UEFI
KR101066727B1 (ko) 컴퓨팅 장치의 보안 부팅
US11809544B2 (en) Remote attestation for multi-core processor
US9990255B2 (en) Repairing compromised system data in a non-volatile memory
US11354417B2 (en) Enhanced secure boot
TWI745629B (zh) 電腦系統以及初始化電腦系統的方法
CN113568799A (zh) 对物理安全设备的模拟
CN116049825A (zh) 管理基板管理控制器的存储器中的秘密的存储
US11675908B2 (en) Unattended deployment of information handling systems
US11809564B2 (en) Secure importation of cryptographic credentials to an information handling system
US11977640B2 (en) Systems and methods for authenticating the identity of an information handling system
US11822669B2 (en) Systems and methods for importing security credentials for use by an information handling system
US11822668B2 (en) Systems and methods for authenticating configurations of an information handling system
Cutler et al. Trusted disk loading in the Emulab network testbed
US11843707B2 (en) Systems and methods for authenticating hardware of an information handling system
CN113454624A (zh) 网络凭据的存储