TW201543264A - 用於對受保護的硬體資源的軟體啟用接入的裝置和方法 - Google Patents

用於對受保護的硬體資源的軟體啟用接入的裝置和方法 Download PDF

Info

Publication number
TW201543264A
TW201543264A TW104105809A TW104105809A TW201543264A TW 201543264 A TW201543264 A TW 201543264A TW 104105809 A TW104105809 A TW 104105809A TW 104105809 A TW104105809 A TW 104105809A TW 201543264 A TW201543264 A TW 201543264A
Authority
TW
Taiwan
Prior art keywords
semiconductor wafer
resource
protected hardware
key
module
Prior art date
Application number
TW104105809A
Other languages
English (en)
Other versions
TWI633458B (zh
Inventor
Amer Haider
Muhammad Raghib Hussain
Richard Eugene Kessler
Original Assignee
Cavium 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
Application filed by Cavium Inc filed Critical Cavium Inc
Publication of TW201543264A publication Critical patent/TW201543264A/zh
Application granted granted Critical
Publication of TWI633458B publication Critical patent/TWI633458B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本公開涉及用於對受保護的硬體資源的軟體啟用接入的裝置和方法。一種半導體包括一套受保護的硬體資源,其中至少一個受保護的硬體資源存儲安全金鑰。該半導體還包括計算內核以及用以存儲由計算內核執行的資源啟用模組的記憶體。資源啟用模組回應于與安全金鑰對應的傳輸金鑰而選擇性地啟用受保護的硬體資源。

Description

用於對受保護的硬體資源的軟體啟用接入的裝置和方法
本發明一般而言涉及半導體晶片。更具體地,本發明涉及對半導體晶片的受保護的硬體資源的軟體啟用接入。
半導體晶片典型地與一整套可用硬體資源一起銷售。在一些情況下,半導體晶片與可用硬體資源的子集一起銷售,其中不可用資源通過某種類型的物理機制而被永久禁用。
一種半導體晶片,包括一套受保護的硬體資源,其中至少一個受保護的硬體資源存儲安全金鑰。該半導體晶片還包括計算內核和用以存儲由計算內核執行的資源啟用模組的記憶體。資源啟用模組回應于與安全金鑰對應的傳輸金鑰而選擇性地啟用受保護的硬體資源。
一種電腦,包括與金鑰分發模組通信的網路介面電路。半導體晶片被耦合到網路介面電路。該半導體晶片包括一套受保護的硬體資源,其中至少一個受保護的硬體資源存儲安全金鑰。該半導體晶片進一步包括計算內核和用以存儲由計算內核執行的資源啟用模組的記憶體。資源啟用模組回應於來自金鑰分發模組的與安全金鑰對應的傳輸金鑰而選擇性地啟用受保護的硬體資源。
100‧‧‧半導體晶片
102_1-102_N‧‧‧硬體資源
104‧‧‧安全啟用值
106‧‧‧資源啟用模
108‧‧‧計算內核
110‧‧‧硬體資源
112‧‧‧比較器
200-210‧‧‧步驟
300‧‧‧系統
302‧‧‧第一機器
304‧‧‧第二機器
306‧‧‧網路介面電路
310‧‧‧中央處理單元
312‧‧‧輸入/輸出設備
314‧‧‧匯流排
316‧‧‧網路介面電路
320‧‧‧記憶體
322‧‧‧金鑰分發模組
332‧‧‧輸入/輸出設備
334‧‧‧匯流排
336‧‧‧網路介面電路
340‧‧‧記憶體
342‧‧‧軟體模組
連同附圖結合下文的詳細描述可更加充分地理解本 發明,其中:第一圖示出一個具有對受保護硬體資源的軟體啟用接入的半導體晶片。
第二圖示出根據本發明的一個實施例的處理操作。
第三圖示出併入具有受保護硬體資源的半導體晶片的一個系統。
貫穿附圖的多個視圖,同樣的附圖標記指代對應的部分。
第一圖示出根據本發明的一個實施例配置的半導體晶片100。該半導體晶片100包括一套受保護的硬體資源102_1至102_N。每一個受保護的硬體資源都是離散的計算資源,比如處理核、加密塊、數位訊號處理器、圖形處理器諸如此類。每一個受保護的硬體資源102存儲安全啟用值104。例如,安全啟用值104可以是在製造半導體晶片100時安全寫入和存儲的金鑰。受保護的硬體資源僅在半導體晶片100接收到對應于安全金鑰的傳輸金鑰時被啟用。
在一個實施例中,半導體晶片100包括存儲資源啟用模組106的記憶體。資源啟用模組106包含用以實施本發明的操作的可執行指令。計算內核108執行資源啟用模組106。計算內核108可實現為可操作用於啟用和監督受保護的硬體資源的精簡計算核。
在一個實施例中,在計算內核108上運行的資源啟用模組106接收傳輸金鑰並將其寫入受保護硬體資源110的啟用寄存器110。如果傳輸金鑰與安全金鑰相對應,則從比較器112向在計算內核108上執行的資源啟用模組106提供指示。
參考第二圖更充分地理解這些操作。第二圖示出與資 源啟用模組106的一個實施例相關聯的處理操作。在步驟200測試金鑰匹配。如果金鑰匹配不存在,那麼步驟202拒絕對受保護的硬體資源的接入。如果金鑰匹配存在,那麼本發明的實施例允許完全接入受保護的硬體資源。然而,在替代實施例中,如第二圖示出,在步驟204測試附加條件。如果該條件不被滿足,那麼步驟202拒絕對受保護的資源的接入。可測試任意數量的條件。例如,該條件可以是時間窗。換言之,該條件可規定受保護的硬體資源僅可在由開始時間和結束時間定義的時間窗內被接入。另一個條件可以為地理位置參數。例如,半導體晶片100可具有GPS模組,其傳輸地理位置參數,該地理位置參數與所允許的地理位置參數進行比較。 可替選地,半導體晶片100可通過經WHOIS服務查找互聯網協定位址以獲取物理位址來接入地理位置資訊,該地理位置資訊可與所允許的位址位置區域進行比較。
如果滿足條件,則可提供對受保護的硬體資源的完全 接入。然而,如第二圖示出,在步驟206中可以應用用於操作限制的附加測試。操作限制可涉及半導體晶片的任何數量的指令引數。 如果沒有操作限制,那麼步驟210提供對受保護的硬體資源的完全接入。如果操作限制適用,那麼步驟208提供對受保護的硬體資源的限制接入。限制接入可以是調整半導體晶片的物理參數的形式。 例如,可以調整半導體晶片所支援的服務品質、週期頻率或功率消耗。限制可以是永久限制(例如,設置的週期頻率)或結合對資源的拒絕接入(例如規定數量的允許週期,其後資源禁用)的非永久限制的形式。可替選地,可以選通允許的軟體應用。例如,僅規定的應用程式可被允許執行或可對虛擬機器的實例的數量進行限制。
第二圖的處理可以用很多方式更改。例如,資源啟用 可單獨基於金鑰匹配。可替選地,資源啟用可基於金鑰匹配和操作限制測試206,而不是條件限制測試204。
第三圖示出根據本發明的一個實施例配置的系統 300。該系統300包含通過網路306互連的第一機器302和第二機器304,該網路306可為任意有線或無線網路或兩者的結合。第一機器302包含標準元件,比如通過匯流排314連接至輸入/輸出設備312的中央處理單元310。輸入/輸出設備312可包括鍵盤、滑鼠、顯示器諸如此類。網路介面電路316也可連接至匯流排314。記憶體320也連接至匯流排314。記憶體320存儲金鑰分發模組322。 金鑰分發模組322存儲與由所製造的受保護硬體資源102所存儲的安全啟用值相對應的金鑰。因此,晶片製造商可控制機器302和選擇性傳輸允許受保護的硬體資源被解鎖的金鑰值。
第二機器304包括結合第一圖討論的那種類型的半 導體晶片100。半導體晶片100可通過匯流排334連接至輸入/輸出設備332。網路介面電路336連接至匯流排334。網路介面電路從金鑰分發模組322接收傳輸金鑰。記憶體340也連接至匯流排334。 記憶體340存儲一個或多個軟體模組342。軟體模組342由晶片100根據晶片100上已解鎖的受保護硬體資源執行。
因此,本發明提供受保護的硬體資源的增量控制。那 些硬體資源可通過與安全啟用值匹配的傳輸金鑰來啟動。然而,被啟動的資源可具有隨附限制,比如基於時間的限制、執行限制諸如此類。以此方式,本發明提供計量半導體資源,其可被視為“矽服務(silicon as a service)”。換言之,使用者僅需支付所需的計算能力。該計算能力可帶限制或不帶限制地靈活傳輸。這種方法對於半導體製造商是有利的,因為可製造單一裸片且可提供靈活的定價選擇。
本發明的一個實施例涉及一種具有非瞬態電腦可讀 存儲介質的電腦存儲產品,其上具有電腦代碼以實現各種各樣的電腦執行的操作。介質和電腦代碼可以是那些專門為本發明的目的設計和搭建的,或者它們可以是眾所周知的種類且可為那些電腦軟體領域內的技術人員們所用的。電腦可讀介質的例子包括但不局限 於:磁性介質、光學介質、磁光介質和專門配置為存儲和執行程式碼的硬體裝置,比如專用積體電路(“ASIC”)、可程式設計邏輯器件(“PLD”)以及ROM與RAM器件。電腦代碼的例子包括比如由編譯器產生的機器代碼以及包含由電腦使用翻譯器執行的更高級代碼的檔。例如,本發明的一個實施例可使用JAVA®、C++或其他物件導向的程式設計語言和開發工具來實行。本發明的另一個實施例可代替機器可執行軟體指令或者與機器可執行軟體指令相結合地在硬接線的電路系統中實行。
出於說明的目的,上文的描述使用特定術語以提供對本發明的透徹理解。然而,對於本領域技術人員將顯而易見的是,並不需要特定細節以實施本發明。因此,本發明特定實施例的以上描述是出於舉例和描述的目的呈現的。它們並不旨在窮舉或者限制本發明為公開的確切形式;顯然地,鑒於以上教義,很多修改和變形都是可能的。這些實施例被選擇和描述以便於最好地解釋本發明的原理和其實踐應用,因此它們使其他本領域技術人員能夠最大程度地利用本發明,並且經過各種修改的各種實施例適合於特定的使用預期。以下的申請專利範圍和其等同物旨在限定本發明的範圍。
100‧‧‧半導體晶片
102_1-102_N‧‧‧硬體資源
104‧‧‧安全啟用值
106‧‧‧資源啟用模
108‧‧‧計算內核
110‧‧‧硬體資源
112‧‧‧比較器

Claims (16)

  1. 一種半導體晶片,包括:多個受保護的硬體資源,其中至少一個受保護的硬體資源存儲安全金鑰;計算內核;以及記憶體,用以存儲由所述計算內核執行的資源啟用模組;其中所述資源啟用模組回應於與所述安全金鑰對應的傳輸金鑰而選擇性地啟用受保護的硬體資源。
  2. 根據申請專利範圍第1項所述的半導體晶片,其中所述資源啟用模組回應於規定條件的滿足和所述傳輸金鑰的結合而選擇性地啟用所述受保護的硬體資源。
  3. 根據申請專利範圍第2項所述的半導體晶片,其中當所述規定條件不被滿足時,所述資源啟用模組拒絕對所述受保護的硬體資源的接入。
  4. 根據申請專利範圍第2項所述的半導體晶片,其中所述規定條件是時間窗。
  5. 根據申請專利範圍第2項所述的半導體晶片,其中所述規定條件是地理位置參數。
  6. 根據申請專利範圍第1項所述的半導體晶片,其中所述資源啟用模組進一步針對操作限制進行測試。
  7. 根據申請專利範圍第6項所述的半導體晶片,其中所述操作限制包括調整所述半導體晶片的功率消耗。
  8. 根據申請專利範圍第6項所述的半導體晶片,其中所述操作限制包括調整所述半導體晶片的週期頻率。
  9. 根據申請專利範圍第6項所述的半導體晶片,其中所述操作限制包括調整所述半導體晶片支援的服務品質。
  10. 根據申請專利範圍第6項所述的半導體晶片,其中所述操作限制包括選通允許的軟體應用。
  11. 根據申請專利範圍第1項所述的半導體晶片,其中每個受保護的硬體資源進一步包括啟用寄存器和比較器。
  12. 根據申請專利範圍第11項所述的半導體晶片,其中所述資源啟用模組將所述傳輸金鑰寫入所述啟用寄存器並且所述比較器選擇性地提供對所述傳輸金鑰和所述安全金鑰間的匹配的指示。
  13. 一種電腦,包括:網路介面電路,與金鑰分發模組通信;以及半導體晶片,被耦合到所述網路介面電路,其中所述半導體晶片包括:多個受保護的硬體資源,其中至少一個受保護的硬體資源存儲安全金鑰,計算內核,以及記憶體,用以存儲由所述計算內核執行的資源啟用模組,其中所述資源啟用模組回應於來自所述金鑰分發模組的與所述安全金鑰對應的傳輸金鑰而選擇性地啟用受保護的硬體資源。
  14. 根據申請專利範圍第13項所述的電腦,其中所述資源啟用模組回應於規定條件的滿足和所述傳輸金鑰的結合而選擇性地啟用所述受保護的硬體資源。
  15. 根據申請專利範圍第14項所述的電腦,其中當所述規定條件不被滿足時,所述資源啟用模組拒絕對所述受保護的硬體資源的接入。
  16. 根據申請專利範圍第13項所述的電腦,其中所述資源啟用模組進一步針對操作限制進行測試。
TW104105809A 2014-02-25 2015-02-24 用於對受保護的硬體資源的軟體啟用接入的半導體和電腦 TWI633458B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201461944505P 2014-02-25 2014-02-25
US61/944,505 2014-02-25

Publications (2)

Publication Number Publication Date
TW201543264A true TW201543264A (zh) 2015-11-16
TWI633458B TWI633458B (zh) 2018-08-21

Family

ID=53882514

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104105809A TWI633458B (zh) 2014-02-25 2015-02-24 用於對受保護的硬體資源的軟體啟用接入的半導體和電腦

Country Status (4)

Country Link
US (1) US9729320B2 (zh)
CN (1) CN104899502B (zh)
HK (1) HK1210841A1 (zh)
TW (1) TWI633458B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10171370B1 (en) * 2014-05-30 2019-01-01 Amazon Technologies, Inc. Distribution operating system
KR20200093363A (ko) * 2019-01-28 2020-08-05 에스케이하이닉스 주식회사 메모리 시스템
US20210141940A1 (en) * 2019-11-13 2021-05-13 Sensoriant, Inc. Method and system for enhancing the integrity of computing with shared data and algorithms

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2626095B1 (fr) * 1988-01-20 1991-08-30 Sgs Thomson Microelectronics Systeme de securite pour proteger des zones de programmation d'une carte a puce
US5058164A (en) * 1990-05-03 1991-10-15 National Semiconductor Corp. Encryption of streams of addressed information to be used for program code protection
DE69528449T2 (de) * 1995-05-18 2003-07-03 Hewlett Packard Co Integrierte Halbleiterschaltungsanordnung zum Schutz mehrerer Hilfsmittel in einer elektronischen Einheit
US7005733B2 (en) * 1999-12-30 2006-02-28 Koemmerling Oliver Anti tamper encapsulation for an integrated circuit
US6654909B1 (en) * 2000-06-30 2003-11-25 Intel Corporation Apparatus and method for protecting critical resources against soft errors in high performance microprocessors
US7380130B2 (en) * 2001-12-04 2008-05-27 Microsoft Corporation Methods and systems for authentication of components in a graphics system
US7337314B2 (en) * 2003-04-12 2008-02-26 Cavium Networks, Inc. Apparatus and method for allocating resources within a security processor
US7493488B2 (en) * 2003-07-24 2009-02-17 International Business Machines Corporation Method to disable on/off capacity in demand
JP4064914B2 (ja) * 2003-12-02 2008-03-19 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、サーバ装置、情報処理装置のための方法、サーバ装置のための方法および装置実行可能なプログラム
US20050257016A1 (en) * 2004-05-17 2005-11-17 Brian Boles Digital signal controller secure memory partitioning
US7873830B2 (en) * 2006-01-13 2011-01-18 International Business Machines Corporation Methods for coordinating access to memory from at least two cryptography secure processing units
US7613915B2 (en) * 2006-11-09 2009-11-03 BroadOn Communications Corp Method for programming on-chip non-volatile memory in a secure processor, and a device so programmed
TWM330581U (en) * 2007-08-15 2008-04-11 Wistron Corp Electronic device
US20090158011A1 (en) * 2007-12-14 2009-06-18 Infineon Technologies Ag Data processing system
CN102272768B (zh) * 2009-01-05 2015-07-08 飞思卡尔半导体公司 用于允许对存储器元件的存取的方法、系统和集成电路
US8455990B2 (en) * 2009-02-25 2013-06-04 Conexant Systems, Inc. Systems and methods of tamper proof packaging of a semiconductor device
US9734496B2 (en) * 2009-05-29 2017-08-15 Paypal, Inc. Trusted remote attestation agent (TRAA)
US8732806B2 (en) * 2009-09-14 2014-05-20 Broadcom Corporation Method and system for hardware enforced virtualization in an integrated circuit
US8356194B2 (en) * 2010-01-28 2013-01-15 Cavium, Inc. Method and apparatus for estimating overshoot power after estimating power of executing events
US8544106B2 (en) 2010-08-01 2013-09-24 Cavium, Inc. System and method for enabling access to a protected hardware resource
US9413538B2 (en) * 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
TWM458435U (zh) * 2012-07-11 2013-08-01 Tai-Lin Lu 電子鑰匙之保護和被保護固鎖系統
US9384153B2 (en) * 2012-08-31 2016-07-05 Freescale Semiconductor, Inc. Virtualized local storage
US8925098B2 (en) * 2012-11-15 2014-12-30 Elwha Llc Data security and access tracking in memory

Also Published As

Publication number Publication date
CN104899502B (zh) 2020-06-23
US9729320B2 (en) 2017-08-08
HK1210841A1 (zh) 2016-05-06
TWI633458B (zh) 2018-08-21
CN111666557A (zh) 2020-09-15
US20150242655A1 (en) 2015-08-27
CN104899502A (zh) 2015-09-09

Similar Documents

Publication Publication Date Title
US11757647B2 (en) Key protection for computing platform
US11664994B2 (en) Secure unlock systems for locked devices
CN104160403B (zh) 使用单个可信平台模块测量平台部件
TWI632483B (zh) 安全裝置及在其內提供安全服務至主機的方法、安全設備以及電腦軟體產品
US11809544B2 (en) Remote attestation for multi-core processor
US10129036B2 (en) Post-processing mechanism for physically unclonable functions
US10116666B2 (en) Secure debug trace messages for production authenticated code modules
CN107003871B (zh) 用于使用预引导更新机制来提供硬件订阅模式的技术
US20160180095A1 (en) Measured boot capability
US9633196B2 (en) Electronic system, electronic apparatus and access authentication method thereof
WO2015047779A1 (en) Creating secure original equipment manufacturer (oem) identification
CN112149144A (zh) 聚合密码引擎
TWI633458B (zh) 用於對受保護的硬體資源的軟體啟用接入的半導體和電腦
CN114329644B (zh) 对逻辑系统设计进行加密仿真的方法、设备及存储介质
EP2863329A1 (en) Establishing physical locality between secure execution environments
US20190004788A1 (en) Secure microcode update
US20190004112A1 (en) In-Field System Testing
CN111666557B (zh) 用于对受保护的硬件资源的软件启用接入的装置和方法
JP6284301B2 (ja) 保守作業判定装置および保守作業判定方法
US20230078138A1 (en) Computing systems employing measurement of boot components, such as prior to trusted platform module (tpm) availability, for enhanced boot security, and related methods
TW202240406A (zh) 唯讀記憶體(rom)安全性
TW202240591A (zh) 唯讀記憶體(rom)安全性
CN117909980A (zh) 一种启动验证方法及相关装置