TWI385554B - 未知安全金鑰下開機影像之安全更新 - Google Patents
未知安全金鑰下開機影像之安全更新 Download PDFInfo
- Publication number
- TWI385554B TWI385554B TW098104227A TW98104227A TWI385554B TW I385554 B TWI385554 B TW I385554B TW 098104227 A TW098104227 A TW 098104227A TW 98104227 A TW98104227 A TW 98104227A TW I385554 B TWI385554 B TW I385554B
- Authority
- TW
- Taiwan
- Prior art keywords
- code
- boot
- key
- new
- secure
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 22
- 230000002093 peripheral effect Effects 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 2
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 claims 1
- 239000010931 gold Substances 0.000 claims 1
- 229910052737 gold Inorganic materials 0.000 claims 1
- 230000002085 persistent effect Effects 0.000 description 9
- 235000012431 wafers Nutrition 0.000 description 9
- 238000011084 recovery Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
Classifications
-
- 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/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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Description
安全機制在電子產品當中日漸重要,系統以及系統內所使用裝置的製造商想要控制如何使用系統與裝置(例如停止未授權使用),並保護程式(例如作業系統和應用程式)與內容免於複製、未授權修改等等。因此,裝置的製造商需要提供裝置等級安全機制及/或系統等級安全機制。裝置及/或系統安全技術也需要提供末端使用者安全機制來控制如何使用系統與裝置(例如停止未授權使用)以及保護程式(例如作業系統和應用程式)。
電子裝置的製造商也牽涉到許多家公司,例如:裝置製造商可設計一給定裝置,但是該等裝置的實際製造卻外包。類似地,系統製造商可設計該系統,但是系統的實際製造卻外包。雖然某些團體彼此信賴,不過並非所有團體都信賴牽涉在裝置與系統的設計與製造內之所有其他公司。例如:裝置與系統製造商可彼此信賴,但是裝置製造商不信賴系統製造商所用的組裝工廠,或只是不要或沒有能力監督系統製造商所用的組裝工廠,來確定可信賴組裝工廠之取得軟體、韌體、組態參數及/或類似者。
因此,持續需要有改良式技術提供用於裝置及/或系統安全機制。安全機制也應該在從裝置設計至系統製造的不同製造階段上提供保護。
本發明的具體實施例指向一種未知用於加密開機影像的金鑰就可安全更新開機影像之技術。在一個具體實施例內,從服務提供者接收新開機載入碼並載入給定週邊內。然後執行重設開始開機程式碼的執行。開機程式碼的第一部分儲存在晶片上,並且建立信賴鏈。開機程式碼計算安全開機金鑰,驗證從服務提供者接收的新開機載入碼,然後將驗證過的新開機載入碼使用安全開機金鑰加密後儲存在指定用於執行開機載入碼表單之週邊裝置內。
在此將詳細參考本發明的具體實施例,附圖內將說明其範例。雖然本發明將結合這些具體實施例來說明,吾人將瞭解這並不用於將本發明限制在這些具體實施例上。相反地,本發明用於涵蓋申請專利範圍範疇內所包含之變化、修改與同等配置。更進一步,在下列本發明的詳細說明中,將公佈許多特定細節以提供對本發明有通盤瞭解。不過,吾人瞭解在沒有這些特定細節的情況下也可實施本發明。在其他實例中,已知的方法、程序、組件和電路並未詳述,如此就不會模糊本具體實施例的領域。
請參閱第一圖,在此顯示用於實施本發明具體實施例的示例性系統。示例性系統105包含一個裝置110和一或多個週邊115-130。週邊115-130可為內部和/或外部週邊裝置,像是鍵盤、游標控制器、通訊埠、計算裝置可讀取媒體(CDRM,“computing device readable medium)(例如硬碟(HDD,“harddisk driver”)125、隨機存取記憶體(RAM,“random access memory”)130)及/或類似者。週邊115-130可利用一或多個通訊通道耦合至裝置110。裝置110包含永遠開啟(AO,“always-on”)領域135和一或多個可控制電源領域140、145。AO領域135總是具有電源,並且若合適的話當裝置啟動時供給時脈信號。AO領域可包含一個即時時脈功能單元、一個電源管理控制器功能單元、一個鍵盤控制器功能單元及/或儲存暫存器功能單元。可控制電源領域140、145可包含一或多個可控制供應電位領域140及/或一或多個可控制時脈領域145。一或多個可控制供應電位領域140包含一或多個晶片上計算裝置可讀取媒體(CDRM)150、一或多個一般處理單元(例如CPU)155、一或多個特殊處理單元(例如GPU)160、一或多個功能單元(例如進階加密標準(AES,“Advanced Encryption Standard”)引擎)165和一或多個系統控制器170-180。一或多個可控制時脈領域145包含一或多個特殊處理單元及/或功能單元185。因此,裝置110可稱為系統晶片上(SoC,“system-on-a-chip”)積體電路。
晶片上CDRM 150儲存開機程式碼的第一部分用於配置該裝置,並且從一或多個週邊非揮發性CDRM(例如HDD、快閃媒體)125將開機程式碼的其他部分、作業系統(OS,“operating system”)、岔斷處置器和應用程式載入一或多個可存取至一般及/或特殊處理單元155、160的CDRM(例如RAM)130。一般處理單元(例如CPU)155提供計算硬體資源來執行裝置110的一般軟體功能。這種軟體功能可包含執行作業系統(OS)軟體、幫助裝置回應外部事件的岔斷處置軟體、應用程式軟體等等。特殊處理器(例如GPU)提供計算硬體資源執行特殊功能,像是圖形處理單元(GPU,“graphics processing unit”)160、數位信號處理、視訊編碼器/解碼器及/或類似者。系統控制器170-180提供許多功能用於裝置110的功能元件與週邊115-130之間通訊。
系統105的裝置110調適成在裝置的複數個電源狀態期間處置儲存金鑰。裝置110也調適成安全更新裝置的開機程式碼,而不用知道開機金鑰。此外,裝置110也調適成提供安全回復模式。
此時請參閱第二A圖至第二D圖,其中顯示根據本發明的一個具體實施例,在裝置的複數個電源狀態期間處置儲存金鑰的方法流程圖。一開始,系統105的裝置110執行開機程式來設定裝置110執行一或多個應用程式。開機程式通常包含一或多個部分,開機程式的第一部分儲存在晶片上ROM 150內,並且在此稱為開機ROM程式碼(BR,“boot-ROM”)。在202上,BR由處理單元155執行來建立信賴鏈。在BR執行期間,可存取安全開機金鑰(SBK,“secure boot key”)、裝置金鑰(DK,“device key”)和裝置識別碼(DID,“Device Identifier”),並且在204上將SBK載入可由加密/解密引擎存取的對應SBK金鑰槽。加密/解密引擎支援對於金鑰槽的讀取、寫入、加密和解密權限。持續或「固著」位元控制對於金鑰槽的讀取和寫入權限,但是無法避免加密/解密操作的權限。SBK由裝置製造商用來保護並認證儲存在晶片外(例如在週邊內)的開機程式碼之部分。在一個實施當中,SBK為裝置製造商所選及/或由系統製造商所選之秘密金鑰。在一個實施當中,SBK程式編輯至SBK暫存器內,像是晶片上保險絲。因此,SBK可修改但是無法重設為先前值。在一個實施當中,SBK只能由受保護程式碼讀取。在一個實施當中,受保護程式碼為BR程式碼。在一個實施當中,SBK為128位元金鑰。在一個實施當中,DK為系統製造商已知的秘密值。在一個實施當中,DK程式編輯至DK暫存器內,像是晶片上保險絲。因此,DK可修改但是無法重設為先前值。在一個實施當中,DK只能由受保護程式碼讀取。在一個實施當中,受保護程式碼為BR程式碼。在一個實施當中,DK為32位元金鑰。在一個實施當中,DID為可由製造商程式編輯至晶片上保險絲內並且可公開存取之裝置特定值。在一個實施當中,DID為64位元值。
在206上,安全系統金鑰(SSK,“Secure System Key”)從SBK、DK和DID計算得出,並且載入加密/解密引擎可存取的對應SSK金鑰槽內。安全儲存金鑰(SSK,“Secure Storage Key”)由系統製造商用來保護客戶定義資料。SSK從裝置製造商程式編輯的安全開機金鑰(SBK)、系統製造商程式編輯的裝置金鑰(DK)以及裝置製造商程式編輯的獨一裝置識別碼(UID,“unique Device Identifier”)計算得出。SSK在一個實施當中可計算如下:
SSK=AES(SBK;DID^AES(SBK;DK))
裝置製造商程式編輯DID對每一晶片都不同。因此,SSK對於每一晶片也是獨一的。此外,依照系統製造商的決定,SBK也可對於每一晶片獨一或多個晶片共用(例如許多)。DK也可對於每一晶片獨一或多個晶片共用。
在208上,將SSK載入裝置110的AO領域140內之SSK暫存器中。從SBK金鑰槽清除SBK避免未經過SBK明確認證的其他程式碼使用SBK執行加密/解密操作。在210上,從給定週邊裝置中讀取稱為開機載入碼(BL,“Boot Loader”)的開機程式碼額外部分,特別用於儲存BL。儲存在週邊上的BL經過加密。在212上,開機載入碼使用SBK解密,藉此認證開機載入碼。開機載入碼可進一步根據認證技術使用摘要、數位證明等等來認證。使用SBK解密並認證開機載入碼維持了安全信賴鏈。
AO領域內的SSK暫存器包含安全控制,該等安全控制保護BL之外對於暫存器的讀取與寫入。在一個實施當中,安全控制的SSK暫存器包含持續讀取與寫入位元。當在208上由BR將SSK載入SSK暫存器時,則在214上設定讀取固著位元(停用讀取權限)而非寫入固著位元(允許後續寫入權限)。此外,SBK和SSK金鑰槽受到由BR所設定的持續讀取/寫入位元所保護,避免來自BR之外的存取。
在216上,若BL成功解密並認證時,則BL由處理單元155執行。在BL的執行期間,在218上從一或多個週邊當中讀取資料以及/或一或多個應用程式。在一個實施當中,應用程式可用加密形式儲存。在220上,任何已加密的資料或應用程式都使用SSK解密。
在222上,裝置110可選擇性允許系統製造商改變SSK。若由系統製造商改變SSK,則在224上新的SSK儲存在對應的SSK金鑰槽內,並且SSK儲存在AO領域內的安全控制暫存器中。因為當第一次將SSK寫入AO領域內SSK暫存器中時未在214上設定寫入位元,則SSK可由系統製造商變更,並且可在加密/解密引擎從低電源狀態返回時恢復。不過,當在222上覆寫AO領域內SSK暫存器中的SSK,則可設定持續寫入位元避免覆寫。在此點上利用設定其持續寫入位元也可停用對於內含SSK的金鑰槽之寫入權限,藉此避免覆寫。在變更SSK之後若適用,則在226上執行應用程式。應用程式可包含OS、岔斷常式、公用程式以及使用者應用程式,像是音樂播放程式、遊戲、行動電話、GPS等等。
在228上,其中之一包含加密/解密引擎165的一或多個領域可循環進入低電源狀態。在230上,當領域循環出低電源狀態時會發生重新啟動。在執行BL以回應重新啟動期間,一或多個週邊(例如RAM)內遺留的程式碼已經驗證,並且在232上重設對於AO領域內安全控制SSK暫存器的權限來允許讀取與寫入權限。在234上,從AO領域內的安全控制SSK暫存器中將SSK讀取進入SSK金鑰槽。當利用BL針對加密/解密引擎從SSK暫存器將SSK讀取進入對應金鑰槽時,則在236上設定讀取停用與寫入停用持續位元。之後,在238上從一或多個週邊讀取資料和/或一或多個應用程式。在一個實施當中,應用程式可用加密形式儲存。在240上,任何已加密的資料或應用程式都使用SSK解密。在242上,執行應用程式。
因此,本發明的具體實施例對於維持AO領域內系統儲存金鑰(SSK),並且當該加密/解密引擎啟動時將該SSK復原到加密/解密引擎有利。不過SSK只能由BL存取,該BL提供安全信任鏈結(secure chain of trust)。此外,具體實施例選擇性允許更新SSK。
此時請參閱第三A圖至第三E圖,顯示根據本發明的一個具體實施例,安全更新裝置開機程式碼而不需要知道開機金鑰的方法。再者,在302上,由處理單元150執行BR(例如冷開機)來建立信賴鏈。在BR執行期間,可存取安全開機金鑰(SBK)、裝置金鑰(DK)和裝置識別碼(DID),並且在304上將SBK載入可由加密/解密引擎存取的對應SBK金鑰槽。SBK暫存器受到在存取SBK之後由BR所設定的持續讀取/寫入位元所保護,避免來自BR之外的存取。在306上,安全系統金鑰(SSK)從SBK、DK和DID計算得出,並且載入對應的SSK金鑰槽,如上面的詳細說明所述。
在308上,將SSK載入裝置110的AO領域140內之SSK暫存器中。在310上,從給定週邊裝置中讀取稱為開機載入碼(BL)的開機程式碼額外部分,特別用於儲存BL。儲存在週邊上的BL經過加密。在312上,開機載入碼使用SBK解密,藉此認證開機載入碼。開機載入碼可進一步根據認證技術使用摘要、數位證明等等來認證。使用SBK解密並認證開機載入碼維持了安全信賴鏈。
在314上,若BL成功解密並認證時,則BL由處理單元150執行。在BL執行期間,在316上從金鑰槽清除SBK。SBK可用覆寫成全部為零或某些其他圖案予以清除。之後,在318上從一或多個週邊讀取一或多個應用程式。在一個實施當中,應用程式可用加密形式儲存。在320上,任何已加密的應用程式都使用SSK解密。在322上,執行應用程式。應用程式可包含OS、岔斷常式、公用程式以及使用者應用程式,像是音樂播放程式、遊戲、行動電話、GPS等等。
在324上,從服務提供者接收新開機載入碼。新開機載入碼可使用公開金鑰加密或類似方式來編碼。在此後的某點上,裝置重新啟動(例如冷開機)。在326上,執行BR以回應重新啟動。在BR執行期間,可存取安全開機金鑰(SBK)、裝置金鑰(DK)和裝置識別碼(DID),並且在328上將SBK載入可由加密/解密引擎存取的對應SBK金鑰槽。SBK暫存器受到在存取SBK之後由BR所設定的持續讀取/寫入位元所保護,避免來自BR之外的存取。在330上,安全系統金鑰(SSK)從SBK、DK和DID計算得出,並且載入對應的SSK金鑰槽,如上面的詳細說明所述。在332上,將SSK載入裝置110的AO領域140內之SSK暫存器中。在334上,然後從週邊讀取新開機載入碼。新開機載入碼通常將儲存在加密的格式當中。在336上,從服務提供者所接收新開機載入碼係經過認證。在338上,使用SBK將新開機載入碼加密,並儲存在指定用於儲存BL的給定週邊內。在340上,SBK從金鑰槽清除。在342上設定讀取詭異位元(停用讀取權限)而非寫入固著位元(允許後續寫入權限)。此外,SBK和SSK金鑰槽受到由BR所設定的持續讀取/寫入位元所保護,避免來自BR之外的存取。
在344上,若新BL成功解密並認證時,則BL由處理單元155執行。在346上,在該新BL的執行期間從一或多個週邊當中讀取資料以及/或一或多個應用程式。在一個實施當中,應用程式可用加密形式儲存。在348上,任何已加密的資料或應用程式都使用SSK解密。在350上,執行應用程式。應用程式可包含OS、岔斷常式、公用程式以及使用者應用程式,像是音樂播放程式、遊戲、行動電話、GPS等等。
下次裝置冷開機時將會載入新BL並執行。因此,本發明的具體實施例也有利於啟用開機載入碼程式碼的安全更新而不用知道安全開機金鑰。
此時請參閱第四A圖至第四B圖,顯示依照本發明一個具體實施例的安全復原方法。再一次,在402上,由處理單元155執行BR(例如冷開機)來建立信賴鏈。在BR執行期間,可存取安全開機金鑰(SBK)、裝置金鑰(DK)和裝置識別碼(DID),並且在404上將SBK載入可由加密/解密引擎存取的對應SBK金鑰槽。在406上,安全系統金鑰(SSK)從SBK、DK和DID計算得出,並且載入對應的SSK金鑰槽,如上面的詳細說明所述。
在408上,將SSK載入裝置110的AO領域135內之SSK暫存器中。在410上,從指定用於儲存BL的給定週邊裝置中讀取BL。儲存在週邊上的BL係經過加密。在412上,開機載入碼使用SBK解密,藉此認證開機載入碼。開機載入碼可進一步根據認證技術使用摘要、數位證明等等來認證。若BL成功解密並認證,則BL由處理單元155執行。不過,若410、412的讀取和/或解密/認證處理失敗,則在414上裝置進入復原模式。當無法讀取和/或解密和認證BL時,則考慮該裝置已上鎖或遭封鎖。此外,當裝置仍舊在製造階段上,使用復原模式第一次將SBK、DK和/或BL載入系統上。在復原模式期間,裝置110在给定的通訊通道上廣播裝置110的DID。在一個實施當中,通訊通道為萬用序列匯流排(USB,“Universal Serial Bus”)鏈結418。包含裝置105的系統可直接或透過網路505和區域介面裝置510耦合至主機422,如第五A圖和第五B圖內所示。在420上,主機裝置422接收並映射DID至給定SBK。然後主機422使用給定SBK產生自我驗證訊息,並在424上將自我驗證訊息傳輸至裝置110。在示例性實施當中,該訊息包含一個(不安全)長度605、一個雜湊610、一個隨機AES區塊615、一個安全長度620、指令與資料625、一個酬載630和填充(例如需要時0X80接著額外0X00位元組)635,如第六圖內所述。隨機AES區塊615、安全長度620、指令與資料625、酬載630和填充635都使用映射至DID的SBK編碼。在426上,使用裝置的SBK由裝置110接收並驗證訊息。在一個實施當中,若不¥安全長度605匹配安全長度620、雜湊610正確、指令615有效(例如用於給定訊息的有效指令類型)、若訊息的尺寸正確(如指令與資料所指定)、若酬載的尺寸正確、若填充圖案正確以及/或若指令與資料625內BR版本號碼匹配裝置110上BR版本,則所接收的訊息有效。若該訊息有效,則在428上裝置110將該訊息載入週邊(例如RAM)並執行之。在428上,復原模式可執行該訊息內一或多個指令、執行該訊息內含的程式碼以及/或將該訊息內的BL程式碼儲存至給定週邊內。若在該訊息內接收BL程式碼,則該BL儲存在用SBK編碼的給定週邊內。選擇性地,裝置110可下載並驗證來自主機的額外資料。該額外資料在寫入至週邊之前可使用SBK加密並簽署。在此方式中,復原模式可提供用於多訊息傳輸和回應順序。若該訊息無效,則裝置110進入需要系統重設的無限迴圈。
因此,本發明的具體實施例也有利用於啟用BL程式碼安全下載至鎖定系統。
上述本發明特定具體實施例的說明已用於引例以及說明之用,在此並未徹底或要將本發明限制到所公佈的精確型態,並且在上述教導之中可進行許多修改以及變化。具體實施例經過選擇與說明來最佳闡述本發明原理,並且以許多具體實施例讓其他精通此技術的人士對本系統有最佳瞭解,這些具體實施例都適合特定使用期待。而本發明範疇由下列申請專利範圍及其同等項所定義。
105...示例性系統
110...裝置
115...週邊
120...週邊
125...週邊
130...週邊
135...永遠開啟領域
140...可控制供應電位領域
145...可控制時脈領域
150...晶片上計算裝置可讀取媒體
155...一般處理單元
160...特殊處理單元
165...功能單元
170...系統控制器
175...系統控制器
180...系統控制器
185...特殊處理單元及/或功能單元
422...主機
505...網路
510...區域介面裝置
605...(不安全)長度
610...雜湊
615...隨機AES區塊
620...安全長度
625...指令與資料
630...酬載
635...填充
本發明的具體實施例藉由範例進行說明並且不受其限制,在附圖中的數據以及其中相同的參考編號指示相同的元件,其中:
第一圖顯示實施本發明具體實施例的示例性系統之方塊圖。
第二A圖至第二D圖顯示根據本發明的一個具體實施例,在裝置的複數個電源狀態期間處置儲存金鑰的方法流程圖。
第三A圖至第三E圖顯示根據本發明的一個具體實施例,安全更新裝置開機程式碼而不需要知道開機金鑰的方法流程圖。
第四A圖至第四B圖顯示根據本發明的一個具體實施例,安全更新裝置開機程式碼而不需要知道開機金鑰的方法流程圖。
第五A圖至第五B圖顯示根據本發明的一個具體實施例,範例回復模式系統之方塊圖。
第六圖顯示根據本發明的一個具體實施例,示例性回復模式自我驗證訊息之方塊圖。
105...示例性系統
110...裝置
115...週邊
120...週邊
125...週邊
130...週邊
135...永遠開啟領域
140...可控制供應電位領域
145...可控制時脈領域
150...晶片上計算裝置可讀取媒體
155...一般處理單元
160...特殊處理單元
165...功能單元
170...系統控制器
175...系統控制器
180...系統控制器
Claims (16)
- 一種安全更新一開機影像之方法,包含:從一服務提供者接收一新開機載入碼;將該新開機載入碼載入一給定的週邊裝置;執行一重設;以及執行儲存在一晶片上的開機程式碼第一部分來開始一信賴安全鏈、獲得一安全開機金鑰、驗證從該服務提供者接收的該新開機載入碼,以及將該驗證過的新開機載入碼使用該安全開機金鑰加密後,儲存在一指定的週邊裝置內;其中獲得該安全開機金鑰,更包含在該安全開機ROM程式碼執行期間存取該安全開機金鑰,其中該安全開機金鑰儲存在一組保險絲內,其被保護以避免非開機ROM程式碼的存取。
- 如申請專利範圍第1項之方法,其中執行儲存在一晶片上的開機程式碼第一部分來開始一信賴安全鏈,包含執行一安全開機ROM程式碼。
- 如申請專利範圍第1項之方法,其中驗證從該服務提供者接收的該新開機載入碼,包含將從該服務提供者接收的該新開機載入碼解密。
- 如申請專利範圍第3項之方法,進一步包含執行該新開機載入碼,若該新開機載入碼已成功被解密及被驗證。
- 如申請專利範圍第4項之方法,進一步包含: 存取一裝置金鑰和一裝置識別碼,並由該系統開機金鑰、該裝置金鑰和該裝置識別碼計算一安全系統金鑰,同時執行儲存在一晶片上的一開機程式碼第一部分,來開始一信賴安全鏈;讀取來自一週邊的一已加密應用程式,並使用該安全系統金鑰將該應用程式解密,同時執行該新開機載入碼;以及若成功解密該應用程式,則執行該應用程式。
- 如申請專利範圍第5項之方法,其中該系統開機金鑰為一裝置製造商或一裝置的系統製造商所選之一秘密金鑰,用於執行安全更新該開機影像的該方法。
- 如申請專利範圍第6項之方法,其中該裝置金鑰為該裝置的該系統製造商所知之一秘密金鑰,用於執行安全更新該開機影像的該方法。
- 如申請專利範圍第7項之方法,其中該裝置識別碼為該裝置的一裝置特定值,用於執行安全更新該開機影像的該方法。
- 一或多種儲存一或多個計算裝置可執行指令,並且該指令由一裝置執行時會執行一處理之計算裝置可讀取媒體,該處理包含:接收一新開機載入碼;將該新開機載入碼載入一給定的週邊裝置;在將該新開機載入碼載入一給定的週邊裝置之後執行一重設; 在執行該重設之後,執行儲存在該裝置上一目前開機程式碼的第一部分來開始一信賴安全鏈;存取由一裝置製造商或該裝置的系統製造商所選取之一第一秘密金鑰;在執行該目前開機程式碼的該第一部分之後驗證該新開機載入碼;若該新開機載入碼經過驗證,則將用該第一秘密金鑰加密的該新開機載入碼儲存至一指定週邊裝置內;存取一第二秘密金鑰和一裝置識別碼;由該第一秘密金鑰、該第二秘密金鑰和該裝置識別碼計算一第三金鑰,同時執行開機程式碼的一第一部分;讀取來自一週邊的一已加密應用程式;使用該第三秘密金鑰將該應用程式解密,同時執行該新開機載入碼;以及若成功解密該應用程式,則執行該應用程式。
- 如申請專利範圍第9項之儲存一或多個計算裝置可執行指令並且該指令由該裝置執行時會執行該處理之該一或多個計算裝置可讀取媒體,其中執行一開機程式碼的第一部分,包含執行一開機ROM程式碼。
- 如申請專利範圍第10項之儲存一或多個計算裝置可執行指令並且該指令由該裝置執行時會執行該處理之該一或多個計算裝置可讀取媒體,其中存取一第一秘密金鑰,包含從由受保護程式碼可讀取的一暫存器中讀取該第一秘密金鑰。
- 如申請專利範圍第11項之儲存一或多個計算裝置可執行指令並且該指令由該裝置執行時會執行該處理之該一或多個計算裝置可讀取媒體,進一步包含將該新開機載入碼解密。
- 如申請專利範圍第12項之儲存一或多個計算裝置可執行指令並且該指令由該裝置執行時會執行該處理之該一或多個計算裝置可讀取媒體,進一步包含若成功解密並驗證該新開機載入碼,則執行該新開機載入碼。
- 如申請專利範圍第13項之儲存一或多個計算裝置可執行指令並且該指令由該裝置執行時會執行該處理之該一或多個計算裝置可讀取媒體,其中一裝置製造商或該裝置的系統製造商已知該第一秘密金鑰。
- 如申請專利範圍第14項之儲存一或多個計算裝置可執行指令並且該指令由該裝置執行時會執行該處理之該一或多個計算裝置可讀取媒體,其中一裝置製造商或該裝置的系統製造商已知該第二秘密金鑰。
- 如申請專利範圍第15項之儲存一或多個計算裝置可執行指令並且該指令由該裝置執行時會執行該處理之該一或多個計算裝置可讀取媒體,其中該裝置識別碼是特定指定給該裝置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/029,467 US8719585B2 (en) | 2008-02-11 | 2008-02-11 | Secure update of boot image without knowledge of secure key |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200941278A TW200941278A (en) | 2009-10-01 |
TWI385554B true TWI385554B (zh) | 2013-02-11 |
Family
ID=41241668
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101137298A TWI489308B (zh) | 2008-02-11 | 2009-02-10 | 未知安全金鑰下開機影像之安全更新 |
TW098104227A TWI385554B (zh) | 2008-02-11 | 2009-02-10 | 未知安全金鑰下開機影像之安全更新 |
TW098104227K TWI376617B (en) | 2008-02-11 | 2009-02-10 | Secure update of boot image without knowledge of secure key |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101137298A TWI489308B (zh) | 2008-02-11 | 2009-02-10 | 未知安全金鑰下開機影像之安全更新 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098104227K TWI376617B (en) | 2008-02-11 | 2009-02-10 | Secure update of boot image without knowledge of secure key |
Country Status (3)
Country | Link |
---|---|
US (1) | US8719585B2 (zh) |
JP (1) | JP4954228B2 (zh) |
TW (3) | TWI489308B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI821824B (zh) * | 2021-12-16 | 2023-11-11 | 上銀科技股份有限公司 | 自動載入參數的方法和系統及其服務端伺服器和客戶端伺服器 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090204801A1 (en) * | 2008-02-11 | 2009-08-13 | Nvidia Corporation | Mechanism for secure download of code to a locked system |
US9069706B2 (en) * | 2008-02-11 | 2015-06-30 | Nvidia Corporation | Confidential information protection system and method |
US9158896B2 (en) * | 2008-02-11 | 2015-10-13 | Nvidia Corporation | Method and system for generating a secure key |
US9613215B2 (en) | 2008-04-10 | 2017-04-04 | Nvidia Corporation | Method and system for implementing a secure chain of trust |
US8738932B2 (en) * | 2009-01-16 | 2014-05-27 | Teleputers, Llc | System and method for processor-based security |
JP5318699B2 (ja) * | 2009-08-17 | 2013-10-16 | 富士通コンポーネント株式会社 | Kvmスイッチ、kvmシステム及びプログラム |
US8447908B2 (en) | 2009-09-07 | 2013-05-21 | Bitmicro Networks, Inc. | Multilevel memory bus system for solid-state mass storage |
US9367107B2 (en) * | 2011-10-19 | 2016-06-14 | Psion Inc. | Method and system for controlling reset state change in a system-on-a-chip device |
WO2013097117A1 (zh) * | 2011-12-28 | 2013-07-04 | 华为技术有限公司 | 虚拟机全盘加密下预启动时的密钥传输方法和设备 |
US9489924B2 (en) | 2012-04-19 | 2016-11-08 | Nvidia Corporation | Boot display device detection and selection techniques in multi-GPU devices |
WO2014175867A1 (en) | 2013-04-23 | 2014-10-30 | Hewlett-Packard Development Company, L.P. | Verifying controller code and system boot code |
US9762395B2 (en) | 2014-04-30 | 2017-09-12 | International Business Machines Corporation | Adjusting a number of dispersed storage units |
US9959125B2 (en) | 2015-08-05 | 2018-05-01 | Samsung Electronics Co., Ltd. | Field update of boot loader using regular device firmware update procedure |
US10855462B2 (en) * | 2016-06-14 | 2020-12-01 | Honeywell International Inc. | Secure in-band upgrade using key revocation lists and certificate-less asymmetric tertiary key pairs |
WO2018132211A1 (en) | 2017-01-12 | 2018-07-19 | Google Llc | Verified boot and key rotation |
US10587421B2 (en) | 2017-01-12 | 2020-03-10 | Honeywell International Inc. | Techniques for genuine device assurance by establishing identity and trust using certificates |
US11347861B2 (en) | 2018-04-10 | 2022-05-31 | Raytheon Company | Controlling security state of commercial off the shelf (COTS) system |
US10878101B2 (en) | 2018-09-07 | 2020-12-29 | Raytheon Company | Trusted booting by hardware root of trust (HRoT) device |
US11423150B2 (en) * | 2018-09-07 | 2022-08-23 | Raytheon Company | System and method for booting processors with encrypted boot image |
US11178159B2 (en) | 2018-09-07 | 2021-11-16 | Raytheon Company | Cross-domain solution using network-connected hardware root-of-trust device |
US11595411B2 (en) | 2019-04-01 | 2023-02-28 | Raytheon Company | Adaptive, multi-layer enterprise data protection and resiliency platform |
US11513698B2 (en) | 2019-04-01 | 2022-11-29 | Raytheon Company | Root of trust assisted access control of secure encrypted drives |
JP7367471B2 (ja) * | 2019-11-07 | 2023-10-24 | 株式会社リコー | 情報処理装置、ファイル保証方法、及びファイル保証プログラム |
US11379588B2 (en) | 2019-12-20 | 2022-07-05 | Raytheon Company | System validation by hardware root of trust (HRoT) device and system management mode (SMM) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200509636A (en) * | 2003-06-19 | 2005-03-01 | Ibm | System and method for authenticating software using hidden intermediate keys |
US20070083744A1 (en) * | 2005-10-10 | 2007-04-12 | Samsung Electronics Co., Ltd. | Digital broadcast processing apparatus and boot loader upgrade method thereof |
US20070300207A1 (en) * | 2006-06-22 | 2007-12-27 | James Ronald Booth | Boot Validation System and Method |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5457748A (en) | 1992-11-30 | 1995-10-10 | Motorola, Inc. | Method and apparatus for improved security within encrypted communication devices |
US6185678B1 (en) | 1997-10-02 | 2001-02-06 | Trustees Of The University Of Pennsylvania | Secure and reliable bootstrap architecture |
DE69942712D1 (de) | 1998-05-29 | 2010-10-14 | Texas Instruments Inc | Sichere Rechnervorrichtung |
US6275931B1 (en) * | 1998-06-22 | 2001-08-14 | Elsag International N.V. | Method and apparatus for upgrading firmware boot and main codes in a programmable memory |
US7761653B2 (en) * | 1999-08-04 | 2010-07-20 | Super Talent Electronics, Inc. | Flash micro-controller with shadow boot-loader SRAM for dual-device booting of micro-controller and host |
WO2002021763A1 (en) | 2000-09-08 | 2002-03-14 | Mainstay Enterprises, Inc. | System and method for protecting information stored on a computer |
FI114416B (fi) | 2001-06-15 | 2004-10-15 | Nokia Corp | Menetelmä elektroniikkalaitteen varmistamiseksi, varmistusjärjestelmä ja elektroniikkalaite |
US7237121B2 (en) | 2001-09-17 | 2007-06-26 | Texas Instruments Incorporated | Secure bootloader for securing digital devices |
US6615329B2 (en) | 2001-07-11 | 2003-09-02 | Intel Corporation | Memory access control system, apparatus, and method |
EP1442388A2 (en) | 2001-10-03 | 2004-08-04 | Shield One, LLC | Remotely controlled failsafe boot mechanism and remote manager for a network device |
US20030115471A1 (en) * | 2001-12-19 | 2003-06-19 | Skeba Kirk W. | Method and apparatus for building operational radio firmware using incrementally certified modules |
US7266848B2 (en) | 2002-03-18 | 2007-09-04 | Freescale Semiconductor, Inc. | Integrated circuit security and method therefor |
JP4099039B2 (ja) * | 2002-11-15 | 2008-06-11 | 松下電器産業株式会社 | プログラム更新方法 |
EP1642206B1 (en) * | 2003-07-07 | 2017-12-20 | Irdeto B.V. | Reprogrammable security for controlling piracy and enabling interactive content |
US7142891B2 (en) | 2003-10-10 | 2006-11-28 | Texas Instruments Incorporated | Device bound flashing/booting for cloning prevention |
US7386736B2 (en) | 2004-12-16 | 2008-06-10 | International Business Machines Corporation | Method and system for using a compact disk as a smart key device |
US7603562B2 (en) * | 2005-02-02 | 2009-10-13 | Insyde Software Corporation | System and method for reducing memory requirements of firmware |
US20060179308A1 (en) * | 2005-02-07 | 2006-08-10 | Andrew Morgan | System and method for providing a secure boot architecture |
US8639946B2 (en) | 2005-06-24 | 2014-01-28 | Sigmatel, Inc. | System and method of using a protected non-volatile memory |
US7636780B2 (en) * | 2005-07-28 | 2009-12-22 | Advanced Micro Devices, Inc. | Verified computing environment for personal internet communicator |
JP2007043345A (ja) * | 2005-08-02 | 2007-02-15 | Sony Corp | 通信装置およびそれにおける処理方法 |
US20070055881A1 (en) * | 2005-09-02 | 2007-03-08 | Fuchs Kenneth C | Method for securely exchanging public key certificates in an electronic device |
JP4868216B2 (ja) * | 2006-01-19 | 2012-02-01 | 日本電気株式会社 | ファームウェア更新回路およびファームウェア更新方法 |
JP2007213494A (ja) * | 2006-02-13 | 2007-08-23 | Ntt Docomo Inc | 更新起動装置及び更新起動制御方法 |
JP4795812B2 (ja) | 2006-02-22 | 2011-10-19 | 富士通セミコンダクター株式会社 | セキュアプロセッサ |
US7676694B2 (en) * | 2006-03-31 | 2010-03-09 | Emc Corporation | Managing system components |
EP1845470B1 (en) | 2006-04-13 | 2016-11-09 | STMicroelectronics (Research & Development) Limited | Multiple purpose integrated circuit |
JP4791250B2 (ja) * | 2006-05-19 | 2011-10-12 | ルネサスエレクトロニクス株式会社 | マイクロコンピュータおよびそのソフトウェア改竄防止方法 |
US8166308B2 (en) * | 2006-07-18 | 2012-04-24 | Certicom Corp. | System and method for authenticating a gaming device |
US8312509B2 (en) | 2006-09-21 | 2012-11-13 | Intel Corporation | High integrity firmware |
US20080082680A1 (en) * | 2006-09-29 | 2008-04-03 | Karanvir Grewal | Method for provisioning of credentials and software images in secure network environments |
US7900032B2 (en) | 2006-10-06 | 2011-03-01 | Broadcom Corporation | Method and system for NAND flash support in autonomously loaded secure reprogrammable system |
US7870379B2 (en) * | 2006-10-10 | 2011-01-11 | Exaflop Llc | Updating a power supply microcontroller |
US7876894B2 (en) * | 2006-11-14 | 2011-01-25 | Mcm Portfolio Llc | Method and system to provide security implementation for storage devices |
US20080148001A1 (en) | 2006-12-14 | 2008-06-19 | Telefonaktiebolaget L M Ericsson (Publ) | Virtual Secure On-Chip One Time Programming |
US8254568B2 (en) | 2007-01-07 | 2012-08-28 | Apple Inc. | Secure booting a computing device |
-
2008
- 2008-02-11 US US12/029,467 patent/US8719585B2/en active Active
-
2009
- 2009-02-10 TW TW101137298A patent/TWI489308B/zh active
- 2009-02-10 TW TW098104227A patent/TWI385554B/zh active
- 2009-02-10 TW TW098104227K patent/TWI376617B/zh active
- 2009-02-12 JP JP2009030103A patent/JP4954228B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200509636A (en) * | 2003-06-19 | 2005-03-01 | Ibm | System and method for authenticating software using hidden intermediate keys |
US20070083744A1 (en) * | 2005-10-10 | 2007-04-12 | Samsung Electronics Co., Ltd. | Digital broadcast processing apparatus and boot loader upgrade method thereof |
US20070300207A1 (en) * | 2006-06-22 | 2007-12-27 | James Ronald Booth | Boot Validation System and Method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI821824B (zh) * | 2021-12-16 | 2023-11-11 | 上銀科技股份有限公司 | 自動載入參數的方法和系統及其服務端伺服器和客戶端伺服器 |
Also Published As
Publication number | Publication date |
---|---|
TW200941278A (en) | 2009-10-01 |
TWI376617B (en) | 2012-11-11 |
US20100070743A1 (en) | 2010-03-18 |
TW201314492A (zh) | 2013-04-01 |
US8719585B2 (en) | 2014-05-06 |
JP4954228B2 (ja) | 2012-06-13 |
TWI489308B (zh) | 2015-06-21 |
JP2009225439A (ja) | 2009-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI385554B (zh) | 未知安全金鑰下開機影像之安全更新 | |
KR101735023B1 (ko) | 민감한 코드와 데이터를 보호하는 아키텍처를 포함하는 방법 및 장치 | |
US20090204803A1 (en) | Handling of secure storage key in always on domain | |
US7313705B2 (en) | Implementation of a secure computing environment by using a secure bootloader, shadow memory, and protected memory | |
KR100851631B1 (ko) | 보안 모드 제어 메모리 | |
US9613215B2 (en) | Method and system for implementing a secure chain of trust | |
US20130254906A1 (en) | Hardware and Software Association and Authentication | |
US20070237325A1 (en) | Method and apparatus to improve security of cryptographic systems | |
JP2005227995A (ja) | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム | |
TW202141321A (zh) | 安全儲存及載入韌體的方法及電子裝置 | |
KR20160111455A (ko) | 보안 부트 동안 키 추출 | |
KR20210089486A (ko) | 키를 안전하게 관리하기 위한 장치 및 방법 | |
US20090204801A1 (en) | Mechanism for secure download of code to a locked system | |
CN114600102A (zh) | 用于保护共享对象的装置和方法 | |
CN115357948A (zh) | 一种基于tee及加密芯片的硬件防抄板加密方法及其装置 | |
CN111357003A (zh) | 预操作***环境中的数据保护 | |
Areno | Strengthening embedded system security with PUF enhanced cryptographic engines |