TWI428824B - 微處理器及限制存取的方法 - Google Patents

微處理器及限制存取的方法 Download PDF

Info

Publication number
TWI428824B
TWI428824B TW99122115A TW99122115A TWI428824B TW I428824 B TWI428824 B TW I428824B TW 99122115 A TW99122115 A TW 99122115A TW 99122115 A TW99122115 A TW 99122115A TW I428824 B TWI428824 B TW I428824B
Authority
TW
Taiwan
Prior art keywords
microprocessor
user
key
access
manufacturing identifier
Prior art date
Application number
TW99122115A
Other languages
English (en)
Other versions
TW201106260A (en
Inventor
G Glenn Henry
Terry Parks
Original Assignee
Via Tech Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/781,087 external-priority patent/US8341419B2/en
Application filed by Via Tech Inc filed Critical Via Tech Inc
Publication of TW201106260A publication Critical patent/TW201106260A/zh
Application granted granted Critical
Publication of TWI428824B publication Critical patent/TWI428824B/zh

Links

Landscapes

  • Storage Device Security (AREA)
  • Microcomputers (AREA)

Description

微處理器及限制存取的方法
本發明係有關於微處理器內的特別模組暫存器(Model Specific Register,MSR),特別是有關於使用者對特別模組暫存器的限制性存取。
處理器具有許多內部控制暫存器,其通常僅可由微碼(microcode)進行存取。以匯流排控制暫存器當作例子,其可控制,例如,處理器匯流排上的時序(timing)、欲使用之精準匯流排協定等詳細動作。在對具有正在使用中之處理器的系統進行測試及除錯時,測試員/除錯員通常想要能夠執行外部的程序來設定(或讀取)處理器內部的控制暫存器。舉例來說,測試員/除錯員可能想要在處理器匯流排上嘗試不同的時序。此外,也通常想要存取這些處理器的內部暫存器以作為製造測試程序的一部分。
x86結構,舉例來說,其指令集包括讀取特別模組暫存器(read from MSR,RDMSR)指令及寫入特別模組暫存器(write to MSR,WRMSR)指令來對特別模組暫存器(MSR)進行讀取或寫入。測試員/除錯員可透過RDMSR指令及WRMSR指令來存取x86處理器的內部控制暫存器。然而,假如使用不正確的話,存取某些內部控制暫存器的動作將會導致處理器工作不正確、工作緩慢或是不完全工作。再者,存取某些內部控制暫存器的動作將會導致使用者不受安全機制保護,例如允許核心態(ring 0)在用戶態(ring 3)進行存取。此外,這些控制暫存器可能會洩露處理器設計者想要保有所有權之資訊。因此,不同x86處理器的製造商不會公開地提供任何描述某些控制特別模組暫存器之位址或是功能的文件。
然而,未公開之控制特別模組暫存器的位址或是其存在很容易被程式設計員所發現,然後程式設計員傳統上會將他們的發現公開給別人來使用。再者,處理器製造商可能需要將控制特別模組暫存器的位址及相關描述揭露給客戶,以供客戶進行測試及除錯程序。然而,揭露給客戶的資訊可能會導致控制特別模組暫存器的機密會變成眾所皆知,於是任何人或是任何處理器都可使用這些控制特別模組暫存器。
在執行RDMSR/WRMSR指令來對受保護之特別模組暫存器進行存取之前,更嚴格的方法係需要在暫存器內放置機密的存取鑰(access key)。假如存取鑰的值不正確,則RDMSR/WRMSR指令會失敗(fail),而且處理器不能對所指定的特別模組暫存器進行讀取/寫入。理論上,存取鑰的值係從處理器的製造商所獲得。不幸地,在製造商提供存取鑰的值給客戶之後,很快地存取鑰的值將會被公開,而未被授權的其他人便可使用已被公開的存取鑰來對控制暫存器進行存取。
本發明提供一種微處理器,具有上述微處理器之一製造商可限制存取之一控制暫存器。上述微處理器包括:一製造識別符,用以唯一識別出上述製造商,其中一使用者可從上述微處理器的外部讀取出上述製造識別符;一密鑰,製造於上述微處理器的內部,其中上述密鑰係無法由上述微處理器的外部觀視;一加密引擎,耦接於上述密鑰,對應於一使用者指令,用以使用上述密鑰對一使用者提供之密碼進行解密,以產生一解密結果,其中上述使用者指令指示上述微處理器對上述控制暫存器進行存取,其中上述使用者提供之密碼係上述微處理器所獨有的;以及,一執行單元,耦接於上述製造識別符以及上述加密引擎,用以當上述解密結果包括上述製造識別符時,允許上述使用者指令來存取上述控制暫存器,以及當上述解密結果不包括上述製造識別符時,拒絕上述使用者指令來存取上述控制暫存器。
再者,本發明提供一種限制存取的方法,適用於一微處理器之一控制暫存器。上述方法包括:對一使用者指令進行解碼,其中上述使用者指令指示上述微處理器對上述控制暫存器進行存取;對應於上述解碼步驟,使用一密鑰對一使用者提供之密碼進行解密以產生一解密結果,其中上述使用者提供之密碼係上述微處理器所獨有的,其中上述密鑰係製造於上述微處理器的內部且無法由上述微處理器的外部觀視;以及,當上述解密結果不包括一製造識別符時,拒絕上述使用者指令來存取上述控制暫存器,其中上述製造識別符係用以唯一識別出上述製造商,以及一使用者可從上述微處理器的外部讀取出上述製造識別符。上述解碼步驟、上述解密步驟及上述拒絕步驟皆係由上述微處理器所執行。
再者,本發明提供一種微處理器,具有上述微處理器之一製造商可限制存取之一控制暫存器。上述微處理器包括:一製造識別符,用以唯一識別出上述製造商,其中一使用者可從上述微處理器的外部讀取出上述製造識別符;一密鑰,製造於上述微處理器的內部,其中上述密鑰係無法由上述微處理器的外部觀視到;一加密引擎,耦接於上述密鑰,對應於一使用者指令,用以使用上述密鑰來對上述製造識別符進行加密,以產生一加密結果,其中上述使用者指令指示上述微處理器對上述控制暫存器進行存取;以及,一執行單元,耦接於上述加密引擎,用以當上述加密結果符合一使用者提供之密碼時,允許上述使用者指令來存取上述控制暫存器,以及當上述加密結果不符合上述使用者提供之密碼時,拒絕上述使用者指令來存取上述控制暫存器,其中上述使用者提供之密碼係上述微處理器所獨有的。
再者,本發明提供一種限制存取的方法,適用於一微處理器之一控制暫存器。上述方法包括:對一使用者指令進行解碼,其中上述使用者指令指示上述微處理器對上述控制暫存器進行存取;對應於上述解碼步驟,使用一密鑰對一製造識別符進行加密,以產生一加密結果,其中上述密鑰係製造於上述微處理器的內部且無法由上述微處理器的外部觀視到,其中上述製造識別符係用以唯一識別出上述製造商,以及一使用者可從上述微處理器的外部讀取上述製造識別符;以及,當上述加密結果不符合一使用者提供之密碼時,拒絕上述使用者指令來存取上述控制暫存器,其中上述使用者提供之密碼係上述微處理器所獨有的。上述解碼步驟、上述加密步驟及上述拒絕步驟皆係由上述微處理器所執行。
在一實施例中,上述使用者提供之密碼包括由上述製造商提供給上述使用者之一特定值。在一實施例中,上述使用者提供之密碼係由上述製造商藉由一相同加密演算法對上述製造識別符進行加密所產生,其中上述相同加密演算法係由上述加密引擎所使用,以便對上述使用者提供之密碼進行解密。在一實施例中,上述加密引擎包括一先進加密標準(AES)引擎。在一實施例中,上述密鑰僅由上述微處理器之上述製造商所知曉。在一實施例中,上述密鑰僅由上述微處理器之一微碼所讀取。
為讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉出較佳實施例,並配合所附圖式,作詳細說明如下:
實施例:
為了解決上述問題,本發明之實施例提供藉由使每一處理器具有不同的存取鑰來提供存取鑰方法。因此,即使一特定處理器的存取鑰被公開,潛在的風險將被限定在該特定處理器。
參考第1圖,第1圖係顯示根據本發明一實施例所述之微處理器100。第1圖的微處理器100亦包括複數特別模組暫存器(MSRs)132、製造識別符134、密鑰136及特別模組暫存器密碼138,其皆由執行單元632所接收。
部分的特別模組暫存器132係由密碼所保護,而另一部分的特別模組暫存器132則沒有受到密碼保護。在一實施例中,微碼唯讀記憶體(read only memory,ROM)604儲存著受密碼保護之特別模組暫存器132的清單,其中為了判斷是否被限制存取,即要求有效的密碼,微碼會考慮何時去執行RDMSR/WRMSR指令。在一實施例中,每一特別模組暫存器132具有下列四種密碼保護類型中的一種:(1)無保護,即能使用架構性之規則進行讀取或寫入;(2)讀取保護(例如特別模組暫存器132係用來讀出微處理器100的微碼);(3)寫入保護(例如控制匯流排之時序或協定、或是控制微處理器100之不同特性或省電特徵的內部控制暫存器);及(4)讀取及寫入保護。
此外,微碼唯讀記憶體604更用以儲存微碼常式(routine)以便執行RDMSR指令及WRMSR指令,其在同意(grant)存取受保護的特別模組暫存器132之前可先檢查有效(valid)的密碼。最後,密碼編譯單元617更可使用密鑰136對特別模組暫存器密碼138進行解密,以便判斷製造識別符134是否被包含在解密結果內。
特別模組暫存器密碼138係由使用者所提供以當作輸入,其將進一步描述於第4圖的步驟408及第3圖。其中,特別模組暫存器密碼138係使用者從微處理器100之製造商所接收到的,其將進一步描述於第4圖的步驟406及第2圖。
製造識別符134係製造於微處理器硬體內部的序號,其係每一微處理器所獨有的(unique)。因為製造識別符134為序號,因此相對地製造識別符134為可預料的號碼(predictable number)。在一實施例中,製造識別符134係燒入在微處理器100之保險絲的50位元號碼。使用者可觀視(visible)到製造識別符134。在一實施例中,使用者可透過RDMSR指令來讀取製造識別符134。
密鑰136係製造於微處理器硬體內的一機密值(secret value),其無法從外部觀視到。密鑰136僅由製造商之少部分被授權的員工所知曉。密鑰136可由微處理器100之微碼被內部地讀取,但是無法從微處理器100外部被讀出。因此,密鑰136無法由執行於微處理器100之任何外部程式所獲得。然而,假如知道密鑰136的某一人員洩漏它或是有人分析微處理器100之實體的(physical)矽及/或金屬層並發現製造於微處理器100之硬體內的密鑰136之位置及排列,則可獲知密鑰136。在一實施例中,對相同製造商之微處理器的全部情況(all instances)而言,密鑰136係相同的。在一實施例中,密鑰136為128位元。
參考第4圖,第4圖係顯示根據本發明一實施例所述之流程圖。第4圖的步驟402至步驟406亦描述於第2圖的方塊圖中,而第4圖的步驟408至步驟432亦描述於第3圖的方塊圖中。流程開始於步驟402。
在步驟402,使用者想要對微處理器100的特別模組暫存器132進行讀取/寫入,因此使用者會得到微處理器100的製造識別符134。在一實施例中,使用者會讀取到微處理器100內架構性之非密碼保護的特別模組暫存器132。接著,使用者會聯絡微處理器100的製造商並提供製造識別符134,以要求製造商給予特別模組暫存器密碼138。接著,流程進入步驟404。
在步驟404,製造商使用密鑰136對製造識別符134進行加密,以便使用加密函數202來產生特別模組暫存器密碼138,如第2圖所顯示。對不知道密鑰136的任何人來說,即便在知道製造識別符134的情況下,即使得知了加密演算法,也就不可能使用正確的計算方法來計算出特別模組暫存器密碼138。因此,對特別模組暫存器密碼138而言,使用密鑰136對製造識別符134進行加密可提供非常高的安全性。在一實施例中,密鑰136為128位元而所產生的特別模組暫存器密碼138亦為128位元,然而其他實施例亦可以被考慮。再者,即使某人具有製造商所提供的製造識別符134及所產生的特別模組暫存器密碼138,也就不可能使用正確的計算方法來找出密鑰136。在一實施例中,製造商所使用的加密函數202為先進加密標準(Advanced Encryption Standard,AES)加密,然而其他實施例亦可以被考慮。值得注意的是,先進加密標準加密中的明文(plain text)輸入以及密文(cypher text)輸出具有相同數量的位元數。因此,在製造識別符134所包含的位元數少於特別模組暫存器密碼138的位元數之實施例中,製造商在對製造識別符134進行先進加密標準加密之前,會先將製造識別符134填滿到與特別模組暫存器密碼138具有相同的位元數,以便產生特別模組暫存器密碼138。
在一實施例中,製造商使用被寫入的程式來對製造識別符134進行加密以產生特別模組暫存器密碼138。該程式可執行於任何系統中,其中該系統包括能執行前述之加密演算法的處理器。雖然不必要,該系統亦可包括根據本發明所述之微處理器100,其包括密碼編譯單元617來執行上述加密演算法。接著,流程進入步驟406。
在步驟406,製造商會提供在步驟404所產生的特別模組暫存器密碼138給使用者,例如經由電話、電子郵件、網站、檔案傳送協定(FTP)、紙郵件等方式。接著,流程進入步驟408。
在步驟408,使用者程式會將來自製造商於步驟406所接收之特別模組暫存器密碼138載入至微處理器100的暫存器中。在一實施例中,該暫存器為x86資料流SIMD延伸(streaming SIMD extensions,SSE)編程環境中的XMM7暫存器。在另一實施例中,使用者程式會將特別模組暫存器密碼138載入至系統記憶體中,並載入微處理器100之一般用途的暫存器,其中該暫存器具有指示儲存特別模組暫存器密碼138之記憶體位置的指標。接著,流程進入步驟412。
在步驟412,使用者程式執行RDMSR指令或WRMSR指令,其會指定欲被讀取或是寫入的特定特別模組暫存器132。接著,流程進入步驟414。
在步驟414,處理器對RDMSR指令或WRMSR指令進行解碼,並轉移控制至在第1圖中微碼唯讀記憶體604的微碼常式。微碼會決定該特定特別模組暫存器132是否存在於受密碼保護之特別模組暫存器的清單中。在一實施例中,架構性之特別模組暫存器並未包含在受密碼保護之特別模組暫存器的清單內。在一實施例中,藉由燒斷微處理器內的保險絲可更改受密碼保護之特別模組暫存器的清單,如2009年2月24日申請之美國專利申請案第12/391,781號所描述,上文所提及之專利申請案之全文特此以引用之方式併入本文中,且構成說明書的一部分。接著,流程進入步驟416。
在步驟416,假如由RDMSR指令或WRMSR指令所指定的特別模組暫存器132並未出現在受密碼保護之特別模組暫存器的清單中,則流程進入步驟432。否則,流程進入步驟418。
在步驟418,微碼會從暫存器(或是記憶體)提取特別模組暫存器密碼138,並指示密碼編譯單元617來使用密鑰136對特別模組暫存器密碼138進行解密。接著,流程進入步驟422。
在步驟422,密碼編譯單元617使用密鑰136對特別模組暫存器密碼138進行解密,以便產生已解密之特別模組暫存器密碼,如第3圖所顯示。在一實施例中,密碼編譯單元617為一先進加密標準引擎(AES engine)。接著,流程進入步驟424。
在步驟424,整數單元610會將於步驟422中所產生之已解密之特別模組暫存器密碼與製造識別符134進行比較,如第3圖所顯示。在第3圖中,整數單元610會產生有效的指示(valid indicator)302,其會指示製造識別符134是否被包含在已解密之特別模組暫存器密碼中。如先前所描述,已解密之特別模組暫存器密碼以及製造識別符134可能會具有不相同的位元數,因此整數單元610僅將已解密之特別模組暫存器密碼的有關位元(relevant bits)與製造識別符134進行比較。接著,流程進入步驟426。
在步驟426的判斷中,假如已解密之特別模組暫存器密碼符合(match)製造識別符134,則流程進入步驟432。否則,流程進入步驟428。
在步驟428,微處理器100會中止(abort)RDMSR/WRMSR指令。在一實施例中,微處理器100會產生一般保護的錯誤。然後,流程結束於步驟428。
在步驟432,處理器會執行使用者程序所要求之RDMSR指令或WRMSR指令流程結束於步驟432。
在另一實施例中,基本概念可延伸至單獨的特別模組暫存器132。即,每一特別模組暫存器132可具有其獨有的特別模組暫存器密碼138,而不是每一微處理器100具有其特有的特別模組暫存器密碼138。在一實施例中,使用者於步驟402中不只提供微處理器100的製造識別符134,更提供了使用者想要進行存取之特別模組暫存器132的暫存器數量(其係於RDMSR/WRMSR指令中被載入於ECX暫存器)。接著,製造商會使用特別模組暫存器132的暫存器數量再加上製造識別符134來進行步驟404中的加密。在步驟424中,整數單元610會同時將製造識別符134以及由RDMSR/WRMSR指令所指定的特別模組暫存器132的暫存器數量與已解密的值進行比較。
在另一實施例中,為了判斷使用者所提供之特別模組暫存器密碼138的正確性,可修改第4圖中的步驟422與424,使得在步驟422中,微處理器100對製造識別符134進行加密來產生結果,而不是對使用者所提供之特別模組暫存器密碼138進行解密。此外,在步驟424中,微處理器100係對使用者所提供之特別模組暫存器密碼138與由已修改之步驟422所產生的結果進行比較,而不是將使用者所提供之特別模組暫存器密碼138的解密結果與製造識別符134進行比較。該實施例係描述於第5圖中。
為了防止對受密碼保護的特別模組暫存器進行錯誤的存取,本發明所描述之實施例可有利地提供微處理器的製造商來非常嚴格地控制對微處理器中受密碼保護的特別模組暫存器進行存取。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾。例如,軟體可致能如本發明所述之裝置及方法的功能、製造、模型化、模擬、描述及/或測試,其能透過使用通用程式設計語言(例如C、C++)、包括Verilog、HDL、VHDL等之硬體描述語言(HDL)或其他可用的程式來實現。上述軟體可設置在任何已知的電腦可用媒體中,例如磁帶、半導體、磁碟、光碟(如CD-ROM、DVD-ROM等)、網路、有線連線、無線或其他通訊媒體。本發明之裝置及方法的實施例可包含在半導體智慧財產權核心內,例如微處理器核心(由HDL具體化),並轉換成積體電路的硬體產品。此外,本發明實施例所述之裝置及方法可以硬體與軟體之結合方式具體化。因此,本發明不應限定於已揭露的實施例,而應視後附之申請專利範圍所界定者為準。具體而言,本發明可實施於微處理器裝置中,其可被使用於通用電腦。最後,任何熟悉此項技藝者,可基於本發明所揭露的概念以及特定實施例,在不脫離本發明之精神和範圍內,可做些許更動與潤飾以達到本發明之相同目的。
100...微處理器
132...特別模組暫存器
134...製造識別符
136...密鑰
138...特別模組暫存器密碼
202...加密函數
302...指示
601...提取邏輯單元
602...轉譯邏輯單元
603...轉譯器
604...微碼唯讀記憶體
605...暫存器
606...位址
607...載入
608...執行
609、611、613、615...微指令佇列
610...整數單元
612...浮點單元
614...MMX單元
616...SSE單元
617...密碼編譯單元
618...儲存
619...寫回
620...載入匯流排
621...閒置信號
622...儲存匯流排
624...EFLAGS暫存器
625...X位元
626...中斷邏輯單元
627...微指令
628...MSR暫存器
629...E位元
630...FCR暫存器
631...D位元
632...執行單元
以及
633...匯流排
第1圖係顯示根據本發明一實施例所述之微處理器;
第2圖係顯示描述於第4圖之步驟402至步驟406的方塊圖;
第3圖係顯示描述於第4圖之步驟408至步驟432的方塊圖;
第4圖係顯示根據本發明一實施例所述之操作流程圖;以及
第5圖係顯示本發明另一實施例所述之於第4圖中步驟408至步驟432的方塊圖。
100...微處理器
132...特別模組暫存器
134...製造識別符
136...密鑰
138...特別模組暫存器密碼
601...提取邏輯單元
602...轉譯邏輯單元
603...轉譯器
604...微碼唯讀記憶體
605...暫存器
606...位址
607...載入
608...執行
609、611、613、615...微指令佇列
610...整數單元
612...浮點單元
614...MMX單元
616...SSE單元
617...密碼編譯單元
618...儲存
619...寫回
620...載入匯流排
621...閒置信號
622...儲存匯流排
624...EFLAGS暫存器
625...X位元
626...中斷邏輯單元
627...微指令
628...MSR暫存器
629...E位元
630...FCR暫存器
631...D位元
632...執行單元
以及
633...匯流排

Claims (14)

  1. 一種微處理器,具有上述微處理器之一製造商可限制存取之一控制暫存器,包括:一製造識別符,用以唯一識別出上述製造商,其中一使用者可從上述微處理器的外部讀取出上述製造識別符;一密鑰,製造於上述微處理器的內部,其中上述密鑰係無法由上述微處理器的外部觀視;一加密引擎,耦接於上述密鑰,對應於一使用者指令,用以使用上述密鑰對一使用者提供之密碼進行解密,以產生一解密結果,其中上述使用者指令指示上述微處理器對上述控制暫存器進行存取,其中上述使用者提供之密碼係上述微處理器所獨有的;以及一執行單元,耦接於上述製造識別符以及上述加密引擎,用以當上述解密結果包括上述製造識別符時,允許上述使用者指令來存取上述控制暫存器,以及當上述解密結果不包括上述製造識別符時,拒絕上述使用者指令來存取上述控制暫存器。
  2. 如申請專利範圍第1項所述之微處理器,其中上述使用者提供之密碼包括由上述製造商提供給上述使用者之一特定值,其係由上述製造商藉由一相同加密演算法對上述製造識別符進行加密所產生,其中上述相同加密演算法係由上述加密引擎所使用,以便對上述使用者提供之密碼進行解密。
  3. 如申請專利範圍第1項所述之微處理器,其中上述密鑰僅由上述微處理器之上述製造商所知曉,上述密鑰僅由上述微處理器之一微碼所讀取。
  4. 如申請專利範圍第1項所述之微處理器,更包括:複數控制暫存器,其中上述使用者指令指定對上述複數控制暫存器之一特定控制暫存器進行讀取,其中上述使用者提供之密碼係上述微處理器以及由上述使用者指令所指定之上述特定控制暫存器所獨有的。
  5. 如申請專利範圍第1項所述之微處理器,其中上述使用者提供之密碼係上述微處理器以及由上述使用者指令指示上述微處理器所讀取或寫入之上述控制暫存器所獨有的。
  6. 如申請專利範圍第1項所述之微處理器,更包括:複數保險絲,根據上述製造識別符選擇性地被燒斷。
  7. 一種限制存取的方法,適用於一微處理器之一控制暫存器,包括:對一使用者指令進行解碼,其中上述使用者指令指示上述微處理器對上述控制暫存器進行存取;對應於上述解碼步驟,使用一密鑰對一使用者提供之密碼進行解密以產生一解密結果,其中上述使用者提供之密碼係上述微處理器所獨有的,其中上述密鑰係製造於上述微處理器的內部且無法由上述微處理器的外部觀視;以及當上述解密結果不包括一製造識別符時,拒絕上述使用者指令來存取上述控制暫存器,其中上述製造識別符係用以唯一識別出上述製造商,以及一使用者可從上述微處理器的外部讀取出上述製造識別符,其中上述解碼步驟、上述解密步驟及上述拒絕步驟皆係由上述微處理器所執行。
  8. 如申請專利範圍第7項所述之限制存取的方法,其中上述使用者提供之密碼包括由上述製造商提供給上述使用者之一特定值,其係由上述製造商藉由一相同加密演算法對上述製造識別符進行加密所產生,其中上述相同加密演算法係由一加密引擎所使用,以便對上述使用者提供之密碼進行解密。
  9. 如申請專利範圍第7項所述之限制存取的方法,其中上述密鑰僅由上述微處理器之上述製造商所知曉,上述密鑰僅由上述微處理器之一微碼所讀取。
  10. 如申請專利範圍第7項所述之限制存取的方法,其中上述微處理器包括複數控制暫存器,其中上述使用者指令指定對上述複數控制暫存器之一特定控制暫存器進行讀取,其中上述使用者提供之密碼係上述微處理器以及由上述使用者指令指定之上述特定控制暫存器所獨有的。
  11. 如申請專利範圍第7項所述之限制存取的方法,其中上述使用者提供之密碼係上述微處理器以及由上述使用者指令指示上述微處理器所讀取或寫入之上述控制暫存器所獨有的。
  12. 如申請專利範圍第7項所述之限制存取的方法,其中上述製造識別符係選擇性地被燒斷在上述微處理器之複數保險絲內。
  13. 一種微處理器,具有上述微處理器之一製造商可限制存取之一控制暫存器,包括:一製造識別符,用以唯一識別出上述製造商,其中一使用者可從上述微處理器的外部讀取出上述製造識別符;一密鑰,製造於上述微處理器的內部,其中上述密鑰係無法由上述微處理器的外部觀視到;一加密引擎,耦接於上述密鑰,對應於一使用者指令,用以使用上述密鑰來對上述製造識別符進行加密,以產生一加密結果,其中上述使用者指令指示上述微處理器對上述控制暫存器進行存取;以及一執行單元,耦接於上述加密引擎,用以當上述加密結果符合一使用者提供之密碼時,允許上述使用者指令來存取上述控制暫存器,以及當上述加密結果不符合上述使用者提供之密碼時,拒絕上述使用者指令來存取上述控制暫存器,其中上述使用者提供之密碼係上述微處理器所獨有的。
  14. 一種限制存取的方法,適用於一微處理器之一控制暫存器,包括:對一使用者指令進行解碼,其中上述使用者指令指示上述微處理器對上述控制暫存器進行存取;對應於上述解碼步驟,使用一密鑰對一製造識別符進行加密,以產生一加密結果,其中上述密鑰係製造於上述微處理器的內部且無法由上述微處理器的外部觀視到,其中上述製造識別符係用以唯一識別出上述製造商,以及一使用者可從上述微處理器的外部讀取上述製造識別符;以及當上述加密結果不符合一使用者提供之密碼時,拒絕上述使用者指令來存取上述控制暫存器,其中上述使用者提供之密碼係上述微處理器所獨有的,其中上述解碼步驟、上述加密步驟及上述拒絕步驟皆係由上述微處理器所執行。
TW99122115A 2009-08-07 2010-07-06 微處理器及限制存取的方法 TWI428824B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US23223609P 2009-08-07 2009-08-07
US12/781,087 US8341419B2 (en) 2008-09-09 2010-05-17 Apparatus and method for limiting access to model specific registers in a microprocessor

Publications (2)

Publication Number Publication Date
TW201106260A TW201106260A (en) 2011-02-16
TWI428824B true TWI428824B (zh) 2014-03-01

Family

ID=42997173

Family Applications (1)

Application Number Title Priority Date Filing Date
TW99122115A TWI428824B (zh) 2009-08-07 2010-07-06 微處理器及限制存取的方法

Country Status (2)

Country Link
CN (1) CN101872297B (zh)
TW (1) TWI428824B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102301777B (zh) * 2011-05-27 2013-10-09 华为技术有限公司 一种控制配置参数的方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272832B2 (en) * 2001-10-25 2007-09-18 Hewlett-Packard Development Company, L.P. Method of protecting user process data in a secure platform inaccessible to the operating system and other tasks on top of the secure platform
CN100489877C (zh) * 2006-08-04 2009-05-20 大唐移动通信设备有限公司 防止终端软件被盗用的方法及装置
US8130959B2 (en) * 2006-09-07 2012-03-06 International Business Machines Corporation Rekeying encryption for removable storage media
JP4912921B2 (ja) * 2007-02-27 2012-04-11 富士通セミコンダクター株式会社 セキュアプロセッサシステム、セキュアプロセッサ及びセキュアプロセッサシステムの制御方法

Also Published As

Publication number Publication date
CN101872297A (zh) 2010-10-27
TW201106260A (en) 2011-02-16
CN101872297B (zh) 2013-07-24

Similar Documents

Publication Publication Date Title
US11664994B2 (en) Secure unlock systems for locked devices
US10095890B2 (en) Secure processor and a program for a secure processor
KR101726108B1 (ko) 집적 회로를 위한 보안 키 도출 및 암호화 로직
KR101457355B1 (ko) 보안 애플리케이션 실행을 제공하는 방법 및 장치
JP5607546B2 (ja) 保護された動作モードの間にシステムアクセスを制御するための方法および装置
CN105339945B (zh) 安全处理环境中的特征许可
CN108604274A (zh) 安全片上系统
US8307215B2 (en) System and method for an autonomous software protection device
US20070055892A1 (en) Concealment of information in electronic design automation
JP2006042289A (ja) マイクロプロセッサ
TWI405125B (zh) 一種具有特別模組暫存器之微處理器以及用以保護特別模組暫存器之存取的存取保護方法
US8316243B2 (en) Apparatus and method for generating unpredictable processor-unique serial number for use as an encryption key
US20090222927A1 (en) Concealment of Information in Electronic Design Automation
TWI522914B (zh) 微處理器以及撤銷第一密碼之方法
JP4591163B2 (ja) バスアクセス制御装置
US20060259978A1 (en) Secure exchange of information in electronic design automation with license-related key generation
US8341419B2 (en) Apparatus and method for limiting access to model specific registers in a microprocessor
TWI428824B (zh) 微處理器及限制存取的方法
Kumar et al. A novel holistic security framework for in-field firmware updates
JP2007109053A (ja) バスアクセス制御装置
JP4847827B2 (ja) アクセス制御装置
TWI497344B (zh) 微處理器及產生不可預測之鑰的方法
Sahoo et al. A Novel Holistic Security Framework for In-field Firmware Updates
Al Mahmod Towards Unclonable System Design for Resource-Constrained Applications
Belous et al. Countermeasures Against Hardware Trojans