TWI570589B - 用以提供受信任計算之裝置 - Google Patents

用以提供受信任計算之裝置 Download PDF

Info

Publication number
TWI570589B
TWI570589B TW104116265A TW104116265A TWI570589B TW I570589 B TWI570589 B TW I570589B TW 104116265 A TW104116265 A TW 104116265A TW 104116265 A TW104116265 A TW 104116265A TW I570589 B TWI570589 B TW I570589B
Authority
TW
Taiwan
Prior art keywords
firmware
processor
variable
secure
key
Prior art date
Application number
TW104116265A
Other languages
English (en)
Other versions
TW201617957A (zh
Inventor
文森特J 利姆
尼可拉斯J 亞當斯
吉里P 木杜蘇魯
李G 羅森保
麥可 羅瑟曼
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 TW201617957A publication Critical patent/TW201617957A/zh
Application granted granted Critical
Publication of TWI570589B publication Critical patent/TWI570589B/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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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/034Test or assess a computer or a system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Description

用以提供受信任計算之裝置 發明領域
實施例闡述受信任計算。
發明背景
基本輸入/輸出系統(BIOS)軟體為用以啟動(亦即,執行啟動操作,諸如,載入及開始作業系統(OS)、測試硬體及其類似者)並執行電腦系統中之低階操作的低階軟體。BIOS(或類似低階軟體)可使用統一可延伸韌體介面(UEFI)開放源標準(例如,UEFI規範版本2.4,可在www**uefi**org/specs/處獲得)而實施,該統一可延伸韌體介面(UEFI)開放源標準為定義作業系統(OS)與平台韌體(持久性記憶體與儲存於持久性記憶體中之程式碼及資料的組合)之間的軟體介面之規範。UEFI包括稱為UEFI變數之組件,其用於UEFI安全啟動技術中。UEFI變數用以保存MRC(記憶體參考碼)組配資料、PCH(平台控制集線器)組配資料、SA(系統代理)組配資料、密鑰及其類似者。UEFI安全啟動技術經標準化(例如,UEFI2.3.1c規範)且一些UEFI技術係以開放源配置(例如,edk2**sourceforge**net)實施。
受信任平台模組(TPM)為一為具有添加之密碼編譯功能性的安全微控制器/加密處理器的硬體器件。其與支援軟體及韌體一起工作以防止對計算節點之未經授權存取。TPM含有一硬體引擎以執行加密/解密。TPM在數位簽署及密鑰包裝操作期間使用其內建式加密引擎。
不管進階啟動軟體協定(例如,UEFI安全啟動)及安全加密處理器(例如,TPM)之可用性,惡意程式碼及其類似者仍為對真正受信任計算之威脅。
依據本發明之一實施例,係特地提出一種裝置,其包含:一帶外加密處理器,其耦接至安全永久性儲存器;及至少一個儲存媒體,其具有儲存於其上之韌體指令,該等韌體指令在運轉時間期間以及在該裝置之一作業系統啟動之後使該加密處理器進行以下動作:(a)在該安全永久性儲存器內儲存一密鑰,(b)在該密鑰在該加密處理器內時,以該密鑰對一物件簽署以產生一簽章,及(c)驗證該簽章。
100、200、300、500‧‧‧過程
101~135、201~220、301~335、505~535‧‧‧區塊
1000‧‧‧多處理器系統
1014‧‧‧I/O器件
1018‧‧‧匯流排橋接器
1020‧‧‧第二匯流排
1022‧‧‧鍵盤/滑鼠
1024‧‧‧I/O器件
1026‧‧‧通訊器件
1028‧‧‧資料儲存單元
1030‧‧‧程式碼
1032、1034‧‧‧記憶體
1038‧‧‧高效能圖形引擎
1039、1050‧‧‧點對點互連件
1062‧‧‧P-P互連件
1070‧‧‧第一處理元件
1072、1082‧‧‧記憶體控制器邏輯(MC)
1074a、1074b‧‧‧處理器核心
1076、1078‧‧‧點對點(P-P)介面
1080‧‧‧第二處理元件
1084a、1084b‧‧‧處理器核心
1086、1088‧‧‧點對點(P-P)介面
1090‧‧‧I/O子系統
1092、1096‧‧‧介面
1094、1098‧‧‧P-P介面
10104‧‧‧P-P互連件
10110‧‧‧第一匯流排
本發明之實施例的特徵及優勢將自所附申請專利範圍、一或多個實例實施例之以下詳細描述及對應諸圖變得顯而易見,其中:圖1包括在本發明之一實施例中的關於啟用/停用安全獨立區域(enclave)之過程。
圖2包括在本發明之一實施例中的關於變數(UEFI變數)儲存器之防回復的過程。
圖3包括在本發明之一實施例中的關於在多個OS之間的安全雙態切換之過程。
圖4包括在本發明之一實施例中的用於在韌體正試圖存取一安全加密處理器時避免OS與韌體之間的衝突之過程。
圖5包括用於與本發明之一實施例一起使用的系統。
較佳實施例之詳細說明
在以下描述中,闡述眾多特定細節,但本發明之實施例可在無此等特定細節之情況下實踐。熟知電路、結構及技術尚未詳細地展示以避免混淆對此描述之理解。「實施例」、「各種實施例」及其類似者指示如此描述之實施例可包括特定特徵、結構或特性,但並非每一實施例必需包括特定特徵、結構或特性。一些實施例可具有針對其他實施例所描述之特徵中之一些、全部或不具有該等特徵中之任一者。「第一」、「第二」、「第三」及其類似者描述一共同物件並指示正提及類似物件之不同個例。此等形容詞不暗示如此描述之物件必須按給定序列、在時間上在空間上排序或呈任何其他方式。
實施例提供對加密處理器(例如,TPM 2.0)的運轉時間存取及加密處理器之簽署服務,使得韌體可使用加密處理器以產生在加密處理器內部之一密鑰,使用該密鑰以對一物件簽署(例如,UEFI變數),且接著驗證彼簽章。 此實現至少三個使用情況。第一,使用情況包括啟用/停用受信任實行環境(諸如(但不限於),Intel®安全獨立區域(enclave)(有時稱作Intel®軟體保護擴展(Intel® SGX))、Intel®管理引擎(Intel® ME)及其類似者)的能力。第二,另一使用情況包括變數回復保護。此可藉由將該或該等變數以密碼方式結合(例如,使用密碼編譯雜湊)至加密處理器(例如,至位於加密處理器內之一安全記憶體,使得加密處理器在SMM中之UEFI程式碼不能充當保護者或「內容之防護器」時可充當針對在動力循環期間摻假的SPI快閃記憶體的完整性檢查)來幫助阻止對某些記憶體區(例如,儲存於串列周邊介面(SPI)快閃記憶體中之UEFI變數)的離線攻擊。關於SMM之UEFI/PI利用的較多資訊可在美國專利第6,848,046號(讓與給加利福尼亞州聖克拉拉之因特爾公司)中發現。第三,又一個使用情況包括韌體在運轉時間期間存取加密處理器,從而使加密處理器操縱(例如,雙態切換)啟用/停用一個作業系統(OS)以與另一作業系統交換(例如,在於單一平台上操作之兩個OS之間雙態切換)的一變數。此實施例可進一步包括韌體在運轉時間期間存取加密處理器,從而使加密處理器分配第一記憶體量至第一OS並分配第二記憶體量至第二OS。現在關於各種實施例之更多詳細論述如下。
由加密處理器簽署之變數的運轉時間存取及/或操控
上文提到UEFI變數。UEFI變數對惡意活動敏感。特定地,原始設備製造者(OEM)/獨立BIOS供應商(IBV) 在快閃記憶體區上儲存變數資料並使用系統管理模式(SMM)維持變數資料之完整性(亦即,不存在機密性控制,如此任一者可讀取但僅受信任實體可寫入)。因此,變數對惡意活動(諸如「小室攻擊」)敏感,小室攻擊為低預算硬體攻擊,其中攻擊者能夠實體存取器件,而非有足夠設備或專門知識以在積體電路封裝內攻擊。攻擊者試圖使用JTAG除錯、邊界掃描I/O及內建式自我測試設施連接至器件。其可使用邏輯探測器及網路分析器窺探匯流排線、插腳及系統信號被動地監視系統。攻擊者亦可能夠執行簡單主動硬體攻擊,諸如,強迫插腳及匯流排線處於高或低電壓、重新規劃記憶體器件,及以惡意替代例替換硬體組件。其他威脅包括如(例如)Bunnie Huang在XBOX1攻擊中描述的「ROM偷竊」/「替換」樣式攻擊及其類似者(例如參見,http://***.uefidk.com/sites/default/files/resources/Platform_Security_Review_Intel_Cisco_White_Paper.pdf之18頁)。
為較好地使此等變數安全,實施例藉由使用密碼編譯處理器簽署並驗證彼等變數或保持密碼編譯校驗和(諸如,TPM NVData中的變數之SHA256雜湊)而以密碼方式將UEFI變數(及用於儲存組配資訊及其類似者之類似容器或機制)結合至平台。此係可能的,因為(例如)TPM標準版本2.0支援平台階層,且因此平台韌體(諸如,半導體整合程式碼(SIC))及OS可皆使用TPM,其並非為先前TPM標準(例如,TPM標準1.2,藉以僅OS可使用TPM)之情況。因此,UEFI變數(韌體需要存取其)可藉由TPM在運轉時間 期間簽署及/或藉由UEFI PI SMM程式碼及儲存於TPM中之後續雜湊值而雜湊(用於與重啟時產生的雜湊進行後續比較以查看TPM中之值與源自SPI快閃記憶體之值是否「相同」)。TPM亦具有用以控管所簽署變數之存取/操控的機制。舉例而言,TPM具有強存取控制(例如,防止讀取變數之讀取-鎖定及防止寫入變數之寫入-鎖定)。因此,TPM可(例如)針對變數實施READ_LOCK保護(針對機密性)及WRITE_LOCK保護(針對完整性)。
如下文將進一步闡述,實施例包括在TPM中儲存私用密鑰。密鑰可用於對UEFI變數(或任何其他資料)簽署。因此,不需要機密性陳述且僅需要完整性保護。此促進安全地對用於受信任實體之目標平台上之資料簽署的能力。在一實施例中,受信任實體為SMM。在此實施例中,SMM(在運轉時間中)建立與其他實體之信任,其他實體可要求SMM代表其執行動作。應注意儘管在一些實施例中,UEFI變數使用可僅需要完整性保護,但此「簽署」能力可用以「加密」變數儲存器,因此類似使用者密碼之資訊或其他個人可識別資訊(PII)可自不可信環0 OS程式碼適當封閉。
換言之,實施上述三種使用情況中之任一者或全部的能力在早期TPM方案(諸如,TPM規範版本1.2)情況下係不可能的,因為韌體在OS獲取TPM之所有權後不可存取TPM。然而,TPM 2.0「平台階層」允許韌體在運轉時間繼續存取TPM 2.0資源,藉此允許韌體操縱安全儲存 之變數以允許安全啟用/停用安全獨立區域,防止回復,較好實施雙重OS情形,及/或操縱任何其他啟動或安全性關鍵設定。
由韌體在運轉時間期間(及/或在預先啟動操作期間)用以存取TPM/與其互動的指令可在SIC或其他處提供。韌體可包括程式碼,諸如,PEI(預先EFI初始化)及DXE(驅動程式實行環境)指令(例如,驅動程式)或其他主機實行之韌體組件。可需要由SIC存取的各種組件(諸如,UEFI變數)可藉由在安全加密處理器(諸如,TPM)內對其簽署而受到完整性保護,或經雜湊並具有儲存於TPM中之相關雜湊以用於跨重啟的後續偵測。UEFI規範界定用於變數存取(例如,寫入/刪除變數之SetVariable,讀取變數之GetVariable)之應用程式規劃介面(API),其可由實施例用以操縱由加密處理器簽署之變數。在一實施例中,UEFI變數可在SMM運轉時間期間以及在啟動時間期間存取。在運轉時間期間,變數可為OS、SMM及/或韌體(例如,SIC)存取。
如以下進一步論述,實施例提供可由主機韌體充分利用TPM 2.0簽章能力之方式。特定地,在一個實施例中,TPM 2.0之平台階層可用以將對TPM 2.0器件之預先OS及運轉時間存取提供給OEM PI程式碼,不論該器件是一「離散TPM」dTPM20(亦即,TPM 2.0器件)還是加密處理器的基於韌體(例如,ARM TrustZone®,因特爾公司平台信任技術(PTT))之實施。本文中有時對UEFI特定術語(例如,PEI及其類似者)進行參考,但實施例並不受如此限制 且與任何基於主機之韌體實行方案(例如,基於開放源生態系統之韌體,諸如***.coreboot.org,及運轉時間操作之其SMM模型)有關。
習知地,鑑別之UEFI變數係使用OS特定工具(例如,受保護之簽署伺服器(HSM))而產生並簽署「離開平台」。OS接著調用SetVariable運轉時間服務以在韌體中登記一鑑別變數(例如,使用傳送至UEFI用戶端以進行實際SetVariable()動作的一簽署之二進制大對象)。在相關聯公用密鑰登記在韌體之所儲存變數中後,當調用GetVariable運轉時間服務時,可驗證經鑑別變數之簽章。舉例而言,此係使用UEFI安全啟動PK、KEK、DB、DBX變數的方式。然而,韌體不能夠出於其自身目的而產生並使用鑑別變數。如下文將進一步闡述,實施例允許UEFI變數在加密處理器內(或在由加密處理器控制的區內)產生及/或簽署「打開平台」。
用於運轉時間存取之組件
如上所提到,實施例可使用TPM 2.0以執行各種任務。舉例而言,實施例包括提供命令之實施以在TPM內產生密鑰(例如,TPM2_CreatePrimary)、用密鑰簽署物件(例如,TPM2_Sign)及稍後驗證簽署之物件(例如,TPM2_VerifySignature)的命令庫(例如,Tpm2CommandLib)。SMM驅動程式可調用彼等命令連同SetVariable及GetVariable UEFI運轉時間服務。SMM驅動程式可為使用TPM 2.0對一資料物件簽署且亦驗證該簽章之「SMM鑑別 變數簽章驅動程式」。為了完整性值(例如,在每次寫入之後的全部變數儲存器之雜湊)之在TPM2.0 NVData中的儲存,諸如TPM2_NVWrite之命令可在運轉時間處在SMM中之平台階層之授權下使用且接著在重啟後經由TPM2_NVRead針對TPM NVData而檢查以確保在最後運轉時間會話與後續重啟(其中韌體將藉由諸如Intel®啟動保護之平台元件安全地鑑別)之間,值係相同的。硬體安全啟動之更一般描述可在美國專利第7,984,286號(讓與給加利福尼亞州聖克拉拉之因特爾公司)中發現。
使用平台階層存取TPM 2.0係用一鑑別值來控制。此初始地為一已知值。在第三方程式碼之實行之前,韌體將此鑑別值改變成一秘密值。此新秘密值必須被傳遞至SMM中並儲存於SMRAM中以供SMM驅動程式在運轉時間使用。舉例而言,因為BIOS在重設後執行,所以BIOS為能夠經由平台階層存取TPM 2.0的第一組件。為防止潛在地惡意第三方程式碼(例如,惡意選項ROM)使用平台階層以存取TPM,平台階層之鑑別值改變至一新秘密值且該值保存在SMM中以供稍後使用。如此進行防止第三方程式碼存取TPM,因為第三方程式碼不知曉新的鑑別值。
藉由韌體產生UEFI鑑別變數
藉由上述框架,韌體可產生並操縱UEFI鑑別變數以供其自身使用。為產生一UEFI鑑別變數,調用SMM鑑別變數簽章驅動程式之簽署方法,其將產生SMI,且SMM處理常式將在一實施例中進行以下各者。第一,SMM處理 常式將確保不存在來自OS之對TPM 2.0之未完成的動作(在運轉時間情況下),下文更詳細地闡述(參見圖4)。第二,若未完成的動作不存在,則SMM處理常式將確證平台階層使用TPM2_CreatePrimary命令產生一密鑰。應注意TPM 2.0主密鑰之私用組件儲存於TPM 2.0內的受保護之位置中且在一實施例中從未離開器件。僅公用組件(對應於保存在TPM 2.0中之私用密鑰的公用密鑰)可用於韌體。第三,SMM處理常式將使用TPM2_Sign命令執行物件之實際簽署。第四,SMM處理常式將使用SetVariable UEFI運轉時間服務在平台之變數儲存器(例如,位於平台上的快閃記憶體)中儲存簽署之物件(例如,UEFI鑑別變數)。
驗證韌體產生之UEFI鑑別變數
為了驗證韌體產生之UEFI鑑別變數,調用SMM鑑別變數簽章驅動程式之驗證方法,其將產生一SMI,且SMM處理常式將(1)確保不存在來自OS之對TPM 2.0的未完成動作(在運轉時間情況下),(2)若未完成的動作不存在,則確證平台階層使用TPM2_CreatePrimary命令產生一密鑰,及(3)調用GetVariable UEFI運轉時間服務以擷取變數資料且接著基於由TPM 2.0產生並儲存於快閃記憶體中的公用密鑰鑑別變數資料。
啟用及停用安全獨立區域
實施例使用一安全獨立區域以提供受信任實行環境。安全獨立區域為防止在獨立區域外部實行的軟體能夠存取在獨立區域內部之軟體及資料的受信任軟體實行環 境。
安全獨立區域之各種實施例係(例如)在2009年11月13日申請的名為「Method and Apparatus to Provide Secure Application Execution」之美國專利申請案(序號12/590,767);2009年12月22日申請之名為「Method and Apparatus to Provide Secure Application Execution」之PCT專利申請案(申請案第PCT/US2009/069212號);2010年12月22日申請之名為「System and Method for Implementing a Trusted Dynamic Launch and Trusted Platform Module(TPM)Using Secure Enclaves」之美國專利申請案(序號12/976,831);2013年6月4日申請之名為「Technologies For Hardening The Security Of Digital Information On Client Platforms」之PCT專利申請案(申請案第PCT/US2013/44158號);「Using Innovative Instructions to Create Trustworthy Solutions」(由Matthew Hoekstra等人),「Innovative Instructions and Software Model for Isolated Execution」(由Frank Mckeen等人)及結合2013年6月24日在以色列特拉維夫之ISCA 40在關於針對安全性及隱私之硬體及架構支援之第二研討會(The Second Workshop on Hardware and Architectural Support for Security and Privacy)上提出的其他論文中描述。因此,關於安全獨立區域之操作的細節本文中未全部闡述。此等申請案及論文本文中共同地稱為「安全獨立區域材料」。
如安全獨立區域材料中所描述,安全獨立區域係 自其含有過程之虛擬位址空間中切出。獨立區域之記憶體管理係根據虛擬位址執行。在一實施例中,獨立區域記憶體管理劃分成兩個部分:位址空間分配及記憶體提交。位址空間分配為獨立區域可使用的位址之最大範圍之規範。無實際資源提交至此區。記憶體提交為分配之位址空間內的實際記憶體資源(如頁面)之指派。此兩階段技術允許獨立區域靈活地控制其記憶體利用,並在獨立區域需要為低時允許在不過度使用記憶體資源之情況下生長。提交添加虛擬頁面至獨立區域。
此區別反映在兩個指令ECREATE及EADD中。ECREATE分配一系列位址以供獨立區域使用。EADD提交在彼範圍內之虛擬記憶體頁面至獨立區域。作業系統可支援獨立分配及提交操作。舉例而言,Windows API VirtualAlloc取得MEM_RESERVE(分配)或MEM_COMMIT(提交)之旗標自變量。並不需要OS支援此分離,但其存在可使獨立區域內之記憶體管理更靈活且高效。
在一個實施例中,安全獨立區域係使用ECREATE指令而產生,從而指定將建置獨立區域的虛擬位址空間範圍之基底及大小。記憶體在其密封之前經添加至安全獨立區域。獨立區域產生及提交過程係例如藉由使用Windows API而最佳地說明並如下進行:(1)使用VirtualAlloc在過程中保留位址空間區,從而在MEM_RESERVE旗標(其在未實際上提交任何實體記憶體 或頁面檔案儲存的情況下保留記憶體之區域)中傳遞;(2)藉由再次調用VirtualAlloc而提交獨立區域之第一頁面,此次用MEM_COMMIT旗標;(3)使用ECREATE指令來設置初始環境,從而指定與上述相同之位址範圍(亦即,ECREATE分配應用程式內之虛擬記憶體的區以用於代管安全程式碼及資料);及(4)對於待添加至獨立區域之每一額外頁面--VirtualAlloc獨立區域頁面,使用EADD以添加新的頁面至獨立區域,使用EEXTEND以添加針對頁面之128位元組之量測(EEXTEND更新獨立區域之量測以包括在EADD中添加的程式碼或資料),及調用此指令直至全部獨立區域被量測(例如,一量測可包括在獨立區域初始化時獨立區域中的程式碼及資料之密碼編譯雜湊)為止。若獨立區域頁面之相鄰集合待立即添加,則上述步驟可經重排序並最佳化以最小化系統調用之數目。在不支援獨立保留及提交操作之作業系統上,上述VirtualAlloc可由(例如)簡單內存分配替換,且對VirtualAlloc之剩餘調用被消除。
因為ECREATE及EADD指令啟用用於添加之頁面的加密及完整性,所以非獨立區域軟體在其已添加至獨立區域之後初始化此記憶體係不可能的。運轉時間系統必須在EADD其之前完全初始化其所負責的任何記憶體。此通常需要運轉時間系統就地、甚至在調用ECREATE之前(亦即,因為SECS在ECREATE之後不能由軟體修改)建置獨立區域影像。在記憶體已經初始化,獨立區域已經ECREATE且其記憶體已經EADD後,可如本文所描述對其 密封並量測。
在一個實施例中,存在在獨立區域內部之兩個資料結構:安全獨立區域控制儲存器(SECS)及執行緒控制結構(TCS)。SECS及TCS含有由運轉時間軟體使用的架構資訊及非架構方便欄位。在SECS、一或多個TCS以及程式碼及資料已經EADD後,獨立區域產生係藉由EINIT指令完成。此指令阻止另外量測資訊被寫入至量測暫存器(MR)(在同在申請中之申請案中有時稱作「IR0」)中。換言之,EINIT鎖定獨立區域之內容並確保僅獨立區域內之程式碼能夠存取相同獨立區域中之資料區。在EINIT之後,無另外頁面可添加至該獨立區域。
不可信的程式碼使用EENTER指令去獨立區域且該獨立區域經由EEXIT返回至不可信的調用者。在進入獨立區域後,控制經傳送至程式碼,該控制將堆疊指標切換至在獨立區域內部之一者。當返回軟體再次調換時,堆疊指標接著實行EEXIT指令。
因此,在獨立區域已藉由EINIT產生並初始化後,防止未經授權軟體(甚至諸如虛擬機監視器、BIOS或在與獨立區域自身相比較高之特殊權限層處操作的作業系統功能之軟體)對獨立區域之記憶體的嘗試存取。自實際觀點來看,當獨立區域資料駐留於暫存器、快取記憶體或處理器封裝內部之其他邏輯區塊內時,經由軟體之未經授權的存取由CPU邏輯阻止。只要獨立區域資料使封裝上快取記憶體寫入至平台記憶體,資料便自動地被加密且其完整性受 保護。此防止惡意個人使用記憶體探測器或其他技術檢視、修改或重新執行獨立區域內含有的資料或程式碼。
緊接先前描述論述用於具現化安全獨立區域之各種機制。停用安全獨立區域可藉由停用在接著的啟動期間建立安全獨立區域所必要的記憶體組配以類似方式發生。
在啟用/停用安全獨立區域後實施例改良。舉例而言,記憶體可在啟動過程期間針對安全獨立區域建立。UEFI鑑別變數之利用可允許受信任實體啟用/停用用以建立安全獨立區域之記憶體。藉由改變UEFI鑑別變數之狀態,BIOS能夠安全地停用或延伸在接著的啟動期間建立安全獨立區域所必要的記憶體組配。舉例而言,OEM簽署OS駐留驅動程式可不論經由ACPI通訊緩衝器或是經由直接0xB2埠存取發出一啟用/停用請求至SMM驅動程式。SMM程式碼將在第一調用後產生啟用/停用變數,或在建立一與調用者之信任關係後更新現有變數使用。
藉由安全獨立區域啟用/停用闡述的問題為,與確保機器不使變數儲存器在整個電力週期中損壞的需要結合,存在對於允許打開及斷開安全獨立區域特徵之安全方式(尤其對於對記憶體利用敏感(亦即,放棄安全獨立區域記憶體分配以不違反記憶體要求)的用戶端系統)的需要。
受信任SMM驅動程式幫助防止TPM變為回應於任何調用者的「混淆代理」(例如,參見http***www.cis.upenn.edu/~KeyKOS/ConfusedDeputy***html)。
計算節點(例如,智慧型手機、平板電腦、筆記型電腦、膝上型電腦、Ultrabooks®、汽車、航空無人機、穿戴於腕部/身體上以監視生物資料之健康帶(fitness band)、提供網際網路存取之眼鏡,諸如混合平板電腦及智慧型電話之其組合,及其類似者)可包括可被彼此獨立地啟用/停用的多個安全記憶體獨立區域。
圖1包括一在本發明之一實施例中的過程100。
區塊101係可選的並包括判定帶外加密處理器是否正基於來自OS之命令執行操作,且若否,則使韌體存取加密處理器。下文關於圖4闡述用於進行此判定之一實例方法。
區塊105包括韌體在運轉時間期間使加密處理器(例如,TPM 2.0)產生一密鑰(例如,私用密鑰)。產生密鑰可在每一啟動循環或TPM 2.0起動會話後進行。在密鑰已產生(例如,使用TPM2_CreatePrimary命令)後,密鑰存在直至下一動力循環、OS啟動及/或TPM 2.0啟動會話為止。在具有有限儲存器之一些加密處理器中,處理器可僅能夠在耗盡記憶體資源之前產生有限數目個密鑰(例如,三個密鑰)。在產生後,可經由其處置再使用密鑰。可稍後(例如,下一動力循環、OS啟動及/或TPM 2.0啟動會話)藉由用以產生密鑰之先前版本的相同種子而重新產生密鑰。
區塊110包括韌體在運轉時間期間使加密處理器在耦接至加密處理器(TPM 2.0保護之記憶體區內)之安全永久性儲存器內儲存密鑰。因此,韌體調用 TPM2_CreatePrimary命令(直接或間接)使(直接或間接)密鑰被產生及儲存。
區塊115包括韌體在運轉時間期間使加密處理器在加密處理器內產生一物件。區塊120包括韌體在運轉時間期間使加密處理器用密鑰(在密鑰在加密處理器內時)對物件(例如,諸如UEFI變數之韌體變數)簽署以產生簽章。然而,在另一實施例中待簽署之物件並未在加密處理器內產生。取而代之,物件作為至TPM2_Sign命令的參數中之一者傳遞至加密處理器(例如,TPM 2.0)。簽署之物件在加密處理器外部返回且不儲存於TPM 2.0中。簽署之物件接著經儲存為指示安全獨立區域是被啟用還是被停用的UEFI鑑別變數(例如,使用UEFI SetVariable(SGX啟用值)命令)。
區塊125包括韌體在運轉時間期間使加密處理器驗證經簽署物件上之簽章。然而,在另一實施例中,不需要在過程100中此時驗證經簽署物件。舉例而言,經簽署物件之驗證(由加密處理器)可在使用UEFI GetVariable(SGX啟用值/物件)命令存取安全獨立區域(例如,Intel®SGX)啟用值變數/物件時發生。由加密處理器進行之驗證將為可選的(例如,對應於區塊105中產生之密鑰的公用密鑰可用於驗證)。
區塊130包括在運轉時間期間基於驗證之經簽署物件(例如,用以啟用安全獨立區域的鑑別之UEFI變數)初始化一安全獨立區域(其包含防止在安全獨立區域外部 實行之軟體能夠存取安全獨立區域內部之軟體及資料的受信任軟體實行環境)。區塊135包括在運轉時間期間基於驗證之經簽署物件停用安全獨立區域。在一實施例中,加密處理器不負責啟用/停用安全獨立區域。實際上,BIOS(經由主機處理器)如此執行。舉例而言,BIOS將不建立待用於獨立區域的記憶體且若BIOS判定鑑別變數停用安全獨立區域存在於記憶體(例如,快閃記憶體)中則將不啟用建立一獨立區域所必要的處理器特徵。在一實施例中,變數可受完整性保護(例如,受寫入保護),但不受機密性保護(例如,受讀取保護)。
防止回復
實施例保護平台免受對UEFI變數儲存器(亦即,儲存變數之記憶體)之離線攻擊,其中此等攻擊實施UEFI變數至先前不安全值之回復。一旦另外安全組配經「回復」至不安全組配,則平台受損。特定地,實施例在其「dbx」UEFI安全啟動變數經更新以阻止受損憑證之前防止試圖回復至變數儲存器。實施例藉由以密碼方式將SPI快閃記憶體中之UEFI變數儲存器結合至平台而進行此。在每一變數更新(亦即,SetVariable之每一調用)後,變數儲存器之雜湊經計算且接著雜湊儲存在受保護之TPM 2.0 NV快閃記憶體位置中。此NV索引可按TPM 2.0存取策略而受保護,以使得(例如)其可僅由平台階層讀取或寫入。接著,及早在啟動循環中且在變數儲存器之第一存取之前,變數儲存雜湊經計算並與TPM 2.0 NV快閃記憶體中之儲存值相比,以 便評估在最後變數「寫入」或更新之後由UEFI程式碼寫入的雜湊是否與變數儲存器之所呈現狀態一致。
圖2包括在本發明之一實施例中的過程200。
區塊201係可選的並包括判定帶外加密處理器是否正基於來自OS之命令執行操作,且若否,則使韌體存取加密處理器。下文關於圖4闡述用於進行此判定之實例方法。
可選元件包括在運轉時間期間使加密處理器(例如,TPM 2.0)產生並儲存一密鑰(例如,私用密鑰)之韌體。然而,在其他實施例中,當在一些實施例中雜湊(下文所描述)並未經簽署時,產生並儲存一密鑰之需求並不需要。區塊210包括在運轉時間期間韌體(BIOS)進行儲存在不包括於加密處理器內之記憶體中的至少一個變數之量測。區塊215包括在運轉時間期間在包括於加密處理器中之安全永久性儲存器內韌體儲存量測。舉例而言,在一實施例中,當調用UEFI SetVariable()命令時,命令改變變數儲存器。因此,計算變數儲存器之新的雜湊。該雜湊(亦即,物件)接著儲存在先前供應之TPM NV防回復位置中。在一實施例中,雜湊並未被簽署。以此方式,NV位置始終含有當前變數儲存器之雜湊。
區塊220包括在預先啟動操作期間比較量測與儲存在不包括於加密處理器內之記憶體中的至少一個變數之第二量測。舉例而言,當系統重新啟動時,在第一SetVariable調用之前,韌體(例如,BIOS)雜湊變數儲存器 並比較該雜湊與加密處理器之安全記憶體(例如,TPM2 NV位置)中之值。若雜湊不同,則此為變數儲存器經更改之跡象。舉例而言,此更改可已在系統斷電的同時發生(亦即,含有變數儲存器之快閃記憶體係使用快閃記憶體規劃者或某一此器件修改至一包括經撤銷密鑰的舊值)。
容納多個OS
圖3包括在本發明之一實施例中的過程300。
區塊301係可選的並包括判定帶外加密處理器是否正基於來自OS之命令執行操作,且若否,則使韌體存取加密處理器。下文關於圖4闡述用於進行此判定之實例方法。
區塊305包括韌體在運轉時間期間使加密處理器(例如,TPM 2.0)產生一密鑰(例如,私用密鑰)。區塊310包括韌體在運轉時間期間使加密處理器在耦接至加密處理器之安全永久性儲存器(例如,包括於加密處理器內)內儲存密鑰。區塊315為可選的且包括韌體在運轉時間期間使加密處理器在加密處理器內產生一物件(或藉由(例如)接收一物件作為至TPM2_Sign命令之參數而存取一先前產生之物件)。區塊320包括韌體在運轉時間期間使加密處理器用密鑰(在密鑰在加密處理器內的同時)對物件(例如,諸如UEFI變數之韌體變數)簽署以產生一簽署。簽署之物件可在加密處理器外部返回且不儲存於加密處理器中。區塊325包括韌體在運轉時間期間使加密處理器驗證經簽署物件上的簽章(但驗證可在稍後(諸如,當存取變數時)發生)。
區塊330包括韌體在運轉時間期間使包括於裝置中之主機處理器基於驗證之簽署物件而雙態切換在OS(例如,微軟Windows®)與額外OS(例如,AndroidTM)之間的控制。區塊335包括韌體在運轉時間期間使一處理器(例如,主機處理器)基於驗證之經簽署物件在OS與額外OS之間分配記憶體。
在存取TPM中OS及韌體衝突
圖4包括在本發明之一實施例中的過程。
圖4包括在本發明之一實施例中的用於存取TPM之OS及SMM操作的過程。存在允許SMM/OS TPM存取之若干方式。SMM驅動程式可防止在兩者嘗試在運轉時間使用TPM2.0進階組配與電力介面(ACPI)表存取TPM 2.0的韌體與OS之間的競爭。舉例而言,TPM 2.0請求可自BIOS或OS(經由TPM2 ACPI表)來至TPM 2.0 SMM存取驅動程式。TPM 2.0存取驅動程式藉由當新的請求自任一源到來時知曉先前請求是否在過程中而防止韌體與OS之間的競爭。ACPI(***.uefi.org)為用於OS與韌體之間通訊的標準。韌體/BIOS產生提供平台之描述至OS的ACPI表。此等表包括OS可用以向bios進行請求的方法(亦即,OS可藉由調用TPM2 ACPI表上之方法向TPM 2.0進行請求)。TPM 2.0表為在啟動期間藉由BIOS產生的記憶體中之資料結構,用於供OS使用。
關於圖4,過程在區塊505中開始,且在區塊510中,在SMM中,系統檢查TPM.STATE位元。若已存在一 OS TPM命令(區塊515),則系統等待OS TPM命令結束(區塊530)。在超時後,系統取消命令(區塊540)或繼續等待OS命令結束(區塊535)。在區塊535、540之後,系統發送知曉不再存在與OS命令之衝突之SMM TPM命令(區塊520)。可接著獲得回應(區塊525)。在區塊515中,若不存在呈現之OS TPM命令,則過程可繼續至區塊520。
在其他實施例中,SMM TPM命令可成佇列,且週期性系統管理中斷(SMI)可用以檢查週期性SMI處理常式中之TPM狀態(例如,是否存在OS命令?)。另一實施例捕獲全部TPM存取(例如,OS TPM存取),且始終存取SMM中之TPM硬體(如此不存在與SIC或OS TPM存取的衝突)。
一實施例使用安全性控制(如read_only及write_only)以保護UEFI變數。
雖然UEFI變數及TPM本文中經闡述用於許多實施例,但此為易於解釋及簡潔起見而闡述,且不暗示全部實施例限於UEFI變數或TPM中之任一者。其他實施例可與其他預先啟動程式碼、啟動程式碼、初始化程式碼及/或BIOS程式碼一起以及與其他安全加密處理器及/或安全儲存機制一起使用。此外,特定標準係為簡潔起見而提到,但實施例不限於任一BIOS或TPM標準或任一其他標準。
有時上文將變數說成儲存在加密處理器NV儲存器中。然而,在各種實施例中,此等變數可包括變數之雜湊(或其他空間節省縮寫或衍生詞)。雜湊/衍生詞可為儲 存於NV中之物,其中可限制儲存空間。此配置允許將變數之大得多之集合映射至加密處理器NV記憶體之可能較小集合。
本文中論述之實施例可利用諸如下文論述之圖5之系統的系統。實際上,實施例可用於許多不同類型之系統中。舉例而言,在一個實施例中,通訊器件可經配置以執行本文中所描述之各種方法及技術。當然,本發明之範疇並不限於通訊器件,且取而代之,其他實施例可針對用於處理指令的其他類型之裝置。
程式指令可用以使藉由指令規劃之通用或專用處理系統執行本文中所描述的操作。替代地,可由含有用於執行操作之固線式邏輯的特定硬體組件或由經規劃電腦組件及常規硬體組件之任何組合執行操作。本文中所描述之方法可經提供為(a)一電腦程式產品,其可包括其上儲存有指令之一或多個機器可讀媒體,該等指令可用以規劃一處理系統或其他電子器件以執行該等方法,或(b)至少一個儲存媒體,其上儲存有用於使一系統執行該等方法之指令。本文中所使用之術語「機器可讀媒體」或「儲存媒體」應包括能夠儲存或編碼供機器實行的一連串指令的任何媒體(暫時媒體,包括信號,或非暫態媒體)及使機器執行本文中所描述方法中之任一者的任何媒體。術語「機器可讀媒體」或「儲存媒體」因此應包括(但不限於)諸如固態記憶體之記憶體、光學及磁性碟片、唯讀記憶體(ROM)、可規劃ROM(PROM)、可抹除PROM(EPROM)、電 EPROM(EEPROM)、磁碟機、軟性磁碟、光盤ROM(CD-ROM)、數位化通用光碟(DVD)、快閃記憶體、磁光碟,以及諸如機器可存取生物狀態保持或信號保持儲存器之更多外來媒體。媒體可包括用於儲存、傳輸或接收呈可由機器讀取之形式的資訊的任何機制,且該媒體可包括程式碼可穿過之一媒體,諸如,天線、光纖、通訊介面等。程式碼可以封包、串列資料、並列資料等之形式傳輸,且可以壓縮或加密格式使用。此外,在此項技術中常將呈一形式或另一形式(例如,程式、程序、過程、應用程式、模組、邏輯等等)之軟體說成採取一動作或造成一結果。此等表達僅為由處理系統進行的軟體之實行使處理器執行動作或產生結果的敍述之簡寫方式。
現參看圖5,展示根據本發明之一實施例的系統實施例1000之方塊圖。系統1000可包括於(例如)一諸如蜂巢式電話、智慧型電話、平板電腦、Ultrabook®、筆記型電腦、膝上型電腦、個人數位助理及基於行動處理器之平台的行動計算節點中。
展示的為一多處理器系統1000,其包括第一處理元件1070及第二處理元件1080。雖然展示了兩個處理元件1070及1080,但應理解,系統1000之一實施例亦可包括僅一個此處理元件。系統1000說明為點對點互連系統,其中第一處理元件1070與第二處理元件1080經由點對點互連件1050耦接。應理解,所說明的互連件中之任一者或全部可實施為多分路匯流排而非點對點互連件。如所展示, 處理元件1070及1080中之每一者可為多核心處理器,包括第一及第二處理器核心(亦即,處理器核心1074a及1074b以及處理器核心1084a及1084b)。此等核心1074、1074b、1084a、1084b可經組配以按類似於本文中論述的方法之方式實行指令程式碼。
每一處理元件1070、1080可包括至少一個共享快取記憶體。該共享快取記憶體可分別儲存由處理器之一或多個組件(諸如,核心1074a、1074b及1084a、1084b)利用的資料(例如,指令)。舉例而言,共享快取記憶體可局部地快取儲存於記憶體1032、1034中的資料以供處理器之組件更快地存取。在一或多個實施例中,共享快取記憶體可包括一或多個中階快取記憶體,諸如,2階(L2)、3階(L3)、4階(L4)快取記憶體或其他階快取記憶體、末階快取記憶體(LLC)及/或其組合。
雖然僅展示兩個處理器元件1070、1080,但應理解,本發明之範疇不限於此。在其他實施例中,一或多個額外處理元件可存在於給定處理器中。替代地,處理元件1070、1080中之一或多者可為除處理器以外之元件,諸如,加速器或場可規劃閘陣列。舉例而言,額外處理元件可包括與第一處理器1070相同之額外處理器、與第一處理器1070異質或不對稱之額外處理器、加速器(諸如,圖形加速器或數位信號處理(DSP)單元)、場可規劃閘陣列,或任何其他處理元件。依據包括架構、微架構、熱、功率消耗特性及其類似者的有價值量度之頻譜,在處理元件1070、 1080之間可存在多種差異。此等差異可有效地將自身顯現為處理元件1070、1080間的不對稱性及非均質性。對於至少一實施例,各種處理元件1070、1080可駐留於同一晶粒封裝中。
第一處理元件1070可進一步包括記憶體控制器邏輯(MC)1072及點對點(P-P)介面1076及1078。類似地,第二處理元件1080可包括MC 1082及P-P介面1086及1088。MC 1072及1082將處理器耦接至各別記憶體(即,記憶體1032及記憶體1034),其可為主記憶體之局部附接至各別處理器的部分。雖然MC邏輯1072及1082經說明為整合至處理元件1070、1080中,但對於替代實施例,MC邏輯可為在處理元件1070、1080外部而非整合於其中之精密邏輯。
第一處理元件1070及第二處理元件1080可分別經由P-P介面1076、1086、經由P-P互連件1062、10104耦接至I/O子系統1090。如所示,I/O子系統1090包括P-P介面1094及1098。此外,I/O子系統1090包括介面1092以耦接I/O子系統1090與高效能圖形引擎1038。在一個實施例中,匯流排可用以將圖形引擎1038耦接至I/O子系統1090。替代地,點對點互連件1039可耦接此等組件。
又,I/O子系統1090可經由介面1096耦接至第一匯流排10110。在一個實施例中,第一匯流排10110可為周邊組件互連(PCI)匯流排,或諸如PCI快速匯流排之匯流排,或另一第三代I/O互連匯流排,但本發明之範疇不受 如此限制。
如所示,各種I/O器件1014、1024連同可將第一匯流排10110耦接至第二匯流排1020之匯流排橋接器1018可耦接至第一匯流排10110。在一個實施例中,第二匯流排1020可為低接腳計數(LPC)匯流排。在一個實施例中,各種器件可耦接至第二匯流排1020,器件包括(例如)鍵盤/滑鼠1022、通訊器件1026(其可又與電腦網路通訊)及諸如磁碟機或其他大容量儲存器件之可包括程式碼1030的資料儲存單元1028。程式碼1030可包括用於執行上文所描述之方法中之一或多者的實施例之指令。另外,音訊I/O 1024可耦接至第二匯流排1020。
應注意,設想到其他實施例。舉例而言,系統可實施多分路匯流排或另一此類通訊拓撲,替代所展示之點對點架構。又,圖5之元件可替代地使用相較於圖5中所展示較多或較少的整合式晶片來分割。
實例1包括一裝置,該裝置包含:一帶外加密處理器,其耦接至安全永久性儲存器;及至少一個儲存媒體,其具有儲存於其上用於在運轉時間期間且在該裝置之一作業系統已啟動之後使該加密處理器進行以下操作的韌體指令:(a)在安全永久性儲存器內儲存一密鑰,(b)在密鑰在加密處理器內的同時,用該密鑰對一物件簽署以產生一簽章,及(c)驗證該簽章。
在實例2中,實例1之標的物可視需要包括,其中該物件包括一統一可延伸韌體介面(UEFI)變數,該韌體 包括平台初始化(PI)韌體,該加密處理器為一在韌體及硬體中之至少一者中實施的受信任產品模組(TPM),且該TPM係於該處理器帶外。
在實例3中,實例1至2之標的物可視需要包括,其中該物件包括一韌體變數。
在實例4中,實例1至3之標的物可視需要包括,其中該密鑰為一私用密鑰且加密處理器包括安全永久性儲存器;其中至少一個儲存媒體具有儲存於其上用於使加密處理器傳達對應於私用密鑰之在加密處理器外部的一公用密鑰同時在加密處理器內保留該私用密鑰的韌體指令。
在實例5中,實例1至4之標的物可視需要包括,其中至少一個儲存媒體具有儲存於其上用於使加密處理器進行以下各者中之至少一者的韌體指令:(a)在加密處理器內產生物件,及(b)產生密鑰。
在實例6中,實例1至5之標的物可視需要包括,其中至少一個儲存媒體具有儲存於其上用於初始化包含一受信任軟體實行環境之一安全獨立區域的韌體指令,該受信任軟體實行環境防止在該安全獨立區域外部實行之軟體存取該安全獨立區域內部之軟體及資料。
在實例7中,實例1至6之標的物可視需要包括,其中初始化該安全獨立區域係基於啟用物件,該物件包括一韌體變數。
在實例8中,實例1至7之標的物可視需要包括,其中至少一個儲存媒體具有儲存於其上用於停用該安全獨 立區域之韌體指令。
在實例9中,實例1至8之標的物可視需要包括,其中至少一個儲存媒體具有儲存於其上用於在運轉時間期間判定儲存於不包括於加密處理器內之記憶體中的至少一個變數之量測的韌體指令。
在實例10中,實例1至9之標的物可視需要包括,其中至少一個儲存媒體具有儲存於其上用於在安全永久性儲存器內儲存量測的韌體指令。
在實例11中,實例1至10之標的物可視需要包括,其中至少一個儲存媒體具有儲存於其上用於在預先啟動操作期間且在運轉時間之前比較量測與儲存於不包括於加密處理器內之記憶體中的至少一個變數之第二量測的韌體指令。
在實例12中,實例1至11之標的物可視需要包括,其中至少一個儲存媒體具有儲存於其上用於在系統管理模式(SMM)運轉時間期間使加密處理器進行以下操作的韌體指令:(a)在安全永久性儲存器內儲存密鑰,(b)用密鑰簽署物件,及(c)驗證簽章。
在實例13中,實例1至12之標的物可視需要包括,其中至少一個儲存媒體具有儲存於其上用於引起在預先啟動操作期間在加密處理器內的指令之實行的韌體指令。
在實例14中,實例13之標的物可視需要包括一處理器,其中該變數實現在作業系統與額外作業系統之間 的處理器之雙態切換控制。
在實例15中,實例1至14之標的物可視需要包括,其中該變數實現在作業系統與額外作業系統之間的記憶體分配。
在實例16中,實例1至15之標的物可視需要包括,其中該加密處理器包括安全永久性儲存器,韌體包括不包括於操作系統中之指令,且至少一個儲存媒體為非暫態。
在實例17中,實例1至16之標的物可視需要包括,其中至少一個儲存媒體具有儲存於其上的韌體指令,該等韌體指令用於判定作業系統未正存取加密處理器且回應於該判定而使韌體指令存取加密處理器。
實例18包括:一帶外加密處理器,其耦接至安全永久性儲存器;及至少一個儲存媒體,其具有儲存於其上用於進行以下操作的韌體指令:(a)在運轉時間期間判定儲存於不包括於加密處理器內之記憶體中的至少一個變數之量測,(b)在運轉時間期間在安全永久性儲存器內儲存量測,及(c)在預先啟動操作期間及在運轉時間之前比較量測與儲存於不包括於加密處理器內之記憶體中的至少一個變數之第二量測。
在實例19中,實例18之標的物可視需要包括一處理器,其中至少一個變數包括一統一可延伸韌體介面(UEFI)變數,加密處理器為實施於韌體及硬體中之至少一者中的一受信任產品模組(TPM),且TPM係於該處理器帶 外。
在實例20中,實例18至19之標的物可視需要包括,其中至少一個儲存媒體具有儲存於其上用於在運轉時間期間且在裝置之作業系統已啟動之後使加密處理器進行以下操作的韌體指令:(a)在安全永久性儲存器內儲存密鑰,(b)在密鑰在加密處理器內的同時,用密鑰對至少一個變數簽署以產生一簽章,及(c)驗證該簽章。
在實例21中,實例18至20之標的物可視需要包括,其中該至少一個儲存媒體具有儲存於其上用於初始化防止在該安全獨立區域外部實行的軟體能夠存取在安全獨立區域內部之資料的一受信任軟體實行環境的韌體指令。
在實例22中,實例18至21之標的物可視需要包括,其中初始化安全獨立區域係基於啟用至少一個變數。
實例23包括至少一個儲存媒體,其具有儲存於其上用於使一系統進行以下操作的韌體指令:在運轉時間期間且在裝置之作業系統已啟動之後,(a)在包括於帶外加密處理器中之安全永久性儲存器內儲存密鑰,(b)在密鑰在加密處理器內的同時,用密鑰對物件簽署以產生一簽章,及(c)驗證該簽章。加密處理器包括。
在實例24中,實例23之標的物可視需要包括,其中物件包括一韌體變數。
在實例25中,實例23至24之標的物可視需要 包括基於啟用該韌體變數,初始化包含一受信任軟體實行環境之一安全獨立區域,該受信任軟體實行環境防止在該安全獨立區域外部實行之軟體能夠存取該安全獨立區域內部之軟體及資料。
實例1a包括一種由至少一個處理器實行之方法,該方法包含:韌體在運轉時間期間且在裝置之作業系統已啟動之後使加密處理器進行以下操作:(a)在安全永久性儲存器內儲存密鑰,(b)在密鑰在加密處理器內的同時,用密鑰對物件簽署以產生一簽章,及(c)驗證該簽署;其中加密處理器包括於裝置中,在帶外,且耦接至安全永久性儲存器。
在實例2a中,實例1a之標的物可視需要包括,其中該物件包括一統一可延伸韌體介面(UEFI)變數,該韌體包括平台初始化(PI)韌體,加密處理器為在韌體及硬體中之至少一者中實施的一受信任產品模組(TPM),且該TPM係於該處理器帶外。
在實例3a中,實例1a至2a之標的物可視需要包括,其中物件包括一韌體變數。
在實例4a中,實例1a至3a之標的物可視需要包括,其中密鑰為一私用密鑰且加密處理器包括安全永久性儲存器;方法包含韌體使加密處理器傳達對應於私用密鑰之在加密處理器外部的一公用密鑰,同時在加密處理器內保留私用密鑰。
在實例5a中,實例1a至4a之標的物可視需要包括 韌體使加密處理器進行以下各者中之至少一者:(a)在加密處理器內產生物件,及(b)產生密鑰。
在實例6a中,實例1a至5a之標的物可視需要包括韌體初始化包含一受信任軟體實行環境的一安全獨立區域,該受信任軟體實行環境防止在安全獨立區域外部實行之軟體能夠存取安全獨立區域內部之軟體及資料。
在實例7a中,實例1a至6a之標的物可視需要包括,其中初始化該安全獨立區域係基於啟用物件,該物件包括一韌體變數。
在實例8a中,實例1a至7a之標的物可視需要包括韌體停用安全獨立區域。
在實例9a中,實例1a至8a之標的物可視需要包括韌體在運轉時間期間判定儲存於不包括於加密處理器內之記憶體中的至少一個變數之量測。
在實例10a中,實例1a至9a之標的物可視需要包括韌體在安全永久性儲存器內儲存量測。
在實例11a中,實例1a至10a之標的物可視需要包括韌體在預先啟動操作期間且在運轉時間之前比較量測與儲存於不包括於加密處理器內之記憶體中的至少一個變數之第二量測。
在實例12a中,實例1a至11a之標的物可視需要包括韌體在系統管理模式(SMM)運轉時間期間使加密處理器進行以下操作:(a)在安全永久性儲存器內儲存密鑰,(b)用密鑰對物件簽署,及(c)驗證簽章。
在實例13a中,實例1a至12a之標的物可視需要包括韌體引起在預先啟動操作期間在加密處理器內之指令的實行。
在實例14a中,實例1a至13a之標的物可視需要包括,其中該變數實現在作業系統與額外作業系統之間的處理器之雙態切換控制。
在實例15a中,實例1a至14a之標的物可視需要包括,其中該變數實現在作業系統與額外作業系統之間的記憶體分配。
在實例16a中,實例1a至15a之標的物可視需要包括,其中加密處理器包括安全永久性儲存器。
在實例17a中,實例1a至16a之標的物可視需要包括韌體判定作業系統不正存取加密處理器,且回應於該判定,該韌體存取加密處理器。
實例18a包括一種由至少一個處理器實行之方法,該方法包含:韌體(a)在運轉時間期間判定儲存於不包括於加密處理器內之記憶體中的至少一個變數之量測,(b)在運轉時間期間在安全永久性儲存器內儲存量測,及(c)在預先啟動操作期間且在運轉時間之前比較量測與儲存於不包括於加密處理器內之記憶體中的至少一個變數之第二量測;其中加密處理器在帶外且耦接至安全永久性儲存器。
在實例19a中,實例18a之標的物可視需要包括,其中至少一個變數包括一統一可延伸韌體介面(UEFI)變數,且加密處理器為在韌體及硬體中之至少一者中實施的一受 信任產品模組(TPM)。
在實例20a中,實例18a至19a之標的物可視需要包括韌體在運轉時間期間且在該裝置之一作業系統已啟動之後使該加密處理器進行以下操作:(a)在安全永久性儲存器內儲存一密鑰,(b)在該密鑰在該加密處理器內的同時,用該密鑰對至少一個變數簽署以產生一簽章,及(c)驗證該簽章。
在實例21a中,實例18a至20a之標的物可視需要包括韌體初始化防止在安全獨立區域外部實行之軟體能夠存取安全獨立區域內部之資料的一受信任軟體實行環境。
在實例22a中,實例18a至21a之標的物可視需要包括,其中初始化安全獨立區域係基於啟用至少一個變數。
實例23a包括一種處理裝置,其包含:用於在運轉時間期間且在用於裝置之作業系統已啟動之後進行以下操作之構件:(a)在包括於帶外加密處理器中之安全永久性儲存器內儲存密鑰,(b)在密鑰在加密處理器內的同時,用密鑰對物件簽署以產生一簽章,及(c)驗證該簽章。
在實例24a中,實例23a之標的物可視需要包括,其中物件包括一韌體變數。
在實例25a中,實例23a至24a之標的物可視需要包括用於進行以下操作之構件:基於啟用該韌體變數,初始化包含一受信任軟體實行環境之一安全獨立區域,該受信任軟體實行環境防止在該安全獨立區域外部實行之軟體 能夠存取該安全獨立區域內部之軟體及資料。
雖然已關於有限數目個實施例描述了本發明,但一般熟習此項技術者將瞭解自本發明的大量修改及變化。希望隨附申請專利範圍涵蓋如屬於本發明之真實精神及範疇的所有此等修改及變化。
100‧‧‧過程
101~135‧‧‧區塊

Claims (25)

  1. 一種用以提供受信任計算之裝置,其包含:一處理器;一加密處理器,其耦接至安全永久性儲存器,其中該加密處理器係於該處理器之帶外;以及至少一個儲存媒體,其具有儲存於其上之韌體指令,該等韌體指令在運轉時間的期間以及在該裝置之一作業系統已啟動之後,使該加密處理器進行以下動作:(a)在該安全永久性儲存器內儲存一密鑰,(b)於該密鑰在該加密處理器內的同時,以該密鑰來簽屬一物件以產生一簽章,及(c)驗證該簽章。
  2. 如請求項1之裝置,其中該物件包括一統一可延伸韌體介面(UEFI)變數,該韌體包括平台初始化(PI)韌體,及該加密處理器為在韌體及硬體中之至少一者中實施的一受信任產品模組(TPM)。
  3. 如請求項1之裝置,其中該物件包括一韌體變數。
  4. 如請求項3之裝置,其中該密鑰為一私用密鑰且該加密處理器包括該安全永久性儲存器;其中該至少一個儲存媒體具有韌體指令儲存於其上,用於使該加密處理器傳達對應於該私用密鑰之在該加密處理器外部的一公用密鑰,同時將該私用密鑰保留在該加密處理器內。
  5. 如請求項1之裝置,其中該至少一個儲存媒體具有儲存於其上用於使該加密處理器進行以下動作中之至少一者的韌體指令:(a)在該加密處理器內產生該物件,及(b)產生該密鑰。
  6. 如請求項1之裝置,其中該至少一個儲存媒體具有儲存於其上用於初始化一安全獨立區域(enclave)的韌體指令,該安全獨立區域包含一受信任軟體實行環境,該受信任軟體實行環境防止在該安全獨立區域外部實行的軟體能夠存取在該安全獨立區域內部之軟體及資料。
  7. 如請求項6之裝置,其中初始化該安全獨立區域係基於啟用該物件,該物件包括一韌體變數。
  8. 如請求項1之裝置,其中該至少一個儲存媒體具有儲存於其上用於停用安全獨立區域(enclave)的韌體指令。
  9. 如請求項1之裝置,其中該至少一個儲存媒體具有儲存於其上用於在運轉時間的期間判定至少一個變數之一量測的韌體指令,該至少一個變數的該量測係儲存於不包括在該加密處理器內之記憶體中。
  10. 如請求項9之裝置,其中該至少一個儲存媒體具有儲存於其上用於儲存該量測於該安全永久性儲存器內的韌體指令。
  11. 如請求項10之裝置,其中該至少一個儲存媒體具有儲存於其上用於在預先啟動操作期間且在運轉時間之前,將該量測與該至少一個變數之一第二量測做比較的韌體指令,該至少一個變數的該第二量測係儲存於不包括 於該加密處理器內之該記憶體中。
  12. 如請求項1之裝置,其中該至少一個儲存媒體具有儲存於其上用於在系統管理模式(SMM)運轉時間期間使該加密處理器進行以下動作的韌體指令:(a)在該安全永久性儲存器內儲存該密鑰,(b)以該密鑰對該物件簽署,及(c)驗證該簽章。
  13. 如請求項1之裝置,其中該至少一個儲存媒體具有儲存於其上用於引起在預先啟動操作期間於該加密處理器內之指令的實行的韌體指令。
  14. 如請求項3之裝置,其中該韌體變數使該處理器實現在該作業系統與一額外作業系統之間的之雙態切換(toggle)控制。
  15. 如請求項3之裝置,其中該韌體變數實現在該作業系統與一額外作業系統之間的記憶體分配。
  16. 如請求項3之裝置,其中該加密處理器包括該安全永久性儲存器,該韌體包括不包括於該操作系統中之指令,且該至少一個儲存媒體為非暫態。
  17. 如請求項1之裝置,其中該至少一個儲存媒體具有儲存於其上用於判定該作業系統未正存取該加密處理器的韌體指令,以及回應於該判定而使該等韌體指令存取該加密處理器的韌體指令。
  18. 一種用以提供受信任計算之裝置,其包含:一處理器;一加密處理器,其耦接至安全永久性儲存器,其中 該加密處理器係於處理器的帶外;以及至少一個儲存媒體,其具有韌體指令儲存於其上,以進行以下動作:(a)在運轉時間的期間判定儲存在不包括於該加密處理器內之記憶體中的至少一個變數之一量測,(b)在運轉時間的期間儲存該量測於該安全永久性儲存器內,及(c)在預先啟動操作期間且在運轉時間之前,將該量測與儲存在不包括於該加密處理器內的該記憶體中的該至少一個變數之一第二量測比較。
  19. 如請求項18之裝置,其中該至少一個變數包括一統一可延伸韌體介面(UEFI)變數,及該加密處理器為實施於韌體及硬體中之至少一者中的一受信任產品模組(TPM)。
  20. 如請求項18之裝置,其中該至少一個儲存媒體具有儲存於其上用於在運轉時間的期間且在該裝置之一作業系統已啟動之後使該加密處理器進行以下動作的韌體指令:(a)在該安全永久性儲存器內儲存一密鑰,(b)在該密鑰在該加密處理器內的同時,以該密鑰對該至少一個變數簽署以產生一簽章,及(c)驗證該簽章。
  21. 如請求項18之裝置,其中該至少一個儲存媒體具有儲存於其上用於初始化一受信任軟體實行環境的韌體指令,該受信任軟體實行環境防止在安全獨立區域(enclave)外部實行之軟體能夠存取該安全獨立區域內部之資料。
  22. 如請求項21之裝置,其中初始化該安全獨立區域係基 於啟用該至少一個變數。
  23. 一種儲存媒體,該至少一儲存媒體具有儲存於其上用於使一加密處理器進行以下操作的韌體指令:在運轉時間的期間且在一裝置之一作業系統啟動之後,(a)在包括於該加密處理器中之安全永久性儲存器內儲存一密鑰,(b)在該密鑰在該加密處理器內的同時,以該密鑰對一物件簽署以產生一簽章,及(c)驗證該簽章,其中該裝置包括該加密處理器及一處理器,其中該加密處理器係於處理器帶外。
  24. 如請求項23之至少一個媒體,其中該物件包括一韌體變數。
  25. 如請求項24之至少一個媒體,其具有儲存於其上用以基於啟用該韌體變數初始化一安全獨立區域(enclave)的韌體指令,該安全獨立區域包含一受信任軟體實行環境,該受信任軟體實行環境防止在該安全獨立區域外部實行的軟體能夠存取在該安全獨立區域內部之軟體及資料。
TW104116265A 2014-06-27 2015-05-21 用以提供受信任計算之裝置 TWI570589B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/317,909 US9785801B2 (en) 2014-06-27 2014-06-27 Management of authenticated variables

Publications (2)

Publication Number Publication Date
TW201617957A TW201617957A (zh) 2016-05-16
TWI570589B true TWI570589B (zh) 2017-02-11

Family

ID=54930873

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104116265A TWI570589B (zh) 2014-06-27 2015-05-21 用以提供受信任計算之裝置

Country Status (6)

Country Link
US (2) US9785801B2 (zh)
EP (2) EP3161716B1 (zh)
KR (1) KR102244645B1 (zh)
CN (2) CN106462708B (zh)
TW (1) TWI570589B (zh)
WO (1) WO2015200581A1 (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160036826A1 (en) * 2014-07-29 2016-02-04 Mcafee, Inc. Secure content packaging using multiple trusted execution environments
US10044695B1 (en) * 2014-09-02 2018-08-07 Amazon Technologies, Inc. Application instances authenticated by secure measurements
US10079681B1 (en) 2014-09-03 2018-09-18 Amazon Technologies, Inc. Securing service layer on third party hardware
US10061915B1 (en) 2014-09-03 2018-08-28 Amazon Technologies, Inc. Posture assessment in a secure execution environment
US9491111B1 (en) * 2014-09-03 2016-11-08 Amazon Technologies, Inc. Securing service control on third party hardware
EP3234852B1 (en) * 2014-12-19 2020-01-15 Private Machines Inc. Systems and methods for using extended hardware security modules
CN107292176B (zh) * 2016-04-05 2021-01-15 联想企业解决方案(新加坡)有限公司 用于访问计算设备的可信平台模块的方法和***
US20190087576A1 (en) * 2016-04-14 2019-03-21 Rhombus Systems Group, Inc. System for verification of integrity of unmanned aerial vehicles
US10592670B2 (en) * 2016-06-28 2020-03-17 Intel Corporation Technologies for provisioning and managing secure launch enclave with platform firmware
US10042693B2 (en) * 2016-07-12 2018-08-07 Infineon Technologies Ag Diverse integrated processing using processors and diverse firmware
US10148444B2 (en) * 2016-08-04 2018-12-04 Dell Products L.P. Systems and methods for storing administrator secrets in management controller-owned cryptoprocessor
WO2018075057A1 (en) * 2016-10-21 2018-04-26 Hewlett-Packard Development Company, L.P. Bios security
KR102130999B1 (ko) 2016-11-04 2020-07-09 주식회사 케이티 무선 통신에서 멀티 빔 기반 스케줄링 요청을 수행하는 방법 및 장치
US10831897B2 (en) 2017-07-14 2020-11-10 Dell Products, L.P. Selective enforcement of secure boot database entries in an information handling system
US10754955B2 (en) 2017-08-04 2020-08-25 Dell Products, L.P. Authenticating a boot path update
US20200159929A1 (en) * 2017-08-08 2020-05-21 Hewlett-Packard Development Company L.P. Basic input/output system updates
CA3073751C (en) 2017-09-06 2023-08-15 Absolute Software Corporation Secure firmware interface
KR102322955B1 (ko) * 2017-09-19 2021-11-08 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 암호 키 보안
WO2019177563A1 (en) * 2018-03-12 2019-09-19 Hewlett-Packard Development Company, L.P. Hardware security
EP3794478B1 (en) 2018-05-16 2024-07-10 Telefonaktiebolaget Lm Ericsson (Publ) Enclave population
US10802834B2 (en) 2018-06-11 2020-10-13 Google Llc Enabling multiple secure boot paths on a hardware platform
US11012241B2 (en) 2018-09-10 2021-05-18 Dell Products L.P. Information handling system entitlement validation
CN109683972B (zh) * 2018-12-25 2021-07-16 联想(北京)有限公司 信息控制方法及装置
FR3091600B1 (fr) * 2019-01-08 2021-01-08 St Microelectronics Rousset Elément sécurisé à fonctions personnalisables et procédé de gestion correspondant
CN109922056B (zh) 2019-02-26 2021-09-10 创新先进技术有限公司 数据安全处理方法及其终端、服务器
US10970100B2 (en) * 2019-03-08 2021-04-06 International Business Machines Corporation Starting a secure guest using an initial program load mechanism
US11171786B1 (en) * 2019-03-21 2021-11-09 Cisco Technology, Inc. Chained trusted platform modules (TPMs) as a secure bus for pre-placement of device capabilities
CN111901105B (zh) * 2020-07-20 2022-11-01 上海龙旗科技股份有限公司 一种基于UEFI架构EDK2支持Openssl算法的方法与设备
WO2022019910A1 (en) * 2020-07-23 2022-01-27 Hewlett-Packard Development Company, L.P. Read protection for uefi variables
WO2022093254A1 (en) * 2020-10-30 2022-05-05 Hewlett-Packard Development Company, L.P. Hashed function point identifiers for data processing security
KR20220091955A (ko) * 2020-12-24 2022-07-01 에스케이하이닉스 주식회사 메모리 시스템 폐기 방법 및 그 메모리 시스템
US11989300B2 (en) * 2021-07-19 2024-05-21 Dell Products L.P. Firmware secure boot customization extensions
US12045326B2 (en) * 2022-07-14 2024-07-23 Dell Products L.P. Secured communication protocol layer for authenticated hardware data access
US20240231790A9 (en) * 2022-10-20 2024-07-11 Dell Products L.P. Seamless update provisioning for common chipsets carrying different cpu families

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200520506A (en) * 2003-08-12 2005-06-16 Intel Corp Method for using trusted, hardware-based identity credentials in runtime package signature to secure mobile communications and high-value transaction execution
US20100169633A1 (en) * 2008-12-31 2010-07-01 Vincent Zimmer System and method to secure boot both uefi and legacy option rom's with common policy engine
US20130067245A1 (en) * 2011-09-13 2013-03-14 Oded Horovitz Software cryptoprocessor
TW201401097A (zh) * 2012-06-29 2014-01-01 Hon Hai Prec Ind Co Ltd 電子設備、簽名認證系統及其簽名認證方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2069090A (en) * 1935-02-11 1937-01-26 Paul E Hawkinson Tire retread and process of producing and applying the same
US6339824B1 (en) * 1997-06-30 2002-01-15 International Business Machines Corporation Method and apparatus for providing public key security control for a cryptographic processor
US6871278B1 (en) * 2000-07-06 2005-03-22 Lasercard Corporation Secure transactions with passive storage media
US6792505B2 (en) * 2001-04-16 2004-09-14 International Business Machines Corporation System apparatus and method for storage device controller-based message passing having effective data channel bandwidth and controller cache memory increase
US6848046B2 (en) 2001-05-11 2005-01-25 Intel Corporation SMM loader and execution mechanism for component software for multiple architectures
US20040078483A1 (en) * 2002-10-16 2004-04-22 Raymond Simila System and method for implementing virtual loopbacks in ethernet switching elements
US7974416B2 (en) * 2002-11-27 2011-07-05 Intel Corporation Providing a secure execution mode in a pre-boot environment
US8613387B1 (en) * 2002-12-26 2013-12-24 Diebold Self-Service Systems, Division Of Diebold, Incorporated Banking system controlled reponsive to data bearing records
US20050195975A1 (en) * 2003-01-21 2005-09-08 Kevin Kawakita Digital media distribution cryptography using media ticket smart cards
US7320052B2 (en) * 2003-02-10 2008-01-15 Intel Corporation Methods and apparatus for providing seamless file system encryption and redundant array of independent disks from a pre-boot environment into a firmware interface aware operating system
CN1553315A (zh) * 2003-06-06 2004-12-08 微软公司 在安全引导装载程序中使用散列技术
US7263608B2 (en) * 2003-12-12 2007-08-28 Lenovo (Singapore) Pte. Ltd. System and method for providing endorsement certificate
US7181293B2 (en) * 2004-12-27 2007-02-20 Intel Corporation System and method for enabling home power management
US8090919B2 (en) * 2007-12-31 2012-01-03 Intel Corporation System and method for high performance secure access to a trusted platform module on a hardware virtualization platform
US8209542B2 (en) * 2006-12-29 2012-06-26 Intel Corporation Methods and apparatus for authenticating components of processing systems
KR100807939B1 (ko) * 2007-03-08 2008-02-28 박경진 안구내렌즈 조립체
US8984265B2 (en) * 2007-03-30 2015-03-17 Intel Corporation Server active management technology (AMT) assisted secure boot
US9158920B2 (en) 2007-06-28 2015-10-13 Intel Corporation System and method for out-of-band assisted biometric secure boot
US20090204823A1 (en) * 2008-02-07 2009-08-13 Analog Devices, Inc. Method and apparatus for controlling system access during protected modes of operation
WO2009123631A1 (en) * 2008-04-02 2009-10-08 Hewlett-Packard Development Company, L.P. Binding a cryptographic module to a platform
US7984286B2 (en) 2008-06-25 2011-07-19 Intel Corporation Apparatus and method for secure boot environment
US20090327741A1 (en) 2008-06-30 2009-12-31 Zimmer Vincent J System and method to secure boot uefi firmware and uefi-aware operating systems on a mobile internet device (mid)
US8103909B2 (en) * 2008-09-15 2012-01-24 Juniper Networks, Inc. Automatic hardware-based recovery of a compromised computer
US20100082960A1 (en) * 2008-09-30 2010-04-01 Steve Grobman Protected network boot of operating system
US9077654B2 (en) * 2009-10-30 2015-07-07 Iii Holdings 2, Llc System and method for data center security enhancements leveraging managed server SOCs
US8510569B2 (en) * 2009-12-16 2013-08-13 Intel Corporation Providing integrity verification and attestation in a hidden execution environment
GB201000288D0 (en) * 2010-01-11 2010-02-24 Scentrics Information Security System and method of enforcing a computer policy
US8312296B2 (en) 2010-03-10 2012-11-13 Dell Products L.P. System and method for recovering from an interrupted encryption and decryption operation performed on a volume
US8375220B2 (en) * 2010-04-02 2013-02-12 Intel Corporation Methods and systems for secure remote wake, boot, and login to a computer from a mobile device
US9721101B2 (en) * 2013-06-24 2017-08-01 Red Hat, Inc. System wide root of trust chaining via signed applications
US8607040B2 (en) * 2010-11-16 2013-12-10 Intel Corporation Method of provisioning firmware in an operating system (OS) absent services environment
US8590040B2 (en) 2010-12-22 2013-11-19 Intel Corporation Runtime platform firmware verification
US8832452B2 (en) * 2010-12-22 2014-09-09 Intel Corporation System and method for implementing a trusted dynamic launch and trusted platform module (TPM) using secure enclaves
CN102063593B (zh) * 2011-01-07 2013-01-09 北京工业大学 主动控制功能的可信设备及其认证方法
US8918907B2 (en) * 2011-04-13 2014-12-23 Phoenix Technologies Ltd. Approaches for firmware to trust an application
US20140010365A1 (en) * 2012-07-06 2014-01-09 Vincent Von Bokern Replaceable encryption key provisioning
US8904162B2 (en) 2012-08-01 2014-12-02 Intel Corporation Methods and apparatus for performing secure BIOS upgrade
US9384352B2 (en) * 2013-10-02 2016-07-05 Intel Corporation Trusted boot and runtime operation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200520506A (en) * 2003-08-12 2005-06-16 Intel Corp Method for using trusted, hardware-based identity credentials in runtime package signature to secure mobile communications and high-value transaction execution
US20100169633A1 (en) * 2008-12-31 2010-07-01 Vincent Zimmer System and method to secure boot both uefi and legacy option rom's with common policy engine
US20130067245A1 (en) * 2011-09-13 2013-03-14 Oded Horovitz Software cryptoprocessor
TW201401097A (zh) * 2012-06-29 2014-01-01 Hon Hai Prec Ind Co Ltd 電子設備、簽名認證系統及其簽名認證方法

Also Published As

Publication number Publication date
CN109918919A (zh) 2019-06-21
EP4064089A1 (en) 2022-09-28
CN106462708B (zh) 2019-05-14
WO2015200581A1 (en) 2015-12-30
CN109918919B (zh) 2023-06-20
US20180025183A1 (en) 2018-01-25
US9785801B2 (en) 2017-10-10
KR20160146955A (ko) 2016-12-21
TW201617957A (zh) 2016-05-16
EP3161716B1 (en) 2023-08-30
EP3161716A1 (en) 2017-05-03
EP3161716A4 (en) 2018-03-21
US20150379306A1 (en) 2015-12-31
KR102244645B1 (ko) 2021-04-23
CN106462708A (zh) 2017-02-22
US10831934B2 (en) 2020-11-10

Similar Documents

Publication Publication Date Title
TWI570589B (zh) 用以提供受信任計算之裝置
US11520611B2 (en) Secure public cloud using extended paging and memory integrity
US10169574B2 (en) Using trusted execution environments for security of code and data
US11416415B2 (en) Technologies for secure device configuration and management
US20200349265A1 (en) Technologies for trusted i/o with a channel identifier filter and processor-based cryptographic engine
US10749683B2 (en) Technologies for end-to-end biometric-based authentication and platform locality assertion
US10303899B2 (en) Secure public cloud with protected guest-verified host control
US20180082057A1 (en) Access control
US11575672B2 (en) Secure accelerator device pairing for trusted accelerator-to-accelerator communication
US10776524B2 (en) Secure communication channel for system management mode
CN112818327A (zh) 基于TrustZone的用户级代码和数据安全可信保护方法及装置
KR20150079405A (ko) 보안 처리 환경으로부터의 기능의 오프로딩
EP3314516B1 (en) System management mode privilege architecture
Boubakri et al. Architectural Security and Trust Foundation for RISC-V
CN117473530A (zh) 基于可信执行环境的轻量级可信度量***及方法

Legal Events

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