TWI570591B - 允許測試金鑰用於bios安裝之技術 - Google Patents

允許測試金鑰用於bios安裝之技術 Download PDF

Info

Publication number
TWI570591B
TWI570591B TW104110020A TW104110020A TWI570591B TW I570591 B TWI570591 B TW I570591B TW 104110020 A TW104110020 A TW 104110020A TW 104110020 A TW104110020 A TW 104110020A TW I570591 B TWI570591 B TW I570591B
Authority
TW
Taiwan
Prior art keywords
bios
test
computing device
key
command
Prior art date
Application number
TW104110020A
Other languages
English (en)
Other versions
TW201602835A (zh
Inventor
克里斯多弗H 史圖華德
孝俊 朴
杰尼E 史考特
傑佛瑞K 珍森納
藍 王
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 TW201602835A publication Critical patent/TW201602835A/zh
Application granted granted Critical
Publication of TWI570591B publication Critical patent/TWI570591B/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/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/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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • 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
    • G06F9/4406Loading of operating system
    • 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/2147Locking files

Description

允許測試金鑰用於BIOS安裝之技術
本發明係有關於允許測試金鑰用於BIOS安裝之技術。
發明背景
一計算系統可包括執行計算裝置之各種啟動功能之碼。此碼可包括基本輸出入系統(BIOS)碼。該BIOS碼可初始化及測試計算裝置之硬體。此外,該BIOS碼可自該計算裝置之一記憶體裝置載入啟動碼及/或一作業系統。
依據本發明之一實施例,係特地提出一種計算裝置包含一指令以控制一測試金鑰之一使用於一測試基本輸出入系統(BIOS)之安裝;一控制器以基於該指令之一驗證而允許該測試金鑰之該使用;及該測試BIOS以基於該測試金鑰之容差置換該製造BIOS之至少一部分。
102、600‧‧‧計算裝置
104‧‧‧指令
106‧‧‧控制器
108‧‧‧驗證指令模組
110‧‧‧允許測試金鑰模組
112‧‧‧非依電性記憶體
114‧‧‧基本輸出入系統(BIOS)
116‧‧‧製造BIOS
118‧‧‧測試BIOS
202-208、302-312、402-414、502-518‧‧‧操作
602‧‧‧處理器
604‧‧‧機器可讀取儲存媒體
606-620‧‧‧指令
附圖中,類似的元件符號係指相似的組件或方塊。後文詳細說明部分參考附圖,附圖中:圖1為用於接收一指令以控制一測試金鑰用於藉 一控制器驗證之計算裝置之一實施例之方塊圖,及基於該指令之該驗證,該控制器允許安裝一測試BIOS以在一非依電性記憶體內部置換一製造BIOS之至少一部分;圖2為由一計算裝置可執行以接收一指令控制一測試金鑰之使用之方法之一實施例之方塊圖,及基於該指令之該驗證,該方法前進至安裝一測試BIOS以置換製造BIOS之至少一部分;圖3為由一計算裝置可執行以接收一指令控制一測試金鑰之使用之方法之一實施例之流程圖,及基於該驗證,該方法允許該測試金鑰之使用於安裝一測試BIOS;圖4為由一計算裝置可執行之方法之一實施例之流程圖,該方法用以驗證一指令用於控制一測試金鑰之使用及在一測試BIOS安裝之前決定該計算裝置是否於一閂鎖規劃模式;圖5為由一計算裝置可執行之方法之一實施例之流程圖,該方法用以驗證一指令用於控制一測試金鑰之使用,當該指令之該驗證時重新啟動該計算裝置,及在一測試BIOS安裝之前,使用該測試金鑰驗證一測試BIOS之一啟動區塊;及圖6為具有一處理器之計算裝置之一實施例之方塊圖,於一機器可讀取儲存媒體中執行指令用以透過密碼術驗證一指令以允許一測試金鑰之使用,該測試金鑰之容差允許安裝一測試BIOS以置換一製造BIOS之至少一部分。
較佳實施例之詳細說明
BIOS碼之安裝於一計算裝置可能出現在製造層級或製造後層級,且於本文件全文中稱作為製造BIOS。製造BIOS可與一製造數位簽章及初始化時用於驗證之一製造金鑰對相聯結。一旦安裝了製造BIOS,可能無法對該製造BIOS做修改。於本文件全文中該修改稱作為測試BIOS。除非發生測試BIOS之驗證,否則該製造BIOS之特定區可能無法修改;但計算裝置可使用製造金鑰對以驗證測試BIOS。如此導致測試BIOS之失效,因而不允許安裝測試BIOS以修改製造BIOS。如此可能沒有一具現以辨識與該測試BIOS相聯結的一數位簽章。
為了解決此等問題,此處揭示之實施例提出一種彈性辦法以給製造BIOS提供製造後發展。該等實施例揭示一指令以控制一測試金鑰用於在安裝前驗證該測試BIOS以置換一製造BIOS之至少一部分。驗證該測試BIOS確保一安全環境,及防止被未經授權之來源篡改。此外,此等製造後發展可包括更新、除錯、內部測試等。藉此方式,測試BIOS可給已經安裝之製造BIOS提出更新。又,製造BIOS可以受控方式自與該計算裝置通訊之一外部來源發展。如此以無縫方式給該BIOS提供更新,原因在於該計算裝置可自一遠端位置(例如,外部來源)接收更新故。
於此處揭示之另一個實施例中,該指令可包括在安裝前驗證該測試BIOS之測試金鑰。此外,於本實施例中,計算裝置內部之一控制器可以與該測試金鑰不同之一金鑰 驗證該指令。於本實施例中,該指令及測試BIOS係自一外部來源傳輸,及各自以在外部來源之不同密鑰數位簽章。舉例言之,指令係以一製造密鑰數位簽章,而測試BIOS係以一測試密鑰數位簽章。如此提供額外安全特徵,原因在於指令及測試BIOS兩者可在測試BIOS之安裝之前驗證故。
要言之,此處揭示之實施例提出當一製造BIOS已經安裝在該計算裝置上時用於安裝一測試BIOS於一計算裝置上之彈性。此外,此處揭示之實施例提出一具現用以驗證對該製造BIOS之製造後修改用於該BIOS之更新、發展、除錯、及/或內部測試。
現在參考附圖,圖1為用於接收一指令104以控制一測試金鑰之用於一測試BIOS 118之安裝之計算裝置102之一實施例之方塊圖。計算裝置102包括一控制器106以於模組108驗證該指令,及基於該指令之驗證允許該測試金鑰於模組110。此外,當允許該測試金鑰於模組110時,計算裝置102以該測試BIOS 118置換在一非依電性記憶體112內部之製造BIOS 116之至少一部分。製造BIOS 116及測試BIOS 118表示BIOS 114之不同層級。舉例言之,該BIOS 114安裝於製造層級或製造後時考慮製造BIOS 116。對製造BIOS 116之修改考慮測試BIOS 118。如此,測試BIOS 118可包括對製造BIOS 116之更新、發展、或除錯。藉此方式,安裝測試BIOS 118以置換部分製造BIOS 116提供了製造後發展。使得測試BIOS 118置換部分製造BIOS 118給BIOS 114提供了彈性用以提供更新等。因此,該製造BIOS可以受 控方式從一遠端位置發展。
該計算裝置102為包括控制器106及非依電性記憶體112之一電子裝置。因此,計算裝置102之具現包括行動裝置、客端裝置、個人電腦、桌上型電腦、膝上型電腦、平板、可攜式裝置、視訊遊戲機、或其它型別之電子裝置。計算裝置102可接收指令104作為由一外部來源(圖中未例示說明)傳輸之一資料包裹程式之部分。該資料包裹程式可包括指令104及一測試BIOS檔案。該測試BIOS檔案包括該測試BIOS碼(亦即測試BIOS)及/或一啟動區塊相對應於用以置換製造BIOS 116之該相對應部分之該測試BIOS。舉例言之,該測試BIOS可包括該啟動區塊用於在該測試BIOS安裝之前藉該測試公鑰驗證。於此一具現中,指令104包括該測試金鑰,而該測試BIOS檔案包括該測試BIOS 118之該測試BIOS碼及/或一啟動區塊。此一具現詳細討論於後文圖式中。作為該資料處理系統之一部分,該指令104及該測試BIOS 118兩者包括由該外部來源之數位簽章;但該指令104及該測試BIOS 118係以不同的密鑰數位簽章。舉例言之,該指令104係以一製造密鑰數位簽章,而該測試BIOS 118係以一測試密鑰數位簽章。與該指令104相聯結的數位簽章係使用該製造密鑰驗證,與測試BIOS 118相聯結的數位簽章係使用傳輸作為該指令104之一部分的該測試密鑰驗證。此一具現詳細討論於稍後圖式中。
指令104為自外部來源至計算裝置102之一請求以指導該計算裝置102以允許在安裝前在指令104內部使用 該測試金鑰用以驗證該測試BIOS 118。於一個具現中,指令104係與由外部來源產生的數位簽章相聯結。於此一具現中,計算裝置102在該指令104之接收之前,接收相對應於該數位簽章之一密碼金鑰。為了該指令104之認證及/或查驗,計算裝置102使用此一密碼金鑰以查驗與該指令104相聯結的該數位簽章。計算裝置102例示可透過一網路與外部來源(圖中未例示說明)通訊之一計算系統,諸如廣域網路(WAN)、區域網路(LAN)、個人區域網路(PAN)、網格網路、行動裝置網路、或能夠傳輸指令104給計算裝置102之其它型別的網路。於另一具現中,該外部來源藉來到計算裝置102的緊密鄰近而與該計算裝置102直接通訊。
控制器106包括模組108及110以驗證由計算裝置102接收之指令,及當指令驗證時轉而控制器106允許測試金鑰之使用。測試金鑰係得自在模組108當指令驗證時及傳輸給一內嵌式控制器(圖中未例示說明)。該內嵌式控制器使用該測試金鑰在安裝至該非依電性記憶體112之前,驗證附加在測試BIOS 118之數位簽章。如前文解說,該指令可發送作為資料包裹程式之一部分,及就此該指令可包括該測試金鑰,及計算裝置102可於驗證與指令104相聯結的數位簽章時獲得測試金鑰。控制器106之具現包括處理器、電子裝置、計算系統、微處理器、微晶片、晶片組、電子電路、半導體、微控制器、中央處理單元(CPU)、或能夠於模組108驗證該指令且基於該指令之驗證,允許使用測試金鑰於模組110。於一個具現中,控制器106可包括內嵌式控制器, 其基於在模組108之指令之驗證接收測試金鑰。於另一個具現中,控制器106係與內嵌式控制器不同的一控制器,及如此基於在模組108之指令之驗證,控制器106傳輸該測試金鑰及該測試BIOS檔案給內嵌式控制器用以查驗在安裝前之該測試BIOS 118。
模組108及110在外部來源驗證與該指令104相聯結的數位簽章,及基於該驗證,控制器106允許該測試金鑰。於模組108及110,當指令之驗證時,測試金鑰可得自指令104。於此一具現中,測試金鑰作為指令104的一部分。因此,當查驗與指令104相聯結的數位簽章時,控制器可自指令104取回測試金鑰。於一個具現中,當取回測試金鑰時,控制器106發送測試金鑰及測試BIOS檔案給一內嵌式控制器。在安裝測試BIOS 118之前,內嵌式控制器使用測試金鑰以查驗與該測試BIOS檔案相聯結的數位簽章。模組108及110可包括可由控制器106執行的指令、指令集、處理程序、操作、邏輯、技術、函式、韌體及/或軟體,以查驗指令104用以允許測試金鑰查驗該測試BIOS。
非依電性記憶體112為計算裝置102內部之一儲存區其維持該BIOS 114。非依電性記憶體112包括BIOS 114,其又包括製造BIOS 116。在非依電性記憶體112內部,製造BIOS 116之多個部分中之一者可以測試BIOS 118之安裝置換。製造BIOS 116之部分相對應於測試BIOS 118表示就功能、目的、及/或用量而言,測試BIOS 118可類似該測試BIOS 118置換的製造BIOS 116之該部分。藉此方式,測 試BIOS 118更新、發展、及/或除錯製造BIOS 116之該部分。非依電性記憶體112為計算裝置102內部之記憶體,其維持BIOS 114及其它資料,即便計算裝置102不啟動時亦復如此。因此,非依電性記憶體112之具現包括唯讀記憶體、快閃記憶體、鐵電記憶體、鐵電RAM、磁性儲存記憶體、微型固態硬碟(nandorive)、儲存驅動裝置、記憶體組件、或此等記憶體組件之任一種組合以維持BIOS 114。於一個具現中,非依電性記憶體112可進一步包括相對應於公鑰以驗證指令104之數位簽章。
BIOS 114包括製造BIOS 116。雖然圖1例示BIOS 114與製造BIOS 116分開,但此點係用於例示說明目的而非限制性。舉例言之,BIOS 114及製造BIOS 116可包括作為一個組件。
製造BIOS 116為在測試BIOS 118之安裝之前存在於計算裝置102上的BIOS 114之層級。於一個具現中,在測試BIOS 118之安裝之前,製造BIOS 116事先安裝於計算裝置102上。如前文解釋,製造BIOS 116可包括由製造商安裝的BIOS。
測試BIOS 118為對製造BIOS 116之相對應部分的修改。該修改可包括針對製造BIOS 116之更新、發展、及/或除錯面向。測試BIOS 118包括BIOS碼用以置換製造BIOS 116之該部分。如前文解釋,測試BIOS 118可含括作為自外部來源至計算裝置102的該資料包裹程式內部之測試BIOS檔案的一部分。因此,測試BIOS檔案可包括該測試 BIOS碼及/或針對該測試BIOS之資料之一啟動區塊。於此一具現中,測試BIOS檔案及/或測試BIOS 118係與在外部來源之一數位簽章相聯結。用以查驗該數位簽章之相對應金鑰對(亦即測試公鑰)係得自基於在模組108之該指令之驗證而傳輸給計算裝置102之指令104。就此方面而言,指令104可控制測試金鑰,該測試金鑰係用以驗證在安裝於非依電性記憶體112之前,與測試BIOS 118相聯結的數位簽章。此一具現詳細討論於稍後圖式中。此外,雖然圖1例示測試BIOS 118與指令104分開傳輸,但此點係為了例示目的,原因在於測試BIOS 118可與指令104一起傳輸作為自外部來源之該資料包裹程式之一部分。
圖2為由一計算裝置可執行以接收一指令用於控制一測試金鑰之使用的方法之一實施例之方塊圖。當接收到指令時,計算裝置驗證該指令以安裝一測試BIOS置換部分製造BIOS。若該計算裝置不驗證該指令(例如,使該指令失效),則計算裝置不安裝測試BIOS。製造BIOS及測試BIOS表示不同層級的BIOS。舉例言之,製造BIOS被考慮為該BIOS可安裝於以一製造密鑰簽章的一製造層級,或可包括以一製造密鑰簽章的一後-製造BIOS。測試BIOS被視為對以測試密鑰簽章之該製造BIOS之一修改,及因而可包括對該製造BIOS之一更新、發展、及/或除錯。一旦在後-製造模式中時,致動測試BIOS以置換製造BIOS之部分可給該BIOS提供彈性。因此,製造BIOS可以受控方式自與該計算裝置通訊之一外部來源發展。如此,當該計算裝置可自一 遠端位置(例如,外部來源)接收更新時,進一步以無縫方式給BIOS提供更新。又,安裝該測試BIOS以置換該部分製造BIOS,使其能接取該BIOS用於計算裝置內部之更新等,其可置於閂鎖規劃模式。再者,計算裝置及外部來源可利用不同金鑰對,各個金鑰對表示在該BIOS之特定層級的驗證。於此一具現中,外部來源及計算裝置利用兩個不同金鑰對用於簽章及查證。舉例言之,外部來源可以一製造密鑰簽章該指令,計算裝置以相對應公鑰(亦即製造公鑰)驗證該經簽章之指令。此外於此一實施例中,外部來源可以一測試密鑰簽章該測試BIOS碼,及計算裝置可以相對應公鑰(亦即測試公鑰)驗證該測試BIOS。此一具現詳細討論於稍後圖式中。驗證測試BIOS檔案及指令之數位簽章,提供了一安全環境保護該BIOS免受攻擊。於討論圖2中,可參考圖1中之組件以提供情境實施例。舉例言之,計算裝置102執行操作202-208以驗證允許使用測試金鑰用於測試BIOS之安裝的指令。於另一個實施例中,如同圖1中之控制器106執行操作202-208。又,雖然圖2係描述為由計算裝置具現,但可於其它合宜組件上執行。舉例言之,圖2可以如同圖6中之在一機器可讀取儲存媒體604上之可執行指令形式具現。
於操作202,計算裝置接收指令用以控制一測試金鑰的使用。於一個具現中,該遠端來源(例如,外部來源)傳輸指令。於另一個具現中,該指令可由一外部驅動裝置諸如快閃驅動裝置傳輸,該裝置可與該計算裝置通訊。該 指令係作為一資料包裹程式之一部分傳輸給該計算裝置。該資料包裹程式可包括指令及測試BIOS檔案。指令包括測試金鑰,而測試BIOS檔案包括測試BIOS碼及/或該測試BIOS之一啟動區塊。作為資料包裹程式之一部分,指令及測試BIOS檔案兩者包括由外部來源之數位簽章;但指令及測試BIOS檔案係以不同的密鑰數位簽章。舉例言之,該指令係以製造密鑰數位簽章,而測試BIOS檔案係以測試密鑰數位簽章。與該指令相聯結的數位簽章係於操作204使用製造密鑰認證。於另一個具現中,與測試BIOS檔案相聯結的數位簽章係使用測試密鑰驗證,該測試密鑰作為指令的一部分。此一具現詳細討論於稍後圖式中。
於操作204,計算裝置驗證接收指令作為於操作202之資料包裹程式的一部分。如前文解釋,指令可隨屬在外部來源的數位簽章,如此,計算裝置於操作202驗證數位簽章。當指令驗證時,計算裝置可取得測試金鑰,及傳輸測試金鑰及測試BIOS檔案給內嵌式控制器。於此一具現中,內嵌式控制器經由啟動區塊起始該測試BIOS,及使用測試金鑰以驗證附加至測試BIOS檔案的簽章。於此一具現中,在計算裝置內部之一處理單元可含有指令用於驗證及傳輸啟動區塊及測試金鑰給內嵌式控制器。於另一個具現中,該計算裝置利用該製造公鑰以密碼術驗證該指令。若該計算裝置驗證該指令,該方法前進至操作208,及安裝測試BIOS以置換該製造BIOS之部分。若計算裝置不能驗證該指令,該方法前進至操作206及不安裝測試BIOS。
於操作206,若於操作204該指令未能驗證,則計算裝置不會安裝該測試BIOS。若計算裝置決定指令失敗或無效,如此可指示計算裝置無需存取相對應金鑰對,其允許附加至指令之數位簽章之驗證。如此防止未經授權之裝置贏得接取至測試金鑰及/或測試BIOS。
於操作208,若於操作204該指令未能驗證,則計算裝置安裝測試BIOS碼於測試BIOS檔案內部以置換製造BIOS之部分。該製造BIOS之部分相對應於測試BIOS碼,表示該測試BIOS碼之功能、目的、及/或用量係相似或類似該製造BIOS之部分。藉此方式,該測試BIOS更新、發展、及/或除錯該製造BIOS之部分。於一個具現中,內嵌式控制器使用指令驗證時接收的測試金鑰以驗證附加至該測試BIOS檔案的該數位簽章。於此一具現中,當使用測試金鑰驗證該數位簽章時,該內嵌式控制器獲得該測試BIOS檔案內部的測試BIOS碼,且置換製造BIOS之該部分。
圖3為可由計算裝置執行以接收用於密碼術驗證之一指令之方法之一實施例之流程圖。基於該指令之驗證,計算裝置允許使用一測試金鑰及安裝一測試BIOS以置換製造BIOS之一部分。該計算裝置以與一測試金鑰不同的一金鑰密碼術驗證該指令。藉此方式,一外部來源及該計算裝置利用兩個不同金鑰對用於簽章及查證。舉例言之,外部來源可以一製造密鑰簽章該指令,及計算裝置以相對應公鑰(亦即製造公鑰)驗證該經簽章之指令。此外,於本實施例中,外部來源可以測試密鑰簽章該測試BIOS,及計算 裝置可以相對應公鑰(亦即測試公鑰)驗證該測試BIOS。此一具現詳細討論於稍後圖式中。不同金鑰對包括製造金鑰對及測試金鑰對,各自表示在BIOS之特定層級的驗證。舉例言之,製造金鑰對驗證該指令及製造BIOS,而測試金鑰對驗證該測試BIOS。討論圖3中,可參考圖1中之組件以提供情境實施例。舉例言之,計算裝置102執行操作302-312以驗證指令用以允許使用測試金鑰安裝測試BIOS。於另一個實施例中,如同圖1中之控制器106執行操作302-312。又,雖然圖3係描述為由計算裝置具現,但可在其它合宜組件上具現。舉例言之,圖3可以在圖6中之機器可讀取儲存媒體604上可執行之指令形式具現。
於操作302,計算裝置接收指令以控制測試金鑰之使用。藉此方式,該指令可指示計算裝置以允許當於操作304驗證時使用測試金鑰。測試金鑰係用以在安裝測試BIOS之前驗證測試BIOS以置換製造BIOS。操作302包括該外部來源傳輸一資料包裹程式給該計算裝置。該資料包裹程式可包括該指令、測試金鑰作為指令之一部分、可包括測試BIOS碼之一測試BIOS檔案、及/或啟動區塊給該測試BIOS碼。於此一具現中,一旗標可分開該資料包裹程式內部的各個組件。舉例言之,該旗標可分開指令、測試金鑰、測試BIOS檔案、及/或測試BIOS之啟動區塊。啟動區塊具現詳細討論於稍後圖式中。操作302之功能可類似圖2中之操作202。
於操作304,計算裝置驗證於操作302接收的該指 令。計算裝置使用與測試金鑰不同的該製造金鑰對透過密碼術驗證該指令。而驗證該指令。操作304屬於特定一型操作,其中該計算裝置可驗證於操作302接收之指令。於本操作中,計算裝置可接收包括指令及測試金鑰的該資料包裹程式。於一個具現中,包括指令之資料包裹程式部分包括測試金鑰,該指令係由外部來源使用製造密鑰簽章。如此,當計算裝置接收具有指令之該資料包裹程式時,該計算裝置利用該製造公鑰以查證該數位簽章。操作304乃計算裝置可驗證該指令之一特定型別之操作。
於操作306,若計算裝置認為該指令於操作304未經驗證,則該計算裝置不允許使用測試金鑰。若計算裝置認為該指令為失效,則該方法可前進至操作306及/或308。於一個具現中,當不允許測試金鑰時,計算裝置可進一步於操作308不安裝該測試BIOS。
於操作308,計算裝置不安裝該測試BIOS。阻止測試BIOS之安裝可不允許更新而置換製造BIOS之該部分。如此提供剛性經驗,表示該BIOS可不接收更新及/或發展而不置換該BIOS及/或具有該BIOS之組件。操作308之功能可類似圖2中之操作206。
於操作310,當於操作304驗證該指令時,計算裝置允許使用測試金鑰以驗證該測試BIOS檔案。於一個具現中,一旦於操作304已經驗證該指令時,測試金鑰係自指令取回。於此一具現中,於操作302接收的該資料包裹程式可包括旗標指示資料包裹程式之不同組件給計算裝置。該等 旗標可指示指令、測試金鑰、與測試BIOS間之分開。當於操作304驗證該指令時,計算裝置可取回測試金鑰作為該指令之部分且傳輸該測試金鑰給內嵌式控制器以在安裝該測試BIOS碼之前,驗證該測試BIOS檔案之起始或啟動區塊。
於操作312,計算裝置安裝該測試BIOS以置換製造BIOS之該部分。安裝該測試BIOS用於置換製造BIOS之該部分允許該計算裝置接收更新及/或發展給一先前安裝之BIOS。如此提供額外彈性提供製造後發展給該BIOS。操作312之功能可類似圖2中之操作208。
圖4為可由一計算裝置執行以驗證一指令用於控制測試金鑰之使用之方法之一實施例之流程圖。當驗證該指令時,該方法可決定在一測試BIOS之安裝之前該計算裝置是否於閂鎖規劃模式。一規劃模式為其中碼係在製造商處被寫入計算裝置內部以確保資料項之一種模式。此種內設碼可包括內設設定值、序號、通用唯一識別符等。於該規劃模式之解鎖期間,該計算裝置係以該碼程式規劃。當將該碼寫入計算裝置時,製造商可閂鎖該裝置以確保該資料項,諸如序號。決定該計算裝置是否在閂鎖規劃模式,確保在安裝測試BIOS之前計算裝置係在安全模式。如此確保該BIOS尚未經篡改及/或攻擊。當決定該計算裝置在閂鎖規劃模式時,該方法可前進至驗證該測試BIOS之一啟動區塊。該啟動區塊為一起始碼,其使得計算裝置能啟動負載,諸如記憶體驅動裝置,且在起始於一驅動裝置執行環境(DXE)中之較高階項目之前,起始該BIOS內部之較低階組 件。於DXE中之此等較高階項目可包括微處理器及/或其它內嵌式電路。藉此方式,在安裝測試BIOS之前驗證該測試BIOS之啟動區塊以置換製造BIOS之該部分,保護了該DXE區域,原若相對應於該測試BIOS之啟動區塊為失效,則控制不會移交給該DXE。於討論圖4中,可參考圖1之組件以提供情境實施例。舉例言之,計算裝置102執行操作402-414以驗證該指令用以允許使用該測試金鑰用於測試BIOS之安裝。於另一個實施例中,如於圖1中之控制器106執行操作402-414。又,雖然圖4係描述為由計算裝置具現,但可於其它合宜組件上具現。舉例言之,圖4可以如圖6中在機器可讀取儲存媒體604上可執行之指令形式具現。
於操作402,計算裝置接收自外部來源至計算裝置之指令。該指令係與測試金鑰相聯結且除了測試BIOS之外傳輸。於此一具現中,該指令係於有測試BIOS及測試金鑰之一資料包裹程式中傳輸。於該資料包裹程式中,該指令及該測試BIOS係使用在外部來源之兩個不同密鑰簽章。舉例言之,該指令可由在外部來源之一製造密鑰簽章,而測試BIOS可在傳輸給計算裝置之前由一測試密鑰簽章。該計算裝置維持製造密鑰之一相對應金鑰(亦即製造公鑰)用於於操作404驗證該指令之簽章。為了獲得測試密鑰之相對應金鑰對,該計算裝置驗證該指令且自該經驗證之指令取回該測試公鑰。舉例言之,該資料包裹程式可包括一字串資料值、參考值、及/或字符。如此,該字串可包括一旗標指示測試金鑰及測試BIOS碼與該指令的分開。於本實施例 中,該計算裝置可驗證該指令,及辨識該旗標含有自該資料包裹程式之測試金鑰。於一個具現中,該外部來源可包括與該計算裝置通訊之一可攜式裝置。該外部來源可由製造商管理,如此使得該製造密鑰之隱私性用於該指令之簽章。當到達時,計算裝置於操作404使用製造密鑰之相對應公鑰驗證該經簽章之指令。操作402可類似圖2-3中之操作202及302之功能。
於操作404,該計算裝置驗證於操作402接收的指令。當驗證該指令時,該方法可前進至操作408以決定該計算裝置是否於閂鎖規劃模式。若該指令係未經驗證(亦即無效),則該方法前進至操作406,且不決定該計算裝置是否於閂鎖規劃模式。操作404可類似圖2中之操作204之功能。
於操作406,若該指令係未經驗證(亦即無效),則該方法前進至操作406,且不決定該計算裝置是否於閂鎖規劃模式。另外,若指令為無效,則指示計算裝置可能沒有相對應金鑰對,且可能未經授權以驗證該指令。
於操作408,該計算裝置可決定該計算裝置是否於閂鎖規劃模式。若該計算裝置係於閂鎖規劃模式,則該方法可前進至操作412以驗證該測試BIOS之一啟動區塊。若該計算裝置係非於閂鎖規劃模式(亦即解鎖規劃模式),則該方法可停止於操作410且不驗證該測試BIOS之啟動區塊。
於操作410,計算裝置並不驗證相對應於測試BIOS之該啟動區塊。於一個具現中,該計算裝置可決定該計算裝置是否於解鎖規劃模式。於該解鎖規劃模式中,該 計算裝置允許許多程式規劃內設工廠設定值,諸如序號等。於該解鎖模式期間,該BIOS之安全性可能不保,原因在於於此模式期間資料可能被覆寫。
於操作412,該計算裝置使用於操作404取回的該測試金鑰驗證該測試BIOS之資料之該啟動區塊。於本操作中,該啟動區塊操作為該測試BIOS之起始及/或啟動資料。藉此方式,在該測試BIOS之其它組件執行之前,計算裝置驗證測試BIOS之起始。於此一具現中,由計算裝置接收的資料包裹程式包括指令及測試金鑰作為指令之部分。此外,該資料包裹程式也包括測試BIOS碼及啟動區塊作為測試BIOS碼之部分。傳輸該測試BIOS碼之該啟動區塊作為該資料包裹程式之部分允許計算裝置驗證該測試BIOS之起始。於另一個具現中,測試BIOS可包括該啟動區塊表示該製造BIOS之更新為該啟動區塊。於本實施例中,該製造BIOS之啟動區塊可由該測試BIOS之啟動區塊置換。於操作412,計算裝置可傳輸接收在於操作402所接收的該資料包裹程式內之測試BIOS給該內嵌式控制器。於一個具現中,於操作408,在啟動區塊之驗證之前該計算裝置可經重新啟動,及/或決定該計算裝置是否係在閂鎖規劃模式。於另一個具現中,當驗證相對應於該測試BIOS之資料的啟動區塊時,該計算裝置可將控制移交給該DXE以初始化該高階組件。
於操作414,當如同於操作412驗證相對應於該測試BIOS之啟動區塊時,該方法可前進至安裝測試BIOS以置 換製造BIOS之該相對應部分。操作414可類似圖2-3中之操作208及312之功能。
圖5為由一計算裝置可執行之一方法實施例之流程圖,用以驗證一指令用以允許一測試金鑰之使用且基於該測試金鑰之許可,該計算裝置安裝了相對應於該測試BIOS之一啟動區塊。當該啟動區塊安裝時該計算裝置重新啟動。然後,計算裝置可使用測試金鑰驗證測試金鑰之啟動區塊。當該啟動區塊驗證時,該計算裝置安裝該測試BIOS以置換在一記憶體內部之一製造BIOS之至少一部分。該指令係藉一外部來源以測試金鑰傳輸給該計算裝置。以測試金鑰傳輸該指令使得計取回該測試金鑰以供當驗證該指令時使用。除了測試金鑰之外,該來源也傳輸相對應於該測試BIOS之該啟動區塊、及測試BIOS碼。於此一具現中,該來源及該計算裝置運用兩個不同金鑰對。舉例言之,該指令使用一製造金鑰對用於簽章及查證,而該測試BIOS使用一測試金鑰對用於簽章及查證。該指令由外部來源藉一製造密鑰簽章,而該測試BIOS由外部來源藉一測試密鑰簽章。計算裝置利用相對應製造公鑰以驗證該指令,及基於此項驗證,該計算裝置自該指令取回測試公鑰。該測試公鑰利用該測試公鑰以查證由該測試密鑰簽章之測試BIOS。如此,製造金鑰對係與測試金鑰對不同,其可用於驗證該啟動區塊及/或該測試BIOS碼。
圖5提出當製造BIOS已經安裝時更新BIOS碼。如此進一步使得後-製造BIOS碼發展,包括除錯、內部測試 等。基於該指令驗證,安裝測試BIOS以置換製造BIOS之該部分,使其能在安全環境中更新及/或發展BIOS。藉此方式,該方法提供前門機制以使得測試BIOS安裝在具有已安裝製造BIOS之該計算裝置上。圖5之討論中,可參考圖1之組件以提出情境實施例。舉例言之,計算裝置102執行操作502-518以驗證該指令用於允許該測試金鑰之便用於測試BIOS之安裝。於另一個實施例中,如同圖1中之控制器106執行操作502-518。又,雖然圖5係以計算裝置具現,但可在其它合宜組件上執行。舉例言之,圖5可以如於圖6中之機器可讀取儲存媒體604上可執行之指令形式具現。
於操作502,計算裝置接收指令用以控制測試金鑰之使用。該指令被發送為一串列之資料值、字符、及/或參考字符,及如此包括測試金鑰作為指令之部分。除了測試金鑰之外,該指令也可作為一資料包裹程式之部分傳輸。如前文說明,該資料包裹程式可包括該指令、相對應於該測試BIOS之啟動區塊、及該測試BIOS碼。該指令到達該計算裝置以製造金鑰對簽章,如此,一旦該指令使用該製造金鑰對查證,該測試公鑰可藉計算裝置取回。該指令對該計算裝置內部之該控制器指示信賴該測試金鑰。該指令可於操作504驗證以發訊給控制器允許測試金鑰之使用。於此一具現中,該指令包括測試公鑰,其可由製造密鑰簽章。因此,當使用相對應於製造密鑰之製造公鑰密碼術驗證該指令時,使得該計算裝置自該指令取回測試金鑰。如此使得計算裝置目前信賴該取回的測試公鑰用以認 證該啟動區塊及/或該測試BIOS。舉例言之,一旦計算裝置自該經驗證之指令取回該測試金鑰時,該測試金鑰可傳輸給在該計算裝置內部之一內嵌式控制器用於額外驗證之用。於另一個具現中,指令包括一系統管理指令且由外部來源傳輸給計算裝置。於又一個具現中,測試金鑰傳輸給內嵌式控制器及啟動區塊。操作502的功能可類似如圖2-4中之操作202、302、及402。
於操作504,計算裝置使用製造公鑰以驗證於操作504接收的指令。當指令驗證時,該計算裝置可傳輸一信號給內嵌式控制器以信賴在該指令內部之測試公鑰。於此一具現中,內嵌式控制器可查證該測試BIOS之一啟動區塊具有取回的測試公鑰,如同於操作512。操作504的功能可類似如圖2-4中之操作204、304、及404。
於操作506,若於操作504指令失敗,計算裝置不允許使用測試金鑰。不允許使用測試金鑰結果導致測試BIOS安裝之失敗。操作506的功能可類似如圖3中之操作306。
於操作508,當於操作504驗證該指令時,計算裝置允許使用測試金鑰。測試金鑰用以於操作510驗證該測試BIOS之啟動區塊。如前文解說,啟動區塊、測試BIOS、及指令可於操作502傳輸給計算裝置。啟動區塊及測試BIOS可由外部來源利用測試密鑰簽章,如此允許測試密鑰使得該計算裝置於操作512驗證該啟動區塊及測試BIOS。於此一具現中,測試密鑰用以於操作512驗證該測試BIOS之啟動區 塊。於另一個具現中,於操作502測試密鑰傳輸作為指令之一部分。於此一具現中,當於操作504驗證該指令時,計算裝置可使用製造密鑰以驗證該指令而取回測試公鑰。於操作508之又一具現中,計算裝置傳輸取回的測試金鑰給內嵌式控制器用以使用該測試公鑰查證該啟動區塊及測試BIOS。操作508的功能可類似如圖3中之操作310。
於操作510,計算裝置安裝該測試BIOS之啟動區塊。當於操作512計算裝置重新啟動時,該測試BIOS之啟動區塊於操作514使用測試金鑰驗證。
於操作512,計算裝置重新啟動以移交控制給內嵌式控制器。藉此方式,該測試BIOS之啟動區塊於操作14查證而確保安全移交給信賴BIOS更新。於一個具現中,該測試BIOS之啟動區塊於操作502傳輸在重新啟動前儲存至記憶體,如此確保測試BIOS方便易得當驗證時可置換製造BIOS之該部分。計算裝置於操作512重新啟動,故內嵌式控制器可查驗該測試BIOS包括相對應於該測試BIOS之啟動區塊。當該測試BIOS之啟動區塊查證時,內嵌式控制器以經查驗的測試BIOS置換製造BIOS之相對應區域。
於操作514,當於操作512計算裝置重新啟動時,計算裝置驗證計算裝置重新啟動。計算裝置使用於操作508取回的測試金鑰驗證該測試BIOS之啟動區塊。於一個具現中,於操作502傳輸之測試BIOS包括資料之啟動區塊,其可使用於操作508取回的測試公鑰驗證。相對應於該測試BIOS之啟動區塊可發送作為更新給製造BIOS,如此可傳輸作為 由兩個不同金鑰,亦即製造密鑰及測試密鑰簽章的一資料包裹程式。如此,當製造密鑰簽章之查證時,計算裝置獲得測試公鑰以驗證在內嵌式控制器之該啟動區塊及/或測試BIOS之簽章。於操作512,當計算裝置重新啟動時,內嵌式控制器證實相對應於測試BIOS之啟動區塊之簽章。內嵌式控制器可獲得啟動區塊及測試BIOS之一複本用以置換製造BIOS之該部分。如此許可內嵌式控制器在隨後啟動時信賴該測試BIOS。此外,於操作514當啟動區塊之驗證時,內嵌式控制器可移交換制給一驅動裝置執行環境(DXE),其使得計前進通過一完全啟動。該DXE轉而可移交控制給作業系統。
於操作516,當驗證相對應於該測試BIOS之啟動區塊失敗時,計算裝置不會安裝該測試BIOS。如此指示該啟動區塊為不安全,及因而可能訛誤及/或易遭攻擊。操作516的功能可類似如圖2-3中之操作206及308。
於操作518,計算裝置安裝該測試BIOS以置換製造BIOS之該部分。基於於操作504驗證該指令,該內嵌式控制器可接收測試金鑰。內嵌式控制器也可接收該測試BIOS之啟動區塊,其可由一測試密鑰簽章,及以指令傳輸給該計算裝置。於本操作中,內嵌式控制器可以取回的測試公鑰證實該測試BIOS之啟動區塊。於另一操作中,當安裝該測試BIOS以置換製造BIOS之該部分時,計算裝置可移交控制給作業系統以持續計算裝置之啟動。操作518的功能可類似如圖2-4中之操作208、312、及414。
圖6為具有一處理器602以在一機器可讀取儲存媒體604內部執行指令606-618之一計算裝置600之方塊圖。更明確言之,具有處理器602之計算裝置600係用以執行指令606-620用以透過密碼術驗證而認證該指令,許可一測試金鑰之使用,及基於該測試金鑰之許可,安裝相對應於測試BIOS之一啟動區塊用於測試金鑰之使用之驗證。此外,當驗證該啟動區塊時,一測試BIOS置換製造BIOS之至少一部分。雖然計算裝置600包括處理器602及機器可讀取儲存媒體604,但也可包括適合熟諳技藝人士之其它組件。舉例言之,計算裝置600可包括如同圖1中之非依電性記憶體112。計算裝置600為具有該處理器602能夠執行指令606-620之一電子裝置,因此計算裝置600之實施例包括計算裝置、行動裝置、客端裝置、個人電腦、桌上型電腦、膝上型電腦、平板、視訊遊戲機、或能夠執行指令606-620之其它型別電子裝置。指令606-620可具現為儲存於儲存媒體604上之機器可讀取指令之方法、功能、操作、及其它處理程序,其可為,包含,及/或相對應於,至少部分,非過渡,諸如硬體儲存裝置(例如,隨機存取記憶體(RAM)、唯讀記憶體(ROM)、可抹除可規劃ROM、可電氣抹除ROM、硬碟驅動裝置、及快閃記憶體)。
處理器602可提取、解碼、及執行指令606-620以認證該指令以允許該測試金鑰用於安裝該測試BIOS。於一個具現中,處理器602經由執行指令608-610而執行指令606。於另一個具現中,當執行指令606時,處理器602執行 指令612-620。更明確言之,處理器602執行指令612-610用以:藉由以與該測試金鑰不同之一金鑰密碼術驗證該指令而認證該指令;及當認證該指令時取回該測試金鑰。於此一具現中,該指令可以一密鑰簽章,如此該指令可以相對應於公鑰驗證。此外,於此一具現中,測試金鑰可傳輸作為指令之部分,及當驗證該指令時,該測試金鑰可自密碼術驗證之指令取回。當認證該指令時,處理器602可執行指令612-620用以:基於該指令之認證而允許測試金鑰的使用;基於驗證該指令,安裝相對應於測試BIOS之啟動區塊;當允許使用測試金鑰時重新啟動該計算裝置;及利用該測試金鑰驗證該測試金鑰之一啟動區塊;及安裝該測試BIOS以在啟動區塊驗證時置換製造BIOS之該部分。
機器可讀取儲存媒體604包括指令606-620用於處理器602以提取、解碼、及執行。於另一個實施例中,機器可讀取儲存媒體604可為含有或儲存可執行指令之電子、磁學、光學、記憶體、儲存裝置、快閃驅動裝置、或其它實體裝置。如此,該機器可讀取儲存媒體604可包括例如,隨機存取記憶體(RAM)、可電氣抹除可規劃唯讀記憶體(EEPROM)、儲存驅動裝置、快取記憶體、網路儲存裝置、光碟-唯讀記憶體(CDROM)等。因此,機器可讀取儲存媒體604可包括一應用程式及/或韌體其可獨立地及/或結合處理器602用以提取、解碼、及/或執行機器可讀取儲存媒體604之指令。應用程式及/或韌體可儲存於機器可讀取儲存媒體604上及/或儲存於計算裝置600之另一個位置上。
要言之,此處揭示之實施例於一製造BIOS已經安裝於該計算裝置上時提供安裝一測試BIOS之彈性。此外,此處揭示之實施例提供一具現以驗證製造後修改給該製造BIOS用於該BIOS之更新、發展、除錯、及/或內部測試。
600‧‧‧計算裝置
602‧‧‧處理器
604‧‧‧機器可讀取儲存媒體
606-620‧‧‧指令

Claims (15)

  1. 一種運算裝置,其包含:一控制器,其用以接收一外部命令,該外部命令控制一測試金鑰之使用於一測試基本輸出入系統(BIOS)之安裝;該控制器基於該命令之一驗證而允許該測試金鑰之該使用;及該測試BIOS,其基於該測試金鑰之允許而置換製造BIOS之至少一部分。
  2. 如請求項1之運算裝置,其進一步包含:一非依電性記憶體,其自該控制器接收該測試BIOS以置換該製造BIOS之至少該部分。
  3. 如請求項1之運算裝置,其進一步包含:在該測試BIOS之前安裝於該運算裝置上之該製造BIOS。
  4. 如請求項1之運算裝置,其中在該測試BIOS安裝之前,該運算裝置重新啟動,該測試BIOS之安裝置換該製造BIOS之至少該部分。
  5. 如請求項1之運算裝置,其中該控制器以與該測試金鑰不同之一金鑰驗證該命令。
  6. 一種包含指令之非暫時性機器可讀儲存媒體,該等指令在由一處理器執行時使得該處理器用以:認證一外部命令,其中該命令控制一測試金鑰在安 裝一測試基本輸出入系統(BIOS)上的使用,以用於置換一製造BIOS之至少一部分;及基於該命令之認證而允許該測試金鑰之該使用。
  7. 如請求項6之包括指令之非暫時性機器可讀儲存媒體,其進一步包含指令,該等指令在由該處理器執行時使得該處理器用以:基於該測試金鑰之該使用被允許而安裝該測試BIOS以置換該製造BIOS之至少該部分。
  8. 如請求項6之包括指令之非暫時性機器可讀儲存媒體,其進一步包含指令,該等指令在由該處理器執行時使得該處理器用以:重新啟動一運算裝置;及利用該測試金鑰於該測試BIOS之一啟動區塊之驗證;及當證實該測試BIOS之該啟動區塊時,安裝該測試BIOS於該運算裝置上。
  9. 如請求項6之包括指令之非暫時性機器可讀儲存媒體,其中該命令包括該測試金鑰和該測試BIOS,且其中該命令進一步包含指令,該等指令在由該處理器執行時使得該處理器用以:使用與該測試金鑰不同之一金鑰而密碼式地驗證該命令;及自該命令取回該測試金鑰。
  10. 一種可由運算裝置執行之方法,該方法包含: 接收一外部命令以控制一測試金鑰之使用於一測試基本輸出入系統(BIOS)之安裝;驗證該命令;及基於該命令之驗證安裝該測試BIOS以置換一製造BIOS之至少一部分。
  11. 如請求項10之方法,其中該命令包括該測試金鑰,且其中驗證該命令包含:使用與該測試金鑰不同之一金鑰而密碼式地驗證該命令。
  12. 如請求項10之方法,其進一步包含:基於該命令之驗證允許該測試金鑰之該使用。
  13. 如請求項10之方法,其中該命令包括該測試金鑰,且其中基於該命令之驗證安裝該測試BIOS以置換該製造BIOS之至少該部分包含:基於該命令之驗證允許該測試金鑰之該使用;重新啟動該運算裝置;透過該測試金鑰之該使用驗證該測試BIOS之一啟動區塊;及當證實該測試BIOS之該啟動區塊時,安裝該測試BIOS以置換該製造BIOS之至少該部分。
  14. 如請求項10之方法,其進一步包含:當證實該命令時,決定該運算裝置是否於一鎖定規劃模式;一判定該運算裝置係在該鎖定規劃模式,即在該測 試BIOS之安裝之前以該測試金鑰驗證該測試BIOS之一啟動區塊。
  15. 如請求項10之方法,其中若該命令驗證失敗,則該測試BIOS之安裝失敗。
TW104110020A 2014-03-28 2015-03-27 允許測試金鑰用於bios安裝之技術 TWI570591B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2014/032258 WO2015147879A1 (en) 2014-03-28 2014-03-28 Allowing use of a test key for a bios installation

Publications (2)

Publication Number Publication Date
TW201602835A TW201602835A (zh) 2016-01-16
TWI570591B true TWI570591B (zh) 2017-02-11

Family

ID=54196193

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104110020A TWI570591B (zh) 2014-03-28 2015-03-27 允許測試金鑰用於bios安裝之技術

Country Status (4)

Country Link
US (1) US10621330B2 (zh)
CN (1) CN106104561B (zh)
TW (1) TWI570591B (zh)
WO (1) WO2015147879A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3073751C (en) * 2017-09-06 2023-08-15 Absolute Software Corporation Secure firmware interface
US10613955B2 (en) * 2017-12-28 2020-04-07 Intel Corporation Platform debug and testing with secured hardware
TWI684887B (zh) * 2018-06-26 2020-02-11 和碩聯合科技股份有限公司 自動驗證方法與系統
WO2021021100A1 (en) * 2019-07-29 2021-02-04 Hewlett Packard Enterprise Development Lp Interface controller for commodity devices
US20230133270A1 (en) * 2020-04-21 2023-05-04 Hewlett-Packard Development Company, L.P. Bios updates
US20220156377A1 (en) * 2020-11-19 2022-05-19 Microsoft Technology Licensing, Llc Firmware runtime patch secure release process

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100287363A1 (en) * 2006-02-24 2010-11-11 Oniteo Ab Method and system for secure software provisioning
CN101965570A (zh) * 2008-02-29 2011-02-02 先进微装置公司 具有安全启动机制的计算机系统
US20110119474A1 (en) * 2009-11-16 2011-05-19 Bally Gaming, Inc. Serial Peripheral Interface BIOS System and Method
TW201227390A (en) * 2010-11-30 2012-07-01 Intel Corp Method and apparatus for key provisioning of hardware devices
TW201342106A (zh) * 2011-12-31 2013-10-16 Intel Corp 針對信賴供應而保全裝置環境的技術

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117376B2 (en) * 2000-12-28 2006-10-03 Intel Corporation Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations
US6976136B2 (en) 2001-05-07 2005-12-13 National Semiconductor Corporation Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller
US20020169976A1 (en) * 2001-05-10 2002-11-14 Schelling Todd A. Enabling optional system features
US7412053B1 (en) 2002-10-10 2008-08-12 Silicon Image, Inc. Cryptographic device with stored key data and method for using stored key data to perform an authentication exchange or self test
US7543277B1 (en) * 2003-06-27 2009-06-02 American Megatrends, Inc. Method and system for remote software debugging
US7017040B2 (en) 2003-12-04 2006-03-21 Intel Corporation BIOS update file
US20060015776A1 (en) 2004-07-16 2006-01-19 Yu-Mei Lee Built-in computer power-on memory test method
US7770003B2 (en) * 2004-12-29 2010-08-03 Intel Corporation Updating firmware securely over a network
US20060194603A1 (en) * 2005-02-28 2006-08-31 Rudelic John C Architecture partitioning of a nonvolatile memory
US7613952B2 (en) 2006-12-29 2009-11-03 Inventec Corporation Method for facilitating BIOS testing
US9652755B2 (en) * 2009-08-11 2017-05-16 Silver Spring Networks, Inc. Method and system for securely updating field upgradeable units
US8296579B2 (en) * 2009-11-06 2012-10-23 Hewlett-Packard Development Company, L.P. System and method for updating a basic input/output system (BIOS)
US8694737B2 (en) 2010-06-09 2014-04-08 Micron Technology, Inc. Persistent memory for processor main memory
US8893102B2 (en) * 2011-07-27 2014-11-18 Oracle International Corporation Method and system for performing backward-driven path-sensitive dataflow analysis
US8949813B2 (en) * 2011-07-29 2015-02-03 Dell Products Lp Systems and methods for facilitating activation of operating systems
US11194586B2 (en) * 2013-05-01 2021-12-07 Insyde Software Corp. Secure boot override in a computing device equipped with unified-extensible firmware interface (UEFI)-compliant firmware
CN104679530B (zh) * 2013-11-26 2017-12-29 英业达科技有限公司 服务器系统与固件更新方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100287363A1 (en) * 2006-02-24 2010-11-11 Oniteo Ab Method and system for secure software provisioning
CN101965570A (zh) * 2008-02-29 2011-02-02 先进微装置公司 具有安全启动机制的计算机系统
US20110119474A1 (en) * 2009-11-16 2011-05-19 Bally Gaming, Inc. Serial Peripheral Interface BIOS System and Method
TW201227390A (en) * 2010-11-30 2012-07-01 Intel Corp Method and apparatus for key provisioning of hardware devices
TW201342106A (zh) * 2011-12-31 2013-10-16 Intel Corp 針對信賴供應而保全裝置環境的技術

Also Published As

Publication number Publication date
US20170053111A1 (en) 2017-02-23
CN106104561B (zh) 2019-10-22
CN106104561A (zh) 2016-11-09
WO2015147879A1 (en) 2015-10-01
TW201602835A (zh) 2016-01-16
US10621330B2 (en) 2020-04-14

Similar Documents

Publication Publication Date Title
US10740468B2 (en) Multiple roots of trust to verify integrity
TWI570591B (zh) 允許測試金鑰用於bios安裝之技術
JP5767751B2 (ja) Biosを検証する方法、コンピューティングプラットフォーム、およびプログラム
EP2854066B1 (en) System and method for firmware integrity verification using multiple keys and OTP memory
KR101190479B1 (ko) 티켓 인증 보안 설치 및 부트
KR102444625B1 (ko) 참조 플랫폼 매니페스트 및 데이터 씰링에 따른 보안 os 부팅 기법
JP4954228B2 (ja) 安全キーの知識なしのブートローダーの安全更新
JP6054908B2 (ja) 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ
CN110663027A (zh) 使用硬件保护操作系统配置
US20140250290A1 (en) Method for Software Anti-Rollback Recovery
KR20170095161A (ko) 시큐어 시스템 온 칩
JP5346608B2 (ja) 情報処理装置およびファイル検証システム
WO2020101832A1 (en) Secure boot assist for devices, and related systems, methods and devices
US10776493B2 (en) Secure management and execution of computing code including firmware
TWI745629B (zh) 電腦系統以及初始化電腦系統的方法
TWI684887B (zh) 自動驗證方法與系統
US10181956B2 (en) Key revocation
JP2021179982A (ja) シリコンデバイスファームウェア上のロールバック攻撃を防止するセキュリティシステム、および、方法
JP5465738B2 (ja) システム・ファームウェアの更新方法およびコンピュータ
CN108595981B (zh) 加密安卓系统的方法
US20240037216A1 (en) Systems And Methods For Creating Trustworthy Orchestration Instructions Within A Containerized Computing Environment For Validation Within An Alternate Computing Environment
Yadav SECURE BOOTLOADER IN EMBEDDED SYSTEM USING MISRA-C
JP2023026017A (ja) 起動検証プログラム、情報処理装置および起動検証方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees