TWI645703B - 半導體裝置及安全系統 - Google Patents
半導體裝置及安全系統 Download PDFInfo
- Publication number
- TWI645703B TWI645703B TW106130790A TW106130790A TWI645703B TW I645703 B TWI645703 B TW I645703B TW 106130790 A TW106130790 A TW 106130790A TW 106130790 A TW106130790 A TW 106130790A TW I645703 B TWI645703 B TW I645703B
- Authority
- TW
- Taiwan
- Prior art keywords
- information
- semiconductor device
- code
- section
- specific information
- Prior art date
Links
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/75—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 inhibiting the analysis of circuitry or operation
-
- 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
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/1201—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising I/O circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/24—Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
-
- 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/3226—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 a predetermined code, e.g. password, passphrase or PIN
-
- 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/34—Bits, or blocks of bits, of the telegraphic message being interchanged in time
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0403—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals during or with feedback to manufacture
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/4402—Internal storage of test result, quality data, chip identification, repair information
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C2029/5002—Characteristic
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/46—Test trigger logic
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Semiconductor Integrated Circuits (AREA)
- Storage Device Security (AREA)
- Quality & Reliability (AREA)
Abstract
本發明的半導體裝置包括在複數操作環境下操作以產生特定資訊的特定資訊產生部,偵測特定資訊中的不定資訊之偵測部,儲存特定資訊及用以識別不定資訊的識別資訊的記憶部,以及當從主機裝置有特定資訊的要求時、回應於此而從記憶部讀出特定資訊與識別資訊、且將其輸出給主機裝置之讀出部。
Description
本發明是有關於具有特定資訊產生功能的半導體裝置,特別是有關於利用半導體裝置的電路元件產生特定資訊的方法。
最近幾年,隨著電子元件及電子裝置的安全強化,也要求防止對實裝於其上的半導體裝置進行偽造及模倣等的對策。有的方法是在半導體裝置中給定特定資訊(unique information),當特定資訊被認證時,該半導體裝置被視為可信的物件而使半導體裝置和電子設備的操作被許可。特定資訊,例如可儲存於半導體裝置的非揮發性記憶體等,但是此種方法有利用解析半導體裝置而讀取特定資訊、或利用從外部對半導體裝置進行非法存取而讀取特定資訊之風險。
因此最近,無法物理上進行複製的PUF技術(Physical Unclonable Function)廣受矚目。PUF技術係將無法預測、保密性高且具有恒久性的物理資訊作為特定資訊使用。例如,專利文件1(日本專利特開2015-80252號公報)公開一種數位值產生裝置及方法,其揭示使用半導體的製程偏差以產生特定的數位值的技術。專利文件2(日本專利特開2016-12931號公報)公開一種半導體裝置,其揭示從對應於由獨特碼產生部所產生 的元件特定的獨特碼的記憶區域,將特定資訊讀出的技術。
然而,在如專利文件1利用半導體的製程偏差產生特定的數位值的場合中,若電路元件的偏差小,則「0」或「1」的判定困難。另一方面,若將用以判定的邊際(margin)加大,則有特定資訊的隨機性(非預測性)降低的問題。本發明之目的為提供解決此種習知問題且改善特定資訊產生方法的半導體裝置。
本發明之半導體裝置,包括特定資訊產生部,在複數個操作環境下操作以產生特定資訊,該特定資訊包含穩定資訊與不定資訊,該穩定資訊在該複數個操作環境中皆相同,且該不定資訊在該複數個操作環境的至少二者中不相同;偵測部,偵測該不定資訊;記憶部,用以儲存該特定資訊及用以識別該不定資訊的識別資訊;以及讀出部,讀取該特定資訊及該識別資訊,並將所讀出的該特定資訊及該識別資訊輸出至外部。
此外,半導體裝置更包括消去部,用以消去儲存於前述記憶部的特定資訊及識別資訊。此外,前述消去部可回應來自外部的要求而消去前述特定資訊及前述識別資訊。此外,在由前述消去部將前述特定資訊及前述識別資訊消去之後,當從外部有特定資訊的要求時,前述讀出部將由前述產生部所產生的特定資訊輸出至外部。此外,前述記憶部依據配置暫存器中所設定的位址,儲存前述特定資訊及前述識別資訊。
本發明之安全系統,包括有上述結構的半導體裝 置以及和該半導體裝置可連接的主機裝置。前述主機裝置包括儲存單元,儲存從前述半導體裝置接收的前述特定資訊及前述識別資訊;資訊接收單元,自半導體裝置的特定資訊產生部接收特定資訊;以及認證單元,基於識別資訊比較儲存單元中的特定資訊中的穩定資訊與資訊接收單元中的特定資訊中的穩定資訊,以進行半導體裝置的認證。此外,前述主機裝置包括在儲存前述特定資訊及前述識別資訊之後對前述半導體裝置要求消去前述特定資訊及前述識別資訊之裝置。
依據本發明,藉由使用包含穩定資訊與不定資訊的特定資訊與不定資訊的識別資訊,能夠有效地利用特定資訊來進行認證而不降低特定資訊的隨機性。此外,藉由消除特定資訊及識別資訊,即使竊取者對半導體裝置進行解析或分解也無法得知特定資訊,因此能夠保持更高度的安全。
10‧‧‧安全系統
100‧‧‧主機裝置
200‧‧‧半導體裝置
210‧‧‧輸入出部
220‧‧‧控制部
230‧‧‧碼產生用電路
240‧‧‧非揮發性記憶部
242‧‧‧碼資訊
250‧‧‧操作模式判定部
252‧‧‧操作資訊取得部
254‧‧‧虛擬碼偵測部
256‧‧‧碼資訊產生部
258‧‧‧碼資訊讀出部
260‧‧‧碼資訊消去部
232-1、232-2、…232-n‧‧‧反相器電路
234-1、234-2、…234-n‧‧‧比較器
out(1)-out(n)‧‧‧比較器的輸出
IV1、IV2‧‧‧反相器
N1、N2‧‧‧輸出節點
236‧‧‧編碼部
DV‧‧‧驅動訊號
Vcc‧‧‧電源供應電壓
110A‧‧‧碼資訊儲存部
120A‧‧‧真實碼擷取部
130A‧‧‧真實碼選擇部
110B‧‧‧碼資訊接收部
120B‧‧‧真實碼擷取部
130B‧‧‧真實碼選擇部
140‧‧‧設定部
150‧‧‧比較部
第1圖的(A)顯示本發明實施例之安全系統的概要圖;第1圖的(B)顯示本發明實施例之半導體裝置的主要部分的結構的方塊圖。
第2圖顯示本發明實施例之碼產生用電路的一例圖。
第3圖的(A)是顯示藉由碼產生用電路所產生的操作資訊之一例的表;第3圖的(B)是顯示將從操作資訊偵測得的虛擬碼的表。
第4圖顯示本發明實施例之半導體裝置在出貨前,產生的碼資訊的流程圖。
第5圖顯示本發明實施例之安全系統的操作流程圖。
第6圖顯示儲存於本發明實施例之主機裝置的碼資訊的一例圖。
第7圖顯示本發明實施例之安全系統的認證操作的流程。
第8圖顯示本發明第2實施例之安全系統的說明圖。
以下,關於本發明的實施樣態,將參照圖式作詳細說明。本發明的半導體裝置產生半導體裝置的特定資訊且對應利用該特定資訊的安全系統。本發明的半導體裝置除了產生特定資訊的功能外,並無特別限定包含何種功能。本發明的半導體裝置可以是半導體記憶體、半導體邏輯、半導體處理電路、半導體驅動電路、中央處理電路等。半導體裝置200,能在例如IC卡媒體(例如,SIMM卡、信用卡、內藏IC的卡)、智能電話等的攜帶終端、電子設備、電腦等有安全要求的每一電子裝置中使用。
[實施例]
第1圖(A)顯示本發明實施例的安全系統之一例示。安全系統10,例如,包括主機裝置100,及以有線或無線連接主機裝置100的半導體裝置200。主機裝置100利用半導體裝置200產生的特定資訊,以認證半導體裝置200是否為可信的物件(是否為非法物件)。於一範例中,主機裝置100僅在能夠認證半導體裝置200的場合中可使用半導體裝置200,即在不能認證的場合中不能使用半導體裝置200。主機裝置100並無特別的限定,例如包括電腦裝置、電腦系統、微控制器、微電腦等。
半導體裝置200利用自身包括的電路或電路元件以產生特定的資訊。半導體裝置200,例如可包括在矽基板或其以外的基板(例如,SiC、GaAs、藍寶石等)上各種的電路元件(例如,電晶體、電阻、電容等)。在各半導體裝置中的電路元件具有特定的特性,例如一半導體裝置中的電晶體的臨界值與其他半導體裝置的電晶體的臨界值相異,因此半導體裝置的電路元件可以作為特定資訊的來源。
當主機裝置100與半導體裝置200連接時,主機裝置100從半導體裝置200接收特定資訊,且基於此特定資訊進行半導體裝置200的認證。認證可以在任何時候被執行,例如,在與半導體裝置200初次連接時、或者當主機裝置100接收來自使用者的要求時等。
第1圖(B)顯示本實施例的半導體裝置200的主要部分之結構的方塊圖。半導體裝置200包括在主機裝置100之間進行資料收送的輸入出部210、控制部220、用以產生作為特定資訊的碼之碼產生用電路230及非揮發性記憶部240。又,在此例示的結構是一範例,半導體裝置200可以包括在此以外的結構。
在較佳的樣態中,控制部220包括操作模式判定部250、操作資訊取得部252、虛擬碼偵測部254、碼資訊產生部256、碼資訊讀出部258、以及碼資訊消去部260。操作模式判定部250用以判定半導體裝置200的操作模式。
在較佳的範例中,操作模式判定部250判定半導體裝置200是否處於被操作在複數個操作環境中的操作模式。此種操作模式例如可以是測試模式。例如,當特定的外部端子(省 略圖示)被施加正常操作不使用的電壓(例如負電壓)時,半導體裝置200將被切換至測試模式,且在複數個操作環境中進行測試。或者,當測試命令被輸入至半導體裝置200的輸入出部210時,半導體裝置200將被切換至測試模式,且在複數個操作環境中進行測試。較佳的是,測試要在半導體裝置200出貨前實施。又,測試亦可在半導體晶片單片化之前的晶圓狀態下進行,或者可在單片化的晶片已封裝的狀態下進行。操作模式判定部250係用以判定在複數個操作環境下操作的模式。
當操作模式判定部250判定半導體裝置200處在複數個操作環境下操作的模式時,操作資訊取得部252從碼產生用電路230取得操作資訊,並提供給虛擬碼偵測部254。碼產生用電路230是形成於半導體裝置200的電路,當半導體裝置200在複數個操作環境下操作時,碼產生用電路230輸出對應於複數個操作環境的複數個操作資訊。例如,在測試模式時,碼產生用電路230在不同的操作溫度及/或不同的供給電壓下操作,且輸出對應的操作結果作為操作資訊。
在此,將碼產生用電路230的一範例顯示於第2圖。碼產生用電路230可以共用用以實施半導體裝置200功能之電路的一部分或全部,亦可以是專用地被設置。
碼產生用電路230具有用以輸出n位元操作資訊的n組電路。如圖所示,碼產生用電路230具有各包含一對反相器IV1、IV2的n組反相器電路232-1、232-2、…232-n,接收n組反相器電路232-1、232-2、…232-n的各別輸出之n組比較器(差動放大器)234-1、234-2、…234-n,以及接收n組比較器234-1、 234-2、…234-n的輸出out(1)~out(n)並輸出n位元操作資訊的編碼部236。
電源供應電壓Vcc被提供至一對反相器IV1、IV2,這些反相器IV1、IV2的各閘極共同地連接至驅動訊號DV。驅動訊號DV較佳的是電源供應電壓Vcc的一半。當對一對反相器IV1、IV2的閘極輸入等於電源供應電壓Vcc的一半的驅動訊號DV時,在反相器IV1、IV2流通有作為漏電流的貫通電流。由於構成這些反相器IV1、IV2的電晶體和井區等存在製程的偏差,這些電晶體的臨界值和井區的濃度有輕微的偏差,故流通於反相器IV1、IV2的漏電流也產生微小的偏差。因此,反相器IV1的輸出節點N1、反相器IV2的輸出節點N2的輸出電壓也產生微小的偏差。差動放大器234比較輸出節點N1的電壓與輸出節點N2的電壓,並根據兩者的差值輸出高(H)或低(L)位準的資料。編碼部236接收n組差動放大器234的輸出,且輸出n位元的操作資訊。
如上所述,碼產生用電路230在複數個操作環境下操作,且藉由其中的編碼部236輸出對應複數個操作環境之各別的操作資訊。第3圖(A)顯示當碼產生用電路230操作在複數個操作溫度下,所輸出的操作資訊的一範例。在此係顯示碼產生用電路230在室溫、高溫、低溫下操作時輸出16位元的操作資訊的例子(0~F表示16進制的位址)。由於碼產生用電路230中的電晶體的操作特性容易受到溫度變化的影響,流通於反相器232-1~232-16的各反相器IV1、IV2的貫通電流在每個反相器電路各不相同,此外各個差動放大器234-1~234-16的特性在這些 溫度條件下也各別不同。因此,碼產生用電路230在室溫、高溫、低溫下操作時,藉由編碼部236所輸出的操作資訊的值不一定會全部相同,即一部分的值會不同。在圖示的範例中,位址1的操作資訊在高溫操作時是「0」,在室溫及低溫操作時是「1」。又,位址5的操作資訊在低溫操作時是「1」,在室溫及高溫操作時是「0」。此外,位址C的操作資訊在低溫操作時是「0」,在室溫及高溫操作時是「1」。
又,複數個操作環境並非只限定於操作溫度的變化,例如也包括電源供應電壓Vcc的變化。當電源供應電壓Vcc變化時,由於電晶體的操作特性也變化,因而從碼產生用電路230輸出的操作資訊也能因電源供應電壓Vcc的變化而變化。此外,複數個操作環境亦可以包括操作溫度及電源供應電壓Vcc兩個參數的變化。
再請參照第1圖,當操作資訊取得部252從碼產生用電路230取得對應於複數個操作環境之操作資訊時,虛擬碼偵測部254從所取得的操作資訊偵測出虛擬碼。例如第3圖(A)所示的操作資訊中,其包括即便操作溫度改變也不會有變化的穩定的值、以及一旦操作溫度改變則操作資訊也跟著變化的值。在此,為方便起見,將操作資訊中不隨著操作環境的改變而改變的穩定的值稱為「真實碼」,將操作資訊中隨著操作環境的改變而改變的不穩定的碼稱為「虛擬碼」。
虛擬碼偵測部254從取得的n位元的操作資訊中,偵測出操作資訊中當操作環境改變後的相異值。此偵測係藉由邏輯運算而執行。例如,對不同操作環境的操作資訊的同一位 址的位元值執行AND運算,運算結果若是「1」則是真實碼。因為只有當全部的位元皆是「1」時,AND運算結果才是「1」,這意謂即使操作環境變化,不同操作環境的操作資訊的同一位址的位元值不會變化。
另一方面,當AND運算結果是「0」時,則可能包括真實碼和虛擬碼兩種情況。亦即,若全部的位元值是「0」則是真實碼;若一部分的位元值是「0」則是虛擬碼。為了對此進行判定,在AND運算結果是「0」的場合中,更參照各位元值的OR運算結果,若OR運算結果是「0」則判定是真實碼,若OR運算結果是「1」,由於其中之一的位元值是「1」而判定是虛擬碼。
第3圖(B)將第3圖(A)的操作資訊之虛擬碼的偵測結果顯示在最下列的碼,並以「x」代表虛擬碼。亦即對應於位址1、5、C的位元值是對應於操作環境的變化而變化之不定資訊,對應於除此以外位址的位元值是對應操作環境的變化而不變化之真實碼(穩定資訊)。
碼資訊產生部256基於虛擬碼偵測部254的偵測結果產生碼資訊242。碼資訊242例如包括由真實碼和虛擬碼構成的碼列、以及用以識別該碼列中的虛擬碼的識別資訊。以第3圖(B)為例,碼資訊產生部256產生的碼資訊242包括「0x001x100101x001」的碼列、以及用以識別該碼列中的虛擬碼的位址資訊1、5、C。又,在此應注意,實際上,虛擬碼「x」將被指定為「0」或「1」,且碼資訊是作為2進制資訊處理。
碼資訊產生部256將產生的碼資訊242儲存於半導 體裝置200的非揮發性記憶部240內的預定位址所指定的區域。碼資訊242的儲存位址,例如可以是半導體裝置200通電時最初被讀出的位址。或者,可以是半導體裝置200的配置暫存器中,由使用者所設定的位址。
當安全系統10中的主機裝置100要求碼資訊時,碼資訊讀出部258將碼資訊242從非揮發性記憶部240讀出且輸出至主機裝置100。又,若主機裝置100在非揮發性記憶部240儲存的碼資訊242被消去後要求碼資訊242,碼資訊讀出部258將讀取藉由碼產生用電路230所產生的操作資訊以作為碼資訊242,並將操作資訊提供至主機裝置100。
碼資訊消去部260回應來自主機裝置100的命令,在碼資訊242已儲存於主機裝置100之後,刪除非揮發性記憶部240所儲存的碼資訊242。
接著說明本實施例安全系統的操作。第4圖係關於半導體裝置出貨前碼資訊產生的操作流程。首先,半導體裝置200在複數操作環境下操作(S100),由操作資訊取得部252取得對應複數個操作環境的操作資訊(S110),由虛擬碼偵測部254偵測操作資訊中的虛擬碼(S120)。碼資訊產生部256基於虛擬碼偵測部254的偵測結果產生碼資訊242且將其儲存於非揮發性記憶部240(S130)。
接著說明透過主機裝置100對半導體裝置200的認證操作。第5圖是半導體裝置200初次連接主機裝置100時的操作範例。如上所述,半導體裝置200在出貨前將碼資訊242儲存於非揮發性記憶部240(S200)。主機裝置100在與半導體裝置 200初次連接時,對半導體裝置200執行碼資訊242的要求。回應來自主機裝置100對於碼資訊242的要求,半導體裝置200的碼資訊讀出部258從非揮發性記憶部240讀出碼資訊242(S210),且透過輸入出部210將讀出的碼資訊242傳送至主機裝置100。
一旦主機裝置100取得碼資訊242,便將碼資訊242儲存在主機裝置100的非揮發性記憶區域(S220)。較佳的是,如第6圖所示,主機裝置100能夠儲存半導體裝置200中關聯於特定ID號碼(例如#A)的裝置所儲存的碼資訊242。儲存在主機裝置100的碼資訊242包括所關聯的特定ID號碼、由碼資訊產生部256產生的原始碼、用以識別虛擬碼的識別資訊、及儲存時間。就第3圖(B)之範例而言,原始碼是「0x001x100101x001」(但x實際上將以「1」或「0」表示),虛擬碼的識別資訊是表示虛擬碼「x」之位址的「1、5、C」。
一旦主機裝置100已儲存來自半導體裝置200的碼資訊242,主機裝置100即要求半導體裝置200刪除碼資訊242。半導體裝置200的碼資訊消去部260回應碼資訊刪除要求,刪除非揮發性記憶部240的碼資訊242(S230)。較佳的是,一刪除旗標將在碼資訊消去部260刪除碼資訊242時被產生。此後,在碼資訊242已被消去的場合中,當主機裝置100再次要求碼資訊242時,碼資訊讀出部258將參照刪除旗標,將由碼產生用電路230產生的操作資訊作為碼資訊讀出並輸出至主機裝置100。
又,於上述範例中,雖然碼資訊消去部260係回應主機裝置100的碼資訊刪除要求而刪除碼資訊242,但於另一實 施例中,碼資訊消去部260亦可以響應於碼資訊讀出部258將碼資訊242輸出至主機裝置100的場合,而自動地刪除碼資訊242。
在半導體裝置200的碼資訊242被刪除且被儲存於主機裝置100之後,進行遵循第7圖所示的認證流程。主機裝置100再次對半導體裝置200進行碼資訊的要求。半導體裝置200的碼資訊讀出部258參照刪除旗標得知非揮發性記憶部240的碼資訊242已被刪除,並透過操作資訊取得部252取得由碼產生用電路230產生的操作資訊作為碼資訊242(S300),且將取得的碼資訊傳送至主機裝置100。
主機裝置100基於虛擬碼的識別資訊(參照第6圖),從所接收的碼資訊242擷取出虛擬碼以外的真實碼(S310)。例如,將虛擬碼的位址所指定的位元遮蔽。接著,主機裝置100將儲存的真實碼與擷取的真實碼進行比較(S320),若兩者的真實碼一致則認證半導體裝置200為真正的物件,若不一致則不認證為真正的(S330)。主機裝置100只在已認證的場合許可半導體裝置200的使用(S340),在無法認證的場合則禁止或不許可半導體裝置200的使用(S350)。
依據本實施例的安全系統,能利用半導體裝置的特定資訊認證半導體裝置。又,由於半導體裝置的特定資訊將在儲存於主機裝置後被刪除,即使將半導體裝置進行解析等,也無法得知特定資訊。因此,能建構更高度的安全系統。
接著說明本發明的第2實施例。在上述實施例中,主機裝置100基於虛擬碼的識別資訊以擷取真實碼,並將所擷取的全部真實碼作為比較對象,但是在第2實施例中係選擇所 擷取的真實碼的全部或一部分作為比較對象。
第8圖顯示第2實施例的主機裝置100的功能結構之方塊圖。主機裝置100,包括碼資訊儲存部110A、真實碼擷取部120A、以及真實碼選擇部130A。碼資訊儲存部110A用以儲存如第6圖所示的碼資訊;真實碼擷取部120A基於虛擬碼的識別資訊擷取真實碼;以及,真實碼選擇部130A基於設定部140所設定的設定資訊以選擇至少一部份的真實碼。此外,主機裝置100包括碼資訊接收部110B,接收來自半導體裝置200的碼資訊;真實碼擷取部120B,基於虛擬碼的識別資訊從所接收的碼資訊中擷取真實碼;真實碼選擇部130B,基於由設定部140所設定的設定資訊以選擇至少一部份的真實碼;以及,比較部150,比較以真實碼選擇部130A、130B所選擇的2個真實碼。
設定部140使欲比對的真實碼可在每次認證半導體裝置200時、或者在每一定期間變化,藉此使欲比對的真實碼保持隨機性。在一範例中,設定部140能設定所擷取的真實碼的一部分為比較對象。例如,就第3圖(B)的範例而言,使用對應位址「2-4、6-A」的8位元真實碼為比較對象。關於真實碼的選擇,例如可以由使用者輸入,亦可以遵照預先決定的序列來設定。此外,亦可以遵循亂數產生部所產生的亂數而選擇所擷取的真實碼的至少一部分。
又,在其他範例中,設定部140能變更所擷取的真實碼的順序或組合以構成欲比對的真實碼序列。例如,可以如第3圖(B)所示,從位址小的方向開始依序地排列,相反地亦可以從位址大的方向開始依序地排列。或者,也可以依據預先決 定的序列而變更所擷取的真實碼的順序(例如就第3圖(B)而言,依據依序對應至位址「6、7、8、9、A、B、4、3、2」的那些真實碼組成欲比對的真實碼序列「100101100」。
此外,設定部140亦可以改變所擷取的真實碼的組合以構成欲比對的真實碼序列。例如就第3圖(B)而言,可以藉由像是依序對應至位址「2-4、6-8、D-E」或「0、2-3、7-A、D」的那些真實碼的組合構成欲比對的真實碼序列。又,設定部140還可將依據亂數選擇的多個真實碼組合成欲比對的真實碼序列。又,對應至相同位址的真實碼可以被重複地使用以組合成欲比對的真實碼序列,如藉由組合依序對應至位址「0、0、2、2、4、4、4、A、A」的那些真實碼構成欲比對的真實碼序列「000011100」。於一實施例中,當希望將真實碼的位元數設為規定的長度時,可重複地使用對應至相同位址的真實碼。
由設定部140所設定的設定資訊共同提供給真實碼選擇部130A、130B;真實碼選擇部130A、130B依據該設定資訊進行真實碼的選擇等。如此依據第2實施例,藉由在每次認證、或在每一定期間使真實碼變化,能夠得到更高度的安全系統。
上述實施例中雖顯示半導體裝置的概念結構,但是半導體裝置,例如可以是快閃記憶體。主機裝置從快閃記憶體取得特定的碼資訊以進行快閃記憶體的認證。在此場合中,快閃記憶體的碼產生用電路230能利用頁緩衝器/感測放大器,以在複數個操作環境中將記憶胞陣列的特定頁讀出,並使已編碼的操作資訊從頁緩衝器/感測放大器輸出。
雖已經詳述本發明合意的實施樣態,但是本發明並非限定於特定的實施樣態,在申請專利範圍所記載的本發明的要點的範圍內,可有各種的修改和變化。
Claims (14)
- 一種半導體裝置,包括:特定資訊產生部,在複數個操作環境下操作以產生特定資訊;該特定資訊包含穩定資訊與不定資訊,該穩定資訊在該複數個操作環境中皆相同,且該不定資訊在該複數個操作環境的至少二者中不相同;偵測部,偵測該不定資訊;碼資訊產生部,其基於該偵測部所偵側的該不定資訊產生碼資訊,該碼資訊包括由該穩定資訊與該不定資訊所構成的碼列,以及用以指出該碼列中的該不定資訊的位址的識別資訊;記憶部,用以儲存該碼資訊;以及讀出部,讀取該碼資訊,並將所讀出的該碼資訊輸出至外部。
- 如申請專利範圍第1項所述的半導體裝置,更包括消去部,用以消去儲存於該記憶部的該特定資訊及該識別資訊。
- 如申請專利範圍第2項所述的半導體裝置,其中該消去部回應來自該外部的要求而消去該特定資訊及該識別資訊。
- 如申請專利範圍第2項所述的半導體裝置,其中在由該消去部將該特定資訊及該識別資訊消去之後,當從該外部有該特定資訊的要求時,該讀出部將由該特定資訊產生部所產生的該特定資訊輸出至該外部。
- 如申請專利範圍第1至4項其中之一所述的半導體裝置,其中該記憶部依據配置暫存器中所設定的位址儲存該特定資訊及該識別資訊。
- 如申請專利範圍第1項所述的半導體裝置,其中該複數操作環境包括在不同環境溫度的操作、在不同電源電壓的操作或其組合。
- 如申請專利範圍第1至4項其中之一所述的半導體裝置,其中該穩定資訊在該複數操作環境操作時全部是「0」或「1」,該不定資訊在該複數操作環境操作時包含「0」和「1」。
- 如申請專利範圍第1至4項其中之一所述的半導體裝置,更包括操作模式判定部及操作資訊取得部,該操作模式判定部用以判斷所述的半導體裝置是否操作於該複數個操作環境,當判斷所述的半導體裝置操作於該複數個操作環境時,該操作資訊取得部自該特定資訊產生部取得該特定資訊,並提供給該偵測部。
- 如申請專利範圍第1項所述的半導體裝置,其中該特定資訊產生部包括各別具有一對的反相器之n組反相器電路、各別比較該對的反相器的輸出電壓之n組比較電路、以及基於該n組比較電路的比較結果而產生n位元的該特定資訊之編碼部。
- 如申請專利範圍第9項所述的半導體裝置,其中在該對的反相器的閘極上,施加供應電源電壓之一半的電壓。
- 一種安全系統,包括:如申請專利範圍第1至4、6、9、10項其中之一所述的半導體裝置;以及與該半導體裝置可連接的主機裝置,包括:儲存單元,儲存從該半導體裝置接收的該特定資訊及該識別資訊;資訊接收單元,自該半導體裝置的該特定資訊產生部接收該特定資訊;以及認證單元,基於該識別資訊比較該儲存單元中的該特定資訊中的該穩定資訊與該資訊接收單元中的該特定資訊中的該穩定資訊,以進行該半導體裝置的認證。
- 如申請專利範圍第11項所述的安全系統,其中該主機裝置包括在儲存該特定資訊及該識別資訊之後對該半導體裝置要求消去該特定資訊及該識別資訊之裝置。
- 如申請專利範圍第12項所述的安全系統,其中該認證裝置包括穩定資訊擷取部、穩定資訊選擇部、設定部與比較部,該穩定資訊擷取部基於該識別資訊從該特定資訊中擷取該穩定資訊,該穩定資訊選擇部基於該設定部的設定資訊選擇該穩定資訊的至少一部分或變更該穩定資訊的排序,該比較部基於該識別資訊與該設定資訊比較選擇自該儲存單元中的該特定資訊中的該穩定資訊與選擇自該資訊接收單元中的該特定資訊中的該穩定資訊。
- 如申請專利範圍第13項所述的安全系統,其中該設定部將隨機地選擇或排序所擷取的該穩定資訊。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016-182782 | 2016-09-20 | ||
JP2016182782A JP6471130B2 (ja) | 2016-09-20 | 2016-09-20 | 半導体装置およびセキュリティシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201830914A TW201830914A (zh) | 2018-08-16 |
TWI645703B true TWI645703B (zh) | 2018-12-21 |
Family
ID=61617649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106130790A TWI645703B (zh) | 2016-09-20 | 2017-09-08 | 半導體裝置及安全系統 |
Country Status (5)
Country | Link |
---|---|
US (3) | US10554422B2 (zh) |
JP (1) | JP6471130B2 (zh) |
KR (1) | KR102037576B1 (zh) |
CN (1) | CN107844715B (zh) |
TW (1) | TWI645703B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6550502B1 (ja) | 2018-05-10 | 2019-07-24 | ウィンボンド エレクトロニクス コーポレーション | 固有データ生成装置、半導体装置および認証システム |
JP2020188345A (ja) * | 2019-05-13 | 2020-11-19 | 三菱重工業株式会社 | 制御基板、制御装置、情報配信システム及び復号方法 |
US11144104B2 (en) * | 2020-02-14 | 2021-10-12 | Silicon Laboratories Inc. | Mode selection circuit for low-cost integrated circuits such as microcontrollers |
JP7305592B2 (ja) * | 2020-03-30 | 2023-07-10 | キオクシア株式会社 | メモリシステム、メモリデバイス、及びメモリシステムの制御方法 |
US12067091B2 (en) * | 2020-12-22 | 2024-08-20 | Synopsys, Inc. | Hardware-based obfuscation of digital data |
US11784827B2 (en) * | 2021-03-09 | 2023-10-10 | Micron Technology, Inc. | In-memory signing of messages with a personal identifier |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102812472A (zh) * | 2010-03-24 | 2012-12-05 | 独立行政法人产业技术综合研究所 | 认证处理方法以及装置 |
US20150092939A1 (en) * | 2013-09-27 | 2015-04-02 | Kevin Gotze | Dark bits to reduce physically unclonable function error rates |
US20150178143A1 (en) * | 2013-12-24 | 2015-06-25 | Sanu K. Mathew | Using dark bits to reduce physical unclonable function (puf) error rate without storing dark bits location |
TW201543486A (zh) * | 2014-03-07 | 2015-11-16 | Intel Corp | 使用電阻式記憶體裝置的物理性不可複製功能電路 |
US9276583B1 (en) * | 2015-06-24 | 2016-03-01 | Intel Corporation | Soft dark bit masking with integrated load modulation and burn-in induced destabilization for physically unclonable function keys |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070058581A (ko) * | 2004-10-04 | 2007-06-08 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 물리적 토큰을 위한 양방향 에러 정정 |
JP5113074B2 (ja) * | 2006-11-06 | 2013-01-09 | パナソニック株式会社 | 情報セキュリティ装置 |
JP2010122774A (ja) * | 2008-11-18 | 2010-06-03 | Toshiba Storage Device Corp | 記憶装置、情報処理装置、情報処理システム |
JP5423088B2 (ja) * | 2009-03-25 | 2014-02-19 | ソニー株式会社 | 集積回路、暗号通信装置、暗号通信システム、情報処理方法、及び暗号通信方法 |
JP5354611B2 (ja) * | 2010-07-29 | 2013-11-27 | 独立行政法人産業技術総合研究所 | 電子回路部品の真贋判定方法 |
EP2643750B1 (en) * | 2010-11-24 | 2015-01-07 | Intrinsic ID B.V. | Physical unclonable function |
KR101118826B1 (ko) * | 2011-02-15 | 2012-04-20 | 한양대학교 산학협력단 | 물리적 공격을 방어하는 암호화 장치 및 암호화 방법 |
DK2693370T3 (en) * | 2011-03-31 | 2016-09-26 | Ictk Co Ltd | Device and method for generation of a digital value |
US8525169B1 (en) * | 2012-08-10 | 2013-09-03 | International Business Machines Corporation | Reliable physical unclonable function for device authentication |
CN103020552B (zh) * | 2012-12-20 | 2015-05-13 | 天津联芯科技有限公司 | 基于sram的puf的片上自我注册系统及其实现方法 |
US9015500B2 (en) * | 2013-01-16 | 2015-04-21 | Qualcomm Incorporated | Method and apparatus for using dynamic voltage and frequency scaling with circuit-delay based integrated circuit identification |
EP2773061B1 (en) * | 2013-02-28 | 2015-11-18 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | A method and an apparatus for deriving secret information from a series of response values and a method and an apparatus for providing helper data allowing to derive a secret information |
CN103198268B (zh) * | 2013-03-18 | 2016-06-08 | 宁波大学 | 一种可重构多端口物理不可克隆函数电路 |
KR20140126787A (ko) * | 2013-04-22 | 2014-11-03 | (주) 아이씨티케이 | PUF 기반 하드웨어 OTP 제공 장치 및 이를 이용한 2-Factor 인증 방법 |
US10038446B2 (en) * | 2013-08-21 | 2018-07-31 | Carnegie Mellon University | Reliability of physical unclonable function circuits |
US10044513B2 (en) * | 2013-09-02 | 2018-08-07 | Samsung Electronics Co., Ltd. | Security device having physical unclonable function |
JP2015065495A (ja) * | 2013-09-24 | 2015-04-09 | ルネサスエレクトロニクス株式会社 | 暗号鍵供給方法、半導体集積回路および暗号鍵管理装置 |
US20150143130A1 (en) * | 2013-11-18 | 2015-05-21 | Vixs Systems Inc. | Integrated circuit provisioning using physical unclonable function |
US9189654B2 (en) * | 2013-12-04 | 2015-11-17 | International Business Machines Corporation | On-chip structure for security application |
KR102186475B1 (ko) * | 2013-12-31 | 2020-12-03 | 주식회사 아이씨티케이 홀딩스 | 랜덤한 디지털 값을 생성하는 장치 및 방법 |
US10129036B2 (en) * | 2014-09-18 | 2018-11-13 | Intel Corporation | Post-processing mechanism for physically unclonable functions |
CN105530097B (zh) * | 2014-09-30 | 2018-09-28 | 中国科学院数据与通信保护研究教育中心 | 一种基于sram puf的密钥提取方法及系统 |
KR102201642B1 (ko) * | 2014-11-28 | 2021-01-13 | 삼성전자주식회사 | Puf 회로 및 그것의 키 등록 방법 |
CN104598793A (zh) * | 2015-01-08 | 2015-05-06 | 百度在线网络技术(北京)有限公司 | 一种指纹认证方法和装置 |
US9515835B2 (en) * | 2015-03-24 | 2016-12-06 | Intel Corporation | Stable probing-resilient physically unclonable function (PUF) circuit |
US9425803B1 (en) * | 2015-05-07 | 2016-08-23 | The United States Of America As Represented By The Secretary Of The Navy | Apparatuses and methods for implementing various physically unclonable function (PUF) and random number generator capabilities |
CN104836669B (zh) * | 2015-05-08 | 2018-04-06 | 东南大学 | 一种基于sram puf的安全认证方法及一种终端、认证系统 |
US9934411B2 (en) * | 2015-07-13 | 2018-04-03 | Texas Instruments Incorporated | Apparatus for physically unclonable function (PUF) for a memory array |
JP5986279B2 (ja) | 2015-08-28 | 2016-09-06 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
CN105574442B (zh) * | 2015-12-17 | 2018-10-02 | 清华大学 | Puf电路及片上存储加密解密电路 |
-
2016
- 2016-09-20 JP JP2016182782A patent/JP6471130B2/ja active Active
-
2017
- 2017-08-29 CN CN201710754786.XA patent/CN107844715B/zh active Active
- 2017-09-07 KR KR1020170114748A patent/KR102037576B1/ko active IP Right Grant
- 2017-09-08 TW TW106130790A patent/TWI645703B/zh active
- 2017-09-20 US US15/710,358 patent/US10554422B2/en active Active
-
2019
- 2019-12-23 US US16/725,486 patent/US11070384B2/en active Active
- 2019-12-23 US US16/725,345 patent/US11075770B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102812472A (zh) * | 2010-03-24 | 2012-12-05 | 独立行政法人产业技术综合研究所 | 认证处理方法以及装置 |
US20150092939A1 (en) * | 2013-09-27 | 2015-04-02 | Kevin Gotze | Dark bits to reduce physically unclonable function error rates |
US20150178143A1 (en) * | 2013-12-24 | 2015-06-25 | Sanu K. Mathew | Using dark bits to reduce physical unclonable function (puf) error rate without storing dark bits location |
TW201543486A (zh) * | 2014-03-07 | 2015-11-16 | Intel Corp | 使用電阻式記憶體裝置的物理性不可複製功能電路 |
US9276583B1 (en) * | 2015-06-24 | 2016-03-01 | Intel Corporation | Soft dark bit masking with integrated load modulation and burn-in induced destabilization for physically unclonable function keys |
Also Published As
Publication number | Publication date |
---|---|
US20200136841A1 (en) | 2020-04-30 |
US20180083788A1 (en) | 2018-03-22 |
CN107844715A (zh) | 2018-03-27 |
JP2018050103A (ja) | 2018-03-29 |
CN107844715B (zh) | 2020-09-25 |
KR20180031568A (ko) | 2018-03-28 |
KR102037576B1 (ko) | 2019-10-28 |
JP6471130B2 (ja) | 2019-02-13 |
US11070384B2 (en) | 2021-07-20 |
US20200136842A1 (en) | 2020-04-30 |
US11075770B2 (en) | 2021-07-27 |
TW201830914A (zh) | 2018-08-16 |
US10554422B2 (en) | 2020-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI645703B (zh) | 半導體裝置及安全系統 | |
TWI673721B (zh) | 具有物理不可複製功能及隨機數產生器的電路及其操作方法 | |
TWI685742B (zh) | 電子裝置、產品及製造積體電路方法及產生資料集的方法 | |
TWI652930B (zh) | 產生識別金鑰之裝置及方法 | |
JP6587188B2 (ja) | 乱数処理装置、集積回路カード、および乱数処理方法 | |
JP6617924B2 (ja) | 耐タンパ性を有する不揮発性メモリ装置および集積回路カード、不揮発性メモリ装置の認証方法、個体識別情報生成方法 | |
US9129671B2 (en) | Semiconductor device identifier generation method and semiconductor device | |
US11831781B2 (en) | Device with self-authentication | |
TWI663604B (zh) | 操作具非揮發性記憶胞電路的方法及使用所述方法的電路 | |
Jia et al. | Extracting robust keys from NAND flash physical unclonable functions | |
US11736285B2 (en) | Method for controlling device activation and associated electronic device | |
TWI716685B (zh) | 電子系統及其操作方法 | |
Mateu Barriendos | Analysis of Data Remanence and Power-up States of SRAM Cells in Embedded Systems | |
JP2023070293A (ja) | Icチップ、通信システム、信号処理方法、及びプログラム |