TW200817970A - System and method for secure boot across a plurality of processors - Google Patents
System and method for secure boot across a plurality of processors Download PDFInfo
- Publication number
- TW200817970A TW200817970A TW096119979A TW96119979A TW200817970A TW 200817970 A TW200817970 A TW 200817970A TW 096119979 A TW096119979 A TW 096119979A TW 96119979 A TW96119979 A TW 96119979A TW 200817970 A TW200817970 A TW 200817970A
- Authority
- TW
- Taiwan
- Prior art keywords
- boot
- processor
- code
- processors
- boot code
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/75—Protecting 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 by inhibiting the analysis of circuitry or operation
- G06F21/755—Protecting 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 by inhibiting the analysis of circuitry or operation with measures against power attack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
- Multi Processors (AREA)
Description
200817970 九、發明說明: f發明所屬之技術領域】 本申請案-般而言係關於一種經改良之資料處理系統公 及方法。更特定言之’本申請案係針對一種用於橫越複數 個處理器之安全開機之系統以及方法。 【先前技術】 隨著社會曰益依賴於資訊之電子通信及儲存,對數位資 訊(、諸如個人資訊及數位權利管理(drm))之安全性的考慮 已增加。此外,電腦嗤定芬甘 … 客及其他未經授權之闖入者進入計 异系統的技巧已在最近幾年中 、戍平中獒鬲。結果,許多努力已加 入到用於計算設備之忠入&么 備之女王性系統的發展中來,使得可佯镬 此敏感性數位資邙以备认+ JΛ 数位貝Λ以免於未經授權之存取。 一種入侵者可獲得對一 曾 。十t糸統之存取的方式係經由電 千"面及其他可觀測之雷 兹或熱活動來觀測一計算系統之 開機活動。藉由以此方式 ^ 飞靦,則開機活動,入侵者可推斷由 開機處理器輸入及輸出之 17貝枓^唬、在處理器上執行之 p 口袷决异法及其類似物。 目此貝矾,入知者可偵測開機 序列中可進行未經授權 催之彳又入的點。此外,就Α中兩 全性密鑰以用於該系統之心 υ而要女 者 μ、 4祛之女全開機序列而言,入侵 者了倒換開機處理器所 ^ 用之加岔凟鼻法以獲得對安全性 且藉此被給予對計算系統之完整存取。因為計 二者=安全性通常取決於開機過程之安全性,所以當 入仏者獍得對開機序列之 於危險中。 取日守,整個系統之安全性便處 121296.doc 200817970 因此’具有一種增加監控-處理器之開機序列之難度以 便,系統更女全而免於未經授權之侵入的裝置及方法將係 有益的。 Μ 【發明内容】 Γ Ο 说明性實施例提供—種歸選擇—隨機處理器以使—多 處理器系統開機及用於橫越複數個處理器來提供_安全開 機=系、先以及方法。藉由隨機化哪一處理器將用於使多處 …系、'’先開機,可使未經授權之人員為挫敗該系統之安全 ;:抆電子介面、熱活動及其他電磁活動以獲得關於開 列之貧訊的能力變得更困難。舉例而言,在多處理器 糸統中,想要成為入侵者的人員將需要執行開機序列許多 =㈣控-單個處理器以希望其可被隨機選作為開機處 里益,或在開機時監控所有處理器以便判定哪 實際之開機處理器。兩種選項在想要成為入侵者的人2 二 =大,,其可充當一威攝物以防實際上試圖監 :::…獲得開機序列資訊或至少將顯著延遲添加至想 …為入侵者的人員用以損害該系統將花費的時間。 機實施例之機制而言’將控制多處理器系統之開 (諸“透邏輯(pervasive㈣提供於多處理器系統 (遺如晶片上系統)上。、炎 口口、 ^ α透系統包括一隨機事件產生 益’該隨機事件產生哭左嬙、登裡 οσ 生4機選擇多處理器系統中之哪一虛 理态將為執行開機碼藉 片王”。β 猎此H統進人—操作狀態的開機 :相二開機處理器之隨機選擇,設定-與開機處理 為相關聯之組態位开甘- 其扣不被處理器將為開機處理器。 J21296.doc 200817970 ;後,為所選擇之開機處理器提供該(等)必需之安全性密 錄以用於將多處理器系統安全開機為—操作狀能。 入=些說明性實施例中’儘管隨機選擇之處理器執行安 但多處理器系統之其他處理器執行用以遮蔽 :::女全開機操作的操作。此遮蔽可涉及執行除開機碼序 “之其他導致處理器產生電磁及/或熱輪出的碼序列, Ο ϋ 監控’則該等電磁及/或熱輸出將使得該聞 :難以分辨哪一處理器正執行實際安全開機操作。 機旦Γ可產生一不同碼序列之方式係藉由將執行迭代-隨 ^之循環的隨機延遲元件插人於開機碼中。以此方式, 二處理器可執行開機碼(但係以不同延遲量),藉此導致 =不㈣磁及熱簽名。自―聞人者之觀點而言,由於此 =而使传將非常難以辨別實際開機處理器與多處理器系 統中之其他處理器。 隨::說Γ!施例中,由其他處理器執行之碼序列與 入:理益所執行之碼序列相同’但其具有虛設安 在因此,此等其他處理器操作且在—入侵者看來 Γ 執行安全開機操作。然而,若監控該等處理 戶^1可識別f假電磁及熱輸出,其使得聞人者難以判定 摔處理益是否為實際隨機選擇之正在執行安全開機 刼作的處理器。 在另一說明性實施例中,蕤 行隨機選擇之開機广理1, 處設處理器來執 熱等等監控裝置之==了設處理器自電磁、 ’、、 ,、似乎/、由於在此虛設處理器 121296.doc 200817970 上執行不同於開機碼序列之 重新引導至此卢…以藉此將該系統上之攻擊 土 ¥ ^處〜而為獨特的。以此方式,者_門 入者試圖藉由避開安全性機制田闖 存取一並不且右#f夕走 存取糸統時,該闖入者僅 存取亚不具有對多處理H統之其餘部分 虛設處理器。 只k存取的 在其他說明性實施例中, 個卢搜” U 了鉍越多處理器系統中之複數 個處心來分布開機碼序列。藉由橫越多處理Μ Ο Ο 複數個處理器來分布開機瑪序 , 於開機序列之完整資1且|^ 仙害以便獲得關 …错此回避安全性措施之處理器的 數目得以增加。因此,說明性餘f ^ Λ"例之分布式開機操作較 入导個女全核心之多處理器資料處理系統可更為安 王。此外,藉由分布開機操作,使得若開機操作中之任— 部分被損害’則開機操作失敗,藉此防止-未經授權之個 人回避該系統之安全性。 就此σ兒月性貝施例而言,將開機碼序列分割為複數個分 割部分,使得可將每—分割部分提供至多處理器系统之一 罐理器。當執行開機碼序列之每一分割部分時,彼分 d邛刀必須在開機碼序列可在另一處理器上進行之前在其 之各別處理态上正確地完成。使用一安全通信機制以傳達 開機碼序列之_先前分割部分的圓滿完成。此安全通信機 制可包括一指示先前會期未被損害之安全性符記,諸如一 加密密碼或其他安全性識別符(例如,_公用/私密加密密 鑰對)。以此方式,產生了必須圓滿完成之一連串相關,,合 期,、 曰 121296.doc 10 200817970 =機碼之分布式執行中所涉及之處理器可 糸統中之所有處理器或為多處 °° 組。舉例而言,可使用—…:㈣之處理器之-子 之用於選擇一單個開機處理 文射田述 擇待用於以—分布 擇機制)以隨機選 „ 式使以統開機的複數個開機處理 :::卜’可隨機選擇由處理器所執行之開機碼的特
C
Lj 使得就每—加電復位(酿)操作而言,相同處理 ::相Π:或可不執行與—先前P〇R操作中之開機碼分 为相同的開機碼分割部分。因此,刀^ 中涉及哪些處理器以及關於每 將:/開機操作 割部分而執行隨機化。 嗔仃何開機碼分 2理器系統之其他處理器(亦即, 分布式開機操作期間不執行先前所描述之各=在 Π 夕者的任何工作或可執行先前所圹、f夕 各種遮蔽碼說明性實施例中之一或多者的二 蔽在處理器之隨機逆 …",序列以遮 L 選擇之子組上的開機碼執行。換t之, 、本说明性實施例之分布式開機碼序 述之說明,W:每a /丨丄 /、尤别戶斤4田 兄月性貝施例中之-或多者組合。 产二::明性實施例中,在一具有複數個處理器之資料 處理系統中提供一鍤田μ & 1 0口 <貝枓 該方法可包含:、將門滅 料處理系統開機的方法。 及將一來自二㈣碼分割為複數個開機碼分割部分; 入資料處理季统之…… 開械碼分割部分載 中之每—者、、=數個處理器内的複數個開機處理器 複數個開機碼分割部分可作為複數個會 121296.doc •】】- 200817970 /月而在其之各別相關聯之開 ,該資料處理系_1開機:分:〗部:::行,以藉此 機處理器之數目。 。刀數目可等於開 若任-會料致-開機喝分割部分之 執行,則資料處理系統之開機可失敗…力或被損害 器中之—Γ 聯之會期中的執行時,該複數個處理 目關聯之執行該開機碼分割部分的門播卢 將該開機碼分割部分刀的開枝處理器可 列中之—下 發4號至與一開機碼序 π刀割部分相關聯的另一間機f g 在複數個開機碼分室J邻八…開械處理益。 執行該複數個⑴/ 關聯之開機處理器上 巩订。亥複數個開機碼分 信利用_安 刀了 U對開機處理器間之通 之各別她 確保該複數個開機碼分割部分在其 制可包含以下中之至小::上的未抽害執行。該安全性機 石王陡:,在開機處理器之間傳遞—數位簽名;使用一密 二=一開機石馬分割部分之一總和檢查碼;或使用信號 A用植、鑰/私密密鑰加密。 該方法可進一I6 v匕έ自該複數個處理器隨機選擇開機處 σσ /、中忒等開機處理器係該複數個處理器之一子組。 σ在心旻數個處理器之未被隨機選擇為開機處理器的處理 器上執行遮蔽碼。 it匕夕卜,'ii ''i- ~r ϋ匕含隨機選擇哪一開機碼分割部分與每 開機處理為相關聯。每一開機碼分割部分可不同於其他 開機碼分割部分。 121296.doc 200817970 置中二菊鏈配置、一環形配置或—主控/受押配 中之-者來配置用於在開機處理器上執行開二 刀之會期。資料處理系統可為一異質晶片上多處理= 統’其具有一根據一第一指令集而操作之第—處理器:: 二固根據一不同於該第-指令集之第二指令集而操作: 弟一處理器。 卜曰] 八:另-說明性實施例中’提供一種資料處理系統 =數個處理器、-純至該複數個處判之開機碼儲存 ^及輕接至該複數個處理器之渗透邏輯。該開機碼儲存器 了儲存破分割為複數個開機碼分割部分之開機碼。該參透 _可執行上文關於先前所描述之說明性方法實施例而概 迷的操作中之各種操作及組合。 人另口兒明性員%例中,提供一種電腦程式產品,其包 含-具有-電腦可讀取程式之電腦可用媒體。當在一資料 處理系統上執行時,該電腦可讀取程式可導致該資料處理 糸統執行上文關於先前所描述之說明性方法實施例而概述 的操作中之各種操作及組合。 本發明之此等及其他特徵以及優勢將在本發明之例示性 μ例之以下[實施方式]中予以描ϋ,且雲於該[實施方 工]’對於-般熟習此項技術者而言,本發明之此等及其 他特徵以及優勢將變得顯而易見。 【實施方式】 _ :月&貝^例提供了一種用於選擇- 機處理器以開機 夕處理器系統之裝置及方法。可實施該等說明性實施例 121296.doc -13 - 200817970 以用於任何多處理器系統,其中可選擇該等處理器中之一 者以使該多處理器系統開機。因此,該等說明性實施例之 機制可適用於對稱多處理器(SMP)系統、異質多處理器系 統、非相干不對稱多處理器系統及其類似系統。 其中可貫施該等說明性實施例之一個多處理器系統為購 onk New York之 internati〇nai Business Machines Inc·的 Cell覓頻引擎(Cell Br〇adband E 叫 ine)(CBE)。將表 〇 彳CBE架肖來描述說明性實施例,然而應瞭解,該等說明 性實施例之描述僅為例示性描述且並不意欲陳述或暗示關 於其中可實施說明性實施例之機制的多處理器系統之類型 或組態的任何限制。可在不背離本發明之精神及範疇的前 提下對所描述之CBE架構作出許多修改。 圖1係其中可實施本發明之態樣之一資料處理系統的例 不性方塊圖。圖1中所示之例示性資料處理系統係CeU寬頻 引擎(CBE)貝料處理系統之一實例。如一般熟習此項技術 〇 者在閱讀以下描述之後將不難顯而易見:儘管將在本發明 之較佳實施例之描述中使用CBE,但本發明並不限於此。 士圖1中所示,CBE 100包括:一功率處理器元件 (ΡΡΕ)ιιο,其具有一功率處理器單元(ppu)n6及其之u快 取區Π2及L2快取區114 ;及多個協同處理器元件 ()12〇 134,每一 SPE具有其自身之協同處理器單元 (SPU)14(M54、,己憶體流控制155]62、區域記憶體或儲存 器(LS)163-170,及匯流排介面單元(BIU單元)i8(M94,其 可為(例如)一組合式直接記憶體存取(DMa)、記憶體管理 】21296.doc -14- 200817970 單元(MMU)及匯流排介面單元。亦提供一高頻寬内部元件 互連匯流排(EIB) 196、一匯流排介面控制器(bic) 197及一 記憶體介面控制器(MIC) 198。 CBE 100可為一晶片上系統,使得可將圖i中所繪示之元 件中之每一元件提供於一單個微處理器晶片上。此外, CBE 100為一異質處理環境,其中spu中之每一者可自該 系統中之其他SPU中之每一 SPU接收不同指令。此外,用 〇 於該等SPU之指令集不同於ppu之指令集,例如,Ppu可 執行基於精簡指令集電腦(RISC)之指令,而SPU執行單指 令多資料(SIMD)指令。 SPE 120-134耦接至彼此且經由EIB 196而耦接至^快取 區 114。另外,SPE 120-134 經由 EIB 196 而麵接至]VIIC 198 及BIC 197。MIC 198提供一至共用記憶體199之通信介 面。BIC 197提供一在CBE 1〇〇與其他外部匯流排及設備 (諸如SouthBridgeTM通信處理器)之間的通信介面。
Cj PPE 110為一雙線緒PPE 110。此雙線緒PPE 11〇與八個 SPE 120-134之組合使得CBE 100能夠處理1〇個同時線緒及 超過128個未處理之記憶體請求。ppE 11〇充當一用於其他 八個處理大多數計算負荷之spE i 2〇_丨34的控制器。舉例 而a ’可使用PPE 110來執行習知作業系統,而spE丨Μ-ΐ 34執行 向量化 浮點碼執行。 SPE 12〇-134包含一協同處理單元(Spu)14〇_i54、記憶體 流控制單元1 55-162、區域記憶體或儲存器163-17〇及匯流 排介面單兀1 80- i 94。在一個例示性實施例中,區域記憶 121296.doc 200817970 體或儲存器163-〗70包含一為PPE 110可見之256 KB指令及 資料d丨思體且可直接由軟體來定址。 ΡΡΕ 11 0可載入具有小程式或線緒之SPE 120 -1 34,從而 將該等SPE鏈接在一起以在一複雜操作中處理每一步驟。 , 舉例而言,一併入有CBE 1〇〇之視訊轉換器可載入用於讀 _ 取DVD、視訊及音訊解碼之程式且加以顯示,且資料將自 SPE傳遞至spE直至其最終在輸出顯示器上結束。在* 〇Ηζ f) 下,每一 SPE 12(M34給出理論之32 GFLOPS之效能,其中 PPE 1 1 〇具有一類似之效能水平。 記憶體流控制單元(MFC)155-162充當一用於一 spu至該 系統之剩餘部分及其他元件的介面。MFC 155_162提供用 於在主儲存器與區域儲存器163-17〇之間進行資料轉移、 保護及同步的主要機制。邏輯上存在一用於一處理器中之 每一 SPU的MFC。某些實施例可在多個spu之間共用一單 個MFC之資源。在此狀況下,針對]^17(:所界定之所有設施 U 及命令必須呈現為獨立於用於每一 SPU之軟體。共用一 MFC之效用被限制於實施例相關設施及命令。 說明性實施例提供了 一種用於選擇一隨機處理器(諸如 SPE 120-134中之-者)以使多處理器系統(例如,cbe⑽) ^ 開機的裝置及方法。藉由隨機化哪一 SPE 120-134將用於 使CBE 100開機,使得未經授權之人員為挫敗cbe ^㈧之 安全性而監控電子介面、熱活動及其他電磁活動以獲得關 於開機序列之資訊的能力變得更加困難。 就說明性實施例之機制而言,將控制CBE ι〇〇之開機操 121296.doc -16- 200817970 作的滲透邏輯193提供於CBE 100上。滲透邏輯193包括一 隨機事件產生器,該隨機事件產生器隨機選擇哪一 §ρΕ 120-1 34將為執行開機碼以藉此使系統處於一操作狀態的 開機處理器。基於對開機SPE 12〇-134之隨機選擇,設定 一與所選擇之SPE(例如,SPE 120)相關聯之組態位元來指 示彼SPE 120將為實際開機處理器。其後,為所選擇之spE 120提供必需之安全性密鑰以用於cBE 1〇〇 Ο Ο 安全開機。當被伽成功地完成安全開機程二= 自一安全狀態(其中MIC 198、共用記憶體199及bic 之 一除至T文圖2中之快⑽⑽230之通信鏈路之外的部分 皆被關閉且被防止操作)轉變至—解鎖狀態。—旦安全娜 進入解鎖狀悲’則其將藉由執行由快閃r〇m咖所提供之 加密碼而起始完全難咖198、脱⑽及所有其他處理 :(SPE及PPE)之過程(稱作”訓練”之過程)。關於用於CelI “頻引擎中之女全開機過程的更多資訊,請參看同在申請 中及共同讓渡之美國專利申請公開案第2005咖944號, 其以引用之方式併入本文中。 在某些說明性實施例中’儘管隨機 安全開機操作,但1他$沖μ。 執仃 他SPE 122_134執行用以 全開機操作之操作。此诚鈦7、止 L敝具貝女 π蔽可涉及執行除開機碼序列之外 的導致SPE 122-134產生雷φ ^ ^ ^ ^ ?iJ , „ Λ . Α 電磁及/或熱輸出的其他碼序 馬 I控,則該等輸出將使該闖入者難以分 辨哪一 SPE 12(M34正在執 有難以刀 ^女 執仃μ際女全開機操作。 一種可產生不同碼序列 J之方式係糟由將執行迭代一隨機 12I296.doc 200817970 量之循環的隨機延遲元件插入於開機碼中。添加此等隨機 延遲兀件使得當使該處理器開機時,安全開機演算法將以 -隨機方式改變以產生不同電磁及熱簽名,藉此使得難以 隨時間的過去來比較兩個不同開機操作。以此方式,每— SPE 12G-134可執行(但係以不同延遲量)開機碼,藉此導致 產生不同電磁及熱簽名。此外,相同spE 12〇_134將在每 次其執行安全開機碼時產生不同電磁及熱簽名。自一闖入 Ο
者之觀點而言’將由於此遮蔽而使得非常難以辨別實際開 機SPE 120與CBE 1〇〇中之其他8叩122 134。 在另-說明性實施例中,由其他咖⑵心執行之碼 序列為隨機選擇之S P E i 2 〇所執行之相同開機碼序列但具 有虛設安全性密鑰。因此,此等其他spE i22_i34操作且 在-闖入者看來似乎該等SPE 122_134正在執行安全開機 喿乍而右L控s亥等SPE 122_134,則可識別使得聞 ^者難以判定所監控之spE是否為實際隨機選擇之正在執 行安全開機操作的SPE 12()的虛假電、電磁及熱輸出。 隹乃一說明性實施例中 二)來執行隨機選擇之開機卿12G的遮蔽。自—電磁、熱 等&控裝置之觀點而言’該虛設spE呈現為似乎其由於在 此虛設SPE上執行不同於開機碼序列的過程以藉此將CBE ⑽上#之攻擊重新引導至此虛設SPE而為獨特#。以此方 式,當一闖入者試圖冑由避開安全性機制來存取該系統 ,m者僅存取一並不具有對CBE _之剩餘部份之 貫際存取的虛設咖。此外,若入侵者損害虛設SPE且試 ί 21296.doc -J8- 200817970 圖執行碼,則虛設SPE可接著關閉CBE 100之剩餘部份以 防止進一步之入侵嘗試。
Ο 現將更詳細地描述上文所提及之說明性實施例中之每一 者。應瞭解,儘管將在本文中獨立地描述每一說明性實施 例,但可以各種方式組合該等說明性實施例以便達成多處 理器系統(例如,CBE 100)之甚至更大的安全性。因此, 說明性實施例之被認為適合於一特定情形及多處理器環境 的任一組合意欲在本發明之精神及範疇内。 圖2係一說明根據一說明性實施例之隨機開機處理器選 擇機制之主要操作組件的例示圖。應瞭解,為解釋該等說 明性實施例之簡單性起見,圖2僅詳細展示了多處理器系 統中之一個處理器。然而,應瞭解,多處理器系統之該等 處理器中之每_者均具有元件之類似配置,且以類似於圖 2中明確展示之處理器之方式的方式而操作。可在不背離 本發明之精神及範疇的前提下將任何數目之處理器包括於 多處理器系統中。然而’為解釋說明性實施例之目的,將 假定處理器之數目為如圖i中所示之咖架構中的八個。 圓中所示’―隨機開機處理器選擇機制之主要操作 組件包括一系統控制器21〇、一安全密鑰儲存器220 閃—咖及滲透邏輯勝在—個說明性實施例中,以 圖為例,元件川摘可為 ㈣架構之晶片上 广細有 於曰片卜夕走 此寻兀件210-240可建置 曰夕处理益系統(SoC)之邏輯中,且U此,由此# 元件Μ2"所執行之操作可在晶片上執行。或者,該等 I2I296.doc -19- 200817970 或夕者可提供在晶片外,例如,快閃ROM 230 了耠供在晶片外。 以二,制态21°負責執行-加電復位(P〇R)之初始操作, 控制之功率達到一可接受及穩定之位準。亦即,系統 責提昇電壓、接通系統時脈及所需之用於使 =Γ u統達到其中可開始開機操作之狀態的其他初始 Ο ϋ I如^在此項技術中所知)。作為此PQR操作之-部 刀’使處理器28〇_29〇提昇 操作模式中,产理哭夕。、 作輪式。在此安全 处益區域儲存器不可在該處理器之外部 丁子取 旦完成此等初始操作且系統處於一可接受之 ^ α纟統控制21G便將—Π功率良好”狀態發送信 號至參透邏輯240。 回應於來自系統控制器210之„功率良好”信號,渗透邏 一耳40開始一開機操作,以用於使多處理器系統開機進入 =作狀態,從而使得可開始執行軟體程式。作為此開機 =之一部分’滲透邏輯24〇之-隨機事件產生器242將該 寺=理益中之-者(例如,處理器28〇)隨機選擇為用於多處 理益糸統之開機處理器。隨機事件產生器M2產生一被發 送至多處理器系統之處理器中之每一處理器的信號。好 號僅對於被選擇作為開機處理器之處理器而言係邏輯高位 準的。此信號將隨機選擇之處理器28〇之組態位元暫存器 中之值有㈣設定為—指示此處理器2㈣為開機處理哭 例如’ Τ)。其他處理器將使其之在其各別組態位元 "中的組態位元值保持於-初始值,藉此指示此等處 121296.doc -20- 200817970 理器並非為用於多處理器系統之隨機選擇之開機處理器。 Ο Ο 將用於使多處理器系統開機之開機碼以—加密格式儲存 於) 夬閃ROM 230中。可將該加密開機碼232提供至處理器 2。8〇-290中之每—纟。亦即,作為開機序列之部分,處二 器280-290中之每一者可試圖自快閃臟23〇讀取加密開 機碼加。然而,由於僅該等處理器中之一者已被隨機選 ^作為開機處理m僅料處理器巾之-者將能夠解 密該加密開機碼2 3 2,[险當地執行其以便使多處理器系 嶋至一操作狀態。此係經由使用-提供於該等處理器 :=每處理為中的選擇器26〇而達成,該選擇器⑽在秘 在在錄(其為用於解密該加密開機碼232之密錄值消一隨機 產生之密輕(其將不能夠解密該加密開機碼232)之間進行 選擇。 使用储存於組態位元暫存器250中之值以產生一提供至 抑 &擇态化唬。舉例而言,選擇器260可為一多 工為,其接收來自安全密餘儲存器220之安全密錄(Skey)# 為個輸入、一來自一隨機值產生器262之隨機產生之密 鑰值作為一第二輸入,及來自組態位元暫存器25〇之選擇 扎不將選擇兩個輸入信號中之哪一信號)。若組態 位兀θ存為250儲存一指示該處理器為隨機選擇之開機處 理器的值,則選擇认”輸入。若組態位元暫存器25〇儲存 '一才日不该處理哭计非丛iTTt: 叩亚非為酼機選擇之開機處理器的值,則可 由選擇器2 6 0選埋陴4办士 擇丨思機產生之密鑰值輸入。接著將該所選 擇之密鑰值輸出至SPE27〇。 121296.doc 200817970 E 270接收所選擇之密㈣及加密開機碼 『rw立切上丄、“ . v
no接著試圖解宓兮Λ A问 併:巧。SPE 一加雄、開機碼232。若所選擇之密鑰值係 =錢儲存器咖之Skey,則咖…將能夠恰當地 解社该加密開機石馬232且執行其中之 達到一操作狀能 ’扣7以使糸統 .., " 所&擇之密鑰值並非為來自安全宓势 者存器220之Skey,則解密將失敗 二 開機碼指令。 270將不靶夠執行
C Ο :藉由多處理器系統所執行之每一加電復位⑽ =;上用於隨機選擇-開機處理器並使用該隨機選擇 之開機處理器來使多_ 。 ^释 益糸統開機之過程。因此,每-欠 使多處理器系統開機時,便可將該複數個處理器中之= :者隨機選擇為開機處理器。結果,進入該系統之 侵者將不能夠先驗判定一 ” ’ /θ入 處理写系站夕帝、 °。為開機處理器且將對多 ,〇…’磁及熱條件之量測引導至彼特定處理哭'。 相反’潛在人侵者必㈣由多處理器 : 作來監控-單個處理器以希望該單個處細 乍為待成為開機處理器之隨機處理器 監控所有該等處理器以藉此識別哪一處理 ='f 且試圖經由該處理器之個別電磁 :處理 而貝讯。舉例而言,在八處理器系統中又侍乂 有八個處理器,所以#;r 口為必須監控所 所以使付盈控開機序列之難度固難 料,將需要更多探針及硬體來完成此監控,藉此〆 试圖進行此監控之難度。 9 S加了 圖3 A係 一纟兒明根4盧一却明/W:告· y 機制的例 尿次明性貫施例之隨機選擇 ⑵ 296.doc -22- 200817970 不圖。如上文所描述,在說明性實施例背後之原則思想係 自複數個處理器中將—處理器隨機選擇為用於多處理器系 、'先,開機處理器。為進行此隨機選擇,提供一隨機事件產 ^ D。及4擇機制。在說明性實施例中,將隨機事件產生 器提供於多處理器系統之滲透邏輯中,同時提供—與該等 處理器中之每一者相關聯的選擇器。圖3A提供根據一說明 性實施例之隨機事件產生器及選擇器之一實施例的緣示。 Ο
U 如圖3A中所示,舉例而纟,隨機事件產生器—其可對 應=圖2中之隨機事件產生器242)包括一線性反饋移位暫 存益(LFSR)计數器32〇、一環形振盈器33〇及一選擇器信號 暫存器/解碼器340。該環形振盪器330係一包含奇數個
OT閘之认備’其之輸出在兩個電壓位準之間振盈。ROT 閘或反相器係以鏈方式卩科垃甘 η 、 硬万式附接,其中最後一個反相器之輸出 被:I貝回至第一反相器。一連串奇數個反相器之最後輸出 為弟一輸入之邏輯Ν〇Τ〇αα 曰 、平耳在確疋弟一輸入之後的一有限時 間量内確定此最後之輸出。此最後之輸出至該輸入之反饋 產生一不穩定振盡,其將根據隨機元素(諸如電源上之電 磁雜訊及溫度)而及時變化。 環形振盪器33〇之輪出連同一時脈信號cik作為一輸入而 提供至職計數器320。贿計數器320係-移位暫存 器’其之輸入為其之先前狀態的一線性函數。單個位元之 線性函數僅為職及反x〇R,且因此,:撤為一移位暫 存器’其之輪入位元由總移位暫存器值之某些位元的互斥 f’或’’(X0R)來驅動。 121296.doc -23- 200817970 Γ Ο 。將lfSR計數器32G之初始值稱為種子,且因為暫存器之 #作係確定性的,所以紅⑽計數器32〇所產生之值的序 列係完全由其之當前(或先前)狀態來判定。一具有一精選 之反饋功能的LFSR計數器320可產生一位元序列,該 序列呈現為隨機的且其具有一非常長之週期。在說明性實 施例中,由於至LFSR計數器32〇之輸入為由環形振盈器 33〇所產生之振盈及環形振盧器㈣之頻率與輸入時脈 仙(其獨立於彼此而改變)間之差$的乘積,因此使 機性變得更加顯而易見。 LFSR計數器32〇接收來自環形振盈器33〇之輸出及時脈 信號处作為輸入且產生一儲存於選擇器信號暫存器/解碼 以40中之輸出位元流。環形振盈器咖之反相器將輸出传 f中之一延遲引入至LFSR計數器320且因此,在環形振盪 益330之頻率與輸人時脈仙之間存在異。頻率間之此 =異在至LFSR計數器32〇之輸入中產生抖動,如圖3β中所 、”旨不。此抖動提供-隨機化由LFSR計數器32〇所產生之輸 出的隨機性的量測。 別 抑將LFSR叶數器32〇之輸出儲存於選擇器信號暫存器/解碼 器^0中。在所緣示之實例中,LFSR計數器320為3位元計 /、產生經解譯以編碼值1 - 8之3位元輸出。選擇器 化號暫存器/解碼器34〇之一解碼器功能基於隨機3位元輸 。值來k擇8個獨特輸出中之一者。基於儲存於選擇器信 儿ΐ存叩340中之位兀的狀態,將高或低狀態信號輸出至 各種處理$ (例如,圖i中之spE^spE7心⑶)之組態位 121296.doc -24- 200817970 元暫存窃,以藉此设定儲存於組態位元暫存器中之值且因 此’將該等處理器中之-者選擇為用於多處理器系統之開 機處理器。 -旦設定組態位元暫存器值,便使用此等值以將選擇器 . 信號提供至相應選擇器350-370。如圖3A中所示,將選擇 • 器信號連同一 Skey輸入及一隨機密鑰值輪入提供至一多工 器352、362、372。基於選擇器信號之狀態,藉由多工器 ('352 362、372中之每一者來選擇Skey輸入或隨機密鑰值 :入。可由相同類型或一不同類型之一或多個隨機值產生 益自上文所描述之用於選擇開機處理器的隨機事件產生器 組態來產生隨機密输值輸入。亦即,可使用如上文所㈣ 之一類似隨機事件產生器組態來隨機地產生一具有與Μ” 相同長度的密鑰值。接著將此等隨機密鑰值輸入至 哭 352、362及 372 中。 設計該系統,使得(例如)借助於上文所描述之解碼器功 〇 能,僅輸入至多工器352、362、372中之選擇器信號中的 -個選擇器信號將選擇Skey輸入,而所有其他選擇器信號 . 將選擇一隨機密錄值輸入。將來自多工器352、362/37: 之輸出提供至相應S P E,使得該等s P E可利用此等輸出以 .肖於解密開機碼且執行開機碼(在隨機選擇之開機處理器 之狀況下)或試圖解密開機碼且未能使該多處理器系统開 機(如在多處理器系統中之所有其他處理器之狀況下;。… 應'瞭解’上文所描述之用於提供-隨機事件產生器及選 擇器的機制僅為例示性的且並不意欲陳述或暗示關^用 I21296.doc -25 - 200817970 於說明性實施例之隨機事件產生器及選擇器之 限制。舉例而言,可利用其他隨機事件產生器而非使= 圖3Α中所示之—環形減器及lfsr計數器。舉例而+口 -熱感應器來量測熱雜訊,接著可使用該熱雜:來 ^用於將該等處理器中之—者選擇作為1機處理器 η ο ::機:件。類似地,可使用一量子點。點)或半導體奈米 晶體來量測量子源效應,該等量子源效應可用作一用且= I處理器選擇作為開機處理器之隨機源。任何強隨機源可 用於帽生實施例以提供對一供用作用於多處理器系統之 開機處理器的處理器的一隨機選擇。 ^、 …卜應瞭解,儘官圖3 A展示了具有五個反相器之環形 振盛器330,但說明性實施例並不限於此。實情為,可在 I背離本發明之精神及㈣的前提下錢任何數目之反相 器,Γ要存在奇數個反相器便可。事實上,為在至LFSR 2數器320之輸入中提供額外抖動,可能需要將額外反相 益添加至環形振盪器33〇中之反相器鏈以便在輸入時脈信 唬Clk與來自環形振盪器33〇之輸入的頻率間引入甚至更多 i異。可基於其中實施說明性實施例之 的所要操作特徵來選擇差異量。 。。系、、先 左卜t g圖2及圖3A繪示由一用於每一處理器之獨立 機在输值產生器所產生的隨機密餘值,但說明性實施例 亚不限於此。實情為,可提供一單個隨機密鑰值產生器以 =於該等處理器中之所有處理器,其中該隨機密餘值產生 生4夕個輸入至該等處理器之隨機密錄值。因此, 121296.doc -26- 200817970 冬例而3 ,隨機密鑰值產生器可產生一提供至該等處理器 :之所有處理器的單個隨機密鑰值、一用於每一個別處理 :之獨立隨機密鑰值(在此狀況下,可產生例如七個不同 隨機密鑰值)或任何數目之可被選擇性地提供至多處理器 系統之各種處理器的隨機密鑰值。 在個說明性實施例中,如圖3C中所說明,可提供複數 個隨機密輸值產生器39〇,該複數個隨機密鑰值產生器则 Ο Ο 口幸別出不同隨機密鑰值。或者,如上文所提及,可使用 :單個隨機密鑰值產生器以替代此等獨立隨機密鑰值產生 可將此等^機欲錄值連同來自一 Skey儲存器395(例 如,eFuse)之安全密鑰(skey)作為輸入而提供至多處理器 系,中之處理器(例如,SPE 393及394)的選擇器(例如,多 工夯391及392),該安全密鑰(Skey)實際上用於解密用於使 多處理器系統開機之開機碼。如圖所示,可在八條相同信 唬線上夕工傳輸隨機產生之密鑰值及Ska值且將其提供至 :工杰391及392中之每一者以便使得一入侵者更難以將該 寻線中之一者隔離為一來自安全密鑰儲存器395之信號 線。 ϋ 可將總共八個密鑰值輸入提供至多工器3 9丨及3 9 2且可使 用來自滲透邏輯397中之隨機事件產生器396的選擇信號來 選擇該等人個輸人中之—者。在此狀況下,多工器^及 3 9 2可在S k e y輸入與七個隨機密鑰值之間進行選擇而非簡 單地在Skey輪入與一隨機密鑰值之間進行選擇。因此,一 第-處理器可基於此第一處理器被隨機選擇作為開機處理 121296.doc -27- 200817970 器而選擇Skey輸入、—第二處理器可選擇-第三隨機密輪 值、-第二處理器可選擇一第四隨機密鑰值、—第五處理 器可選擇一第一隨機密鑰值,等等。因此,每一處理器可 接收一不同密鑰值(Skey或一經隨機產生之密鑰值卜結 果,使一入侵者在監控多處理器系統之匯流排訊務時變得 難以辨別哪一密鑰值為正確之密鑰值。 于
U 應進一步瞭解,較佳在其中提供多處理器系統之陶瓷封 凌之下層金屬層或互連之最低層中提供圖3A及圖3c中所 示之機制(若該設計係在單個晶片上)。因為探測多處理器 糸統之電及熱特徵的能力當前被限制於多處理器陶瓷封裝 之上層,所以藉由將此等元件置於下層金屬層中,使得探 測此等元件之操作的能力變得更加困難。因此,使得一想 要成為入侵者的人員非常難以(若並非不可能)監控隨機事 件產生器及選擇器之熱及電特徵以便判定由此等元件所提 供之密输值。 使用上文之機制,可隨機選擇在多處理器系統之複數個 處理器内的處理器以使該多處理器系統開機。以此方式, 使得監控該等處理器之電及熱特徵以便獲得用於使多處理 為系統開機之秘密資訊(例如,秘密密鑰)的能力更加困難 且對於彼等可能希望在無授權之情況下存取多處理器系統 之人貝而a其潛在地變成了一威攝物。 儘管上文之用於隨機選擇一處理器以使多處理器系統開 機之機制提供了 一合適量之保護以防監控開機序列,但一 未經授權之個人仍有可能”侵入"系統(若此個人非常堅持不 121296.do, -28- 200817970 懈)。為使此監控變得實際上 了用於逹蔽Ρ媸、壁摆々老 說明性貫施例提供 用方、㈣擇之處理器上之開 使得未經授權之個人無_^ 制, 使多處理器系統開機之實際開機序列。°"則正執行用於 在-m㈣性實施财,遮蔽操作涉及未被選擇 …之處理器中之每—者執行一不同指令集以藉此二 使付難以辨別開機處理 生 Ο Ο 電及数簽名。之其他處理11的遮蔽 '、,、 由同處理器執行之碼序列可為如n 碼序列,其被提供於一愈處理…]了為相同之預設 可由該等處理器存取(巧^相關聯之記憶體中或另外 時)。舉例而言,可將箱< & ^ 4⑴開祛碼序列 中之每-者相「 列提供於-與該等處理器 母者相關聯之區域儲存器的_ 可將預設碼序列裎徂认 „ 丨刀r 或者’ 冰甘 快閃R〇M或提供於晶片上口戈曰片 外之其他儲存設備中。 月上次日日片
當處理器無法解密自快閃R 時,該處理器可預*D5「+ 之"際加密開機碼 、叹回至區域儲存器之 致該處理器執行指令以遮蔽在另—處理哭:…’其導 序列。此指令序列可能 。。執订之開機碼 J J此不產生任何可用資 遮蔽功能。或者,舉例而言 、°可僅飼服— 於在開機操作期間臣,此^曰令序列來執行用 在一個說明性每#加士 ’心作 機…、* 在未選擇處理器(亦即,非門 機處理幻中之每—者上執行的碼 (:非開 處理器中之每一者所热 > 的在由未選擇 在此等未選擇處理器中指^例中, 者上執仃的碼較佳為產生電 12J296.doc -29- 200817970 及熱概況之碼,贫莖φ ν, 曰 夺 寻冤及熱概況類似於實際開機碼但並不 Η ―一:又者為回避多處理器系統之安全性而將需要的任 Μ山貝Λ。此碼可執行類似於實際開機碼之操作的操作 不存取夕處理裔系統之敏感部分。事實上,在—個說 明性實施例中,可由未選擇處理器使用用於使多處理器系 統開機之相同問拖. ”、、旦不可存取安全密錄(Skey)及其他 特許資訊。 Ο ϋ 每 等未4擇處理裔之熱概況及匯流排訊務將接近 κ IV、《序列。因此,自_使用監控探針來監控熱概況、 匿流排訊務及其類似條件之入侵者的觀點而言,該入侵者 將無法破譯哪-核心正執行實際開機操作,因為所有核心 經由監控探針將看起來相同。此模糊性阻止竄改且使得更 ::難以隔離真實開機碼序列、秘密密錄資訊及其類似資
在其他說明性實施例中,該等未選擇處理器中之每一者 °亍$同&7集。藉由在該等未選擇處理器中之每一 者上執行不同指令集’當使用電或熱探針加以監控時,該 =理器中沒有一者看起來係獨特的。結果,-分辨性特 仏(如熱概況或匯流排訊務)無法由探針 哪一處理器為開機處理器。 更戒另J =針對多處理器系統中之處理器中的每—者而隨機選擇 二:同1曰令集。因此’舉例而言’可隨機選擇用於儲存 日日片上儲存設備(例如’—快閃r〇m或其類似物)中之 碼序列的不同開始位址且將其提供至多處理器系統之處理 】21296.doc -30- 200817970 二該==著以隨機選擇之開始位址而開始執行 =用以提供用於不同處理器之不同碼序 供具有插入於開機碼中之隨機延遲元件之開機碼。= 遲元件可為(例如)迭代隨 此專延 一 何数㈢之_人數的循環。可將斗楚 延遲兀件提供於由隨機選擇 、、 Ο Ο 碼序列中及由未選擇處理2開枝處理讀行的實際開機 控該等處理器之埶β藤A』L 自 瓜 …及匯〜排訊務特徵之入侵者的 言’此隨機延遲導致開媸 ””而 攻V致開機碼在該等處理器中之 ’丨看起來”不同。結果,使入侵者不可能辨 口口 執灯使夕處理益糸統開機之實際開機碼。 -說明性實施例中’提供一虛設處理器,當由一入 知者監控時其看起來係獨特的。 a 施例之組合,並中一處理…Λ 6兒月性““列係先前實 選擇户理。。/⑽隨機選擇為《處理器,未 k擇處理态中之一處理器被 機碼序列之赦及m 執行提供一獨特於開 仙考 “非矾務概況之碼的虛設處理器,且並 他處理器執行盡可能緊密且^ U m _ . I貝際開枝碼序列之熱概況 及匯极排矾務的碼序列。以 哭偵、>丨A^ 方式,入侵者將使虛設處理 口口偵測為獨特於其他處理 開機^ ^ m 且將斷疋此處理器正執行實際 间械碼序列。因此,入 理哭而# ή 又者將把其之攻擊引導至此虛設處 理态而非自一熱概況 苴他产搜。。^ 級排汛務立場而言呈現為類似於 /、他處理夯的貫際開機處理哭。 碼哎另外± 4 ^ 此外,若入侵者試圖執行 外主動干擾虚設處理器,則該虛設處理器可接著發 121296.doc -31- 200817970 送信號使一系統關閉。 圖4A’4D係說明根據說明性實施例之用於遮蔽一隨機 4擇之開機處理器之安全開機操作之遮蔽操作的例示性 圖。圖4錢明—第—遮蔽操作,其中在未選擇處理哭中之 母-者上執行自—監控探針立場而言呈現為與開機碼序列 目同的碼。如圖4At所示,(諸如)藉由❹先前所描述之 Ο u M :而:SPE〇 41°隨機選擇為用於多處理器系統4。。之開 4飞理益。ϋ此,SPEG 410接收秘密密输、解密來自 R01V[之開機碼序列且執 、 、鱼λ 丁叮而之用以使多處理器系統400 作狀態的實際開機碼操作。其他SPE(亦即, SPE1-SPB7 412 494、拥 /- ώ ^ )執仃自一監控探針之觀點而言看起來 像開機碼序列之碼。 (末 二他咖412-424所執行之碼序列可為 SPE、二:Γ存器之一安全部分中的預設碼序列,其導致 序列的#人4執/用以遮蔽在SPEG 41G上所執行之開機碼 行的碼;未選擇SPE 412-424中之每一者上執 於實際= 況之瑪,該等電及熱概況類似 安全性而將I、仁亚不提供一入侵者為回避多處理器系統之 而將需要的任何秘宓資 開機碼之摔作… 執行類似於實際 部分。、紅作但並不存取多處理器系統400之敏感 圖4B說明了 ^ 之每—者上\了另__說明性實施例,其中在未選擇處理器中 執行不同之隨機選擇之演管Φ , _ 示,將SPE0再-大、…^擇之次-法。如圖4时所 再-人違擇柄機處理器1因此其執行用於使多 Ϊ21296.doc -32- 200817970
處理器系統400開機進入-操作狀態的開機碼。其他SPE 412-424中之每一去一把 者執仃一獨立之隨機選擇之演算法,苴 產生不同熱概況及EIB上之不同匯流排訊務。因此,當與 其他SPE 410-424中之每—者比較時,每—spEQ_7呈現為 獨特的。因此,無法辨別哪—咖_7 41〇_424係用於使多 處理器系統400開機之實際開機處理器。 如上文所提及,可隨機選擇此等不同演算法以用於多處 f器系統中之SPE412_424 t的每—者。因此,舉例而 s ’可隨機選擇用於儲存於—晶片上儲存設備(例如,一 快閃ROM或其類似物)中之碼序列的不同開始位址且將其 提供至 SPE 412-424。命莖 qpp μ ^#SPE 412-424可接著以隨機選擇 之開始位址而開始執行指令’藉此產生遮蔽實際開機碼序 列之不同之熱概況及匯流排訊務。 Ο 或者,可將開機碼提供至SPE 412_424中之每一者,其 中將隨機延遲元件插入於該開機碼中。此等延遲元件可為 (例如)迭代機數目之次數的循環。自—監控SPE他似 之熱及匯流排訊務特徵之入侵者的觀點而言,此隨機延遲 導致開機碼在該等處理器之每一者上”看起來”不同。結
果,使得入侵者無法辨別哪一處理器正執行使多處理器Z 統開機之實際開機碼。 ° 圖4C說明另—說明性實施例’其中提供一虛設處理器, 來自-入侵者之攻擊可被重新引導至該虛設處理器。:圖 4C中所示,SPE0為隨機選擇之執行開機序列的開機處理 器。如在上文關於圖4A所描述之實施例中,spEi_spE4 121296.doc -33 - 200817970 4 12-4 18及SPE6-SPE7 422-424執行自一熱及匯流排訊務監 控觀點而言看起來像開機碼序列之碼。另一方面,SpE5 420執行一隨機選擇之演算法,可以一如上文關於圖化所 描述之方式類似的方式來隨機選擇該演算法。 因此,自一監控處理器410_424之特徵之入侵者的觀點 而言,所有 SPE0-SPE4 410-418 及 SPE6-SPE7 422-424 看起
U 來正執行相同碼。然而,SPE5 42〇呈現為獨特於其他 SPE。因&,-希望攻擊多處理器系統之開機序列的入侵 者可將攻擊重新引導針對SPE5 42〇而非實際開機處理器 SPE0 410,因為對於入侵者而言,似乎spE5、汕為實際開 機處理器。 正當藉由每次加電復位(P0R)操作來隨機選擇實際開機 處理器時,亦可自未選擇處理器來隨機 。 因此’就每-撤操作而言,可選擇—不同之開機處㈣ 及虛设處理器,藉此使得—人侵者更加難以推斷哪一處理 益正執打一可被損害以便獲得對多處理器系統之存取的者 際開機序列。 Λ 為完整性起見,圖彻兒明先前於上文所描述之說明性者 施例,其中由該等處理器中之每—者執行用於開機該^ 之開機碼。在此說明性實施例中’僅隨機選擇之開機處理 器被給予對秘密密餘(Skey)之存取,而其他處理器接心 機選擇之密錄(Rkeyl_Rkey7)。該等處理器甲之每—者= 使用被供應至其之密糊如’Skey或一Rkey)來解; 行開機碼。僅隨機逆禮夕μ 4丨士 迫钺&擇之開機處理器將能夠正確地解碼該 121296.doc -34- 200817970 開機碼並勃彳干t 、 執仃其,以使該資料處理系統進入一 然而,對於-外部監控器而言 -Γ ^ . ^、木似十所有處理器皆 V /、、、、開機,藉此遮蔽實際之開機處理哭,因為j # 處理器中之每一去脸批〜 σσ 04^4 者將執行類似刼作以試圖解 開機。亦即m 口解在及使该糸統 刪二: 中之每一者將產生-類似之熱及/ 1 " 一使侍一想要成為入侵者的人員難以传用旦、、目丨丨 探針及其類似物來 、 里“1 妳im 馮只際之開機處理器。 、、二 如由說明性實施例所提供之開機户理哭夕_ 選擇及開機序列之嘑#成y ]械處理裔之(^機 俄斤幻之遮敝,使得對於任 中的想要成A 進入夕處理态糸統 理哭正^ 者之人員變得非常難以能夠辨別哪一處 口口 '丁㈣機碼序列。因Λ,使得~相要成為入^ 的人員變得非常難以監控處理器之敎概、、兄:= 謅別祖田认士 …概况及匯流排訊務及 八;存取加密開機碼之秘密密鑰#1 一想要成為入侵者的人員變得難以此外,使得 入侵該系統的位置。因碼序列中之可 Ο 於對門趟皮,因此使传多處理器系統更安全以免 於對開機序狀未經授權之存取。 圖5-圖6係概述—用於將多 機選擇作為一開機^1田 纟、、先中之-處理器隨 摔作的、、,Μ 及用於遮蔽開機碼序列之例示性 ”乍的机私圖。將理解,可由 說明之每-區塊及該等流程圖中之==實施流程圖 電腦程式指令提供至一處理器或其他可鬼 置以產生一機器,使得在該處理器或复^化貢料處理裝 理护署μ他可程式化資料處 、 執订的指令產生用於實施該 所規定之功能的構件。亦可將此;:程圖區塊中 电月向式指令儲存於一 121296.doc -35 - 200817970 可?丨導—處理器或其他可程式化 式起作用的電腦 、'处里#置以一特定方 電腦可#取,& D" §己憶體或儲存媒體中,使得儲存於 品包括二:錯存媒體中之指令產生-製品,該製 件。…或該等流程圖區塊中所規定之功能的指令構 此’爪程圖說明之區塊支接用於拙> 士日6 的組合、用於H 杈用於執订規疋功能之構件 功^ 仃規定功能之步驟的組合及用於執行規定 ㈣之基 ==。亦將理解,可藉由執行規⑼能或 、專用硬體之電腦系統或藉由專用硬體及電腦指 。來貫施流程圖說明之每一區塊及流程圖說明中之 ^塊的組合。 =概述一用於隨機選擇一用於使一多處理 =理器的例示性操作。如圖5中所示,該操作以; —工為執行一加電復位(P〇R)操作(步驟510)開始。在執 曰1七之POR操作之後,系統控制器將—,,功率良好”信號 提七、至夕處理器系統之滲透邏輯(步驟Μ㈨且該滲透邏輯起 女口心機開機操作(步驟530)。 :透邏輯將一來自複數個處理器之處理器隨機選擇為開 =理器(步驟54〇)。滲透邏輯接著基於隨機選擇而設定處 0二之組怨位兀(步驟55〇)且發送信號使該等處理器開始開 ㈣作(步驟560)。一快閃R〇M將加密開機碼提供至處理 ^ 二鑰值自一秘密密鑰儲存器及隨機密鑰產生器提供 ^ ^ 了(步驟570)。該等處理器接著基於其之組態位元之 而4擇將由該等處理器使用之密鑰(步驟580)。該等處 121296.doc 200817970 王器試圖^於所選擇之密鑰來解密開機碼(步驟590)。所選 處理a使用秘密密餘來解密開機碼且使該系統開機 & ^ 5)應'主意,藉由所有其他未選擇處理器來解密開 :的嘗試將失敗且僅所選擇之處理器將能夠使該系統開 機。該操作接著結束。 係一概述一根據一說明性實施例之用於遮蔽一開機 ;列之例示性操作的流程圖。舉例而言,可在多處理器 糸統之每一處理器中執行圖6中所概述之操作。 如圖6中所不’處理器接收—信號以開始—開機操作(步 "61〇)。舉例而言’此步驟可對應於圖5中之步驟53〇。處 理“大圖解密開機碼(步驟62〇)且關於該解密嘗試是否失敗 =^ ^取(步驟㈣)。若解密係成功的(亦即,該處理 為為ί1返機選擇之開播#里哭、、 . # 械處 Ρ㈣行開機碼以藉此使多 处理為系統進入一操作狀態(步驟640)。
U :解在失敗’則選擇-用以執行以遮蔽開機序列之碼序 列(步科如上文所提及,視特定實施例而定 : ^列之選擇可基於-區域料器之—安全部分中的= °又馬序列一隨機選擇之開始位址、具有隨機延遲元件之 開機碼的使用或苴猶々木 y ^ 於該系統是否處; 列)而作出—判二即,^已完成開機序 〗疋(步驟670)。若非如此,則該操 f驟_且繼續執行遮蔽碼序列。若該系統處於-摔作^ 悲 束執行遮蔽碼序列(步驟680)且該操作終止。 因此’以上之說明性實施例提供了一機制,可藉由該機 121296.doc -37- 200817970 制而自複數個處理器選擇-處理器作為-用於使多處理哭 糸統開機至一操作狀態的開機處理器。該等說明性實施: 進-步提供了-機制,該機制用於遮蔽由一隨機選擇 理器所執行的開機碼序列以便使得—人侵者難以 = 機選擇哪-處理器來執行實際開機碼序列。使用此等: 制,使得多處理器系統由於使得一入侵者非常難以經由於 控開機碼序列來獲得對該系統之存取而更加安全。 已就由多處理器车矫φ々 口。,上 糸、,充中之一早個處理器所執行的開機碼 序列而描述了上文之說明性實施例。’然而,該等說明性每 施例並不限於此。在其他說明性實施例中,如下文所二 =,可二越多處理器系統中之複數個處理器來分布開機碼 列藉由也田、越多處理器系統中之複數個處理器來分布開 機碼序列’必須被損害以便獲關於開機序歹 藉此回避安全措施之處理器的數目得以增加。以且
U 二 文中所描述之說明性實施例的分布式開機操作 =之利用一早個安全核心之多處理器資料處理系統更安 二。:外’藉由分布開機操作,使得若該開機操作中之任 一部分被損害,則該開機操作失敗,藉此防止_未經授權 =固人㈣H統之安全性。換言之,儘管想要成為入侵 之亡貝可損害開機操作之—部分,但該想要成為入侵者 之人貝無法損害該開機操作之全部且因此無法獲得對多處 理器資料處理系統之存取。 就此說明性實施例而言’將開機碼序列分割為複數個分 割部分’使得可將每_分割部分提供至多處理器系統之一 121296.doc -38- 200817970 不同處理益。當執行開機碼序列之每一分割部分時,彼八 割部分在開機碼序列可在另一處理器上進行之前必須正: 地在其之各別處理器上完成。使用-安全通信機制來傳達 開機碼序列之一先前分割部分的圓滿完成。此安全通信機 制Ζ包括一指示先前會期未被損害之安全性符記,諸如一 加松密碼或其他安全性識別符(例如,-公用/私密加㈠ 分布式執行開機碼中所涉及的處理器可為多處理器系統 中之所有處理器或為多處理器系統中之處理器之一子組。 舉,而5,可使用一隨機選擇機制(諸如上文所描述之用 於選擇一單個開機處理器之隨機選擇機制)來隨機選 用於以一分布士 七/ 、 、 〇〇 ^ 式來使該糸統開機的複數個開機處理 =此外,可隨機選擇由處理器所執行之開機碼的特定分 割部分,伸佐4、A* Ο 传就母一加電復位(酿)操作而t,相同處理 ° τ或可不執仃與-先前POR操作中之開機碼分
分相同的開機碼分判邻八。+ 〇J … 可關於哪些處理器被涉 碼分割部分而執行隨L 處理器將執行何開機 系統之其他處理器(亦即,非開機處理器)可在 刀 機才呆作期間不執行先前所描述之各種遮蔽石y兒明 性實施例中之—式夕本从,ν 合禋遲敁碼说明 之夂種m 夕者的任何工作,或可執行先前所描述 :!,碼說明性實施例中之-或多者的遮蔽碼序列2 遮敝在處理器之隨機選擇之子組上的開機碼執行。換言 121296.doc -39- 200817970 之’在不背離本發明之精神及範疇 性實施例之分右4.„^ 扠卜了將本說明 ^ ^ 布式開機碼序列操作與先前所描述之說μ & 貫施例中之1多者組合。 4之次明性 ® 7A# - n m M ^ __ ^ ^ ^ A p:,,, 形配置之分右4、„ MU ^乏、,且悲為—為鏈或環 供複數個♦ 例示性圖。如圖7A中所示,提 供複數個處理器720 丁美 開機。在所給干c/於使夕處理器資料處理系統 丘處理哭Λ lj中’在分布式開機操作中利用所有 即,),而控制處理器(例如,_不執: 刀布式開機碼。當然,在盆 丁 Ε匕括於分布式開機操作中。 將 例中,如先前所其他說明性實施 八%刖尸;r提及,僅可你田夕士 之處理哭之w Μ 器資料處理系統中 -里。。之-子組來執行分布式開機操作。 可將可儲存於一愈多虚踩 嗖備(^4 m '、 貝料處理系統相關聯之儲存 口又備(啫如圖2中之快閃rom 子 為獨立可執行之分)的加密開機碼710分割 Ο 舉例而^ (亦即’開機碼分割部分1至η)。 :Γ…將該等分割部分作為加密開機碼中之模” 常用程式而提供,可使用相同中之I且或 (一)來獨立加密該等分 ⑽“鑰 八夕叙Q… 較佳地,開機碼分割部 刀之數目等於將被涉及於分布 曰γ + n 式開枝操作中之處理哭的盔 目(亦即,開機處理器的數目)。妙 口口勺數 例中(諸如在開機處理器…:而,在某些說明性實施 分之數目並不限制開機處理 配置中^開機碼分割部 . 义數目且可為小於竣大於戸弓 機處理器之數目之任何數目的分割部分。 於開 在滲透邏輯790之控制下勃^、 卜執订分布式開機操作,該滲透 121296.doc •40- 200817970 邏輯790可與(例如)圖1中之滲透邏輯193相同。渗透邏輯 携(例如,經由隨機事件產生器之使用者)可隨機選擇待被 用作開機處理器之處理器72〇_75〇以及可隨機選擇該等产 機選擇之處理器720_75〇中之每一者將執行哪_分割: 分。在此實施例中,渗透邏輯79〇可留意將執行開機碼分 =部分Γ大序以便經由使用—安全通信機制來確保開機石馬 列之女全性,該安全通信機制指示分布 Ο Ο 先前會期是否已被損害。然而,為本描述之簡單 將假定在所描繪之實例中,將多處理器系統之所有處理器 或至y疋共處理益用於分布式開機操作中且以循序順序而 將開機碼分割部分提供至處理器72〇_75〇。 滲透邏輯790將選擇器信號提供至處理器720-750以用於 選擇哪一開機碼分割部分將由處理器720-750中之每一者 來執行。另外’滲透邏輯·提供密餘值選擇器信號以用 於致使處理器720_75〇自Skey儲存器將一選擇作為待用 於解雄、其之相應開機碼分割部分的密餘。舉例而言,處理 為·750使用所供應之一來解密其之開機碼分割部分 虞,架構中之處理器Μ。,之配置或在渗 分^ 4 t L制下以恰當之序列來執行開機碼分割部 在所繪示之實例中,SPFf) 79Π粒丄4 部分1、執行該開機物”八且密其之開機碼分割 之成功完成安全地傳二機碼分割心 作。此外,可在咖之間利用Γ分布式開機操 利用一女全性機制以用於指示先 121296.doc -41 · 200817970 損匕含先前開機碼分㈣分之執行的會期)未被 名、性機制可(例如)傳遞—安全性符記、數位簽 功完二’’自』開機碼分割部分之-總和檢查碼、使用成 认汛心之公用密鑰/私密密鑰加密或其類似者。 卟用於值;告八‘ ]η 全性機劍立:刀布式開機操作之先前會期是否被損害的安 思欲在本發明之精神及範疇内。 Ο u 確到開機碼分割部分1執行之成功及未損害完成的 SPE1 730可解密其之開機碼分 該開機碼分宝,丨卹八 口』口丨刀2、執仃 # 刀口J 4刀且接著將其對開機碼分割部分2之成 元成傳達至SPE2 74〇。此過程可繼 之成力 發送1 p ~ a $」迤、、貝直至所有處理器已 :…元成分布式開機操作的其之部分而未 號。開機碼分割部 、。° 送不成功執行或== 何斷裂(例如,發 4被知害執行的任何传辦)盡 信號至系統订U)導致一可被發送 碼分割部分,多产理抑次 —已成功元成所有開機 处杰貝料處理系統便處於可在 上執行軟體應用程式的操作狀態。 了在各處理- 上文所描述之說明料者 g例可關於在處理器上所執行之 割部分之-彳 =::ΓΓΙ]用其他確保開機碼分 一擴展係關於分布έ,上述菊鍵配置之 堪* 開機操作而提供處理器之一環开^ 置,使得最後之處理哭⑷ 、0之%形配 、°σ (例如,SpE7 750)將苴對苴之 碼分割部分的成功及未 之開機 "初始”開、/元成傳達返回至《擇作為 々弟—處理器(例如,SPE0 720)。以此 121296.doc •42- 200817970 方式,可在初始開機處理器處使用經由該 會期傳遞至下-會期之安全性機制(例如,安全自- 遞增計數值,㈣)以驗證整個分布式開機摔作之:記、 執行。 ” F又未損害 此外,處理斋之一環形配置 夏兀。午利用比開機處 目更大數目之開機碼分割部分。因此 广之數 料處理系統中之處理哭之 :夕處理器資 Ο 。。 子組選擇為開機處理哭,目,丨& 關於分布式開機操作而以一 。。則當 衣形配置加以配置時, 之此子組可執行任何數目 處理斋 ^歎目之開機碼分割部分。 邏輯790以下能力:不僅 匕、,'。予滲透 丨至月b丨思械遲擇多處理哭 統中之哪些處理器將為開機-、枓處理系 處理哭將A八右4 叩,而且能隨機選擇多少 處理杰將為刀布式開機摔作 夕 笛一 械知作中之開機處理器。因此,在_ 弟一 POR插作中,可將TO老m 々 η 將四個處理器選擇為開機處理哭,而 在一隨後之卩0尺操作中, 处。。而 r 7〇n-r T、擇二個開機處理器。滲透邏 幸耳790可§有用於隨機 ^ 通执、擇一疋數目之處理哭 為開機處理器的邏輯,-^將八、擇 七丰、, μ匕輯接者用於控制處理器之隨機 遥擇,如先丽於上文所描述。 戍 關於一分布式開機摔作 提供^作之開機處理器的另-可能配置係 例之組態為-主控仏—㈣根據—說明性實施 Η 〇 j, 工又工配置之分布式開機操作的例示性 圖。如圖7Β中所+,收 ^ 此产理哭叮力 將—處理器760指定為主控處理器。 处為可為共處理器中一 採哭",L 者(例如,SPE)或為控制處 理為(例如,]PPE)。 750)中之每—者倉主小工处里益(例如,SPE〇_SPE7 720- 、貝兀成其之開機碼分割部分且以一類似 121296.doc -43 - 200817970 於如上文於圖7Α中所描述之方式的方式向主控核心安 傳達其已完成執行且未被損害…旦主控處理器 受控處理器720-750中之每一者接收信號且確認直 被損害’則允許多處理器資料處理系統 體應用程式之操作狀態。 執饤庠人 應瞭解’儘管已在本文中關於 了考柿奖令试 刀邱式開機才呆作而描述 …之—為鏈、環形及主控/受控配置 Ο Ο 不僅限於此等所描述之配置 ^月並 之精神及範田壽的前提下將關於—分布式離本發明 之任何配置用於說明性實施例之機:式嶋作的處理器 圖8係-概述根據一說明性實施例之用 統之分布式開機之例示性操作 …。糸 择作紅 千忭白’ *私圖。如圖8中所示, 払作以滲透邏輯自系統控制器接收一,,功
8 1 〇)而開始。該滲透邏輯 ^ W 之複數個處理哭的,理…處〜貝料處理系統中 上文所提及,::=:Γ為開機處理器(步驟82。)。如 處理器或多處理器資料〜所有該等處理器被選擇為開機 擇為開機處理器。舉例糸統中之處理器之某子組被選 事件產生器來執行此選擇。 ”之紋機 渗透邏輯選擇待被指派至所選擇 分割部分(步驟S30)。 开处理益的開機碼 -開機碼分宝”八(:—目關聯之開機處理器來執行下 割部分之執行是)刪處理器判定開機碼分 此,則將-開機失::、未損吻 a u至錢控制器(步驟⑽)且操 ^21296.doc -44- 200817970 作終止。 若開機碼分割部分成功地執行且未被損害,則開機處理 器判定S否已成功執行所有開機碼分割部分(步驟870)。若 非如此,則操作返回至步驟840且由其之相關聯之開機片 理器來執行下-開機碼分割部分。若已成功執行所有該: 開機碼分割部分,則開機處理器將資料處理系統_ 機發送信號至系統控制器(步驟880)且操作終止。 J幵 Ο Ο 如上文所陳述,除隨機選擇-單個開機處理器且 ,多處理器資料處理系統之其他處理器執行遮蔽操作: 外,既明性實施例提供用於遍及複數 操作的機制。該等說明性實施例提供了用於來刀布開機 處理器、隨機選擇待執行於所選擇之開機處理器上的門機 碼分割部分及用以·由各開機 料 卹八4 6 W轨订之開機碼分宝,丨 。刀之女王性的機制。所有此等各 ° 哭資粗♦ Ϊ田么W …吊且刀嘈加多處理 。。貝枓處理糸統之安全性以防 控。 Ρ心木經杈榷之監 說明性實施例可採取一完全硬體 施例或-含有硬體元件及軟體元 :王权體貫 Κ土貝域巾,本發明係 ' 不限於):勤體、常駐軟體、微碼等等其包括(但 此外,S兒明性實施例可採取一可— 讀取媒體存取之電腦程式產品的形式,卞2用或電腦可 腦或任何指令執行系統使用或結合1 =胆提供供—電 糸統而使用的程式碼。為此描述之目的何指令執行 、一電腦可用或電 】21296.doc -45 - 200817970 腦可讀取媒體可為任何可含有、儲存、傳達 供由指令執行系統、裝置成 寻雖次傳达 统、”n * 或結合指令執行系 統、I置或设備而使用之程式的裝置。 該媒體可為-電子、磁性、光學、電磁、紅外 糸統(或裝置或設備)或—傳播媒體。 ± 旦 實例包括一半導,4 m & 匈了續取媒體之 片ur憶體、磁帶、-抽取式電腦磁 π" 一⑽存取記憶體(RAM)、—唯讀記憶體⑽M)、一 碟及一光碟。光碟之當前實例包括緊密光碑-唯讀 記憶體(CD-ROM)、緊宓#雄> & 尤茱隹口貝 DVD〇 山先碟_項取/寫入(CD-R/W)及 如上文所描述之電路可或 了為用於一積體電路晶片之設計之 二二。:晶片设計可以-圖形電腦程式化語言而產生且儲 =電腦儲存媒體(諸如碟片、帶、實體硬碟機
U 諸如在一儲存存取網路中))中。若設計者並不製造 ^ 製造W之光微影料,則料者可藉由實體 輸所如Λ精由提供儲存該設計之儲存媒體的複本)來傳 =仟叹d十或以電子之方式(例如,經由網際網路)直接或 ;=將所得設計傳輸至此等實體。可接著將所儲 ::換為用於製造光微影遮罩之適當格式(例如, ⑽該等光微影遮罩通常包括所討論之晶片設計之多 其將形m圓上。可利用該等光微影遮罩來 1疋待钱刻或另外處理之晶_域(及/或其上之層)。 二Γ者以原始晶圓(亦即’作為-具有多個:經封 、曰曰片的晶圓)之形式、作為一裸晶粒或以一封裝之形 I2I296.doc -46- 200817970 ^來刀布所传積體電路晶片。在後者之狀況下,可將晶片 女义於早自晶片封裝(諸如塑膠載體,纟具有附加至_ 母板或其他較高階载體之引線)中或安裝於多晶片封裝(諸 士 '瓷載體’其具有表面互連或内埋互連中之任一者或 備或任何其他計算設備 兩者)中。在任—狀況τ,可接著將該晶片與其他晶片、 離政電路元件及/或其他信號處理設備整合作為一中間產 品(諸如一母板)或一最終產品之一部分。該最終產品可為 ㈣包括積體電路晶片之產品,#自玩具及其他低端應用 變化至具有一顯示器、—鍵盤或其他輸入設備及一中央處 理器之高級電腦產品。此外,其巾可提供龍電路晶片2 最終產品可包括遊戲機器、遊戲控制臺、掌上型計算設 備個人數位助理、通信設備(諸如無線電話及其類似設 備)、膝上型計算設備、桌上型計算設備、伺服器計算設 Ο 已出於說明及描述之目的而呈現了本發明之描述,且該 描述並不意欲具有詳盡性或被限制至呈所揭示之形式的2 發明。一般熟習此項技術者將顯而易見許多修改及改變。 遥擇並描述實施例以便最好地解釋本發明 & a之原理、實際應 用,且使得一般熟習此項技術者能夠針對具有如適合於預 期之特定使用之各種修改的各種實施例而理解本發明。' 【圖式簡單說明】 x 圖1係其中可實施說明性實施例之一多虛理/ 一 夕爽理斋系統的例 示性方塊圖; 圖2係一說明根據一說明性實施例之隨機 〜丨思铖開機處理器選 121296.doc -47 - 200817970 擇機制之主要操作組件的例示圖; 圖3 Α係一說明根據一說明性實施例之隨機選擇機制的例 示圖; 圖3B係根據一說明性實施例之被引入於至一隨機事件產 生器之一 LFSR計數器之輸入的抖動的圖形表示; 圖3 C係一說明其中使用並行信號線而將一秘密密鑰及複 Ο
數個隨機產生之密鑰值提供至處理器之一說明性實施例的 例示性圖; 圖4A-4D係說明根據說明性實施例之用於遮蔽一隨機選 擇之開機處理器之一安全開機操作的遮蔽操作的例示性 圖; 圖5係一概述一用於將一多處理器系統中之一處理器隨 機選擇作為一開機處理器之例示性操作的流程圖; 圖ό係一概述一根據一說明性實施例之用於遮蔽一開機 碼序列之例示性操作的流程圖; 圖7 Α係一說明根據一說明性實施例而被組態為一菊鏈或 壤形配置之分布式開機操作的例示性圖; 圖7B係一說明根據_說明性實施例而被組態為一主控/ 叉控配置之分布式開機操作的例示性圖;及 圖8係一概述根據一說明性實施例之用於一多處理器系 統之分布式開機的例示性操作的流程圖。 【主要元件符號說明】 100 Cell寬頻引擎(CBE) 110 功率處理器元件(PPE) 121296.doc -48 - 200817970 112 L 1快取區 114 L2快取區 116 功率處理器單元(PPU) 120-134 協同處理器元件(SPE) 140-154 協同處理器單元(SPU) 155-162 記憶體流控制單元(MFC) 163-170 區域記憶體或儲存器(LS) p 180-194 匯流排介面單元(BIU單元) 193 滲透邏輯 196 高頻寬内部元件互連匯流排(EIB) 197 匯流排介面控制器(BIC) 198 記憶體介面控制器(MIC) 199 共用記憶體 210 系統控制器 220 安全密鑰儲存器 u 230 快閃RQM 232 加密開機碼 240 滲透邏輯 * 242 隨機事件產生器 * 250 組態位元暫存器 260 選擇器 262 隨機值產生器 270 協同處理器元件(SPE) 280 處理器 121296.doc -49- 200817970 Γ 290 處理器 310 隨機事件產生器 320 線性反饋移位暫存器(LFSR)計數器 330 環形振盪器 340 選擇器信號暫存器/解碼器 350 選擇器 352 多工器 360 選擇器 362 多工器 370 選擇器 372 多工器 390 隨機密鑰值產生器 391 多工器 392 多工器 393 協同處理器元件(SPE) 394 協同處理器元件(SPE) 395 Skey儲存器/安全密鑰儲存器 396 隨機事件產生器 397 滲透邏輯 400 多處理器系統 410 SPE0 412 SPE1 414 SPE2 416 SPE3 121296.doc -50- 200817970 Ο 418 SPE4 420 SPE5 422 SPE6 424 SPE7 710 加密開機碼 720 處理器 730 處理器 740 處理器 750 處理器 760 處理器 790 滲透邏輯 121296.doc -51 -
Claims (1)
- 200817970 十、申請專利範圍: 1. 一種在一具有複數個處理器之資料處理系統中用於使該 資料處理系統開機的方法,其包含: 將開機碼分割為複數個開機碼分割部分; 將一來自該複數個開機碼分割部分之開機碼分割部分 載入該資料處理系統之該複數個處理器内的複數個開機 處理器中之每一者中;及 將該複數個開機碼分割部分作為複數個會期而在其各 Ί 別相關聯之開機處理器上加以執行,以藉此使該資料處 理系統開機,其中若任一會期導致一開機碼分割部分之 一不成功或被損害執行,則該資料處理系統之開機失 敗。 2. 如請求項1之方法,其中,當完成每一開機碼分割部分 在其之相關聯之會期中的執行時,該複數個處理器中之 一相關聯之執行該開機碼分割部分的開機處理器將該開 、 機碼分割部分之該成功完成發送信號至與一開機碼序列 中之一下一開機碼分割部分相關聯的另一開機處理器。 3. 如請求項1之方法,其中在該複數個開機碼分割部分之 各別相關聯之開機處理器上執行該複數個開機碼分割部 分包含: 對開機處理器間之通信利用一安全性機制以確保該複 數個開機碼分割部分在其之各別相關聯之開機處理器上 的未損害執行。 4. 如請求項3之方法,其中該安全性機制包含以下中之至 121296.doc 200817970 :-者:在開機處理器之間傳遞一安 處理哭夕Ρ弓难、庵也, 匕’在開袖: -之間傳遞-數位簽名;使用一密碼 碼分割部分之一總和檢杳 ' 開 钤/私文―A — -馬’或使用该等信號之公用密 ‘ /私始、密鑰加密。 5.項1之方法’其中開機碼分割部分之—數目等於 開機處理器之—數目。 欠目# 、 6·如請求項丨之方法,其進一步包含: Ο Ο 自:複數個處理器隨機選擇該等開機處理 專開機處理器係該複數個處理器之一子組。 -中。 7.如請求項6之方法,其進一步包含:、、 在該複數個處理器之未被隨 理器上執行遮蔽碼。 巧開私處理器的處 8·如請求項丨之方法,其進_步包含: 隨機選擇哪一開機碼分 聯,其中每一門… ^與母一開機處理器相關 分。 於,、他開機碼分割部 9·如請求項1之方法,其中該等用於在該 執行開機碼分割部分 :處理器上 罢々 曰d係以一網鏈配置、一戸心 置或一主控/受控配置中一 展形配 、一考而配置。 10·如請求項i之方法,苴 ,^ ^ ^中4貝料處理系統係一里# 上多處理器李统,兮g拼 異貝晶片 叩糸、、死4異質晶片上多處理哭备从 據一第一指令集而操作之第 的”、、先具有一根 同於該第-指令集之第二指次夕個根據-不 種貧料處理系統,其包含: 处理态。 121296.doc 200817970 複數個處理器,· % m双调處 其中該開 分的開機 处一叫微碼儲存哭 碼,及 ^碼儲存轉存被分割為複數個開機碼分^ 祸接至該複數個處理器之滲透邏輯,苴 將-來自該複數個開機碼分割部分之開機:渗透邏輯 入該資料處理彳& > ”、、刀割部分載 处理糸統之该钹數個處理器 理器中之每一者中, ^ 灵數個開機處 Τ 五具中该稷數個開檣石民八 作為複數個會期而在其各別相關聯之開機處::部分係 執仃’以藉此使該資料處理系統開機,其σσ上加以 導致一門&八 /、中右任一會期 導致«碼分割部分之-不成功或 資料處理系統之開機失敗。 、。執仃,則该 12. 13. 14. 如睛求項Π之系統,1中,去— 在苴夕士 q /、中田凡成母—開機碼分割部分 在/、之相關聯之會期中的執行時 一 了 茨设數個處理器中之 一相關聯之執行該開機碼分判部分 x ,刀口J 口丨刀的開機處理器將該開 “晴之該成功完成發送信號至與—開機碼序列 ,-下-開機碼分割部分相關聯的另—開機處理器。 :請求項11之系統’其中利用-安全性機制以用於開機 处理器間之通信’從而確保該複數個開機碼分割部分之 未損害執行。 如睛求項13之系統,其中該安全性機制包含以下中之至 少一者:在開機處理ϋ之間傳遞—安全性符記;在開機 處理器之間傳遞—數位簽名;使用一密碼;傳遞一開機 碼分割部分之一總和檢查碼;或使用該等信號之公用密 121296.doc 200817970 15 16 17Ο 18 19. 20.Ο 錄/私密密鑰加密。 .如請求項11之系統,苴中 ^ /、中開機碼分割部分之一數目篝f 開機處理器之一數目。 致目專於 •如請求項11之系統,苴Φ ^ 八中5亥滲透邏輯自該複數個虛採哭 Ik機選擇該等開機處理器, 处里口口 -八中該等開機處理哭俜該 禝數個處理器之一子組。 叩係忑 月求項1 6之系統,其中該 。^ -^ 5文個處理裔中之未被隨機 擇為開機處理器的處理器執行遮蔽碼。 ,如請求項11之系統,其中嗲 碼分割㈣機選擇哪-開機 地 開钺處理态相關聯,且其中各一門 機碼分割部分不同於其他開機碼分割部分。中母開 執r m: 11之系統’其中該等用於在該等開機處理器上 仃開機碼分割部分的會 匈鏈配置、—環形配 主控/欠控配置中之一者而配置。 一種電腦程式產品,其包含一且古^ 電腦可用媒體,其中當在—資:Γ電腦可讀取程式之 電腦可讀取程式導致”心&理系統上執行時’該 彺八蜍致该貧料處理系統·· 將開機碼分割為複數個開機碼分割部分; 將一來自該複數個開機碼分割 #入嗾叙, 4 1刀之開機碼分割部分 複數個開機處理器中之每一者中;及 將該複數個開機碼分判部分 .,,,M , 口」口丨刀作為複數個會期而在1冬 肩聯之開機處理器上加以執行 ’、 系統開機,JL中〜紅_ a 、 資料處理 ’、右一 ^期導致一開機碼分割部分之一 不成功或被損害執行, 貝J 3貝枓處理糸統之開機失敗。 121296.doc
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/423,342 US20070288740A1 (en) | 2006-06-09 | 2006-06-09 | System and method for secure boot across a plurality of processors |
Publications (1)
Publication Number | Publication Date |
---|---|
TW200817970A true TW200817970A (en) | 2008-04-16 |
Family
ID=38373250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW096119979A TW200817970A (en) | 2006-06-09 | 2007-06-04 | System and method for secure boot across a plurality of processors |
Country Status (6)
Country | Link |
---|---|
US (2) | US20070288740A1 (zh) |
EP (1) | EP2027551A1 (zh) |
JP (1) | JP5031029B2 (zh) |
CN (1) | CN101401103B (zh) |
TW (1) | TW200817970A (zh) |
WO (1) | WO2007141112A1 (zh) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3916953B2 (ja) * | 2001-12-28 | 2007-05-23 | 日本テキサス・インスツルメンツ株式会社 | 可変時分割多重伝送システム |
US7774616B2 (en) * | 2006-06-09 | 2010-08-10 | International Business Machines Corporation | Masking a boot sequence by providing a dummy processor |
US20070288761A1 (en) * | 2006-06-09 | 2007-12-13 | Dale Jason N | System and method for booting a multiprocessor device based on selection of encryption keys to be provided to processors |
US7594104B2 (en) * | 2006-06-09 | 2009-09-22 | International Business Machines Corporation | System and method for masking a hardware boot sequence |
US20070288738A1 (en) * | 2006-06-09 | 2007-12-13 | Dale Jason N | System and method for selecting a random processor to boot on a multiprocessor system |
US8132267B2 (en) | 2008-09-30 | 2012-03-06 | Intel Corporation | Apparatus and method to harden computer system |
US20100083365A1 (en) * | 2008-09-30 | 2010-04-01 | Naga Gurumoorthy | Apparatus and method to harden computer system |
CN102043648A (zh) * | 2009-10-23 | 2011-05-04 | 中兴通讯股份有限公司 | 多核系统及其启动方法 |
US20110099423A1 (en) * | 2009-10-27 | 2011-04-28 | Chih-Ang Chen | Unified Boot Code with Signature |
WO2013009619A2 (en) * | 2011-07-08 | 2013-01-17 | Openkeak Inc. | System and method for validating components during a booting process |
US9465755B2 (en) | 2011-07-18 | 2016-10-11 | Hewlett Packard Enterprise Development Lp | Security parameter zeroization |
US9319884B2 (en) | 2011-10-27 | 2016-04-19 | T-Mobile Usa, Inc. | Remote unlocking of telecommunication device functionality |
US9055443B2 (en) | 2011-10-27 | 2015-06-09 | T-Mobile Usa, Inc. | Mobile device-type locking |
US8839004B1 (en) * | 2012-04-16 | 2014-09-16 | Ionu Security, Inc. | Secure cloud computing infrastructure |
US9172538B2 (en) | 2012-04-20 | 2015-10-27 | T-Mobile Usa, Inc. | Secure lock for mobile device |
US10075848B2 (en) | 2012-08-25 | 2018-09-11 | T-Mobile Usa, Inc. | SIM level mobile security |
TWI495785B (zh) * | 2013-05-29 | 2015-08-11 | Univ Chaoyang Technology | 握壓推動流體之發電裝置 |
US9268942B2 (en) | 2013-06-12 | 2016-02-23 | Arm Limited | Providing a trustworthy indication of the current state of a multi-processor data processing apparatus |
JP2015011357A (ja) * | 2013-06-26 | 2015-01-19 | 富士通株式会社 | 情報処理システム及び情報処理システムの制御方法 |
CN104281460A (zh) * | 2013-07-08 | 2015-01-14 | 英业达科技有限公司 | 伺服器及启动方法 |
CN104346150B (zh) * | 2013-07-30 | 2017-10-17 | 华为技术有限公司 | 多实例业务的可执行文件的生成方法和装置 |
US9807607B2 (en) | 2014-10-03 | 2017-10-31 | T-Mobile Usa, Inc. | Secure remote user device unlock |
US10769315B2 (en) | 2014-12-01 | 2020-09-08 | T-Mobile Usa, Inc. | Anti-theft recovery tool |
US9916476B2 (en) * | 2015-08-28 | 2018-03-13 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Maintaining cryptoprocessor types in a multinode environment |
WO2018042766A1 (ja) * | 2016-08-30 | 2018-03-08 | 株式会社ソシオネクスト | 処理装置、半導体集積回路及び半導体集積回路の起動方法 |
US10171649B2 (en) | 2017-04-21 | 2019-01-01 | T-Mobile Usa, Inc. | Network-based device locking management |
US10476875B2 (en) | 2017-04-21 | 2019-11-12 | T-Mobile Usa, Inc. | Secure updating of telecommunication terminal configuration |
US10678927B2 (en) * | 2017-08-31 | 2020-06-09 | Texas Instruments Incorporated | Randomized execution countermeasures against fault injection attacks during boot of an embedded device |
US11593119B2 (en) * | 2018-04-27 | 2023-02-28 | Tesla, Inc. | Autonomous driving controller parallel processor boot order |
DE102018133605B4 (de) * | 2018-12-27 | 2023-03-02 | Bachmann Gmbh | Verfahren und Vorrichtung zur Prüfung der Integrität von Modulen einer Windkraftanlage |
US10972901B2 (en) | 2019-01-30 | 2021-04-06 | T-Mobile Usa, Inc. | Remote SIM unlock (RSU) implementation using blockchain |
FR3094520B1 (fr) * | 2019-03-25 | 2021-10-22 | St Microelectronics Rousset | Clé de chiffrement et/ou de déchiffrement |
US11321244B2 (en) | 2019-12-16 | 2022-05-03 | Samsung Electronics Co., Ltd. | Block interface emulation for key value device |
CN111106935B (zh) * | 2019-12-27 | 2023-05-16 | 天津芯海创科技有限公司 | 一种支持多端异构模式下的秘钥管理架构 |
US11868635B2 (en) * | 2020-04-20 | 2024-01-09 | Western Digital Technologies, Inc. | Storage system with privacy-centric multi-partitions and method for use therewith |
US11423153B2 (en) * | 2020-08-18 | 2022-08-23 | Raytheon Company | Detection of malicious operating system booting and operating system loading |
US11409846B2 (en) * | 2021-01-14 | 2022-08-09 | Safelishare, Inc. | User controlled trusted and isolated computing environments |
US11797679B2 (en) * | 2021-07-28 | 2023-10-24 | Dell Products, L.P. | Trust verification system and method for a baseboard management controller (BMC) |
Family Cites Families (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63121978A (ja) * | 1986-11-11 | 1988-05-26 | Fujitsu Ltd | 大規模組合せ問題の最適化処理装置 |
JPH04216159A (ja) * | 1990-12-17 | 1992-08-06 | Hitachi Ltd | 計算機の高速立ち上げ方式および計算機システム |
US5555373A (en) * | 1995-02-06 | 1996-09-10 | International Business Machines Corporation | Inactivity monitor for trusted personal computer system |
US5675772A (en) * | 1995-03-23 | 1997-10-07 | Industrial Technology Research Institute | Device and method for reconfiguring a computer system with an incompatible CPU |
JPH08272756A (ja) * | 1995-03-31 | 1996-10-18 | Toshiba Corp | マルチプロセッサシステムの起動方法 |
US5937063A (en) * | 1996-09-30 | 1999-08-10 | Intel Corporation | Secure boot |
JP2988518B2 (ja) * | 1997-03-17 | 1999-12-13 | 日本電気株式会社 | マルチプロセッサ制御方式 |
US6192475B1 (en) * | 1997-03-31 | 2001-02-20 | David R. Wallace | System and method for cloaking software |
US7587044B2 (en) * | 1998-01-02 | 2009-09-08 | Cryptography Research, Inc. | Differential power analysis method and apparatus |
JP3614650B2 (ja) * | 1998-03-20 | 2005-01-26 | 富士通株式会社 | マルチプロセッサ制御方式及びこれに用いられるブート装置及びブート制御装置 |
US6141756A (en) * | 1998-04-27 | 2000-10-31 | Motorola, Inc. | Apparatus and method of reading a program into a processor |
US6216216B1 (en) * | 1998-10-07 | 2001-04-10 | Compaq Computer Corporation | Method and apparatus for providing processor partitioning on a multiprocessor machine |
CA2252078C (en) * | 1998-10-28 | 2009-02-17 | Certicom Corp. | Power signature attack resistant cryptographic system |
FR2787900B1 (fr) * | 1998-12-28 | 2001-02-09 | Bull Cp8 | Circuit integre intelligent |
US7092523B2 (en) * | 1999-01-11 | 2006-08-15 | Certicom Corp. | Method and apparatus for minimizing differential power attacks on processors |
US6282601B1 (en) * | 1999-03-31 | 2001-08-28 | International Business Machines Corporation | Multiprocessor data processing system and method of interrupt handling that facilitate identification of a processor requesting a system management interrupt |
US6578131B1 (en) * | 1999-04-27 | 2003-06-10 | Microsoft Corporation | Scaleable hash table for shared-memory multiprocessor system |
US6415348B1 (en) * | 1999-08-23 | 2002-07-02 | Advanced Micro Devices, Inc. | Flexible microcontroller architecture |
US6550019B1 (en) * | 1999-11-04 | 2003-04-15 | International Business Machines Corporation | Method and apparatus for problem identification during initial program load in a multiprocessor system |
US6473857B1 (en) * | 1999-12-06 | 2002-10-29 | Dell Products, L.P. | Centralized boot |
DE10000503A1 (de) * | 2000-01-08 | 2001-07-12 | Philips Corp Intellectual Pty | Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb |
US6532538B1 (en) * | 2000-02-17 | 2003-03-11 | International Business Machines Corporation | Method and system for supporting multiple operating systems on the same disk running on different computers at the same time |
CA2298990A1 (en) * | 2000-02-18 | 2001-08-18 | Cloakware Corporation | Method and system for resistance to power analysis |
US6754818B1 (en) * | 2000-08-31 | 2004-06-22 | Sun Microsystems, Inc. | Method and system for bootstrapping from a different boot image when computer system is turned on or reset |
DE10061998A1 (de) * | 2000-12-13 | 2002-07-18 | Infineon Technologies Ag | Kryptographieprozessor |
US7036023B2 (en) * | 2001-01-19 | 2006-04-25 | Microsoft Corporation | Systems and methods for detecting tampering of a computer system by calculating a boot signature |
US6807553B2 (en) * | 2001-04-23 | 2004-10-19 | Safenet B.V. | Digital true random number generator circuit |
US7065654B1 (en) * | 2001-05-10 | 2006-06-20 | Advanced Micro Devices, Inc. | Secure execution box |
US7203747B2 (en) * | 2001-05-25 | 2007-04-10 | Overture Services Inc. | Load balancing system and method in a multiprocessor system |
FI114416B (fi) * | 2001-06-15 | 2004-10-15 | Nokia Corp | Menetelmä elektroniikkalaitteen varmistamiseksi, varmistusjärjestelmä ja elektroniikkalaite |
US7237121B2 (en) * | 2001-09-17 | 2007-06-26 | Texas Instruments Incorporated | Secure bootloader for securing digital devices |
US6694435B2 (en) * | 2001-07-25 | 2004-02-17 | Apple Computer, Inc. | Method of obfuscating computer instruction streams |
US6641050B2 (en) * | 2001-11-06 | 2003-11-04 | International Business Machines Corporation | Secure credit card |
US7082542B2 (en) * | 2001-12-21 | 2006-07-25 | Intel Corporation | Power management using processor throttling emulation |
US7343484B2 (en) * | 2002-03-28 | 2008-03-11 | O2Micro International Limited | Personal computer integrated with personal digital assistant |
US7065641B2 (en) | 2002-06-13 | 2006-06-20 | Intel Corporation | Weighted processor selection apparatus and method for use in multiprocessor systems |
US7121639B2 (en) * | 2002-12-02 | 2006-10-17 | Silverbrook Research Pty Ltd | Data rate equalisation to account for relatively different printhead widths |
GB2406943B (en) * | 2002-12-12 | 2005-10-05 | Advanced Risc Mach Ltd | Processing activity masking in a data processing system |
US7315874B2 (en) * | 2003-03-14 | 2008-01-01 | Nxp B.V. | Electronic circuit for random number generation |
US7337314B2 (en) * | 2003-04-12 | 2008-02-26 | Cavium Networks, Inc. | Apparatus and method for allocating resources within a security processor |
US7200772B2 (en) * | 2003-04-29 | 2007-04-03 | Intel Corporation | Methods and apparatus to reinitiate failed processors in multiple-processor systems |
US7171568B2 (en) * | 2003-06-13 | 2007-01-30 | International Business Machines Corporation | Remote power control in a multi-node, partitioned data processing system |
US8838950B2 (en) * | 2003-06-23 | 2014-09-16 | International Business Machines Corporation | Security architecture for system on chip |
JP4248950B2 (ja) * | 2003-06-24 | 2009-04-02 | 株式会社ルネサステクノロジ | 乱数発生装置 |
US7424620B2 (en) * | 2003-09-25 | 2008-09-09 | Sun Microsystems, Inc. | Interleaved data and instruction streams for application program obfuscation |
US20050160474A1 (en) * | 2004-01-15 | 2005-07-21 | Fujitsu Limited | Information processing device and program |
US7426749B2 (en) * | 2004-01-20 | 2008-09-16 | International Business Machines Corporation | Distributed computation in untrusted computing environments using distractive computational units |
JP2005227995A (ja) * | 2004-02-12 | 2005-08-25 | Sony Corp | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
US7940932B2 (en) * | 2004-04-08 | 2011-05-10 | Texas Instruments Incorporated | Methods, apparatus, and systems for securing SIM (subscriber identity module) personalization and other data on a first processor and secure communication of the SIM data to a second processor |
EP1596270A1 (en) * | 2004-05-10 | 2005-11-16 | Dialog Semiconductor GmbH | Micro-controller controlled power management chip |
US7949883B2 (en) * | 2004-06-08 | 2011-05-24 | Hrl Laboratories, Llc | Cryptographic CPU architecture with random instruction masking to thwart differential power analysis |
US8332653B2 (en) * | 2004-10-22 | 2012-12-11 | Broadcom Corporation | Secure processing environment |
US7627781B2 (en) * | 2004-10-25 | 2009-12-01 | Hewlett-Packard Development Company, L.P. | System and method for establishing a spare processor for recovering from loss of lockstep in a boot processor |
JP4489030B2 (ja) * | 2005-02-07 | 2010-06-23 | 株式会社ソニー・コンピュータエンタテインメント | プロセッサ内にセキュアな起動シーケンスを提供する方法および装置 |
US7822995B2 (en) * | 2005-03-03 | 2010-10-26 | Seagate Technology Llc | Apparatus and method for protecting diagnostic ports of secure devices |
US20070071233A1 (en) * | 2005-09-27 | 2007-03-29 | Allot Communications Ltd. | Hash function using arbitrary numbers |
US7461275B2 (en) * | 2005-09-30 | 2008-12-02 | Intel Corporation | Dynamic core swapping |
US7562211B2 (en) * | 2005-10-27 | 2009-07-14 | Microsoft Corporation | Inspecting encrypted communications with end-to-end integrity |
CN1764106A (zh) * | 2005-11-16 | 2006-04-26 | 乔超 | 一种防止有通信条件/功能的软硬件被盗用的系统和方法 |
US8015565B2 (en) * | 2005-11-21 | 2011-09-06 | International Business Machines Corporation | Preventing livelocks in processor selection of load requests |
US7610481B2 (en) * | 2006-04-19 | 2009-10-27 | Intel Corporation | Method and apparatus to support independent systems in partitions of a processing system |
US7774616B2 (en) * | 2006-06-09 | 2010-08-10 | International Business Machines Corporation | Masking a boot sequence by providing a dummy processor |
US20070288739A1 (en) | 2006-06-09 | 2007-12-13 | Dale Jason N | System and method for masking a boot sequence by running different code on each processor |
US20070288738A1 (en) | 2006-06-09 | 2007-12-13 | Dale Jason N | System and method for selecting a random processor to boot on a multiprocessor system |
US7594104B2 (en) * | 2006-06-09 | 2009-09-22 | International Business Machines Corporation | System and method for masking a hardware boot sequence |
US20070288761A1 (en) * | 2006-06-09 | 2007-12-13 | Dale Jason N | System and method for booting a multiprocessor device based on selection of encryption keys to be provided to processors |
-
2006
- 2006-06-09 US US11/423,342 patent/US20070288740A1/en not_active Abandoned
-
2007
- 2007-05-11 JP JP2009513635A patent/JP5031029B2/ja not_active Expired - Fee Related
- 2007-05-11 CN CN2007800083962A patent/CN101401103B/zh not_active Expired - Fee Related
- 2007-05-11 EP EP07729027A patent/EP2027551A1/en not_active Withdrawn
- 2007-05-11 WO PCT/EP2007/054575 patent/WO2007141112A1/en active Application Filing
- 2007-06-04 TW TW096119979A patent/TW200817970A/zh unknown
-
2008
- 2008-05-30 US US12/130,185 patent/US8046574B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP5031029B2 (ja) | 2012-09-19 |
CN101401103A (zh) | 2009-04-01 |
CN101401103B (zh) | 2012-04-18 |
JP2009540405A (ja) | 2009-11-19 |
WO2007141112A1 (en) | 2007-12-13 |
US20080229092A1 (en) | 2008-09-18 |
US20070288740A1 (en) | 2007-12-13 |
EP2027551A1 (en) | 2009-02-25 |
US8046574B2 (en) | 2011-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW200817970A (en) | System and method for secure boot across a plurality of processors | |
US7779273B2 (en) | Booting a multiprocessor device based on selection of encryption keys to be provided to processors | |
US7774616B2 (en) | Masking a boot sequence by providing a dummy processor | |
US8037293B2 (en) | Selecting a random processor to boot on a multiprocessor system | |
US8046573B2 (en) | Masking a hardware boot sequence | |
US20070288739A1 (en) | System and method for masking a boot sequence by running different code on each processor | |
US9842212B2 (en) | System and method for a renewable secure boot | |
TW480397B (en) | Secure memory | |
TWI266989B (en) | Method, apparatus and token device for protection against memory attacks following reset | |
US20130254494A1 (en) | Method and system for process working set isolation | |
TW200949684A (en) | Microprocessor having a secure execution mode with provisions for monitoring, indicating, and managing security levels | |
CN117349819A (zh) | 用于多核处理器的远程认证 | |
US10057224B2 (en) | System and method for initializing a shared secret system | |
CN110799979B (zh) | 用于多核处理器的安全密钥存储 | |
TW201209710A (en) | Microprocessor, method of protection and method of revoking first password | |
JP2003209545A (ja) | コア内蔵型集積回路及びそのコア盗用防止方法 |