TW200949681A - Apparatus and method for managing a microprocessor providing for a secure execution mode - Google Patents
Apparatus and method for managing a microprocessor providing for a secure execution mode Download PDFInfo
- Publication number
- TW200949681A TW200949681A TW098113141A TW98113141A TW200949681A TW 200949681 A TW200949681 A TW 200949681A TW 098113141 A TW098113141 A TW 098113141A TW 98113141 A TW98113141 A TW 98113141A TW 200949681 A TW200949681 A TW 200949681A
- Authority
- TW
- Taiwan
- Prior art keywords
- secure
- microprocessor
- mode
- security
- volatile memory
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 70
- 230000015654 memory Effects 0.000 claims abstract description 199
- 238000001514 detection method Methods 0.000 claims abstract description 25
- 230000007704 transition Effects 0.000 claims abstract description 10
- 238000012544 monitoring process Methods 0.000 claims description 56
- 238000012546 transfer Methods 0.000 claims description 14
- 230000015556 catabolic process Effects 0.000 claims description 2
- 238000006731 degradation reaction Methods 0.000 claims description 2
- 230000004075 alteration Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 description 26
- 230000007246 mechanism Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 16
- 238000007726 management method Methods 0.000 description 15
- 238000006243 chemical reaction Methods 0.000 description 13
- 238000004519 manufacturing process Methods 0.000 description 13
- 239000010453 quartz Substances 0.000 description 12
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 12
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 230000009977 dual effect Effects 0.000 description 8
- 239000010931 gold Substances 0.000 description 8
- 229910052737 gold Inorganic materials 0.000 description 8
- 238000003860 storage Methods 0.000 description 8
- 238000012790 confirmation Methods 0.000 description 6
- 239000000463 material Substances 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000009434 installation Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 239000004575 stone Substances 0.000 description 3
- 230000009118 appropriate response Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 229910052751 metal Inorganic materials 0.000 description 2
- 230000000704 physical effect Effects 0.000 description 2
- 230000035939 shock Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000272517 Anseriformes Species 0.000 description 1
- 101100221836 Arabidopsis thaliana CPL3 gene Proteins 0.000 description 1
- 101100065702 Arabidopsis thaliana ETC3 gene Proteins 0.000 description 1
- 102100039497 Choline transporter-like protein 3 Human genes 0.000 description 1
- 241000219112 Cucumis Species 0.000 description 1
- 235000015510 Cucumis melo subsp melo Nutrition 0.000 description 1
- 101000889279 Homo sapiens Choline transporter-like protein 3 Proteins 0.000 description 1
- 229920002472 Starch Polymers 0.000 description 1
- FJJCIZWZNKZHII-UHFFFAOYSA-N [4,6-bis(cyanoamino)-1,3,5-triazin-2-yl]cyanamide Chemical compound N#CNC1=NC(NC#N)=NC(NC#N)=N1 FJJCIZWZNKZHII-UHFFFAOYSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 239000003638 chemical reducing agent Substances 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 150000002118 epoxides Chemical class 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000009225 memory damage Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 210000000582 semen Anatomy 0.000 description 1
- 235000019698 starch Nutrition 0.000 description 1
- 239000008107 starch Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 235000012431 wafers Nutrition 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/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/72—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 in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/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
-
- 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/73—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 creating or determining hardware identification, e.g. serial numbers
-
- 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/74—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 operating in dual or compartmented mode, i.e. at least one secure mode
-
- 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/82—Protecting input, output or interconnection devices
-
- 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
Description
200949681 m 六、發明說明: '【發明所屬之技術領域】 本發明係有關於在微電子領域中,特別是有關於一種 微處理器,其提供一安全執行模式的操作,其允許在微處 理器内之安全環境中執行運算碼。 【先前技術】 桌上型電腦、筆記型電腦、以及手持式電腦與通訊裝 置可作為機密或專用資料與數位權控制内容之數位通訊平 φ 台,電腦產業對於這些裝置的使用持續地發展新的安全制 度。舉例來說,有許多已建立的應用,用以在網際網路上 免費下載與管理數位聲音與影響檔案。透過這些應用,使 用者被提供在歌曲、電視節目以及電影上的有限的權利。 特別注意的是,以上透過使用建立在這些應用中的安全特 性來保護這些權利,而這些安全特性通常依據其主機平台 所提供之安全機制。 除了數位内容權利的保護,持續驅動電腦系統安全性 ❿ 的另一因素是實施在主機平台本身的使用限制。目前已 知,手機產業已提供特定通訊裝置中所謂的”隨用隨付 (Pay-as-you-go )’’使用。藉由使用此方案,使用者不需給 付月費,但是需預先給付某通話分鐘數的金額。當用盡通 話分鐘數時,除了緊急通話以外,使用者被拒絕存取任何 關於通話的手機網路存取。 早在2006年,MICROSOFT公司與其合作公司已提供 主要指向新興電腦市場之”隨用隨付”個人電腦。在此體制 下,透過預付卡的購得,當使用這些公司的電腦時使用者 CNTR2469/ 0608-A41942TWf/ 4 200949681 * ,則給付費用。此外,歸屬於MICROSOFT公司的美國專利 申請案公開編號20060282899,揭露一種用於模組化操作 系統之傳遞的系統與方法,其包括提供主要操作系統支援 的核心功能模組或基礎核心,且包括一或多個允許客製化 之操作糸統定做的附屬模組。在此應用中,附屬模組可提 供對於電腦(其包括硬體、應用軟體、周邊設備、以及支 援設備)的支援或延伸能力。在設置之前,數位簽章可使 用來確定附屬模組之完整性,且核對證明(certification)以 © 判斷附加模組之設置是否經過授權。藉由此證明,服務提 , 供者可管理對提供之電腦上的非法或非期望修改。此外, 數位權利管理可用來執行與許可配置相配之附屬模組的使 用項目。 並不意外地,目前已發展出技術方法的真正主機,其 提供規避安全措施’而這些安全措施是適當地保護且控制 對權利控制數位媒體、通訊裝置、以及電腦平台的存取。 最近,”hacking (進行非法入侵,即駭客),,變成研究上的 ⑩ 課題。事實上’本案發明人已注意到許多用來篡改或完全 地使安全管理無效的作品公開’而這些安全管理係用來防 護受保護資產之存取及/或使用。由Andrew Huang,San
Francisco: No Starch Press, 2003 所提出的著作 Hacking the
Xbox: An Introduction to Reverse Engineering 貝是上述作品 的一種。此著作特別著重於教導非法入侵技術以克服 MICROSOFT所出產之XBOX遊戲平台的安全機制,且更 提供電腦安全與反向工程的教導主題,並討論所謂,,安全 的”電腦平台的弱點。 CNTR2469/ 0608-A41942TWf/ 5 200949681 « : 因此,平台建置者與設計者持續從事在避免未被授 的平台處理上更有效的技術與機制,不論此存取是良^ (例如探測或窺察)、惡意的(例如破壞性的或違背權利 的入侵)、或是介於兩者之間(例如篡改)。這些機 許多者係用來防止入侵者實際上存取平台,例如將平台放 置在安全底座上(例如-上鎖的金屬圍場)或者將有二 的電路封裝入環氧化物内。但是已知這些類型的技術增加 了系統成本與複雜性。其他機制則係利用特 :17 ❿身提供之安全特性。 电版架構本 • 考慮已知x86架構所提供之兩個主要安全特性:分頁 虛擬記憶體(paged virtual memory)以及特許執行(privileged execution)。在分頁虛擬記憶體的情況下,基本的操作系統 ,義一個分別的虛擬位置空間以及存取權利(例如只'執 行、只讀取)給每一正被執行的應用程式,因此阻止另一 秘密鬼祟的應用程式在所定義的區域内執行,且阻止其修 改資料。但是,由於與虛擬位址譯文相關(即分頁表單) 之貝料存在於系統記憶體,且其出現於主機理 系統匯流排上:因此此資料可輕易地被被窺察且被改變 在特許執行的情況下,x86結構提供數種階級的執行特 權CPL0至CTL3。因此’某些系統資源與指令只可由正在 較南特權階級上執行的應用程式來存取。一般得知操作系 統元件係操作在最高特權階級cpL〇,以及使用者應用係歸 類於最低特權階級CPL3。但是,熟知此技術領域之人士將 查知’這些架構特徵主要是發展來阻止軟體錯誤所導致的 系統當機,且在防止有意或經指冑的侵入(directed hacks) CNTR2469/ 0608-A41942TWf/ 200949681 而言不是非常有效。 <w 因此已發展多種方法與裝置,其更仔細地集中防止對 平台之有意侵入與接管。在美國專利編號5615263中, Takahashi教導一種在雙模(duai m〇de)處理器中的安全模 式。在一般/外部模式中,此雙模處理器執行由外部來源所 提供之指令。這些指令透過雙模處理器的輸入/輸出來提供 給雙模處理器。當接收到專用軟體或硬體發出之中斷時, 此雙模處理器進入安全/内部模式。此中斷是指儲存在雙模 ❹處理器中唯讀έ己憶體内的安全功能。根據此接收的中斷’ 雙模處理器的輸入/輸出被禁能。此已確認的安全功能係由 雙模處理器來執行。在此安全功能的執行期間,欲插置非 來自唯讀§己憶體之指令的任何企圖皆被忽略。然而,雙模 處理器可存取由正在執行之安全功能所特別確認的資料。 當安全功能之執行完成,則執行一退出程序,以致能雙模 處理器之輸入/輸出,並透過輸入/輸出重新開始執行由雙模 處理器之外部來源所提供之指令。 © Takahashi教導此安全模式是用作加密與解密,且其中 雙模處理器處理透過匯流排且由外部控制通道(external controlchannel)處理器所提供之正常指令與資料,其中,此 匯流排符合一標準匯流排架構,例如工業標準體系幹構 (Industry Standard Architecture,ISA )。此雙模處理器在 非安全模式下開啟,且安全模式透過軟體或硬體發出的中 斷來初始化。在安全模式下,可執行關於加密與解密之有 限數量的功能(即指令)。這些功能儲存在一個唯讀記憶 體中(ROM),其位於雙模處理器之内部。本案之發明人 CNTR2469/ 0608-A41942TWC, 7 200949681 注意到,Takahashi之雙模處理器並不適當,因為 之雙模處理器只能執行内部ROM所提供之有 能。因此,包括-般目的指令的應用程式(即在微處理工 之指令集中任何的指令)則無法在安全模式下執行 在美國專利編號7013484中,ElliS0n揭露— ❹ Ο 全環境之晶片組,用於一隔離之儲存器所執行的-建立文 模式,此儲存器被至少一處理器來存取。在正〜隔離執行 或此隔離執行模式下,此至少一處理器具有複執行模式 作。Ellison之安全環境係依據一外部晶片組(程與操 行電路),其提供機制給—處理器以在隔錢=離的執 作。此外部晶片組因此配置一個安全記憶體區、式下操 隔離指令之解碼與轉譯、隔離匯流排週期的產 其官理 斷的產生。當此外部晶片組主動地隔離記憶體區、及中 執行等時,注意到此外部晶片組係透過一般 s、指令 搞接此至少-處理器,因此在任何安全線_執匯^排而 容許在匯流排上的窺察與流量篡改。 仃期間内 在美國專利編號713〇951中,Christie揭露一接 用以控制有安全執行模式能力之處㈣,此處=法, 數中斷’以使得當其正操作在非安全執行模 ^括複 有女全執行模式能力之處理器。此方法包括、斷此 行模式能力之處理器正操作在—安全執行模:有安全執 數中斷以避免此處理器中斷。儘管禁能中在二禁能複 環境中所期望的安全特性,根據㈤他 :全執行 透=系統隨排且由—操作系賴提供之指令^,處理 旦這些指令被提供時,中斷即被禁能。如同、貝。-CNTR2469/0608.A41942TW» 〇11 的機制, δ 200949681 此一裝置明確地可被透過匯流排而提供至處理器的指令來 做匯流排窺察與篡改。 曰π 在美國專利編號6983374中,Hashim〇t〇揭露—種抗篡 改微處理n ’其保存關於其執行將射斷之—個程式二内 容資訊,其中’此處理器狀態被加紅儲存在系統吃憶體。
Hashimoto也教導了自系統記憶體擷取加密指令的技術以 及對加密指令進行解密且執行此加密齡之裝置。此外, ❹ ❹ Η—ω教導了使用—對應金絲提供在記憶體内的加 密指令’且接著㈣諸稱錢㈣絲對儲存在記憶體 内的對稱讀加進行加密。對於程式創造者來說對稱金 錄是已知的,且❹讀取自處理器之公開金鍮來對此 金鑰進打加密。此處理器包括—獨特私密金鍮,其 公開金錄,且使用者無法存取。因此,根據分支指令的 行’程式控制被轉移成”起始加密執行,,指令,其傳送 標至加密對稱金输 此處理器擷取加密對稱金餘 曰 其内部私密金絲對其解密。接著,加絲式指 ^ 記憶體被擷取’且藉由使用解密對稱金絲被解密,並 處理器來執行。假使發生中斷或異常,處理器的狀 稱地被㈣且儲存至記憶體。Hashi福。揭露了對4 = 與加密編碼的共通快取機制、中斷邏輯、異常處理邏二 使用。 、铒的 本案之發月人已注意到,Hashimoto的微處理器限定 碼者已知㈣安全編碼之對稱金鑰,且對稱金鑰可、: 漏’因此’將具有此編碼之所有系統將有被攻擊的風險。 此外’本案之發明人已注意到,—ο的微處理 CNTR2469/ 0608-A41942TWf7 口職點 η 200949681 費非常多令運二中執一 慢。此外,注^ 導處理器的處理能力變為緩 全資源,例如現存的非安 這些全部都會遭受職察。 與異常機制, 因此本案之發明人瞭解,顯鈇期雙祖似 ^ ^ 器,其能在安全勃4_产产由^顯…月望&供一種微處理 Ο ❹ 此:=:=:)的應用程式或應用線程。 之窺察與篡改方==環=離於任何已知 器來執杆於人 需要由一女全執行模式微處理 中提供存二二且此安全執行模式微處理器隔離於處理器 例如快取窺察、系統匯流排流量、中斷、以 曰誤與追縱特徵)之硬體。 此外’更期望當此微處理哭# λ 時,提供一機制來混淆來自任^載=應用程式並安全執行 構與内容,且提_ _ /何現存監控裝置之應用的結 實性。 ^供—機制來證明此應用的來源且確認其誠 【發明内容】 r:平台上致能安全應用=行-= 中,揭露一種提供安全執杆 "τ隹4 以及安全非揮發記憶體置’其包括微處理器 式與一安全應用程式 口 =于複數非安全應用程 排而存取自系統記憶體,應用程式透過系統匯流 ___94_ 女王應用程式在安全執行模式 200949681 •中執行。微處理器包括安全執行模式邏輯電路,用以龄斤 對應微處理器且與潛在安全暴露和篡改相關聯之複數^ 態,並根據複數狀態之一來使微處理器自安全執行模式轉 換至降級模式。降級模式只提供給複數基本輪入/輸出系統 (Basic Input/Output System,BIOS)指令之執行,且這此 BIOS指令包括允許使用者輸入與訊息顯示之指令。安全非 揮發記憶體透過私密匯流排耦接微處理器,用以儲存安全 應用程式。在私密匯流排上微處理器與安全非揮發記憔體 ❹之間的複數資料傳輸,隔離於系統匯流排以及微處理^内 之複數對應系統匯流排資源。 本發明之另一實施例提供一種微處理器裝置,用以在 安全執行環境中執行安全編碼,此微處理器震置包括安全 非揮發記憶體以及微處理器。安全非揮發記憶體 八 應用程式。微處理器透過私冑匯流排輕接安全非揮發^ 體,用以執行複數非安全應用程式與上述安全應用程式: 微處理器包括安全執行模式邏輯電路,用以監控對應微處 ©理器且與潛在安全暴露和篡改相關聯之複數狀態,並根據 這些狀態之-來使微處理器自安全執行模式轉換至降級模 式。降級模式只提供給複數基本輸入/輸出系统㈤咖 Input/Output System ’ BIOS)指令之執行且這些 bi〇S 指 令包括允許使用者輸入與訊息顯示之指令。 曰 本發明之又-實施例提供一種在安錄行環境中執行 安全編碼之方法,包括提供安全非揮發記憶體,以儲存安 全編碼,其中,此安全編韻由實現在私密匯流排上之複 數私密資料傳輸而存取自安全非揮發記憶體。私 CNTR2469/ 0608-A41942TWf7 n 「 200949681 耦接安全非揮發記憶體與微處理器之間。私密匯力 於微處理器内之所有系統匯流排資源且配置在微$挪障離 外部,且私密匯流排只由微處理器之安全執行邏,理器之 得知及存取。此方法更包括監控對應微處理^輯電略所 態,其中,這些狀態與潛在安全暴露和篡改相關之複數狀 根據這些狀態之一,使微處理器自安全執行模式=,以及 級模式,其中,降級模式只提供給複數基本輪轸槔至降 (Basic Input/Output System,BIOS)指令之執)出系蛛 BIOS指令包括允許使用者輸入與訊息顯示之指八且這些 關於產業應用性’本發明可實現於一微處理7器 此微處理器係使用於一般目的或特殊目的之電腦^内,足 【實施方式】 置·。 為使本發明之上述目的、特徵和優點能更明顯 下文特舉一較佳實施例,並配合所附圖式,作詳細,憷, 下。 、’田咣明如 用以限定 識者,在 更動與潤 範圍所界 ❹ 本發明雖以較佳實施例揭露如上,然其並非 本發明的範圍’任何所屬技術領域中具有通常知 不脫離本發明之精神和範圍内,當可做些許的 飾’因此本發明之保護範圍當視後附之申請專利 定者為準。 鑑於上述關於在一微處理器中應用程式之安全並隔離 地執行且關於用來防止窺察、侵入、篡改、或駭客之現今 技術的背景討論’本發明的討論將透過第1至12圖來呈現。 參閱第1圖,其表示根據本發明實施例之安全執行模 式(secure execution mode,SEM)微處理器 1〇1 之示意圖。 CNTR2469/ 0608-A41942IWf/ 12 200949681 此示意圖描述SEM微處理器101配置所在的系統板ι〇〇(或 " 主機板)。此微處理器101透過系統匯流排102耦接一或 多個匯流排主控裝置(bus master) 103以及/或者一或多個匯 流排管理裝置(bus agent)104。在一實施例中,SEM微處理 器101為x86相容微處理器101,其透過χ86相容系統匯 流排102耦接一或多個Χ86相容匯流排主控裝置103以及/ 或者一或多個x86相容匯流排管理裝置104。 此外,SEM微處理器101耦接一電池VP,其配置在系 ❹ 統板(主機板)100上,且透過連接路徑VP1與VP2來輕接 至微處理器101。在一實施例中,電池VP之電壓為18v 直流電壓(DC)。 石央器XI也配置在系統板1〇〇上,且透過連接路徑 ci與ci來耦接至微處理器ι〇1。微處理器ι〇1包括SEM 邏輯電路105。根據本發明之SEM邏輯電路1〇5係配置來 提供在微處理器内一安全執行模式之初始化、操作、以及 終止,將於下文詳細說明。此SEM邏輯電路1〇5包括邏輯、 ® 電路、裝置、或微碼(即微指令或原生指令)、或者是邏 輯、電路、裝置、或微碼的結合、又或者是用來初始化安 全執行模式的等效元件,使得SEM邏輯電路1〇5可載入安 全應用程式來執行、在一安全環境中執行這些應用程式、 為了偵測且阻止篡改而監控一些微處理器與系統特性、在 適當情況下終止安全執行模式、且假使偵測到篡改則暫停 處理。用來執行這些功能與SEM邏輯電路1〇5内其他功能 之凡件’可共享用來執行微處理器101内其他功能之其他 電路、微碼等等。根據本申請案之範圍’微碼是涉及複數 CNTR2469/ 0608-A41942TW£^ 200949681 .個微指令的名詞。一微指令(也稱為原生指令)是在一單 元執行所處之層級上的指令。例如,微指令係直接由精簡 指令集運算(Reduced Instruction Set Computing,RISC ) 微處理器來執行。對於複雜指令集運算(Complex Instruction Set Computing,CISC)微處理器(例如 x86 相 容微處理器)而言,x86指令首先轉譯為相關的微指令, 且此相關的微指令接著直接由CISC微處理器中一單元或 複數單元來執行。 ® 安全非揮發記憶體107也配置在系統板100上,其透 過私密匯流排(PVT BUS ) 106與内存檢測匯流排(presence detection bus)PSNT來耦接至微處理器1〇1。根據本發明, 安全非揮發記憶體107為一種經過電源之除去與重新施加 後其内容仍存留之記憶體。即是,當提供至系統板之電源 關閉或開啟時’安全非揮發記憶體1〇7之内容不會改變。 在一實施例中’安全非揮發記憶體1〇7包括快閃唯讀記憶 體(R〇M),其大小相當於將在安全執行模式中執行之安 全應用程式的大小。在一實施例中,考慮以4MB快閃唯讀 記憶體來作為安全非揮發記憶體1〇7。在私密匯流排1〇6 上的資料傳輸(transactions)完全地隔離於系統匯流排 102、匯流排主控裝置103以及匯流排管理裝置1〇4 ,且私 密匯流排106位於微處理器1〇1之外部。在一實施例中, 快閃唯讀s己憶體107可程式化高達1〇〇〇〇〇次。在一實施例 中,私岔匯流排1〇6考慮以一序列匯流排來實現,其提供 介於女全非揮發記憶體1〇7與微處理器1〇1之間的資料傳 輸。此私也、匯流排1〇6可符合標準界面協定,例如序列周 CNTR2469/ 0608-A41942TW 疗 λΑ 200949681 邊介面(Serial Peripheral Interface,SPI)協定。 在操作上’電池VP與石英器幻提供在SEM邏輯電 路105内實時時鐘(Real Time Clock,RTC)(未顯示)之 持續操作,其將於下文詳細說明◊包括來自主機結構指令 集之一或多個安全應用程式,係透過系統匯流排1〇2而擷 取自系統記憶體(未顯示),且儲存在安全非揮發記憶體 107。在實施例中,使用屬於授權者(authorizing party)之 一私密非對稱金鑰並透過非對稱加密演算規則來加密一或 ©多個女全應用程式,且安全應用程式以其非對稱加密格式 而被存取自系統記憶體。在一實施例中,考慮透過RSA演 算規則來加密一或多個安全應用程式。在此一或多個安全 應用程式擷取自系統記憶體後,微處理器1 〇 1利用一對應 的公開金鑰來解碼此一或多個安全應用程式並確認此一或 多個安全應用程式。根據安全執行模式的致能以及依據一,, 起始安全執行指令的執行’8£河邏輯電路105利用微處埂 ㈣的複數加密資源’以根據―對稱金職算法並使用處 β理器獨特加密錢來對此—或多個安全顧程式進行知 密,此外’ SEM邏輯電路1〇5透過私密匯流排1〇6來將巳 加密的-或多個安全應用程式傳送至安全非揮發記憶題 107。之後,SEM邏輯電路1〇5利用微處理器ι〇ι内 數加密或其他資源’來對此一或多個安全應用程式進行存 取、確認以及解密’此-或多個安全應用程式接著載入至 微處理㈱101内之一安全且隔離的隨機存取記憶體(ra 或一快取記憶體(未顯示)。 當執行起始安全執行指令時(#進人至該安全執行极 CNTR2469/ 0608-A41942TWf/ x 15 200949681 式),腿賴魏⑽料安全扁程式得 系統資源,而這些系統資源提供了包括非安全中^、非安 全例外邏及追礙/除錯邏輯電路料之監視以及或慕 的—❹㈣全應_式係藉 由使用廳邏輯電路105内的專用安全執行資源來被執 ❹ 行。此一〇個安全制程式接著可將處理n狀態由安全 操作模式恢復至正常執行模式,或者假使彳貞_潛在的暮 改,他們可將微處理器轉換至具有有限的魏之降級模 式。假使確疋發生篡改,SEM邏輯電路1〇5接著使微處理 器完全地關機(硬體關機模式)。 關於此一或多個安全應用程式(或”安全編碼,,)之功 能類型包括(但不受限於此)執行關鍵安全任務,例如憑 證確認、資料加密以及資料解密;監控正常系統軟體活動; 確認正常系統軟體之完整性;追蹤資源使用;新軟體的安 裝0 在一實施例中,在本發明之安全處理系統中考慮使用 ❹ 表面黏著式微處理器1〇1、表面黏著式安全非揮發記憶體 107、以及表面黏著式石英器XI。這些表面黏著式元件包 括球閘陣列(ball-grid array)元件或焊接在系統板1〇〇上 的其他相似技術。 本發明之微處理器101也執行儲存在系統記憶體内(未 顯示)的非安全應用程式,這些非安全應用程式的指令透 過系統匯流排102來提供。在本發明之觀念中,微處理器 101 能如中央處理單元(Centralized Processing Unit,CPU ) 般操作,而不用因應協同處理器(coprocessor)的要求。即 CNTR2469/ 0608-A41942TW 16 200949681 是’本發明之微處理器1〇1能執行主機指令集的所有指 令’且能執行全部的應用程式。與只能執行自一主要CPU 轉移之單一指令、程式線程或程式片斷的類似功能協同處 理器與處理器比較起來,本發明之微處理器101直接執行 在對應應用程式中的所有指令,不論此應用程式是否是儲 存安全非撺發記憶體 107之安全應用程式或者是透過系統 匯流排102擷取之非安全應用程式。 接著參閱第2圖,狀態圖200說明在第1圖之微處理 ® S中最高PK操作模式。在此最高階級中’微處理器1〇1 提供三個主要操作模式201-203與一個硬體關機模式 204 °非安全執行模式201是在微處理器101製造後,當第 一次供給電源時所默認(default)的第一個狀態。非安全執行 模式201也稱為”原生未受控(born free) ”模式201。原生 未受控模式2〇1是微處理器ι〇1的製造狀態,其提供非安 全應用程式的正常執行,其中,這些非安全應用程式係透 過系統匯流排102而於系統記憶體中存取。在此狀態中, 無法得知且無法操作任何與安全應用程式之安全執行相關 聯之資源。這些資源包括SEM邏輯電路105、安全非揮發 記憶體107以及一些其他專用暫存器,這些專用暫存器包 括含有對稱與非對稱加密金錄、安全中斷、安全記憶體 (RAM)以及其他硬體,將於下文詳細說明。藉由提供原 生未文控模式201,可實施與非安全微處理器所共通之製 k行動類型(type 0f manufacturing activities)。此外,由於 原生未受控模式2〇1提供非安全應用程式的執行,因此本 表明之微處理器之相同的晶粒設計(the same die design) CNTR2469/ 〇6〇8-A41942TWf/ 7 200949681 •可實施在非安全微處理器。在一實施例中,非安全微處理 器之接腳配置(pinout)不同於SEM微處理器ι〇1,且假 使,安全微處理器配置在安全系統板1〇〇時,非安全微處 理器之SEM邏輯電路1〇5將因電源應用不同而無法操作。 在一實施例中,SEMENABLE(SEM致能)指令之執行導 致微處理器101的模式轉換為安全執行模式2〇2。在安全 執订模式202下’安全與非安全應用程式都可執行,但是 非安全應用程式無法存取安全資源。安全執行模式202也 稱為SEM·致能模式2〇2。在一安全應用程式的控制下(簡 稱為程式控制),微處理器之狀態可轉換回原生未受控模式 201,然而,轉換為原生未受控模式2〇1之次數是有限的。 在一實施例中,處理器轉換回原生未受控模式可高達64 次。在另一實施例中,以可確認的授權者來對特殊 (Particular)機械專用暫存器(Machine Specific Register, MSR)進行寫入,導致微處理器1〇1之模式轉換為安全執 行模式202。 ⑬ SEM邏輯電路1〇5監控對應微纽_且與潛在篡改相 關之狀態,並根據這些狀態之一使微處理器自安全執行模 式202轉換至降級(操作)模式2〇3。假使某些已定義之狀態 被SEM邏輯電路1〇5偵測到,微處理器1〇1自動地轉換為 降級模式203。在降級模式203中,允許執行m〇s指令, 以提供使用者輸入與訊息的顯示的功能,但是更多複雜的 軟體(例如操作系統)的執行則不被允許。在降級模式2的 中,在微處理器101之安全執行模式2〇2的安全編碼操作 被關閉,但是仍允許執行BIOS指令。在一實施例中,BI〇s CNTR2469/ 0608-A41942TW 卩 ι〇 200949681 Ϊ令—外部中斷與傳遞狀態給該微處理器且 由-機械專用暫存器來執行。在χ86相容的實=且級 此降,模式203中實施咖中斷以執行画指令。’在 這些導致微處理器由安全執行 式203之已定義狀離可 轉換為降級模 數硬體細《 碼的結果、或是複 之社人。此硬沪佶 王、 '、、仃、、'°果與硬體偵測狀皞 ❹ 參 聯的監控狀態。在-實施例中,根據這些已定關 憤測結果,SEM邏輯電路1G5試圖清除減理_ 入 揮發€憶體之-資料區域,且試圖將偵測結果紀錄至二 非揮發記憶體1G7。根據該資料區域之成功清除* '王 結果之成功紀錄,SEM邏輯電路⑽將微處理_換^ 級模式綱。此外,執行在降級模式2〇3之安全編碼至降 即在-安全應用程式的控制下(簡稱為程式控制:卢= 器之狀態轉換回安全執行模式202。 处 某些與配置和完整性確認有關的已定義狀態 處理器⑻轉換為硬體關機模式2Q4。在—實施例中致: ,廷些=義狀態之―^貞測結果,SEM邏輯電路⑽ >月除微處理器内1全揮發記憶體之―資料區域圖圖 該制結果紀錄至安全非揮發記憶體1G7 處= 進入至硬體關機模式204。在此硬體關機模竹巧理器 由重置微處理器來退出此硬體 '1 ,、可藉 搬或降級模式203卜式。在安全執行模式 式控制),微處理器202可進^^之控制下(簡稱為程 U2 了進入硬體關機模式204。 現在參閱第3圖,其表示在本發明實施 CNTR2469/0608-A41942W^ 19 崾里器 200949681 300中的SEM邏輯電路301之詳細方塊圖。SEM邏輯電路 3〇1包括授權的公開金鑰暫存器318、處理器金鑰暫存器 312、SEM初始化邏輯電路305、SEM監控邏輯電路306、 SEM中斷邏輯電路307、SEM例外(excepti〇n)邏輯電路 308、SEM計時器309、SEM實時時鐘(rtc)310、非揮發 致能指示暫存器328、SEM機械專用暫存器記憶庫(bank) 329以及安全揮發記憶體3〇2。sEM邏輯電路3〇1耦接在 微處理器300中的一些其他資源,包括透過匯流排326耦 ® 接非安全記憶體325、透過匯流排324耦接位址邏輯電路 323、透過匯流排320柄接亂數產生器319、透過匯流排321 耗接AES/HASH/RSA單元311、透過匯流排327耗接其他 處理器執行單元313 (例如整數單元、浮點單元、MMX/SSE 單元)、耦接正常例外邏輯電路314、耦接正常追蹤/除錯 邏輯電路315、耦接正常中斷邏輯電路316以及電源管理 邏輯電路322。 在一實施例中’由授權者提供公開金鍮,且微處理器 ® 300之製造期間中’公開金鑰永久地編程在授權的公開金 鑰暫存器318。在一實施例中,此公開金鑰為1〇24位元之 RSA金錄,且授權的公開金鑰暫存器318包括1〇24位元之 溶絲庫(fuse bank)。因此,此公開金錄可在微處理器300 之製造期間被編程,而不是在製造之後。或者,公開金鑰 藉由離線(off-line)大規模的初始化而被編程至安全非揮 發記憶體107’其中’此離線大規模的初始化是用來編程 一些安全非揮發記憶體107。致能與初始化安全執行模式 202的能力是非常關鍵的安全操作’且木馬程式(Trojan CNTR2469/ 0608-A41942TW^ 20 200949681 «·
Horse)有可能被安裝(installation)進安全非揮發記憶體 107。因此,利用提供公開金餘的方法以避免窺察與篡改來 控制安全執行模式初始化程序。 處理器金鑰暫存器312是複數熔絲的聚集體,其實際 分佈在微處理器晶粒上。這些熔絲係在製造期間以獨特且 隨機產生的狀態組來編程以形成處理器的獨特金餘,其只 可被AES/HASH/RSA單元311(也可稱加密單元311)來讀 取’並無提供自處理器金鎗暫存器312讀取處理器金餘的 ❹程式介面。在一實施例中,處理器金鑰暫存器312包括128 個熔絲,這些熔絲被編程為128位元的AES (Advanced Encryption Standard ’ AES)金鑰,而使用此AES金鑰來對 女全非揮發6己憶體107之内容進行加密與解密。即是,使 用此處理器對稱金錄來對安全編碼進行加密,以儲存在安 全非揮發記憶體中。依據透過私密匯流排106來對安全編 碼的擷取,來自處理器金鍮暫存器312之金鑰被使用來對 安全編碼進行解密以進一步執行。因此,私密匯流排1〇6 之狀態的觀察者無法決定何者正在微處理器3〇〇與非揮發 記憶體107之間轉移。 在一實施例中,處理器金鑰暫存器312包括128熔絲, 其隨機地分佈在微處理器3〇〇中一熔絲庫内的許多其他熔 絲之中。此熔絲庫配置在微處理器晶粒上一些金屬層的下 方。 根據SEMEN ABLE指令之執行或其他進入安全執行模 式202的預期機制,SEM初始化邏輯電路305提供安全執 行模式202之初始化。為了詳細說明,下文將以用來致能 CNTR2469/ 0608-A41942TWf/ 200949681 ❹ ❹ 且,行來自安全執行模式202的指令(例如SEMENABLE ) 執行的方式來說明根據本發明之微處理器3〇〇之操作,然 而,此技術領域之人士將理解有其他方法能致能安全執行 模式2G2並執行來自安全執行模式之安全編碼,例如對一 隱密暫存器(hidden register)寫入等等。根據黯職则 指令之執行成功,SEM初始化邏輯電路3〇5將微處理器細 之狀態記錄在非揮發致能指示暫存器328。由安全執行模 式202轉換至原生未受控模式2〇1時,隨初始化邏輯電 路305將微處理器3〇〇之狀態(安全執行模式被致能之狀 記錄在非揮發致能指示暫存器328。亦即,非揮發致能指 示暫存器328用以指示微處理器3⑼是否處於安全執行模 式或非*全執彳了模式。在微處理器之電源移除與重新施 加的期間,非揮發致能指示暫存器咖之内容持續存在。 在-實施例中’非揮發致能指示暫存器328包括配置在微 處理器内之複數熔絲,且微處驾可由安全 模式202轉換至原生未受控模式2〇1的次數係對應在這此 熔絲中的-特定溶絲數量。微處理器3〇〇包括配置在 -晶粒上之-單-積體電路。在一實施财,聰邏輯電 路根據進入至該安全執行模式而對非揮發致能指示暫存器 328進订第-次寫入’以指示出微處理器處於安全執行模 ▲式。SEM邏輯電路根據退出該安全執行模式而對非揮發致 能指^暫存器328進行第二次寫入以指示出微處 於該非安全執行模式(原生未受控模式)。 慝 SEM監控邏輯電路3〇6係用來監控安全編碼與資 減實性,以監控系統的環境與物理屬性,包括溫度 CNTR2469/ 0608-A41942TW 疗 22 主 200949681 匯流排頻率、電池VP的存在、石英器XI的存在以及安全 非揮發記憶體107的存在。SEM監控邏輯電路306將篡改 或疑似的篡改情況指示給SEM邏輯電路301,其導致微處 理器300轉換至降級模式2〇3或硬體關機模式2〇4。 SEM中斷邏輯電路3〇7提供複數中斷與相關的中斷邏 輯裝置(例如安全中斷描述符號表單(InterruptDescript〇r Table,IDT)),這些只顯現給正在安全執行模式2〇2下 執行的安全應轉^ ’且纟此安全應肺式來存取。中斷 安全編碼執行的機軸似於執行正常模式的機制。亦即, 依據議中斷的設置(assertion) ’且藉由SEMIDT的出現 使得安全編碼狀態被保存並轉移至安全情管理者⑽则 由中斷指令的恢復(她rn)執行將控制權 t火復至女全編碼中的中斷點。當微處理器3〇〇正操作 全執行模式時,SEM中齡、显& 卞斷邏輯電路307提供安全中斷以中 中斷邏輯電路307不被系統匯流排 ❹ 二作1非描式所得知或存取。當微處理器300正 ^作在非t全執賴切,_ 電路316提供非安全中_ 常中斷邏輯 同樣地,SEM例外/ 應用知式。 相關的例外管理邏輯裝,:路爾供複數安全例外與 行模式202時,SEM例外微處理器正操作在安全執 並禁能複數非安全例外。卜^電路駕提供複數安全例外 等系統匯流排資源錢等卜例外邏輯電路3G8無法被該 其只顯現給正在安全執行^應絲式所得知或存取, 式,且由此安全應用程式來^ 202下執行的安全應用程 CNTR2469/ 0608-A41942TWf/ 子取。所有安全編碼程式例外 200949681 :與中斷係利用預設的IDT,此預設IDT存在於㈣中 輯電路307内,以在中斷與例外期間内控制分支。在 施例中,根據該等安全例外之一者的致能,微處理器 態被儲存且程式控制轉移至一對應安全例外管理者, 微處理器之狀態無法被該等非安全應用程式所存取。在安 t應用程式執行之前,SEM邏輯電路301禁能正常例^ 輯電路314 ’以及當微處理器3〇〇正操作在非安全執行模 式時、,正常例外邏輯電路314提供對應該等非安全應用程 式之複數非安全例外。在一實施例中,假使在該等非安全 應用,式之任-者執行的期間發生該等安全中斷之任一者 或之任-者’微處理器之狀態被儲存且微處 理器300進入安全執行模式。 這些安全中斷係配置來提供微處理器300外部事件所 導致的程式控制轉移,例如鍵盤事件、1/〇埠事件等等。安 全例外Μ來提供微處理H _㈣事件所導致的程式控 ❾制轉移,例如非定義的運算碼(〇pc〇de)、機械檢查錯誤 (machme check errors)、以及在一實施例中對一或多個安全 機械專用暫存器記憶庫329的安全編嗎寫入。肌包括複 數安全暫存器’其被載入複數指標,而這些指標是指向在 安全編碼中的安全中斷管理者與安全例外管理者(謂代 ⑽P— hand㈣。IDT提供轉移至該安全應用程式内之複 數安全令斷管理者與複數安全例外管理者)的程式控制。此 預設IDT包括關於程式控制轉移至該微處理器將執行的一 安全執行模式重置操作的資料。在一實施射,根據該等 安全尹斷之-者的致能’該微處理器之狀態被儲存且程式 CNTR2469/0608.A4l942TWf^ 24 200949681 控制轉移至一對應安全中斷管理者,以及該微處理器之狀 態無,由該等非安全應用程式來存取。在一實施例中,根 據該等非安全中斷之一者的致能,該微處理器之狀態被儲 存且程式控制轉移至一對應非安全中斷管理者,以及該微 處理器之狀態無法由該等非安全應用程式來存取。
計時器3〇9是只顯現給正行在安全執行模式 下執行的安全應用程式且由此安全應用程式來存取的複數 計時器。SEM計時器309包括複數中斷,而這些中斷可由 操作在安全執行模式202下之安全編碼來存取。SEM實時 時鐘31G其提供持續時間(Persistent time),其只顯現給正 在安全執行模式2〇2下執行的安全應用程式且由此安全應 用,式來存取。SEM實時時鐘310的值無法由不同於操^ 在安全執行模式2〇2下的安全編碼的任何物件來改變。 s腿機械專用暫存器記憶庫329包括複數機械專用暫存 =且廷些機械專㈣存m給正在安全執行模式皿 應用程式且由此安全應用程式來存取。這些 暫存器用來致能對安全非揮發記憶體ig7、sem 實時,鐘310以及SEM計時器3〇9之載入/儲存存取。 式』= ; = =為給正在執行之非安全應用程 器來執行。在微處理器3二應用程式以由微處理 排資源可得知且存取非安入每二程式與其他系統匯流 3鴨為給正在安全執二體:執安記憶體 式的-指令與資料快取 ' 202下執仃之安全應用程 CNTR2469/0608-A41942TW^ 。進入至安全執行模式 202, 25 200949681 -安全揮發記憶體302之一掩最r '器狀態303,其用於 $ (=)係提供來錯存處理 _態的錯存與取回微處理 係提供來儲存安全編瑪3〇4與對應之其他堆4 m全軸咖地簡微處理‘重n安全資料 士其完全地隔離於系統匯流排,因此而被清除’ 無法被非安全系統資源窥察 =揮發―302 ❹ ❹ 取。安全編竭(安全㈣ 除錯或其他方法的存 存指令來存取安全揮發記憶體與儲 317,其中,這些正常處理器載入與^全資料 輯電路323内的正常片段暫存’心/疋參考位址邏 register),此正常片段暫存器是牟入°(n。職〗segment =π_)進人“=== ==,行在安全執行模式之安全編 ΓΓ=Γ23且使用正常載入與儲存指令來存取。 排324二二編碼的執订’ _邏輯電路301透過匯流 1因邏輯電路323以停止虛擬位址轉譯。亦 因此址轉譯係為1指令與資料而被禁能, i!· °益抓排324且由安全編瑪所提供之位址必須為 :體藉由這種作法,SEM邏輯電路阻止了分頁錯誤, 藉以消除此篡改來源。 在實施例中’安全揮發記憶體地完全地屬於在微 理器300内的曰曰片上(〇n_chip)快取記憶體,但安全揮 發記憶體搬快取線具有將這些快取線完全地隔離於微處 理器匯流_敎㈣隸。料㈣歧有減至外部 CNTR2469/0608-A41942TW^ 26 200949681 系統&己憶體,因此這些快取線無法自系統記憶體裝裁或存 入至系統心ϋ體’這些快取線也無法被任何匯流窺探資 來外部地或内部地窥察。 在實施例中,安全揮發記憶體302包括4Κ 64位元 在安全揮發記憶體搬巾,一快取線係依據由將 ^4移動至先前沒有涉及(refe職ed)之一快取線來分配。
❹ 一實施例中,安全揮發記憶體302包括具有4096個位置 之- 64位元快取記憶體,該等位置之每一者包括一内 性,且該内部屬性完全地隔離該等位置之每一者。 在另一實施例中,安全揮發記憶體3〇2包括隨機存 記憶體,其與微處理器内之晶片上快取記㈣分離。 SEMENTER指令之執行提供了安全執行模心2内安 全編碼的執行。在_ X86相容之實關t,安全執 修改的32位元x86真實模式來提供安全編竭的執 灯。在執行安全編碼時,禁止由安全執行模式搬進入一 在安全執行模式執行之前,_ __ =路305藉由設置一致能信號⑽几來禁能正常(即非 =)中斷邏輯電路316。在安全執行模式執行之前, 初始化邏輯電路3〇5也藉由設置—致能信號⑽虹來^ 正常(即非安全)例外邏輯電路314,也藉岐置一= 信號mSDL來禁能正常(即非安全)追縱/除錯邏ς 315。此外,在安全執行模式執行之前,電源管理 322藉由信號DISPML的設置而被禁能。透過這些安入= 施,不會發生正常匯流排中斷”且止了除錯例外了 = 流排追蹤週期、且禁能除錯輸出入埠。此外,^匯
CNTR2469/ 0608-A41942TWi/ 27 L 200949681 •係用來在安全編碼的執行_㈣能所有_餘處理器資 源(例如JTAG、探測模式、快取測試)。否則,電源管理 ,電路322允許微處理器3⑼進入降低功耗狀態,例如 在X86相容實施例中的p狀態與c狀態。因此,信號層见 係用來在安全編碼執行期間避免功耗狀態的轉換。 透過匯a排32G、321及327 ’安全編碼可存取處理器 執行單元(處理it鳩内的執行單元)313、亂數產生器319 與AES/HASH/RSA單元3U,以執行微處理器指令集的所 有指令,其中,這些指令包括真實亂數之硬體產生且可由 編程的巨集指令來使用的硬體實施功能,以執行RSA加 密、解密以及識別核對;AES加密與解密、以及 SHA-1/SHA-256 雜湊產生(Secure Hash Alg〇rithm,SHA, 女全雜湊演算法)。這些硬體實施功能係由AES/HASH/RSA 單元311來執行。 現在參閱第4圖,圖示4〇〇表示在本發明之微處理器 内女全編碼如何被儲存、存取及初始化。圖示400說明能 進行安全執行模式(SEM)之微處理器4〇1,其透過系統 匯流排425而輕接BIOS記憶體410與系統記憶體420。根 據本發明’微處理器401也透過私密匯流排431而耦接至 安全非揮發記憶體430。微處理器401包括安全編碼介面 邏輯電路402,其耦接至亂數產生器412、處理器金鑰暫存 器413'授權的公開金鑰暫存器4〇4、AES/HASH/RSA單 元405 (或稱加密單元405)、安全揮發記憶體406、SEM 監控邏輯電路408以及SEM初始化邏輯電路409。安全編 碼介面邏輯電路402另外耦接匯流排介面單元4〇3與安全 CNTR2469/ 0608-A41942TWf^ 〇〇 200949681 非揮發記憶體介面單元4〇7。 圖示400也表示儲存在糸
41〇之安全編碼411及=憶體420與⑽s記憶體 記憶體41〇之安全編碼4 ;實施例中,儲存在BI〇S 在降級模式203中的操作 2用來提供微處理器4〇1 全編碼421是用來提供微處理統記憶體420之安 中的操作。 15 401在安全執行模式202 ❹ 在操作上,圖示4〇〇所干_ 於先前參閱第W圖而已件的運作,實質上相似 圖W目P二敘述之相似名稱元件。參閱第4 =之h目的疋為了更加明確集中注意在 術,而那些元件與技術是用來 一牛/、技 在本發明之安全環境中的存取、初始化、執行 執二二關執行的環境是隔離於非安全編碼 ,仃的%境。如先則所述’原生未受控模式加只允許非 女全編碼的執行。安全執行模相允 編碼兩者的執行。在安全編踩批/ 堝弓與女王 丁隹女全編碼421執行之前,微處理器401 之狀態被保存。根據回到非安全編碼的執行的轉換,此狀 態恢復(__。此狀_存在安全揮發記憶體傷内的 一個區域,且此狀態不會出現在微處理器匯流排425上。 此外,安全編碼411、421是執行自安全揮發記憶體406。 除了將安全揮發記憶體條隔離於與微處理器匯流排似 聯繫之硬體與軟體,所有其他,,從屬通道卿chants)”(例 如除錯例外與執行追蹤特徵)被禁能,如關於第M圖之 討論。安全編碼411、421只提供給SEM中斷邏輯電路3〇7、 SEM例外邏輯電路308、SEM實時時鐘31〇、SEM計時器 CNTR2469/ 0608-A41942TWf/ 29 200949681 310以及只可由安全編碼411、421利用的其他處理器資源 獨佔存取。 此外’微處理器401提供SEM監控邏輯電路408,其 包括之非同步監控與監視機制,其中,此非同步監控與監 視機制獨立於安全編碼411、421以及非安全編碼的執行。 SEM監控邏輯電路408監控微處理器的環境(例如電壓、 溫度、匯流排運作)與物理特性,也核對安全編碼411、 421(安全應用程式)與相關資料之誠實性,將於下文詳細說 ❹明。當^貞測到安全暴露(security expo sure)時’ SEM監控邏 輯電路408可透過匯流排CHK將程式控制轉移至安全編碼 411、421之女全編碼錯誤管理製置(secure c〇de err〇r handler),或者,在偵測到嚴重的安全暴露情況下,SEM監 控邏輯電路408將透過匯流排CHK來使微處理器401進入 降級模式203。 在一實施例中,安全編碼介面邏輯電路4〇2監控存在 於女全編碼411、421中的複數指令,且透過匯流排ins 將這些心令挺供至SEM監控邏輯電路408,以支援微處理 器401之限定的指令集架構(Instructi〇n⑽人灿心伽代, ISA)操作。根據此實施例,當微處理器4〇1正操作在安全 執行模式時,本發明之微處理器401只被允許執行主機ISA 中的某些指令。即是,限定的ISA操作使得SEM邏輯電路 阻止複數非安全指令的執行,而此非安全指令的執行是授 權者欲阻止的,且該些非安全指令包括取自對應微處理器 之一指令集架構的一或多個運算碼。舉例來說,在χ86相 容之實施例中,超過100個微指令的產生與執行的指令或 CNTR2469/ 0608-A41942IW^ 30 200949681 •某類指令要求會被阻止。另一方自,當微處理器4〇1 作在安全執行模式時,一授權者可能期望阻止所有指令的 執行,例如任務切換、呼尋閘(callgates)等等。藉由將安全 編碼411、421内每一指令提供給SEM監控邏輯電路4〇8, 本發明之微處理器401致能限定的ISA操作。在一實施例 申’在限定的ISA指令集中的指令(即提供在安全執行模 式下執行的彳日令)ϋ8ΕΜ監控邏輯電路彻内指令陣 ❹ 歹(未顯不)之值來表示,將於下文詳細說明。當遭遇到 上述被阻止的指令時’ SEM監控邏輯電路權使微處理器 401進入降級模式2〇3。 在實施例中,安全編碼介面邏輯電路402將安全編 ==11 ' 421 t _令提供給SEM監控邏輯電路4〇8,提 二::全編碼411、421載入至安全揮發記憶體4〇 订後續執行。 ❹ 料2與初始化女全執行模式202的能力是非常關鍵的 麵作’此外’其表示了關於木馬程式(τ_ηΗ刪)安 HI能進入至包含安全編碼411、421的記憶體秦侧 金^ 過非對稱加密演算法與一組對應的非對稱加密 式初始化魅本Ϊ明之微處理器4〇1藉由控制安全執行模 稱金餘演算法止^暴露。在一實施例中,非對 肩算去,且對應金鑰則是由授權者所 此授權元RSA公開與私密金瑜。在一實施例中, __entity)提供執行的安全編碼川、 門,兩於第3圖之說日月’在微處理器401之製造期 31 200949681 且用來根據㈣稱金_算法 料已由授權者之其他非對稱4其中此貝 稱金鑰(即私密金鑰)來加密。
.t ^ r 施例中,此操作系統執行SEMENABLE V此指令物過授權者之私密金錄 、办 參數。安全編碼介面邏輯電路402接 授權的公開金鍮暫存器4G4來存取公開金输,且利 ❹ ❹ 用二纖娜驗單元4〇5來對此聰致能參數解密。 根,核對SEM致能參數,SEM初始化邏輯電路稱初始 化安全執彳了模式搬,亦即致能安全執行模式皿以執行 安全應用程式。除此之外,SEM初始化邏輯電路樣指示 微處理器楊自SEMENABLE指令恢復㈣膽)後 ,微處理 器401保持在非安全執行模式2()1。在一實施例中,無論 是否接受進入安全執行模式2〇2的授權(以及有一對應錯誤 狀態時’假使有的話)都會提供一回應編碼(retumc〇de)。 相對於在微處理器40丨之製造期間將授權的公開金鑰 直接編程至授權的公開金鑰暫存器4〇4,在另一實施例中, 授權者將授權的公開金鑰編程至安全非揮發記憶體43〇之 授權的公開金鑰區域432。因此,當微處理器4〇1開機 (power up)時,安全非揮發記憶體介面單元4〇7自此區域 432偵測並_取此公開金餘。安全編碼介面邏輯電路4〇2 接著將此金鑰以及之後指示此金鑰已被燒錄之參數,燒錄 至授權的公開金鑰暫存器404。此供選擇的實施例在安全 非揮發記憶體430的製造階段上,提供了更彈性地公開金 鑰配置。安全非揮發記憶體介面單元407透過私密匯流排 431將微處理器401粞接至安全非揮發記憶體43 0,其中, CNTR2469/ 0608-A41942TWf/ 32 200949681 ^密匯流排431上用來存取安全非揮發記憶體之複 數私密匯流排資料傳輸被隱藏,以避免被微處理器彻 ,數系統”諸、以及_料統隨排之任何裝 得知察覺。 安全非揮發記憶體介面單元術是由安全編碼介面邏 輯電路402戶斤管理。根據核對一舰致能參數,安全非^
Ο 發記憶體介面單元術藉由執行亂數寫人來清除安全非揮 發記憶體43G的内容。在—實施例中,在安全非揮發記情 體中的每一個位置以亂數寫入64次。在-實施例中二 每次寫入之亂數是由亂數產生器412所產生。 SEMENABLE指令(或是SEM致能機制)也傳送關於 安全編碼4U、421在BI0S記憶體或系統記憶體42〇 之位置的指標和任何初始安全資料(亦即致能參數)。此指 標與資料(亦即致能參數)是根據一預設結構來被格式化, 且根據非對稱金鑰演算法而被加密。被加密的指標與資料 被解雄、,且格式化被核對。不成功的核對導致錯誤碼的回 應。 假使在結構方面此指標與資料被確認且證實,安全編 碼介面邏輯電路402則指示匯流排介面單元4〇3去自Bl〇s 記憶體410以及/或系統記憶體42〇擷取安全編碼4li及 42卜安全編碼411、421也已藉由使用授權者的私密金鑰 並根據非對稱金鑰演算法而被加密,且必須與預設結構相 稱。安全編碼介面邏輯電路402利用授權的公開金鑰暫存 器404與AES/HASH/RSA單元405來對加密的安全編喝 411、421進行解密。在核對為正確格式後,安全編碼介面 CNTR2469/ 0608-A41942TWfy ” 200949681 :單元402利用AES/HASH/RSA單元4〇5來根據對稱加 密演算法並使用處理器金鑰暫存器413之内容(作為對稱 金鑰)來對安全編碼與資料進行加密。如前所提及,處理 器金鑰暫存器413之内容是微處理器401所特有的128位 元隨機產生的金鑰’且對稱加密演算法包括使用128位元 模塊(blocks)以及電子密碼書(Electr〇nic c〇de B〇〇k,) 模式的高級加密標準(AES)。此對稱加密的安全編碼接 著透過安全非揮發記憶體介面單元407而被寫入至安全非 揮發δ己憶體430。此外,安全編碼介面邏輯電路4〇2利用 ^ES/HASH/RSA單元405與處理器金鑰暫存器413來產生 女王編馬中已選擇部分之複數雜凑,安全編石馬介面邏輯電 路402對這些雜溱進行加密編碼並寫入至安全非揮發記憶 體430。在一實施例中,這些雜凑是根據SHA-1演算法而 產生。 此外,SEM初始化邏輯電路4〇9禁能JTAQ、探測模 式决取測試、或者禁能透過第3圖所討論之機制而提供 安全編碼監視的其他處理器特性。 當被編碼且被雜湊之安全編碼已寫入至安全非揮發記 憶體43G’微處理n 設定非揮發致能指示暫存器(如 第3圖中328所示)指示出處理器401正操作於安全執行 模式2〇2 S SEM初始化邏輯電路4〇9迫使微處理器彻執 行一重置序列(RESET sequence) 〇 部分的重^序列導致非揮發致能指示暫存器的内容被 讀取,且假使讀内容指示出處理器_處於安全執行模 式202中,則執行安全執行模式搬所特有的 、 C>iTR2469/ 0608-A41942TWF 弘 「 200949681 入至記.二 411二21起初被加密’且由授權者載 琴401 1〇、 °當安全執行模式被致能時,微處理 稱錢鮮法並❹_麵提供之金餘 口 衫對安全編碼。接著使用處理器獨特金 Ξ=ί法來加密且雜湊叫且對稱加密之編碼 透匯流排431而被寫入至安全非揮發記憶體·。 ❹ ❹ 人編步詳細說明,#安全編觸被執行時,安 王編碼由文全非揮發記憶體介面單元4〇7自安 ==30被擷取,且使用存放於處理器 ^ 來Γ’且安全編碼被寫入至微處理 隔離於所有可窺探其内容的硬體及或軟體完全 體概之功能包含可存放安全應 =發把憶 快取記憶體。 式執仃的指令與資料 在一實施例中,安全非揮發記憶體介面單 複數機械專㈣存H,其專有地顯現給安 乂括 械專用暫存器允許一安全應用程4广 、1,廷些機 ” 402)去執行對安全非揮發記憶體輯 即疋’根據此實施例’藉由執行對 、户子 :取與寫入’來執行對—:::= 授權者可有利地將微處理器4〇1 行模式環境結合,且由於透過系統匯流拂安全執 排431之資料傳輪被加密’因此安 二匯= 被保護以避免任何的反向工程與其他窥察與功此則 CNTR2469/ 0608-A41942TW^ 3$ '、^ 入技術。 200949681 現在參閱第5圖’其表示在第1圖之微處理器中之SEM 監控邏輯電路500之詳細内容。SEM監控邏輯電路5 括物理環境監控器5()1,其透過信號pSNT㈣安 記憶體⑽、透過信號νρι與vp2耦接電池vp,且2 t號C1與C2輕接石英器。此物理環境監控器训透過匯 流排NOBOOT提供一輪出信號。
SEM瓜控邏輯電路5〇〇也包括匯流排時脈監控器 502’其具有頻率參考單元5〇3。匯流排時脈監控器⑽透 過信號BUS CLK魄提供至微處理㈣匯流排時脈,且匯 流排時脈監控器502之輸出係耦接匯流排TAMpER。 SEM監控邏輯電路5〇〇也包括處理器電壓監控器 504 ’其透過信號VDD#BUSTERM麵接電源供應電壓與 複數匯流排終端電壓,其中,電源供應電壓與匯流排終端 電壓係由系統板提供至微處理器。SEM監控邏輯電路5㈧ 也包括溫度監控器505,其透過信號TEMP耦接至處理器 溫度感測邏輯電路(未顯示)。SEM監控邏輯電路5〇〇更 包括資料監控器506,其透過匯流排CHK麵接至安全編碼 介面邏輯電路402。匯流排時脈監控器502、處理器電壓監 控器504、溫度監控器505以及資料監控器506之輸出信 號則耦接至匯流排TAMPER。 SEM監控邏輯電路500更包括安全時戮計數器 (security time stamp counter)507,其耦接正常時戮計數器 (normal time stamp counter)508、信號 CORE CLK 以及比率 (Ratio)機械專用暫存器509。安全時戳計數器5〇7之輸 出信號耦接匯流排TAMPER。 CNTR2469/ 0608-A41942TWf/ 36 200949681
SEM監控邏輯電路500也包括指令監控器511,其耦 接指令陣列512與匯流排INS。如關於第4圖的討論,當 微處理器正執行在安全執行模式時,在安全應用程式内的 指令被提供至SEM監控邏輯電路500,以支援在主機ISA 内限制的指令執行。指令監控器511的輸出信號耦接至匯 流排 TAMPER 〇 最後,SEM監控邏輯電路500具有樣式監控器51〇, 其搞接匯流排PINCHK ’且在匯流排DESTRUCT上產生一 ©輸出信號。 匯流排NOBOOT、TAMPER以及DESTRUCT麵接於 監控管理器513。在一實施例中,監控管理器Η]產生信 號 CLASS1、CLASS2、CLASS3 以及 DISABLE。 在操作上,SEM監控邏輯電路5〇〇用來執行硬體與軟 體檢驗,其監控本發明微處理器之物理與暫時的屬性,以 偵測、識別以及分類操作事件(〇perating events),其中,操 作事件是表示對於安全編碼而言不安全的操作環境,例如 改變或移除電池、石英器或者安全非揮發記憶體;以本發 明之不安全的微處理器來取代本發明之安全微處理器;修 改匯"排時脈頻率,篡改微處理器電源供應電壓VDd ;修 改在系統記憶體、BIOS記憶體或安全非揮發記憶體内的加 密安全編豸;以及發生對安全編碼纟身的過度呼尋 (excessive calls) ° 因此,當操作在安全執行模式時,物理環境監控器 耗接安全非揮發#憶體1G7,藉由監控信號之狀態來 判斷安王非揮發§己憶體1Q7是否移除。信號之禁能 CNTR2469/ 0608-A41942TW& 200949681 :(de_aSSerti〇n)表示移除安全非揮發記憶體107。同樣地, 監控信號州與憎來_電池電壓是否改變或電池被移 除或者判斷對應該電池之電壓是否被充電。在—實施例 中’=之值與電池電壓成比例。同樣地,信號ci與c2 之狀態係表示石冑器的存在與否。假使物理環境監控器5〇ι 偵測到上述的任何變化,此變化則輸出至匯流排n〇b〇〇t。 此外,當操作在安全執行模式搬時,匯流排時脈監 控1 502估計信號BUSCLK之頻率’以韻系統匯流排時 脈的短期與長期完整性,其中,系統匯流排時脈透過系统 板而提供至微處理卜此匯祕時脈透過錢busclk被 路由(routed)至匯流排時脈監控器5〇2,匯流排時脈監控器 502使用内σρ相位鎖相迴路(未顯示)來檢驗短期匯流排 時脈誤差,其中,内部相位鎖相迴路與匯流排時脈同步化 且用來產生内部時脈給微處理器。匯流排時脈監控器5〇2 判斷匯流排時脈於不適當的週期是否維持平坦,或者 _時脈變化是否已超出可接受的程度(例如-特定範圍)。在 一實施例中,超過百分之六之變化視為是無法接受的。此 外’匯流排時脈監控器502使用頻率參考單元5()3來 溫度與電壓非相依的中間速度震盪器電路。頻率參考單^ 503產生與系統匯流排時脈成比例之—參考頻率。匯 時脈監控器502比較系統匯流排時脈的衍生(derivative)盘 時脈參f單元5〇3之輸出(參考頻率)’以判斷匯流排時脈 之頻率是否已經歷逐步(gradual)的頻率變化。假使任何上 述事件發生,此㈣透輕祕tamper報導給監控管理 器513(SEM邏輯電路3〇1),其將導致微處理器進入降級槿 CNTR^dftO/ ΠΛΠδ_Α/ΐιπν·^^— 200949681 式或進入硬體關機模式204。 處理器電壓監控器504估計透過信號VDd BUSTERM來提供且施加於微處理器之電源供^電壓與= 數匯流排終端電壓。上述電壓之高低限制係透過機械^用 暫存器(未顯示)來編程。一但電源供應電壓與複數匯後 排終端電壓偏離运些編程限制’處理器電壓監控器 透過匯流排TAMPER來報導(report)此事件給監控管王, 513。 皿工s理器 Ο
溫度監控器505包括精準的熱監控機制(除了正a 監控功能以外)’其在預設高與低溫度限制下不斷地^ 晶粒溫度。該晶粒溫度之-低溫度限制與—高溫度限:: 藉由溫度監控器5G5内-機械專用暫存器來編程。此言與 低溫度限制儲存在溫度監控器505内機械專用暫存器中,、 其中’這些機械專用暫存器可被安全編碼寫入。一但該晶 粒溫度偏離上述預設高與低溫度限制,溫度龄栌器 透過匯流排TAMPER來報導此事件給監控管H 513。 資料監控器5〇6用來當自安全非揮發記憶體掘取該安 全應用程式時,用以偵測與報導於安全編竭和安全資料相 關的複數加密與配置錯誤。這些複數加密與配置錯誤透過 匯流排TAMPER來報導給監控f理器513。 這 些錯誤為與腿職則及SEMenter# X — 之錯誤、當自記憶體擷取安全編碼時所偵測到之解密錯 誤、以及在安全編碼中雜湊與格式錯誤。
核心時脈信號CORE 的核心時脈信號CORE 安全時戳計數器507耦接— CLK’用來計算當安全編竭正執行時 CNTR2469/ 0608-A41942TWf/ __ 200949681 CLK之週期數。安全時戳計數器507耦接一正 器508。正常時戳計數器508則是在非安全編二,计數 碼執行期間内計算信號CORE CLK之週期數。三S、女全編 紙 备安全庫用 程式正在執行時或當安全應用程式非正在執行時 二 戳計數器508計算信號CORE CLK之週期數。6二正常時 數器507也耗接一比率機械專用暫存器509,& ; : 用暫存器5G9只由該安全應用程式所得知且耗率 行模式執行期間,安全編碼可對比率機械專用暫 執行-機械專用暫存器寫入,以建立介於正 508與安全時戮計數器5G7之數值之間的—最丄比例 (maximum ratio)。此最大比例係指示該安全應用程式已 呼尋之次數。假使超過此最大比例,藉此指示“㈣碼 已被呼尋多於指定次數,接著,安全時戳計數器5〇7透過 匯流排TAMPER㈣此事件(最大比例何時被超過)給監控 管理器513。亦即’安全時戮計數器5則以比較信號⑺虹 CLK週期數與正常賴計數器之數值、且將上述最大 比例被超過之事件報導给監控管理_ 513。上述最大比例 係藉由SEM邏輯電路内之—機械專詩能來編程。 指令監控器511在與主機ISA内指令子集的對照下用 來確認在安全剌程式内的指令,且指Μ在此安全應用 程式内且非在此子集内的指令何時已被編程以進行後續執 仃。提供來在安全執行模式内執行的指令子集是由指令陣 列512之數值來表示。在一實施例中,此子集包括在ISA 内的一或多個特殊指令,如運算碼(〇pc〇de)所識別。在另一 實施例中,此子集包括一或多個指令種類,如一微碼 CNTR2469/ 0608-A41942TW设 200949681 (microcode)複雜數值所識別。在一第三實施例中,此子集 包括一或多個標籤編碼(tag codes),每一者與一或多個指令 運算碼相關聯。 S7
指令陣列512耦接該指令監控器511,用以識別對應微 處理器之一指令集架構内的一所有指令之子集,該子集包 括允許在一安全執行模式内執行的指令。用來在安全執行 模式下執行的指令子集由指令陣列512之數值來識別。在 一實施例中,此指令陣列512包括一機械專用暫存器,波 初始地由安全應用程式來寫入。在另一實施例中,指人、 列512包括複數熔絲,其在製造期間被編程(燒斷)。^ 在安全執行模式之初始化期間,當安全編碼正由6 非揮發記憶體傳送至安全揮發記憶體以進行後續執行$全 對應安全編碼内每一特定指令之數值係由安全編碼介面 輯電路402透過匯流排INS而提供至指令監控器511邏 一實施例中INS之數值表示每一特定指令對應微處理器在 一指令集架構内的之特定運算碼或是運算碼子集。在^支 實施例中’此數值表示這些指令的種類(例如簡罩、 或多 等等)。在又一實施例中,此數值是對應在ISA内 ’ 個指令的標籤。 由 在另一實施例中,於安全編碼之執行之前,當安八 揮發記憶體正被編程時,在安全編碼内每一指令之數^ 安全編碼介面邏輯電路402透過匯流排INS來提供。 指令監控器511比較INS之數值與指令陣列512 值,以判斷是否允許執行特定指令。假使不允許的話之^ 令監控器511則設置信號於匯流排TAMPER。 ^ CNTR2469/ 0608-A41942TW 41 200949681 樣式監控器510,耦接匯流排DESTRUCT,是偵測本 發明之微處理器的非安全版本對系統板的安裝,其中,此 系統板是配置給本發明之安全微處理器。在一實施例中, 非安全微處理器與安全微處理器具有相異的接腳配置 (pinout)。在此兩版本之間相異的特定腳位之狀態係透過 匯流排PINCHK作為樣式監控器510之輸入信號。樣式監 控器估計匯流排PINCHK之狀態,且假使判斷出此非安全 版本被安裝時,則透過匯流排DESTRUCT來報導此事件給 ❹監控管理器513。亦即,匯流排DESTRUCT提供對應微處 理器之特定複數接腳配置之複數狀態,且樣式監控器51〇 則估計上述複數狀態以判斷微處理器是否配置一安全版本 來操作在該安全執行模式中。 監控管理器513藉由注意與估計透過匯流排 NOBOOT、TAMPER及DESTRUCT傳遞之資料,來動態 地監控微處理器之物理與操作環境。監控管理器513對上 述資料進行分類以指示出與安全應用程式之執行相關的安 ❹ 全層級,且使微處理器内之SEM邏輯電路根據安全層級來 執行反應操作。對安全應用程式之執行而言,SEM監控邏 輯電路500包括非同步監控、監視機制與監控器等係獨立 地操作。以下某些情況將導致信號CLASS1的設置,例如 透過匯流排TAMPER報導之匯流排BUS CLK之頻率的短 暫誤差。SEM邏輯電路響應於CLASS1之設置而將此事件 紀錄(log)(偵測信號CLASS1之設置)至安全揮發記憶體内 的安全事件紀錄表,且發出一中斷給安全編碼。假使此中 斷沒有被收到(acknowledged),則監控管理器513設置信號 CNTR2469/ 0608-A41942TW£^ 42 200949681 CLASS3。 假使偵測到會導致信號CLASS1設置的複數事件(多 於一個事件)’例如BUSCLK之誤差與VDD之誤差,監 控管理器513則設置信號CLASS2。SEM邏輯電路則試圖 清除安全揮發記憶體之資料區域,且試圖將此事件記錄至 安全非揮發記憶體。此外,檢查在BIOS之安全編碼的雜 湊。假使安全揮發記憶體之資料區域成功清除且此事件(偵 測"is號CLASS2之设置)被紀錄’且假使BIOS雜凑被正確 ® 地證明,SEM邏輯電路則開始轉換至降級模式203 ^此降 級模式提供有限的功能、錯誤顯示以及有限的使用者輪入 之相關指令。這些動作中任一者的錯誤會導致信號CLASS3 之設置。 Ί吕號CLASS3之设置表示有安全侵害。響應於信號 CLASS3之設置,SEM邏輯電路持續試圖清除安全揮發記 憶體且試圖將此事件(偵測信號CLASS3之設置)記錄至安 全非揮發記憶體,此外,使微處理器進入硬體關機模式 ❹ 204,即微處理器停止操作。 在一實施例中’監控管理器513判斷樣式監控器510 是否已設置信號DESTRUCT,因此指示出本發明微處理器 的非安全版本的安裝。假使信號DESTRUCT被設置,且假 使在匯流排NOBOOT上的資料指示出石英器與安全非揮 發記憶體存在時’信號DISABLE則被設置。響應於信號 DISABLE之設置,SEM邏輯電路使非安全之微處理器停止 操作。 以上關於監控管理器513設置信號CLASS1、 CNTR2469/ 0608-A41942TWf7 43 200949681 CLASS2、CLASS3以及DISABLE皆係用來將程式控制轉 移至安全應用程式内複數事件管理者之一,例如有安全侵 害時,信號CLASS3被設置,SEM邏輯電路則持續嘗試清 除安全揮發記憶體且將此事件記錄至安全非揮發記憶體, 持續嘗試迫使微處理器進入硬體關機模式,即微處理器停 止操作。關於監控管理器513設置信號CLASS卜CLASS2、 CLASS3以及DISABLE的上述情況僅為範例,是用來教導 本發明之安全環境管理。此技術領域中具有通常知識者能 ® 理解’安全事件類別以及適當反應是受到所需之特定安全 環境所約束,因此,本發明包含了上述安全事件類別與適 當反應之其他方法。 現在參閱第6圖,狀態圖600詳細說明本發明之微處 理器的操作模式轉換。狀態圖600包括原生未受控模式6〇1 (或”非安全”執行模式601)、降級模式605以及硬體關機 模式606 ’如同第2圖中相似命名的元件,相異之處在於, 更詳細說明原生未受控模式601在程式控制下只可返回至 此模式之有限次數。這些返回的有限次數以原生未受控模 式〇)〇〇1^^111〇(16’8?]^)[1旧]來表示。此外,更詳細地解 釋在第2圖之安全執行模式202,以說明複數致能重 置模式[1:N]602、一 SEM致能正常執行模式6〇3以及一 SEM致能女全執行模式604。即是,當安全執行模式202 透過SEMENABLE指令的執行(或者其他致能機制)而被 致能時’本發明之微處理器被重置(即致能重置[1:N])其 可能正在執行非安全應用程式(致能正常執行模式),或 者可能正執行安全編碼(致能安全執行模式)。 CNTR2469/ 0608-A41942TW 44 200949681 . 如上所示,本發明之微處理器被製造為初始開機即進 入原生未受控模式601。且如狀態圖600所指示,有關微 處理器的安全的不同版本可持續地被使用於原生未受控模 式中。然而,SEMENABLE指令或致能安全執行模式之交 替機制(例如SEM ENABLE)的執行導致微處理器進入 SEM致能重置模式602 ’以迫使微處理器重置,其中可以 進入SEM致能重置模式602的次數為[1:N]次,且上述為 第一次進入SEM致能重置模式602。在SEM致能重置模 ❹式602中,在重置序列期間,微處理器執行關於操作在安 全環境之配置與誠實性檢查,如前述關於第5圖之敘述。 根據在SE1V[致能重置模式下重置的成功執行(即通過), 微處理器轉換至SEM致能正常執行模式6〇3,以進行非安 全應用程式的執行。然而,假使偵測到某些已定義狀態, 例如前述由監控管理器513對信號CLASS3
與 DISABLE 的設置,微處理器將轉換至降級模式6〇5 (即由於CLASS2 的設置),或轉換至硬體關機模式60ό (即由於DISABLE 的3又置)。從硬體關機模式6〇6離開,微處理器可被重置 以導致其返回S SEM致能重置模< 6〇2卜從降級模式 605離開’微處理器透過Bl〇s提供受限的指令,允許使用 者建立用來在程式控制下致能微處理器以進人圓致能 安全執行模式604的參數。 從SEM致此重置模式6〇2離開在重置序列中的硬體 啤尋將迫使微處理器直接進入贿致能安全執行模式 綱於其中執行安全編竭。此外,發生在致能正常 執行模式603中非女全編石馬執行期間中或者在 CNTR2469/ 0608-A41942TW^ 45 200949681 •才曰令之執行期間中的安全中斷、或者使微處理器開始執行 安全編碼之交替機制,將導致微處理器轉換至SEM致能安 全執行模式604。命令微處理器開始執行安全編碼的指令 與交替機制都參照狀態圖6〇〇中的”呼尋’,。同樣地, SEMEXIT指令之執行或命令微處理器終止安全編碼執行 與開始非安全編碼執行的交替機制,係參照,,返回 (RETURN),此返回導致微處理器轉換為SEM致能正常執 行模式603。如上所述,安全編碼可導致微處理器由sem 卩致能安全執行模心04轉換為降級模< 6〇5。bi〇s内的安 王編碼允許微處理器由降級模式6〇5返回至sem致能安全 執行模式604。 最後,在SEM致能安全執行模式6〇4 +執行的安全編 碼可藉由寫入-特殊機械專用暫存器,來引發安全機械檢 查例外,其導致微處理器轉換回觀致能正常執行模式 6〇3以執行非安全編碼。料,假使在麗致能正常執行 〇模式6G3中發生-安全中斷,微處理器之狀態自動地改變 至=EM致月匕安全執行模式6〇4。這些執行在本發明微處理 器I巳例中用來導致狀態圖所述的狀態變化之不同的步驟, 將透過第7-11圖來詳細說明。 參閱第7圖’流程圖7〇〇表示本發明微處理器中致能 安全執行模式操作的高階方法。流程圖開始於方塊7〇1 , 於其中,微處理器處於原生未受控模式6Qi。透過 SEMENABLE指令的執行或致能安全執行模式之交替機 制’例如寫人至-隱藏機械專用暫存器,傳送—致能參數, 其中’此致能參數已藉由使用一對非對稱加密金錄中之一 CNTR2469/ 0608-A41942TWf/ , 200949681 •者並根據非對稱加密演算法來被加密,而一對非對稱加密 金鑰中之另一者已被編程至微處理器中授權的公開金鑰暫 存器内。流程繼續進行至方塊7〇2。 在方塊702中,利用在微處理器内的加密單元,解密 此致能參數以擷取用來致能安全執行模式之一有效指令以 及擷取在記憶體内加密安全編碼之指標。在BI〇s中指向 安全編碼的另一指標以及任何加密的初始化資料也一起被 提供。流程繼續進行至方塊7〇3。 ❹ 纟方塊7G3中’加密的安全編碼透過系統匯流排而被 擷取自記憶體/BIOS,且被解密。此安全編碼與資料接著萨 由使用一處理器金鑰並根據一對稱金鑰演算法來被加密," 其中,此處理器金鑰對於本發明之每一處理器而言是獨特 的,且在製造時被編程至一處理器金鑰暫存器。此對稱加 密的安全編碼與資料接著透過私密匯流排而被寫入至一安 全非揮發記憶體,其中,此私密匯流排隔離於系統匯流= 資源。寫入至安全非揮發記憶體之部分程序包括在寫入董 稱加密編碼與資料之前,對記憶體執行隨機寫入。流2 續進行至方塊704。 ~ ^ 在方塊704中,微處理器内非揮發致能指示暫存器 寫入,以指示出安全執行模式被致能。在一實施例中°,子 揮發致能指示暫存器包括複數位元,且這些位元中之〜卜 係被寫入以在安全執行模式每次被致能時用來指示出〜者 執行模式被致能。這些位元中另一者係被寫入以指示=全 回至原生未受控模式。因此,根據本發明之256位元返 發致能指示暫存器允許了 128次由非安全執行模式= CNTR2469/ 0608-A41942TW^ 47 ^ 200949681 .執行模式的轉換。流海规破 •在方塊W中行至方塊7〇5。 器中致能安全執行模式操=7^。,即完成本發明微處理 第8圖之流程圖8 / 禁能安全執行模式摔作之用來在本發明之微處理器中 述操作在安全執行 2方法。即是’流程圖_敘 至原生未受控模式。、流轻2編喝如何命令微處理器返回 安全執行模式執行安全編^ =方塊801,於其中’正於 ❹ 在方地士 碼。流程繼續進行至方塊802。 全執行模式的进D /安全編碼於安全執行模式執行至非安 令。在-、i施例ΓΓΓ)…亦即執行安全執行模式禁能指 !. ',备安全編碼執行對一 SEM機械專用暫 存:㈣::’開始實施至非安全執行模式的返:(= 女王執:模式),其導致一安全 一 ⑽沖。η)。程式控制接著轉移至在於安 的安全例外管理者,1中,〆 证止上 s ^ ^ ,、中此位址係由前述安全中斷描述 輕料之㈣來難。在—實施财 對—频專㈣料執行寫人,⑽轉纽如假使 此機械專用暫存器沒有被正確地寫入,此返回被忽略,且 微處理器維持在安全執行模式。假使 繼續進行至方塊803。 使乂握被確遇,則流程 在判斷方塊803中,評估非揮發致能指示暫存器的内 容’以判斷是否禁能安全執行模式(支援返回至非安魏行 模式)。假使沒有被禁能(支援返回至非安全執行模,流 程繼續進行至方塊806。假使於此非揮發致能指示暫存器L 之複數位元允許至非安全執行模式的返回,流程則繼續進 CNTR2469/ 0608-A41942TW 48 200949681 行至方塊804。 維持安全執行模式,且控制權返回至 在方塊806中, 安全編瑪。 在方塊804中’更新非揮發致能指示暫存器,以指 此微處理器正操作在非安全執行模式。流程繼 ^ 塊 805。 J ^ 在方塊805中,微處理器之狀態返回至原生未受押模 式’即完成本發明之微處理器中禁能安全執行模式操作之 ϋ 方法。 第9圖表tf流程圖其詳細說明本發明微處理器内 初始化安全編碼執行的方法。即是,流程圖_之方法包 括第7圖之流程圖,的更詳細說明。流程開始於方塊 90卜於其中’本發明之微處理器正於原生未受控模式中執 行非安全應用程式。流程繼續進行至方塊9〇2。 在方塊902中,在非安全執行模式之一操作系統執行 SEMENABLE指令或交替的機制(例如寫入至一機械專用 暫存器),其傳送一或多個致能參數,其中,此一或多個 致能參數是根據屬於授權者之私密金鑰來被非對稱地加 密。此-或多個致能參數包括帛來指向被執行之非對稱加 密安全編碼的指標,此指標可儲存在系統記憶體以及/或 BIOS s己憶體。流程繼續進行至方塊903。 在方塊903中’微處理器使用一對應的授權的公開金 鑰來對傳送的一或多個致能參數進行解密。在一實施例 中,於微處理器之製造期間,此授權的公開金錄被編程至 一非揮發授權的公開金鑰暫存器。在另一交替的實施例 CNTR2469/ 0608-A41942TWf/ _ 200949681 :中’此授權的公開金鑰被編程至本發明之安全非揮發記憶 體内的一位置,且根據微處理器的初始開機,此授權的公 開金输自此安全非揮發記憶體被擷取,且此授權的公開金 输被編程至非揮發授權的公開金鑰暫存器,接著,在安全 非揮發記憶體内的此位置被清除。流程繼續進行至方塊 904 ° 在方塊904中’判斷解密的致能參數是否有效。假使 有效’流程繼續進行至方塊905。假使無效,流程則繼續 ® 進行至方塊907。 在方塊905中,由於已判斷出此致能參數是有效的, 則執行複數隨機寫入於安全非揮發記憶體的所有位置以清 除安全非揮發記憶體的内容。流程則繼續進行至方塊9〇6。 在判斷方塊906中,加密的安全編碼自系統記憶體/以 及或BIOS記憶體被擷取。接著,使用授權的公開金鑰並 根據非對稱金鑰演算法來對此加密的安全編碼進行解密。 0 在一實施例中,在微處理器中執行邏輯電路内的·一加密單 元用來解密此加密的安全編碼。在一實施例中,此加密單 元能執行AES加密操作、SHA-1雜湊操作以及RSA加密 操作。解密後的安全編碼接著被解壓縮,且被檢查格式是 否正確。假使解密後的安全編碼格式正確,流程繼續進行 至方塊908。假使解密後的安全編碼格式不正確,流程則 繼續進行至方塊907。 在方塊907中,由於解密後的致能參數是無效的,程 式控制則返回至非安全執行模式。 在方塊908中,解密的安全編碼(以及對應的初始資 °^2469/ 0608-A41942TW£^ 5〇 200949681 二 H 處理器金鑰並根據對稱金鍮、” 法來加密’其中,此處理器錢是此微處理器所獨=鼻 且在製造時編程至-非揮發處理器金鑰暫存器 :’ 施例中,此對稱麵為128以之娜錄,:實 器利用其加密單元來對安全編碼執行燃加密 進行至方塊909。 狂繼續 〜或 内的 流程 ❹ 在方塊909 +,此微處理器建立加密安全編碼中 多個段落的-或多個雜凑。在—實施例中,微處理器 加密單it絲建立加密編碼之—❹個雜凑。 繼續進行至方塊910。 在方塊910中,微處理器透過私密匯流排將加密 全編碼(以及資料’若有的話)以及此一或多個雜凑: 至安全非揮發s己憶體’其中,此私密匯流排隔離於系統 流排資源。此安全編碼與資料被加密,因此阻止了安全進 碼内容的偵測。流程繼續進行至方塊9丨1。 蝙 在步驟911中,設定非揮發致能指示暫存器以指示安 全執行模式被致能。流程繼續進行至方塊912。 女 在方塊912中,於微處理器内執行安全執行模式欵能 重置序列(reset sequence)。此重置序列包括硬體檢查(如^ 第5圖中相關的討論)以及初始化安全揮發記憶體為複數 亂數,即完成本發明之微處理器内初始化安全編碼執 方法。 接著參閱第10圖,流程圖1〇〇〇表示本發明微處理器 中執行安全執行模式致能重置操作的方法,其中,此微處 理器已致能安全執行模式的操作。流程開始於方塊1〇〇1, CNTR2469/ 0608-A41942TWf/ 51 200949681 其中’當微處理器完成安全執行模式的初始⑽,微處理 2行安全執行模式致能重置序列。流程繼續進行至方塊 在方塊1002 微處理器執行複數處理器誠實性檢 查’包括安全非揮發記憶體、電池與石英器㈣測與確認。 此外’核對匯流排時脈的存在與頻率誠實性,並確対提供 給匯流排終端與微處理㈣應電狀適當電壓。微處理器
之溫度相處於—可接受的範圍内。流程繼續進行至方塊 1003。 在方塊_中,微處理器執行非揮發記憶體連結 (connectivity)與雜凑檢查。自安全非揮發記憶體内一位置 讀取安全簽章,並對此安全簽章進行解密。解密後的簽章 被核對以證實非揮發記憶體沒有被洩漏❶此外,微處理器 亦讀取安全非揮發記憶體之特定位置與對應的雜湊。透過 加达、(即AES/HASH/RSA)單元,產生被選擇位置的確認 雜湊,且與被讀取的雜湊進行比較。流程繼續進行至方塊 1004。 在方塊1004中,微處理器執行安全實時時鐘的確認。 在一實施例中,安全執行模式實時時鐘估計石英器的狀 態,以偵測在頻率上大於百分之五的改變,因此表示出石 英器與在電池電壓上大於百分之五的改變,且表示出潛在 的安全威脅徵兆。假使上述確認檢查的任一者產生不利的 結果,根據偵測到事件的嚴重性與次數,安全執行模式致 旎重置序列將使此事件被記錄下來,或者迫使微處理器進 入降級模式,或硬體關機模式◊流程繼續進行至方塊。 CNTR2469/ 0608-A41942TW 疗 。 200949681 : 在方塊1005中’自扑揮發記憶體(系殊記憶體以及/或 -BIOS記憶體)擷取加密的安全編碼以及資铒。流程繼續進 行至方塊1006。 在方塊1006中,解碼與解壓縮加密的安全編碼,且確 認格式正確後’安全編碼接著被載入至微處理器内的安全 揮發記憶體。流程繼續進行至方塊丨007。 在方塊1007中’初始化微處理器内的安全資源。這此 安全資源無法被非安全編碼所得知或存取,且只對於在安 ❿全執行模式中執行的安全編碼而言是可利用的。這些資源 包括安全汁時器、女全中斷以及安全例外,且包括安全中 斷描述符號表單、以及任何安全機械專用暫存器或為了安 全編碼的執行而必須被初始化的其他暫存器。初始化包括 非安全中斷、非安全例外、非安全追蹤以及除錯邏輯電路 的禁能,也包括微處理器之任何電源管理邏輯電路的禁 能,其中包括導致核心電壓、核心時脈頻率之變化或者致 能或禁能其他元件(例如快取記憶體、分支預測單元等等) ❹ 的任何元件。流程繼續進行至方塊1008。 在方塊1008中,初始化微處理器内的非安全的快取記 憶體(即L1快取記憶體、L2快取記憶體)為亂數。流程 繼續進行至方塊1〇〇9。 在方塊1009中,產生一安全執行模式中斷,且根據存 在於安全中斷描述符號表單内的資料來呼尋(call)安全執 行模式重置功能,其中’此安全中斷描述符號表單在方塊 1007中被初始化,即完成本發明微處理器中執行安全執行 模式致能重置操作的方法。 CNTR2469/ 0608-A41942TW 砍 53 200949681 中络m第u圖,流程圖1100表示本發明微處理器 跡於二,操作之方法。此方法開始”塊 於其中’文全編碼正執行於安全執行模式。概 根據本發明,具有三種方法使微處理器由非安全執 轉換為安全執行模式,並開始安全編碼的執行。第:種工 法允許程式控制轉移為安全編碼的執行。即是,在安全= 行模式下的非安全應用程式如同SEMENTER指令^執 ❹行。在一實施例中,SEMENTER指令導致微處理器的狀熊 被儲存在安全揮發記憶體内的堆疊,且程式控制轉移至= 全編碼,非常類似x86 SYSENTER指令的操作。第二種= 法是’當執行非安全或安全重置序列時,導致安全編4馬的 執行是由於一中斷或例外所致。導致安全編碼執行的最後 一個方法,是起因於來自任何數量之安全監控邏輯元件的 中斷’就像關於第5圖的討論。 如上所述,執行在安全執行模式之安全編碼,永久地 存在於安全非揮發記憶體,但是在一安全執行模式致能重 ® 置序列的期間,其已被载入至安全揮發記憶體。即是,此 安全編碼不再自非安全記憶體中執行’例如系統記憶懸戈 非安全的處理器快取記憶體。因此’藉由兩種方法,執行 控制由安全執行模式轉換回非安全執行模式。第一種方法 包括執行SRESUME指令,其引起來自SEMENTER指令的 回應(return)。在x86實施例中’此sresUME指令以與χ86 RESUME相似的方法來操作。即是,預先儲存在安全镡發 記憶體中的程式狀態被恢復(restored),且程式控制轉移至 操作系統或非安全編碼。第二種方法是考慮強迫一安全例 CNTR2469/ 0608-A41942TW 54 200949681 外,其中,藉由對只可由安全編碼來存取之一機械專用暫 存器執行寫入’微處理器之安全元件可存取此安全例外。 假使確認微處理器將返回至非安全執行模式,接著產生被 操作系統指明且處理的一非安全機械檢查例外,因此影響 至非安全執行模式的返回。第11圖之流程圖11〇〇提出強 迫此安全例外以返回至非安全執行模式,而此技術領域中 具有通常知識者將理解,SRESUME指令的執行導致微處 理器去執行下文所述的相似步驟。 因此’流程持續於方塊1102 ’於其中,將安全編碼寫 入至安全執行模式機械專用暫存器(SEMMSR)〇SEMMSR 即是’只可被執行在安全執行模式下之安全編碼所存取且 得知的複數機械專用暫存器中之一者。流程繼續進行至方 塊 1103 。 在方塊1103中,寫入至安全執行模式機械專用暫存器 產生了由SEM邏輯電路内安全例外邏輯電路所處理的安 全例外。流程繼續進行至方塊1104。 在方塊1104中,安全例外邏輯電路(例如安全中斷描 述符號表單)導致程式控制分支至安全編碼内的安全例外 管理者。流程繼續進行至方塊1105。 在方塊1105中,安全例外管理者回應一授權的例外編 碼。此安全例外管理者執行至安全編碼的返回,藉以將— 授權的例外編碼傳送回安全編碼。流程繼續進行至方塊 1106。 在方塊1106中,判斷由安全例外管理者所回應之例外 編碼是否正確。假使此例外編碼不正確,則假設有一安全 CNTR2469/ 0608-A41942TWf/ 55 200949681 〔風險’且流程繼續進行至方塊1112。假使此例外編碼正確, 則安全編碼與安全例外管理者之間的交握則被確認以指示 返回至非安全執行模式,且流程繼續進行至方塊 1107。 在方塊1112巾’維持安全執行模式,且控制權返回至 安全編碼。 在方塊1107中,微處理器執行複數隨機寫入於安全非 t發記憶體的所有位置以清除安全非揮發記憶體之内容。 $全應用程式利用微處理器内之—亂數產生器來產生亂數 資料且對安全非揮發記憶體内之所有位置執行隨機寫入。 流程繼續進行至方塊1108。 ^在方塊1108中,微處理器藉由將,,〇”寫入至安全非揮 發記憶體之每-位置,來清除安全非揮發記憶體之每一位 置。流程繼續進行至方塊1109。 在方塊1109中,設定非揮發致能指示暫存器以指示安 全執行模式被禁能,亦即,微處理器正操作在一非安全執 模式中。其受限於安全執行模式可被禁能的次數,如同 刖文關於第8圖之說明。流程繼續進行至方塊111〇。 在方塊1110中,安全例外邏輯電路產生一機械檢查例 外,此外回應一狀態參數(亦即例外編碼指示狀態)來將程 式控制轉移至非安全應用程式中之一。因此,在非安全執 行模式下的操作系統處理此機械檢查例外,且完成返回至 非安全執行模式。流程繼續進行至方塊mi。 在方塊1111中,即完成本發明微處理器中終止安全執 行模式操作之方法。 第12圖係表示一安全實時時鐘12〇〇之詳細方塊圖, 0^12469/ 0608-A41942TW^ 56 200949681 其位於本料之微處理㈣SEM賴電㈣ 鐘1200只可由正操作在安全執行模式下的安 知且存取。安全實時時鐘包括震盪器12(Hq透過= vp耗接電池且透過信號C1及c2來減器 器產生震盪輸出電壓信號VO,且信號vo耗接計 Ο 。此計數n產生輸幻辣CNTC,且輸出信號cNT〇 被路由至轉換邏輯電路12G3。信號VP、c卜及C2也輸入 至轉換邏輯電路12〇3,此外,信號ENV同樣輸入至轉換 邏輯電路,其巾’錢E N V财職晶粒溫度之數值 換邏輯電路1203產生透過信號TEMp、Batt、c〇Mp、 XTAL以及雙向匯流排TIME來提供的複數輸出。此微處 理器透過雙向匯流排TIME提供輸入至此安全實時時鐘。 震盈器1201與计數器12〇2是專用的,即是除了被提 供來允許微處理器透過雙向匯流排TIME對安全實時時鐘 進行讀取和寫人的元件以外,他們無法共享其他電路系統 或微處理器的其他元件。此外,只要電池透過信號vp提 供可接受的電壓時,安全實時時鐘持續其計數。在一交替 的實施例中,電池電壓信號VP是由系統板上的電容器所 產生,以代替只要系統板開機而持續被充電的電池。 在操作上,震盪器12〇1產生震盈輸出電廢信號, 其與石英ϋ之頻率成比例’且此震I輸出電壓被提供至計 數器1202。計數n麗包括複數元件,用來計算透過信 號VO所提供之週期數’並將此數轉換為—計數數值。 此冲數數值被提供至信號CNTO上。轉換邏輯電路12〇3 包括複數電路1將CNTG之數值轉換騎續時間數值, CNTR2469/ 0608-A41942IW 57 200949681 此外,轉換邏輯電路1203也包括複數暫存器(未顯开)’ 其可透過雙向匯流排TIME而被微處理器來讀取與寫入。 此外,轉換邏輯電路1203用來偵測電壓信號VP的顯 著變化’指示出潛在的篡改,且此一事件由信號batt之 設置來表示,其中,信號BATT之設置係用來中斷執行 的安全編碼。在一實施例中,大於百分之五的變化導致 BATT中斷被設置。 轉換邏輯電路1203也用來透過信號C1與C2來偵測石 ® 英器頻率的顯著變化,因此指示潛在的篡改,且此一事件 藉由信號XTAL的設置來表示。信號XTAL的設置係用來 中斷正執行的安全編碼。在一實施例中’大於百分之五的 變化導致XTAL中斷被設置。 信號ENV係由轉換邏輯電路1203來估計,以判斷因 溫度偏離而使計數器1202產生不精準的計數。假使判斷出 溫度偏離,信號TEMP則被設置,其用來中斷正執行的安 全編碼。
轉換邏輯電路1203也用來估計上述情況中任一者是否 足夠顯著,以指示安全實時時鐘已被洩漏,例如電池的移 動與取代。假使被判斷出,信號c〇Mp也被設置,因此中 斷安全編碼的執行。 奉毛月徒供一些高於現今技術的優點以在安全環境中 執行應用程式。例如,根據本發明之設計是以微處理= 基礎。即是,本發明之-目的是修改貞責安全編 = 理器’這是因為,相對於著重在修改晶片組或其:處 其他技術’只有微處㈣可提供及時執行安全。 的 CNTR2469/ 0608-A41942TWf/ ^ 隔離 58 58 200949681 〔晶片來監控微處理n的方法有許多的内在安全性缺陷,且 對於安全相關的執行而言效能也明顯地降低。 根據本發明中以x86為基礎的實施例由於_程式 化技術的普遍性,安全編碼的發展相當地平易。χ86架ς 已被得知,且對於精通非安全χ86應用發展的任何程式設 計者而言,機械專用指令之附加與專用指令(例: SEMENABLE、SEMENTER、及 SRESUME 指令)僅提供 較少的學習挑戰。 ^ ® 此外,對於微處理器的附加安全執行能力的成本遠小 於額外晶片組被加至系統設計所呈現的成本。 此外,由於安全執行環境係被提供至微處理器本身之 内,因此内在地對抗那些物理或從屬通道攻擊, 附加外部電路。 ' 此處所揭露的技術非常有利地提供安全的微處理器操 作%i兄,在此環境中,會被洩漏的一般機密(例如一般加 _ 密金鑰或程式架構)不會儲存於其中。即是,本發明之每 一處理器只具有需要被特定處理器或系統授權、控制等等 的機密。來自一處理器/系統之機密不會破壞在另一處理器 /系統的安全性。此外,得知如何破壞在一處理器的安全 性,應當不會使其更容易地去破壞其他處理器上的安全 性。即是,這是由於獨特的處理器金鑰,此獨特的處理器 金鑰是由在安全非揮發記憶體匯流排上的資料傳輸所提供 且導致的’其中’這些資料傳輸係使用此金鑰來加密。 與知供對抗俗稱阻絕服務攻擊(denial-of-service attack)之保護的習知技術比較起來,根據本發明之微處理 CNTR2469/ 0608-A41942TWf/ <9 200949681 器具有更多的優點。例如,如第5圖所討論,糾 控元件以侧絲得在事件上的活動,例如持續對安^ 行環境的呼尋(例如來自惡意裝置驅動器), 池、石英器的持續移除等等。 、、里電 本發明雖以較佳實施例揭露如上,然其並非用 本發明的範圍’任何所屬技術領域巾財財 二 不脫離本發明之精神和範_,當可做些許的更動 ❹
飾,因此本發明之保護範圍當視後附之 定者為準。 〜粍固所界 【圖式簡單說明】 (SEM)微處 第1圖表示根據本發明之安全執行模式 理器之方塊示意圖; 第2圖表示說明第1圖之微處理器中最高階級操作模 式之狀態圖, 、 第3圖表示根據本發明之微處理器中SEM邏輯電路 方塊示意圖; < 第4圖表示在根據本發明之微處理器内,安全編碑如 何被儲存、存取、初始化以及執行的方塊示意圖; 第5圖表示在第1圖之微處理器中,SEm監控邏輯電 路的詳細方塊示意圖; _ 第6圖表示在根據本發明之微處理器内操作模式轉換 之狀態圖; 、
第7圖表示在本發明之微處理器中致能安全執行模式 操作的高階方法流程圖; X 第8圖 表示在本發明之微處理器中禁能安全執行镇式 cntR2469/ 0608-A41942TWf/ 200949681 操作之面階方法流程圖; 内初始化安全編瑪執 第9圖表示在本發明之微處理器 行的方法流程圖; 第10圖表示本發明微處理器中執行安全執行模式致能 重置操作的方法流程圖; 月匕 第11圖表示在本發明微處理器中終止安全執行模式操 作之方法流程圖;以及 Μ
第12圖表示在本發明之微處理器内安全實時時鐘之詳 細方塊示意圖。 【主要元件符號說明】 100〜系統板; 102〜系統匯流排; 101〜安全執行模式微處理器 103〜匯流排主控裝置; 104〜匯流排管理最置; 105〜安全執行模式邏輯電路; 106〜私密匯流排;〜安全非揮發記憶體; Cl、C2〜連接路徑/信號; PSNT〜内存檢測匯流排/信號; VP〜電池; XI〜石英器 VP1、VP2〜連接路徑/信號; 200〜狀態圖; 201〜非安全執行模式(原生未受控模式); 202〜安全執行模式(SEM-致能模式); 203〜降級模式; 204〜硬體關機模式; 300〜安全執行模式微處理器; 301〜SEM邏輯電路;3〇2〜安全揮發記憶體; CNTR2469/ 0608-A41942TWf7 , 200949681 . 303〜處理器狀態; 304〜安全編碼; 305〜SEM初始化邏輯電路; 306〜SEM監控邏輯電路; 307〜SEM中斷邏輯電路; 308〜SEM例外邏輯電路; 309〜SEM計時器; 310〜SEM實時時鐘; 311〜AES/HASH/RSA 單元; 312〜處理器金鑰暫存器; ❹ 313〜處理器執行單元;314〜正常例外邏輯電路; 315〜正常追蹤/除錯邏輯電路; 316〜正常中斷邏輯電路; 317〜對應安全編碼之安全資料; 318〜授權的公開金鑰暫存器; 319〜亂數產生器; 320、32卜 324、326、327〜匯流排; 322〜電源管理邏輯電路; ® 323〜位址邏輯電路; 325〜非安全記憶體; 328〜非揮發致能指示暫存器; 329〜SEM機械專用暫存器記憶庫; 400〜圖示; 401〜微處理器; 402〜安全編碼介面邏輯電路; 403〜匯流排介面單元; 404〜授權的公開金鑰暫存器; 405〜AES/HASH/RSA 單元; 406〜安全揮發記憶體; CNTR2469/ 0608-A41942TWf/ 62 200949681 . 407〜安全非揮發記憶體介面單元;. 408〜SEM監控邏輯電路; 409〜SEM初始化邏輯電路; 410〜BIOS記憶體;411、421〜安全編碼; 412〜亂數產生器;413〜處理器金鑰暫存器; 420〜系統記憶體; 425〜系統匯流排; 430〜安全非揮發記憶體; 431〜私密匯流排;432〜授權的公開金鑰區域; ❹ CHK、INS〜匯流排; 500〜SEM監控邏輯電路; 501〜物理環境監控器; 502〜匯流排時脈監控器; 503〜頻率參考單元;504〜處理器電壓監控器; 505〜溫度監控器; 506〜資料監控器; 507〜安全時戳計數器; 508〜正常時戳計數器; ® 509〜比率機械專用暫存器; 510〜樣式監控器; 511〜指令監控器; 512〜指令陣列; 513〜監控管理器; BUSTERM、BUS CLK、CORE CLK、TEMP、VDD、 CLASS1、CLASS2、CLASS3、DISABLE〜信號; DESTRUCT、INS、NOBOOT、PINCHK、TAMPER、 CHK〜匯流排; 600〜詳細操作模式圖示; 601〜原生未受控模式(非安全執行模式); CNTR2469/ 0608-A41942TWf/ 63 200949681 602〜SEM致能重置模式[1:N]; 603〜SEM致能正常執行模式; 604〜SEM致能安全執行模式;
605〜降級模式; 700〜流程圖; 800〜流程圖; 900〜流程圖; 1000〜流程圖; 1100〜流程圖; 1200〜安全實時時鐘; 1202〜計數器; VP、ENV〜信號; CNTO〜輸出信號; 606〜硬體關機模式; 701.. . 705〜流程步驟; 801.. . 806〜流程步驟; 901.. . 912〜流程步驟; 1001.. . 1009〜流程步驟; 1101.. . 1112〜流程步驟; 1201〜震盪器; 1203〜轉換邏輯電路; VO、CNTO〜輸出信號; TEMP、BATT、COMP、XTAL〜信號; TIME〜雙向匯流排。
CNTR2469/ 0608-A41942TWf/ 64
Claims (1)
- 200949681 七、申請專利範圍: 1.一種提供安全執行環境之裝置’包括: 一微處理器,用以執行複數非安全應用程式與一安全 應用程式’其中,該等非安全應用程式透過一系統匯流排 而存取自一系統記憶體,且該安全應用程式在一安全執行 模式中執行,該微處理器包括: —安全執行模式邏輯電路’用以監控對應該微處 理器且與潛在安全暴露和篡改相關聯之複數狀態,並 ⑮ 根據該等狀態之一來使該微處理器自該安全執行模式 轉換至一降級模式,其中,該降級模式只提供給複數 基本輸入/輸出系統(Basic Input/Output System,Bi〇s) 指令之執行’且該等BIOS指令包括允許使用者輪入與 訊息顯示之指令;以及 一安全非揮發記憶體,透過一私密匯流排耦接該微處 理器,用以儲存該安全應用程式,其中,在該私密匯流排 上該微處理器與該安全非揮發記憶體之間的複數資料傳 輸,隔離於該系統匯流排以及該微處理器内之複數對應系 統匯流排資源。 2.如申請專利範圍第i項所述之提供安全執行環境之 裝置’其巾,該等BIQS指令係透過發出―外部中斷給該 微處理器且經由一機械專用暫存器來執行。 3·如申請專利範圍第1項所述之提供安全執行環境之 裝置,其中,該等狀態包括複數硬體偵測狀態。 裝置4:二更第心辦述之提供&執行環境之 裝置其中該等㈣更包括執行該安全顧程式之結果。 CNTR2469/ 0608-A41942TWf/ ^ 6S 200949681 5. 如申請專利範圍第1項所述之提供安全執行環境之 裝置,其中,根據該等狀態之/偵測結果,該安全執行模 式邏輯電路試圖清除該微處理器内一安全揮發記憶體之一 資料區域’且試圖將該偵測結果紀錄至該安全非揮發記憶 體。6. 如申請專利範圍第5項所述之提供安全執行環境之 裝置,其中,根據該資料區域之成功清除與該偵測結果之 成功紀錄,該安全執行模式邏輯電路將該微處理器轉換至 該降級模式。 7. 如申請專利範圍第1項所述之提供安全執行環境之 裝置,其中,根據該等該等狀態之一偵測結果,該安全執 订模式邏輯電路使該微處理器轉換至—硬體關機模式,且 只可藉由重置該微處理器來退出該硬體關機模式。 8. 如申請專利範_ 7 _述之提供安全執行環境之 裝置’其中’根據該等狀態之該_結果,該安全執行模 除該微處理器"全揮發記憶體- 體、^制結果紀錄至該安全非揮發記憶 體使該微處理器進入至該硬體關機模式。 9. -讎處理器裝置,用以在—安全執 全編碼,該微處理器^包括: ^執订女 及-女全非揮發記憶體’用以儲存一安全應用程式;以 憶體It:器2過一私密匯峨接該安全非揮發記 隐體用U執盯複數非安全應用程式與該安全應 其中,該微處理器包括: ‘、、 式, CNTR2469/ 0608-A41942IW^ 66 200949681 ' 一安全執行模式邏輯電路,用以監控對應該微處 理器且與潛在安全暴露和慕改相關聯之複數狀態,並 根據該等狀態之一來使該微處理器自該安全執行模式 轉換至一降級模式,其中,該降級模式只提供給複數 本輸入/輪出系統(Basic Input/Output System,BIOS ) 指令之執行’且該等BIOS指令包括允許使用者輸入與 訊息顯示之指令。 ❹ 1〇.如申凊專利範圍第9項所述之微處理器裝置,其 中其中該等BIOS指令係透過發出一外部中斷給該微 處理器且經由一機械專用暫存器來執行。 11. 如申5青專利範圍第9項所述之微處理器裝置,其 中,該等狀態包括複數硬體偵測狀態。 12. 如申凊專利範圍第9項所述之微處理器裝置,其 中,該等狀態更包括執行該安全應用程式之結果。 13. 如申請專利範圍第9項所述之微處理器裝置,其 ❹ Ά據該等狀態之—_結果,該安全執行模式邏輯電 路試圖清除該微處理器内一安全揮發記憶體之一資料區 域,且試圖將該偵測結果紀錄至該安全非揮發記憶體。 14. 如申請專利範圍第13項所述之微處理器裝置,其 中,根據該資料區域之成功清除與該偵測結果之成功紀 錄,該安全執行模式邏輯電路將該微處理器轉換至該降級 模式。 15. 如申請專利範圍第9項所述之微處理器裝置,其 中,根據該等該等狀態之一偵測結果,該安全執行模式邏 輯電路使該微處理器轉換至一硬體關機模式,且只可藉由 CNTR2469/ 0608^419421^^ 200949681 \重置該微處理器來退出該硬體關機模式。 16. 如申請專利範圍第16項所述之微處理器裝置,其 中,根據該等狀態之該偵測結果,該安全執行模式邏輯電 路試圖清除該微處理器内一安全揮發記憶體之一資料區 域、試圖將該偵測結果紀錄至該安全非揮發記憶體、且使 該微處理器進入至該硬體關機模式。 17. —種在安全執行環境中執行安全編碼之方法,包括: ❿ 提供一安全非揮發記憶體,以儲存一安全編碼,其中, 該女全編碼藉由實現在一私密匯流排上之複數私密資料傳 輸而存取自該安全非揮發記憶體,且該私密匯流排耦接該 女全非揮發記憶體與一微處理器之間,該私密匯流排隔離 於該微處理器内之所有系統匯流排資源且配置在該微處理 器之外部’以及該私密匯流排只由該微處理器之一安全執 行邏輯電路所得知及存取; 監控對應該微處理器之複數狀態,其中,該等狀態與 潛在安全暴露和篡改相關聯;以及 根據該等狀態之一,使該微處理器自一安全執行模式 轉換至一降級模式,其中,該降級模式只提供給複數基本 輸入/輸出系統(Basic Input/Output System,BIOS )指令之 執行,且該等BIOS指令包括允許使用者輪入與訊息顯示 之指令。 18·如申請專利範圍第17項所述之在安全執行環境中 執行安全編碼之方法,其中,該等BIOS指令係透過發出 一外部中斷給該微處理器且經由一機械專用暫存器來執 行。 CNTR2469/ 0608-A41942TW£^ 68 200949681 . 19.如申請專利範圍第17項所述之在安全執行環境中 執行安全編碼之方法,其中,該等狀態包括複數硬體偵測 狀態。 20. 如申請專利範圍第17項所述之在安全執行環境中 執行安全編碼之方法,其中,該等狀態更包括執行該安全 應用程式之結果。 21. 如申請專利範圍第17項所述之在安全執行環境中 執行安全編碼之方法,其中,使該微處理器自該安全執行 ® 模式轉換至該降級模式之步驟包括: 根據該等狀態之一偵測結果,試圖清除該微處理器内 一安全揮發記憶體之一資料區域,且試圖將該偵測結果紀 錄至該安全非揮發記憶體。 22. 如申請專利範圍第21項所述之在安全執行環境中 執行安全編碼之方法,其中,根據該資料區域之成功清除 與該偵測結果之成功紀錄,使該微處理器自該安全執行模 式轉換至該降級模式。 © 23. 如申請專利範圍第17項所述之在安全執行環境中 執行安全編碼之方法,更包括: 根據該等該等狀態之一偵測結果,使該微處理器轉換 至一硬體關機模式,其中,只可藉由重置該微處理器來退 出該硬體關機模式。 24. 如申請專利範圍第23項所述之在安全執行環境中 執行安全編碼之方法,其中,使該微處理器轉換至該硬體 關機模式之步驟包括: 根據該等狀態之該偵測結果,試圖清除該微處理器内 CNTR2469/ 0608-A41942TW£^ 69 200949681 .一安全揮發記憶體之一資料區域、試圖將該偵測結果紀錄 至該安全非揮發記憶體、且使該微處理器進入至該硬體關 機模式^ ❹ CNTR2469/ 0608-A41942TWf/ 70
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US5598008P | 2008-05-24 | 2008-05-24 | |
US12/263,238 US8978132B2 (en) | 2008-05-24 | 2008-10-31 | Apparatus and method for managing a microprocessor providing for a secure execution mode |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200949681A true TW200949681A (en) | 2009-12-01 |
TWI405124B TWI405124B (zh) | 2013-08-11 |
Family
ID=41104037
Family Applications (13)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098112468A TWI397859B (zh) | 2008-05-24 | 2009-04-15 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
TW098112460A TWI395137B (zh) | 2008-05-24 | 2009-04-15 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
TW098112626A TWI385555B (zh) | 2008-05-24 | 2009-04-16 | 在安全執行環境中執行安全編碼之裝置與方法以及微處理器裝置 |
TW098112627A TWI385574B (zh) | 2008-05-24 | 2009-04-16 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
TW098112991A TWI581183B (zh) | 2008-05-24 | 2009-04-20 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
TW098112994A TWI405123B (zh) | 2008-05-24 | 2009-04-20 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
TW098113141A TWI405124B (zh) | 2008-05-24 | 2009-04-21 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
TW098113142A TWI520057B (zh) | 2008-05-24 | 2009-04-21 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
TW098113277A TWI397856B (zh) | 2008-05-24 | 2009-04-22 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
TW098113443A TWI489378B (zh) | 2008-05-24 | 2009-04-23 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
TW098113588A TWI407367B (zh) | 2008-05-24 | 2009-04-24 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
TW098113867A TWI394076B (zh) | 2008-05-24 | 2009-04-27 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
TW098113866A TWI394060B (zh) | 2008-05-24 | 2009-04-27 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
Family Applications Before (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098112468A TWI397859B (zh) | 2008-05-24 | 2009-04-15 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
TW098112460A TWI395137B (zh) | 2008-05-24 | 2009-04-15 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
TW098112626A TWI385555B (zh) | 2008-05-24 | 2009-04-16 | 在安全執行環境中執行安全編碼之裝置與方法以及微處理器裝置 |
TW098112627A TWI385574B (zh) | 2008-05-24 | 2009-04-16 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
TW098112991A TWI581183B (zh) | 2008-05-24 | 2009-04-20 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
TW098112994A TWI405123B (zh) | 2008-05-24 | 2009-04-20 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
Family Applications After (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098113142A TWI520057B (zh) | 2008-05-24 | 2009-04-21 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
TW098113277A TWI397856B (zh) | 2008-05-24 | 2009-04-22 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
TW098113443A TWI489378B (zh) | 2008-05-24 | 2009-04-23 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
TW098113588A TWI407367B (zh) | 2008-05-24 | 2009-04-24 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
TW098113867A TWI394076B (zh) | 2008-05-24 | 2009-04-27 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
TW098113866A TWI394060B (zh) | 2008-05-24 | 2009-04-27 | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |
Country Status (3)
Country | Link |
---|---|
US (13) | US8370641B2 (zh) |
CN (15) | CN101533451B (zh) |
TW (13) | TWI397859B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI567642B (zh) * | 2014-06-27 | 2017-01-21 | 英特爾公司 | 用以中斷與回復安全獨立領域中的分頁之指令及邏輯 |
US9747967B2 (en) | 2014-09-26 | 2017-08-29 | Intel Corporation | Magnetic field-assisted memory operation |
TWI611318B (zh) * | 2014-12-26 | 2018-01-11 | 英特爾公司 | 電子設備、計算系統及用於資料安全之方法 |
Families Citing this family (182)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7747733B2 (en) | 2004-10-25 | 2010-06-29 | Electro Industries/Gauge Tech | Power meter having multiple ethernet ports |
US8869270B2 (en) | 2008-03-26 | 2014-10-21 | Cupp Computing As | System and method for implementing content and network security inside a chip |
US20080276302A1 (en) | 2005-12-13 | 2008-11-06 | Yoggie Security Systems Ltd. | System and Method for Providing Data and Device Security Between External and Host Devices |
US8381297B2 (en) | 2005-12-13 | 2013-02-19 | Yoggie Security Systems Ltd. | System and method for providing network security to mobile devices |
US20070237325A1 (en) * | 2006-02-01 | 2007-10-11 | Gershowitz Michael N | Method and apparatus to improve security of cryptographic systems |
US8239688B2 (en) | 2007-01-07 | 2012-08-07 | Apple Inc. | Securely recovering a computing device |
US8254568B2 (en) | 2007-01-07 | 2012-08-28 | Apple Inc. | Secure booting a computing device |
US8365272B2 (en) | 2007-05-30 | 2013-01-29 | Yoggie Security Systems Ltd. | System and method for providing network and computer firewall protection with dynamic address isolation to a device |
JP2009059005A (ja) * | 2007-08-29 | 2009-03-19 | Panasonic Corp | デバッグシステム、デバッグ装置および方法 |
KR20090059602A (ko) * | 2007-12-07 | 2009-06-11 | 한국전자통신연구원 | 세션 메모리 버스를 구비한 암호화 장치 |
US8150039B2 (en) * | 2008-04-15 | 2012-04-03 | Apple Inc. | Single security model in booting a computing device |
US8370641B2 (en) * | 2008-05-24 | 2013-02-05 | Via Technologies, Inc. | Initialization of a microprocessor providing for execution of secure code |
US8631488B2 (en) | 2008-08-04 | 2014-01-14 | Cupp Computing As | Systems and methods for providing security services during power management mode |
US8484486B2 (en) * | 2008-08-06 | 2013-07-09 | Silver Spring Networks, Inc. | Integrated cryptographic security module for a network node |
WO2010059864A1 (en) | 2008-11-19 | 2010-05-27 | Yoggie Security Systems Ltd. | Systems and methods for providing real time access monitoring of a removable media device |
US8230495B2 (en) * | 2009-03-27 | 2012-07-24 | International Business Machines Corporation | Method for security in electronically fused encryption keys |
US8756439B1 (en) * | 2009-08-28 | 2014-06-17 | Physical Optics Corporation | Encryption key management for secured access |
US8510569B2 (en) * | 2009-12-16 | 2013-08-13 | Intel Corporation | Providing integrity verification and attestation in a hidden execution environment |
GB2482811B (en) * | 2009-12-16 | 2017-07-05 | Intel Corp | Providing integrity verification and attestation in a hidden execution environment |
US9087200B2 (en) | 2009-12-22 | 2015-07-21 | Intel Corporation | Method and apparatus to provide secure application execution |
US8543838B1 (en) * | 2009-12-23 | 2013-09-24 | Marvell International Ltd. | Cryptographic module with secure processor |
GB2476683A (en) * | 2010-01-05 | 2011-07-06 | St Microelectronics | Detection of clock tampering by comparison of the clock with a trusted clock signal |
DE102010006572A1 (de) * | 2010-02-02 | 2011-08-04 | Giesecke & Devrient GmbH, 81677 | Verfahren zum Ausführen einer Anwendung |
JP2011232801A (ja) * | 2010-04-23 | 2011-11-17 | Renesas Electronics Corp | 情報処理装置及びicカード |
US8683225B2 (en) * | 2010-05-25 | 2014-03-25 | Via Technologies, Inc. | Microprocessor that facilitates task switching between encrypted and unencrypted programs |
US8856504B2 (en) | 2010-06-07 | 2014-10-07 | Cisco Technology, Inc. | Secure virtual machine bootstrap in untrusted cloud infrastructures |
US8407783B2 (en) * | 2010-06-17 | 2013-03-26 | Mediatek Inc. | Computing system providing normal security and high security services |
US8590038B2 (en) * | 2010-08-20 | 2013-11-19 | Via Technologies, Inc. | Revokeable MSR password protection |
US8468365B2 (en) * | 2010-09-24 | 2013-06-18 | Intel Corporation | Tweakable encryption mode for memory encryption with protection against replay attacks |
US8479042B1 (en) * | 2010-11-01 | 2013-07-02 | Xilinx, Inc. | Transaction-level lockstep |
US8554797B2 (en) * | 2010-12-17 | 2013-10-08 | Sap Ag | System and method for modular business applications |
FR2970099B1 (fr) * | 2010-12-29 | 2013-01-11 | Viaccess Sa | Procede de chargement d'un code d'au moins un module logiciel |
DE102011012227A1 (de) * | 2011-02-24 | 2012-08-30 | Giesecke & Devrient Gmbh | Verfahren zum Datenaustausch in einer gesicherten Laufzeitumgebung |
US8812868B2 (en) | 2011-03-21 | 2014-08-19 | Mocana Corporation | Secure execution of unsecured apps on a device |
US9473485B2 (en) | 2011-03-21 | 2016-10-18 | Blue Cedar Networks, Inc. | Secure single sign-on for a group of wrapped applications on a computing device and runtime credential sharing |
US9396325B2 (en) | 2011-03-21 | 2016-07-19 | Mocana Corporation | Provisioning an app on a device and implementing a keystore |
US8769305B2 (en) * | 2011-03-21 | 2014-07-01 | Moncana Corporation | Secure execution of unsecured apps on a device |
US8955142B2 (en) | 2011-03-21 | 2015-02-10 | Mocana Corporation | Secure execution of unsecured apps on a device |
DE102011018431A1 (de) | 2011-04-21 | 2012-10-25 | Giesecke & Devrient Gmbh | Verfahren zur Anzeige von Informationen auf einer Anzeigeeinrichtung eines Endgeräts |
TWI465952B (zh) * | 2011-05-05 | 2014-12-21 | Univ Nat Taipei Technology | 智慧型手機應用巨集指令執行平台 |
KR101577886B1 (ko) * | 2011-06-29 | 2015-12-15 | 인텔 코포레이션 | 무결성 검사 및 리플레이 공격들에 대한 보호를 이용하는 메모리 암호화를 위한 방법 및 장치 |
WO2013012436A1 (en) | 2011-07-18 | 2013-01-24 | Hewlett-Packard Development Company, L.P. | Reset vectors for boot instructions |
US8661527B2 (en) | 2011-08-31 | 2014-02-25 | Kabushiki Kaisha Toshiba | Authenticator, authenticatee and authentication method |
US10303860B2 (en) * | 2011-10-04 | 2019-05-28 | Electro Industries/Gauge Tech | Security through layers in an intelligent electronic device |
US10275840B2 (en) | 2011-10-04 | 2019-04-30 | Electro Industries/Gauge Tech | Systems and methods for collecting, analyzing, billing, and reporting data from intelligent electronic devices |
US10862784B2 (en) | 2011-10-04 | 2020-12-08 | Electro Industries/Gauge Tech | Systems and methods for processing meter information in a network of intelligent electronic devices |
US10771532B2 (en) | 2011-10-04 | 2020-09-08 | Electro Industries/Gauge Tech | Intelligent electronic devices, systems and methods for communicating messages over a network |
DE102011115135A1 (de) | 2011-10-07 | 2013-04-11 | Giesecke & Devrient Gmbh | Mikroprozessorsystem mit gesicherter Laufzeitumgebung |
CN104115125B (zh) * | 2011-12-29 | 2017-12-01 | 英特尔公司 | 安全的错误处理 |
US8458804B1 (en) | 2011-12-29 | 2013-06-04 | Elwha Llc | Systems and methods for preventing data remanence in memory |
JP5275482B2 (ja) * | 2012-01-16 | 2013-08-28 | 株式会社東芝 | ストレージメディア、ホスト装置、メモリ装置、及びシステム |
JP5990927B2 (ja) * | 2012-02-17 | 2016-09-14 | 富士電機株式会社 | 制御システム、制御装置及びプログラム実行制御方法 |
JP5900143B2 (ja) * | 2012-05-15 | 2016-04-06 | 富士電機株式会社 | 制御システム、制御装置及びプログラム実行制御方法 |
US9465946B2 (en) | 2012-06-01 | 2016-10-11 | Intel Corporation | Identification and execution of subsets of a plurality of instructions in a more secure execution environment |
FR2993682B1 (fr) * | 2012-07-20 | 2014-08-22 | Oberthur Technologies | Mise a jour d'un systeme d'exploitation pour element securise |
US8938796B2 (en) | 2012-09-20 | 2015-01-20 | Paul Case, SR. | Case secure computer architecture |
US9047471B2 (en) | 2012-09-25 | 2015-06-02 | Apple Inc. | Security enclave processor boot control |
US8775757B2 (en) | 2012-09-25 | 2014-07-08 | Apple Inc. | Trust zone support in system on a chip having security enclave processor |
US9043632B2 (en) | 2012-09-25 | 2015-05-26 | Apple Inc. | Security enclave processor power control |
US8873747B2 (en) | 2012-09-25 | 2014-10-28 | Apple Inc. | Key management using security enclave processor |
US9292712B2 (en) * | 2012-09-28 | 2016-03-22 | St-Ericsson Sa | Method and apparatus for maintaining secure time |
WO2014059037A2 (en) | 2012-10-09 | 2014-04-17 | Cupp Computing As | Transaction security systems and methods |
JP2014089652A (ja) * | 2012-10-31 | 2014-05-15 | Toshiba Corp | 情報処理装置 |
US9886595B2 (en) * | 2012-12-07 | 2018-02-06 | Samsung Electronics Co., Ltd. | Priority-based application execution method and apparatus of data processing device |
US20140184411A1 (en) * | 2012-12-31 | 2014-07-03 | Alcatel Lucent | Alarm condition processing in network element |
KR20140105343A (ko) * | 2013-02-22 | 2014-09-01 | 삼성전자주식회사 | 디바이스 및 디바이스에서 복수의 모드를 이용한 데이터의 보안 방법 |
CN104038469B (zh) * | 2013-03-07 | 2017-12-29 | 中国银联股份有限公司 | 用于安全性信息交互的设备 |
US8959576B2 (en) * | 2013-03-14 | 2015-02-17 | Intel Corporation | Method, apparatus, system for qualifying CPU transactions with security attributes |
US9058494B2 (en) | 2013-03-15 | 2015-06-16 | Intel Corporation | Method, apparatus, system, and computer readable medium to provide secure operation |
US11816465B2 (en) | 2013-03-15 | 2023-11-14 | Ei Electronics Llc | Devices, systems and methods for tracking and upgrading firmware in intelligent electronic devices |
CN104077155B (zh) | 2013-03-28 | 2018-09-21 | 中国银联股份有限公司 | 移动设备上应用程序的启动 |
US9330035B2 (en) * | 2013-05-23 | 2016-05-03 | Arm Limited | Method and apparatus for interrupt handling |
WO2014204363A1 (en) * | 2013-06-19 | 2014-12-24 | Telefonaktiebolaget L M Ericsson (Publ) | Method and an integrated circuit for executing a trusted application within a trusted runtime environment |
US11157976B2 (en) | 2013-07-08 | 2021-10-26 | Cupp Computing As | Systems and methods for providing digital content marketplace security |
US20150052603A1 (en) * | 2013-08-13 | 2015-02-19 | Arxan Technologies, Inc. | Anti-tamper system with self-adjusting guards |
JP6117068B2 (ja) * | 2013-09-20 | 2017-04-19 | 株式会社東芝 | 情報処理装置、およびプログラム |
US9767044B2 (en) | 2013-09-24 | 2017-09-19 | Intel Corporation | Secure memory repartitioning |
US9536063B2 (en) * | 2013-10-24 | 2017-01-03 | Intel Corporation | Methods and apparatus for protecting software from unauthorized copying |
US10095868B2 (en) | 2013-11-13 | 2018-10-09 | Via Technologies, Inc. | Event-based apparatus and method for securing bios in a trusted computing system during execution |
US9779242B2 (en) | 2013-11-13 | 2017-10-03 | Via Technologies, Inc. | Programmable secure bios mechanism in a trusted computing system |
US10049217B2 (en) | 2013-11-13 | 2018-08-14 | Via Technologies, Inc. | Event-based apparatus and method for securing bios in a trusted computing system during execution |
US9367689B2 (en) * | 2013-11-13 | 2016-06-14 | Via Technologies, Inc. | Apparatus and method for securing BIOS in a trusted computing system |
US10055588B2 (en) | 2013-11-13 | 2018-08-21 | Via Technologies, Inc. | Event-based apparatus and method for securing BIOS in a trusted computing system during execution |
US9798880B2 (en) | 2013-11-13 | 2017-10-24 | Via Technologies, Inc. | Fuse-enabled secure bios mechanism with override feature |
US9547767B2 (en) | 2013-11-13 | 2017-01-17 | Via Technologies, Inc. | Event-based apparatus and method for securing bios in a trusted computing system during execution |
US9507942B2 (en) | 2013-11-13 | 2016-11-29 | Via Technologies, Inc. | Secure BIOS mechanism in a trusted computing system |
US9779243B2 (en) | 2013-11-13 | 2017-10-03 | Via Technologies, Inc. | Fuse-enabled secure BIOS mechanism in a trusted computing system |
US9767288B2 (en) | 2013-11-13 | 2017-09-19 | Via Technologies, Inc. | JTAG-based secure BIOS mechanism in a trusted computing system |
DE102014105243A1 (de) * | 2013-12-05 | 2015-06-11 | Deutsche Post Ag | Zugangskontrollsystem |
US9311508B2 (en) | 2013-12-27 | 2016-04-12 | Intel Corporation | Processors, methods, systems, and instructions to change addresses of pages of secure enclaves |
US10431024B2 (en) * | 2014-01-23 | 2019-10-01 | Apple Inc. | Electronic device operation using remote user biometrics |
US9762614B2 (en) | 2014-02-13 | 2017-09-12 | Cupp Computing As | Systems and methods for providing network security using a secure digital device |
ES2545974B1 (es) * | 2014-03-17 | 2016-04-27 | Bankinter, S.A. | Sistema de protección automático y personalizado para aplicaciones móviles |
US9268970B2 (en) * | 2014-03-20 | 2016-02-23 | Analog Devices, Inc. | System and method for security-aware master |
US9268972B2 (en) | 2014-04-06 | 2016-02-23 | Freescale Semiconductor, Inc. | Tamper detector power supply with wake-up |
US11734396B2 (en) | 2014-06-17 | 2023-08-22 | El Electronics Llc | Security through layers in an intelligent electronic device |
US10169618B2 (en) | 2014-06-20 | 2019-01-01 | Cypress Semiconductor Corporation | Encryption method for execute-in-place memories |
US10691838B2 (en) | 2014-06-20 | 2020-06-23 | Cypress Semiconductor Corporation | Encryption for XIP and MMIO external memories |
US10192062B2 (en) * | 2014-06-20 | 2019-01-29 | Cypress Semiconductor Corporation | Encryption for XIP and MMIO external memories |
US9547778B1 (en) | 2014-09-26 | 2017-01-17 | Apple Inc. | Secure public key acceleration |
AU2015364751A1 (en) * | 2014-12-16 | 2017-06-29 | Ramsey, Martin Shafer | Method and apparatus for randomizing computer instruction sets, memory registers and pointers |
US10063569B2 (en) * | 2015-03-24 | 2018-08-28 | Intel Corporation | Custom protection against side channel attacks |
GB2537115B (en) * | 2015-04-02 | 2021-08-25 | Advanced Risc Mach Ltd | Event monitoring in a multi-threaded data processing apparatus |
CN104914815A (zh) * | 2015-04-15 | 2015-09-16 | 北汽福田汽车股份有限公司 | 处理器监控方法、装置及系统 |
US9875189B2 (en) | 2015-06-12 | 2018-01-23 | Intel Corporation | Supporting secure memory intent |
US10230529B2 (en) * | 2015-07-31 | 2019-03-12 | Microsft Technology Licensing, LLC | Techniques to secure computation data in a computing environment |
US10129035B2 (en) | 2015-08-10 | 2018-11-13 | Data I/O Corporation | Device birth certificate |
GB2541400B (en) * | 2015-08-17 | 2017-11-15 | Advanced Risc Mach Ltd | Tracing of exception handling events |
US10013551B2 (en) | 2015-08-24 | 2018-07-03 | Accenture Global Services Limited | Isolated memory space |
US9998284B2 (en) | 2015-09-24 | 2018-06-12 | Intel Corporation | Methods and apparatus to provide isolated execution environments |
US10142101B2 (en) * | 2015-09-29 | 2018-11-27 | Intel Corporation | Hardware enforced one-way cryptography |
TWI560575B (en) * | 2015-10-15 | 2016-12-01 | Via Tech Inc | Microprocessor and method for securely executing instructions therein |
US20170109526A1 (en) * | 2015-10-20 | 2017-04-20 | Intel Corporation | Systems and methods for providing anti-malware protection and malware forensics on storage devices |
GB2543520B (en) * | 2015-10-20 | 2019-06-19 | Advanced Risc Mach Ltd | Memory access instructions |
FR3043228B1 (fr) * | 2015-11-03 | 2018-03-30 | Proton World International N.V. | Demarrage controle d'un circuit electronique |
KR102415388B1 (ko) * | 2015-11-13 | 2022-07-01 | 삼성전자주식회사 | 시스템 온 칩 및 그것의 보안 디버깅 방법 |
US10095631B2 (en) * | 2015-12-10 | 2018-10-09 | Arm Limited | System address map for hashing within a chip and between chips |
US10185633B2 (en) * | 2015-12-15 | 2019-01-22 | Intel Corporation | Processor state integrity protection using hash verification |
US10958435B2 (en) | 2015-12-21 | 2021-03-23 | Electro Industries/ Gauge Tech | Providing security in an intelligent electronic device |
US10129359B2 (en) * | 2016-01-20 | 2018-11-13 | Google Llc | Methods and apparatus to selectively provide cached and presently compiled applications |
US11424931B2 (en) | 2016-01-27 | 2022-08-23 | Blackberry Limited | Trusted execution environment |
US10430263B2 (en) | 2016-02-01 | 2019-10-01 | Electro Industries/Gauge Tech | Devices, systems and methods for validating and upgrading firmware in intelligent electronic devices |
US10599409B2 (en) * | 2016-02-02 | 2020-03-24 | Blackberry Limited | Application lifecycle operation queueing |
CN108701192B (zh) * | 2016-02-12 | 2022-05-31 | 汉阳大学校产学协力团 | 安全半导体芯片及其工作方法 |
US10482255B2 (en) * | 2016-02-16 | 2019-11-19 | Atmel Corporation | Controlled secure code authentication |
US10474823B2 (en) * | 2016-02-16 | 2019-11-12 | Atmel Corporation | Controlled secure code authentication |
CN105790927B (zh) * | 2016-02-26 | 2019-02-01 | 华为技术有限公司 | 一种总线分级加密系统 |
US10616197B2 (en) | 2016-04-18 | 2020-04-07 | Atmel Corporation | Message authentication with secure code verification |
EP3461016A4 (en) * | 2016-08-09 | 2019-06-12 | Huawei Technologies Co., Ltd. | SYSTEM ON CHIP AND PROCESSING DEVICE |
US10678924B2 (en) | 2016-08-10 | 2020-06-09 | Qualcomm Incorporated | Hardware-based software-resilient user privacy exploiting ephemeral data retention of volatile memory |
US10248486B2 (en) | 2016-09-29 | 2019-04-02 | Intel Corporation | Memory monitor |
TWI655555B (zh) * | 2016-10-31 | 2019-04-01 | 威盛電子股份有限公司 | 基本輸入輸出系統之保護設備與方法 |
CN107273770B (zh) * | 2016-10-31 | 2020-08-11 | 威盛电子股份有限公司 | 基本输入输出系统的保护设备与方法 |
KR20180071679A (ko) * | 2016-12-20 | 2018-06-28 | 삼성전자주식회사 | 사용자 단말 장치 및 그의 제어 방법 |
US10068068B2 (en) * | 2016-12-30 | 2018-09-04 | Intel Corporation | Trusted timer service |
EP3364329B1 (en) * | 2017-02-21 | 2023-07-26 | Mastercard International Incorporated | Security architecture for device applications |
CN106970678B (zh) * | 2017-03-10 | 2020-01-21 | 武汉融卡智能信息科技有限公司 | 一种tee下rpc机制下安全时钟的控制方法 |
CN109756442B (zh) * | 2017-11-01 | 2020-04-24 | 清华大学 | 基于混淆电路的数据统计方法、装置以及设备 |
CN109753821B (zh) * | 2017-11-01 | 2022-03-15 | 瑞昱半导体股份有限公司 | 数据存取装置及方法 |
US10614254B2 (en) * | 2017-12-12 | 2020-04-07 | John Almeida | Virus immune computer system and method |
US10642970B2 (en) * | 2017-12-12 | 2020-05-05 | John Almeida | Virus immune computer system and method |
CN109945911A (zh) * | 2017-12-15 | 2019-06-28 | 富泰华工业(深圳)有限公司 | 电子装置、拆机监测装置及方法 |
JP6584487B2 (ja) * | 2017-12-20 | 2019-10-02 | キヤノン株式会社 | 情報処理装置、その制御方法およびプログラム |
KR20190075363A (ko) * | 2017-12-21 | 2019-07-01 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 모듈 |
US11686594B2 (en) | 2018-02-17 | 2023-06-27 | Ei Electronics Llc | Devices, systems and methods for a cloud-based meter management system |
US11734704B2 (en) | 2018-02-17 | 2023-08-22 | Ei Electronics Llc | Devices, systems and methods for the collection of meter data in a common, globally accessible, group of servers, to provide simpler configuration, collection, viewing, and analysis of the meter data |
US11754997B2 (en) | 2018-02-17 | 2023-09-12 | Ei Electronics Llc | Devices, systems and methods for predicting future consumption values of load(s) in power distribution systems |
EP3776420B1 (en) | 2018-04-13 | 2023-10-18 | Mastercard International Incorporated | Method and system for contactless transmission using off-the-shelf devices |
TWI698769B (zh) * | 2018-04-18 | 2020-07-11 | 新唐科技股份有限公司 | 透過匯流排安全存取周邊裝置之裝置及方法 |
GB201806465D0 (en) | 2018-04-20 | 2018-06-06 | Nordic Semiconductor Asa | Memory-access controll |
GB201807257D0 (en) * | 2018-05-02 | 2018-06-13 | Nordic Semiconductor Asa | Cryptographic key distribution |
EP3579135B1 (en) * | 2018-06-06 | 2021-08-11 | Secure-IC SAS | Methods and devices for hardware characterization of computing devices |
GB201810653D0 (en) | 2018-06-28 | 2018-08-15 | Nordic Semiconductor Asa | Secure peripheral interconnect |
GB201810662D0 (en) | 2018-06-28 | 2018-08-15 | Nordic Semiconductor Asa | Peripheral Access On A Secure-Aware Bus System |
GB201810659D0 (en) | 2018-06-28 | 2018-08-15 | Nordic Semiconductor Asa | Secure-Aware Bus System |
DE102018120347A1 (de) * | 2018-08-21 | 2020-02-27 | Pilz Gmbh & Co. Kg | Automatisierungssystem zur Überwachung eines sicherheitskritischen Prozesses |
DE102018120344A1 (de) * | 2018-08-21 | 2020-02-27 | Pilz Gmbh & Co. Kg | Automatisierungssystem zur Überwachung eines sicherheitskritischen Prozesses |
US10713163B2 (en) | 2018-09-11 | 2020-07-14 | Toshiba Memory Corporation | Set aware system data and mapping tables |
US10909030B2 (en) * | 2018-09-11 | 2021-02-02 | Toshiba Memory Corporation | Enhanced trim command support for solid state drives |
US11429753B2 (en) * | 2018-09-27 | 2022-08-30 | Citrix Systems, Inc. | Encryption of keyboard data to avoid being read by endpoint-hosted keylogger applications |
GB2577878B (en) * | 2018-10-08 | 2020-11-11 | Advanced Risc Mach Ltd | Transition disable indicator |
US11741196B2 (en) | 2018-11-15 | 2023-08-29 | The Research Foundation For The State University Of New York | Detecting and preventing exploits of software vulnerability using instruction tags |
US11308215B2 (en) | 2019-03-08 | 2022-04-19 | International Business Machines Corporation | Secure interface control high-level instruction interception for interruption enablement |
US11347529B2 (en) | 2019-03-08 | 2022-05-31 | International Business Machines Corporation | Inject interrupts and exceptions into secure virtual machine |
US10956188B2 (en) | 2019-03-08 | 2021-03-23 | International Business Machines Corporation | Transparent interpretation of guest instructions in secure virtual machine environment |
TWI733399B (zh) * | 2019-04-07 | 2021-07-11 | 新唐科技股份有限公司 | 安全裝置、安全方法、安全系統以及安全設備 |
TWI756156B (zh) * | 2019-04-07 | 2022-02-21 | 新唐科技股份有限公司 | 監控系統開機之安全裝置及其方法 |
US11863589B2 (en) | 2019-06-07 | 2024-01-02 | Ei Electronics Llc | Enterprise security in meters |
US11429751B2 (en) | 2019-07-01 | 2022-08-30 | Rajant Corporation | Method and apparatus for encrypting and decrypting data on an integrated circuit |
FR3098613A1 (fr) * | 2019-07-09 | 2021-01-15 | STMicroelectronics (Grand Ouest) SAS | Procede de gestion du fonctionnement d’au moins un logiciel applicatif chiffre et circuit integre correspondant |
CN110659458A (zh) * | 2019-10-10 | 2020-01-07 | 陈昶宇 | 支持软件代码数据保密可信执行的中央处理器设计方法 |
US11507702B2 (en) | 2019-11-05 | 2022-11-22 | Apple Inc. | Secure mode switching in neural processor circuit |
US11907411B2 (en) * | 2019-12-09 | 2024-02-20 | Hewlett-Packard Development Company, L.P. | Secure operating modes for computing devices |
CN113139175A (zh) * | 2020-01-19 | 2021-07-20 | 阿里巴巴集团控股有限公司 | 处理单元、电子设备以及安全控制方法 |
US11327904B2 (en) * | 2020-03-11 | 2022-05-10 | Denso International America, Inc. | Systems and methods for securing protected items in memory |
EP4211552A1 (en) | 2020-09-08 | 2023-07-19 | Osom Products, Inc. | Mobile device with secure private memory |
TWI797521B (zh) * | 2020-12-18 | 2023-04-01 | 新唐科技股份有限公司 | 基於隔離執行環境之保護外部記憶體資料的方法及系統 |
CN114721717B (zh) * | 2020-12-22 | 2023-09-19 | 成都鼎桥通信技术有限公司 | 基于双系统的手机管理系统mdm指令调用方法和装置 |
US11677560B2 (en) * | 2021-03-09 | 2023-06-13 | Micron Technology, Inc. | Utilization of a memory device as security token |
TWI829138B (zh) * | 2022-04-08 | 2024-01-11 | 信驊科技股份有限公司 | 電子裝置以及其資料傳輸的保護裝置 |
EP4276633A1 (en) * | 2022-05-13 | 2023-11-15 | Thales Dis France SAS | Secured semiconductor device and method |
CN116702129A (zh) * | 2023-06-08 | 2023-09-05 | 合芯科技有限公司 | 一种power架构运行服务代码的安全调用方法及装置 |
Family Cites Families (176)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US15748A (en) * | 1856-09-16 | Improvement in harvesting-machines | ||
US711284A (en) * | 1902-05-23 | 1902-10-14 | Wilson W Carey | Compression shaft-coupling. |
US766104A (en) * | 1904-04-19 | 1904-07-26 | Arthur C Eastwood | System of motor control. |
US4590552A (en) * | 1982-06-30 | 1986-05-20 | Texas Instruments Incorporated | Security bit for designating the security status of information stored in a nonvolatile memory |
US4558176A (en) | 1982-09-20 | 1985-12-10 | Arnold Mark G | Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software |
JPS6068441A (ja) | 1983-09-22 | 1985-04-19 | Fujitsu Ltd | ワンチツプ・マイクロ・コンピユ−タ |
US4713792A (en) | 1985-06-06 | 1987-12-15 | Altera Corporation | Programmable macrocell using eprom or eeprom transistors for architecture control in programmable logic circuits |
US4744062A (en) | 1985-04-23 | 1988-05-10 | Hitachi, Ltd. | Semiconductor integrated circuit with nonvolatile memory |
US5175840A (en) | 1985-10-02 | 1992-12-29 | Hitachi, Ltd. | Microcomputer having a PROM including data security and test circuitry |
US5134700A (en) | 1987-09-18 | 1992-07-28 | General Instrument Corporation | Microcomputer with internal ram security during external program mode |
US5014191A (en) | 1988-05-02 | 1991-05-07 | Padgaonkar Ajay J | Security for digital signal processor program memory |
US4908796A (en) | 1988-05-24 | 1990-03-13 | Dallas Semiconductor Corporation | Registered outputs for a memory device |
US4888802A (en) * | 1988-06-17 | 1989-12-19 | Ncr Corporation | System and method for providing for secure encryptor key management |
JPH0244431A (ja) * | 1988-08-05 | 1990-02-14 | Nippon Motoroola Kk | 保護命令取出し装置 |
US5293610A (en) * | 1989-08-04 | 1994-03-08 | Motorola, Inc. | Memory system having two-level security system for enhanced protection against unauthorized access |
US5274778A (en) | 1990-06-01 | 1993-12-28 | National Semiconductor Corporation | EPROM register providing a full time static output signal |
US5147000A (en) * | 1990-06-19 | 1992-09-15 | Norvic S.A. | Disc drill bit |
US5251304A (en) * | 1990-09-28 | 1993-10-05 | Motorola, Inc. | Integrated circuit microcontroller with on-chip memory and external bus interface and programmable mechanism for securing the contents of on-chip memory |
WO1993010498A1 (en) | 1991-11-12 | 1993-05-27 | Microchip Technology Inc. | Security for on-chip microcontroller memory |
US5446868A (en) * | 1992-09-11 | 1995-08-29 | R. J. Reynolds Tobacco Company | Network bridge method and apparatus |
US5293424A (en) * | 1992-10-14 | 1994-03-08 | Bull Hn Information Systems Inc. | Secure memory card |
US5465341A (en) * | 1992-10-23 | 1995-11-07 | Vlsi Technology, Inc. | Verifiable security circuitry for preventing unauthorized access to programmed read only memory |
US5557743A (en) * | 1994-04-05 | 1996-09-17 | Motorola, Inc. | Protection circuit for a microprocessor |
US5533123A (en) * | 1994-06-28 | 1996-07-02 | National Semiconductor Corporation | Programmable distributed personal security |
US5657470A (en) * | 1994-11-09 | 1997-08-12 | Ybm Technologies, Inc. | Personal computer hard disk protection system |
US5615263A (en) | 1995-01-06 | 1997-03-25 | Vlsi Technology, Inc. | Dual purpose security architecture with protected internal operating system |
US5892900A (en) | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
EP0852032A1 (en) | 1995-07-20 | 1998-07-08 | Dallas Semiconductor Corporation | Single chip microprocessor, math co-processor, random number generator, real-time clock and ram having a one-wire interface |
US5642480A (en) * | 1995-09-28 | 1997-06-24 | Motorola, Inc. | Method and apparatus for enhanced security of a data processor |
EP0880840A4 (en) * | 1996-01-11 | 2002-10-23 | Mrj Inc | DEVICE FOR CONTROLLING ACCESS AND DISTRIBUTION OF DIGITAL PROPERTY |
US5931901A (en) | 1996-12-09 | 1999-08-03 | Robert L. Wolfe | Programmed music on demand from the internet |
US5818939A (en) * | 1996-12-18 | 1998-10-06 | Intel Corporation | Optimized security functionality in an electronic system |
US6581162B1 (en) * | 1996-12-31 | 2003-06-17 | Compaq Information Technologies Group, L.P. | Method for securely creating, storing and using encryption keys in a computer system |
US5953502A (en) * | 1997-02-13 | 1999-09-14 | Helbig, Sr.; Walter A | Method and apparatus for enhancing computer system security |
US5883679A (en) * | 1997-02-20 | 1999-03-16 | C-Cube Microsystems, Inc. | Scanning scheme for images stored in dynamic random access memory |
SE506725C2 (sv) * | 1997-04-24 | 1998-02-02 | Isaberg Rapid Ab | Häftapparat med invändig styrning av häftklammerskänklar |
US5889679A (en) * | 1997-07-15 | 1999-03-30 | Integrated Device Technology, Inc. | Fuse array control for smart function enable |
US6260111B1 (en) * | 1997-08-15 | 2001-07-10 | International Business Machines Corporation | System and method for network power management incorporating user identity and preferences via a power managed smart card |
US6704871B1 (en) * | 1997-09-16 | 2004-03-09 | Safenet, Inc. | Cryptographic co-processor |
US6122701A (en) * | 1997-12-11 | 2000-09-19 | Compaq Computer Corporation | Device volume control in multimode computer systems |
US6378072B1 (en) * | 1998-02-03 | 2002-04-23 | Compaq Computer Corporation | Cryptographic system |
JP3713141B2 (ja) | 1998-05-19 | 2005-11-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラムの不正実行防止方法 |
US6775778B1 (en) | 1998-05-29 | 2004-08-10 | Texas Instruments Incorporated | Secure computing device having boot read only memory verification of program code |
US6473607B1 (en) * | 1998-06-01 | 2002-10-29 | Broadcom Corporation | Communication device with a self-calibrating sleep timer |
US6330668B1 (en) | 1998-08-14 | 2001-12-11 | Dallas Semiconductor Corporation | Integrated circuit having hardware circuitry to prevent electrical or thermal stressing of the silicon circuitry |
US6735696B1 (en) * | 1998-08-14 | 2004-05-11 | Intel Corporation | Digital content protection using a secure booting method and apparatus |
US6393596B1 (en) | 1998-10-30 | 2002-05-21 | Hewlett-Packard Company | Missing pulse detector using synchronous detection |
US8868914B2 (en) * | 1999-07-02 | 2014-10-21 | Steven W. Teppler | System and methods for distributing trusted time |
US7430670B1 (en) * | 1999-07-29 | 2008-09-30 | Intertrust Technologies Corp. | Software self-defense systems and methods |
US7124170B1 (en) | 1999-08-20 | 2006-10-17 | Intertrust Technologies Corp. | Secure processing unit systems and methods |
US6289455B1 (en) * | 1999-09-02 | 2001-09-11 | Crypotography Research, Inc. | Method and apparatus for preventing piracy of digital content |
US6862583B1 (en) * | 1999-10-04 | 2005-03-01 | Canon Kabushiki Kaisha | Authenticated secure printing |
US7131001B1 (en) | 1999-10-29 | 2006-10-31 | Broadcom Corporation | Apparatus and method for secure filed upgradability with hard wired public key |
JP2001175606A (ja) * | 1999-12-20 | 2001-06-29 | Sony Corp | データ処理装置、データ処理機器およびその方法 |
EP1240583A2 (en) * | 1999-12-23 | 2002-09-18 | General Instrument Corporation | Dual-mode processor |
ATE249664T1 (de) * | 2000-01-18 | 2003-09-15 | Infineon Technologies Ag | Mikroprozessoranordnung mit verschlüsselung |
US7270193B2 (en) * | 2000-02-14 | 2007-09-18 | Kabushiki Kaisha Toshiba | Method and system for distributing programs using tamper resistant processor |
US7013484B1 (en) * | 2000-03-31 | 2006-03-14 | Intel Corporation | Managing a secure environment using a chipset in isolated execution mode |
US6986052B1 (en) * | 2000-06-30 | 2006-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US7047338B1 (en) * | 2000-07-18 | 2006-05-16 | Igt | Configurable hot-swap communication |
US7389427B1 (en) | 2000-09-28 | 2008-06-17 | Intel Corporation | Mechanism to secure computer output from software attack using isolated execution |
DE10101956A1 (de) * | 2001-01-17 | 2002-07-25 | Infineon Technologies Ag | Verfahren zur Erhöhung der Sicherheit einer CPU |
US7065654B1 (en) * | 2001-05-10 | 2006-06-20 | Advanced Micro Devices, Inc. | Secure execution box |
US6925570B2 (en) * | 2001-05-15 | 2005-08-02 | International Business Machines Corporation | Method and system for setting a secure computer environment |
US7113601B2 (en) | 2001-09-26 | 2006-09-26 | Mohan Ananda | Method and apparatus for performing secure communications |
US7165180B1 (en) * | 2001-11-27 | 2007-01-16 | Vixs Systems, Inc. | Monolithic semiconductor device for preventing external access to an encryption key |
US20060051749A1 (en) * | 2001-11-28 | 2006-03-09 | Mj Bioworks Incorporated | Polymorphism and haplotype scoring by differential amplification of polymorphisms |
US7308576B2 (en) * | 2001-12-31 | 2007-12-11 | Intel Corporation | Authenticated code module |
EP1331539B1 (en) * | 2002-01-16 | 2016-09-28 | Texas Instruments France | Secure mode for processors supporting MMU and interrupts |
EP1329787B1 (en) * | 2002-01-16 | 2019-08-28 | Texas Instruments Incorporated | Secure mode indicator for smart phone or PDA |
US7487365B2 (en) * | 2002-04-17 | 2009-02-03 | Microsoft Corporation | Saving and retrieving data based on symmetric key encryption |
US7130951B1 (en) * | 2002-04-18 | 2006-10-31 | Advanced Micro Devices, Inc. | Method for selectively disabling interrupts on a secure execution mode-capable processor |
US7603321B2 (en) * | 2002-05-22 | 2009-10-13 | Gurvey Amy R | Electronic system and method coupling live event ticketing and interactive entries with the sale, distribution and transmission of event recordings, mastering system and intelligent terminal designs |
US7249060B2 (en) | 2002-08-12 | 2007-07-24 | Paybyclick Corporation | Systems and methods for distributing on-line content |
CN1322385C (zh) * | 2002-08-13 | 2007-06-20 | 诺基亚有限公司 | 用于提供数据安全性的电路系统和方法 |
JP3881942B2 (ja) * | 2002-09-04 | 2007-02-14 | 松下電器産業株式会社 | 暗号化部を有する半導体装置 |
GB0220907D0 (en) * | 2002-09-10 | 2002-10-16 | Ingenia Holdings Ltd | Security device and system |
GB2396713B (en) * | 2002-11-18 | 2005-09-14 | Advanced Risc Mach Ltd | Apparatus and method for controlling access to a memory unit |
GB0226874D0 (en) * | 2002-11-18 | 2002-12-24 | Advanced Risc Mach Ltd | Switching between secure and non-secure processing modes |
US7117284B2 (en) | 2002-11-18 | 2006-10-03 | Arm Limited | Vectored interrupt control within a system having a secure domain and a non-secure domain |
US7974416B2 (en) * | 2002-11-27 | 2011-07-05 | Intel Corporation | Providing a secure execution mode in a pre-boot environment |
US7152942B2 (en) * | 2002-12-02 | 2006-12-26 | Silverbrook Research Pty Ltd | Fixative compensation |
US20060053080A1 (en) * | 2003-02-03 | 2006-03-09 | Brad Edmonson | Centralized management of digital rights licensing |
US6986041B2 (en) * | 2003-03-06 | 2006-01-10 | International Business Machines Corporation | System and method for remote code integrity in distributed systems |
JP2004287590A (ja) * | 2003-03-19 | 2004-10-14 | Matsushita Electric Ind Co Ltd | デバッグシステム、マイクロプロセッサ及びデバッガ |
US7171576B2 (en) | 2003-04-09 | 2007-01-30 | International Business Machines Corporation | Method, apparatus and program storage device for providing clocks to multiple frequency domains using a single input clock of variable frequency |
US8060755B2 (en) | 2003-04-18 | 2011-11-15 | Via Technologies, Inc | Apparatus and method for providing user-generated key schedule in a microprocessor cryptographic engine |
US7334123B2 (en) * | 2003-05-02 | 2008-02-19 | Advanced Micro Devices, Inc. | Computer system including a bus bridge for connection to a security services processor |
US8838950B2 (en) * | 2003-06-23 | 2014-09-16 | International Business Machines Corporation | Security architecture for system on chip |
EP1642206B1 (en) * | 2003-07-07 | 2017-12-20 | Irdeto B.V. | Reprogrammable security for controlling piracy and enabling interactive content |
US7444667B2 (en) | 2003-07-28 | 2008-10-28 | Intel Corporation | Method and apparatus for trusted blade device computing |
US20050066355A1 (en) | 2003-09-19 | 2005-03-24 | International Business Machines Corporation | System and method for satellite broadcasting and receiving encrypted television data signals |
US20050071656A1 (en) | 2003-09-25 | 2005-03-31 | Klein Dean A. | Secure processor-based system and method |
US7681046B1 (en) | 2003-09-26 | 2010-03-16 | Andrew Morgan | System with secure cryptographic capabilities using a hardware specific digital secret |
US7421689B2 (en) | 2003-10-28 | 2008-09-02 | Hewlett-Packard Development Company, L.P. | Processor-architecture for facilitating a virtual machine monitor |
US7694151B1 (en) * | 2003-11-20 | 2010-04-06 | Johnson Richard C | Architecture, system, and method for operating on encrypted and/or hidden information |
EP1688816A4 (en) * | 2003-11-28 | 2012-04-25 | Panasonic Corp | DATA PROCESSING DEVICE |
US7500098B2 (en) * | 2004-03-19 | 2009-03-03 | Nokia Corporation | Secure mode controlled memory |
US7543158B2 (en) * | 2004-03-23 | 2009-06-02 | Texas Instruments Incorporated | Hybrid cryptographic accelerator and method of operation thereof |
EP1870814B1 (en) * | 2006-06-19 | 2014-08-13 | Texas Instruments France | Method and apparatus for secure demand paging for processor devices |
US7542567B2 (en) | 2004-06-10 | 2009-06-02 | Freescale Semiconductor, Inc. | Method and apparatus for providing security in a data processing system |
JP4447977B2 (ja) * | 2004-06-30 | 2010-04-07 | 富士通マイクロエレクトロニクス株式会社 | セキュアプロセッサ、およびセキュアプロセッサ用プログラム。 |
EP1612684B1 (en) | 2004-07-01 | 2009-09-30 | Texas Instruments Incorporated | System and method for secure mode for processors and memories on multiple semiconductor dies within a single semiconductor package |
FR2872933B1 (fr) | 2004-07-06 | 2008-01-25 | Trusted Logic Sa | Procede de partage de temps d'un processeur |
EP1619572A1 (en) | 2004-07-23 | 2006-01-25 | Texas Instruments Incorporated | System and method of identifying and preventing security violations within a computing system |
ATE529971T1 (de) * | 2004-08-24 | 2011-11-15 | Panduit Corp | Systeme und verfahren zur netzwerkverwaltung |
US20060059369A1 (en) * | 2004-09-10 | 2006-03-16 | International Business Machines Corporation | Circuit chip for cryptographic processing having a secure interface to an external memory |
US7171284B2 (en) * | 2004-09-21 | 2007-01-30 | Timbre Technologies, Inc. | Optical metrology model optimization based on goals |
US7437531B2 (en) | 2004-09-30 | 2008-10-14 | Intel Corporation | Testing memories |
US20060075236A1 (en) | 2004-09-30 | 2006-04-06 | Marek James A | Method and apparatus for high assurance processing |
US8160244B2 (en) * | 2004-10-01 | 2012-04-17 | Broadcom Corporation | Stateless hardware security module |
US20060072748A1 (en) | 2004-10-01 | 2006-04-06 | Mark Buer | CMOS-based stateless hardware security module |
US8332653B2 (en) * | 2004-10-22 | 2012-12-11 | Broadcom Corporation | Secure processing environment |
US7610631B2 (en) * | 2004-11-15 | 2009-10-27 | Alexander Frank | Method and apparatus for provisioning software |
US8015416B2 (en) | 2004-11-19 | 2011-09-06 | Megachips Corporation | Memory information protection system and methods |
US7457960B2 (en) * | 2004-11-30 | 2008-11-25 | Analog Devices, Inc. | Programmable processor supporting secure mode |
US9280473B2 (en) * | 2004-12-02 | 2016-03-08 | Intel Corporation | Method and apparatus for accessing physical memory from a CPU or processing element in a high performance manner |
WO2006082994A2 (en) | 2005-02-07 | 2006-08-10 | Sony Computer Entertainment Inc. | Methods and apparatus for facilitating a secure session between a processor and an external device |
CA2593441A1 (en) | 2005-02-11 | 2006-08-17 | Universal Data Protection Corporation | Method and system for microprocessor data security |
US7613924B2 (en) | 2005-03-08 | 2009-11-03 | Texas Instruments Incorporated | Encrypted and other keys in public and private battery memories |
CN1878055B (zh) * | 2005-06-07 | 2010-11-03 | 北京握奇数据系统有限公司 | 一种分离式大数据量加/解密设备及实现方法 |
US8353046B2 (en) | 2005-06-08 | 2013-01-08 | Microsoft Corporation | System and method for delivery of a modular operating system |
GB0519842D0 (en) | 2005-09-29 | 2005-11-09 | Hewlett Packard Development Co | Methods and apparatus for managing and using one-time pads |
US8806224B2 (en) * | 2005-06-28 | 2014-08-12 | Intel Corporation | Low cost trusted platform |
WO2007004219A2 (en) * | 2005-07-04 | 2007-01-11 | Discretix Technologies Ltd. | System, device and method of verifying that a code is executed by a processor |
US7444687B2 (en) * | 2005-08-29 | 2008-11-04 | 3M Innovative Properties Company | Hearing protective device that includes cellular earmuffs |
US20070061597A1 (en) | 2005-09-14 | 2007-03-15 | Micky Holtzman | Secure yet flexible system architecture for secure devices with flash mass storage memory |
US7385491B2 (en) * | 2005-09-28 | 2008-06-10 | Itt Manufacturing Enterprises, Inc. | Tamper monitor circuit |
US8595387B2 (en) * | 2005-10-26 | 2013-11-26 | Hewlett-Packard Development Company, L.P. | SMM-dependent GPIO lock for enhanced computer security |
CN1967478A (zh) * | 2005-11-16 | 2007-05-23 | 鸿富锦精密工业(深圳)有限公司 | 基本输入输出系统的设置系统及方法 |
DE102005058238B4 (de) | 2005-12-06 | 2008-08-14 | Infineon Technologies Ag | Detektorschaltung zur Erfassung einer externen Manipulation einer elektrischen Schaltung sowie Verfahren zum Betreiben einer Schaltungsanordnung, bei dem externe Manipulation erfasst werden |
US7669048B2 (en) * | 2005-12-09 | 2010-02-23 | Microsoft Corporation | Computing device limiting mechanism |
US20070237325A1 (en) | 2006-02-01 | 2007-10-11 | Gershowitz Michael N | Method and apparatus to improve security of cryptographic systems |
US20070226795A1 (en) * | 2006-02-09 | 2007-09-27 | Texas Instruments Incorporated | Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture |
US20070192824A1 (en) * | 2006-02-14 | 2007-08-16 | Microsoft Corporation | Computer hosting multiple secure execution environments |
US8214296B2 (en) * | 2006-02-14 | 2012-07-03 | Microsoft Corporation | Disaggregated secure execution environment |
JP4795812B2 (ja) | 2006-02-22 | 2011-10-19 | 富士通セミコンダクター株式会社 | セキュアプロセッサ |
US20080034350A1 (en) | 2006-04-05 | 2008-02-07 | Conti Gregory R | System and Method for Checking the Integrity of Computer Program Code |
EP1870813B1 (en) | 2006-06-19 | 2013-01-30 | Texas Instruments France | Page processing circuits, devices, methods and systems for secure demand paging and other operations |
US7757098B2 (en) | 2006-06-27 | 2010-07-13 | Intel Corporation | Method and apparatus for verifying authenticity of initial boot code |
US20070297606A1 (en) * | 2006-06-27 | 2007-12-27 | Tkacik Thomas E | Multiple key security and method for electronic devices |
US20080015748A1 (en) * | 2006-07-14 | 2008-01-17 | David Nagy | System for monitoring, controlling, and reporting vehicle operation through onboard diagnostic port |
US7519830B2 (en) | 2006-08-03 | 2009-04-14 | Motorola, Inc. | Secure storage of data |
CN200941211Y (zh) * | 2006-08-23 | 2007-08-29 | 北京同方微电子有限公司 | 用于密码学运算的微处理器内核 |
NZ575535A (en) * | 2006-09-11 | 2012-04-27 | Commw Scient Ind Res Org | A portable device for use in establishing trust |
GB2442023B (en) * | 2006-09-13 | 2011-03-02 | Advanced Risc Mach Ltd | Memory access security management |
US20080100224A1 (en) * | 2006-10-31 | 2008-05-01 | Felder Matthew D | System on a chip with backlight controller |
US7917788B2 (en) * | 2006-11-01 | 2011-03-29 | Freescale Semiconductor, Inc. | SOC with low power and performance modes |
JP4946383B2 (ja) * | 2006-11-22 | 2012-06-06 | 富士通株式会社 | 情報処理装置、情報処理装置の異常検出方法及び制御プログラム |
US7986786B2 (en) * | 2006-11-30 | 2011-07-26 | Hewlett-Packard Development Company, L.P. | Methods and systems for utilizing cryptographic functions of a cryptographic co-processor |
CN100419776C (zh) * | 2006-12-04 | 2008-09-17 | 中国科学院计算技术研究所 | 一种可编程安全处理器 |
US20090177826A1 (en) * | 2008-01-09 | 2009-07-09 | Texas Instruments Incorporated | System and method for preemptive masking and unmasking of non-secure processor interrupts |
US8255988B2 (en) * | 2007-03-28 | 2012-08-28 | Microsoft Corporation | Direct peripheral communication for restricted mode operation |
US20080250250A1 (en) | 2007-04-04 | 2008-10-09 | Microsoft Corporation | Method and Apparatus for Using USB Flash Devices and Other Portable Storage as a Means to Access Prepaid Computing |
CN201054140Y (zh) * | 2007-04-27 | 2008-04-30 | 北京华大恒泰科技有限责任公司 | 信息安全控制芯片 |
US20080294951A1 (en) * | 2007-05-01 | 2008-11-27 | Ahmad Mustafa S | Methods and devices for testing computer memory |
US7646224B2 (en) | 2007-05-04 | 2010-01-12 | Exar Corporation | Means to detect a missing pulse and reduce the associated PLL phase bump |
EP2075696A3 (en) | 2007-05-10 | 2010-01-27 | Texas Instruments Incorporated | Interrupt- related circuits, systems and processes |
US20080307240A1 (en) | 2007-06-08 | 2008-12-11 | Texas Instruments Incorporated | Power management electronic circuits, systems, and methods and processes of manufacture |
US7649421B2 (en) | 2007-06-19 | 2010-01-19 | Harris Stratex Networks Operating Corporation | Quality of phase lock and loss of lock detector |
US8479014B1 (en) * | 2007-09-04 | 2013-07-02 | Guoan Hu | Symmetric key based secure microprocessor and its applications |
US8375219B2 (en) * | 2007-10-24 | 2013-02-12 | Microsoft Corporation | Program and operation verification |
US7730248B2 (en) * | 2007-12-13 | 2010-06-01 | Texas Instruments Incorporated | Interrupt morphing and configuration, circuits, systems and processes |
US7831936B2 (en) | 2007-12-19 | 2010-11-09 | International Business Machines Corporation | Structure for a system for controlling access to addressable integrated circuits |
US20100023782A1 (en) | 2007-12-21 | 2010-01-28 | Intel Corporation | Cryptographic key-to-policy association and enforcement for secure key-management and policy execution |
US8060748B2 (en) | 2007-12-21 | 2011-11-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Secure end-of-life handling of electronic devices |
US20090172393A1 (en) * | 2007-12-31 | 2009-07-02 | Haluk Kent Tanik | Method And System For Transferring Data And Instructions Through A Host File System |
US9137015B2 (en) | 2008-01-04 | 2015-09-15 | Arcsoft, Inc. | Protection scheme for AACS keys |
US7987353B2 (en) * | 2008-01-09 | 2011-07-26 | International Business Machines Corporation | Remote BIOS for servers and blades |
US8127131B2 (en) | 2008-04-10 | 2012-02-28 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for efficient security domain translation and data transfer |
US8370641B2 (en) * | 2008-05-24 | 2013-02-05 | Via Technologies, Inc. | Initialization of a microprocessor providing for execution of secure code |
US8726364B2 (en) | 2008-06-30 | 2014-05-13 | Intel Corporation | Authentication and access protection of computer boot modules in run-time environments |
KR101226301B1 (ko) * | 2008-07-11 | 2013-01-24 | 인텔 모바일 커뮤니케이션스 게엠베하 | 모바일 무선 통신 디바이스, 모바일 무선 홈 기지국 및 모바일 무선 통신 디바이스 내의 컴퓨터 프로그램을 프로세싱하기 위한 방법 |
WO2010020834A1 (en) | 2008-08-21 | 2010-02-25 | Freescale Semiconductor, Inc. | Security key generator |
US8051467B2 (en) | 2008-08-26 | 2011-11-01 | Atmel Corporation | Secure information processing |
US8327174B2 (en) * | 2009-03-20 | 2012-12-04 | Hewlett-Packard Development Company, L.P. | Loading operating systems using memory segmentation and ACPI based context switch |
-
2008
- 2008-10-31 US US12/263,214 patent/US8370641B2/en active Active
- 2008-10-31 US US12/263,177 patent/US9002014B2/en active Active
- 2008-10-31 US US12/263,199 patent/US20090292931A1/en not_active Abandoned
- 2008-10-31 US US12/263,206 patent/US8762687B2/en active Active
- 2008-10-31 US US12/263,263 patent/US8910276B2/en active Active
- 2008-10-31 US US12/263,230 patent/US8793803B2/en active Active
- 2008-10-31 US US12/263,154 patent/US7788433B2/en active Active
- 2008-10-31 US US12/263,131 patent/US8615799B2/en active Active
- 2008-10-31 US US12/263,244 patent/US8607034B2/en active Active
- 2008-10-31 US US12/263,143 patent/US8838924B2/en active Active
- 2008-10-31 US US12/263,168 patent/US8522354B2/en active Active
- 2008-10-31 US US12/263,221 patent/US8209763B2/en active Active
- 2008-10-31 US US12/263,238 patent/US8978132B2/en active Active
-
2009
- 2009-04-15 TW TW098112468A patent/TWI397859B/zh active
- 2009-04-15 TW TW098112460A patent/TWI395137B/zh active
- 2009-04-16 TW TW098112626A patent/TWI385555B/zh active
- 2009-04-16 TW TW098112627A patent/TWI385574B/zh active
- 2009-04-20 TW TW098112991A patent/TWI581183B/zh active
- 2009-04-20 TW TW098112994A patent/TWI405123B/zh active
- 2009-04-21 TW TW098113141A patent/TWI405124B/zh active
- 2009-04-21 TW TW098113142A patent/TWI520057B/zh active
- 2009-04-22 TW TW098113277A patent/TWI397856B/zh active
- 2009-04-23 TW TW098113443A patent/TWI489378B/zh active
- 2009-04-24 TW TW098113588A patent/TWI407367B/zh active
- 2009-04-27 TW TW098113867A patent/TWI394076B/zh active
- 2009-04-27 TW TW098113866A patent/TWI394060B/zh active
- 2009-04-29 CN CN200910137756XA patent/CN101533451B/zh active Active
- 2009-04-29 CN CN2009101377466A patent/CN101533441B/zh active Active
- 2009-04-29 CN CN2009101377517A patent/CN101533446B/zh active Active
- 2009-04-29 CN CN2009101377470A patent/CN101533442B/zh active Active
- 2009-04-29 CN CN200910137749XA patent/CN101533444B/zh active Active
- 2009-04-29 CN CN2009101377451A patent/CN101533440B/zh active Active
- 2009-04-29 CN CN2009101377540A patent/CN101533449B/zh active Active
- 2009-04-29 CN CN2009101377521A patent/CN101533447B/zh active Active
- 2009-04-29 CN CN2009101377555A patent/CN101533450B/zh active Active
- 2009-04-29 CN CN2009101377432A patent/CN101533438B/zh active Active
- 2009-04-29 CN CN2009101377502A patent/CN101533445B/zh active Active
- 2009-04-29 CN CN201210075865.5A patent/CN102722675B/zh active Active
- 2009-04-29 CN CN2009101377447A patent/CN101533439B/zh active Active
- 2009-04-29 CN CN2009101377485A patent/CN101533443B/zh active Active
- 2009-04-29 CN CN2009101377536A patent/CN101533448B/zh active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI567642B (zh) * | 2014-06-27 | 2017-01-21 | 英特爾公司 | 用以中斷與回復安全獨立領域中的分頁之指令及邏輯 |
US9990314B2 (en) | 2014-06-27 | 2018-06-05 | Intel Corporation | Instructions and logic to interrupt and resume paging in a secure enclave page cache |
US9747967B2 (en) | 2014-09-26 | 2017-08-29 | Intel Corporation | Magnetic field-assisted memory operation |
TWI611318B (zh) * | 2014-12-26 | 2018-01-11 | 英特爾公司 | 電子設備、計算系統及用於資料安全之方法 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW200949681A (en) | Apparatus and method for managing a microprocessor providing for a secure execution mode | |
TWI395138B (zh) | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 |