TWI544356B - 用於在隱藏式執行環境中提供完整性驗證與認證之技術的裝置、方法及系統 - Google Patents
用於在隱藏式執行環境中提供完整性驗證與認證之技術的裝置、方法及系統 Download PDFInfo
- Publication number
- TWI544356B TWI544356B TW099137764A TW99137764A TWI544356B TW I544356 B TWI544356 B TW I544356B TW 099137764 A TW099137764 A TW 099137764A TW 99137764 A TW99137764 A TW 99137764A TW I544356 B TWI544356 B TW I544356B
- Authority
- TW
- Taiwan
- Prior art keywords
- processor
- hidden
- memory
- cmac
- icv
- 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
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Electrotherapy Devices (AREA)
Description
本發明係有關於在隱藏式執行環境中提供完整性認證與驗證之技術。
電腦系統由一批硬體元件組成,包括一個或多個處理器、記憶體、輸入/輸出裝置等。此外,不同類型之軟體可存在於一系統中,包括諸如一作業系統(OS)、一虛擬機監視器(VMM)等之系統軟體。此外,可提供應用軟體以執行一使用者期望的特定任務,諸如文字處理、電子郵件、遊戲等。為了使軟體與基本處理器硬體之間能夠通訊,軟體指令可轉化為較小的指令,諸如可利用儲存在該處理器中之微碼實施之微指令(uops)。
大體而言,對於諸如一OS或VMM之系統軟體,整個記憶體範圍是可見的。然而,為了提供安全操作等,可在該記憶體中提供一隱藏式分區,其包括可利用一資源管理器運行之程式碼,該資源管理器可以按處理器微碼實施且可對該OS/VMM隱藏。然而,在提供此等隱藏式資源中,出現了各種保全及認證問題,提高了複雜性。
作為一個範例,當一系統處於某些低功耗狀態時,諸如與2003年4月25日提出之高級組態及電源介面(ACPI)之第2修訂版標準一致的一所謂暫停(S3)狀態,系統記憶體處於自再新狀態。然而,該處理器斷電及因此在該記憶體上沒有有效保護。因此,當該系統處於S3狀態時,一攻擊者可能能夠修改記憶體之內容,且如果在返回(S0狀態)時該記憶體未得到驗證,這可能對該系統記憶體之一隱藏式記憶體分區造成注入碼攻擊。儘管在進入S3之前將該記憶體雜湊且在從S3到S0返回時驗證該等內容可避免此等碼注入攻擊,但這有缺點,包括延長了S0與S3之間的轉換所需的時間量,因為需要完成額外任務以雜湊記憶體及稍後驗證該等記憶體內容。
依據本發明之一實施例,係特地提出一種裝置,其包含:用以執行指令之一處理器,該處理器包括至少一個核心及一第一微碼儲存器、一第二微碼儲存器及一擴充暫存器,該第一微碼儲存器包括用以執行該處理器之一指令集架構(ISA)之指令之第一處理器指令,該第二微碼儲存器包括用以建立及執行一隱藏資源管理器(HRM)以在對系統軟體為不可見之一隱藏式環境中執行之第二處理器指令,該擴充暫存器用以儲存包括該隱藏式環境之至少一個內核碼模組之一測量值及該至少一個內核碼模組之一驗證狀態之保全資訊。
第1圖是根據本發明之一個實施例之一平台之一方塊圖。
第2圖是根據本發明之一個實施例之一完整性檢查值(ICV)陣列之一方塊圖。
第3圖是根據本發明之一實施例之隱藏式記憶體完整性計算及保護之一概觀之一方塊圖。
第4圖是根據本發明之一實施例之用於轉為一低功耗狀態之一方法之一流程圖。
第5圖是用以從一低功耗模式返回於一正常功耗模式中執行之一方法之一流程圖。
第6圖是根據本發明之一實施例之一驗證方法之一流程圖。
第7圖是根據本發明之一個實施例之一高級啟動方法之一流程圖。
第8圖是根據本發明之一個實施例之啟動操作之一流程圖。
第9圖是根據本發明之一個實施例之一認證方法之一流程圖。
第10圖是根據本發明之一個實施例之一處理器之一方塊圖。
實施例可對一隱藏式記憶體分區之完整性提供有效驗證,這在當自一低功耗狀態退出進入一正常工作狀態時可使用。更進一步,實施例可用來對一隱藏式環境提供認證,使得在該環境中執行之各種軟體在執行之前可受驗證。此認證可以完全在一處理器內實施且不需經由一互連使用其它元件,提高了速度且降低了經由與互連及其它元件的交互作用而產生之複雜性及可能的保全威脅。
為了提供一主機作業系統(OS)/虛擬機監視器(VMM)與一隱藏式分區之間的記憶體分離,一處理器可利用有效阻擋OS/VMM所產生的對該隱藏式記憶體的存取之一個或多個硬體範圍暫存器。同樣,為了控制該隱藏式分區對該主機OS/VMM記憶體的存取,一頁表可以存在於該隱藏式分區下。為了更好地理解一隱藏式環境中之操作,教育性地提供了提供此一環境之一平台之一概觀。
現在參考第1圖,其顯示了根據本發明之一個實施例之一平台之一方塊圖。如第1圖中所示,平台10可以是任意類型之電腦系統,諸如伺服器電腦、桌上型電腦、膝上型電腦、小筆電等。該平台包括各種硬體及軟體,它們共同運作以執行所請求的操作。如圖所示,該平台硬體包括一處理器20,在一個處理器中處理器20可以是包括多個處理器核心22a-22n之一多核處理器。下面將進一步討論,每一核心22可包括用於在一隱藏式環境中執行之微碼,其中此環境對諸如一OS或VMM之其它系統軟體隱藏。如進一步所示,處理器20包括一記憶體控制中心(MCH) 24以與一系統記憶體30進行通訊,在一個實施例中系統記憶體30可以是一動態隨機存取記憶體(DRAM)。
平台10之額外硬體可包括一周邊控制器中心(PCH) 40,其可包括一虛擬引擎42(VE)及一管理引擎(ME) 44,管理引擎(ME) 44可對諸如一儲存器50之各種周邊裝置提供控制功能,例如,諸如一碟片驅動機、光學式或其它非依電性儲存器之一大容量儲存器。此外,一網路介面控制器(NIC) 55可致能平台10與一網路之其它代理者之間的通訊,該網路諸如,一有線網路(例如,一區域網路(LAN))、諸如一無線LAN(WLAN)之一無線網路、或者諸如一蜂巢網路之一寬範圍無線網路。儘管第1圖之實施例中顯示了此特定硬體,但要理解,本發明的範圍不局限於此方面。
進一步如第1圖中所示,還存在各種軟體。首先,顯示了一隱藏式資源管理器(HRM) 25。如圖所示,此層軟體可充當基本處理器硬體與一隱藏式分區70之間的一介面。在一個實施例中,HRM 25可體現為儲存在該處理器之一微碼儲存器中之處理器微碼。注意,此微碼及儲存器可與傳統微碼與微碼儲存器分開,該傳統微碼及微碼儲存器用來針對一指令集架構(ISA)之相應用戶級指令提供處理器指令。然而,在一些實施例中,該隱藏式微碼及該傳統微碼可儲存在一單一微碼儲存器之不同分區中。
該資源管理器可執行來按隱藏式分區之程式碼提供服務。如圖所示,在此隱藏式分區中可出現各種程式碼,該等各種程式碼可儲存在例如遭分段且對其它系統軟體即OS及VMM隱藏之系統記憶體30之一分區中。隱藏式分區70包括各種程式碼,該等各種程式碼包括一個或多個隱藏內核及驅動器72,該一個或多個隱藏內核及驅動器72可提供內核服務及驅動器以與該平台之各種裝置介面連接。除了可執行於該隱藏式執行環境中之一個或多個應用程式75外,額外核心能力碼74可存在。儘管本發明之範圍不局限於此方面,但該隱藏式執行環境對於實施來遵從一正規保全模型之操作可提供比一通用OS更高的完整性。此外,平台10包括傳統軟體,該傳統軟體包括一主機OS/VMM分區60,其可包括各種主機裝置驅動器62及主機應用程式64。此程式碼可儲存在系統記憶體30之另一分區中。HRM 25可將該系統硬體之一抽象概念提供給該OS/VMM分區。
實施例可提供可以由執行於該隱藏式環境中之處理器微碼實施以降低在執行S3到S0及S0到S3轉換所需的時間量之機制。將一系統轉換到S3引起該處理器斷電且該記憶體處於一自再新模式。此時該記憶體沒有保護且各種運行時間保護不工作。如此,包括該隱藏式記憶體之該記憶體可易受不同保全威脅攻擊。注意,狀態S1及S2應用於處理器元件(例如,只用於核心及非核心)且不包括系統記憶體。額外的低功耗狀態S4及S5切斷系統記憶體之電力,因此所有內容丟失。
儘管以下列舉者不是詳盡的,但要理解,威脅可採取很多不同形式。例如,一個這樣的威脅可以是惡意代碼注入,其中一攻擊者可在S3功耗狀態轉換期間修改/替換一記憶體圖像。其它威脅利用雜湊演算法,其中一攻擊者可利用密碼學上的雜湊演算法之弱點找到具有一有效頁之雜湊簽章之一攻擊記憶體頁,且接著該攻擊頁被注入到該記憶體。一個一旦打破可到處使用(BORE)攻擊是已獲得一攻擊頁之一攻擊者可將該攻擊頁注入在大量相似組配系統上之一攻擊。在一攻擊者歸檔所有記憶體頁及完整性檢查值且接著替換該等目前記憶體頁及完整性值時,一重播攻擊可發生。當一攻擊者可交換具有相同加密訊息鑑別碼(CMAC)值之頁時,一頁交換攻擊發生。
某些威脅可透過在允許該記憶體圖像執行之前使該HRM測量(例如,雜湊及驗證)自我再新中之該記憶體圖像而處理。在一個實施例中,該方法進行一逐頁完整性檢查,其值記錄在一完整性檢查值(ICV)陣列中。該雜湊由該HRM微碼執行。在一個實施例中,該ICV陣列之每一項包含以下資訊:一完整性檢查值,其可以是該頁之一安全雜湊演算法(SHA)雜湊或者依據2006年6月網路工作組請求評注(RFC) 4493之一高級加密標準-基於密碼之訊息鑑別碼(AES-CMAC)操作;一ICV有效指標,其可以是正確/錯誤來指示最後一個ICV計算被執行以來該頁是否已改變;及一直接記憶器存取(DMA)頁指標,其可以是正確/錯誤來指示該頁是否可由裝置利用DMA存取。
在一個實施例中,該HRM可利用一後臺任務週期性地雜湊該等隱藏式頁。在每次轉換到該隱藏式環境之前,可調用該後臺任務來雜湊記憶體中固定的一組頁。例如,如果該隱藏式圖像大小為64MB,則有16384頁要進行完整性保護。該後臺任務可以以一循環方式瀏覽16KB頁且在每一運行中執行對16頁之雜湊。因而該後臺任務將需要被調用1K次以對分配於一隱藏式執行環境(HEE)之所有16k頁執行雜湊。雜湊該等頁所用之時間歸因於該HEE且自該執行剩餘時間扣除。
該ICV計算可根據不同的雜湊演算法。例如,替代一SHA1雜湊,諸如一SHA2操作之一較強雜湊演算法可用來處理雜湊演算法利用。然而,將有與SHA2算法之利用有關之一性能損失及記憶體負擔成本。SHA256需要大約20個週期/位元組及SHA512需要大約12個週期/位元組。SHA2算法還產生通常相當大的一訊息摘要。SHA256具有一256位元(32個位元組)訊息摘要(MD)及SHA512具有一64位元組MD。此負擔乘以記憶體中的頁之數目(16-64MB),這是一相當大的增加負擔。
因此,在很多實施例中,可使用SHA2之一替代品,諸如一AES-CMAC操作,其比一SHA算法快得多。而且,因為一CMAC具有抗拒第二事先描繪的特性,其可替代一SHA2函式使用。
現在參考第2圖,其顯示了根據本發明之一個實施例之一ICV陣列之一方塊圖。如第2圖中所示,一隱藏式環境可將其資訊(即,程式碼及資料)儲存在記憶體之一隱藏式分區中。特定地如第2圖中所示,一記憶體110可分成多個頁1101-110n以用於該隱藏式執行環境。在該隱藏式環境後臺操作期間,該HRM可對此等頁之每一個執行雜湊且將該等雜湊值儲存在一ICV陣列120中。如圖所示,ICV陣列120可包括多個項125a-125n,每一項對應於該隱藏式分區110之一頁。每一這樣的項包括用以儲存一CMAC值或雜湊值之一ICV欄位126及如上所述之一有效指標122及一DMA指標124。在一個實施例中,ICV陣列120還可儲存在隱藏式分區110之一分區中,然而實施態樣可將此ICV陣列儲存在其它位置。ICV陣列120之一雜湊還可利用只有該HRM所知的一加密鑰來計算及加密。以此方式,只有該HRM可修改該ICV陣列。
在一S0到S3轉換中,該HRM可產生該等隱藏式記憶體頁之ICV值。因此,在一個實施例中,在一S0到S3轉換中,該HRM藉由計算每一記憶體頁之CMAC值連同上述該等指標而動態地建構該ICV陣列。該ICV陣列可儲存在一未用之記憶體頁中。此後,可利用根據本發明之一實施例之完整性計算與保護來保護該隱藏式記憶體。
現在參考第3圖,其顯示了根據本發明之一實施例之隱藏式記憶體完整性計算及保護之一概觀之一方塊圖。如第3圖中所示,一隱藏式分區110可包括多個記憶體頁P1-Pn,其中每一個記憶體頁可利用存在於一頁表項105中之資訊來存取。此等頁表項可存在於一處理器內,該處理器可將此等項快取於一轉換後備緩衝器(TLB)或者其它結構中,或者該等項可存在於該隱藏式分區本身內。注意,該隱藏式分區之頁表項可儲存在一獨立頁表中。
為了執行一完整性計算,每一記憶體頁可被提供到一AES-CMAC函式150中,在一個實施例中,該AES-CMAC函式150可利用存在於一處理器核心、非核心、整合輸入/輸出控制器、周邊控制器、記憶體控制器或保全共處理器中之一加速器或其它特定硬體實施。透過利用每一平台特有之一私用金鑰K1作為一CMAC計算之部分,來自另一平台之一CMAC值不能用來攻擊目標平台,因為該攻擊者不能夠輕易地猜到每一平台之K1。
在一個實施例中,此金鑰可以為128位元且可以為每一平台特有。在一個實施例中,該AES-CMAC計算可利用包含在可執行用戶級ISA指令之一核心中之一AES加速器來實施一AES演算法。藉該AES加速器,在一個實施例中,該AES-CMAC可以以大約3.5個週期/位元組來發揮作用,提供了用於頁完整性保護之一高效且安全方法。每一頁之所產生的CMAC值可儲存在一ICV陣列120中。在一個實施例中,每頁之記憶體負擔是每一CMAC 64位元。高階位元選自由128位元K1值產生的一128位元CMAC。此外,對整個ICV陣列120之一完整性計算可利用使用函式160之相同金鑰K1類似地執行,因此這將一陣列CMAC值(CMACA)儲存在一儲存器165中。在一個實施例中,此CMACA可以是64位元。
為了識別此等完整性值遭計算的實例,根據網路工作組請求評注3602(2003年9月)之一AES-密碼區塊鏈接(CBC)加密函式170可操作來利用儲存在一儲存器175中之一第二私用金鑰K2產生一加密二進制大物件(blob) 190,第二私用金鑰K2操作來對金鑰值K1及儲存在一計數器180中之一計數器C1之一值執行一加密。在一個實施例中,K2源於一HRM儲存金鑰(只為該HRM所知的一對稱金鑰)。接著,該HRM儲存金鑰可自該處理器或一晶片組中之一組熔絲(fuse)獲得。在各種實施例中,該計數器可以是一單調計數器。
在不同實施態樣中,可利用數種技術實施單調計數器資源。作為範例,該計數器可藉由存取一TPM或ME實現。在此範例中,該HRM可得到該TPM的所有權來確保對計數器資源之存取或該HRM可存取例如存在於該處理器中的一持久性暫存器。作為另一範例,該HRM可藉由與一ME建立一信任關係(例如,執行一金鑰交換)存取一隱藏式儲存區域(例如,一快閃或其它非依電性記憶體)。作為又一範例,例如,該HRM可藉由與該儲存裝置建立一信任關係(例如,執行金鑰交換)存取一儲存裝置,諸如硬碟驅動機或一固態驅動機(HDD/SSD)。
該產生之二進制大物件190可遭儲存且接著稍後遭存取以判定該隱藏式分區之記憶體在轉回一工作狀態之後是否保持完整。C1在遭包含於二進制大物件中之後增至恢復計數器值C2。此後,C2可例如利用一讀-遞增-寫原子操作寫至一持久性記憶體來確保可檢測到一重播攻擊。在其它實施例中,該遞增可在自該S3狀態恢復之後發生。
注意,在一些實施例中,一頁交換攻擊可藉由包括自該CMAC中之頁元資料擷取之一頁索引值而處理。頁索引值藉由依賴於硬體保護來阻止攻擊者之該HRM確定。該HRM中之程式錯誤可導致在多於一個頁CMAC上包括完全相同的頁索引值。一可選擇之技術可利用一第二單調計數器作為一更可靠的唯一識別符。
現在參考第4圖,其顯示了根據本發明之一實施例之轉為一低功耗狀態之一方法之一流程圖。如第4圖中所示,方法200可開始接收一指令來轉至一低功耗狀態(例如,從S0轉為S3)(方塊210)。利用該隱藏式環境之微碼,可利用一私用金鑰K1計算該隱藏式記憶體之每一頁之AES-CMAC值(方塊220)。此等CMAC值可儲存在該ICV陣列中(方塊230)。在完成所有此等計算時,可利用該相同私用金鑰K1計算該整個陣列之一AES-CMAC值(方塊240)。此CMAC值可儲存在另一儲存器中(方塊250)。
仍參考第4圖,接著該單調計數器值C1及K1可寫入一記憶體(方塊260)。作為一範例,此等值可儲存在一臨時儲存位置,諸如一快取位置或該隱藏式分區內。此記憶體可接著利用私用金鑰K2加密以進而產生一加密二進制大物件(方塊270)。此二進制大物件可接著遭儲存在一S3持久性記憶體中(方塊280)。作為一範例,該二進制大物件可儲存在該隱藏式分區之在該S3模式期間保持自再新之一預定區域。儘管第4圖之該實施例中顯示了此特定實施態樣,本發明之範圍不局限於此方面。
現在參考第5圖,其顯示了從該低功耗模式恢復於一正常功耗模式中執行之一方法之一流程圖。如圖所示,方法300可透過在該HRM中接收一恢復通知而開始(方塊310)。對於一S3恢復,該HRM可例如經由一基本輸入/輸出系統(BIOS)接收一通知來恢復該隱藏式圖像(方塊310)。該HRM為該隱藏式環境創建一容器且接著判定在該隱藏式記憶體中是否有一有效ICV陣列。如果有,該ICV陣列之有效性可透過驗證該ICV陣列之CMAC(CMACA)及每一頁之CMAC而判定(菱形320)。如果ICV陣列完整性不完整,該HRM繼續隱藏式初始化作為一正常重置路徑,即該記憶體中之圖像遭丟棄且例如自一非依電性記憶體執行一新載入程式碼載入(方塊325)。
如果該ICV陣列之完整性未破壞,該HRM將所有HEE頁標記為未存在於該等隱藏式頁表中(方塊330)且將控制轉移給一隱藏式啟動載入器入口點(方塊335)。當該啟動載入器開始執行時,該等程式碼及資料頁存取(方塊340)產生到該HRM的頁表錯誤(菱形345)。如果在該ICV陣列中有用於該頁之一有效ICV,該HRM計算該錯誤頁上之ICV且將其與該ICV陣列中之該ICV比較以驗證該頁之完整性(方塊355)。如果經驗證(菱形370)完整,則該頁映射到該隱藏式頁表,作為一唯讀頁(以追蹤該頁之變化)(方塊375)。此後,可允許對該頁進行存取(方塊380)。
仍參考第5圖,如果在菱形350處,判定對於該相應ICV陣列項,不存在該頁之一有效ICV(例如,由該有效指標指出),則控制傳到方塊360,在此情況下,該頁可遭載入初始化程式碼。而且,如圖所示,如果一有效ICV項存在,但計算出的ICV與該相應已儲存之ICV值不匹配,則在菱形370處之驗證失敗,並且可報告一保全漏洞(方塊390)。儘管第5圖之實施例中顯示了此特定實施態樣,但理解,本發明之範圍不局限於此方面。例如,在一些實施態樣中,還可執行對可由一客端OS存取之記憶體頁(例如,系統記憶體之一非隱藏式記憶體分區)的驗證,在此情況下,該HRM啟用此驗證。
現在參考第6圖,其顯示了根據本發明之一實施例之一驗證方法之一流程圖。如第6圖中所示,當從該S3狀態恢復、驗證一ICV陣列時,方法400可由該HRM實施。如圖所示,方法400可藉由接收一請求以判定該ICV完整性而開始(方塊410)。因此,該HRM可從該HRM之一儲存器金鑰獲得該加密金鑰K2(方塊420)且因此利用K2解密該二進制大物件以獲得金鑰K1及計數器值C1(方塊430)。還要注意到,在此之前或此刻可調用一功耗狀態轉換以從S3恢復且增加一返回計數器值C2,該返回計數器值C2可在該恢復時自該持久性儲存器獲得(方塊440)。
在菱形450處,該HRM可判定該C1值是否與該C2值相差超過一預定臨界值(例如,1)。如果超過,驗證失敗且可報告一保全漏洞(方塊460)。如果該比較如預期,則控制傳到方塊470,其中該ICV陣列之該CMAC值與該等隱藏式執行環境頁之該等CMAC值可遭驗證(方塊470)。如果該等計算出的值與該等儲存值匹配,則在菱形475處,可判定該驗證成功且可作出一成功驗證報告(方塊480)。否則,驗證失敗且控制傳到方塊460。
透過基於AES-CMAC及CMAC值陣列(CMACA)之一AES-CMAC執行記憶體頁雜湊,實施例可實現用以防止第二事先描繪的特性攻擊之一更有效技術。另外地,利用加密該CMACA包括之一單調計數器值可防止一攻擊者利用來自一先前功耗狀態轉換之頁替換所有記憶體頁。而且,透過在該頁CMAC計算中包括一頁索引值,可防止惡意地替換出現在具有相同CMAC值的不同位址位置處之相同頁。
實施例可進一步啟用一隱藏式處理環境,其係利用一微處理器之微碼實例化來向外部實體證實該環境,同時對一使用者之隱私目的敏感。此外,該環境之完整性量值可由微碼記錄,使得它們可稍後由一遠端或外部實體使用及驗證。
為了實現此認證行為,微碼可創建一信任基礎,其中認證功能可免受外部威脅。該處理器之一擴充暫存器可用來儲存完整性量值1。接著一私用金鑰(例如,一所謂的EPID)可用來數位地表示該擴充暫存器之該等內容。接著,一相應公開金鑰可密碼驗證該EPID私用金鑰之簽章。在一些實施例中,一OwnerID值還可藉由負責確定該平台之隱私及保全策略之該實體提供。
一非對稱碼簽章金鑰可用來驗證在執行/開始時載入該掩藏式環境之韌體之完整性。接著,一完整性清單可包含可接受完整性量值之一白名單。此清單可保護表示進入該隱藏式環境之所有應用程式的一啟動控制策略。
大體而言,引導到一安全隱藏式環境之兩個操作階段可發生:1)一啟動階段;及2)一認證階段。在該啟動階段中,韌體載入到藉由該HRM而對主記憶體隱藏之記憶體頁中。首先利用一非對稱碼簽章金鑰驗證該完整性清單。接著利用包含在該清單中之一白名單(例如,雜湊值)驗證要載入之模組。
程式碼量值記錄到只有該HRM可存取之該擴充暫存器中使得其值無法由不信任程式碼更新或重置。如將在下面描述,在一個實施例中,要驗證的第一物件是該隱藏式環境之一暫態內核,稱為內核-0,即一啟動載入器,其用來啟動該隱藏式環境之一持久性內核(內核-1)。內核-0從該HRM接收該程式碼簽章金鑰且執行針對內核-1之程式碼完整性測量及驗證。量值指定給該HRM以儲存在該擴充暫存器中。接著內核-1利用由內核-0提供之該啟動控制策略驗證應用程式碼完整性。該(等)應用程式之完整性量值可記錄在稱為一啟動歷史之一日誌檔案中。該認證階段之細節在下文進一步描述。
現在參考第7圖,其顯示了根據本發明之一個實施例之一高級啟動方法之一流程圖。如第7圖中所示,方法500開始於一系統重置(方塊510)。該HRM程式碼可遭執行以驗證一暫態內核(方塊520)。如果該暫態內核遭驗證(菱形530),控制傳向方塊540,其中該暫態內核之一量值可儲存在該處理器之一擴充暫存器中(方塊540)。否則,如果驗證失敗,則可報告該失敗(方塊535)。
如圖所示,當驗證指出一有效暫態內核時,該暫態內核可以遭啟動(方塊550)且遭執行以驗證一隱藏式內核(方塊560)。此隱藏式內核可以是該隱藏式執行環境之一持久性內核。因此,在菱形565處,可判定該隱藏式內核是否遭驗證。如果是遭驗證,則該隱藏式內核之一量值可儲存在該擴充暫存器中(方塊575),且要執行之一個或多個應用程式可利用該隱藏式內核驗證(方塊580)。否則,如果該隱藏式內核未遭驗證,控制傳向方塊570,其中可報告一失敗。儘管第7圖之實施例中顯示了此特定實施態樣,但本發明之範圍不局限於此方面。
一應用程式之啟動取決於成功啟動在該HRM以下的每一前面層,其細節顯示在第8圖中,第8圖描述了根據本發明之一個實施例之啟動操作之一流程500`。如圖所示,該HRM層510`作為一重置時修補機制之一部分而隱式啟動,在重置時修補機制中微碼(且因此該HRM)遭執行。HRM程式碼805本身標記為製造之部分。包括在該程式碼圖像中的是一程式碼簽章金鑰(HPK),其是製造商出具的Rivest Shamir Adelman(RSA)2048或較大公共金鑰。在重置後該HEE內核-0程式碼810由該HRM載入。內核-0及內核-1圖像可位於一非依電性儲存器中。該等圖像包括可執行程式碼及包含該程式碼之一完整性雜湊之一簽章清單。
當該HRM載入該內核-0程式碼時,其計算內核-0程式碼之一雜湊(例如,一AES-CMAC雜湊),該雜湊被與該清單中之該雜湊值比較。該清單簽章利用該HPK程式碼簽章金鑰驗證。如果內核-0圖像完整性遭驗證,則可以在一處理器內之一擴充暫存器515`可利用該雜湊值及指出成功驗證之一旗標(例如,K0_SUCCESS_BIT=TRUE)更新。否則,該暫存器遭更新以指出驗證失敗(例如,K0_SUCCESS_BIT=FALSE)。
在該HRM啟動該內核-0且只有該旗標位元遭設定(例如,K0_SUCCESS_BIT=TRUE)而將該HPK公共金鑰傳到內核-0時可啟動內核-0層520`。否則,該HRM不允許內核-0或內核-1使用該擴充暫存器。在一個實施例中,內核-0是用來啟動內核-1之一暫態內核。內核-0載入一內核-1清單,該內核-1清單包括該內核-1程式碼815、該程式碼之一雜湊、包含在內核-1上可允許運行應用程式之一白名單之一應用程式啟動控制策略(AppLCP)及該HPK之一簽章。該AppLCP遭雜湊化且擴充到擴充暫存器515`。該AppLCP格式可包括版本資訊,其包括於在該擴充暫存器中擴充之該雜湊中。當內核-0載入該內核-1程式碼時,內核-0計算該內核-1程式碼之一雜湊(例如,AES-CMAC雜湊),其被與該內核-1清單中之該雜湊值比較。利用該HPK程式碼簽章金鑰驗證該清單簽章。在一個實施例中,所有內核-1核心服務及共享庫被包括在內核-1完整性量值中。
如果內核-1圖像完整性遭驗證,擴充暫存器515`利用雜湊值及指出成功驗證之一旗標(例如K1_SUCCESS_BIT=TRUE)來更新。否則,其利用遭設定來指出驗證失敗之旗標(即K1_SUCCESS_BIT=FALSE)來更新。內核-1計算該AppLCP完整性雜湊。該雜湊指定給擴充暫存器515`以用於更新。此時,該內核-1層530`遭啟動。作為啟動之一部分,該AppLCP傳遞到內核-1。內核-1透過計算要載入之每一應用程式之一完整性雜湊而安全地載入應用程式8200-8202。與AppLCP不同之一策略確定要載入哪些應用程式。如果內核-1計算
的雜湊(AES-CMAC)與包含在該AppLCP中的該雜湊值匹配,則該應用程式完整性檢查是成功的。應用程式啟動結果之一歷史可記錄在一啟動歷史535`中。此時,該隱藏式環境已準備好執行。
在該認證階段,一驗證器可發出用以獲得環境完整性證明之一請求。該驗證器將一隨機亂數(例如,隨機亂數-1)提供到內核-1,這確保該認證結果是新的(即,未自一先前請求重放)。內核-1可接著建構該啟動歷史之一雜湊,其隨隨機亂數-1一起被傳遞到該HRM以供處理。
該HRM將該啟動歷史雜湊、隨機亂數、擴充暫存器及一OwnerID(於下文描述)包含在一訊息中,該訊息接著由該私用金鑰數位地簽章。該簽章之認證記錄返回到內核-1,且接著轉送到該最初驗證器。該驗證器利用其先前接收到之該私用金鑰之一公共副本檢查該EPID簽章。該驗證器應用解譯該認證記錄之一策略,該認證記錄遭設計來估計與同該隱藏式環境互動相關之風險。
因此,在各種實施例中,認證可完全提供在該處理器中,而不需要與微處理器內核分開之分立認證控制器。這不需要依賴匯流排架構及將一內核與一認證控制器連接之互連體。而且,由於晶片上處理器資源可實例化一隱藏式處理環境,實施例可將認證與一隱藏式環境組合。
即,認證以運行於該(等)處理器核上的微碼形式與該隱藏式環境整合。微碼具有類似於處理器微碼之一信任基礎,可以信任其正確地管理EPID、擴充暫存器及一程式碼
簽章金鑰。利用EPID對該接收到之認證簽章允許該驗證器了解該認證記錄是可信任的,因為其由一指定製造商提供之硬體構造。在利用一使用者產生之私用金鑰(例如,一OwnerID)之一個實施例中,該OwnerID包含在該認證記錄中允許該平台之所有者透過決定該OwnerID應當為何等獨特或非獨特來控制隱私屬性。
該HEE環境之認證以一驗證器之認證請求訊息開始。一驗證器是具有與內核-1互動的能力之任一環境。現在參考第9圖,其顯示了根據本發明之一個實施例之一認證方法600之一流程圖。如第9圖中所示,一驗證器610計算在認證有意義之該交易所特有的一隨機亂數(例如隨機亂數1)。該交易能夠長久(跨越幾年),諸如證書註冊過程,或者可以短暫(跨越幾秒),諸如服務於一網頁之一超文件傳送協定(HTTP)。該驗證器完全控制隨機亂數1如何建構。隨機亂數1可防止獲得認證之該交易上的重送攻擊。作為認證請求915之一部分,驗證器610將隨機亂數1提供到內核-1 620,該認證請求規定哪些應用程式要包括在該認證中。
內核-1查詢(920)啟動歷史625以獲得一指定應用程式(例如,App-X)之完整性值及啟動狀態。此資訊可接著與隨機亂數1一起轉送到一HRM 630。該HRM建構了包括由內核-1傳入之資訊及一私用金鑰之一認證記錄925,該私用金鑰諸如作為一隱藏式部署之部分而提供到該客戶環境之一OwnerID。如圖所示,該OwnerID 635可儲存在與該HRM有關之一非依電性儲存器中,該非依電性儲存器在該處理器
內部或外部。當該平台第一次載入到一環境中時,該OwnerID可能遭形成,這允許該平台之所有者相對於由該製造商所定義的一識別符為該硬體建立它們自身的識別符。如此,該硬體之所有者可確定如何對該平台命名且確定所期望的獨特性多大或多小。因此,基於一組織之隱私策略,此OwnerID可揭露一確定量之個人可識別資訊。利用自熔絲(例如,在非核心中)獲取之該HRM包裝金鑰(HWK)加密該OwnerID。該包裝之OwnerID可接著與內核-0、內核-1、應用程式、清單及應用程式資料一起儲存在一非依電性儲存器中。包括內核-1及內核-0之完整性量值及該AppLCP之一雜湊之一擴充暫存器638(其可以是包含在例如該非核心中之一機器特定暫存器(MSR))中之資訊,可提供有利用該EPID私用金鑰而簽章之該認證記錄930。
該簽章結果轉送到(935)驗證器610,其中該EPID簽章利用該EPID私用金鑰驗證(940)。該認證記錄隨機亂數1與該最初值做比較以檢測重送攻擊。客戶提供之OwnerID遭檢查以確定這是否是由該驗證器擁有之一平台。應用程式、內核-1及內核0圖像之一發佈的白名單可遭查閱以驗證該App-X是否執行於該預期環境中。作為一個範例,指派給部署到一客戶環境快取中之平台之該(等)OwnerID歸檔於一目錄服務中,其中它們可由大體上部署於一網路或一企業內之驗證代理者查詢。該驗證器還可存取也歸檔於該目錄服務中之所有者認可的內核、應用程式及組態之一白名單。
現在參考第10圖,其顯示了根據本發明之一個實施例
之一處理器之一方塊圖。如第10圖中所示,處理器700可以是一多級管線無序處理器。利用第10圖中之一相對簡化視圖顯示了處理器700以說明用於根據本發明之一實施例之一隱藏式執行環境之各種特徵。
如第10圖中所示,處理器700包括前端單元710,其可用來擷取要執行之巨集指令且準備好該等微指令供稍後用在該處理器中。例如,前端單元710可包括一擷取單元701、一指令快取703及一指令解碼器705。如圖所示,前端單元710可進一步包括一ISA微碼儲存器706,其儲存該處理器之一ISA之處理器指令。此外,一獨立隱藏微碼儲存器708可儲存用於該隱藏式執行環境之處理器指令。擷取單元701可從例如記憶體或指令快取703擷取巨集指令且將它們饋入到指令解碼器705中以將它們解碼成原始碼,即,由該處理器執行的微操作。
仍參考第10圖,耦接於前端單元710與執行單元720之間的是一無序(OOO)引擎715,其用來接收微指令且準備該等微指令以供執行。更特定地,OOO引擎715可包括各種緩衝器,它們用以重排微指令流且分配執行所需的各種資源及用以將邏輯暫存器之重命名提供到各種暫存器列組內之儲存位置,該各種暫存器列組諸如一暫存器列組730及一向量暫存器列組735。暫存器列組730可包括用於整數及浮點型運算之獨立暫存器列組。向量暫存器列組735可為向量大小單元提供儲存,例如每一暫存器256或512位元。可存在其它儲存器,諸如一擴充暫存器725及一非依電性儲存器722。如上所述,擴充暫存器725可用來儲存用在一隱藏式執行環境中之認證期間之資訊。除了資訊,非依電性儲存器722可儲存私用金鑰及處理器識別符,例如一EPID及一OwnerID。
各種資源可存在於執行單元720中,例如,包括各種整數、浮點數及單一指令多資料(SIMD)邏輯單元與諸如一加密加速器之專用硬體。結果可提供到退移邏輯,即一重排序緩衝器(ROB) 740。更特定地,ROB 740可包括用以接收與執行之指令有關之資訊之各種陣列與邏輯。此資訊接著由ROB 740檢查以判定該等指令是否有效退移及產生用於該處理器的架構狀態之資料,或出現之一個或多個例外是否防止該等指令之一恰當退移。當然,ROB 740可處理與退移有關之其它操作。
如第10圖中所示,ROB 740耦接到一快取750,在一個實施例中,該快取750可以是一低階快取(例如,L1快取),但本發明之範圍不局限於此方面。而且,執行單元720可直接耦接到快取750。自快取750可與較高階快取、系統記憶體等進行資料通訊。儘管第10圖之該實施例中顯示此高階,要理解本發明之範圍不局限於此方面。
實施例可以以程式碼形式實施且可以儲存在儲存有指令之一儲存媒體上,該等指令可用來規劃以系統以執行該等指令。該儲存媒體可包括但不局限於:包括軟碟、光碟、光碟、固態驅動機(SSD)、唯讀光碟記憶體(CD-ROM)、可重寫光碟(CD-RW)及磁光碟之任一類型碟片、半導體裝置,該等半導體裝置諸如唯讀記憶體(ROM)、諸如動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)之隨機存取記憶體(RAM)、可抹除可規劃唯讀記憶體(EPROM)、快閃記憶體、電氣可抹除可規劃唯讀記憶體(EEPROM)、磁卡或光卡或者適於儲存電子指令之任一其它類型媒體。
儘管本發明已針對一定數目之實施例予以描述,但熟於此技者將明白,可對其做大量修改及改變。屬意的是所附申請專利範圍係涵蓋落入本發明之真正精神及範圍內之所有此等修改及改變。
10‧‧‧平台
20、700‧‧‧處理器
22a、22n‧‧‧處理器核心
24‧‧‧記憶體控制中心(MCH)
25‧‧‧隱藏式資源管理器(HRM)
30‧‧‧系統記憶體
40‧‧‧周邊控制器中心(PCH)
42‧‧‧虛擬引擎
44‧‧‧管理引擎(ME)
50、165、175‧‧‧儲存器
55‧‧‧網路介面控制器(NIC)
60‧‧‧主機OS/VMM分區
62‧‧‧主機裝置驅動器
64‧‧‧主機應用程式
70‧‧‧隱藏式分區
72‧‧‧隱藏內核及驅動器
74‧‧‧額外核心能力碼
75‧‧‧應用程式
105‧‧‧頁表項
110‧‧‧記憶體、隱藏式分區
1101、110n‧‧‧頁
120‧‧‧ICV陣列
122‧‧‧有效指標
124‧‧‧DMA指標
125a、125n‧‧‧項
126‧‧‧ICV欄位
150‧‧‧AES-CMAC函式
160‧‧‧函式
170‧‧‧AES-密碼區塊鏈接(CBC)加密函式
180‧‧‧計數器
190‧‧‧加密二進制大物件
200、300、400、500‧‧‧方法
210~280、310、325~340、355、360、375、380、390、410~440、460、470、480、510、520、535~560、570~580‧‧‧方塊
320、345、350、370、450、475、530、565‧‧‧菱形
500`‧‧‧流程
510`‧‧‧HRM層
515`‧‧‧擴充暫存器
520`‧‧‧內核-0層
530`‧‧‧內核-1層
535`‧‧‧啟動歷史
600‧‧‧認證方法
610‧‧‧驗證器
620‧‧‧內核-1
625‧‧‧啟動歷史
630‧‧‧HRM
635‧‧‧OwnerID
638‧‧‧擴充暫存器
701‧‧‧擷取單元
703‧‧‧指令快取
705‧‧‧指令解碼器
706‧‧‧ISA微碼儲存器
708‧‧‧獨立隱藏微碼儲存器
710‧‧‧前端單元
715‧‧‧無序(OOO)引擎
720‧‧‧執行單元
722‧‧‧非依電性儲存器
725‧‧‧擴充暫存器
730‧‧‧暫存器列組
735‧‧‧向量暫存器列組
740‧‧‧重排序緩衝器(ROB)
750‧‧‧快取
805‧‧‧HRM程式碼
810‧‧‧內核-0程式碼
815‧‧‧內核-1程式碼
8200-8202‧‧‧應用程式
915‧‧‧認證請求
920‧‧‧查閱用於App-X之啟動歷史
925‧‧‧藉由包含內核-0及內核-1及AppLCP測量之擴充暫存器請求認證
930‧‧‧標記認證請求
935‧‧‧轉送簽章認證
940‧‧‧驗證認證
第1圖是根據本發明之一個實施例之一平台之一方塊圖。
第2圖是根據本發明之一個實施例之一完整性檢查值(ICV)陣列之一方塊圖。
第3圖是根據本發明之一實施例之隱藏式記憶體完整性計算及保護之一概觀之一方塊圖。
第4圖是根據本發明之一實施例之用於轉為一低功耗狀態之一方法之一流程圖。
第5圖是用以從一低功耗模式返回於一正常功耗模式中執行之一方法之一流程圖。
第6圖是根據本發明之一實施例之一驗證方法之一流程圖。
第7圖是根據本發明之一個實施例之一高級啟動方法之一流程圖。
第8圖是根據本發明之一個實施例之啟動操作之一流程圖。
第9圖是根據本發明之一個實施例之一認證方法之一流程圖。
第10圖是根據本發明之一個實施例之一處理器之一方塊圖。
10‧‧‧平台
20‧‧‧處理器
22a、22n‧‧‧處理器核心
24‧‧‧記憶體控制中心(MCH)
25‧‧‧隱藏式資源管理器(HRM)
30‧‧‧系統記憶體
40‧‧‧周邊控制器中心(PCH)
42‧‧‧虛擬引擎
44‧‧‧管理引擎(ME)
50‧‧‧儲存器
55‧‧‧網路介面控制器(NIC)
60‧‧‧主機OS/VMM分區
62‧‧‧主機裝置驅動器
64‧‧‧主機應用程式
70‧‧‧隱藏式分區
72‧‧‧隱藏內核及驅動器
74‧‧‧額外核心能力碼
75‧‧‧應用程式
Claims (21)
- 一種用於在隱藏式執行環境中提供完整性驗證與認證之技術的裝置,其包含:用以執行指令之一處理器,該處理器包括至少一個核心及一第一微碼儲存器、一第二微碼儲存器及一擴充暫存器,該第一微碼儲存器包括用以執行該處理器之一指令集架構(ISA)之指令之第一處理器指令,該第二微碼儲存器包括用以建立及執行一隱藏資源管理器(HRM)以在對系統軟體為不可見之一隱藏式環境中執行之第二處理器指令,該擴充暫存器用以儲存包括該隱藏式環境之至少一個內核碼模組之一測量值及該至少一個內核碼模組之一驗證狀態之保全資訊。
- 如申請專利範圍第1項所述之裝置,其中該擴充暫存器用以進一步儲存欲在該隱藏式環境中執行之至少一個應用程式所針對之一啟動控制策略之一雜湊。
- 如申請專利範圍第1項所述之裝置,其中該處理器用以完全在該處理器內執行該隱藏式環境中的一認證。
- 如申請專利範圍第3項所述之裝置,其中該認證無需與耦接到該處理器之任一代理者通訊而執行。
- 如申請專利範圍第1項所述之裝置,其中該 處理器進一步包括一加速器,此加速器用以執行一加密訊息鑑別碼(CMAC)計算及將該CMAC計算儲存在一完整性檢查值(ICV)陣列之一項中。
- 如申請專利範圍第5項所述之裝置,其中該加速器用以對耦接到該處理器之一記憶體之一隱藏式分區之多個頁中的每一頁執行該CMAC計算。
- 如申請專利範圍第1項所述之裝置,其中該處理器包括由該處理器之一生產商儲存用以識別該生產商之一第一識別符,及由包括該處理器之一系統之一所有者儲存之一第二識別符,其中該第二識別符具有可控數量的獨特性。
- 如申請專利範圍第1項所述之裝置,其中該處理器用以基於該處理器之一熔絲設定而產生一私用金鑰。
- 一種用於在隱藏式執行環境中提供完整性驗證與認證之技術的方法,其包含以下步驟:利用一第一私用金鑰產生一系統之一系統記憶體之一隱藏式分區之多個頁之一加密訊息鑑別碼(CMAC),且將該等CMAC中的每一者儲存在一完整性檢查值(ICV)陣列之一相應項中;利用一第二私用金鑰將該第一私用金鑰及一計數器之一計數器值加密成一加密二進制大物件;將該系統從一第一功耗狀態轉換到該系統記憶體不受該系統之一處理器保護之一低功耗狀態;及 當該系統從該低功耗狀態轉換到該第一功耗狀態時,利用該加密二進制大物件及該ICV陣列驗證該隱藏式分區。
- 如申請專利範圍第9項所述之方法,其中該第二私用金鑰藉由於一隱藏式環境中執行之該處理器之微碼而自一儲存器金鑰獲取。
- 如申請專利範圍第9項所述之方法,其進一步包含利用該第一私用金鑰產生該ICV陣列之一CMAC及將該ICV陣列之該CMAC儲存在一第二儲存器中之步驟。
- 如申請專利範圍第9項所述之方法,其進一步包含在將該系統轉換到該低功耗狀態之前將該計數器值儲存在一持久性記憶體中,及自該低功耗狀態返回後增加該儲存之計數器值之步驟,其中當該處理器處於低功耗狀態時,該系統記憶體處於一自再新模式。
- 如申請專利範圍第11項所述之方法,其進一步包含在將該系統轉換到該低功耗狀態之前,增加該計數器值及將該增加的計數器值儲存在一非依電性儲存器中之步驟。
- 如申請專利範圍第13項所述之方法,其中驗證該隱藏式分區之步驟包括:利用該第二私用金鑰解密該加密的二進制大物件,其中該第二私用金鑰利用該處理器之微碼產 生,以獲得該第一私用金鑰及該計數器值;將該計數器值與儲存在該非依電性儲存器中之該增加的計數器值比較;及驗證該ICV陣列之該CMAC及該等頁之該CMAC。
- 如申請專利範圍第14項所述之方法,其進一步包含如果該比較產生了大於一預定臨界值之一差,則指出驗證失敗之步驟。
- 如申請專利範圍第14項所述之方法,其進一步包含如果針對該ICV陣列之一計算的CMAC不與該ICV陣列之一已儲存CMAC匹配或者針對該等頁之至少一者之一計算的CMAC不與儲存在該ICV陣列中之相應CMAC匹配,則指出一驗證失敗之步驟。
- 一種用於在隱藏式執行環境中提供完整性驗證與認證之技術的系統,其包含:用以執行指令之一處理器,該處理器包括至少一核心及一微碼儲存器及用以儲存保全資訊之一擴充暫存器,該微碼儲存器包括用以建立及執行一隱藏式資源管理器(HRM)以於系統軟體不可見的一隱藏式環境中執行之處理器指令,該保全資訊包括該隱藏式環境之至少一內核碼模組之一測量值及該至少一個內核碼模組之一驗證之一狀態,其中當該系統自一低功耗狀態轉換時,該HRM用以利用一第一 私用金鑰為一隱藏式記憶體分區的多個頁中之每一頁產生一加密訊息鑑別碼(CMAC),且用以將該等CMAC之每一者儲存於一完整性檢查值(ICV)陣列之一相應項中、利用一第二私用金鑰將該第一私用金鑰及一計數器之一值加密成一加密二進制大物件,且利用該加密的二進制大物件及該ICV陣列之該等項中之每一者驗證由該HRM指派用在該隱藏式環境中的該隱藏式記憶體分區之頁;及一系統記憶體,其耦接到該處理器且包括該隱藏式記憶體分區,當該處理器處於該低功耗狀態時,該系統記憶體處於一自再新狀態。
- 如申請專利範圍第17項所述之系統,其中該處理器用以完全在該處理器內而無需與耦接到該處理器之任何代理者通訊地執行該隱藏式環境中之一認證。
- 如申請專利範圍第17項所述之系統,其中該處理器進一步包括用以執行CMAC計算且用來將該等CMAC之每一者儲存在該ICV陣列之一項中之一加速器。
- 如申請專利範圍第17項所述之系統,其中該處理器包括由該處理器之一製造商儲存用以識別該製造商之一第一識別符,及由包括該處理器之該系統之一所有者儲存之一第二識別符,其中該第二識別符具有一可控數量的獨特性。
- 如申請專利範圍第17項所述之系統,其中該HRM用以啟用可為一客端作業系統存取之該系統記憶體之一記憶體分區之頁的驗證。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/639,616 US8510569B2 (en) | 2009-12-16 | 2009-12-16 | Providing integrity verification and attestation in a hidden execution environment |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201145069A TW201145069A (en) | 2011-12-16 |
TWI544356B true TWI544356B (zh) | 2016-08-01 |
Family
ID=44144243
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099137764A TWI544356B (zh) | 2009-12-16 | 2010-11-03 | 用於在隱藏式執行環境中提供完整性驗證與認證之技術的裝置、方法及系統 |
TW105114136A TWI567581B (zh) | 2009-12-16 | 2010-11-03 | 用於在隱藏式執行環境中提供完整性驗證與認證之技術的裝置、方法及系統 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105114136A TWI567581B (zh) | 2009-12-16 | 2010-11-03 | 用於在隱藏式執行環境中提供完整性驗證與認證之技術的裝置、方法及系統 |
Country Status (9)
Country | Link |
---|---|
US (3) | US8510569B2 (zh) |
EP (1) | EP2513837A4 (zh) |
JP (1) | JP5390703B2 (zh) |
KR (1) | KR101371784B1 (zh) |
CN (1) | CN102103673B (zh) |
BR (1) | BRPI1010193A2 (zh) |
DE (1) | DE112010004885T5 (zh) |
TW (2) | TWI544356B (zh) |
WO (1) | WO2011084210A2 (zh) |
Families Citing this family (200)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8819450B2 (en) * | 2008-11-25 | 2014-08-26 | Dell Products L.P. | System and method for providing data integrity |
US8732426B2 (en) | 2010-09-15 | 2014-05-20 | Pure Storage, Inc. | Scheduling of reactive I/O operations in a storage environment |
US8589625B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of reconstructive I/O read operations in a storage environment |
US11614893B2 (en) | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
US12008266B2 (en) | 2010-09-15 | 2024-06-11 | Pure Storage, Inc. | Efficient read by reconstruction |
US8468318B2 (en) | 2010-09-15 | 2013-06-18 | Pure Storage Inc. | Scheduling of I/O writes in a storage environment |
US8589655B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of I/O in an SSD environment |
US11275509B1 (en) | 2010-09-15 | 2022-03-15 | Pure Storage, Inc. | Intelligently sizing high latency I/O requests in a storage environment |
US9244769B2 (en) | 2010-09-28 | 2016-01-26 | Pure Storage, Inc. | Offset protection data in a RAID array |
US8775868B2 (en) | 2010-09-28 | 2014-07-08 | Pure Storage, Inc. | Adaptive RAID for an SSD environment |
US8627464B2 (en) * | 2010-11-02 | 2014-01-07 | Microsoft Corporation | Globally valid measured operating system launch with hibernation support |
US9087196B2 (en) * | 2010-12-24 | 2015-07-21 | Intel Corporation | Secure application attestation using dynamic measurement kernels |
CN103329093B (zh) | 2011-01-19 | 2017-09-12 | 国际商业机器公司 | 用于更新执行环境中的代码的方法和系统 |
US20120254526A1 (en) * | 2011-03-28 | 2012-10-04 | Advanced Micro Devices, Inc. | Routing, security and storage of sensitive data in random access memory (ram) |
US9111099B2 (en) * | 2011-05-31 | 2015-08-18 | Red Hat, Inc. | Centralized kernel module loading |
US11636031B2 (en) | 2011-08-11 | 2023-04-25 | Pure Storage, Inc. | Optimized inline deduplication |
US8589640B2 (en) | 2011-10-14 | 2013-11-19 | Pure Storage, Inc. | Method for maintaining multiple fingerprint tables in a deduplicating storage system |
CN103765427B (zh) | 2011-09-07 | 2017-02-15 | 英特尔公司 | 检验设备的固件完整性 |
EP2761438A4 (en) * | 2011-09-30 | 2015-04-22 | Intel Corp | AUTHENTICATED LAUNCH OF VIRTUAL MACHINES AND IMBRIATED VIRTUAL MACHINE MANAGERS |
US9069586B2 (en) | 2011-10-13 | 2015-06-30 | Mcafee, Inc. | System and method for kernel rootkit protection in a hypervisor environment |
US8973144B2 (en) * | 2011-10-13 | 2015-03-03 | Mcafee, Inc. | System and method for kernel rootkit protection in a hypervisor environment |
US10803970B2 (en) * | 2011-11-14 | 2020-10-13 | Seagate Technology Llc | Solid-state disk manufacturing self test |
CN104012032B (zh) * | 2011-12-22 | 2017-04-19 | 英特尔公司 | 处理sha‑1安全散列算法的方法和设备 |
US9361244B2 (en) * | 2011-12-29 | 2016-06-07 | Intel Corporation | Apparatus for hardware accelerated runtime integrity measurement |
WO2013101248A1 (en) * | 2011-12-31 | 2013-07-04 | Intel Corporation | Hardware protection of virtual machine monitor runtime integrity watcher |
US10303503B2 (en) * | 2011-12-31 | 2019-05-28 | Intel Corporation | Hardware protection of virtual machine monitor runtime integrity watcher |
US8719540B1 (en) | 2012-03-15 | 2014-05-06 | Pure Storage, Inc. | Fractal layout of data blocks across multiple devices |
US20130254906A1 (en) * | 2012-03-22 | 2013-09-26 | Cavium, Inc. | Hardware and Software Association and Authentication |
WO2013142948A1 (en) | 2012-03-30 | 2013-10-03 | Irdeto Canada Corporation | Method and system for preventing and detecting security threats |
US20130305391A1 (en) * | 2012-05-14 | 2013-11-14 | Rosemount Aerospace, Inc. | Common Computing Apparatus Providing Distinct Non-Certified And Certified Computing Platforms |
US9043903B2 (en) | 2012-06-08 | 2015-05-26 | Crowdstrike, Inc. | Kernel-level security agent |
US9367688B2 (en) | 2012-06-22 | 2016-06-14 | Intel Corporation | Providing geographic protection to a system |
US8973095B2 (en) | 2012-06-25 | 2015-03-03 | Intel Corporation | Authenticating a user of a system via an authentication image mechanism |
US8800052B2 (en) * | 2012-06-29 | 2014-08-05 | Intel Corporation | Timer for hardware protection of virtual machine monitor runtime integrity watcher |
WO2014021867A1 (en) * | 2012-07-31 | 2014-02-06 | Hewlett-Packard Development Company, L.P. | Modify executable bits of system management memory page table |
EP2895935A4 (en) * | 2012-09-14 | 2016-05-11 | Intel Corp | METHOD AND DEVICE FOR PROTECTING MEMORY AREAS DURING LOW-POWER CONDITIONS |
US10623386B1 (en) | 2012-09-26 | 2020-04-14 | Pure Storage, Inc. | Secret sharing data protection in a storage system |
US8745415B2 (en) | 2012-09-26 | 2014-06-03 | Pure Storage, Inc. | Multi-drive cooperation to generate an encryption key |
US11032259B1 (en) | 2012-09-26 | 2021-06-08 | Pure Storage, Inc. | Data protection in a storage system |
US8838997B2 (en) * | 2012-09-28 | 2014-09-16 | Intel Corporation | Instruction set for message scheduling of SHA256 algorithm |
US9215249B2 (en) | 2012-09-29 | 2015-12-15 | Intel Corporation | Systems and methods for distributed trust computing and key management |
US8924727B2 (en) | 2012-10-12 | 2014-12-30 | Intel Corporation | Technologies labeling diverse content |
US10095433B1 (en) | 2012-10-24 | 2018-10-09 | Western Digital Technologies, Inc. | Out-of-order data transfer mechanisms for data storage systems |
US9064109B2 (en) | 2012-12-20 | 2015-06-23 | Intel Corporation | Privacy enhanced key management for a web service provider using a converged security engine |
US11768623B2 (en) | 2013-01-10 | 2023-09-26 | Pure Storage, Inc. | Optimizing generalized transfers between storage systems |
US11733908B2 (en) | 2013-01-10 | 2023-08-22 | Pure Storage, Inc. | Delaying deletion of a dataset |
US9436720B2 (en) * | 2013-01-10 | 2016-09-06 | Pure Storage, Inc. | Safety for volume operations |
US10908835B1 (en) | 2013-01-10 | 2021-02-02 | Pure Storage, Inc. | Reversing deletion of a virtual machine |
WO2014166103A1 (en) * | 2013-04-12 | 2014-10-16 | Microsoft Corporation | Energy efficient data handling for mobile devices |
US10223156B2 (en) | 2013-06-09 | 2019-03-05 | Apple Inc. | Initiating background updates based on user activity |
EP3014507B1 (en) | 2013-06-27 | 2018-04-04 | Intel Corporation | Continuous multi-factor authentication |
US10263770B2 (en) | 2013-11-06 | 2019-04-16 | Pure Storage, Inc. | Data protection in a storage system using external secrets |
US11128448B1 (en) | 2013-11-06 | 2021-09-21 | Pure Storage, Inc. | Quorum-aware secret sharing |
US10365858B2 (en) | 2013-11-06 | 2019-07-30 | Pure Storage, Inc. | Thin provisioning in a storage device |
CN103607279B (zh) * | 2013-11-14 | 2017-01-04 | 中国科学院数据与通信保护研究教育中心 | 基于多核处理器的密钥保护方法及系统 |
TW201535145A (zh) * | 2013-12-04 | 2015-09-16 | Insyde Software Corp | 使用保護讀取儲存器安全地儲存韌體數據之系統及方法 |
US9208086B1 (en) | 2014-01-09 | 2015-12-08 | Pure Storage, Inc. | Using frequency domain to prioritize storage of metadata in a cache |
US9521125B2 (en) | 2014-03-13 | 2016-12-13 | Intel Corporation | Pseudonymous remote attestation utilizing a chain-of-trust |
US9348997B2 (en) | 2014-03-13 | 2016-05-24 | Intel Corporation | Symmetric keying and chain of trust |
US9509502B2 (en) | 2014-03-13 | 2016-11-29 | Intel Corporation | Symmetric keying and chain of trust |
US10289405B2 (en) | 2014-03-20 | 2019-05-14 | Crowdstrike, Inc. | Integrity assurance and rebootless updating during runtime |
US10656864B2 (en) | 2014-03-20 | 2020-05-19 | Pure Storage, Inc. | Data replication within a flash storage array |
US10430487B2 (en) * | 2014-04-04 | 2019-10-01 | Paypal, Inc. | System and method to share content utilizing universal link format |
US9432796B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Dynamic adjustment of mobile device based on peer event data |
US9779268B1 (en) | 2014-06-03 | 2017-10-03 | Pure Storage, Inc. | Utilizing a non-repeating identifier to encrypt data |
US11399063B2 (en) | 2014-06-04 | 2022-07-26 | Pure Storage, Inc. | Network authentication for a storage system |
US9218244B1 (en) | 2014-06-04 | 2015-12-22 | Pure Storage, Inc. | Rebuilding data across storage nodes |
US10496556B1 (en) | 2014-06-25 | 2019-12-03 | Pure Storage, Inc. | Dynamic data protection within a flash storage system |
US9218407B1 (en) | 2014-06-25 | 2015-12-22 | Pure Storage, Inc. | Replication and intermediate read-write state for mediums |
US9785801B2 (en) * | 2014-06-27 | 2017-10-10 | Intel Corporation | Management of authenticated variables |
US10296469B1 (en) | 2014-07-24 | 2019-05-21 | Pure Storage, Inc. | Access control in a flash storage system |
US9690922B2 (en) * | 2014-07-28 | 2017-06-27 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System, apparatus, and method for anti-replay protection of data stored in a non-volatile memory device |
US9495255B2 (en) | 2014-08-07 | 2016-11-15 | Pure Storage, Inc. | Error recovery in a storage cluster |
US9558069B2 (en) | 2014-08-07 | 2017-01-31 | Pure Storage, Inc. | Failure mapping in a storage array |
US9864761B1 (en) | 2014-08-08 | 2018-01-09 | Pure Storage, Inc. | Read optimization operations in a storage system |
US9928385B2 (en) * | 2014-08-29 | 2018-03-27 | The Boeing Company | Periodic memory refresh in a secure computing system |
US10430079B2 (en) | 2014-09-08 | 2019-10-01 | Pure Storage, Inc. | Adjusting storage capacity in a computing system |
US10164841B2 (en) | 2014-10-02 | 2018-12-25 | Pure Storage, Inc. | Cloud assist for storage systems |
US9489132B2 (en) | 2014-10-07 | 2016-11-08 | Pure Storage, Inc. | Utilizing unmapped and unknown states in a replicated storage system |
US10430282B2 (en) | 2014-10-07 | 2019-10-01 | Pure Storage, Inc. | Optimizing replication by distinguishing user and system write activity |
CN104270252B (zh) * | 2014-10-16 | 2018-03-02 | 广州柏诚智能科技有限公司 | 热量表远程抄表系统及该系统实现可信增强的方法 |
US9727485B1 (en) | 2014-11-24 | 2017-08-08 | Pure Storage, Inc. | Metadata rewrite and flatten optimization |
US9773007B1 (en) | 2014-12-01 | 2017-09-26 | Pure Storage, Inc. | Performance improvements in a storage system |
US9552248B2 (en) | 2014-12-11 | 2017-01-24 | Pure Storage, Inc. | Cloud alert to replica |
US9588842B1 (en) | 2014-12-11 | 2017-03-07 | Pure Storage, Inc. | Drive rebuild |
US9864769B2 (en) | 2014-12-12 | 2018-01-09 | Pure Storage, Inc. | Storing data utilizing repeating pattern detection |
US10545987B2 (en) | 2014-12-19 | 2020-01-28 | Pure Storage, Inc. | Replication to the cloud |
US10296354B1 (en) | 2015-01-21 | 2019-05-21 | Pure Storage, Inc. | Optimized boot operations within a flash storage array |
US11947968B2 (en) | 2015-01-21 | 2024-04-02 | Pure Storage, Inc. | Efficient use of zone in a storage device |
US9710165B1 (en) | 2015-02-18 | 2017-07-18 | Pure Storage, Inc. | Identifying volume candidates for space reclamation |
US10082985B2 (en) | 2015-03-27 | 2018-09-25 | Pure Storage, Inc. | Data striping across storage nodes that are assigned to multiple logical arrays |
US10178169B2 (en) | 2015-04-09 | 2019-01-08 | Pure Storage, Inc. | Point to point based backend communication layer for storage processing |
US10140149B1 (en) | 2015-05-19 | 2018-11-27 | Pure Storage, Inc. | Transactional commits with hardware assists in remote memory |
US10491708B2 (en) | 2015-06-05 | 2019-11-26 | Apple Inc. | Context notifications |
US9547441B1 (en) | 2015-06-23 | 2017-01-17 | Pure Storage, Inc. | Exposing a geometry of a storage device |
US10310740B2 (en) | 2015-06-23 | 2019-06-04 | Pure Storage, Inc. | Aligning memory access operations to a geometry of a storage device |
US10339316B2 (en) | 2015-07-28 | 2019-07-02 | Crowdstrike, Inc. | Integrity assurance through early loading in the boot phase |
JP6769999B2 (ja) * | 2015-08-21 | 2020-10-14 | クリプトグラフィ リサーチ, インコーポレイテッド | セキュア計算環境 |
US11269884B2 (en) | 2015-09-04 | 2022-03-08 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
KR20170028825A (ko) | 2015-09-04 | 2017-03-14 | 퓨어 스토리지, 아이앤씨. | 압축된 인덱스들을 사용한 해시 테이블들에서의 메모리 효율적인 스토리지 및 탐색 |
US11341136B2 (en) | 2015-09-04 | 2022-05-24 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US10073964B2 (en) | 2015-09-25 | 2018-09-11 | Intel Corporation | Secure authentication protocol systems and methods |
KR101678793B1 (ko) * | 2015-10-07 | 2016-11-22 | (주)에이티솔루션즈 | 보안운영체제를 통한 앱 무결성 검증 방법 |
US9843453B2 (en) | 2015-10-23 | 2017-12-12 | Pure Storage, Inc. | Authorizing I/O commands with I/O tokens |
KR102411770B1 (ko) | 2015-11-13 | 2022-06-22 | 삼성전자주식회사 | 전자 장치를 보호하기 위한 장치 및 방법 |
US10235526B2 (en) * | 2015-12-18 | 2019-03-19 | Intel Corporation | Secure resume from a low power state |
US10567170B2 (en) * | 2015-12-24 | 2020-02-18 | Mcafee, Llc | Hardware-generated dynamic identifier |
KR101786006B1 (ko) | 2016-01-29 | 2017-10-17 | 한국과학기술원 | 머클 트리 기반 메모리 무결성 검증 방법 및 장치 |
US10833863B2 (en) * | 2016-02-29 | 2020-11-10 | Intel Corporation | Device provisioning service |
JP6304837B2 (ja) * | 2016-03-16 | 2018-04-04 | インテル・コーポレーション | 仮想マシンおよびネストにされた仮想マシンマネージャの認証されたランチ |
US10133503B1 (en) | 2016-05-02 | 2018-11-20 | Pure Storage, Inc. | Selecting a deduplication process based on a difference between performance metrics |
US10452297B1 (en) | 2016-05-02 | 2019-10-22 | Pure Storage, Inc. | Generating and optimizing summary index levels in a deduplication storage system |
US10790978B2 (en) * | 2016-05-25 | 2020-09-29 | Intel Corporation | Technologies for collective authorization with hierarchical group keys |
US10203903B2 (en) | 2016-07-26 | 2019-02-12 | Pure Storage, Inc. | Geometry based, space aware shelf/writegroup evacuation |
KR102538096B1 (ko) | 2016-09-13 | 2023-05-31 | 삼성전자주식회사 | 어플리케이션을 검증하는 디바이스 및 방법 |
US10191662B2 (en) | 2016-10-04 | 2019-01-29 | Pure Storage, Inc. | Dynamic allocation of segments in a flash storage system |
US10756816B1 (en) | 2016-10-04 | 2020-08-25 | Pure Storage, Inc. | Optimized fibre channel and non-volatile memory express access |
US10162523B2 (en) | 2016-10-04 | 2018-12-25 | Pure Storage, Inc. | Migrating data between volumes using virtual copy operation |
US10613974B2 (en) | 2016-10-04 | 2020-04-07 | Pure Storage, Inc. | Peer-to-peer non-volatile random-access memory |
US10481798B2 (en) | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
US10185505B1 (en) | 2016-10-28 | 2019-01-22 | Pure Storage, Inc. | Reading a portion of data to replicate a volume based on sequence numbers |
US10359942B2 (en) | 2016-10-31 | 2019-07-23 | Pure Storage, Inc. | Deduplication aware scalable content placement |
US11550481B2 (en) | 2016-12-19 | 2023-01-10 | Pure Storage, Inc. | Efficiently writing data in a zoned drive storage system |
US10452290B2 (en) | 2016-12-19 | 2019-10-22 | Pure Storage, Inc. | Block consolidation in a direct-mapped flash storage system |
US11093146B2 (en) | 2017-01-12 | 2021-08-17 | Pure Storage, Inc. | Automatic load rebalancing of a write group |
US10387228B2 (en) | 2017-02-21 | 2019-08-20 | Crowdstrike, Inc. | Symmetric bridge component for communications between kernel mode and user mode |
US10528488B1 (en) | 2017-03-30 | 2020-01-07 | Pure Storage, Inc. | Efficient name coding |
US11216561B2 (en) * | 2017-04-18 | 2022-01-04 | Hewlett-Packard Development Company, L.P. | Executing processes in sequence |
US11403019B2 (en) | 2017-04-21 | 2022-08-02 | Pure Storage, Inc. | Deduplication-aware per-tenant encryption |
US10944671B2 (en) | 2017-04-27 | 2021-03-09 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
US10339154B2 (en) * | 2017-05-24 | 2019-07-02 | Sap Se | Decentralized image management |
US10402266B1 (en) | 2017-07-31 | 2019-09-03 | Pure Storage, Inc. | Redundant array of independent disks in a direct-mapped flash storage system |
US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
US10776202B1 (en) | 2017-09-22 | 2020-09-15 | Pure Storage, Inc. | Drive, blade, or data shard decommission via RAID geometry shrinkage |
US10789211B1 (en) | 2017-10-04 | 2020-09-29 | Pure Storage, Inc. | Feature-based deduplication |
US10884919B2 (en) | 2017-10-31 | 2021-01-05 | Pure Storage, Inc. | Memory management in a storage system |
CN108055132B (zh) | 2017-11-16 | 2020-04-28 | 阿里巴巴集团控股有限公司 | 一种业务授权的方法、装置及设备 |
US10860475B1 (en) | 2017-11-17 | 2020-12-08 | Pure Storage, Inc. | Hybrid flash translation layer |
US10740459B2 (en) | 2017-12-28 | 2020-08-11 | Crowdstrike, Inc. | Kernel- and user-level cooperative security processing |
US11010233B1 (en) | 2018-01-18 | 2021-05-18 | Pure Storage, Inc | Hardware-based system monitoring |
US11144638B1 (en) | 2018-01-18 | 2021-10-12 | Pure Storage, Inc. | Method for storage system detection and alerting on potential malicious action |
US10970395B1 (en) | 2018-01-18 | 2021-04-06 | Pure Storage, Inc | Security threat monitoring for a storage system |
US10853090B2 (en) * | 2018-01-22 | 2020-12-01 | Hewlett Packard Enterprise Development Lp | Integrity verification of an entity |
US10467527B1 (en) | 2018-01-31 | 2019-11-05 | Pure Storage, Inc. | Method and apparatus for artificial intelligence acceleration |
US11036596B1 (en) | 2018-02-18 | 2021-06-15 | Pure Storage, Inc. | System for delaying acknowledgements on open NAND locations until durability has been confirmed |
US11494109B1 (en) | 2018-02-22 | 2022-11-08 | Pure Storage, Inc. | Erase block trimming for heterogenous flash memory storage devices |
US11934322B1 (en) | 2018-04-05 | 2024-03-19 | Pure Storage, Inc. | Multiple encryption keys on storage drives |
US11995336B2 (en) | 2018-04-25 | 2024-05-28 | Pure Storage, Inc. | Bucket views |
US11385792B2 (en) | 2018-04-27 | 2022-07-12 | Pure Storage, Inc. | High availability controller pair transitioning |
US10678433B1 (en) | 2018-04-27 | 2020-06-09 | Pure Storage, Inc. | Resource-preserving system upgrade |
US10678436B1 (en) | 2018-05-29 | 2020-06-09 | Pure Storage, Inc. | Using a PID controller to opportunistically compress more data during garbage collection |
US11436023B2 (en) | 2018-05-31 | 2022-09-06 | Pure Storage, Inc. | Mechanism for updating host file system and flash translation layer based on underlying NAND technology |
US10776046B1 (en) | 2018-06-08 | 2020-09-15 | Pure Storage, Inc. | Optimized non-uniform memory access |
US11714910B2 (en) * | 2018-06-13 | 2023-08-01 | Hewlett Packard Enterprise Development Lp | Measuring integrity of computing system |
US11281577B1 (en) | 2018-06-19 | 2022-03-22 | Pure Storage, Inc. | Garbage collection tuning for low drive wear |
DE102018213618A1 (de) * | 2018-06-20 | 2019-12-24 | Robert Bosch Gmbh | Kryptografiemodul und Betriebsverfahren hierfür |
US11869586B2 (en) | 2018-07-11 | 2024-01-09 | Pure Storage, Inc. | Increased data protection by recovering data from partially-failed solid-state devices |
US11133076B2 (en) | 2018-09-06 | 2021-09-28 | Pure Storage, Inc. | Efficient relocation of data between storage devices of a storage system |
US11194759B2 (en) | 2018-09-06 | 2021-12-07 | Pure Storage, Inc. | Optimizing local data relocation operations of a storage device of a storage system |
US10795829B2 (en) * | 2018-09-28 | 2020-10-06 | Intel Corporation | Device, method and system to selectively provide data validation functionality |
US10846216B2 (en) | 2018-10-25 | 2020-11-24 | Pure Storage, Inc. | Scalable garbage collection |
US11113409B2 (en) | 2018-10-26 | 2021-09-07 | Pure Storage, Inc. | Efficient rekey in a transparent decrypting storage array |
EP3794477B1 (en) * | 2019-01-04 | 2023-05-10 | Baidu.com Times Technology (Beijing) Co., Ltd. | Method and system for validating kernel objects to be executed by a data processing accelerator of a host system |
US11194473B1 (en) | 2019-01-23 | 2021-12-07 | Pure Storage, Inc. | Programming frequently read data to low latency portions of a solid-state storage array |
US10936506B2 (en) * | 2019-02-22 | 2021-03-02 | Chengdu Haiguang Integrated Circuit Design Co., Ltd. | Method for tagging control information associated with a physical address, processing system and device |
US11588633B1 (en) | 2019-03-15 | 2023-02-21 | Pure Storage, Inc. | Decommissioning keys in a decryption storage system |
US11163912B2 (en) * | 2019-03-25 | 2021-11-02 | Micron Technology, Inc. | Data attestation in memory |
US11334254B2 (en) | 2019-03-29 | 2022-05-17 | Pure Storage, Inc. | Reliability based flash page sizing |
US11775189B2 (en) | 2019-04-03 | 2023-10-03 | Pure Storage, Inc. | Segment level heterogeneity |
US11397674B1 (en) | 2019-04-03 | 2022-07-26 | Pure Storage, Inc. | Optimizing garbage collection across heterogeneous flash devices |
US10990480B1 (en) | 2019-04-05 | 2021-04-27 | Pure Storage, Inc. | Performance of RAID rebuild operations by a storage group controller of a storage system |
US11099986B2 (en) | 2019-04-12 | 2021-08-24 | Pure Storage, Inc. | Efficient transfer of memory contents |
US11151256B2 (en) * | 2019-05-13 | 2021-10-19 | Dell Products, L.P. | Detecting security threats by monitoring chains of configuration changes made to basic input/output system (BIOS) or unified extensible firmware interface (UEFI) attributes |
US11487665B2 (en) | 2019-06-05 | 2022-11-01 | Pure Storage, Inc. | Tiered caching of data in a storage system |
US11281394B2 (en) | 2019-06-24 | 2022-03-22 | Pure Storage, Inc. | Replication across partitioning schemes in a distributed storage system |
US10929046B2 (en) | 2019-07-09 | 2021-02-23 | Pure Storage, Inc. | Identifying and relocating hot data to a cache determined with read velocity based on a threshold stored at a storage device |
US11422751B2 (en) | 2019-07-18 | 2022-08-23 | Pure Storage, Inc. | Creating a virtual storage system |
US11086713B1 (en) | 2019-07-23 | 2021-08-10 | Pure Storage, Inc. | Optimized end-to-end integrity storage system |
US11963321B2 (en) | 2019-09-11 | 2024-04-16 | Pure Storage, Inc. | Low profile latching mechanism |
US11403043B2 (en) | 2019-10-15 | 2022-08-02 | Pure Storage, Inc. | Efficient data compression by grouping similar data within a data segment |
US11675898B2 (en) | 2019-11-22 | 2023-06-13 | Pure Storage, Inc. | Recovery dataset management for security threat monitoring |
US11625481B2 (en) | 2019-11-22 | 2023-04-11 | Pure Storage, Inc. | Selective throttling of operations potentially related to a security threat to a storage system |
US11720714B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Inter-I/O relationship based detection of a security threat to a storage system |
US11720692B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Hardware token based management of recovery datasets for a storage system |
US11755751B2 (en) | 2019-11-22 | 2023-09-12 | Pure Storage, Inc. | Modify access restrictions in response to a possible attack against data stored by a storage system |
US11651075B2 (en) | 2019-11-22 | 2023-05-16 | Pure Storage, Inc. | Extensible attack monitoring by a storage system |
US11941116B2 (en) | 2019-11-22 | 2024-03-26 | Pure Storage, Inc. | Ransomware-based data protection parameter modification |
US11645162B2 (en) | 2019-11-22 | 2023-05-09 | Pure Storage, Inc. | Recovery point determination for data restoration in a storage system |
US11615185B2 (en) | 2019-11-22 | 2023-03-28 | Pure Storage, Inc. | Multi-layer security threat detection for a storage system |
US11520907B1 (en) | 2019-11-22 | 2022-12-06 | Pure Storage, Inc. | Storage system snapshot retention based on encrypted data |
US11687418B2 (en) | 2019-11-22 | 2023-06-27 | Pure Storage, Inc. | Automatic generation of recovery plans specific to individual storage elements |
US11657155B2 (en) | 2019-11-22 | 2023-05-23 | Pure Storage, Inc | Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system |
US11341236B2 (en) | 2019-11-22 | 2022-05-24 | Pure Storage, Inc. | Traffic-based detection of a security threat to a storage system |
US11500788B2 (en) | 2019-11-22 | 2022-11-15 | Pure Storage, Inc. | Logical address based authorization of operations with respect to a storage system |
US11455395B2 (en) * | 2020-06-17 | 2022-09-27 | Hewlett Packard Enterprise Development Lp | Perform verification check in response to change in page table base register |
US11829612B2 (en) | 2020-08-20 | 2023-11-28 | Micron Technology, Inc. | Security techniques for low power mode of memory device |
US20220197829A1 (en) * | 2020-12-21 | 2022-06-23 | Intel Corporation | High capacity hidden memory |
US20220198064A1 (en) * | 2020-12-22 | 2022-06-23 | International Business Machines Corporation | Provisioning secure/encrypted virtual machines in a cloud infrastructure |
TWI812042B (zh) * | 2021-03-30 | 2023-08-11 | 新唐科技股份有限公司 | 安全系統 |
KR20240063659A (ko) * | 2022-11-03 | 2024-05-10 | 삼성전자주식회사 | 전자 장치 및 전자 장치에서 데이터를 검증하는 방법 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5167029A (en) * | 1989-12-13 | 1992-11-24 | International Business Machines Corporation | Data processing system and associated process using memory cards having data modify functions utilizing a data mask and an internal register |
US5493669A (en) * | 1993-03-03 | 1996-02-20 | Motorola, Inc. | Data processor for simultaneously searching two fields of the rename buffer having first and second most recently allogated bits |
US5664156A (en) * | 1994-09-16 | 1997-09-02 | Philips Electronics North America Corporation | Microcontroller with a reconfigurable program status word |
ATE419586T1 (de) * | 1995-02-13 | 2009-01-15 | Intertrust Tech Corp | Systeme und verfahren zur gesicherten transaktionsverwaltung und elektronischem rechtsschutz |
US6990579B1 (en) | 2000-03-31 | 2006-01-24 | Intel Corporation | Platform and method for remote attestation of a platform |
US7051366B1 (en) * | 2000-06-21 | 2006-05-23 | Microsoft Corporation | Evidence-based security policy manager |
US6986052B1 (en) | 2000-06-30 | 2006-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US7036020B2 (en) | 2001-07-25 | 2006-04-25 | Antique Books, Inc | Methods and systems for promoting security in a computer system employing attached storage devices |
US7392415B2 (en) | 2002-06-26 | 2008-06-24 | Intel Corporation | Sleep protection |
US7835520B2 (en) * | 2003-02-20 | 2010-11-16 | Zoran Corporation | Unique identifier per chip for digital audio/video data encryption/decryption in personal video recorders |
DE10338032B4 (de) | 2003-08-19 | 2009-12-17 | Infineon Technologies Ag | Prozessor mit elektronischen Sicherungen zum Speichern von Geheimdaten |
US7103779B2 (en) * | 2003-09-18 | 2006-09-05 | Apple Computer, Inc. | Method and apparatus for incremental code signing |
US7500098B2 (en) * | 2004-03-19 | 2009-03-03 | Nokia Corporation | Secure mode controlled memory |
US7725703B2 (en) * | 2005-01-07 | 2010-05-25 | Microsoft Corporation | Systems and methods for securely booting a computer with a trusted processing module |
US8510859B2 (en) | 2006-09-26 | 2013-08-13 | Intel Corporation | Methods and arrangements to launch trusted, co-existing environments |
US20080184028A1 (en) * | 2007-01-29 | 2008-07-31 | Dell Products L.P. | Methods, Apparatus and Products for Establishing a Trusted Information Handling System |
US7945786B2 (en) | 2007-03-30 | 2011-05-17 | Intel Corporation | Method and apparatus to re-create trust model after sleep state |
US20080320263A1 (en) * | 2007-06-20 | 2008-12-25 | Daniel Nemiroff | Method, system, and apparatus for encrypting, integrity, and anti-replay protecting data in non-volatile memory in a fault tolerant manner |
JP4775744B2 (ja) * | 2007-10-19 | 2011-09-21 | インテル・コーポレーション | 信頼できる共存環境をラウンチする方法およびプログラム |
US20090132837A1 (en) | 2007-11-15 | 2009-05-21 | Mcm Portfolio Llc | System and Method for Dynamically Selecting Clock Frequency |
US8171321B2 (en) | 2007-12-26 | 2012-05-01 | Intel Corporation | Method and apparatus for cost and power efficient, scalable operating system independent services |
CN101515316B (zh) * | 2008-02-19 | 2011-09-28 | 北京工业大学 | 一种可信计算终端及可信计算方法 |
US8793803B2 (en) | 2008-05-24 | 2014-07-29 | Via Technologies, Inc. | Termination of secure execution mode in a microprocessor providing for execution of secure code |
-
2009
- 2009-12-16 US US12/639,616 patent/US8510569B2/en active Active
-
2010
- 2010-10-27 KR KR1020127018367A patent/KR101371784B1/ko not_active IP Right Cessation
- 2010-10-27 EP EP10842398.9A patent/EP2513837A4/en not_active Withdrawn
- 2010-10-27 DE DE112010004885T patent/DE112010004885T5/de not_active Ceased
- 2010-10-27 WO PCT/US2010/054312 patent/WO2011084210A2/en active Application Filing
- 2010-10-27 JP JP2012517933A patent/JP5390703B2/ja not_active Expired - Fee Related
- 2010-10-27 BR BRPI1010193A patent/BRPI1010193A2/pt not_active Application Discontinuation
- 2010-11-03 TW TW099137764A patent/TWI544356B/zh not_active IP Right Cessation
- 2010-11-03 TW TW105114136A patent/TWI567581B/zh not_active IP Right Cessation
- 2010-12-15 CN CN201010610084.2A patent/CN102103673B/zh not_active Expired - Fee Related
-
2013
- 2013-03-01 US US13/782,484 patent/US8887267B2/en not_active Expired - Fee Related
-
2014
- 2014-09-25 US US14/496,186 patent/US9195824B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20130179693A1 (en) | 2013-07-11 |
CN102103673A (zh) | 2011-06-22 |
CN102103673B (zh) | 2014-08-06 |
WO2011084210A2 (en) | 2011-07-14 |
BRPI1010193A2 (pt) | 2016-03-29 |
KR20120093439A (ko) | 2012-08-22 |
TWI567581B (zh) | 2017-01-21 |
US20110145598A1 (en) | 2011-06-16 |
KR101371784B1 (ko) | 2014-03-07 |
EP2513837A2 (en) | 2012-10-24 |
US8887267B2 (en) | 2014-11-11 |
EP2513837A4 (en) | 2013-06-19 |
DE112010004885T5 (de) | 2012-09-20 |
JP5390703B2 (ja) | 2014-01-15 |
JP2012531000A (ja) | 2012-12-06 |
US20150013002A1 (en) | 2015-01-08 |
US8510569B2 (en) | 2013-08-13 |
US9195824B2 (en) | 2015-11-24 |
TW201701178A (zh) | 2017-01-01 |
TW201145069A (en) | 2011-12-16 |
WO2011084210A3 (en) | 2011-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI544356B (zh) | 用於在隱藏式執行環境中提供完整性驗證與認證之技術的裝置、方法及系統 | |
KR101332135B1 (ko) | Tpm 액세스들을 가상화하기 위한 시스템들, 방법들 및 장치들 | |
KR101359841B1 (ko) | 신뢰성 있는 부트 최적화를 위한 방법 및 장치 | |
US10032029B2 (en) | Verifying integrity of backup file in a multiple operating system environment | |
US7421588B2 (en) | Apparatus, system, and method for sealing a data repository to a trusted computing platform | |
US8943491B2 (en) | Systems and methods for maintaining CRTM code | |
US20130212406A1 (en) | Technique for providing secure firmware | |
US20110246778A1 (en) | Providing security mechanisms for virtual machine images | |
CN112800429B (zh) | 一种基于基础性的uefi bios固件系统中驱动程序保护的方法 | |
US20170288874A1 (en) | Cryptographic protection for trusted operating systems | |
Raj et al. | Credo: Trusted computing for guest VMs with a commodity hypervisor | |
US8108905B2 (en) | System and method for an isolated process to control address translation | |
TW202226780A (zh) | 創建、使用、及管理受保護的密碼金鑰 | |
Muramoto et al. | Improving Hardware Security on Talos II Architecture Through Boot Image Encryption | |
US20230195652A1 (en) | Method and apparatus to set guest physical address mapping attributes for trusted domain | |
US20240037217A1 (en) | Digital content management through on-die cryptography and remote attestation | |
Cheruvu et al. | Base Platform Security Hardware Building Blocks | |
Ghaleh et al. | A new approach to protect the OS from off-line attacks using the smart card | |
Murase et al. | Dependable TCB Based on the Cell Broadband Engine Isolation Facility |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |