TWI559162B - 用於產生唯一性識別符的方法、裝置與機器可讀儲存媒體 - Google Patents
用於產生唯一性識別符的方法、裝置與機器可讀儲存媒體 Download PDFInfo
- Publication number
- TWI559162B TWI559162B TW102147568A TW102147568A TWI559162B TW I559162 B TWI559162 B TW I559162B TW 102147568 A TW102147568 A TW 102147568A TW 102147568 A TW102147568 A TW 102147568A TW I559162 B TWI559162 B TW I559162B
- Authority
- TW
- Taiwan
- Prior art keywords
- identifier
- circuits
- data dependent
- threshold
- frequency
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 39
- 230000001419 dependent effect Effects 0.000 claims description 96
- 238000012360 testing method Methods 0.000 claims description 70
- 230000004044 response Effects 0.000 claims description 39
- 238000012545 processing Methods 0.000 claims description 34
- 238000012795 verification Methods 0.000 claims description 17
- 238000009434 installation Methods 0.000 claims description 5
- 239000013598 vector Substances 0.000 description 56
- 239000004065 semiconductor Substances 0.000 description 35
- 230000006870 function Effects 0.000 description 11
- 235000012431 wafers Nutrition 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000007704 transition Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 2
- 238000013479 data entry Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000005476 soldering Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/30—Marginal testing, e.g. by varying supply voltage
- G01R31/3004—Current or voltage test
-
- 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]
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
- H04L9/3278—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31725—Timing aspects, e.g. clock distribution, skew, propagation delay
-
- 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/121—Restricting unauthorised execution of programs
-
- 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
-
- 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/76—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 application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- 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/86—Secure or tamper-resistant housings
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Semiconductor Integrated Circuits (AREA)
- Tests Of Electronic Circuits (AREA)
Description
本專利申請案主張2012年12月20日提出申請的題為「Unique and Unclonable Platform Identifiers Using Data-Dependent Circuit Path Responses(使用資料依賴型電路路徑回應的唯一性且不可克隆的平臺識別符)」的美國臨時申請案第61/740,333號的優先權,其經由引用明確結合於此。
各特徵係關於產生唯一性且不可克隆的識別符,並且更具體地,係關於基於實體電路或元件的本征特性的識別符。
軟體保護是被用來防止對軟體的未經授權的複製的一族電腦安全技術。換言之,軟體必須能夠決定使用者是否被正當地許可以使用它,並且只在確實如此的情況下才執行
。
與軟體保護相關的另一問題是如何標識出軟體正在其上執行的晶片(例如,半導體裝置)或平臺是否是偽造晶片。偽造晶片已經激增並且對電子產品供應鏈構成威脅。來自偽造半導體的產品副作用的範圍可從像通話中斷等小問題到大得多的問題。因此,在電子產品供應鏈中標識並限制偽造晶片的使用是至關重要的。
軟體智慧財產權和內容保護的最大挑戰之一是要使受保護的軟體能夠標識它正在其上執行的硬體平臺。需要設計不需要向現有晶片設計添加額外邏輯並且甚至可被應用於已經製造好的晶片的零成本解決方案。
因此,需要允許軟體能在無需額外邏輯及/或標識專用電路元件的情況下唯一性地標識它正在其中執行的硬體平臺的解決方案。
提供了一種在處理電路中操作的用於產生唯一性識別符的方法。可以在一或多個電路的一或多個資料依賴型電路路徑上執行一或多個測試。在各示例中,一或多個電路可以是:(a)通用計算元件,(b)非因識別符而異的計算元件,及/或(c)非儲存型及/或非記憶型電路。在其他示例中,一或多個電路可包括以下至少一者:(a)一或多個內部計算元件;(b)一或多個外部計算元件;及/或(c)內部和外部計算元件的組合。
可在一或多個電路的一或多個資料依賴型電路路徑上重複一或多個測試,同時調整一或多個電路中的每一者的
工作頻率及/或工作電壓。工作頻率及/或工作電壓經由以下至少一者來調整:(a)在測試的每一輪反覆運算時提高工作頻率;(b)在測試的每一輪反覆運算時降低工作電壓;及/或(c)在測試的每一輪反覆運算時調整工作頻率和工作電壓的組合。
可為一或多個資料依賴型電路路徑中的每一者查明閾值頻率及/或閾值電壓。在一個示例中,閾值頻率可以是在給定資料依賴型電路路徑上的測試提供對測試的不正確回應時所處的頻率。在另一示例中,閾值頻率可以是對給定資料依賴型電路路徑上的測試的預期回應改變成非預期回應時所處的頻率。
隨後可基於為一或多個資料依賴型電路路徑所查明的複數個閾值頻率及/或閾值電壓來產生識別符。在一個示例中,識別符可以與包括處理電路的平臺相關聯。在另一示例中,方法亦可(a)將軟體應用安裝與識別符相關聯;及/或(b)將軟體應用在處理電路上的執行綁定到對識別符的成功驗證。對識別符的成功驗證可將識別符的原始實例與識別符的後續產生的實例進行比較以查明它們是相同的。在一些示例中,識別符可以基於:(a)一個電路的兩個或兩個以上不同電路路徑的兩個或兩個以上閾值頻率及/或閾值電壓,或(b)兩個或兩個以上不同電路的兩個或兩個以上不同電路路徑的兩個或兩個以上閾值頻率及/或閾值電壓。識別符可被儲存以供後續驗證。在驗證程序期間,先前儲存的識別符可被檢索。隨後可將所產生的識別符與先前儲存的識別符進行比較以查明它們是否相同。
可提供一種包括耦合到處理電路的一或多個電路的用於產生唯一性識別符的裝置。處理電路可被適配成:(a)在一或多個電路的一或多個資料依賴型電路路徑上執行一或多個測試;(b)在一或多個電路的一或多個資料依賴型電路路徑上重複一或多個測試,同時調整一或多個電路中的每一者的工作頻率及/或工作電壓;(c)為一或多個資料依賴型電路路徑中的每一者查明閾值頻率及/或閾值電壓;及/或(d)基於為一或多個資料依賴型電路路徑所查明的複數個閾值頻率及/或閾值電壓來產生識別符。
在一個示例中,識別符可以與包括處理電路的平臺相關聯。在另一示例中,軟體應用安裝可以與識別符相關聯,並且軟體應用在處理電路上的執行被綁定到對識別符的成功驗證。對識別符的成功驗證可將識別符的原始實例與識別符的後續產生的實例進行比較以查明它們是相同的。
在各示例中,一或多個電路可以是:(a)通用計算元件,(b)非因識別符而異的計算元件,及/或非儲存型及/或非記憶型電路。
工作頻率及/或工作電壓可經由以下至少一者來調整:(a)在測試的每一輪反覆運算時提高工作頻率;(b)在測試的每一輪反覆運算時降低工作電壓;及/或(c)在測試的每一輪反覆運算時調整工作頻率和工作電壓的組合。
一或多個電路可包括以下至少一者:(a)一或多個內部計算元件,(b)一或多個外部計算元件;及/或(c)內部和外部計算元件的組合。
閾值頻率可以是:(a)在給定資料依賴型電路路徑上的測試提供對測試的不正確回應時所處的頻率,及/或(b)對給定資料依賴型電路路徑上的測試的預期回應改變成非預期回應時所處的頻率。
識別符可以基於:(a)一個電路的兩個或兩個以上不同電路路徑的兩個或兩個以上閾值頻率及/或閾值電壓,及/或(b)兩個或兩個以上不同電路的兩個或兩個以上不同電路路徑的兩個或兩個以上閾值頻率及/或閾值電壓。
102‧‧‧輸入向量
104‧‧‧元件或電路
106‧‧‧識別符產生器
110‧‧‧工作頻率
112‧‧‧工作電壓
114‧‧‧資料依賴型電路路徑A
116‧‧‧資料依賴型電路路徑B
118‧‧‧資料依賴型電路路徑C
120‧‧‧資料依賴型電路路徑D
202‧‧‧輸入向量
204‧‧‧元件或電路
206‧‧‧元件或電路
208‧‧‧元件或電路
602‧‧‧處理電路
604‧‧‧存放裝置
606‧‧‧輸入向量
608‧‧‧識別符產生器
610‧‧‧內部子電路
612‧‧‧內部子電路
614‧‧‧內部子電路
616‧‧‧外部元件
618‧‧‧外部元件
620‧‧‧外部元件
622‧‧‧唯一性識別符
624‧‧‧可程式設計電壓模組
702‧‧‧方塊
704‧‧‧方塊
706‧‧‧方塊
708‧‧‧方塊
710‧‧‧方塊
712‧‧‧方塊
714‧‧‧方塊
在結合附圖理解下面闡述的詳細描述時,各種特徵、本質和優點會變得明顯,在附圖中,相像的元件符號貫穿始終作相應標識。
圖1圖示經由利用板載或板外元件或電路的資料依賴型電路路徑回應資訊來提取識別符(ID)的方式。
圖2圖示經由利用來自多個板載或板外元件或電路的資料依賴型電路路徑回應資訊來提取平臺標識(ID)的方式。
圖3是圖示一組輸入向量在不同的工作頻率處的示例性結果的表。
圖4是圖示一組輸入向量在不同的工作電壓處的示例性結果的表。
圖5圖示了示出一組輸入向量在不同的工作頻率-電壓對處的示例性結果的表。
圖6圖示可被適配成基於資料依賴型電路路徑來計
算唯一性且不可克隆的識別符的示例性處理電路。
圖7圖示一種用於經由利用一或多個板載及/或板外元件、電路及/或半導體的資料依賴型電路路徑回應資訊來計算唯一性且不可克隆的平臺識別符(ID)的方法。
在以下描述中,提供了具體細節以提供對本案的各態樣的透徹理解。但是,普通熟習此項技術者將理解,沒有這些具體細節亦可實踐這些態樣。例如,電路可能用方塊圖示出以避免使這些態樣混淆在不必要的細節中。在其他實例中,公知的電路、結構和技術可能不被詳細示出以免使本案的這些態樣不明朗。
措辭「示例性」在本文中用於表示「用作示例、實例或圖示」。本文中描述為「示例性」的任何實現或態樣不必被解釋為優於或勝過本案的其他態樣。同樣,術語「態樣」不要求本案的所有態樣皆包括所討論的特徵、優點或操作模式。
綜覽
第一態樣提供了使用每一半導體電路中固有的唯一性特性來產生唯一性且不可克隆的平臺識別符,該平臺識別符可由軟體在執行時提取並且可被用來判斷軟體是否正執行在預期或目標半導體電路上或它是否取而代之地正執行在模仿環境或偽造平臺上。由於半導體製造中的偏差,相同半導體電路的兩個實例中的相同電路路徑可能具有不同的回應(例如,路徑延遲、頻率回應、電壓回應,等等)。例如,相同
設計(但在不同的半導體電路中)的每一資料依賴型路徑用於穩定操作的閾值頻率可能有所不同。具有相同設計的諸半導體電路之間的這些偏差可被利用/使用來表徵每一半導體電路並產生唯一性且不可克隆的識別符。
第二態樣提供產生並應用不同的輸入向量以仿效不同資料依賴型電路路徑並隨後提取每一資料依賴型電路路徑的頻率特性。在一個示例中,一組指令可以使用給定輸入來執行各種操作(例如,不同的數學運算,等等)。取決於所使用的輸入,所執行的操作可以使用不同的電路路徑(亦即,資料依賴型路徑)。因而,輸入向量可用於引入可被表徵以產生唯一性且不可克隆的平臺識別符的複數個資料依賴型路徑。經由使用複數個輸入向量,每一資料依賴型電路路徑被重複測試直至每一電路路徑的結果變得不穩定(例如,測試結果與先前測試相比發生改變或者是不正確的)。每一預界定測試的最後所知的穩定電壓/頻率被用於產生唯一性識別符。
第三態樣提供表徵複數個不同半導體電路之間的及/或多個內部及/或外部子電路或元件上的資料依賴型電路路徑。不同半導體電路、子電路及/或元件中的兩個或兩個以上資料依賴型電路路徑的表徵隨後被用來產生唯一性且不可克隆的識別符。
唯一性且不可克隆的識別符的示例性產生
提供了一種用於基於諸實體元件(例如,半導體裝置、電路徑、電元件,等等)的本征偏差以及對資料依賴型電路路徑的使用來產生硬體設備的唯一性且不可克隆的識別
符的機制。例如,在製造多個半導體裝置時,複雜的半導體製程引入了超出製造者或設計者的控制之外的微小偏差。即使兩個半導體裝置是從同一矽晶片製造的,被設計為相同的各電線路/路徑在寬度上亦將有可能相差幾奈米。矽表面中的微觀差異亦可能在電路徑的曲率中引入幾乎微乎其微的偏差。另外,將各半導體裝置焊接在印刷電路板上可能造成電容/阻抗上的差異,等等。由於這些唯一性特性是不可控制的且是實體元件(例如,半導體裝置)所固有的,所以對它們進行量化可以產生本征的、唯一性的且不可克隆的識別符。另外,一或多個資料依賴型電路路徑(例如,經由一或多個半導體裝置)被用於進一步增進識別符的唯一性。
本辦法可以提供零成本解決方案,它不需要向半導體設計添加額外邏輯(例如,電路元件、電晶體,等等)並且甚至可適用於已經製造好的半導體裝置。
圖1圖示經由利用板載或板外元件或電路的資料依賴型電路路徑回應資訊來提取識別符(ID)的方式。在該示例中,元件或電路104正由包括輸入向量102和識別符產生器106的識別符產生模組來進行測試。根據幾個示例,元件或電路可包括:(a)具有電被動和主動元件的印刷電路板,(b)半導體裝置,及/或(c)處理設備。元件或電路104可以是可經由調整它的工作頻率110及/或它的工作電壓112來動態配置的。
如在此所示,元件或電路104可包括多個資料依賴型電路路徑A 114、B 116、C 118以及D 120。例如,元件或電路104可以是取決於所提供的輸入資料而不同地來執行操作的
信號處理器、算術模組等。例如,加法和乘法操作可採取算術模組中的不同路徑。另外,較大數位的加法操作可能採取與較小數位的加法操作不同的路徑。此類「路徑」可以指例如在元件或電路104中執行特定操作所經過的電晶體及/或電跡線。
輸入向量102可包括使得元件或電路104執行特定操作及/或計算的一或多個指令及/或資料登錄。輸入向量的各示例可包括執行以下操作:D1+D2,D1xD2,D1/D2,log(D1),逐位D1 AND D2,D1 XOR D2,以及對D1及/或D2的其他更複雜的操作,其中D1和D2是資料登錄(例如,數位、位元串,等等)。輸入向量可以是使得元件在不同的操作模式中執行的任何控制信號或配置。
單個輸入向量可隨著在每輪反覆運算中調整元件或電路104的工作頻率110及/或電壓112(例如,提高頻率或降低電壓,等等)而被執行若干次。在每一輪反覆運算之後,執行檢查以確信元件/電路104仍然是穩定的(例如,提供對輸入向量的預期或正確的回應/結果)。此程序被重複,直至標識出閾值工作頻率(或閾值工作電壓),在該閾值工作頻率(或閾值工作電壓)處,資料依賴型電路路徑回應/結果發生改變。一旦標識出閾值頻率及/或閾值電壓,就停止或終止該特定輸入向量在資料依賴型電路路徑上的執行。該特定輸入向量的此類閾值頻率隨後可被用來(例如,結合一或多個其他輸入向量的閾值頻率)產生元件或電路的識別符。
閾值頻率及/或閾值電壓可按多種方式來查明。在第
一示例中,工作頻率110被遞增,而工作電壓112保持固定。閾值電壓及/或閾值頻率是對輸入向量的回應/結果發生改變或不正確的那些電壓/頻率。
在第二示例中,工作電壓112被遞減,造成工作頻率110的相應降低。例如,工作電壓112可在輸入向量的每一輪反覆運算中被遞減(降低),直至結果/回應發生改變。注意,隨著工作電壓112被減小,這亦可使工作頻率減小。對特定輸入向量提供正確結果/回應的最後的最小電壓(或結果所得的工作頻率)被用來(例如,結合一或多個其他輸入向量的最小電壓)產生元件或電路的識別符。
在第三示例中,工作電壓112被遞減,而工作頻率110被遞增。例如,頻率和電壓兩者的組合可被調整(例如,根據預界定頻率/電壓配對),直至標識出閾值頻率/電壓(例如,特定資料路徑變得不穩定時所處的頻率/電壓對)。
識別符產生器106可追蹤每一測試向量的最大穩定工作頻率(或最低穩定工作電壓)並隨後使用這些來計算元件、電路或半導體的唯一性且不可克隆的識別符。
在一個示例中,元件、電路或半導體的最大工作頻率可由最長(臨界)電路路徑延遲(例如,連接成鏈的具有最大等待時間的一系列不同的閘或邏輯裝置)來決定。這亦意味著元件、電路或半導體具有較短路徑,這些較短路徑具有不同的路徑延遲,這些不同路徑延遲取決於它在特定測試向量中計算出的資料值。由於半導體製程偏差對電路路徑延遲的影響,具有相同設計但處在不同元件、電路或半導體中
的每一資料依賴型關鍵路徑的最大頻率/最小電壓將具有隨機偏差。這亦暗示了每一資料依賴型電路路徑的這些最大頻率(或最低電壓)資訊的表徵是特定元件、電路及/或半導體的標識資訊的良好來源。
在一些實現中,資料依賴型電路路徑可以是接收輸入並提供輸出的動態電路路徑。所以,它們是非儲存型及/或非記憶型電路路徑。
圖2圖示經由利用來自多個板載或板外元件或電路的資料依賴型電路路徑回應資訊來提取平臺標識(ID)的方式。此態樣類似於圖1中描述的辦法進行操作,但複數個元件或電路204、206和208被用來執行一或多個輸入向量202。對於每一元件或電路204、206和208,輸入向量可以在反覆運算地調整每一元件或電路204、206和208的相應工作電壓及/或工作頻率的同時被執行。
在一個實現中,可以提高第一元件或電路204的工作頻率以查明第一元件或電路204中的一或多個資料依賴型路徑的最大穩定頻率。同時,可以降低第二元件或電路206的工作電壓以查明第二元件或電路206中的一或多個資料依賴型路徑的最小穩定電壓。類似地,可調整第三元件或電路208的工作頻率/電壓對以查明第三元件或電路208中的一或多個資料依賴型路徑的閾值穩定頻率/電壓對。識別符產生器隨後可以使用複數個元件或電路204、206和208的此回應資訊來計算平臺(例如,元件或電路的組合)的唯一性且不可克隆的本征識別符。
圖3是圖示一組輸入向量在不同的工作頻率處的示例性結果的表。這些輸入向量可能已經在一或多個元件、電路及/或半導體裝置上被執行。每一個輸入向量(例如,測試-a、測試-b、測試-c、測試-d)可隨著跨一或多個頻率(頻率-A、頻率-B、頻率-C、頻率-D、頻率-E及/或頻率-F)增量地調整(例如,提高)工作頻率而被反覆運算地執行。如可明白的,取決於每一輸入向量的資料依賴型電路路徑,輸入向量可通過或失敗,直至升至最大/閾值工作頻率。「通過」意味著資料依賴型電路路徑在特定工作頻率處提供了對輸入向量的預期的或正確的回應。「失敗」意味著資料依賴型電路路徑在特定工作頻率處提供了對輸入向量的不正確的、非預期的或改變了的回應。例如,在測試-c中,從通過到失敗的轉變發生在頻率-C和頻率-D之間。因而,閾值頻率可被選擇為頻率-C或頻率-D。輸入向量從通過轉變成失敗所處的此閾值頻率可被記錄並被用來產生與平臺相關聯的唯一性且不可克隆的識別符。
圖4是圖示一組輸入向量在不同的工作電壓處的示例性結果的表。這些輸入向量可能已經在一或多個元件、電路及/或半導體裝置上被執行。每一個輸入向量(例如,測試-a、測試-b、測試-c、測試-d)可隨著跨一或多個電壓(電壓-A、電壓-B、電壓-C、電壓-D、電壓-E及/或電壓-F)增量地調整(例如,降低)工作電壓而被反覆運算地執行。如可明白的,取決於每一輸入向量的資料依賴型電路路徑,輸入向量可通過或失敗,直至降至最小/閾值工作電壓。「通過」意味
著資料依賴型電路路徑在特定工作電壓處提供了對輸入向量的預期的或正確的回應。「失敗」意味著資料依賴型電路路徑在特定工作電壓處提供了對輸入向量的不正確的、非預期的或改變了的回應。例如,在測試-a中,從通過到失敗的轉變發生在電壓-D和電壓-E之間。因而,閾值電壓可被選擇為電壓-D或電壓-E。輸入向量從通過轉變成失敗的此閾值電壓可被記錄並被用來產生與平臺相關聯的唯一性且不可克隆的識別符。
圖5圖示展示一組輸入向量在不同的工作頻率-電壓對處的示例性結果的表。這些輸入向量可能已經在一或多個元件、電路及/或半導體裝置上被執行。每一個輸入向量(例如,測試-a、測試-b、測試-c、測試-d)可隨跨一或多個頻率/電壓對(頻率/電壓-A、頻率/電壓-B、頻率/電壓-C、頻率/電壓-D、頻率/電壓-E及/或頻率/電壓-F)增量地調整(例如,提高或降低)工作頻率/電壓對而被反覆運算地執行。如可明白的,取決於每一輸入向量的資料依賴型電路路徑,輸入向量可通過或失敗,直至閾值工作頻率-電壓對。「通過」意味著資料依賴型電路路徑在特定工作頻率/電壓對處提供了對輸入向量的預期的或正確的回應。「失敗」意味著資料依賴型電路路徑在特定工作頻率/電壓對處提供了對輸入向量的不正確的、非預期的或改變了的回應。例如,在測試-d中,從通過到失敗的轉變發生在頻率/電壓-B和頻率/電壓-C之間。因而,閾值頻率/電壓對可被選擇為電壓-B或電壓-C。輸入向量從通過轉變成失敗的此閾值頻率/電壓對可被記錄並被用來產生與平臺
相關聯的唯一性且不可克隆的識別符。
圖6圖示可適配成基於資料依賴型電路路徑來計算唯一性且不可克隆的識別符的示例性處理電路。在一個示例中,處理電路602可耦合到包含用於實現基於一或多個資料依賴型電路路徑的特性來產生唯一性識別符的指令的外部存放裝置604。在另一示例中,存放裝置604可與處理電路602整合以實現基於一或多個資料依賴型電路路徑的特性來產生唯一性識別符。處理電路602亦可包括准許調整一或多個內部子電路610、612及/或614及/或一或多個外部元件616、618和620的工作頻率的可程式設計頻率模組622(例如,時鐘產生器,等等)。另外,處理電路602亦可包括准許調整一或多個內部子電路610、612及/或614及/或一或多個外部元件616、618和620的工作電壓的可程式設計電壓模組624。
處理電路602可包括一或多個指令或從存放裝置604獲得一或多個指令以查明一或多個內部子電路610、612及/或614及/或一或多個外部元件616、618和620的資料依賴型路徑回應資訊。一或多個輸入向量606可由處理電路用來在子電路610、612、614及/或元件616、618、620上執行或進行一或多個操作。這些輸入向量可在增量地調整正被測試的子電路610、612、614或元件616、618和620中的每一者的工作頻率及/或工作電壓的同時被執行多次,直至查明了每一資料依賴型電路路徑的閾值頻率及/或閾值電壓。識別符產生器608隨後使用被測試的複數個資料依賴型路徑的結果所得的閾值頻率及/或閾值電壓來產生唯一性識別符622。
在一個示例中,唯一性識別符與包括處理電路602、內部/外部電路610、612、614及/或元件616、618和620的平臺相關聯。
在另一示例中,唯一性識別符與處理電路上的軟體應用安裝或執行相關聯。
在又一示例中,軟體應用在處理電路602上的執行可被綁定到對唯一性識別符的成功驗證。例如,每一次軟體應用被執行時,就基於唯一性識別符來執行驗證以查明軟體仍然在與它被安裝時相同的平臺上執行。對唯一性識別符的成功驗證可將唯一性識別符的原始實例與唯一性識別符的後續產生的實例進行比較以查明它們是相同的。
圖7圖示一種用於經由利用一或多個板載及/或板外元件、電路及/或半導體的資料依賴型電路路徑回應資訊來計算唯一性且不可克隆的平臺識別符(ID)的方法。可以在一或多個電路的一或多個資料依賴型電路路徑上執行一或多個測試(例如,輸入向量、計算操作,等等)(702)。注意,一或多個電路可以不是因識別符而異的電路,而是通用電路。在一些情況下,一或多個電路是非儲存型及/或非記憶型電路。
可在一或多個電路的一或多個資料依賴型電路路徑上重複一或多個測試,同時調整一或多個電路中的每一者的工作頻率及/或電壓(704)。例如,可提高一或多個電路中的每一者的工作頻率及/或可降低一或多個電路的工作電壓。可為一或多個資料依賴型電路路徑中的每一者查明閾值頻率及/
或電壓(706)。例如,此類閾值頻率或電壓可以是特定測試開始失敗(例如,結果/回應發生改變)時所處的最大頻率或最小電壓。
隨後可基於為一或多個資料依賴型電路路徑所查明的複數個閾值頻率及/或電壓來產生識別符(708)。在一個示例中,識別符可以基於一個電路的兩個或兩個以上不同電路路徑的兩個或兩個以上閾值頻率及/或閾值電壓(例如,來產生)。在另一示例中,識別符可以基於兩個或兩個以上不同電路的兩個或兩個以上不同電路路徑的兩個或兩個以上閾值頻率及/或閾值電壓。
在識別符正被初始產生的情形中,它可被儲存(例如儲存在非揮發性記憶體中)以供後續驗證(710)。例如,軟體應用可在它被安裝在平臺上時獲得並儲存第一識別符,從而將軟體安裝綁定到平臺的一或多個特定電路、微處理器及/或半導體裝置。
在識別符正被驗證的情形中,先前儲存的識別符被檢索(712)。新產生的識別符(來自步驟708)隨後與先前儲存的識別符進行比較以查明它們是否相同(714)。若它們相同,則可得出結論:被用來產生所儲存的識別符和新產生的識別符兩者的平臺是相同的並且驗證是成功的。否則,若新產生的識別符和所儲存的識別符是不同的,則驗證失敗。例如,在軟體應用的後續啟動時,它可以經由對照先前儲存的識別符驗證新產生的識別符來驗證它仍然在其原始平臺上執行,從而將軟體安裝綁定到平臺的一或多個特定電路、微處
理器及/或半導體裝置。
在片上系統(SoC)平臺上可界定兩個示例性實現場景。在第一示例中,處理器具有平臺識別符提取控制軟體、可程式設計時鐘產生器以及耦合到與處理器通訊的片上匯流排的片上計算元件。片上計算元件可以提供可由識別符提取控制軟體用來產生識別符的一或多個資料依賴型電路路徑。在第二示例中,處理器具有平臺識別符提取控制軟體、可程式設計時鐘產生器,並且有片外計算元件與處理器通訊。在此,片外計算元件可以提供可由識別符提取控制軟體用來產生識別符的一或多個資料依賴型電路路徑。
在這兩個示例性實現場景中,處理器均可在指定頻率處在穩定狀態下操作並且它將執行若干步驟。首先,控制軟體可以用測試(輸入)向量的集合來執行/執行,這些測試(輸入)向量可定址不同的資料依賴型電路路徑以在第一工作頻率處測試片上/片外計算元件。第二,控制軟體隨後可以用這些測試(同時)向量來執行/執行,與此同時調整時鐘頻率產生器以提高或降低供應給所測試的計算元件的時鐘頻率(例如,工作頻率),直至查明及/或記錄了每一資料依賴型電路路徑的閾值頻率(例如,最大頻率)。隨後可使用比較和量化規程來產生唯一性識別符,它亦可以是平臺識別符。若平臺具有多個片上及/或片外計算元件,則多個所提取的識別符可被組合成單個平臺識別符。
此辦法可適用於現有處理器、半導體及/或晶片,這些之中有許多已經具有為低功耗而啟用的靈活時鐘頻率控制
機制。另外,用於產生被綁定到硬體的唯一性識別符的此辦法不需要使用外部昂貴的測試設置和規程。此外,無需經由添加額外的硬體邏輯來修訂當前晶片設計並且其功能可經由軟體請求來啟用,所以它是零成本解決方案。
附圖中圖示的元件、步驟、特徵及/或功能之中的一或多個可以被重新編排及/或組合成單個元件、步驟、特徵或功能,或實施在數個元件、步驟或功能中。亦可添加額外的零件、元件、步驟及/或功能而不會脫離本發明。附圖中所圖示的裝置、設備及/或元件可以被配置成執行在這些附圖中所描述的方法、特徵或步驟中的一或多個。本文中描述的演算法亦可以高效地實現在軟體中及/或嵌入在硬體中。
此外,在本案的一個態樣,附圖中示出的處理電路可以是專門設計及/或硬佈線成執行附圖中描述的演算法、方法及/或步驟的專用處理器(例如,特殊應用積體電路(例如,ASIC))。因而,此類專用處理器(例如,ASIC)可以是用於執行附圖中描述的演算法、方法及/或步驟的裝置的一個示例。電腦可讀取儲存媒體亦可儲存處理器可讀取指令,這些處理器可讀取指令在由專用處理器(例如,ASIC)執行時使得專用處理器執行附圖中描述的演算法、方法及/或步驟。
亦應注意,本案的各態樣可作為被圖示為流程圖表、流程圖、結構圖或方塊圖的程序來描述。儘管流程圖可能會把諸操作描述為順序程序,但是這些操作中有許多能夠並行或併發地執行。另外,這些操作的次序可以被重新安排。程序在其操作完成時終止。程序可對應於方法、函數、規程
、子常式、副程式等。當程序對應於函數時,它的終止對應於函數返回調用方函數或主函數。
此外,儲存媒體可表示用於儲存資料的一或多個設備,包括唯讀記憶體(ROM)、隨機存取記憶體(RAM)、磁碟儲存媒體、光學儲存媒體、快閃記憶體設備及/或其他用於儲存資訊的機器可讀取媒體以及處理器可讀取媒體及/或電腦可讀取媒體。術語「機器可讀取媒體」、「電腦可讀取媒體」及/或「處理器可讀取媒體」可包括,但不限於非瞬態媒體,諸如便攜或固定的存放裝置、光學存放裝置,以及能夠儲存、包含或承載指令及/或資料的各種其他媒體。因此,本文中描述的各種方法可全部或部分地由可儲存在「機器可讀取媒體」、「電腦可讀取媒體」及/或「處理器可讀取媒體」中並由一或多個處理器、機器及/或設備執行的指令及/或資料來實現。
此外,本案的各態樣可以由硬體、軟體、韌體、仲介軟體、微代碼或其任何組合來實現。當在軟體、韌體、仲介軟體或微碼中實現時,執行必要任務的程式碼或程式碼片段可被儲存在諸如儲存媒體之類的機器可讀取媒體或其他儲存中。處理器可以執行這些必要的任務。程式碼片段可表示規程、函數、副程式、程式、常式、子常式、模組、套裝軟體、類,或是指令、資料結構、或程式語句的任何組合。經由傳遞及/或接收資訊、資料、引數、參數或記憶體內容,一程式碼片段可被耦合到另一程式碼片段或硬體電路。資訊、引數、參數、資料等可以經由包括記憶體共享、訊息傳遞、
符記傳遞、網路傳輸等的任何合適的手段被傳遞、轉發或傳輸。
結合本文中揭示的示例描述的各個說明性邏輯區塊、模組、電路、元件及/或元件可用通用處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)或其他可程式設計邏輯元件、個別閘或電晶體邏輯、個別的硬體元件或其設計成執行本文中描述的功能的任何組合來實現或執行。通用處理器可以是微處理器,但在替換方案中,處理器可以是任何習知的處理器、控制器、微控制器或狀態機。處理器亦可以實現為計算元件的組合,例如DSP與微處理器的組合、數個微處理器、與DSP核心協調的一或多個微處理器或任何其他此類配置。
結合本文中揭示的示例描述的方法或演算法可直接在硬體中、在能由處理器執行的軟體模組中、或在這兩者的組合中以處理單元、程式設計指令、或其他指示的形式實施,並且可包含在單個設備中或跨多個設備分佈。軟體模組可常駐在RAM記憶體、快閃記憶體、ROM記憶體、EPROM記憶體、EEPROM記憶體、暫存器、硬碟、可移除磁碟、CD-ROM、或此項技術中所知的任何其他形式的儲存媒體中。儲存媒體可耦合到處理器以使得處理器能從/向儲存媒體讀寫資訊。替換地,儲存媒體可以被整合到處理器。
熟習此項技術者將可進一步領會,結合本文中揭示的各態樣描述的各種說明性邏輯區塊、模組、電路和演算法步驟可被實現為電子硬體、電腦軟體或兩者的組合。為清楚
地圖示硬體與軟體的這一可互換性,各種說明性元件、方塊、模組、電路和步驟在上面是以其功能性的形式作一般化描述的。此類功能性是被實現為硬體還是軟體取決於具體應用和施加於整體系統的設計約束。
本文中所描述的本發明的各種特徵可實現於不同系統中而不脫離本發明。應注意,本案的以上各態樣僅是示例,且不應被解釋成限定本發明。對本案的各態樣的描述旨在是說明性的,而非限定所附請求項的範疇。由此,本發明的教導可以現成地應用於其他類型的裝置,並且許多替換、修改、和變形對於熟習此項技術者將是顯而易見的。
102‧‧‧輸入向量
104‧‧‧元件或電路
106‧‧‧識別符產生器
110‧‧‧工作頻率
112‧‧‧工作電壓
114‧‧‧資料依賴型電路路徑A
116‧‧‧資料依賴型電路路徑B
118‧‧‧資料依賴型電路路徑C
120‧‧‧資料依賴型電路路徑D
Claims (36)
- 一種在一處理電路中操作的用於產生一唯一性識別符的方法,包含以下步驟:在一或更多個電路的一或更多個資料依賴型電路路徑上執行一或更多個測試;在該一或更多個電路的該一或更多個資料依賴型電路路徑上重複該一或更多個測試,同時調整該一或更多個電路中的每一者的一工作頻率及(或)工作電壓以產生複數個測試結果;使用該等複數個測試結果中的至少一個測試結果,為該一或更多個資料依賴型電路路徑中的每一者查明一閾值頻率及(或)閾值電壓;及基於為該一或更多個資料依賴型電路路徑所查明的複數個閾值頻率及(或)閾值電壓來產生一識別符。
- 如請求項1述及之方法,其中該識別符與包括該處理電路的一平臺相關聯。
- 如請求項1述及之方法,進一步包含以下步驟:將一軟體應用安裝與該識別符相關聯;及將該軟體應用在該處理電路上的執行綁定到對該識別符的成功驗證。
- 如請求項3述及之方法,其中對該識別符的成功驗證將該 識別符的一原始實例與該識別符的一後續產生的實例進行比較以查明它們是相同的。
- 如請求項1述及之方法,其中該一或更多個資料依賴型電路路徑係基於該一或更多個測試而決定,使得一第一測試使一第一操作由該處理電路經由一第一資料依賴型電路路徑來執行,且一第二測試使與該第一操作不同的一第二操作由該處理電路經由一第二資料依賴型電路路徑來執行。
- 如請求項1述及之方法,其中該一或更多個電路是通用計算元件及(或)非因識別符而異的計算元件。
- 如請求項1述及之方法,其中該一或更多個電路是非儲存型及(或)非記憶型電路。
- 如請求項1述及之方法,其中該工作頻率及(或)工作電壓藉由以下至少一者來調整:在該一或更多個測試的每一輪反覆運算時提高該工作頻率;在該一或更多個測試的每一輪反覆運算時降低該工作電壓;及(或)在該一或更多個測試的每一輪反覆運算時調整該工作頻率和工作電壓的一組合。
- 如請求項1述及之方法,其中該一或更多個電路包括以下至少一者:一或更多個內部計算元件;一或更多個外部計算元件;及(或)內部和外部計算元件的一組合。
- 如請求項1述及之方法,其中該閾值頻率是在一給定資料依賴型電路路徑上的一測試提供對該測試的一不正確回應時所處的頻率。
- 如請求項1述及之方法,其中該閾值頻率是對在一給定資料依賴型電路路徑上的一測試的一預期回應改變成一非預期回應時所處的頻率。
- 如請求項1述及之方法,其中該識別符基於:一個電路的兩個或更多不同電路路徑的兩個或更多閾值頻率及(或)閾值電壓。
- 如請求項1述及之方法,其中該識別符基於:兩個或更多不同電路的兩個或更多不同電路路徑的兩個或更多閾值頻率及(或)閾值電壓。
- 如請求項1述及之方法,進一步包含以下步驟:儲存該識別符以供後續驗證。
- 如請求項1述及之方法,進一步包含以下步驟:檢索一先前儲存的識別符;及將該所產生的識別符與該先前儲存的識別符進行比較以查明它們是否相同。
- 一種用於產生一唯一性識別符的裝置,包含:一或更多個電路;耦合到該一或更多個電路的一處理電路,該處理電路適配成:在一或更多個電路的一或更多個資料依賴型電路路徑上執行一或更多個測試;在該一或更多個電路的該一或更多個資料依賴型電路路徑上重複該一或更多個測試,同時調整該一或更多個電路中的每一者的一工作頻率及(或)工作電壓以產生複數個測試結果;使用該等複數個測試結果中的至少一個測試結果,為該一或更多個資料依賴型電路路徑中的每一者查明一閾值頻率及(或)閾值電壓;及基於為該一或更多個資料依賴型電路路徑所查明的複數個閾值頻率及(或)閾值電壓來產生一識別符。
- 如請求項16述及之裝置,其中該識別符與包括該處理電路的一平臺相關聯。
- 如請求項16述及之裝置,其中該處理電路亦適配成:將一軟體應用安裝與該識別符相關聯;及將該軟體應用在該處理電路上的執行綁定到對該識別符的成功驗證。
- 如請求項18述及之裝置,其中對該識別符的成功驗證將該識別符的一原始實例與該識別符的一後續產生的實例進行比較以查明它們是相同的。
- 如請求項16述及之裝置,其中該一或更多個資料依賴型電路路徑係基於該一或更多個測試而決定,使得一第一測試使一第一操作由該處理電路經由一第一資料依賴型電路路徑來執行,且一第二測試使與該第一操作不同的一第二操作由該處理電路經由一第二資料依賴型電路路徑來執行。
- 如請求項16述及之裝置,其中該一或更多個電路是通用計算元件及(或)非因識別符而異的計算元件。
- 如請求項16述及之裝置,其中該一或更多個電路是非儲存型及(或)非記憶型電路。
- 如請求項16述及之裝置,其中該工作頻率及(或)工作電壓藉由以下至少一者來調整: 在該一或更多個測試的每一輪反覆運算時提高該工作頻率;在該一或更多個測試的每一輪反覆運算時降低該工作電壓;及(或)在該一或更多個測試的每一輪反覆運算時調整該工作頻率和工作電壓的一組合。
- 如請求項16述及之裝置,其中該一或更多個電路包括以下至少一者:一或更多個內部計算元件;一或更多個外部計算元件;及(或)內部和外部計算元件的一組合。
- 如請求項16述及之裝置,其中該閾值頻率是在一給定資料依賴型電路路徑上的一測試提供對該測試的一不正確回應時所處的頻率。
- 如請求項16述及之裝置,其中該閾值頻率是對在一給定資料依賴型電路路徑上的一測試的一預期回應改變成一非預期回應時所處的頻率。
- 如請求項16述及之裝置,其中該識別符基於:一個電路的兩個或更多不同電路路徑的兩個或更多閾值頻率及(或)閾值電壓。
- 如請求項16述及之裝置,其中該識別符基於:兩個或更多不同電路的兩個或更多不同電路路徑的兩個或更多閾值頻率及(或)閾值電壓。
- 一種用於產生一唯一性識別符的裝置,包含:用於在一或更多個電路的一或更多個資料依賴型電路路徑上執行一或更多個測試的構件;用於在該一或更多個電路的該一或更多個資料依賴型電路路徑上重複該一或更多個測試,同時調整該一或更多個電路中的每一者的一工作頻率及(或)工作電壓以產生複數個測試結果的構件;用於使用該等複數個測試結果中的至少一個測試結果,為該一或更多個資料依賴型電路路徑中的每一者查明一閾值頻率及(或)閾值電壓的構件;及用於基於為該一或更多個資料依賴型電路路徑所查明的複數個閾值頻率及(或)閾值電壓來產生一識別符的構件。
- 如請求項29述及之裝置,其中該工作頻率及(或)工作電壓藉由以下至少一者來調整:在該一或更多個測試的每一輪反覆運算時提高該工作頻率;在該一或更多個測試的每一輪反覆運算時降低該工作電壓;及(或) 在該一或更多個測試的每一輪反覆運算時調整該工作頻率和工作電壓的一組合。
- 如請求項29述及之裝置,其中該一或更多個電路包括以下之一:一或更多個內部計算元件;一或更多個外部計算元件;或內部和外部計算元件的一組合。
- 如請求項29述及之裝置,其中該閾值頻率及(或)閾值電壓分別是對在一給定資料依賴型電路路徑上的一測試的一預期回應改變成一非預期回應時所處的頻率及(或)電壓。
- 如請求項29述及之裝置,其中該識別符基於:至少一個電路的兩個或更多不同電路路徑的兩個或更多閾值頻率及(或)電壓。
- 一種用於產生一唯一性識別符的其上儲存有指令的機器可讀儲存媒體,該等指令在由至少一個處理器執行時使該至少一個處理器:在一或更多個電路的一或更多個資料依賴型電路路徑上執行一或更多個測試;在該一或更多個電路的該一或更多個資料依賴型電路路徑上重複該一或更多個測試,同時調整該一或更多個電路中 的每一者的一工作頻率及(或)工作電壓以產生複數個測試結果;使用該等複數個測試結果中的至少一個測試結果,為該一或更多個資料依賴型電路路徑中的每一者查明一閾值頻率及(或)閾值電壓;及基於為該一或更多個資料依賴型電路路徑所查明的複數個閾值頻率及(或)閾值電壓來產生一識別符。
- 如請求項34述及之機器可讀儲存媒體,其中該工作頻率及(或)工作電壓藉由以下至少一者來調整:在該一或更多個測試的每一輪反覆運算時提高該工作頻率;在該一或更多個測試的每一輪反覆運算時降低該工作電壓;及(或)在該一或更多個測試的每一輪反覆運算時調整該工作頻率和工作電壓的一組合。
- 如請求項34述及之機器可讀儲存媒體,其中該一或更多個電路包括以下之一:一或更多個內部計算元件;一或更多個外部計算元件;或內部和外部計算元件的一組合。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261740333P | 2012-12-20 | 2012-12-20 | |
US13/752,215 US9449153B2 (en) | 2012-12-20 | 2013-01-28 | Unique and unclonable platform identifiers using data-dependent circuit path responses |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201430605A TW201430605A (zh) | 2014-08-01 |
TWI559162B true TWI559162B (zh) | 2016-11-21 |
Family
ID=50976391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102147568A TWI559162B (zh) | 2012-12-20 | 2013-12-20 | 用於產生唯一性識別符的方法、裝置與機器可讀儲存媒體 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9449153B2 (zh) |
EP (1) | EP2923214B1 (zh) |
JP (1) | JP6096930B2 (zh) |
KR (1) | KR101773490B1 (zh) |
CN (1) | CN104854465B (zh) |
TW (1) | TWI559162B (zh) |
WO (1) | WO2014100647A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2922701C (en) | 2013-08-28 | 2021-05-04 | Stc.Unm | Systems and methods for leveraging path delay variations in a circuit and generating error-tolerant bitstrings |
US20160047855A1 (en) * | 2014-08-15 | 2016-02-18 | Case Western Reserve University | Pcb authentication and counterfeit detection |
CA2971212C (en) * | 2014-12-15 | 2023-08-08 | Stc.Unm | Reliability enhancement methods for physically unclonable function bitstring generation |
EP3046096B1 (en) * | 2015-01-15 | 2022-03-30 | Siemens Aktiengesellschaft | A protection method of writting encrypted data to a memory device and reading decrypted data from the memory device using the power up of a PUF |
US11095461B2 (en) * | 2016-11-04 | 2021-08-17 | Stc.Unm | System and methods for entropy and statistical quality metrics in physical unclonable function generated bitstrings |
FR3065556B1 (fr) * | 2017-04-19 | 2020-11-06 | Tiempo | Circuit electronique securise par perturbation de son alimentation. |
US10810346B2 (en) | 2018-09-28 | 2020-10-20 | Taiwan Semiconductor Manufacturing Co., Ltd. | Static voltage drop (SIR) violation prediction systems and methods |
DE102019116061A1 (de) | 2018-09-28 | 2020-04-02 | Taiwan Semiconductor Manufacturing Co., Ltd. | Systeme und verfahren zur vorhersage von statischen spannungsabfallverletzungen |
US11516028B2 (en) | 2019-12-24 | 2022-11-29 | CERA Licensing Limited | Temperature sensing physical unclonable function (PUF) authentication system |
GB201919297D0 (en) | 2019-12-24 | 2020-02-05 | Aronson Bill | Temperature sensing physical unclonable function (puf) authenication system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110002461A1 (en) * | 2007-05-11 | 2011-01-06 | Validity Sensors, Inc. | Method and System for Electronically Securing an Electronic Biometric Device Using Physically Unclonable Functions |
TWI347537B (en) * | 2006-12-29 | 2011-08-21 | O2Micro Int Ltd | Network acess control method and non-transitory computer-readable sotrage medium |
US20110317829A1 (en) * | 2010-06-25 | 2011-12-29 | International Business Machines Corporation | Physically Unclonable Function Implemented Through Threshold Voltage Comparison |
TWM443215U (en) * | 2012-04-19 | 2012-12-11 | C One Technology Corp | Portable storage device wit security mechanism and validation system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6161213A (en) * | 1999-02-17 | 2000-12-12 | Icid, Llc | System for providing an integrated circuit with a unique identification |
US7215684B1 (en) * | 2000-09-20 | 2007-05-08 | Qualcomm Incorporated | Method and apparatus for reducing transmission overhead in a communication system |
US7840803B2 (en) * | 2002-04-16 | 2010-11-23 | Massachusetts Institute Of Technology | Authentication of integrated circuits |
JP4524176B2 (ja) * | 2004-12-17 | 2010-08-11 | パナソニック株式会社 | 電子デバイスの製造方法 |
WO2009024913A2 (en) | 2007-08-22 | 2009-02-26 | Intrinsic Id Bv | Identification of devices using physically unclonable functions |
WO2011047062A1 (en) | 2009-10-13 | 2011-04-21 | Tiger's Lair Inc. | Protecting electronic systems from counterfeiting and reverse-engineering |
FR2955394B1 (fr) | 2010-01-18 | 2012-01-06 | Inst Telecom Telecom Paristech | Circuit integre en silicium comportant une fonction physiquement non copiable, procede et systeme de test d'un tel circuit |
JP5354611B2 (ja) * | 2010-07-29 | 2013-11-27 | 独立行政法人産業技術総合研究所 | 電子回路部品の真贋判定方法 |
JP5474705B2 (ja) * | 2010-08-23 | 2014-04-16 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
-
2013
- 2013-01-28 US US13/752,215 patent/US9449153B2/en active Active
- 2013-12-20 EP EP13828961.6A patent/EP2923214B1/en active Active
- 2013-12-20 TW TW102147568A patent/TWI559162B/zh not_active IP Right Cessation
- 2013-12-20 JP JP2015549795A patent/JP6096930B2/ja not_active Expired - Fee Related
- 2013-12-20 KR KR1020157018765A patent/KR101773490B1/ko active IP Right Grant
- 2013-12-20 CN CN201380064280.6A patent/CN104854465B/zh active Active
- 2013-12-20 WO PCT/US2013/077049 patent/WO2014100647A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI347537B (en) * | 2006-12-29 | 2011-08-21 | O2Micro Int Ltd | Network acess control method and non-transitory computer-readable sotrage medium |
US20110002461A1 (en) * | 2007-05-11 | 2011-01-06 | Validity Sensors, Inc. | Method and System for Electronically Securing an Electronic Biometric Device Using Physically Unclonable Functions |
US20110317829A1 (en) * | 2010-06-25 | 2011-12-29 | International Business Machines Corporation | Physically Unclonable Function Implemented Through Threshold Voltage Comparison |
TWM443215U (en) * | 2012-04-19 | 2012-12-11 | C One Technology Corp | Portable storage device wit security mechanism and validation system |
Also Published As
Publication number | Publication date |
---|---|
CN104854465B (zh) | 2018-01-09 |
KR20150097624A (ko) | 2015-08-26 |
EP2923214B1 (en) | 2016-10-19 |
EP2923214A1 (en) | 2015-09-30 |
JP2016510498A (ja) | 2016-04-07 |
US20140181986A1 (en) | 2014-06-26 |
WO2014100647A1 (en) | 2014-06-26 |
US9449153B2 (en) | 2016-09-20 |
TW201430605A (zh) | 2014-08-01 |
KR101773490B1 (ko) | 2017-08-31 |
CN104854465A (zh) | 2015-08-19 |
JP6096930B2 (ja) | 2017-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI559162B (zh) | 用於產生唯一性識別符的方法、裝置與機器可讀儲存媒體 | |
JP6377865B2 (ja) | リング発振器ベースの物理的複製不可関数および年齢検知回路を使用した集積回路識別およびディペンダビリティ検証 | |
US10771264B2 (en) | Securing firmware | |
US9948470B2 (en) | Applying circuit delay-based physically unclonable functions (PUFs) for masking operation of memory-based PUFs to resist invasive and clone attacks | |
US8938792B2 (en) | Device authentication using a physically unclonable functions based key generation system | |
US10015014B2 (en) | Technologies for secure presence assurance | |
US20160173289A1 (en) | Physically uncloneable function device using mram | |
EP3031168A1 (en) | Systems, methods and apparatuses for prevention of unauthorized cloning of a device | |
JP2016510498A5 (zh) | ||
US20210099314A1 (en) | Method and system for detecting an attack on a physically unclonable function (puf) | |
US11829464B2 (en) | Apparatus and method for authentication of software | |
US9182943B2 (en) | Methods and devices for prime number generation | |
TWI715826B (zh) | 用於改良一矽基系統之安全性之電腦實施方法及設備 | |
CN112639783B (zh) | 同时的镜像测量和执行 | |
JP6062795B2 (ja) | 半導体装置 | |
Perumalla et al. | Memometer: Memory PUF-Based Hardware Metering Methodology for FPGAs | |
US20230394209A1 (en) | Functional verification flow of obfuscated designs for circuits | |
Bechtold | The present and future of digital rights management | |
KR20240093962A (ko) | 컴퓨팅 시스템의 제어 흐름을 검증하기 위한 제어 흐름 무결성 측정 | |
US20140164788A1 (en) | Secure Switch Between Modes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |