TW535070B - Platform and method for remote attestation of a platform - Google Patents

Platform and method for remote attestation of a platform Download PDF

Info

Publication number
TW535070B
TW535070B TW090107591A TW90107591A TW535070B TW 535070 B TW535070 B TW 535070B TW 090107591 A TW090107591 A TW 090107591A TW 90107591 A TW90107591 A TW 90107591A TW 535070 B TW535070 B TW 535070B
Authority
TW
Taiwan
Prior art keywords
platform
patent application
scope
item
remote authentication
Prior art date
Application number
TW090107591A
Other languages
English (en)
Inventor
Howard C Herbert
David W Grawrock
Carl M Ellison
Roger A Golliver
Derrick C Lin
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Application granted granted Critical
Publication of TW535070B publication Critical patent/TW535070B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/305Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • G06F21/35User authentication involving the use of external additional devices, e.g. dongles or smart cards communicating wirelessly
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/74Protecting 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 operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Description

535070 五、發明說明(1) 1 背景 1 . 本务明係關於平台安全之領域。 2 · 平台微處理器與通訊技術的進步已經開啟許多應用機 會’其超越推展業務的傳統方式。電子商務(e-commerce) 與企業對企業(B2B )事務正逐漸流行中,以很快的速度接 觸全球市場。遺憾的是,雖然現代微處理器技術提供使用 者方便而有效率的方法推展業務,通訊和交易,但此種技 術無法支援遠端認證。遠端認證係以一大致安全之方式認 4 一遇端位置上的平台其作業狀態的一種技術。藉由以該 平台進行電子商務或者企業對企業事務之前,先確定該平 台的作業狀態,可令使用者對事務安全更具信心。 圖示簡述 從以下之發明詳述,本發明的特性和優點可更為明顯, 其中: _ - 圖1 A係一圖形,說明該平台之丨s〇XTM架構其邏輯作業笔 構的一具體實施例。 一 /圖1 B係一說明圖,顯示根據本發明一具體實施例之作業 糸統和處理器中的各種元件其可存取性。 圖ic係利用本發明的一平台之說明具體實施例的一第/ 方塊圖。 圖2係該平台之說明作業的一流程圖,其中產生已保護 之稽核日誌的一具體實施例。
535070 五、發明說明(2) 圖3係圖1 C之處理器中 具體實施例的一方塊圖 副本。 利用的一遠端認證單位其一說明 其中取得該稽核日誌的一已保護 圖4係圖1 C之晶片組中 具體實施例的一方塊圖, 誌的一已保護副本。 圖5係圖1 C之晶片組+ 具體實施例的一方塊圖, 誌的一已保護副本。 利用的一遠端認證單位其一說明 其中取得晶片組外部之該稽核日 利用的一遠端認證單位其一說明 其中取得晶片組内部之該稽核日 圖6係圖1 C之固定符^ 明具體貫施例的一方棟^ 護副本。 己中利用的一遠端認證單位其一說 圖’其中取得該稽核日誌的一已保
圖7係圖1 C之可移降# 說明具體實施例的—方V己:利用士的—遠端認證單位其-保護副本。 &圖,其中取得該稽核日誌的-已 本發明係關於一平台以另、专# )刀% T y - M及遂端涊證一平台之方法。當該 平台於某特殊作業模式中作業车, 土 - L , τ作菓日守可進行遠端認證。此特 殊模式的一例包括如以下所^ ^ _ ,,士、甘_^T y斤述的一處理器隔離執行丨丨IsoX” ^ ^ u r m订的一處理器利用密碼學上 唯一的硬體保護鎖匙材料產生一翁彳☆欠立 ^ ^ 數位簽章,其中包括有關 該平台之作業環境資訊。提供鎖匙材料 只、何料保護之硬體此處稱 為一"遠端認證單位"(RAU),可整合於—核心 如’-處理器或-晶片組件)或者—非核心邏輯裝置(例
535070 五、發明說明(3) 如,符記)中。 以下描述中’某些名詞係用以討論本發 如平台”包括以所儲存資訊執行不同功能::件一 ,台的例子包括但不受限或侷限於一電腦(例如 型,一膝上型,一手持型,一伺服器,一 果 上型辦公設備(例如,印表機,掃站等桌 -無線電話手機,-電視頂上金之類枝一傳Λ機器等), 包括硬體(例士口,-積體電路等)以及;的例子 模組。-II軟體模組,,即程式碼時,更多軟體 此程式喝可包括—作業種功能。 程式碼指令所成的一小塊,其可::自 集:一m乏定義為:用以建置二app :的一碼子 多貧訊承載媒體(例如,電線,光纖,^的一或更 者結合無線信令技術的空氣)。當實:::流排,或 修正於該通路上路由凓 一、…、法未經偵測而 "。 珞由〜擇〜貝A,此通路視為”已保護 卜 資§fl 一詞定義為:一或更多資料,# /或者控制位元,而一"區段”為一或更多資址,以一及 "訊息”為—群組資訊,可能為封裝化的資訊°。"ϋ° 一 次數位簽早冷异法的一特定密碼演算法所 貝。 。一單向函數"為一數學或者其它函數, 。 Τ又長度轉換成一固定長度(稱為一"散 ^ 錄丨丨)。丨丨單向”一 q丰千·尤六总左+ ]值或者,丨摘 早向 5司表不·不谷易存在一逆函數,將 J 長度之散列值恢復成原始資訊的任何可識八、^固疋 °日口1刀〇 —散列
第9頁 535070 五、發明說明(4) 函數的例子包括由 Redwood City, California 之 RSA Data S^CUrity所提供的°5,或者一九九五年出版之保全散列 ^準F I P S 1 8 〇 - 1,標題”聯邦資訊處理標準出版品"(一九 九五年四月十七日)中所說明的保全散列演算法(SHA-1 )。 —^ 一具體實施例中,使用本發明的一平台可以一隔離執 =),架構予以配置。Is〇XTM架構包括直接或間接與該 σ ς作業系統互動的軟硬體組件之邏輯與實體定義。其 環台之作業系統及一處理器可具有數層階層,稱為 輯區八μ於數種作業模式。—π環”為硬體與軟體組件之邏 根的專屬任務。該項區分通常 鍵,ί = 階μ的最高位準。環-◦包含最關 準。環::ΐ ?:=為最外環,具有階層中的最低位 =最低位準…與環—2代表中給定特權 準。 ]衣’具有遞減的特權位 具一圖形,說明is〇xtm架構之邏輯作筆牟媸— :施例。邏輯作業架構5 、輯乍業:構50的- t璲輯作業架構50包括環〜〇 1n ,里。…、、,且忏 30,環〜3 40,和_斤搜哭,仏U 10,蜋―1 20,環-2 50中的每严n处扣小塊载入器52。邏輯竹紫加槿 ,模式。處理器小塊載入器52吊:」于模式」或者⑴卜 為的—實例。 …、~處理益執行(Ρ Ε)處置
第10頁 535070 五、發明說明(5) r = L 1 0包括二部分· 一正常執行環-ο 11和一隔離勃/一 壞-0 1 5。正當勒扞# — 0 n A ㈣離執行 έ日,、s a $執订农11包括作業系統其關鍵之敕靜# 組,通常稱為"核心"。此等軟俨媪細勺并一古i ^氡體杈 1 2 (例如,椤,、、、於騁驄^體杈、,且匕括一主要作業系統 π χ ^ ),軚體忑動器1 3,和硬體驅動器1 4。隔 卢硪哭t 5匕括如以下所述的一作業系統(os)小塊16牙口 處理时小塊1 8。作業系統小塊 # 業系統執行(0SFU _理哭払鬼6矛處理口口小塊8分別為作 執行每^ 行(ΡΕ)的—實例。咖响為 只_的一部分,作業於與隔離區域70相關的一已保鑊 =兄以及Is〇x模式中。處理器小塊載入器52係一自舉載入 器程式碼,負責將處理器小塊18從處理器或晶片組 稍後將解釋的一隔離區域。 載入如 類=地,環—1 20,環-2 30,和環_3 40分別包括正常 執行f 1 21,環—2 31,環-3 41,以及隔離執行環一 1 2】用’和環-3 4 5。尤其’正常執行環-3包括叫固 心。广4¾,而隔離執行環-3包括Μ個applet 46 -甘 中"N"和"Μ”為正整數)。 1 %(其 I s〇X杀構的一觀念為·於平台組件(例如,處理器和曰 片組)所保護之系統記憶體中建立一隔離區域。此 ^曰 隔離區域稱為一” P錐F挾” 甘士 处將4 rTT nx ^ ^ 隔離&域,其亦可於一翻譯查找表 雨# A ^取檢查所保遵的快取記憶體中。此隔離區域之存 -排is Ϊ使用於IS〇X模式中執行之處理器所發出的特殊匯 排(FSB)進行。 )伙處理益的一則側匯流 考慮:於遠端認證期間專屬於單獨支援特殊週期(稱為” 535070 五、發明說明(6) 認證週期”)之鏈路可於該平台上使用。此 據該隔離讀寫週期,或者與該隔離讀寫调^ f證週期可根 使用專屬鏈路處,亦可於該平台上使用共古目互獨立。於 遠端認證。此等共享鏈路之例子包括一周十鍵路以支援 (PCI)匯流排,一加速圖形埠(AGp)匯流排,一’且 '互連 構(ISA)匯流排,一通用串列匯流排(USB)牟槿標準架 類。該等發出之認證週期用以證明其地域性冓即j之 材料和一i章引擎的一 t置正存取該平台内所儲存,鎖起 護記憶體中的資訊(例如,一稽核日誌)。如已保 假裝檢索稽核日誌軟體的威脅。 減緩例如
IsoX模式使用處理器中與處理器小塊載入器52组人 具特權指令予以初始化。處理器小塊載入器52驗證:且: 一環-0小塊軟體模組(例如,處理器小塊18)載入隔離將 域。為了安全,處理器小塊載入器5 2為不可修正,防^ 毀,以及不可代換。於一具體實施例中,處理器小 器5 2於唯讀記億體(R 〇 Μ )中實行。 ▲导入 處理态小塊1 8的一任務為驗證並且將環—q作業系統^ 1 6載入隔離區域。作業系統小塊丨6提供鏈路,於主要作戈 系統1 2 (例如’作業系統之未保護區段)中服務,提供被^ 離區域内的頁管理,以及負責將包含app丨et 46ι至46' = -3應用模組4 5載入隔離區域中所配置的已保護頁。作業系 統小塊1 6同時可支援隔離區域與一般(例如,非隔離)$ ^ 體間之資料調頁。果真如此,則作業系統小塊1 β同時負主 於調回一般記憶體以前隔離區域頁的完整性和機密性,貝 以 535070 五、發明說明(7) 及於復原該頁時檢查頁内容。 現在參照圖1 B,顯示與本發明_具體實施例之作業系統 1 0其處理器相關之說明元件的一圖形。為了說明,僅顯示 元件環-0 10和環-3 40。邏輯作業架構50中之各種元件根 據其環階層和執行模式,存取一可存取實體記憶體6 〇。 可存取貫體€ fe、體6 0包括一隔離區域7 〇和一非隔離區域 80。隔離區域70包括applet頁72和小塊頁74。非隔離區域 8 0包括應用頁8 2和作業系統頁8 4。隔離區域7 〇僅可由作業 於I s ο X模式中之作業系統和處理器的組件加以存取。非^高 離區域8 0可由環-0作業系統和處理器之所有元件加以存 取。 包括主要作業系統1 2,軟體驅動器1 3,和硬體驅動哭1 4 之正常執行環-0 11可同時存取作業系統頁84和應用頁° 82。包括應用42iS42N之正常執行環—3僅可存取應用頁 82。然而,正常執行環-0 1 1和環-3 41均無法存取隔離區 域 7 0 〇 - -
包括作業系統小塊1 6和處理器小塊1 8之隔離執行環一 〇 15,可同時存取隔離區域70和非隔離區域8〇,前者包括 app 1 e t頁7 2和小塊頁74,而後者包括應用頁8 2和作業系統 頁84。包括applets46iS46M之隔離執行環—3 45僅可存取 應用頁82和3??161:頁72。3??1时3461至46^駐於隔離區域 70中。 參照圖1 C,其中顯示利用本發明的一平台其一說明具體 實施例的一方塊圖。於此具體實施例中,平台1 〇 Q包含一
第13頁 535070 五、發明說明(8) 處理器1 1 0,一晶片組1 2 0,一系統記憶體1 4 Q和周邊組件 (例如’符記1 8 0 / 1 8 2 ’耦合至一符記鏈路1 8 5以及/或者 一符圯項取器1 9 0 ),彼此通訊。進一步考慮:平台1 〇 〇可 包含像是一不變性記憶體(例如,快閃)丨6〇之選擇性組件 及額外周邊組件。此等額外周邊組件的例子包括但不受限 \ 或者侷限於一大量儲存裝置17〇以及一或更多輸入/輸出-(I/O)裝置175。為了清楚,並未顯示此等周邊組件(例 如,PCI匯流排,AGP匯流排,:[Sa匯流排,USB匯流排,無 、’袭傳輪杰/接收器組合等)的特定鍵路。 t體上,處理器11 0代表具有任何類型架構的一中央處 理單位,像是複雜指令集(CISC)電腦,精簡指令集電腦⑩ (f ISC) ’超大指令字(VLIW),或其併合架構。於一具體實 ,例中,處理器1 1 0包括多重邏輯處理器。一 ”邏輯處理 裔π有時稱為一線索,為一實體處理器内的一功能單元, 其2該實體處理器具有一架構狀態,以及根據一特定分割 j能所配置的-實體資源。因此,一多線索處理器包括多金 避輯處理器。處理器i 10與像是一PENTIUM⑱系列,U-32TM 和IA-j4TM之英特爾(Intei)架構(IA)處理器相容。熟知此 項技藝人士將可明白:處理器丨丨〇之基本描述和作業可應 用於一單一處理器平台,或者一多重處理器平台。〃、心 _ 、處理為11 0可於一正常執行模式或一 Is〇x模式中作業。 尤其,一隔離執行電路1 1 5將提供機構,允許處理哭1丨〇於 二IS〇X模式中作業。隔離執行電路115提供13以模二之硬; 版人軚體支援。此種支援包括:隔離執行組態,隔離區域
535070
定義, 排週期 例中, 行。 ::”疋義(例⑹,解碼及執行),隔離存取匯流 之產生,以及隔離模式中斷之產生。於一且體 如圖3所示,RAU可作為處理器11〇的一部份加以實 介所:二主機鏈路116為-前側匯流排,其提供 L號’允許處理器1 1 〇與其他虛哭 a μ :。J :、正常模式外,當處理器110配置‘isox模式中通 :隔離3路116以隔離讀寫週期之對應介面信號,支援 :器110於1s〇x模式時,判定隔離存取鏈路 :式為啟動記憶體存取。如果位址於隔離區域位址範圍 U 隔離存取鏈路模式為指令預先提取和快取 理二二寫回週自。如果判定為隔離存取匯流排週期,則處 以隔離區域位址範圍内的一快取位址,響應窺探 〇α ) 30和一輪入/輸出控制集線器(ICH)150。MCH _ 1 3 0和I CH 150可整合於相同晶片中,或者放置於分離之
片中並且同作業。在另一具體實施例中,如圖4所示, RAU可作為晶片組1 2〇的一部份加以實行。 關於晶片組120,一MCH 130提供像是系統記憶體14〇和 ICH 1 5 0之A憶體和輸入/輸出裝置的控制與組態。 MCH 1 3 0提供介面電路,用以辨識及服務認證週期以及/ 或者隔離記憶體讀寫週期。此外,MCH i 3 〇具有記憶體範
第15頁 535070 五、發明說明(10) 圍暫存器(例如,基底和長度暫存 體1 4 0中的隔離區域。一旦配置後σ告’、,Μ代表系統記憶 鏈路模式時,MCH 130中止對隔離區隔離存取 系統記憶體1 4 〇中儲存程式碼和資料。、可广取。 常以動態隨機存取記憶體(DRAM)或者靜態、产’先5己憶體1 4 0通 (SRAM)加以實行。系統記憶體14〇包括(ϋ $ :取:f體 所顯示,可存取實=體: 匕括隔離&域70和非隔離區域8〇。隔離區域7〇為:各
IsoX模式中作業時,由處理器11〇所定義的記憶體區田域、。 存取隔離區域70係由處理器丨丨〇以及/或者整合隔離區域 功能之晶片組12〇予以限制及強迫。非隔離區域8〇包括一 載入作業系統(0S)。載入作業系統142為作業系統的一部 分,通常經由像是一啟動唯讀記憶體(R〇M)的一啟動儲存 器中之某種啟動碼,從大量儲存裝置丨7〇載入。當然,系 統§己憶體1 4 0同時可能包括未顯示的其他程式或者資料。 如圖1 C所不”除了傳統輸入/輸出功能外,I CH 1 5 0尚― 且支持隔離執行。於此具體實施例中,丨CH丨5 〇包含至欠 (如圖1 A中所示之)處理器小塊載入器52,一硬體保護記憶
體152 ’ 一隔離執行邏輯處理管理員154,以及一符記鏈路 介面1 5 8。雖然平台1 〇 〇可以多重I c η加以實行,但為了清 楚,僅顯不一 ICH 150。當存在多重ICH時,將選定一指定 的I CH ’用以控制隔離區域組態和狀態。此選擇可藉由一 外部自舉接腳加以執行。如熟知此項技藝人士所知,同樣 可使用其他選擇方法。
第16頁 535070 五、發明說明(11) 如圖1 A和1 C所示,虛理哭、τ 处理為小塊載入器5 2包括一處理哭r 塊載入器碼及其散列值(或搞杜、 . 〇小 、·, 一 、Α摘錄)。當處理器1 1 0藉由勃私 一適s之隔離指令(例如,I Sο τ M τ τ、早L74 △,、 丄J N I T )予以引動後,則將垮 理器小塊載入器52傳輸至隔離區域7〇。其後,處理:: 載入器5 2將處理器小塊1 8從不變性記憶體i 6 0複製至^離4 區域70,驗證並且將處理器小塊以的一表示法(例如,— 散列值)放置於已保護記憶體152巾。此處,已保護記憶啤 2係以具有單一寫入多重讀取能力的一記憶體陣列加以 貫灯。此種不可修正能力係由邏輯加以控制,或者為記 體本身之固有特質的一部份。例如,如所示,已保護: 體152可包括複數個單一寫入多重讀取暫存器。 心 如圖1C和2所示,已保護記憶體152將予以配置,以支援 一稽核日誌1 5 6。一 ’’稽核日誌” j 5 6為有關平台i 〇 〇其作業 ,境的資訊;亦即一資料清單,代表於平台1〇〇電力開啟、 成功載入系統記憶體1 4 0之資訊為何。例如,代表資 =可為載入系统記憶體1 4 〇的每一軟體模組之散列值。此-等,體模組可包括處理器小塊18,作業系統小塊16,以_及 ^或者载入隔離區域7 0之任何其他關鍵軟體模組(例如, 模組)。因此,稽核日誌156可作為識別載入該平台之 ^訊(例如,環_ 〇碼,用以控制隔離執行組態和作業)的一 指紋’並且用以認證或證明目前的隔離執行狀態。 於另一具體實施例中’保護記憶體1 5 2和未保護記憶體 (例如’圖1 C之系統記憶體1 4 0其非隔離區域8 〇的一記憶體 陣列)可共同提供一已保護稽核日誌156。稽核日誌156儲
535070 五、發明說明(12) -
存於記憶體陣列中,而有關稽核日誌156其狀態之資訊(例 如’稽核日總156内之代表資料的一散列值 護記憶體1 5 2中。 T U W ,仍然參照圖1C,不變性記憶體16〇儲存不變性資訊。 常,不變性記憶體1 60係以快閃記憶體加以實行。、不繳 記憶體1 60包括如以上所述之處理器小塊丨8。此 ^ 器小塊18同時可將應用程式規劃介面(Αρι)摘要提供;苴 他硬體所供應的低階安全服務,並且可透過一動磁/、 大里儲存裝置1 7 〇儲存歸檔資訊, Γ4:Γ18),程式,4#案,資料,應用 17fi 括—唯讀光碟(CD)R0M172,一硬禅 170 P] ^ ^任何其他磁性或光學儲存裝置。大量儲存壯、晉 1 70同日守提供—機構, 里儲存叙置 於軟體中時’本發明之取六干〇可頃取媒體。當實行 中。"處理器可讀x取媒體 於一處理器可讀取媒體— 何媒肢。該處理器可讀 專輸貝矾的任 體記憶體f晉,.體的例子包括-電⑬,-半導 可抹除可:體-快閃記憶體- J;;r^(EPR0M> J , 疋岭,以及像是一磁片,一 河丁 碟二:碟等任何平台可讀;媒體 光學磁 田”台1GG通訊時,輸人/輸出裝置175包括固定或可
第18頁 535070 五、發明說明(13) 攜式使用者輸入裝置,各執行一或更多輸入/ 一固定使用者輸入裝置的例子包括一鍵盤,一 此。 、、答句 牧鍵登,— /月鼠,一軌跡球,一觸控墊,和一尖筆。一 輸入裝置的例子包括一手機,呼叫器,手 /式使用者 人數位助理)或者任何無線裝置。輪入/輸出裝置丨75致4 如以下所述之平台1 0 0的遠端認證。 月匕 么付記鏈路1 8 5提供I CH 1 5 0與一固定符記1 8 〇 (例如,一主 機板符記)以及/或者一符記讀取器丨9〇間的一介面,其 符記讀取器190與一可移除符記182進行通訊,該可移除符 記1 82具有類似一智慧卡的特徵。通常,兩種類型之符記付 為執行專屬輸入/輸出功能的裝置。於圖6和7中所示、之具 體只施例中,符記1 8 〇以及/或者1 8 2包括鎖匙材料(例 如像疋一公用/專用金匙對的唯一密瑪識別字),以及 =該金匙^之專用金匙對稽核日誌(或者一表示法本身)進 仃數位式盍章的功能。丨CH J 5 〇中之符記鏈路介面1 5 8提供 符α己鏈路1 8 5與I CH 1 5 0間的一邏輯耦合,並且支援遠端認 證’以恢復稽核日誌1 5 6的内容。 1 L I生及利用一 蒦稽核日諸 現在麥照圖2,顯示一具體實施例之說明作業的一流程 圖/其^ a亥平台產生已保護之稽核日誌。於該平台電力開 啟後貝汛區段載入系統記憶體,由一處理器(區塊2 0 0 ) 加以處理。此等資訊區段的例子包栝處理器小塊和作業系 統小塊。將貧訊區段載入系統記憶體之同時,每一資訊區 &的Μ本經歷一岔碼散列作業,以生產該等區段的一散列
535070
五、發明說明(14) 值。此專散列值形成儲存於 中的〆稽核日誌。於—I體5蔓記憶體(區塊205和210) 已保護記憶體於ICH内實行體^例中’如圖1C中所示,該 容可讀取而且不可修正時τΛ/°以上戶斤a,當記憶體之内 定後續的資訊區段進而儲存;二己f體視為”已保護"。當選 常’只有所選定小壤的列值(區塊215)之後。通 III遠端認證 歹!值可儲存於稽核日諸中。 A ·遠端認證之開始 於一具體實施例中,遠端認證藉由發出一認證要求而啟 動。該認證^,可發端自一遠端來源或者平台當地的一代 理人,其可能疋或者不是該遠端來源的一代理伺服器。正 常下,該認證需求包含一主要詢問以及/或者一或更多選 擇性次要詢問。每一詢問導致發出認證週期,其中該認證 週期設計用以檢索稽核日誌、的内容。至少,稽核日誌、内容 可用以驗證I sgXtm處理器和平台之作業系統小塊的完整_ 性。除了稽核日誌外,次要詢問檢索一選定Is〇X aPP1 et 的一散列值,其中該選定IsoX applet由平台載入,以便 驗證applet的完整性。該applet之散列值係由作業系統小 塊飛快產生。此避免必需將每一載入之app 1 et儲存於稽核 曰誌中。關於主要詢問,R A U建立一訊息,其中包括:稽 核日誌,覆蓋於該稽核日誌的一數位簽章,以及RAU鎖匙 材料的一或更多數位憑證,而且將該訊息轉回要求者。關 於次要詢問,RAU建立一訊息,其中包括:app 1 et散列,
第20頁 535070 五、發明說明(15) 稽核日誌,覆蓋於applet散列和稽核 ,^ ^ u RM鎖匙材料的一或更多數位碼批稽核/一數位簽早’以及
求者,以檢索上述的不同資訊“而且將該訊息轉回要 B. 處理器整合之RAU 現在參照圖3,RAU 3 0 0整合於處理 行區域程式碼。於偵測一認證需电栌 处里的U ϋ執 ,y4.Qln , 一兄而求時,處理器1 1 0建置與 :U 一通訊通路,負責儲存稽核曰誌156。尤其, 區域程式碼執行-實體指令,以響 110執行該實體指令時,導致 U:發出認證週期’以讀取稽核曰諸156的内容。 件台100内的其他組件,但為了說明,組 =可為圖C之,150。處理器11〇與組件31〇間 t透過弟一鏈路310和一第二鏈路320的一或更多鏈 路。此等鏈路310和320可配置作為 二 證週期,或者已增強供處置認二 置認 組咖已接受稽核曰該156之讀ί寺…期發信號指示 材曰諸156時,處理器"°中之RA"〇〇以鎖匙 二二;ί,一預先儲存之專用金匙)對稽核曰諸156進 位ίίίο章’而產生一數位簽章33°。稽核曰諸156,數 裝化Γ且,,及可能來自RAU鎖匙材料之數位憑證將封 區域程式石一訊息’由RAU 30 0傳送至請求者,或者 a &竭可存取的一區域35 0。 當然,通常如果稽核日誌156儲存於未保護記憶體中,
第21頁 535070 五、發明說明(16) " 則I CH 1 5 Q可包括-組件(未顯示),用以驗證:於稽核曰 誌156釋放予處理器no以前,稽核日誌156的内容並未修 ^。此可由組件3 1 0產生從未保護記憶體所恢復之稽核日 41 5 6的一散列值,並且將該散列值與已保護記憶體中儲 存之總散列值相比較而完成。 如同一選擇性之具體實施例,使用者可能希望控制何時 使用鎖匙材料34 0。例如,該平台可能經由一通訊裝置 36(3,於一已保護通訊路徑上,對一使用者opt-ln裝置380 發,一需求訊息。於一具體實施例中,通訊裝置3 6 〇耦合 至符記匯流排1 8 5,以及耦合至一無線接收器3 6 5和一無線 傳輸為3 7 0 (此處統稱為一 ”無線收發器”)。無線接收器和 傳輸器3 6 5和3 70用以建置及維護與使用者〇1)1: — 111裝置38〇 的直接通訊。當然’使用者〇pt— in裝置38〇亦可能經由任 何鏈路類型耦合至通訊裝置36〇。 於接受該需求訊息時’通訊裝置36〇對使周者〇pt —in裝 置3 8 0發出一訊息,以致能使用者申明其希望釋放鎖匙材一 料3 40,進而產生數位簽章3 3◦。根據使用者的一輸入抑成 不行動(例如’按下與使用者opt — in裝置38〇相關的一按 鍵,使用者不行動等),而將一響應訊息轉回通訊裝置 3 6 0 ’於一已保護之通訊路徑上,將響應訊息的内容路由 選擇至RAU 3 0 〇。於接受響應訊息時,如果使用者授權使 用鎖匙材料3 40,則RAU 3 0 0繼續產生數位簽章3 3 0以及/ 或者R A U鎖匙材料數位憑證,並且放置於區域程式碼可存 取的區域35 0中。
第22頁 535070 五 、發明說明(17)
C. 晶片組整合之RAU 現在參照圖4 ’ RAU 30 0整合於一核心邏輯裴 所示,處理器Π0執行區域程式碼。於偵測得—切批三= 時,核心邏輯裝置4〇〇建置與一組件42〇的—通訊'ym 責儲存稽核曰誌1 5 6。尤丨,於一具體實施例、 式碼根據一認證需求,將—訊息傳送至核心邏輯/置私 40 0。該訊息導致核^邏輯裝置侧發出對讀 ^ 1 5 6内容的認證週期。 稽h日— 為了響應該認證需求’核心邏輯裝置4 核日口心1 5 6的内各0 4奎攸/1 Q Π -'r ^ cP -wv 4- 或者支援多重功能二中包路二°:專二援遠端認證, 的切&如 八宁包括由核心邏輯裝置4 00所產生 含二iTsIn 、於接,所儲存之稽核曰諸156的内容時,包 156的一位ί 邏輯裝置4 0 0產生(如以上所述)稽核日諸 存取的-Γ域’並將數位簽章3 3 0寫入區域程式石馬可 核=56如::所示’⑯果核心邏輯裝置4°。同時包含it Μϋ 30 0存取释^心邏輯裝置400内之内部信號4 50允許 内容時,核心曰邏輟?156。再次,於接收稽核曰誌156的 簽章,以VI輯裝置4〇Q的RM 3〇0產生稽核日諸之數位 顯示)。此資1 &許一或更多RAU鎖匙材料的數位憑證(未 如同-選擇性之具體實施例,使用者可能希望控制何時
域程式碼可存/作一訊息提供予該要求者,或者寫入區 存取的—區域。 匕 535070 五、發明說明(18) 使用鎖匙材料3 4 0。例如,該平台可能經由一通訊裝置 46 0,於一已保護之通訊路徑上,對一使用者opt-i n裝置 4 9 0發出一需求訊息4 7 0。於一具體實施例中,裝置4 6 〇柄 合至符記匯流排1 8 5,而且與一無線收發器4 6 5連用,以便 建置及維護與使用者opt-in裝置4 90的直接通訊。 為了響應接收需求訊息47 0,通訊裝置46 0對使用者 opt-in裝置490發出一訊息,請求使用者申明其希望釋放 鎖匙材料3 4 0 ’以產生數位簽章3 3 0。根據使用者的一輸入 或者不行動(例如,按下與使用者0pt-in裝置4 9〇相關的一 金匙,使用者不行動等),將一響應訊息480轉回通訊裝置 46 0,於一已保護之通訊路徑上,將響應訊息48〇的内容路 由選擇至核心邏輯裝置4 〇 〇的R A U 3 0 0。於接受響應訊息 480時,如果使用者授權使用鎖匙材料34〇, 並且放置於區域程式碼可存取的區域中。 D·固定符記整合之RAU - —,在參照圖6,如果RAU 3 0 0整合於固定符記18〇,則黾 =符記180於符記鏈路185上,與保留稽核日誌156的一^ 增強例如舍2 5〇 :進行通訊。符記鏈路1 85之功能可予以 备 /运^ 3忍5登時,用以支援由固定符記1 8 〇唯一 生的認證週期。此等認證週期將路由 ° 核曰_之讀取。於接收稽擇核至曰=的内 之記18°中實行的RAU 3°°,咖_中所 儲存K材料34q,對稽核日奶6進行數位式蓋章,而 535070
產生一數位簽章3 3 0。其後,RAU 30 0將數位簽章33()以及 可能為鎖匙材料3 4 0之數位憑證寫至該要求者,或者寫入 區域程式碼可存取的一區域。 … 士如同一選擇性之具體實施例中,使用者可能希望控制何 時使用RAU 3 0 0中所儲存的鎖匙材料6丨〇。例如,可能提示 使用者申明其希望釋放鎖匙材料34〇,以產生數位簽章/、 330 \該提示可例如經由符記18〇中的一無線收發器63〇傳 ,一訊息6 2 0而完成。希望釋放鎖匙材料34〇之申明可例如 藉由(1)將一轉回吼息640從一使用者0pt —in裝置傳輸至 如所不的符記1 8 〇,或者(2 )經由實體連接至符記丨8 〇的一 使用者opt-丨n裝置(未顯示)輸入存取資訊而進行。其後, RAU 3 0 0繼續產生數位簽章3 3〇以及/或者鎖匙材料34〇之 數位憑證。然後,如果使用者授權使用鎖匙材料3 4 〇,則 將此伴隨稽核日誌丨5 6之資訊將傳送至該要求者,或者放 置於區域程式碼可存取的區域中。當然,如果〇pt—in訊息 62 0和6 40已保鑊,則可透過輸入/輸出裝置175予以路由一 選擇。
Ε·可移除符記整合之RAU
現在苓照圖7,如果r a U 3 0 〇整合於可移除符記1 8 2,則 可移除付記1 8 2於符記鏈路1 8 5上與保留稽核日誌1 5 6的一 組件(例如,I CH 1 5 0 )進行通訊。當要求遠端認證時,符 記鏈路185的功能可予以增強,以支援認證週期,其中該 認證+週期#係於插入或連接可移除符記182(亦即,無線符 5己)呀由符記讀取器唯一產生。此等認證週期係由儲存稽
第25頁 535070
:曰,6(例如’ICH 150)之硬體的符記讀取器_ 用以要求接受稽核日誌丨56之讀取。於產 =的二Γ寺,可移除符記182中實行的rau 3°°,:曰諸 RAU,中儲存的鎖起材料34。,對稽核曰諸156 “ 式盍早’而產生數位簽章3 3 0。其後 位 3 3 0以及/戋者錙阡姑y RAU 30〇將數位簽章 存取的^^鎖㈣34G之數位憑證寫人區域程式碼可 抽一、 之具體實施例,使用者可能希望控制何時 使用RAU 300中儲存的鎖匙材料34〇。例如,可能提示使用 者申明其希望釋放鎖匙材料340 ’以產生數位簽章33〇。該 提示可例如經由位於符記182中的一無線收發器73〇傳輸二 訊息720而完成。希望釋放金匙其鎖匙材料34〇之申明可藉 由·(1)將一轉回訊息740從一使用者〇pt-in裝置(未顯示) 傳輸至如所示的符記1 8 2,或者(2 )例如經由實體連接至符 €182(未顯示)的一使用者0pt-in裝置輸入存取資訊而進 行。其後,如果使用者授權使用鎖匙材料340,則RAU 30—0 繼續產生數位簽章33 0以及/或者鎖匙材料340之數位憑-證,透過符記讀取器190予以路由選擇,而且放置於區域 程式碼可存取的區域中。當然,如果opt-in訊息62 0和64 0 已保護op t - i η訊息6 2 0和6 4 0,則可透過輸入/輸出裝置 175予以路由選擇。 雖然本發明已參照說明之具體實施例加以描述,但不希 望將此描述視為其限制。該等說明之具體實施例的各種修 正以及熟知本發明所屬技藝人士的本發明其他具體實施例
535070 五、發明說明(21) 均視為落於本發明之精神及範圍内 11111 第27頁

Claims (1)

  1. 535070 _案號90107591_外年//月^曰 修正_ 六、申請專利範圍 1. 一種具有遠端認證能力之平台,包含: 一處理器,包括一遠端認證單位,該處理器執行於一 正常實行模式與一隔離實行模式之一; 一晶片組,用以儲存一稽核日誌;以及 一鏈路,_合至該處理器和晶片組,當债測得一遠端 認證需求時,該鏈路用以支援該遠端認證單元之預先決定 匯流排週期,以讀取稽核日誌的内容。 2 .如申請專利範圍第1項之平台,其中該處理器之遠端 認證單位包括鎖匙材料。 3 .如申請專利範圍第2項之平台,其中該處理器之遠端 認證單位包括一數位簽章單位,以鎖匙材料對稽核曰誌進 行數位蓋章。 4.如申請專利範圍第3項之平台,其中該遠端認證單位 内之鎖匙材料包括一專用金匙。 5 .如申請專利範圍第3項之平台,其中晶片組包括: 一系統記憶體,包括一隔離區域和一非隔離區域; 一記憶體控制集線器,經由部份形成該鏈路的一第一 鏈路,耦合至'該系統記憶體和處理器;以及 一輸入/輸出控制集線器,經由部份形成該鏈路岛一 第二鏈路,耦合至該記憶體控制集線器,該輸入/輸出控 制集線器包括單一寫入,多重讀取記憶體,用以儲存該稽 核日諸。 6 .如申請專利範圍第5項之平台,進一步包含一通訊裝 置,耦合至該輸入/輸出控制集線器,該通訊裝置致能與 &
    O:\70\70265-911126.ptc 第31頁 535070 _案號901Q7591_f/年//月J厶曰 修正_ 六、申請專利範圍 一使用者opt-in裝置之通訊。 7. 如申請專利範圍第6項之平台,其中該通訊裝置包括 一無線傳輸器和一無線接收器,與使用者ο p t - i η裝置進行 通訊。 8. 如申請專利範圍第6項之平台,其中該使用者opt-in 裝置致能一使用者藉由防止建立數位簽章而控制遠端認證 作業的一階段。 9 .如申請專利範圍第2項之平台,其中該遠端認證需求 包括一主要詢問。 1 〇 .如申請專利範圍第9項之平台,其中該遠端認證單位 將一訊息轉回一要求者,以響應該主要詢問,該訊息包括 稽核日誌,以及至少一數位簽章,其以鎖匙材料,對稽核 曰誌進行數位蓋章。 1 1 .如申請專利範圍第1 0項之平台,其中該訊息進一步 包括該鎖匙材料的一數位憑證。 1 2 .如申請專利範圍第9項之平台,其中該遠端認證需求 包括一次要詢問。 1 3 .如申請專利範圍第1 2項之平台,其中該遠端認證單 位將一訊息轉回一要求者,以響應該次要詢問,該訊息包 括一選定applet的一散列值,該稽核日誌,以及包括該散 列值和稽核日誌、的一數位簽章。 1 4.如申請專利範圍第1 3項之平台,其中該訊息進一步 包括該鎖匙材料的一數位憑證。 1 5 . —種具有遠端認證能力之平台,包含:
    O:\70\70265-911126.ptc 第32頁 535070 _案號90107591_外年//月^曰___ 六、申請專利範圍 一組件,用以容納一稽核日誌;以及 一裝置,包括一遠端認證單位,用以檢索該稽核日一 誌,以及以該遠端認證單位中所儲存之鎖匙材料對稽核曰 誌進行數位蓋章,該稽核日誌包括電力開啟後於該平台内 所載入之軟體模組的代表資料。 1 6.如申請專利範圍第1 5項之平台,進一步包含一處理 器,用以偵測一遠端認證需求,以及對組件發出週期,以 允許該裝置存取該稽核日誌。 1 7.如申請專利範圍第1 5項之平台,其中該裝置為一晶 片組。 1 8.如申請專利範圍第1 6項之平台,進一步包含: 一晶片組,耦合至處理器,該晶片組包括該組件和一 符記鏈路介面;以及 一符記鍵路’柄合至晶片組。 1 9.如申請專利範圍第1 5項之平台,其中該裝置為一固 定符記,搞合至該符記鏈路。 2 〇 .如申請專利範圍第1 9項之平台,進一步包含一使用 者〇 p t - i η裝置’,與該固定符記進行通訊,該使用者〇 p t_- i η 工一 裝置致能一使用者停止該遠端認證單位之作業。 〜 2 1.如申請專利範圍第1 8項之平台,進一步包含一符記 讀取器,耦合至該符記。 2 2.如申請專利範圍第2 1項之平台,其中該裝置為一可 移除符記,與該符記讀取器進行通訊。 2 3.如申請專利範圍第2 2項之平台,進一步包含一使用
    O:\70\70265-911126.ptc 第33頁 535070 修正 案號 90107591 六、申請專利範圍 者opt - i η裝置,與該可移除符記進行通訊,該使用者 〇p t - i η裝置致能一使用者停止該遠端認證單位之作業。 2 4. —種遠端認證之方法,包含: 將一稽核日誌儲存於一平台的一已保護記憶體内,該 稽核日誌為一資料清單,其中的資料代表載入該平台之複 數個I s ο X軟體模組的每一模組; 接收來自該已保護記憶體的稽核日誌,以響應接收來 自一遠端位置之平台的一遠端認證需求;以及 於傳輸至該遠端置之平台前,對該稽核日誌進行數位 蓋章,以產生一數位簽章。 2 5 .如申請專利範圍第2 4項之方法,其中用以代表該複 數個軟體模組的每一模組之資料為一密碼散列值。
    O:\70\70265-911126.ptc 第34頁
TW090107591A 2000-03-31 2001-03-30 Platform and method for remote attestation of a platform TW535070B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/541,108 US6990579B1 (en) 2000-03-31 2000-03-31 Platform and method for remote attestation of a platform

Publications (1)

Publication Number Publication Date
TW535070B true TW535070B (en) 2003-06-01

Family

ID=24158202

Family Applications (1)

Application Number Title Priority Date Filing Date
TW090107591A TW535070B (en) 2000-03-31 2001-03-30 Platform and method for remote attestation of a platform

Country Status (7)

Country Link
US (2) US6990579B1 (zh)
AU (1) AU2001247601A1 (zh)
DE (1) DE10196007B4 (zh)
GB (1) GB2377794B (zh)
HK (1) HK1050255B (zh)
TW (1) TW535070B (zh)
WO (1) WO2001075564A2 (zh)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082615B1 (en) * 2000-03-31 2006-07-25 Intel Corporation Protecting software environment in isolated execution
US6990579B1 (en) * 2000-03-31 2006-01-24 Intel Corporation Platform and method for remote attestation of a platform
US6795905B1 (en) 2000-03-31 2004-09-21 Intel Corporation Controlling accesses to isolated memory using a memory controller for isolated execution
US6957332B1 (en) * 2000-03-31 2005-10-18 Intel Corporation Managing a secure platform using a hierarchical executive architecture in isolated execution mode
US20010049710A1 (en) * 2000-05-16 2001-12-06 Curey Randall K. Partitioned executive structure for real-time programs
US6986052B1 (en) 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
US7793111B1 (en) 2000-09-28 2010-09-07 Intel Corporation Mechanism to handle events in a machine with isolated execution
US7631196B2 (en) * 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7124273B2 (en) 2002-02-25 2006-10-17 Intel Corporation Method and apparatus for translating guest physical addresses in a virtual machine environment
US7069442B2 (en) 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7058807B2 (en) * 2002-04-15 2006-06-06 Intel Corporation Validation of inclusion of a platform within a data center
US7103914B2 (en) 2002-06-17 2006-09-05 Bae Systems Information Technology Llc Trusted computer system
US7478235B2 (en) * 2002-06-28 2009-01-13 Microsoft Corporation Methods and systems for protecting data in USB systems
US7318141B2 (en) 2002-12-17 2008-01-08 Intel Corporation Methods and systems to control virtual machines
US7793286B2 (en) 2002-12-19 2010-09-07 Intel Corporation Methods and systems to manage machine state in virtual machine operations
US7451459B2 (en) * 2003-05-05 2008-11-11 Microsoft Corporation Systems, methods, and apparatus for indicating processor hierarchical topology
US20050044408A1 (en) * 2003-08-18 2005-02-24 Bajikar Sundeep M. Low pin count docking architecture for a trusted platform
US7533276B2 (en) 2003-08-26 2009-05-12 Panasonic Corporation Program execution device
US7739521B2 (en) 2003-09-18 2010-06-15 Intel Corporation Method of obscuring cryptographic computations
US20050080934A1 (en) 2003-09-30 2005-04-14 Cota-Robles Erik C. Invalidating translation lookaside buffer entries in a virtual machine (VM) system
US7636844B2 (en) * 2003-11-17 2009-12-22 Intel Corporation Method and system to provide a trusted channel within a computer system for a SIM device
US8156343B2 (en) 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US20050133582A1 (en) * 2003-12-22 2005-06-23 Bajikar Sundeep M. Method and apparatus for providing a trusted time stamp in an open platform
US7587607B2 (en) * 2003-12-22 2009-09-08 Intel Corporation Attesting to platform configuration
US7647498B2 (en) * 2004-04-30 2010-01-12 Research In Motion Limited Device authentication
US20060112208A1 (en) * 2004-11-22 2006-05-25 International Business Machines Corporation Interrupt thresholding for SMT and multi processor systems
US8924728B2 (en) 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US8533777B2 (en) 2004-12-29 2013-09-10 Intel Corporation Mechanism to determine trust of out-of-band management agents
US20060218649A1 (en) * 2005-03-22 2006-09-28 Brickell Ernie F Method for conditional disclosure of identity information
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
JP4939851B2 (ja) * 2006-06-21 2012-05-30 パナソニック株式会社 情報処理端末、セキュアデバイスおよび状態処理方法
US7840801B2 (en) * 2007-01-19 2010-11-23 International Business Machines Corporation Architecture for supporting attestation of a virtual machine in a single step
US9497028B1 (en) 2007-05-03 2016-11-15 Google Inc. System and method for remote storage auditing
US8161285B2 (en) * 2008-09-26 2012-04-17 Microsoft Corporation Protocol-Independent remote attestation and sealing
EP2897341B1 (en) * 2009-04-20 2016-11-09 Interdigital Patent Holdings, Inc. System of multiple domains and domain ownership
US8955108B2 (en) * 2009-06-17 2015-02-10 Microsoft Corporation Security virtual machine for advanced auditing
US8510569B2 (en) 2009-12-16 2013-08-13 Intel Corporation Providing integrity verification and attestation in a hidden execution environment
US8285984B2 (en) 2010-07-29 2012-10-09 Sypris Electronics, Llc Secure network extension device and method
US9087196B2 (en) * 2010-12-24 2015-07-21 Intel Corporation Secure application attestation using dynamic measurement kernels
KR20140043068A (ko) * 2011-02-17 2014-04-08 타세라, 아이엔씨. 애플리케이션 증명을 위한 시스템 및 방법
RU2472215C1 (ru) * 2011-12-28 2013-01-10 Закрытое акционерное общество "Лаборатория Касперского" Способ выявления неизвестных программ с использованием эмуляции процесса загрузки
US8990948B2 (en) 2012-05-01 2015-03-24 Taasera, Inc. Systems and methods for orchestrating runtime operational integrity
US8918879B1 (en) * 2012-05-14 2014-12-23 Trend Micro Inc. Operating system bootstrap failure detection
US9391980B1 (en) 2013-11-11 2016-07-12 Google Inc. Enterprise platform verification
US10229272B2 (en) 2014-10-13 2019-03-12 Microsoft Technology Licensing, Llc Identifying security boundaries on computing devices
US10015014B2 (en) * 2014-12-27 2018-07-03 Intel Corporation Technologies for secure presence assurance
US10382578B2 (en) 2015-06-05 2019-08-13 Apple Inc. Provision of a lease for streaming content
US10482034B2 (en) * 2016-11-29 2019-11-19 Microsoft Technology Licensing, Llc Remote attestation model for secure memory applications
US10402567B2 (en) 2017-06-25 2019-09-03 Microsoft Technology Licensing, Llc Secure boot for multi-core processor
US10708061B2 (en) 2017-06-25 2020-07-07 Microsoft Technology Licensing, Llc Secure key storage for multi-core processor
US10503892B2 (en) * 2017-06-25 2019-12-10 Microsoft Technology Licensing, Llc Remote attestation for multi-core processor
EP3432188B1 (en) * 2017-07-17 2022-11-23 Hewlett-Packard Development Company, L.P. Secure print policy enforcement
US10467435B1 (en) * 2018-10-24 2019-11-05 Palantir Technologies Inc. Approaches for managing restrictions for middleware applications

Family Cites Families (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3699532A (en) 1970-04-21 1972-10-17 Singer Co Multiprogramming control for a data handling system
US3996449A (en) 1975-08-25 1976-12-07 International Business Machines Corporation Operating system authenticator
US4162536A (en) 1976-01-02 1979-07-24 Gould Inc., Modicon Div. Digital input/output system and method
US4037214A (en) 1976-04-30 1977-07-19 International Business Machines Corporation Key register controlled accessing system
US4247905A (en) 1977-08-26 1981-01-27 Sharp Kabushiki Kaisha Memory clear system
US4278837A (en) 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4276594A (en) 1978-01-27 1981-06-30 Gould Inc. Modicon Division Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same
US4207609A (en) 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
JPS5823570B2 (ja) 1978-11-30 1983-05-16 国産電機株式会社 液面検出装置
JPS5576447A (en) 1978-12-01 1980-06-09 Fujitsu Ltd Address control system for software simulation
US4307447A (en) 1979-06-19 1981-12-22 Gould Inc. Programmable controller
US4307214A (en) 1979-12-12 1981-12-22 Phillips Petroleum Company SC2 activation of supported chromium oxide catalysts
US4319323A (en) 1980-04-04 1982-03-09 Digital Equipment Corporation Communications device for data processing system
US4419724A (en) 1980-04-14 1983-12-06 Sperry Corporation Main bus interface package
US4366537A (en) 1980-05-23 1982-12-28 International Business Machines Corp. Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys
US4403283A (en) 1980-07-28 1983-09-06 Ncr Corporation Extended memory system and method
DE3034581A1 (de) 1980-09-13 1982-04-22 Robert Bosch Gmbh, 7000 Stuttgart Auslesesicherung bei einchip-mikroprozessoren
JPS58140862A (ja) 1982-02-16 1983-08-20 Toshiba Corp 相互排他方式
US4521852A (en) 1982-06-30 1985-06-04 Texas Instruments Incorporated Data processing device formed on a single semiconductor substrate having secure memory
JPS59111561A (ja) 1982-12-17 1984-06-27 Hitachi Ltd 複合プロセツサ・システムのアクセス制御方式
US4759064A (en) 1985-10-07 1988-07-19 Chaum David L Blind unanticipated signature systems
US4975836A (en) 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
US4787031A (en) * 1985-01-04 1988-11-22 Digital Equipment Corporation Computer with virtual machine mode and multiple protection rings
JPS61206057A (ja) 1985-03-11 1986-09-12 Hitachi Ltd アドレス変換装置
FR2601525B1 (fr) 1986-07-11 1988-10-21 Bull Cp8 Dispositif de securite interdisant le fonctionnement d'un ensemble electronique apres une premiere coupure de son alimentation electrique
US4858117A (en) * 1987-08-07 1989-08-15 Bull Hn Information Systems Inc. Apparatus and method for preventing computer access by unauthorized personnel
US5007082A (en) 1988-08-03 1991-04-09 Kelly Services, Inc. Computer software encryption apparatus
US5079737A (en) 1988-10-25 1992-01-07 United Technologies Corporation Memory management unit for the MIL-STD 1750 bus
JPH02171934A (ja) 1988-12-26 1990-07-03 Hitachi Ltd 仮想計算機システム
JPH02208740A (ja) 1989-02-09 1990-08-20 Fujitsu Ltd 仮想計算機制御方式
JP2590267B2 (ja) 1989-06-30 1997-03-12 株式会社日立製作所 仮想計算機における表示制御方式
US5022077A (en) 1989-08-25 1991-06-04 International Business Machines Corp. Apparatus and method for preventing unauthorized access to BIOS in a personal computer system
JP2825550B2 (ja) 1989-09-21 1998-11-18 株式会社日立製作所 多重仮想空間アドレス制御方法および計算機システム
CA2010591C (en) 1989-10-20 1999-01-26 Phillip M. Adams Kernels, description tables and device drivers
CA2027799A1 (en) 1989-11-03 1991-05-04 David A. Miller Method and apparatus for independently resetting processors and cache controllers in multiple processor systems
US5075842A (en) 1989-12-22 1991-12-24 Intel Corporation Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism
US5108590A (en) 1990-09-12 1992-04-28 Disanto Dennis Water dispenser
US5230069A (en) 1990-10-02 1993-07-20 International Business Machines Corporation Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system
US5317705A (en) 1990-10-24 1994-05-31 International Business Machines Corporation Apparatus and method for TLB purge reduction in a multi-level machine system
US5287363A (en) 1991-07-01 1994-02-15 Disk Technician Corporation System for locating and anticipating data storage media failures
US5437033A (en) 1990-11-16 1995-07-25 Hitachi, Ltd. System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode
US5255379A (en) 1990-12-28 1993-10-19 Sun Microsystems, Inc. Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor
US5303378A (en) 1991-05-21 1994-04-12 Compaq Computer Corporation Reentrant protected mode kernel using virtual 8086 mode interrupt service routines
US5319760A (en) 1991-06-28 1994-06-07 Digital Equipment Corporation Translation buffer for virtual machines with address space match
US5522075A (en) 1991-06-28 1996-05-28 Digital Equipment Corporation Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces
US5455909A (en) 1991-07-05 1995-10-03 Chips And Technologies Inc. Microprocessor with operation capture facility
JPH06236284A (ja) 1991-10-21 1994-08-23 Intel Corp コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
US5627987A (en) 1991-11-29 1997-05-06 Kabushiki Kaisha Toshiba Memory management and protection system for virtual memory in computer system
US5574936A (en) 1992-01-02 1996-11-12 Amdahl Corporation Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB) in a computer system
US5421006A (en) 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5237616A (en) 1992-09-21 1993-08-17 International Business Machines Corporation Secure computer system having privileged and unprivileged memories
US5293424A (en) 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card
JP2765411B2 (ja) 1992-11-30 1998-06-18 株式会社日立製作所 仮想計算機方式
US5668971A (en) 1992-12-01 1997-09-16 Compaq Computer Corporation Posted disk read operations performed by signalling a disk read complete to the system prior to completion of data transfer
JPH06187178A (ja) 1992-12-18 1994-07-08 Hitachi Ltd 仮想計算機システムの入出力割込み制御方法
US5483656A (en) 1993-01-14 1996-01-09 Apple Computer, Inc. System for managing power consumption of devices coupled to a common bus
US5469557A (en) 1993-03-05 1995-11-21 Microchip Technology Incorporated Code protection in microcontroller with EEPROM fuses
FR2703800B1 (fr) 1993-04-06 1995-05-24 Bull Cp8 Procédé de signature d'un fichier informatique, et dispositif pour la mise en Óoeuvre.
JPH06348867A (ja) 1993-06-04 1994-12-22 Hitachi Ltd マイクロコンピュータ
US5555385A (en) 1993-10-27 1996-09-10 International Business Machines Corporation Allocation of address spaces within virtual machine compute system
US5825880A (en) 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
JP3687990B2 (ja) 1994-01-25 2005-08-24 株式会社日立製作所 メモリアクセス機構
US5459869A (en) 1994-02-17 1995-10-17 Spilo; Michael L. Method for providing protected mode services for device drivers and other resident software
US5604805A (en) 1994-02-28 1997-02-18 Brands; Stefanus A. Privacy-protected transfer of electronic information
US5684881A (en) 1994-05-23 1997-11-04 Matsushita Electric Industrial Co., Ltd. Sound field and sound image control apparatus and method
US5539828A (en) 1994-05-31 1996-07-23 Intel Corporation Apparatus and method for providing secured communications
US5473692A (en) 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
US5978481A (en) 1994-08-16 1999-11-02 Intel Corporation Modem compatible method and apparatus for encrypting data that is transparent to software applications
JPH0883211A (ja) 1994-09-12 1996-03-26 Mitsubishi Electric Corp データ処理装置
EP0706275B1 (en) 1994-09-15 2006-01-25 International Business Machines Corporation System and method for secure storage and distribution of data using digital signatures
US5606617A (en) 1994-10-14 1997-02-25 Brands; Stefanus A. Secret-key certificates
US5564040A (en) 1994-11-08 1996-10-08 International Business Machines Corporation Method and apparatus for providing a server function in a logically partitioned hardware machine
JPH08147173A (ja) * 1994-11-18 1996-06-07 Seiko Epson Corp エミュレーション装置
US5560013A (en) 1994-12-06 1996-09-24 International Business Machines Corporation Method of using a target processor to execute programs of a source architecture that uses multiple address spaces
US5555414A (en) 1994-12-14 1996-09-10 International Business Machines Corporation Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals
US5615263A (en) 1995-01-06 1997-03-25 Vlsi Technology, Inc. Dual purpose security architecture with protected internal operating system
US5764969A (en) 1995-02-10 1998-06-09 International Business Machines Corporation Method and system for enhanced management operation utilizing intermixed user level and supervisory level instructions with partial concept synchronization
US5717903A (en) 1995-05-15 1998-02-10 Compaq Computer Corporation Method and appartus for emulating a peripheral device to allow device driver development before availability of the peripheral device
JP3451595B2 (ja) 1995-06-07 2003-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ
US5684948A (en) 1995-09-01 1997-11-04 National Semiconductor Corporation Memory management circuit which provides simulated privilege levels
US5633929A (en) 1995-09-15 1997-05-27 Rsa Data Security, Inc Cryptographic key escrow system having reduced vulnerability to harvesting attacks
US5737760A (en) 1995-10-06 1998-04-07 Motorola Inc. Microcontroller with security logic circuit which prevents reading of internal memory by external program
JP3693721B2 (ja) 1995-11-10 2005-09-07 Necエレクトロニクス株式会社 フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法
US5657445A (en) 1996-01-26 1997-08-12 Dell Usa, L.P. Apparatus and method for limiting access to mass storage devices in a computer system
IL117085A (en) * 1996-02-08 2005-07-25 Milsys Ltd Secure computer system
US5835594A (en) 1996-02-09 1998-11-10 Intel Corporation Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
US5809546A (en) 1996-05-23 1998-09-15 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers
US5729760A (en) 1996-06-21 1998-03-17 Intel Corporation System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode
US5944821A (en) 1996-07-11 1999-08-31 Compaq Computer Corporation Secure software registration and integrity assessment in a computer system
US5740178A (en) 1996-08-29 1998-04-14 Lucent Technologies Inc. Software for controlling a reliable backup memory
US5844986A (en) 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US5937063A (en) 1996-09-30 1999-08-10 Intel Corporation Secure boot
US5935242A (en) * 1996-10-28 1999-08-10 Sun Microsystems, Inc. Method and apparatus for initializing a device
US5852717A (en) 1996-11-20 1998-12-22 Shiva Corporation Performance optimizations for computer networks utilizing HTTP
US5901225A (en) 1996-12-05 1999-05-04 Advanced Micro Devices, Inc. System and method for performing software patches in embedded systems
US5757919A (en) 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
GB9626241D0 (en) * 1996-12-18 1997-02-05 Ncr Int Inc Secure data processing method and system
US5950221A (en) 1997-02-06 1999-09-07 Microsoft Corporation Variably-sized kernel memory stacks
US5953502A (en) 1997-02-13 1999-09-14 Helbig, Sr.; Walter A Method and apparatus for enhancing computer system security
US5987557A (en) 1997-06-19 1999-11-16 Sun Microsystems, Inc. Method and apparatus for implementing hardware protection domains in a system with no memory management unit (MMU)
US6014745A (en) 1997-07-17 2000-01-11 Silicon Systems Design Ltd. Protection for customer programs (EPROM)
US5978475A (en) 1997-07-18 1999-11-02 Counterpane Internet Security, Inc. Event auditing system
GB9715256D0 (en) * 1997-07-21 1997-09-24 Rank Xerox Ltd Token-based docement transactions
US5919257A (en) * 1997-08-08 1999-07-06 Novell, Inc. Networked workstation intrusion detection system
US5935247A (en) 1997-09-18 1999-08-10 Geneticware Co., Ltd. Computer system having a genetic code that cannot be directly accessed and a method of maintaining the same
US5970147A (en) 1997-09-30 1999-10-19 Intel Corporation System and method for configuring and registering a cryptographic device
US6357004B1 (en) * 1997-09-30 2002-03-12 Intel Corporation System and method for ensuring integrity throughout post-processing
US6122738A (en) * 1998-01-22 2000-09-19 Symantec Corporation Computer file integrity verification
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
EP1030237A1 (en) * 1999-02-15 2000-08-23 Hewlett-Packard Company Trusted hardware device in a computer
US6611913B1 (en) * 1999-03-29 2003-08-26 Verizon Laboratories Inc. Escrowed key distribution for over-the-air service provisioning in wireless communication networks
US6684326B1 (en) * 1999-03-31 2004-01-27 International Business Machines Corporation Method and system for authenticated boot operations in a computer system of a networked computing environment
US6990579B1 (en) * 2000-03-31 2006-01-24 Intel Corporation Platform and method for remote attestation of a platform
US6957332B1 (en) * 2000-03-31 2005-10-18 Intel Corporation Managing a secure platform using a hierarchical executive architecture in isolated execution mode

Also Published As

Publication number Publication date
GB0225050D0 (en) 2002-12-04
US20060015719A1 (en) 2006-01-19
HK1050255A1 (en) 2003-06-13
US6990579B1 (en) 2006-01-24
DE10196007B4 (de) 2010-08-12
US7254707B2 (en) 2007-08-07
DE10196007T1 (de) 2003-10-09
AU2001247601A1 (en) 2001-10-15
WO2001075564A2 (en) 2001-10-11
GB2377794A (en) 2003-01-22
WO2001075564A3 (en) 2003-01-16
HK1050255B (zh) 2005-06-03
GB2377794B (en) 2005-02-16

Similar Documents

Publication Publication Date Title
TW535070B (en) Platform and method for remote attestation of a platform
US11334660B2 (en) Authenticated discoverability of Universal Windows Applications to Win32 desktop applications
KR100692347B1 (ko) 플랫폼 구성 레지스터를 리세트하기 위한 시스템 및 방법
TWI606359B (zh) 於電腦系統中實施資源存取控制之方法(二)
US7139890B2 (en) Methods and arrangements to interface memory
TWI431533B (zh) 微處理器系統及用以初始化安全操作之方法與處理器
US6581162B1 (en) Method for securely creating, storing and using encryption keys in a computer system
KR20210097021A (ko) 컴퓨터 시스템의 추측적 사이드 채널 분석에 대항하는 방어
US8533777B2 (en) Mechanism to determine trust of out-of-band management agents
TW505839B (en) Simple algorithmic cryptography engine
JP5752767B2 (ja) 複数の認証済みコードモジュールを利用するプロセッサ、方法、及びシステム
TW201535145A (zh) 使用保護讀取儲存器安全地儲存韌體數據之系統及方法
US7194634B2 (en) Attestation key memory device and bus
US20050015611A1 (en) Trusted peripheral mechanism
TW200305082A (en) Data processing system with peripheral access protection and method therefor
US7631348B2 (en) Secure authentication using a low pin count based smart card reader
JP7406013B2 (ja) 構成設定の安全な署名
US11909882B2 (en) Systems and methods to cryptographically verify an identity of an information handling system
Gallery et al. Trusted computing: Security and applications
TWI276971B (en) Trusted input for mobile platform transactions
TW200846972A (en) Method for generating and using a key for encryption and decryption in a computer device
US20060020785A1 (en) Secure distribution of a video card public key
TWI709099B (zh) 透過作業系統驗證密碼以進行加解密之系統及方法
CN117278208A (zh) 一种基于TrustZone的以太坊密钥保护方法及系统
TWM623042U (zh) 手機門號收款設定系統

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MM4A Annulment or lapse of patent due to non-payment of fees