TWI493460B - 電子裝置以及開機方法 - Google Patents
電子裝置以及開機方法 Download PDFInfo
- Publication number
- TWI493460B TWI493460B TW101146355A TW101146355A TWI493460B TW I493460 B TWI493460 B TW I493460B TW 101146355 A TW101146355 A TW 101146355A TW 101146355 A TW101146355 A TW 101146355A TW I493460 B TWI493460 B TW I493460B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- read
- electronic device
- flash memory
- instruction segment
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- 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/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/575—Secure boot
-
- 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/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Read Only Memory (AREA)
- Storage Device Security (AREA)
Description
本發明係關於一種晶片組,特別係關於一種具有安全驗證程式碼之晶片組。
一般而言,電子系統(例如個人電腦)會包括基本輸入輸出系统(Basic Input Output System,BIOS)程式碼,其儲存在電子系統內之一快閃記憶體內。基本輸入輸出系统程式碼最重要的一項內容即為開機後自檢程式(Power On Self Test,POST)和系统啟動程式(booting process)。在電子系統開機(power-on)或重新啟動(reset)時,電子系統之處理器發出的第一條指令的地址會被定位到儲存BIOS的快閃記憶體中,以執行BIOS程式碼,並藉由BIOS程式碼執行開機自檢和系统啟動。因此,未經受權之第三者將可能藉由改寫BIOS程式碼甚至或是直接更換儲存BIOS的快閃記憶體的方式來對該電子系統進行攻擊。
由於一開始並沒有安全認證的機制,所以使用者無法避免執行被改寫或者不完整之BIOS程式碼。
本發明所提供之一電子裝置以及一喚醒方法,係提供具有設置於晶片組中並且對基本輸入輸出系統透明之一唯讀記憶體,用以在電子裝置啟動基本輸入輸出系統前,檢查基本輸入輸出系統的完整性。另外,由於唯讀記憶體對
基本輸入輸出系統透明,因此使用者不需要更改基本輸入輸出系統程式碼,即可將具有安全驗證之功能實現在電子裝置上。
本發明提供一種電子裝置,包括一一寫多讀暫存器、一晶片組、一唯讀記憶體、一快閃記憶體以及一中央處理器。一寫多讀暫存器用以儲存一判斷值。晶片組用以產生一處理器重置訊號。唯讀記憶體設置於晶片組中,並且具有對應於一既定位址之一第一記憶體區塊,其中第一記憶體區塊用以儲存一第一指令段。快閃記憶體耦接至晶片組,並且具有對應於既定位址之一第二記憶體區塊,其中第二記憶體區塊用以儲存一第二指令段。中央處理器用以根據處理器重置訊號以及判斷值,判斷既定位址,並由既定位址擷取第一指令段或者第二指令段。當判斷值為一第一既定判斷值時,中央處理器用以擷取第一指令段,當判斷值為一第二既定判斷值時,中央處理器用以擷取第二指令段。
本發明另提供一種喚醒方法,適用於一電子裝置。喚醒方法更新方法包括經由一晶片組產生一處理器重置訊號,並將處理器重置訊號傳送至一中央處理器;根據處理器重置訊號,並且根據一一寫多讀暫存器中之一判斷值,經由中央處理器判斷一既定位址;當判斷值為一第一既定判斷值時,經由中央處理器自一唯讀記憶體中對應於既定位址之一第一記憶體區塊中擷取一第一指令段,其中唯讀記憶體係設置於晶片組中;以及當判斷值為一第二既定判斷值時,經由中央處理器自一快閃記憶體中對應於既定位
址之一第二記憶體區塊中擷取一第二指令段。
以下將詳細討論本發明各種實施例之裝置及使用方法。然而值得注意的是,本發明所提供之許多可行的發明概念可實施在各種特定範圍中。這些特定實施例僅用於舉例說明本發明之裝置及使用方法,但非用於限定本發明之範圍。
在電腦系統(例如使用Microsoft Windows作業系統的電子裝置),其電源管理係可藉由進階組態與電源介面(Advanced Configuration and Power Interface,ACPI)所定義的待機狀態來減少電源的消耗,在進階組態與電源介面中定義了S0~S5共六種狀態:在S0開機狀態時,電腦系統處於一正常工作狀態;在S1省電狀態時,中央處理器CPU停止工作;在S2省電狀態時,中央處理器CPU關閉,不供電;S3待機狀態(Sleep),僅有記憶體供電,亦稱為掛載至記憶體(Suspend to RAM),在S3狀態係為一種低喚醒(Resume)時間(約5秒或更短)的待機狀態,電腦系統可以很快速地恢復到正常工作狀態(例如S0狀態);S4休眠狀態(Hibernate)亦可稱為掛載至磁碟(Suspend to Disk),且為一種低耗電量、長喚醒延遲時間(例如:約20秒或更長)的待機狀態。S5狀態則是關機狀態,在關機狀態S5下,電腦之軟體以及裝置處於關閉狀態,但有些部件仍然帶電,使電腦仍然可以被鍵盤、時鐘、modem(電話喚醒)、LAN(網路喚醒)還有USB裝置等所喚醒。
第1A圖為本發明所提供之電子裝置的方塊圖,電子裝置100可從一睡眠狀態喚醒(wake-up)而回復(resume)至一正常工作狀態,並且也可進行暖開機以及冷開機。值得注意的是,於本發明一實施例中,所述之正常工作狀態係為ACPI所定義之S0狀態,而所述睡眠狀態包括ACPI所定義之S3-S5狀態。另外,電子裝置100由完全關閉電源的狀態下開機(如經由按下電源按鍵開機)之動作係為冷開機。再者,當電子裝置100處於正常工作狀態時,在軟體(例如作業系統或基本輸入輸出系统)控制下進行重置的動作係為暖開機。在某些實施例中,本發明所述之睡眠狀態以及正常工作狀態不限定於ACPI之定義。電子裝置100可為任何具有運算功能之電腦裝置,例如桌上型電腦、手機、筆記型電腦、PDA等等,本發明在此不加以限制。在某些實施例中,電子裝置100係為相容於x86系統之電子裝置,本發明在此不加以限制。電子裝置100包括一一寫多讀(write-once-and-then-read-only)暫存器102、一晶片組104、一快閃記憶體106、一中央處理器108以及至少一周邊裝置111-11N。
一寫多讀暫存器102係用以儲存一判斷值S1。在一實施例中,其中判斷值S1之初始值為第一既定判斷值,該一寫多讀暫存器102係藉由電力儲存判斷值S1,且僅能被改寫一次,當一寫多讀暫存器102被改寫時,判斷值S1會由初始之第一既定判斷值被改寫為一第二既定判斷值。一寫多讀暫存器102儲存第二既定判斷值,直到電力停止供應至一寫多讀暫存器102為止。換言之,當電子裝置100從
睡眠狀態喚醒或進行冷開機後,一寫多讀暫存器102所具有之判斷值S1為第一既定判斷值(即初始值)。在本發明之另一實施例中,當電子裝置100進行暖開機時,晶片組104會產生一外設互聯重置訊號PCIRST#,以致使判斷值S1回到第一既定判斷值(即初始值)。接著,若一寫多讀暫存器102被寫入,判斷值S1即保持在第二既定判斷值,直到電子裝置100被切換至睡眠狀態(例如前述ACPI定義之S3,S4及S5狀態),或者關機時,即是說,當電子裝置100被切換至所述睡眠狀態,或者進行關機時,電力停止供應至一寫多讀暫存器102。當寫多讀暫存器102被停止電力供應後,一寫多讀暫存器102會丟失所儲存之第二既定判斷值,當寫多讀暫存器102再次恢復電力供應時會恢復初始之第一既定判斷值。舉例而言,電子裝置100可包括一核心電源域(core power domain),在核心電源域中之暫存器皆會在ACPI所定義之S3狀態或更深的省電狀態(如ACPI定義之S4及S5狀態)下、或是在關機時被斷電。因此,一寫多讀暫存器102可為核心電源域中之一暫存器。值得注意的是,第一既定判斷值可為1,並且第二既定判斷值可為0。在本發明之另一實施例中,第一既定判斷值可為0,並且第二既定判斷值可為1。值得注意的是,在本發明之一實施例中,一寫多讀暫存器102可設置於晶片組104內。在本發明之另一實施例中,一寫多讀暫存器102可設置於晶片組104外,本發明不限於此。
晶片組104用以將中央處理器108連接至快閃記憶體106以及周邊裝置111-11N。值得注意的是,周邊裝置
111-11N可為繪圖處理器、記憶體、網路模組等,本發明在此不加以限制。在從睡眠狀態喚醒或暖/冷開機的過程中,晶片組104用以產生一處理器重置訊號以及一外設互聯重置訊號。舉例而言,在X86電腦系統中,一處理器重置訊號為CPU_RST#,並且外設互聯重置訊號為PCI_RST#,其中外設互聯重置訊號PCI_RST#由晶片組104發出,用以控制各種周邊裝置111-11N的重置(RESET)管腳,並與處理器重置訊號CPU_RST#配合間接控制中央處理器108的重置,使整個電子裝置100得以完成重置動作。本發明中致使晶片組104產生外設互聯重置訊號PCIRST#的事件包括但不限於:電子裝置100在從睡眠狀態(例如ACPI定義之S3、S4及S5狀態)喚醒并回復至正常工作狀態(例如ACPI定義之S0狀態)的事件;通過按下電源按鍵觸發的冷開機事件,等等。另外,晶片組104更用以根據判斷值S1判斷一既定位址,以及根據外設互聯重置訊號執行複數平台相關事件。值得注意的是,在一實施例中,既定位址為0xFFFFFFF0,中央處理器108於電子裝置100恢復電力後發出的第一條指令的位址會被定位到既定位址0xFFFFFFF0,在一實施例中,既定位址是在系統存儲器映射(memory map)中之一位址。在本發明中,該既定位址既可映射至快閃記憶體106中,也可以映射至唯讀記憶體105中,詳見後述。
晶片組104更包括一唯讀記憶體105。唯讀記憶體105設置於晶片組104內,可以以一片上唯讀記憶體(On-die ROM)實現,唯讀記憶體105具有對應於既定位址
(0xFFFFFFF0)之一第一記憶體區塊,其中第一記憶體區塊用以儲存一第一指令段。該唯讀記憶體105更用以儲存電子裝置100須先於基本輸入輸出系統程式碼(Basic Input/Output System,BIOS)執行的各種程式碼。本發明之電子裝置100的架構使得這些程式碼得以在從睡眠狀態喚醒或暖/冷開機的過程中先於儲存於快閃記憶體106中之基本輸入輸出系統程式碼執行,其原理見後詳述。在一實現安全開機的實施例中,唯讀記憶體105可用以儲存一安全驗證程式碼,以驗證儲存於快閃記憶體106中之基本輸入輸出系統程式碼。在另一以非對稱加密演算法(asymmetric cryptographic algorithm)實現安全開機的實施例中,唯讀記憶體105可用以儲存一安全驗證程式碼以及一公共金鑰(Public Key)。中央處理器108根據該第一指令段執行儲存於唯讀記憶體105中之安全驗證程式碼,以驗證儲存於快閃記憶體106中之基本輸入輸出系統程式碼。值得注意的是,關於第一記憶體區塊請參考第2圖之說明。
快閃記憶體106耦接至晶片組104,並且具有對應於既定位址(0xFFFFFFF0)之一第二記憶體區塊,其中第二記憶體區塊用以儲存一第二指令段。另外,快閃記憶體106更用以儲存基本輸入輸出系統程式碼。值得注意的是,關於第二記憶體區塊請參考第2圖之說明。在本發明之另一實施例中,快閃記憶體106更用以儲存複數平台相關事件。在本實施例中之「平台相關事件」是指晶片組104在開機過程中必須先於基本輸入輸出系統程式碼(Basic Input/Output System,BIOS)執行,並且須先於該唯讀記憶
體105中儲存的各種程式碼而被執行的事件。舉例而言,「平台相關事件」可包括存取設置主板及晶片組104之暫存器的平台相關資料(例如ROM SIP Data,即“儲存在唯讀記憶體(ROM)中之硬體初始設置資料”)。再舉例而言,「平台相關事件」可包括存取快閃記憶體106中之第二記憶體區塊更儲存之平台相關資料之位址(例如ROM SIP Address)。第二指令段用以致使中央處理器108執行儲存於快閃記憶體106中之基本輸入輸出系統程式碼。值得注意的是,唯讀記憶體105與快閃記憶體106之部分記憶體區塊具有相同之位址,請參考第2圖之說明。
中央處理器108用以根據晶片組104所產生之處理器重置訊號,並且根據判斷值S1至唯讀記憶體105或者快閃記憶體106之既定位址(0xFFFFFFF0)擷取第一指令段或者第二指令段。在一實施例中,中央處理器108是經由晶片組104擷取第一指令段或者第二指令段,並將所擷取之第一或者第二指令段回傳至中央處理器108。在另一實施例中,中央處理器108內集成了存儲器控制器(memory controller),其可直接訪問存儲器而無須經由晶片組。接著,中央處理器108用以根據第一指令段,執行儲存於唯讀記憶體105中之安全驗證程式碼,或者根據所接收之第二指令段執行儲存於快閃記憶體106中之基本輸入輸出系統程式碼。
第1B圖為本發明所提供之另一種電子裝置的方塊圖。第1B圖相似於第1A圖,不同之處在於第1B圖中之晶片組104更包括耦接於唯讀記憶體105之一硬體開關
202,用以致能(enable)以及去能(disable)唯讀記憶體105。舉例而言,當電子裝置從睡眠狀態喚醒或進行暖/冷開機時,硬體開關202會去能唯讀記憶體105。當喚醒或暖/冷開機過程中之平台相關事件執行結束後,硬體開關202才會致能唯讀記憶體105。原因是在某些實施例中,晶片組104在開機時需要從一特定位址(例如0xFFFFFFD0)抓取平台相關資料之位址(例如ROM SIP Address)進而存取該平台相關資料(例如ROM SIP Data)。由於唯讀記憶體105與快閃記憶體106之部分記憶體區塊具有相同之位址,導致快閃記憶體106儲存這些平台相關資料之位址及其資料本身的區域與唯讀記憶體105的某些區域重疊。因此,喚醒或暖/冷開機過程中唯讀記憶體105會先於快閃記憶體106響應對該特定位址(例如0xFFFFFFD0)的訪問請求。如若唯讀記憶體105響應了對該特定位址的訪問請求,則會返回錯誤的平台相關資料之位址(例如ROM SIP Address)給晶片組104,就會導致晶片組104無法獲取正確的平台相關資料以實現初始化。因此在本實施例中設置硬體開關202,以控制在平台相關事件執行結束後才致能唯讀記憶體105。
舉例而言,當電子裝置100進行冷開機時,晶片組104首先產生一外設互聯重置訊號,並且根據外設互聯重置訊號,執行儲存於快閃記憶體106中之平台相關事件。另外,晶片組104中之硬體開關202更用以當冷開機時,首先根據外設互聯重置訊號去能唯讀記憶體105。在本發明之另一實施例中,外設互聯重置訊號亦可由其他裝置產生,並
藉由其他裝置傳送至晶片組104。
當平台相關事件執行結束時,硬體開關202才致能唯讀記憶體105,並且晶片組104更用以當硬體開關202致能唯讀記憶體105後,再產生處理器重置訊號,並將該處理器重置訊號傳送至中央處理器108。接著,中央處理器108根據晶片組104所產生之處理器重置訊號,並且根據判斷值S1至既定位址(0xFFFFFFF0)擷取指令。值得注意的是,一寫多讀暫存器102未經改寫,因此判斷值S1係為第一既定判斷值(初始值)。
因此,當判斷值S1為第一既定判斷值時,晶片組104根據第一既定判斷值至唯讀記憶體105中之既定位址(0xFFFFFFF0)擷取第一指令段,並將第一指令段傳送至中央處理器108。接著,中央處理器108根據第一指令段,執行儲存於唯讀記憶體105中之程式碼,例如執行安全驗證程式碼以驗證儲存於快閃記憶體106中之基本輸入輸出系統程式碼的完整性。
在本發明之以非對稱加密演算法實現安全開機的實施例中,中央處理器108係根據安全驗證程式碼以及一公共金鑰(Public Key),對儲存於快閃記憶體106中之基本輸入輸出系統程式碼進行一數字簽名解密。詳言之,安全驗證程式碼首先從快閃記憶體106中某個區域內獲得數字簽名,該數字簽名是廠商在生產該電子裝置100時利用一私人金鑰(Private Key)加密而產生的。值得注意的是,私人金鑰可儲存於電子裝置100之外的任何地方,本發明不加以限制。而後安全驗證程式碼致使中央處理器108計算基本
輸入輸出系統程式碼之一哈希值(Hash Value)。接著,安全驗證程式碼致使中央處理器108根據儲存於唯讀記憶體105中之公共金鑰對數字簽名進行解密,以獲得一比較值,並將所獲得之比較值與該哈希值進行比對。當比較值與哈希值相同時,中央處理器108判斷基本輸入輸出系統程式碼係完整的。另外,當比較值與哈希值不相同時,中央處理器108判斷基本輸入輸出系統程式碼係不完整的。
當執行唯讀記憶體105儲存之安全驗證程式碼驗證成功,例如前述實施例之當驗證基本輸入輸出系統程式碼係完整時,中央處理器108更用以將一寫多讀暫存器102之判斷值S1改寫為第二既定判斷值,並且致使晶片組104重新產生一處理器重置訊號。另外,當該安全驗證程式碼驗證失敗,例如當驗證基本輸入輸出系統程式碼係不完整時,中央處理器108致使電子裝置100進行關機。
當中央處理器接收到晶片組104所重新產生之處理器重置訊號時,中央處理器108根據處理器重置訊號,由判斷值S1至既定位址(0xFFFFFFF0)擷取指令。值得注意的是,一寫多讀暫存器102之判斷值S1已被改寫為第二既定判斷值。因此,當判斷值S1為第二既定判斷值時,中央處理器108直接或經由晶片組104根據第二既定判斷值至快閃記憶體106中之既定位址(0xFFFFFFF0)擷取第二指令段。在一實施例中,中央處理器108根據第二指令段,執行儲存於快閃記憶體106中之基本輸入輸出系統程式碼,以進行一般之開機程序。
在本發明之另一實施例中,儲存於快閃記憶體106中
之基本輸入輸出系統程式碼,更用以致使中央處理器108判斷電子裝置100是否正在進行暖開機。舉例而言,當電子裝置100進行暖開機時,晶片組104首先產生一處理器重置訊號,並將處理器重置訊號傳送至中央處理器108。
中央處理器108根據處理器重置訊號,並且根據判斷值S1至既定位址(0xFFFFFFF0)擷取指令。值得注意的是,由於在電子裝置100進行暖開機前,必定先經過一次冷開機。因此,一寫多讀暫存器102之判斷值S1已被改寫為第二既定判斷值。當判斷值S1為第二既定判斷值時,中央處理器108直接或經由晶片組104根據第二既定判斷值至快閃記憶體106中之既定位址(0xFFFFFFF0)擷取第二指令段。接著,中央處理器108根據第二指令段,執行儲存於快閃記憶體106中之基本輸入輸出系統程式碼,並且根據基本輸入輸出系統程式碼判斷電子裝置100是否正在進行暖開機。
在安全等級較高的開機應用中,暖開機也被要求須執行唯讀記憶體105中之安全驗證程式碼,因此在本實施例中電子裝置100需要將暖開機轉換為冷開機。舉例而言,當中央處理器108判斷出電子裝置100正在進行暖開機時,中央處理器108致使晶片組104產生一外設互聯重置訊號,並且根據外設互聯重置訊號,執行儲存於快閃記憶體106中之平台相關事件以重新設定主板及晶片組104之相關暫存器。另外,晶片組104中之硬體開關202更用以當暖開機時,根據外設互聯重置訊號去能唯讀記憶體105。在本發明之另一實施例中,外設互聯重置訊號亦可由其他
裝置產生,並藉由其他裝置傳送至晶片組104。
當平台相關事件執行結束時,硬體開關202致能唯讀記憶體105。當硬體開關202致能唯讀記憶體105後,晶片組104更用以產生處理器重置訊號,並將處理器重置訊號傳送至中央處理器108。接著,中央處理器108根據晶片組104所產生之處理器重置訊號,並且根據判斷值S1至既定位址(0xFFFFFFF0)擷取指令。值得注意的是,此時由於之前晶片組104產生的外設互聯重置訊號會使得一寫多讀暫存器102的電力供應停止之後重新回復電力。因此,一寫多讀暫存器102之判斷值S1係為初始值之第一既定判斷值。
因此,當判斷值S1為第一既定判斷值時,晶片組104根據第一既定判斷值至唯讀記憶體105中之既定位址(0xFFFFFFF0)擷取第一指令段,並將第一指令段傳送至中央處理器108。接著,中央處理器108根據第一指令段,執行儲存於唯讀記憶體105中之安全驗證程式碼,以驗證儲存於快閃記憶體106中之基本輸入輸出系統程式碼的完整性。判斷基本輸入輸出系統程式碼完整性的方法請參考上述說明,在此不再贅述。當安全驗證程式碼驗證成功時,中央處理器108更用以將一寫多讀暫存器102之判斷值S1寫為第二既定判斷值,並且致使晶片組104重新產生一處理器重置訊號。當基本輸入輸出系統程式碼係不完整時,中央處理器108致使電子裝置100進行關機。
當中央處理器接收到晶片組104所重新產生之處理器重置訊號時,中央處理器108根據處理器重置訊號,並且
根據判斷值S1至既定位址0xFFFFFFF0擷取指令。值得注意的是,一寫多讀暫存器102之判斷值S1已被改寫為第二既定判斷值。因此,當判斷值S1為第二既定判斷值時,晶片組104根據第二既定判斷值至快閃記憶體106中之既定位址0xFFFFFFF0擷取第二指令段,並將第二指令段傳送至中央處理器108。接著,中央處理器108根據第二指令段,執行儲存於快閃記憶體106中之基本輸入輸出系統程式碼,以進行一般之開機程序。
第2圖為本發明所提供之記憶體的示意圖。第2圖包括電子裝置100中之唯讀記憶體105以及快閃記憶體106。唯讀記憶體105包括一第一記憶體區塊A1以及一第三記憶體區塊A3,其中唯讀記憶體105之第一記憶體區塊A1對應於既定位址(0xFFFFFFF0)用以儲存第一指令段,並且第三記憶體區塊A3用以儲存安全驗證程式碼。值得注意的是,在一實施例中,唯讀記憶體105之第一記憶體區塊A1的位址解碼範圍(address decode range)係在4千兆位元組(4GB)以內,並且位於4千兆位元組內最高端之區域中。快閃記憶體106包括一第二記憶體區塊A2、一第四記憶體區塊A4以及一第五記憶體區塊A5,其中唯讀記憶體105之第二記憶體區塊A2對應於既定位址(0xFFFFFFF0)用以儲存第二指令段,並且第四記憶體區塊A4及/或第五記憶體區塊A5用以儲存基本輸入輸出系統程式碼。在本發明之另一實施例中,第四記憶體區塊A4及/或第五記憶體區塊A5更用以儲存平台相關事件之資料。例如在一實施例中,「平台相關事件」包括存取設置主板及晶片組104之
暫存器的平台相關資料(例如ROM SIP Data)及存取平台相關資料之位址(例如ROM SIP Address),則平台相關資料之位址儲存於第四記憶體區塊A4中,舉例而言,平台相關資料之位址儲存於第四記憶體區塊A4之位址(0xFFFFFFD0)中,但本發明不限於此;平台相關資料則儲存於第五記憶體區塊A5中。
值得注意的是,唯讀記憶體105中之第一記憶體區塊A1以及快閃記憶體106中之第二記憶體區塊A2具有相同之位址(0xFFFFFFF0),並且唯讀記憶體105中之第三記憶體區塊A3以及快閃記憶體106中之第四記憶體區塊A4具有相同之位址。因此,當晶片組104需要同時對唯讀記憶體105以及快閃記憶體106進行存取時,晶片組104更用以將快閃記憶體106中與唯讀記憶體105位址重複之第二記憶體區塊A2以及第四記憶體區塊A4映射(Shadow)至一影子記憶體區塊(Spare Area),並且自影子記憶體區塊對快閃記憶體106之第二記憶體區塊A2以及第四記憶體區塊A4進行存取。舉例而言,當中央處理器108根據第一指令段,執行儲存於唯讀記憶體105中之安全驗證程式碼時,中央處理器108會根據安全驗證程式碼對儲存於快閃記憶體106中之基本輸入輸出系統程式碼進行驗證。晶片組104需要同時對唯讀記憶體105以及快閃記憶體106進行存取。因此,晶片組104可將第二記憶體區塊A2以及第四記憶體區塊A4映射(Shadow)至影子記憶體區塊(Spare Area),以存取唯讀記憶體105之第一以及第三記憶體區塊A1和A3的同時,得以存取快閃記憶體106之第二以及第
四記憶體區塊A2和A4。舉例而言,影子記憶體區塊可為位於第五記憶體區塊A5之位址以下,並且與電子裝置100中其他裝置的位址不相衝突的記憶體區塊,或其它記憶體裝置中之記憶體區塊。
第3圖為本發明所提供之一開機方法的流程圖,其中開機方法適用於電子裝置100之冷開機或從睡眠狀態(如ACPI定義之S3-S5狀態)喚醒。流程開始於步驟S300。
在步驟S300中,當電子裝置100進行冷開機或喚醒時,晶片組104首先產生一外設互聯重置訊號。在本發明之另一實施例中,外設互聯重置訊號亦可由其他裝置產生,並藉由其他裝置傳送至晶片組104。
接著,在步驟S302中,晶片組104根據外設互聯重置訊號,執行儲存於快閃記憶體106中之複數平台相關事件。本實施例中之「平台相關事件」是指晶片組104在開機過程中必須先於基本輸入輸出系統程式碼(Basic Input/Output System,BIOS)執行,並且須先於該唯讀記憶體105中儲存的各種程式碼而被執行的事件。舉例而言,「平台相關事件」可包括存取設置主板及晶片組104之暫存器的平台相關資料(例如ROM SIP Data,即“儲存在唯讀記憶體(ROM)中硬體之初始設置資料”)及所述平台相關資料之位址。在本發明之另一實施例中,於步驟S302時,電子裝置100更用以藉由晶片組104中之硬體開關202,去能唯讀記憶體105,當然唯讀記憶體105也可以在電子裝置100上電時之初始狀態即為去能。
接著,在步驟S304中,晶片組104判斷平台相關事件
是否全部執行完成。當平台相關事件全部執行完成時,流程進行至步驟S306;否則,晶片組104繼續判斷平台相關事件是否全部執行完成。
在步驟S306中,電子裝置100藉由晶片組104中之硬體開關202,致能唯讀記憶體105。
接著,在步驟S308中,晶片組104產生一處理器重置訊號,並將處理器重置訊號傳送至中央處理器108。
接著,在步驟S310中,中央處理器108根據晶片組104所產生之處理器重置訊號,並且根據一寫多讀暫存器102中之一判斷值S1,判斷一既定位址係屬於一唯讀記憶體105或者一快閃記憶體106,其中既定位址為0xFFFFFFF0。當判斷值S1為一第一既定判斷值時,晶片組104判斷既定位址係屬於一唯讀記憶體105,並且流程進行至步驟S312。當判斷值S1為一第二既定判斷值時,晶片組104判斷既定位址係屬於一快閃記憶體106,並且流程進行至步驟S318。值得注意的是,一寫多讀暫存器102係用以藉由電力儲存判斷值S1,其中判斷值S1之初始值為第一既定判斷值,並且一寫多讀暫存器102僅能被寫入一次,直到電力停止供應至一寫多讀暫存器102。
在步驟S312中,中央處理器108直接或經由晶片組104自唯讀記憶體105中對應於既定位址(0xFFFFFFF0)之一第一記憶體區塊A1,擷取一第一指令段,其中唯讀記憶體105係設置於晶片組104中。接著,中央處理器108根據第一指令段,開始執行儲存於唯讀記憶體105中之安全驗證程式碼。
接著,在步驟S314中,中央處理器108執行儲存於唯讀記憶體105中之一安全驗證程式碼,並判斷安全驗證程式碼是否驗證成功,例如驗證儲存於快閃記憶體106中之基本輸入輸出系統程式碼是否完整。在本發明之一實施例中,中央處理器108係根據安全驗證程式碼以及一公共金鑰(Public Key),對儲存於快閃記憶體106中之基本輸入輸出系統程式碼進行一數字簽名解密,並將已解密之數字簽名與該安全驗證程式碼致使中央處理器108所計算之基本輸入輸出系統程式碼之一哈希值(Hash Value)進行比對,以驗證基本輸入輸出系統程式碼之完整性。當唯讀記憶體105之安全驗證程式碼驗證成功時,流程進行至步驟S316;否則,流程進行至步驟S320。
詳細而言,安全驗證程式碼首先從快閃記憶體106中某個區域內獲得數字簽名,該數字簽名是廠商在生產該電子裝置100時利用一私人金鑰(Private Key)加密而產生的。而後安全驗證程式碼致使中央處理器108計算基本輸入輸出系統程式碼之一哈希值(Hash Value)。接著,安全驗證程式碼致使中央處理器108根據儲存於唯讀記憶體105中之公共金鑰對數字簽名進行解密,以獲得一比較值,並將所獲得之比較值與該哈希值進行比對。當比較值與哈希值相同時,中央處理器108判斷基本輸入輸出系統程式碼係完整的。另外,當比較值與哈希值不相同時,中央處理器108判斷基本輸入輸出系統程式碼係不完整的。
在步驟S316中,當執行唯讀記憶體105儲存之安全驗證程式碼驗證成功,例如當驗證基本輸入輸出系統程式碼
係完整時,中央處理器108將一寫多讀暫存器102之判斷值S1改寫為第二既定判斷值,並且致使晶片組104重新產生一處理器重置訊號。
接著,在步驟S318中,中央處理器108直接或經由晶片組104自一快閃記憶體106中對應於既定位址(0xFFFFFFF0)之第二記憶體區塊A2,擷取一第二指令段。在一實施例中,中央處理器108根據第二指令段,執行儲存於快閃記憶體106中之基本輸入輸出系統程式碼,以進行一般之開機程序。流程結束於步驟S318。
在步驟S320中,中央處理器108致使電子裝置100進行關機。流程結束於步驟S320。
第4圖為本發明所提供之另一喚醒方法的流程圖,其中此喚醒方法適用於電子裝置100之暖開機。流程開始於步驟S400。
在步驟S400中,晶片組104首先產生一處理器重置訊號,並將處理器重置訊號傳送至中央處理器108。
在步驟S402中,中央處理器108根據處理器重置訊號擷取指令,其中,中央處理器108係根據判斷值S1至既定位址(0xFFFFFFF0)擷取指令。值得注意的是,由於在電子裝置100進行暖開機前,必定先經過一次冷開機。因此,此時一寫多讀暫存器102之判斷值S1已被改寫為第二既定判斷值。當判斷值S1為第二既定判斷值時,中央處理器108直接或經由晶片組104根據第二既定判斷值至快閃記憶體106中之既定位址(0xFFFFFFF0)擷取第二指令段。
在步驟S403中,中央處理器108根據第二指令段,執
行儲存於快閃記憶體106中之基本輸入輸出系統程式碼。
在步驟S404中,中央處理器108根據基本輸入輸出系統程式碼判斷電子裝置100是否正在進行暖開機。當電子裝置100正在進行暖開機時流程進行至步驟S406;否則,流程進行至步驟S4318。
在步驟S406中,中央處理器108致使晶片組104產生一外設互聯重置訊號。接著,流程進行至步驟S4302。值得注意的是,第4圖中之步驟S4302-S4320皆與第3圖之步驟S302-S320相同,請參考第3圖之說明,在此不再贅述。
本發明所提供之電子裝置100以及開機方法係藉由設置於晶片組104中並且對基本輸入輸出系統(BIOS)透明之一唯讀記憶體105,以及將中央處理器108發出來的第一條指令映射至唯讀記憶體105,使得儲存於唯讀記憶體105的安全驗證程式碼得以先於快閃記憶體106中之基本輸入輸出系統程式碼而執行,本發明一實施例中,在電子裝置100啟動基本輸入輸出系統前,藉由執行該安全驗證程式碼以檢查基本輸入輸出系統的完整性。另外,由於唯讀記憶體105對基本輸入輸出系統透明,因此使用者不需要更改基本輸入輸出系統程式碼,即可將具有安全驗證程式碼之唯讀記憶體105實現在電子裝置100上。
本發明之方法或特定型態或其部份可以以程式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、硬碟或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機
器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。另外本發明的任一實施例或申請專利範圍不須達成本發明所揭露之全部目的或優點或特點。此外,摘要部分和標題僅是用來輔助專利文件搜尋之用,並非用來限制本發明之權利範圍。
100‧‧‧電子裝置
102‧‧‧一寫多讀暫存器
104‧‧‧晶片組
105‧‧‧唯讀記憶體
106‧‧‧快閃記憶體
108‧‧‧中央處理器
202‧‧‧硬體開關
111-11N‧‧‧周邊裝置
S1‧‧‧判斷值
A1-A5‧‧‧記憶體區塊
第1A圖為本發明所提供之一種電子裝置的方塊圖;第1B圖為本發明所提供之另一種電子裝置的方塊圖;第2圖為本發明所提供之一種記憶體的示意圖;第3A圖及第3B圖為本發明所提供之一種開機方法的流程圖;以及第4A圖及第4B圖為本發明所提供之另一種開機方法的流程圖。
100‧‧‧電子裝置
102‧‧‧一寫多讀暫存器
104‧‧‧晶片組
105‧‧‧唯讀記憶體
106‧‧‧快閃記憶體
108‧‧‧中央處理器
111-11N‧‧‧周邊裝置
S1‧‧‧判斷值
Claims (20)
- 一種電子裝置,包括:一一寫多讀暫存器,用以儲存一判斷值;一晶片組,用以產生一處理器重置訊號;一唯讀記憶體,設置於上述晶片組中,並且具有對應於一既定位址之一第一記憶體區塊,其中上述第一記憶體區塊用以儲存一第一指令段;一快閃記憶體,耦接至上述晶片組,並且具有對應於上述既定位址之一第二記憶體區塊,其中上述第二記憶體區塊用以儲存一第二指令段;以及一中央處理器,用以根據上述處理器重置訊號以及上述判斷值,判斷上述既定位址,並由上述既定位址擷取上述第一指令段或者上述第二指令段,其中當上述判斷值為一第一既定判斷值時,上述中央處理器用以擷取上述第一指令段,當上述判斷值為一第二既定判斷值時,上述中央處理器用以擷取上述第二指令段。
- 如申請專利範圍第1項所述之電子裝置,其中上述中央處理器經由上述晶片組擷取上述第一指令段或者上述第二指令段。
- 如申請專利範圍第1項所述之電子裝置,其中上述判斷值之初始值為上述第一既定判斷值,上述一寫多讀暫存器係用以藉由電力儲存上述判斷值,並且上述一寫多讀暫存器僅能被改寫一次,直到電力停止供應至上述一寫多讀暫存器。
- 如申請專利範圍第1項所述之電子裝置,其中上述 中央處理器更用以根據上述第一指令段,執行儲存於上述唯讀記憶體中之一安全驗證程式碼,以驗證儲存於上述快閃記憶體中之一基本輸入輸出系統程式碼。
- 如申請專利範圍第4項所述之電子裝置,其中上述中央處理器根據上述安全驗證程式碼以及一公共金鑰,對儲存於上述快閃記憶體中之上述基本輸入輸出系統程式碼進行一數字簽名解密,以驗證上述基本輸入輸出系統程式碼之完整性。
- 如申請專利範圍第4項所述之電子裝置,其中上述中央處理器更用以當上述安全驗證程式碼驗證成功時,將上述一寫多讀暫存器之上述判斷值改寫為上述第二既定判斷值,並且致使上述晶片組重新產生上述處理器重置訊號。
- 如申請專利範圍第1項所述之電子裝置,其中上述中央處理器更用以根據上述第二指令段,執行儲存於上述快閃記憶體中之上述基本輸入輸出系統程式碼。
- 如申請專利範圍第1項所述之電子裝置,其中上述唯讀記憶體中之一第三記憶體區塊以及上述快閃記憶體中之一第四記憶體區塊具有相同之複數位址,其中上述晶片組更用以將上述快閃記憶體中之上述第二以及第四記憶體區塊映射至一影子記憶體區塊,以存取上述唯讀記憶體之上述第一以及第三記憶體區塊的同時,得以存取上述快閃記憶體之上述第二以及第四記憶體區塊。
- 如申請專利範圍第1項所述之電子裝置,其中上述晶片組更用以當上述電子裝置從一睡眠狀態喚醒或者進行一暖開機或一冷開機時,產生一外設互聯重置訊號,並且 上述晶片組更用以根據上述外設互聯重置訊號,執行複數平台相關事件。
- 如申請專利範圍第9項所述之電子裝置,其中上述晶片組更包括一硬體開關,上述硬體開關更用以當上述平台相關事件執行結束時,致能上述唯讀記憶體,並且上述晶片組更用以當上述硬體開關致能上述唯讀記憶體後,產生上述處理器重置訊號。
- 如申請專利範圍第1項所述之電子裝置,其中上述既定位址為上述中央處理器於上述電子裝置恢復電力後發出的第一條指令之位址。
- 一種開機方法,適用於一電子裝置,上述開機方法包括:經由一晶片組產生一處理器重置訊號,並將上述處理器重置訊號傳送至一中央處理器;根據上述處理器重置訊號,並且根據一一寫多讀暫存器中之一判斷值,經由上述中央處理器判斷一既定位址;當上述判斷值為一第一既定判斷值時,經由上述中央處理器自一唯讀記憶體中對應於上述既定位址之一第一記憶體區塊中擷取一第一指令段,其中上述唯讀記憶體係設置於上述晶片組中;以及當上述判斷值為一第二既定判斷值時,經由上述中央處理器自一快閃記憶體中對應於上述既定位址之一第二記憶體區塊中擷取一第二指令段。
- 如申請專利範圍第12項所述之開機方法,其中上述判斷值之初始值為上述第一既定判斷值,其中上述一寫 多讀暫存器係用以藉由電力儲存上述判斷值,並且上述一寫多讀暫存器僅能被改寫一次,直到上述電力停止供應至上述一寫多讀暫存器。
- 如申請專利範圍第12項所述之開機方法,更包括根據上述第一指令段,執行儲存於上述唯讀記憶體中之一安全驗證程式碼,以驗證儲存於上述快閃記憶體中之一基本輸入輸出系統程式碼。
- 如申請專利範圍第14項所述之開機方法,其中驗證儲存於上述快閃記憶體中之上述基本輸入輸出系統程式碼的步驟更包括:根據上述安全驗證程式碼以及一公共金鑰,對儲存於上述快閃記憶體中之上述基本輸入輸出系統程式碼進行一數字簽名解密,以驗證上述基本輸入輸出系統程式碼之完整性。
- 如申請專利範圍第14項所述之開機方法,更包括當上述安全驗證程式碼驗證成功時,將上述一寫多讀暫存器之上述判斷值改寫為上述第二既定判斷值,並且重新產生上述處理器重置訊號。
- 如申請專利範圍第12項所述之開機方法,更包括根據上述第二指令段,執行儲存於上述快閃記憶體中之上述基本輸入輸出系統程式碼。
- 如申請專利範圍第12項所述之開機方法,其中上述唯讀記憶體中之一第三記憶體區塊以及上述快閃記憶體中之一第四記憶體區塊具有相同之複數位址,上述開機方法更包括: 將上述快閃記憶體中之上述第二以及第四記憶體區塊映射至一影子記憶體區塊;以及自上述影子記憶體區塊對上述快閃記憶體之上述第二以及第四記憶體區塊進行存取。
- 如申請專利範圍第12項所述之開機方法,更包括:當上述電子裝置從一睡眠狀態喚醒或者進行一暖開機或一冷開機時,產生一外設互聯重置訊號;以及根據上述外設互聯重置訊號,執行複數平台相關事件。
- 如申請專利範圍第19項所述之開機方法,更包括:當上述平台相關事件執行結束時,經由晶片組所包括之一硬體開關致能上述唯讀記憶體;以及當上述硬體開關致能上述唯讀記憶體後,產生上述處理器重置訊號。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210433420.XA CN102929674B (zh) | 2012-11-02 | 2012-11-02 | 电子装置以及开机方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201419153A TW201419153A (zh) | 2014-05-16 |
TWI493460B true TWI493460B (zh) | 2015-07-21 |
Family
ID=47644484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101146355A TWI493460B (zh) | 2012-11-02 | 2012-12-10 | 電子裝置以及開機方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9098301B2 (zh) |
CN (1) | CN102929674B (zh) |
TW (1) | TWI493460B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI743963B (zh) * | 2020-08-25 | 2021-10-21 | 瑞昱半導體股份有限公司 | 電腦系統及其具有安全開機機制的電子裝置及運作狀態還原方法 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9767288B2 (en) | 2013-11-13 | 2017-09-19 | Via Technologies, Inc. | JTAG-based secure BIOS mechanism in a trusted computing system |
US10055588B2 (en) | 2013-11-13 | 2018-08-21 | Via Technologies, Inc. | Event-based apparatus and method for securing BIOS in a trusted computing system during execution |
US9547767B2 (en) | 2013-11-13 | 2017-01-17 | Via Technologies, Inc. | Event-based apparatus and method for securing bios in a trusted computing system during execution |
US9507942B2 (en) | 2013-11-13 | 2016-11-29 | Via Technologies, Inc. | Secure BIOS mechanism in a trusted computing system |
US9779242B2 (en) | 2013-11-13 | 2017-10-03 | Via Technologies, Inc. | Programmable secure bios mechanism in a trusted computing system |
US9798880B2 (en) | 2013-11-13 | 2017-10-24 | Via Technologies, Inc. | Fuse-enabled secure bios mechanism with override feature |
US10095868B2 (en) | 2013-11-13 | 2018-10-09 | Via Technologies, Inc. | Event-based apparatus and method for securing bios in a trusted computing system during execution |
US9779243B2 (en) | 2013-11-13 | 2017-10-03 | Via Technologies, Inc. | Fuse-enabled secure BIOS mechanism in a trusted computing system |
US10049217B2 (en) | 2013-11-13 | 2018-08-14 | Via Technologies, Inc. | Event-based apparatus and method for securing bios in a trusted computing system during execution |
US9367689B2 (en) * | 2013-11-13 | 2016-06-14 | Via Technologies, Inc. | Apparatus and method for securing BIOS in a trusted computing system |
CN104899524B (zh) * | 2015-05-25 | 2018-11-27 | 上海兆芯集成电路有限公司 | 中央处理器和验证主机板数据的方法 |
US9749141B2 (en) * | 2015-09-25 | 2017-08-29 | Qualcomm Incorporated | Secure boot devices, systems, and methods |
TWI564802B (zh) * | 2015-12-14 | 2017-01-01 | 財團法人工業技術研究院 | 初始化週邊裝置之方法與使用此方法之電子裝置 |
US10152599B2 (en) | 2015-12-18 | 2018-12-11 | Intel IP Corporation | Security mechanisms for extreme deep sleep state |
CN105681032B (zh) * | 2016-01-08 | 2017-09-12 | 腾讯科技(深圳)有限公司 | 密钥存储方法、密钥管理方法及装置 |
CN106095468B (zh) * | 2016-07-20 | 2019-07-19 | 杭州华澜微电子股份有限公司 | 一种计算机启动方法及装置 |
EP3291087A1 (en) * | 2016-09-01 | 2018-03-07 | Nxp B.V. | Apparatus and associated method for authenticating firmware |
CN106502585A (zh) * | 2016-10-13 | 2017-03-15 | 深圳Tcl数字技术有限公司 | Nor Flash存储器存储内容保护方法及装置 |
GB2557305A (en) * | 2016-12-05 | 2018-06-20 | Nordic Semiconductor Asa | Memory protection logic |
US11544414B2 (en) * | 2019-02-04 | 2023-01-03 | Dell Products L.P. | Secure wake-on of a computing device |
US11574060B2 (en) * | 2019-04-24 | 2023-02-07 | International Business Machines Corporation | Secure initial program load |
CN110716756B (zh) * | 2019-10-15 | 2023-03-14 | 上海兆芯集成电路有限公司 | 多晶粒的多核计算机平台及其开机方法 |
TWI726524B (zh) * | 2019-12-09 | 2021-05-01 | 新唐科技股份有限公司 | 電子處理裝置及記憶體控制方法 |
WO2023048707A1 (en) * | 2021-09-22 | 2023-03-30 | Hewlett-Packard Development Company, L.P. | Encrypted storage |
TWI838878B (zh) * | 2022-09-23 | 2024-04-11 | 新唐科技股份有限公司 | 喚醒電路以及喚醒方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050108564A1 (en) * | 2003-11-13 | 2005-05-19 | International Business Machines Corporation | Reducing the boot time of a TCPA based computing system when the Core Root of Trust Measurement is embedded in the boot block code |
TW200943123A (en) * | 2008-02-29 | 2009-10-16 | Advanced Micro Devices Inc | A computer system comprising a secure boot mechanism |
TW201137656A (en) * | 2010-04-22 | 2011-11-01 | Advantech Co Ltd | Computer system with security lock and method for executing the same |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5764995A (en) * | 1994-03-25 | 1998-06-09 | Packard Bell Nec | Write once read only registers |
CN1170215C (zh) * | 2001-10-19 | 2004-10-06 | 微星科技股份有限公司 | 具有双基本输入输出系统的显示设备及其电脑 |
US7152193B2 (en) * | 2002-08-13 | 2006-12-19 | Lsi Logic Corporation | Embedded sequence checking |
US20050213761A1 (en) * | 2002-12-02 | 2005-09-29 | Walmsley Simon R | Storing number and a result of a function on an integrated circuit |
US7322042B2 (en) * | 2003-02-07 | 2008-01-22 | Broadon Communications Corp. | Secure and backward-compatible processor and secure software execution thereon |
US20050132177A1 (en) | 2003-12-12 | 2005-06-16 | International Business Machines Corporation | Detecting modifications made to code placed in memory by the POST BIOS |
CN1815446A (zh) * | 2005-02-01 | 2006-08-09 | 神基科技股份有限公司 | 具有即刻开启功能的电脑系统及其处理方法 |
US20080126779A1 (en) * | 2006-09-19 | 2008-05-29 | Ned Smith | Methods and apparatus to perform secure boot |
US8738932B2 (en) * | 2009-01-16 | 2014-05-27 | Teleputers, Llc | System and method for processor-based security |
-
2012
- 2012-11-02 CN CN201210433420.XA patent/CN102929674B/zh active Active
- 2012-12-10 TW TW101146355A patent/TWI493460B/zh active
-
2013
- 2013-09-04 US US14/017,378 patent/US9098301B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050108564A1 (en) * | 2003-11-13 | 2005-05-19 | International Business Machines Corporation | Reducing the boot time of a TCPA based computing system when the Core Root of Trust Measurement is embedded in the boot block code |
TW200943123A (en) * | 2008-02-29 | 2009-10-16 | Advanced Micro Devices Inc | A computer system comprising a secure boot mechanism |
TW201137656A (en) * | 2010-04-22 | 2011-11-01 | Advantech Co Ltd | Computer system with security lock and method for executing the same |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI743963B (zh) * | 2020-08-25 | 2021-10-21 | 瑞昱半導體股份有限公司 | 電腦系統及其具有安全開機機制的電子裝置及運作狀態還原方法 |
US11449614B2 (en) | 2020-08-25 | 2022-09-20 | Realtek Semiconductor Corporation | Computer system and electronic apparatus having secure boot mechanism and operation status restoring method thereof |
Also Published As
Publication number | Publication date |
---|---|
TW201419153A (zh) | 2014-05-16 |
US9098301B2 (en) | 2015-08-04 |
CN102929674A (zh) | 2013-02-13 |
CN102929674B (zh) | 2016-02-10 |
US20140129818A1 (en) | 2014-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI493460B (zh) | 電子裝置以及開機方法 | |
JP6137499B2 (ja) | 方法および装置 | |
TWI386846B (zh) | 利用共享式非揮發性記憶體初始化多個處理元件之方法、系統及快閃記憶體元件 | |
JP5476363B2 (ja) | 生体認証装置を利用したコンピュータの起動方法およびコンピュータ | |
US9037812B2 (en) | Method, apparatus and system for memory validation | |
US8990926B2 (en) | Method and apparatus for protecting a password of a computer having a non-volatile memory | |
US7831778B2 (en) | Shared nonvolatile memory architecture | |
US8375440B2 (en) | Secure bait and switch resume | |
EP3673363B1 (en) | System and method for booting within a heterogeneous memory environment | |
TWI471726B (zh) | 快取資料與元資料之管理 | |
US8984316B2 (en) | Fast platform hibernation and resumption of computing systems providing secure storage of context data | |
US10402567B2 (en) | Secure boot for multi-core processor | |
US7613891B2 (en) | Methods and apparatus for providing a read access control system associated with a flash device | |
CN1323354C (zh) | 用通电自检基本输入输出系统检测对存储器中代码的修改 | |
US9479331B2 (en) | Managing security in a system on a chip (SOC) that powers down a secure processor | |
TWI499911B (zh) | 用以選擇性滌淨系統記憶體之方法與系統 | |
GB2484204A (en) | Power management of processor cache during processor sleep | |
TWI534707B (zh) | 電腦系統及其開關機方法 | |
CN114258517A (zh) | 用于调制解调器指导的应用处理器引导流程的系统和方法 | |
US10699033B2 (en) | Secure enablement of platform features without user intervention | |
US11966748B2 (en) | Dynamic boot configuration | |
US20230367913A1 (en) | Terminal chip and measurement method thereof | |
CN111356965A (zh) | 睡眠状态检测 |