TWI763379B - 安全積體電路晶片裝置及其保護其方法 - Google Patents
安全積體電路晶片裝置及其保護其方法 Download PDFInfo
- Publication number
- TWI763379B TWI763379B TW110109503A TW110109503A TWI763379B TW I763379 B TWI763379 B TW I763379B TW 110109503 A TW110109503 A TW 110109503A TW 110109503 A TW110109503 A TW 110109503A TW I763379 B TWI763379 B TW I763379B
- Authority
- TW
- Taiwan
- Prior art keywords
- value
- random number
- chip
- hsm
- way function
- Prior art date
Links
Images
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/77—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 smart cards
-
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2103—Challenge-response
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Abstract
在一實施例中,安全晶片裝置包括記憶體,用來儲存加密值E和單向函數輸出值H,上述單向函數輸出值H是以隨機數N輸入單向函數進行計算所得的輸出值:介面,用於與外部裝置傳輸資料;以及晶片安全電路,用於鎖定晶片裝置的一部分以防止使用,藉由介面接收來自解鎖硬體安全模組(Hardware Security Module , HSM)的解鎖要求,提供加密值E到HSM,以回應解鎖要求,接收來自解鎖HSM的值N',上述值N'是加密值E的解密值,根據值N'計算單向函數輸出值H',比較值H'和值H,以及當值H'匹配值H,解鎖晶片裝置的該部分以供使用。
Description
本發明與積體電路晶片有關,特別是但不限於晶片解鎖。
積體電路(Integrated Circuit, IC)製造的高成本導致大量地將IC晶片製造外包給第三方。研究已顯示外包可能造成各樣的風險,例如,安全風險(例如,對裝置進行篡改,包括在晶片中添加惡意硬體模組),為他人非法製造晶片以及在某些情況下竊取IC晶片設計。各樣的方法已被引進來減輕這些風險。
例如,可以藉由利用佈局偽裝來減輕風險,該偽裝會改變晶片的外觀,以混淆IC晶片的設計資訊。
藉由另一示例,邏輯鎖定可使用專門鎖定電路來補充現有晶片設計,上述專門鎖定電路與現有單元緊密相連並經由金鑰來影響IC功能,該金鑰由晶片供應商或晶片所有者(例如,晶片設計者或智慧財產權所有者)持有。當提供正確的金鑰時,IC晶片或其一部分將解鎖並準備使用。 因此,晶片只能由晶片所有者或供應商解鎖。
鎖定晶片還有其他原因。 例如,在某些應用上,可鎖定晶片的除錯介面,以防止客戶和其他第三方存取除錯介面。 晶片所有者或供應商可能具有安全地解鎖除錯介面的能力,以處理客戶退還的晶片或測試晶片,作為後期生產質量保證的一部分。
邏輯鎖定的一示例已被描述在Roy等人的美國專利公開2010/0287374,該文件描述藉由對裝置上的匯流排進行加密/解密來鎖定和解鎖基於積體電路(Integrated Circuit, IC)裝置的技術。該匯流排可以是該IC的系統匯流排,在該IC中的匯流排,或外部的輸入/輸出匯流排。分享秘密協議被用在IC設計者和製造該IC的製造設施之間。在製造設施的該IC,藉由使用從IC設計者接收到的獨特識別資料所產生的加密密鑰,拌碼該IC上的匯流排。該IC的匯流排被加密密鑰鎖住後,只有該IC設計者可以決定以及溝通所需的適當的啟動密鑰,以解鎖(例如,非拌碼)該匯流排,從而使該積體電路可用。
Roy等人的美國專利公開2010/0287374描述了利用組合電路鎖定系統和基於公開金鑰密碼學的活化協議來降低積體電路設計的盜版可能性之技術。 每個積體電路由一個外部金鑰活化,上述金鑰只能由驗證者產生,例如,電路設計者。 在電路設計期間,IC設計的暫存器傳輸層級(Register Transfer Level, RTL)之描述被嵌入到基於組合邏輯的主金鑰上,上述主金鑰由驗證者實施。 組合邏輯至少提供了一已鎖定的RTL描述的模組,例如,加密的。 來自驗證者的完整電路設計以組合邏輯鎖定模組的形式,被送至製造實驗室。 在製造後,僅當認證者發送適當的金鑰時才能活化電路,上述金鑰藉由電路解鎖鎖定部分,以及活化其電路。
Ghosh等人的美國專利申請2017/0180131描述了用於安全解鎖以存取除錯硬體的系統和技術。可在裝置的硬體除錯存取埠接收加密金鑰。 可從裝置的解鎖單元上的加密金鑰以計算摘要。 可從裝置上的非揮發唯讀儲存器接收保險絲值。可將摘要和保險絲值進行比較以確定它們是否一樣。 可提供通過失敗脈衝以表示比較結果。
Case等人的美國專利8,332,641描述了一種積體電路(Integrated Circuit, IC)裝置,上述積體電路裝置在第一方的指示下被配置為藉由第一方的驗證能夠暫時地存取IC裝置的除錯介面,上述第一方利用IC裝置的金鑰和在IC裝置上所產生的挑戰值的挑戰/回應過程進行驗證。之後,第一方可由除錯介面執行IC裝置上的軟體評估。在驗證時第一方可永久地開放除錯介面的存取,並提供IC裝置給第二方,以回應無法從軟體評估中識別出IC裝置的問題。 在第二方的指示下,藉由除錯介面執行IC裝置的硬體評估,上述除錯介面被第一方永久地開放。
根據本揭露之其他實施例,提供一種安全積體電路晶片裝置,包括記憶體,被配置為儲存僅被使用一次的隨機數(number used once:nonce;以下簡稱為“隨機數”)N的加密值E和單向函數輸出值H,上述單向函數輸出值H是以隨機數N輸入單向函數進行計算所得的輸出值:介面,被配置為與外部裝置傳輸資料,以及晶片安全電路,被配置為鎖定IC晶片裝置的一部分以防止使用,藉由介面接收來自解鎖硬體安全模(Hardware Security Module, HSM)的解鎖要求,藉由回應解鎖要求的介面提供加密值E到HSM,接收來自解鎖HSM的值N',上述值N'是加密值E的解密值,根據值N'計算單向函數輸出值H',比較單向函數輸出值H'與單向函數輸出值H,以及當值H'匹配值H,解鎖IC晶片裝置的該部分以供使用。
進一步,根據本揭露之實施例,裝置包括隨機數產生器,以產生隨機數N,以及晶片安全電路,被配置為提供隨機數N到安全設定HSM,接收來自安全設定HSM的加密值E和單向函數輸出值H,以及刪除隨機數N。
進一步,根據本揭露之實施例,裝置包括隨機數產生器,以產生隨機數N,以及晶片安全電路,被配置為計算單向函數輸出值H以回應隨機數N,提供隨機數N到安全設定HSM,接收來自安全設定HSM的加密值E,以及刪除隨機數N。
另外,根據本揭露之實施例,裝置包括隨機數產生器,以產生隨機數N,以及晶片安全電路,被配置為加密隨機數N以產生加密值E,計算單向函數輸出值H以回應隨機數值N,以及刪除隨機數N。
此外,根據本揭露之實施例,晶片安全電路被配置為接收來自安全設定HSM的加密值E和單向函數輸出值H。
進一步,根據本揭露之實施例,IC晶片裝置的該部分包括除錯介面。
據本揭露之其他實施例,提供一種安全積體電路晶片方法,包括執行晶片安全設定過程,上述過程包括儲存隨機數N的加密值E和單向函數輸出值H,上述單向函數輸出值H是以隨機數N輸入單向函數進行計算所得的輸出值,且存在IC晶片裝置的記憶體中,以及鎖定IC晶片裝置的一部分以防止使用,以及藉由IC晶片裝置執行解鎖過程,上述過程包括藉由介面接收來自解鎖硬體安全模組(Hardware Security Module, HSM)的解鎖要求,藉由回應解鎖要求的介面提供加密值E到HSM,接收來自解鎖HSM的值N',上述值N'是加密值E的解密值,根據值N'計算單向函數輸出值H',比較單向函數輸出值H'與單向函數輸出值H,以及當值H'匹配值H,解鎖IC晶片裝置的該部分以供使用。
進一步,根據本揭露之實施例,晶片安全設定過程更包括IC晶片裝置隨機地產生隨機數N,提供隨機數N到安全設定HSM,接收來自安全設定HSM的加密值E和單向函數輸出值H,以及刪除隨機數N。
另外,根據本揭露之實施例,晶片安全設定過程更包括IC晶片裝置隨機地產生隨機數N,計算單向函數輸出值H以回應隨機數值N,提供隨機數N到安全設定HSM,接收來自安全設定HSM的加密值E,以及刪除隨機數N。
此外,根據本揭露之實施例,晶片安全設定過程更包括IC晶片裝置隨機地產生隨機數N,加密隨機數N以產生加密值E,計算單向函數輸出值H以回應隨機數值N,以及刪除隨機數N。
另外,根據本揭露之實施例,晶片安全設定過程更包括IC晶片裝置接收來自安全設定HSM的加密值E和單向函數輸出值H。
根據本揭露之其他實施例,提供一種安全積體電路晶片方法,包括執行晶片安全設定過程,上述過程包括儲存加密值E和單向函數輸出值H,上述輸出值H是以隨機數N輸入單向函數進行計算所得的輸出值,且存在IC晶片裝置的記憶體中,以及鎖定IC晶片裝置的一部分以防止使用,以及執行解鎖過程,上述過程包括藉由解鎖硬體安全模組(Hardware Security Module, HSM)產生解鎖要求,藉由IC晶片裝置提供已儲存的加密值E到HSM以回應解鎖要求,藉由HSM產生的值N'解密加密值E,藉由HSM提供值N'到IC晶片裝置,藉由IC晶片裝置計算單向函數輸出值H'以回應值N',藉由IC晶片裝置比較單向函數輸出值H'與已儲存的單向函數輸出值H,以及藉由IC晶片裝置,解鎖IC晶片裝置的該部分以供使用,以回應在值H'和值H之間的匹配。
進一步,根據本揭露之實施例,晶片安全設定過程更包括藉由IC晶片裝置隨機地產生隨機數N,藉由IC晶片裝置提供隨機數N到安全設定HSM,藉由安全設定HSM,各自地加密隨機數N和以隨機數N輸入單向函數進行計算,以產生加密值E和單向函數輸出值H,提供加密值E和單向函數輸出值H到IC晶片裝置,以及刪除來自IC晶片裝置的隨機數N。
另外,根據本揭露之實施例,加密包括加密隨機數N以回應解鎖HSM的公開金鑰,以及解密包括解密加密值E以回應解鎖HSM的私密金鑰。
此外,根據本揭露之實施例,晶片安全設定過程更包括藉由IC晶片裝置隨機地產生隨機數N,藉由IC晶片裝置計算單向函數輸出值H以回應隨機數值N,藉由IC晶片裝置提供隨機數N到安全設定HSM,藉由安全設定HSM加密隨機數N以產生加密值E,提供加密值E到IC晶片裝置,以及刪除來自IC晶片裝置的隨機數N。
進一步,根據本揭露之實施例,加密包括加密隨機數N以回應解鎖HSM的公開金鑰,以及解密包括解密加密值E以回應解鎖HSM的私密金鑰。
進一步,根據本揭露之實施例,晶片安全設定過程更包括藉由安全設定HSM,各自地加密隨機數N和以隨機數N輸入單向函數進行計算,以產生加密值E和單向函數輸出值H,以及提供加密值E和單向函數輸出值H到IC晶片裝置。
另外,根據本揭露之實施例,加密包括加密隨機數N以回應解鎖HSM的公開金鑰,以及解密包括解密加密值E以回應解鎖HSM的私密金鑰。
另外,根據本揭露之實施例,晶片安全設定過程更包括藉由IC晶片裝置執行隨機地產生藉由IC晶片裝置的隨機數N,加密隨機數N以產生加密值E,以隨機數N輸入單向函數進行計算,產生單向函數輸出值H,以及刪除來自IC晶片裝置的隨機數N。
進一步,根據本揭露之實施例,加密包括加密隨機數N以回應解鎖HSM的公開金鑰,以及解密包括解密加密值E以回應解鎖HSM的私密金鑰。
[概述]
如前所述,邏輯鎖定可使用專門鎖定電路來補充現有晶片設計,上述專門鎖定電路與現有單元緊密相連並經由金鑰來影響IC功能,該金鑰由晶片所有者持有。當提供正確的金鑰時,IC或其一部分將解鎖並可以使用。
提供用於秘密金鑰解鎖的鎖定邏輯的成功取決於秘密金鑰的安全性。當IC晶片儲存秘密金鑰時,鎖定邏輯的安全性可由搜索秘密金鑰的駭客所組成。
上述問題的一種解決方法不是儲存秘密金鑰,而是儲存秘密金鑰的函數值。 之後,可向IC晶片提供秘密金鑰,然後藉由函數對上述秘密金鑰處理,從而產生與儲存值比較的結果。 當結果和儲存值匹配時,可解鎖IC晶片邏輯。
上述解決方法要求晶片所有者或供應商(例如,設計者或智慧財產權所有者)對所有IC晶片使用相同的秘密金鑰,或者使用IC晶片(例如,藉由晶片ID)連結到IC晶片的各別的秘密金鑰的查詢表。在所有晶片上具有相同的秘密金鑰有潛在的安全風險,因一旦知道金鑰,所有晶片都可能被非法地解鎖。 維護查詢表可能會很麻煩,並且會帶來自身的安全風險。
藉由儲存在每個IC晶片上的二個值,本發明之實施例解決上述問題。一個值是隨機數(nonce)N的密碼雜湊值H,另一個值是隨機數N的加密值E。基於IC晶片所有者或供應商持有的密鑰(基於對稱或非對稱加密),加密值E可被加密。在有些實施例中,在生產期間可將值E和值H添加到每個晶片,例如,藉由IC晶片所有者的安全設定(security-setup)硬體安全模組(Hardware Security Module, HSM)。在有些實施例中,隨機數N可由每個晶片提供給HSM。 在其他實施例中,雜湊值H及/或加密值E可由每個晶片計算,例如,當IC晶片接收解鎖要求時。晶片或其部分保持鎖定,直到與隨機數N相匹配的值提供給晶片為止,將如下更詳細描述。
可以解鎖晶片以用於一般用途或特定用途,例如除錯或測試晶片,作為後期生產質量保證的一部分。 在有些實施例中,在晶片運送到客戶之前,晶片可能出於某些目的,例如,除錯,而被重新鎖定,但是會為了晶片的其他一般用途而將其解鎖。 當晶片由客戶退還給晶片供應商時,晶片供應商可解鎖晶片,例如,除錯。 一旦晶片已經被解鎖,晶片可能會在特定逾時後自動地重新鎖定,或者晶片可能需要由HSM手動地重新鎖定。
在有些實施例中,對隨機數執行密碼雜湊所產生的密碼雜湊值H,可被以隨機數或其他值輸入單向函數(不一定需要密碼雜湊函數)進行計算以產生單向函數輸出值(不一定需要雜湊值)所取代。當IC晶片所有者的解鎖(unlocking)硬體安全模組(Hardware Security Module, HSM)要求IC晶片解鎖時,上述IC晶片提供各別的加密值E到HSM。 HSM解密加密值E,產生值N'。 值N'由HSM傳送到晶片,上述晶片執行N'的密碼雜湊以產生值H',比較雜湊值H'和儲存的雜湊值H,以及當在H和H'之間存在匹配時,解鎖IC晶片。
在上述方法中,可基於未直接存在晶片中且沒有HSM的秘密(例如,隨機數N),來解鎖晶片。上述HSM為必須儲存秘密因為在晶片上的加密值E以安全的方式提供秘密到解鎖HSM。因此,晶片提供獨立的安全性,因為HSM不需要查詢表,上述查詢表是IC晶片(例如,藉由晶片ID)連結到IC晶片各別的秘密金鑰。
儲存在IC晶片中的加密值和雜湊值是典型地受到保護的。雜湊值是受到保護免於竄改,因試圖改變雜湊值可導致駭侵各別的IC晶片。加密值一般地免於被清除或被竄改,如同沒有正確的加密值,各別的IC晶片可以防止解鎖,甚至是合法的解鎖嘗試。
雖然相同的隨機數N可用在每個晶片,但在每個晶片中使用不同的、典型地隨機產生的隨機數N可提高安全性。以此方法,當解鎖HSM不需儲存秘密時,可使用不同的秘密解鎖每個晶片,上述不同的秘密不需存在每個各別的晶片上。解鎖HSM僅儲存相關的解密金鑰以解密不同的加密值E。在有些實施例中,基於相同的隨機數N,可保護一個以上的晶片。
在有些實施例中,每個隨機數N由對稱加密和一般密碼金鑰執行加密和解密。在有些實施例中,金鑰可以為某些晶片特定資料的函數,例如,晶片ID。
在其他實施例中,使用非對稱密碼學,其中使用解鎖HSM的公開金鑰加密每個隨機數N,以及由上述解鎖HSM使用其私密金鑰進行解密。
在本說明書和專利範圍中,互換地所用之術語“拌碼”和“加密”以其所有語法形式,為用於拌碼及/或加密資料的任何適當的拌碼及/或加密方法,及/或用於嘗試使資料難以理解的任何其他適當方法,但預期的接收者除外。 已知的拌碼或加密類型包括但不限於DES(Data Encryption Standard),3DES(Triple DES),RSA (Rivest–Shamir–Adleman),以及AES(Advanced Encryption Standard, AES)。 相似地,在本說明書和專利範圍中,所使用的術語“解拌的”和“解密的”以其所有語法形式,為術語“拌碼的”和“加密的” 以其所有語法形式的反義詞。
[系統描述]
如上所述,每個晶片IC儲存加密值E和密碼雜湊值H,上述這些值在每個各別的IC晶片的解鎖期間使用。參照第1圖至第8圖,以下描述了不同的實施例,以產生用於儲存在IC晶片上的值E和值H。參照第1圖至第6圖所述的實施例使用外部的硬體安全模組(Hardware Security Module, HSM)以產生值E和可選擇的值H。參照第7圖至第8圖所述的實施例描述IC晶片不須外部HSM的幫忙即可產生值E和值H。參照第9圖至第10圖所述的實施例描述利用先前儲存在IC晶片中的值E和值H的鎖解過程。
現在參照於第1圖,第1圖係為根據本發明之實施例,闡述建立和執行之積體電路(Integrated Circuit, IC)晶片安全設定系統10之部分的方塊圖。
IC晶片安全設定系統10包括安全設定硬體安全模組 (Hardware Security Module, HSM) 14,上述安全設定HSM是典型地但非必要位於晶片製造商(未表示),以及通常被適當地保護以防篡改。安全設定HSM 14通常由IC晶片供應商或所有者(例如,IC晶片設計者及/或智慧財產權所有者)維護和執行。IC晶片安全設定系統10可儲存一或多個開機金鑰(root keys),上述開機金鑰被用來產生金鑰和簽署憑證以儲存在由晶片製造商生產的IC晶片上。安全設定HSM 14包括處理器16,介面18,雜湊電路20(或單向函數計算電路),加密引擎22,以及隨機數產生器(Random number Generator, RNG)24。處理器16被配置為執行一般處理任務,包括管理安全設定HSM 14的各個元素之間以及藉由介面18在外部裝置之間的資料傳輸。介面18配置為藉由使用任何合適的有線及/或無線通訊協議,在外部裝置(例如,IC晶片)之間傳輸資料。在有些實施例中,以下的一或多個的功能:雜湊電路20,加密引擎22和隨機數產生器24,可以合併到處理器16中。在其他實施例中,雜湊電路20,加密引擎22和隨機數產生器24可以使用一個或多個合適的處理電路單元來實現,上述處理電路單元可以是硬體連線及/或可程式化裝置。
實際上,處理器16的有些或全部功能可以組合在單一實際元件中,或可替代地,使用多個實際元件來實現。 這些實際元件可以包括硬佈線(hard-wired)或可程式化裝置,或兩者的結合。 在有些實施例中,處理器16的至少有些功能可以在適當的軟體的控制下藉由可程式化處理器實現。 例如,上述軟體可藉由網絡以電子形式下載到裝置。 替代地,或另外地,軟體可以儲存在有形的,非暫態電腦可讀取之儲存媒體中,例如光學、磁性、或電子記憶體。
第1圖顯示安全積體電路(IC)晶片裝置26。IC晶片裝置26包括記憶體28;介面30,被配置為與外部裝置(例如,安全設定HSM 14) 傳輸資料;晶片安全電路32;以及IC晶片裝置26的受保護部分34。介面30可被配置為藉由有線及/或無線通訊協議,與安全設定HSM 14傳輸資料。在有些實施例中,介面30是包括與安全設定HSM 14間接介面的硬體及/或軟體層的間接介面。例如,例如,外部軟體(例如,動態連結程式庫(Dynamic-link library, DLL))可與HSM 14通訊,並執行安全功能。晶片安全電路32包括雜湊電路36(或單項函數計算電路)以計算密碼雜湊。受保護部分34可包括除錯介面(例如,除錯硬體),上述除錯介面在後期生產測試及/或處理客戶退還IC晶片裝置26期間,可被解鎖。
實際上,晶片安全電路32的有些或全部功能可以組合在單一實際元件中,或可替代地,使用多個實際元件來實現。 這些實際元件可以包括硬體連線或可程式化裝置,或兩者的結合。 在有些實施例中,晶片安全電路32的至少有些功能可以在適當的軟體的控制下藉由可程式化處理器實現。 例如,上述軟體可藉由網路以電子形式下載到裝置。 替代地,或另外地,軟體可以儲存在有形的,非暫態電腦可讀取之儲存媒體中,例如光學、磁性、或電子記憶體。
參照於第1圖和第2圖,現在描述晶片安全設定過程。第2圖是流程圖50,上述流程圖50包括第1圖的系統10的執行方法的步驟。在第2圖的左側表示藉由安全設定HSM 14所執行的步驟,然而在第2圖的右側表示藉由IC晶片裝置26所執行的步驟。
安全設定HSM 14的隨機數產生器24被配置為選擇地隨機產生(方塊52)隨機數N。安全設定HSM 14的加密引擎22被配置為加密(方塊54) 隨機數N以產生加密值E。在有些實施例中,加密引擎22被配置為藉由使用基於秘密金鑰的對稱加密,加密隨機數N。在其他實施例中,加密引擎22被配置為加密隨機數N以回應鎖解HSM的公開金鑰,上述參照於第9圖和地10圖將更詳細地描述。
安全設定HSM 14的雜湊電路20被配置為計算(方塊56)隨機數N的密碼雜湊以產生密碼雜湊值H。雜湊電路20可使用任何合適的密碼雜湊演算法,例如但非限於MD5(MD5 Message-Digest Algorithm),SHA-1(Secure Hash Algorithm 1), SHA-2(Secure Hash Algorithm 2),或SHA-3(Secure Hash Algorithm 3)。
在有些實施例中,對隨機數執行密碼雜湊以產生密碼雜湊值H,上述密碼雜湊值H可被以隨機數或其他值輸入計算單向函數(不一定需要密碼雜湊函數)進行計算以產生單向函數輸出值(不一定需要雜湊值)所取代。
安全設定HSM 14的處理器16被配置為藉由安全設定HSM 14的介面18,提供(方塊58)加密值E和密碼雜湊值H到IC晶片裝置26。IC晶片裝置26的晶片安全電路32被配置為藉由IC晶片裝置26的介面30,接收(方塊60)來自安全設定HSM 14的介面18的加密值E和密碼雜湊值H。記憶體28被配置為儲存(方塊62)加密值E和密碼雜湊值H。記憶體可包括一次性可程式化(one-time programmable, OTP)記憶體或非揮發性記憶體,例如,典型為防止竄改的快閃記憶體。
晶片安全電路32被配置為鎖定(方塊64)IC晶片裝置26的受保護部分34以防止使用。晶片安全電路32可以在執行方塊52~62的步驟之後或在方塊52~64的步驟之前鎖定受保護部分34,例如,在鎖定狀態可製造IC晶片裝置26。在說明書和專利範圍中所使用之術語“解鎖”被定義為包括解鎖以用於受保護部分34的一般使用或解鎖以用於特定用途,例如,除錯。 在說明書和專利範圍中所使用之術語“鎖定”被定義為鎖定受保護部分34以用於所有用途或特定用途,例如。除錯。然而,即使受在保護部分34是被鎖定以用於特定用途時,受保護部分34的其他功能也可以被解鎖以供使用。
參照於第3圖和第4圖,現在描述其他的晶片安全設定過程。第3圖係為根據本發明之實施例,闡述建立和執行之第一替代積體電路(Integrated Circuit, IC)晶片安全設定系統100之部分的方塊圖。第4圖係為包括在第3圖之系統100之執行方法之步驟的流程圖150。除了以下差異之外,系統100與IC晶片安全設定系統10(第1圖)基本上相同。
在第4圖的左側表示藉由安全設定HSM 14所執行的步驟,然而在第4圖的右側表示藉由IC晶片裝置26所執行的步驟。第3圖之IC晶片裝置26的晶片安全電路32也包括隨機數產生器37。
IC晶片裝置26的隨機數產生器37被配置為隨機地產生(方塊152)隨機數N。IC晶片裝置26的雜湊電路36被配置為計算(方塊154)密碼雜湊值H以回應隨機數N(亦即,根據隨機數N計算密碼雜湊值H)。雜湊電路36可使用任何合適的密碼雜湊演算法,例如但非限於MD5(MD5 Message-Digest Algorithm),SHA-1(Secure Hash Algorithm 1), SHA-2(Secure Hash Algorithm 2),或SHA-3(Secure Hash Algorithm 3)。
IC晶片裝置26的晶片安全電路32被配置為藉由IC晶片裝置26的介面30,提供(方塊156)隨機數N到安全設定HSM 14的介面18。晶片安全電路32被配置為刪除(抹除)(方塊158)來自記憶體(例如,來自記憶體28和任何快取記憶體)的隨機數N。
安全設定HSM 14的加密引擎22被配置為加密(方塊160)隨機數N以產生加密值E。在有些實施例中,加密引擎22被配置為藉由使用基於秘密金鑰的對稱加密,加密隨機數N。在其他實施例中,加密引擎22被配置為加密隨機數N以回應鎖解HSM的公開金鑰,上述參照於第9圖和地10圖將更詳細地描述。
安全設定HSM 14的處理器16被配置為藉由安全設定HSM 14的介面18,提供(方塊162)加密值E到IC晶片裝置26。IC晶片裝置26的晶片安全電路32被配置為藉由IC晶片裝置26的介面30,接收(方塊164)來自安全設定HSM 14的介面18的加密值E。
記憶體28被配置為儲存(方塊166)加密值E和密碼雜湊值H。晶片安全電路32被配置為鎖定(方塊168)IC晶片裝置26的受保護部分34以防止使用。晶片安全電路32可以在執行方塊152~166的步驟之後或在方塊152~166的步驟之前鎖定受保護部分34,例如,在鎖定狀態可製造IC晶片裝置26。
參照於第5圖和第6圖,現在描述其他的晶片安全設定過程。第5圖係為根據本發明之實施例,闡述建立和執行之第二替代積體電路(Integrated Circuit, IC)晶片安全設定系統200之部分的方塊圖。第6圖係為包括在第5圖之系統200之執行方法之步驟的流程圖250。除了以下差異之外,系統200與IC晶片安全設定系統10(第1圖)基本上相同。
在第6圖的左側表示藉由安全設定HSM 14所執行的步驟,然而在第6圖的右側表示藉由IC晶片裝置26所執行的步驟。第5圖之IC晶片裝置26的晶片安全電路32也包括隨機數產生器37。
隨機數產生器37被配置為隨機地產生(方塊252)隨機數N。IC晶片裝置26的晶片安全電路32被配置為藉由IC晶片裝置26的介面30,提供(方塊254)隨機數N到安全設定HSM 14的介面18。晶片安全電路32被配置為刪除(抹除)(方塊256)來自記憶體(例如,來自記憶體28和任何快取記憶體)的隨機數N。
安全設定HSM 14的加密引擎22被配置為加密(方塊258)隨機數N以產生加密值E。在有些實施例中,加密引擎22被配置為藉由使用基於秘密金鑰的對稱加密,加密隨機數N。在其他實施例中,加密引擎22被配置為加密隨機數N以回應鎖解HSM的公開金鑰,上述參照於第9圖和地10圖將更詳細地描述。
安全設定HSM 14的被配置為計算(方塊260)隨機數N的密碼雜湊以產生密碼雜湊值H。
安全設定HSM 14的處理器16被配置為藉由安全設定HSM 14的介面18,提供(方塊262)加密值E和密碼雜湊值H到IC晶片裝置26。IC晶片裝置26的晶片安全電路32被配置為藉由IC晶片裝置26的介面30,接收(方塊264)來自安全設定HSM 14的介面18的加密值E和密碼雜湊值H。記憶體28被配置為儲存(方塊266)加密值E和密碼雜湊值H。晶片安全電路32被配置為鎖定(方塊268)IC晶片裝置26的受保護部分34以防止使用。晶片安全電路32可以在執行方塊252~266的步驟之後或在方塊252~266的步驟之前鎖定受保護部分34,例如,在鎖定狀態可製造IC晶片裝置26。
參照於第7圖和第8圖,現在描述其他的晶片安全設定過程。現在參照第7圖和第8圖。第7圖係為根據本發明之實施例,闡述建立和執行之第三替代積體電路(IC)晶片安全設定系統300之部分的方塊圖。第8圖係為包括在第7圖之系統300之執行方法之步驟的流程圖350。第7圖之IC晶片裝置26的晶片安全電路32也包括加密引擎39。
晶片安全電路32被配置為鎖定(方塊352)IC晶片裝置26的受保護部分34以防止使用。晶片安全電路32在任何合適的時間可鎖定受保護部分34,例如,在執行方塊354~362的步驟之後或在方塊354~362的步驟之前,例如,在鎖定狀態可製造IC晶片裝置26。方塊354到362的步驟可作為生產過程的一部分或解鎖過程(其中方塊362的步驟是可選擇的)的一部分來執行,以回應接收解鎖要求,上述參照於第9圖和地10圖將更詳細地描述。
隨機數產生器37被配置為隨機地產生(方塊354)隨機數N。加密引擎39被配置為加密(方塊356) 隨機數N以產生加密值E。在有些實施例中,加密引擎22被配置為藉由使用基於秘密金鑰的對稱加密,加密隨機數N。在其他實施例中,加密引擎22被配置為加密隨機數N以回應鎖解HSM的公開金鑰,上述參照於第9圖和地10圖將更詳細地描述。雜湊電路36被配置為計算(方塊358)隨機數N的密碼雜湊以產生密碼雜湊值H。晶片安全電路32被配置為刪除(抹除)(方塊360)來自記憶體(例如,來自記憶體28和任何快取記憶體)的隨機數N。記憶體28被配置為儲存(方塊362)加密值E和密碼雜湊值H。
現在參照第9圖和第10圖。第9圖係為根據本發明之實施例,闡述建立和執行之積體電路(Integrated Circuit, IC)晶片安全解鎖系統400之部分的方塊圖。第10圖係為包括在第9圖之系統400之執行方法之步驟的流程圖450。
積體電路(IC)晶片安全解鎖系統400包括解鎖HSM 402,上述解鎖HSM 402包括處理器404、介面406,以及解密引擎408。解鎖HSM 402由IC晶片持有者(例如,IC晶片設計者及/或智慧財產權所有者)或IC晶片供應商維護和執行。在有些實施例中須注意到,解鎖HSM 402和安全設定HSM 14可在不同的地理位置執行。
處理器404被配置為執行一般處理任務,包括管理解鎖HSM 402的各個元素之間以及藉由介面406在外部裝置之間的資料傳輸。介面406配置為藉由使用任何合適的有線及/或無線通訊協議,在外部裝置(例如,IC晶片)之間傳輸資料。在有些實施例中,可將解密引擎408的功能合併到處理器16中。在其他實施例中,解密引擎408可以用合適的處理電路來實現,上述處理電路可以是硬體連線及/或可程式化裝置。
實際上,處理器404的有些或全部功能可以組合在單一實際元件中,或可替代地,使用多個實際元件來實現。 這些實際元件可以包括硬體連線或可程式化裝置,或兩者的結合。 在有些實施例中,處理器404的至少有些功能可以在適當的軟體的控制下藉由可程式化處理器實現。 例如,上述軟體可藉由網絡以電子形式下載到裝置。 替代地,或另外地,軟體可以儲存在有形的,非暫態電腦可讀取之儲存媒體中,例如光學、磁性、或電子記憶體。
第9圖所示的IC晶片裝置26也表示隨機數產生器37和加密引擎39。除非執行雜湊值H和加密值E的產生,以回應解鎖要求,否則通常不使用隨機數產生器37和加密引擎39作為解鎖過程的一部分。 在有些實施例中,IC晶片裝置26不包括隨機數產生器37和加密引擎39。
現將在以下描述解鎖過程。在第10圖的左側表示藉由解鎖HSM 402所執行的步驟,然而在第10圖的右側表示藉由IC晶片裝置26所執行的步驟。
HSM 402的處理器404被配置為產生(方塊452)解鎖要求410。處理器404被配置為藉由介面406,提供解鎖要求410到IC晶片裝置26。
IC晶片裝置26的晶片安全電路32被配置為藉由IC晶片裝置26的介面30,接收(方塊454)來自解鎖HSM 402的解鎖要求410。
在有些實施例中,IC晶片裝置26被配置為產生加密值E和密碼雜湊值H,以回應接收解鎖要求410,參照第7圖和第8圖如上所述,以及將加密值E和密碼雜湊值H儲存在記憶體28,上述記憶體可配置為快取記憶體’ 一次性可程式化(one-time programmable, OTP)記憶體,或非揮發性記憶體(例如,快閃記憶體)。
IC晶片裝置26的晶片安全電路32被配置為藉由介面30,提供(方塊456)已儲存之加密值E(儲存在記憶體28)到解鎖HSM 402,以回應解鎖要求410。
處理器404被配置為藉由介面406接收加密值E和傳送加密值E到解密引擎408以用於解密。解鎖HSM 402的解密引擎408被配置為解密(方塊458)加密值E,以產生值N'。
在有些實施例中,解密引擎408被配置為藉由使用基於秘密金鑰的對稱加密解密加密值E,上述秘密金鑰被用來加密隨機數N以產生加密值E。在有些實施例中,解密引擎408被配置為解密加密值E,以回應解鎖HSM 402的私密金鑰。
處理器404被配置為藉由介面406提供(方塊460)值N'到IC晶片裝置26。IC晶片裝置26的晶片安全電路32被配置為藉由介面30,接收(方塊462)來自解鎖HSM 402的值N'。
晶片安全電路32的雜湊電路36被配置為計算(方塊464)密碼雜湊值H',以回應值N'(例如,計算值N'的密碼雜湊)。雜湊電路36可使用任何合適的密碼雜湊演算法,例如,但非限於MD5(MD5 Message-Digest Algorithm),SHA-1 (Secure Hash Algorithm 1),SHA-2(Secure Hash Algorithm 2),或SHA-3(Secure Hash Algorithm 3)。
晶片安全電路32被配置為比較(方塊466) 密碼雜湊值H'和已儲存的密碼雜湊值H(儲存在記憶體28) 。晶片安全電路32被配置為解鎖(方塊468)IC晶片裝置26的受保護部分34以供使用,以回應找出在雜湊值H'和雜湊值H 之間的匹配。受保護部分34可以保持解鎖,直到重新鎖定或給定的超時到期為止。
為清楚起見,在各別的實施例的內容中所述之本發明的各種特徵可在單一實施例中結合以提供。相反地,為簡潔起見,在單一實施例的內容中所述之本發明的各種特徵也可單獨地提供或提供在以任何合適的子組合。
上述所描述之實施例只是範例,且本發明不限於上述所顯示及描述者。而是,本發明之範圍含有上述之各樣特徵之結合和子結合,且專業人士閱讀先前描述和其未揭露現有技術時會想到其中變化和修正。
10:積體電路晶片安全設定系統
14:安全設定HSM
16:處理器
18:介面
20:雜湊電路
22:加密引擎
24:隨機數產生器
26:IC晶片裝置
28:記憶體
30:介面
32:晶片安全電路
34:受保護部分
36:雜湊電路
37:隨機數產生器
39:加密引擎
50:積體電路晶片安全設定系統執行方法之步驟流程圖
52:產生隨機數N
54:加密隨機數N
56:計算隨機數N的密碼雜湊
58:提供加密值E和密碼雜湊值H
60:接收加密值E和密碼雜湊值H
62:儲存加密值E和密碼雜湊值H
64:鎖定IC晶片裝置的受保護部分
100:第一替代積體電路晶片安全設定系統
150:第一替代積體電路晶片安全設定系統執行方法之步驟流程圖
152:產生隨機數N
154:計算密碼雜湊值H
156:提供隨機數N到安全設定HSM
158:刪除隨機數N
160:加密隨機數N
162:提供加密值E到IC晶片裝置
164:接收加密值E
166:儲存加密值E和密碼雜湊值H
168:鎖定IC晶片裝置的受保護部分
200:第二替代積體電路晶片安全設定系統晶片安全設定系統
250:第二替代積體電路晶片安全設定系統執行方法之步驟流程圖
252:產生隨機數N
254:提供隨機數N
256:刪除隨機數N
258:加密隨機數N
260:計算隨機數N的密碼雜湊
262:提供加密值E和密碼雜湊值H到IC晶片裝置
264:接收加密值E和密碼雜湊值H
266:儲存加密值E和密碼雜湊值H
268:鎖定IC晶片裝置的受保護部分
300:第三替代積體電路晶片安全設定系統
350:第三替代積體電路晶片安全設定系統執行方法之步驟流程圖
352:鎖定IC晶片裝置的受保護部分
354:產生隨機數N
356:加密隨機數N
358:計算隨機數N的密碼雜湊
360:刪除隨機數N
362:儲存加密值E和密碼雜湊值H
400:積體電路晶片安全解鎖系統
402:解鎖HSM
404:處理器
406:介面
408:解密引擎
410:解鎖要求
450:積體電路晶片安全解鎖系統執行方法之步驟流程圖
452:產生解鎖要求
454:接收解鎖要求
456:提供加密值E到解鎖HSM
458:解密加密值E
460:提供N'到IC晶片裝置
462:接收來自解鎖HSM的N'
464:計算密碼雜湊H'
466:比較H'和H
468:鎖定IC晶片裝置的受保護部分
從以下的詳細描述並結合圖式可以了解本發明,其中:
第1圖係為根據本發明之實施例,闡述建立和執行之積體電路(IC)晶片安全設定系統之部分的方塊圖。
第2圖係為包括在第1圖之系統之執行方法之步驟的流程圖。
第3圖係為根據本發明之實施例,闡述建立和執行之第一替代積體電路(IC)晶片安全設定系統之部分的方塊圖。
第4圖係為包括在第3圖之系統之執行方法之步驟的流程圖。
第5圖係為根據本發明之實施例,闡述建立和執行之第二替代積體電路(IC)晶片安全設定系統之部分的方塊圖。
第6圖係為包括在第5圖之系統之執行方法之步驟的流程圖。
第7圖係為根據本發明之實施例,闡述建立和執行之第三替代積體電路(IC)晶片安全設定系統之部分的方塊圖。
第8圖係為包括在第7圖之系統之執行方法之步驟的流程圖。
第9圖係為根據本發明之實施例,闡述建立和執行之積體電路(IC)晶片安全解鎖系統之部分的方塊圖。
第10圖係為包括在第9圖之系統之執行方法之步驟的流程圖。
10:積體電路晶片安全設定系統
14:安全設定HSM
16:處理器
18:介面
20:雜湊電路
22:加密引擎
24:隨機數產生器
26:IC晶片裝置
28:記憶體
30:介面
32:晶片安全電路
34:受保護部分
36:雜湊電路
Claims (20)
- 一種安全積體電路(IC)晶片裝置,包括:記憶體,被配置為儲存隨機數(nonce)N的加密值E和單向函數輸出值H,該單向函數輸出值H是以該隨機數N輸入單向函數進行計算所得的輸出值;介面,被配置為與外部裝置傳輸資料;以及晶片安全電路,被配置為:鎖定該IC晶片裝置的一部份以防止使用;藉由該介面接收來自解鎖硬體安全模組(Hardware Security Module,HSM)的解鎖要求;藉由該介面提供該加密值E到該解鎖HSM,以回應該解鎖要求;接收來自該解鎖HSM的值N',該值N'是該加密值E的解密值;根據該值N'計算單向函數輸出值H';比較該單向函數輸出值H'和該單向函數輸出值H;以及當該值H'匹配該值H,解鎖該IC晶片裝置的該部分。
- 如請求項1之安全積體電路晶片裝置,更包括隨機數產生器以產生該隨機數N,該晶片安全電路被配置為:提供該隨機數N到安全設定HSM;接收來自該安全設定HSM的該加密值E和該單向函數輸出值H;以及刪除該隨機數N。
- 如請求項1之安全積體電路晶片裝置,更包括隨機數產生器以產生該隨機數N,該晶片安全電路被配置為: 根據該隨機數N,計算該單向函數輸出值H; 提供該隨機數N到安全設定HSM; 接收來自該安全設定HSM的該加密值E;以及 刪除該隨機數N。
- 如請求項1之安全積體電路晶片裝置,更包括隨機數產生器以產生該隨機數N,該晶片安全電路被配置為: 加密該隨機數N以產生該加密值E; 計算該單向函數輸出值H,以回應該隨機數N;以及 刪除該隨機數N。
- 如請求項1之安全積體電路晶片裝置,其中該晶片安全電路被配置為接收來自安全設定HSM的該加密值E和該單向函數輸出值H。
- 如請求項1之安全積體電路晶片裝置,其中該部分包括除錯介面。
- 一種保護積體電路(IC)晶片方法,包括: 執行晶片安全設定過程,該晶片安全設定過程包括: 在IC晶片裝置的記憶體中儲存隨機數N的加密值E和單向函數輸出值H,該單向函數輸出值H是以該隨機數N輸入單向函數進行計算所得的輸出值;以及 鎖定該IC晶片裝置的一部分以防止使用;以及 藉由該IC晶片裝置執行解鎖過程,該解鎖過程包括: 藉由介面接收來自解鎖硬體安全模組(Hardware Security Module , HSM)的解鎖要求; 藉由該介面提供該加密值E到該解鎖HSM,以回應該解鎖要求; 接收來自該解鎖HSM的值N',該值N'是該加密值E的解密值; 根據該值N'計算單向函數輸出值H'; 比較該單向函數輸出值H'和該單向函數輸出值H;以及 當該值H'匹配該值H,解鎖該IC晶片裝置的該部分。
- 如請求項7之保護IC晶片方法,其中該晶片安全設定過程,更包括該IC晶片裝置: 隨機地產生該隨機數N; 提供該隨機數N到安全設定HSM; 接收來自該安全設定HSM的該加密值E和該單向函數輸出值H;以及 刪除該隨機數N。
- 如請求項7之保護IC晶片方法,其中該晶片安全設定過程,更包括該IC晶片裝置: 隨機地產生該隨機數N; 根據該隨機數N計算該單向函數輸出值H; 提供該隨機數N到安全設定HSM; 接收來自該安全設定HSM的該加密值E;以及 刪除該隨機數N。
- 如請求項7之保護IC晶片方法,其中該晶片安全設定過程,更包括該IC晶片裝置: 隨機地產生該隨機數N; 加密該隨機數N以產生該加密值E; 根據該隨機數N計算該單向函數輸出值H;以及 刪除該隨機數N。
- 如請求項7之保護IC晶片方法,其中該晶片安全設定過程,更包括該IC晶片裝置接收來自安全設定HSM的該加密值E和該單向函數輸出值H。
- 一種保護積體電路(IC)晶片方法,包括: 執行晶片安全設定過程,該過程包括: 在IC晶片裝置的記憶體中儲存加密值E和單向函數輸出值H,該單向函數輸出值H是以隨機數N輸入單向函數進行計算所得到的輸出值;以及 鎖定該IC晶片裝置的一部分以防止使用;以及 執行解鎖過程,該過程包括: 藉由解鎖硬體安全模組(Hardware Security Module , HSM)產生解鎖要求; 藉由該IC晶片裝置,提供已儲存的該加密值E到該解鎖HSM,以回應該解鎖要求; 藉由該解鎖HSM,解密該加密值E以產生值N'; 藉由該解鎖HSM,提供該值N'到該IC晶片裝置; 藉由該IC晶片裝置,根據該值N'計算單向函數輸出值H'; 藉由該IC晶片裝置,比較該單向函數輸出值H'和已儲存的該單向函數輸出值H;以及 當該值H'匹配該值H,藉由該IC晶片裝置解鎖該部分。
- 如請求項12之保護IC晶片方法,其中該晶片安全設定過程更包括: 藉由該IC晶片裝置,隨機地產生該隨機數N; 藉由該IC晶片裝置,提供該隨機數N到安全設定HSM; 各自地加密該隨機數N,和藉由該安全設定HSM,以該隨機數N作為輸入計算該單向函數,以產生該加密值E和該單向函數輸出值H; 提供該加密值E和該單向函數輸出值H到該IC晶片裝置;以及 刪除來自該IC晶片裝置的該隨機數N。
- 如請求項13之保護IC晶片方法,其中該加密包括加密該隨機數N,以回應該解鎖HSM的公開金鑰;以及 該解密包括解密該加密值E,以回應該解鎖HSM的秘密金鑰。
- 如請求項12之保護IC晶片方法,其中該晶片安全設定過程更包括: 藉由該IC晶片裝置,隨機地產生該隨機數N; 藉由該IC晶片裝置,計算該單向函數輸出值H,以回應該值N; 藉由該IC晶片裝置,提供該隨機數N到安全設定HSM; 藉由該安全設定HSM,加密該隨機數N,以產生該加密值E; 提供該加密值E到該IC晶片裝置;以及 刪除來自該IC晶片裝置的該隨機數N。
- 如請求項15之保護IC晶片方法,其中該加密包括加密該隨機數N,以回應該解鎖HSM的公開金鑰;以及 該解密包括解密該加密值E,以回應該解鎖HSM的秘密金鑰。
- 如請求項12之保護IC晶片方法,其中該晶片安全設定過程更包括: 各自地加密該隨機數N,和藉由該安全設定HSM,以該隨機數N作為輸入計算該單向函數,以產生該加密值E和該單向函數輸出值H;以及 提供該加密值E和該單向函數輸出值H到該IC晶片裝置。
- 如請求項17之保護IC晶片方法,其中該加密包括加密該隨機數N,以回應該解鎖HSM的公開金鑰;以及 該解密包括解密該加密值E,以回應該解鎖HSM的秘密金鑰。
- 如請求項12之保護IC晶片方法,其中該晶片安全設定過程更包括藉由該IC晶片裝置執行: 藉由該IC晶片裝置,隨機地產生該隨機數N; 加密該隨機數N,以產生該加密值E; 以該隨機數N作為輸入計算該單向函數,以產生該單向函數輸出值H;以及 刪除來自該IC晶片裝置的該隨機數N。
- 如請求項19之保護IC晶片方法,其中該加密包括加密該隨機數N,以回應該解鎖HSM的公開金鑰;以及 該解密包括解密該加密值E,以回應該解鎖HSM的秘密金鑰。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/914,535 US11416639B2 (en) | 2020-06-29 | 2020-06-29 | PQA unlock |
US16/914,535 | 2020-06-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202201257A TW202201257A (zh) | 2022-01-01 |
TWI763379B true TWI763379B (zh) | 2022-05-01 |
Family
ID=79030949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110109503A TWI763379B (zh) | 2020-06-29 | 2021-03-17 | 安全積體電路晶片裝置及其保護其方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11416639B2 (zh) |
JP (1) | JP7087172B2 (zh) |
CN (1) | CN114091123A (zh) |
TW (1) | TWI763379B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11728997B2 (en) * | 2020-09-08 | 2023-08-15 | Micron Technology, Inc. | Cloud-based creation of a customer-specific symmetric key activation database |
US11720654B2 (en) * | 2020-12-16 | 2023-08-08 | University Of Florida Research Foundation, Inc. | Timed unlocking and locking of hardware intellectual properties |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120069991A1 (en) * | 2009-05-13 | 2012-03-22 | Nagravision S. A. | Method for authenticating access to a secured chip by test device |
CN104541474A (zh) * | 2012-08-10 | 2015-04-22 | 密码研究公司 | 集成电路中的安全特征和密钥管理 |
CN105354604A (zh) * | 2015-10-30 | 2016-02-24 | 中山大学 | 一种有效的基于物理不可克隆函数的防伪新方法 |
TW201928660A (zh) * | 2017-12-22 | 2019-07-16 | 瑞士商納格維遜股份有限公司 | 安全軟體定義的無線電晶片 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010057312A1 (en) * | 2008-11-24 | 2010-05-27 | Certicom Corp. | System and method for hardware based security |
US8332641B2 (en) * | 2009-01-30 | 2012-12-11 | Freescale Semiconductor, Inc. | Authenticated debug access for field returns |
US8732468B2 (en) | 2009-03-09 | 2014-05-20 | The Regents Of The University Of Michigan | Protecting hardware circuit design by secret sharing |
US20100284539A1 (en) | 2009-03-09 | 2010-11-11 | The Regents Of The University Of Michigan | Methods for Protecting Against Piracy of Integrated Circuits |
WO2011068996A1 (en) * | 2009-12-04 | 2011-06-09 | Cryptography Research, Inc. | Verifiable, leak-resistant encryption and decryption |
US8966657B2 (en) * | 2009-12-31 | 2015-02-24 | Intel Corporation | Provisioning, upgrading, and/or changing of hardware |
FR2973564A1 (fr) | 2011-04-01 | 2012-10-05 | St Microelectronics Rousset | Securisation d'une plaquette de circuits electroniques |
US9100189B2 (en) * | 2012-08-31 | 2015-08-04 | Freescale Semiconductor, Inc. | Secure provisioning in an untrusted environment |
US9742563B2 (en) | 2012-09-28 | 2017-08-22 | Intel Corporation | Secure provisioning of secret keys during integrated circuit manufacturing |
US9430658B2 (en) * | 2014-12-16 | 2016-08-30 | Freescale Semiconductor, Inc. | Systems and methods for secure provisioning of production electronic circuits |
FR3030831B1 (fr) * | 2014-12-23 | 2018-03-02 | Idemia France | Entite electronique securisee, appareil electronique et procede de verification de l’integrite de donnees memorisees dans une telle entite electronique securisee |
JP6550296B2 (ja) * | 2015-08-07 | 2019-07-24 | ルネサスエレクトロニクス株式会社 | 給電システム |
US20170180131A1 (en) | 2015-12-16 | 2017-06-22 | Intel Corporation | Secure unlock to access debug hardware |
CN109690543B (zh) * | 2016-09-26 | 2021-04-09 | 华为技术有限公司 | 安全认证方法、集成电路及系统 |
US10250587B2 (en) | 2016-09-30 | 2019-04-02 | Microsoft Technology Licensing, Llc | Detecting malicious usage of certificates |
US10211979B2 (en) * | 2017-05-19 | 2019-02-19 | Swfl, Inc. | Systems and methods securing an autonomous device |
DE102017005057A1 (de) | 2017-05-26 | 2018-11-29 | Giesecke+Devrient Mobile Security Gmbh | Personalisieren eines Halbleiterelements |
EP3422628B1 (de) * | 2017-06-29 | 2021-04-07 | Siemens Aktiengesellschaft | Verfahren, sicherheitseinrichtung und sicherheitssystem |
EP3506560A1 (en) | 2017-12-29 | 2019-07-03 | Nagravision S.A. | Secure provisioning of keys |
JP7077246B2 (ja) * | 2018-02-04 | 2022-05-30 | ソニー セミコンダクタ イスラエル リミテッド | コンパクトなセキュリティ証明書 |
-
2020
- 2020-06-29 US US16/914,535 patent/US11416639B2/en active Active
-
2021
- 2021-03-17 TW TW110109503A patent/TWI763379B/zh active
- 2021-05-25 CN CN202110569708.9A patent/CN114091123A/zh active Pending
- 2021-06-28 JP JP2021106305A patent/JP7087172B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120069991A1 (en) * | 2009-05-13 | 2012-03-22 | Nagravision S. A. | Method for authenticating access to a secured chip by test device |
CN104541474A (zh) * | 2012-08-10 | 2015-04-22 | 密码研究公司 | 集成电路中的安全特征和密钥管理 |
CN105354604A (zh) * | 2015-10-30 | 2016-02-24 | 中山大学 | 一种有效的基于物理不可克隆函数的防伪新方法 |
TW201928660A (zh) * | 2017-12-22 | 2019-07-16 | 瑞士商納格維遜股份有限公司 | 安全軟體定義的無線電晶片 |
Also Published As
Publication number | Publication date |
---|---|
US11416639B2 (en) | 2022-08-16 |
JP7087172B2 (ja) | 2022-06-20 |
TW202201257A (zh) | 2022-01-01 |
US20210406405A1 (en) | 2021-12-30 |
CN114091123A (zh) | 2022-02-25 |
JP2022013809A (ja) | 2022-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8776211B1 (en) | Processing commands according to authorization | |
EP2989741B1 (en) | Generation of working security key based on security parameters | |
US9602282B2 (en) | Secure software and hardware association technique | |
US20170126414A1 (en) | Database-less authentication with physically unclonable functions | |
US9323950B2 (en) | Generating signatures using a secure device | |
EP2056231B1 (en) | Method and system for transferring information to a device | |
CN104252881B (zh) | 半导体集成电路及系统 | |
US9729322B2 (en) | Method and system for smart card chip personalization | |
US9094205B2 (en) | Secure provisioning in an untrusted environment | |
TWI613900B (zh) | 保全裝置以及保全方法 | |
US20100284539A1 (en) | Methods for Protecting Against Piracy of Integrated Circuits | |
EP2056228A1 (en) | Method and system for transferring information to a device | |
TWI517653B (zh) | 電子裝置及密碼材料供應之方法 | |
US11023621B2 (en) | System and method for authenticating and IP licensing of hardware modules | |
TWI763379B (zh) | 安全積體電路晶片裝置及其保護其方法 | |
CN110046489B (zh) | 一种基于国产龙芯处理器的可信访问验证系统,计算机及可读存储介质 | |
Maes et al. | Analysis and design of active IC metering schemes | |
Mohammad et al. | Required policies and properties of the security engine of an SoC | |
Zhang et al. | Public key protocol for usage-based licensing of FPGA IP cores | |
US10067770B2 (en) | Platform key hierarchy | |
CN117501271A (zh) | 通过利用物理不可克隆函数puf进行数据加密/解密向主机认证存储设备 |