TWI676131B - 產生隨機數值的裝置及方法 - Google Patents

產生隨機數值的裝置及方法 Download PDF

Info

Publication number
TWI676131B
TWI676131B TW103146415A TW103146415A TWI676131B TW I676131 B TWI676131 B TW I676131B TW 103146415 A TW103146415 A TW 103146415A TW 103146415 A TW103146415 A TW 103146415A TW I676131 B TWI676131 B TW I676131B
Authority
TW
Taiwan
Prior art keywords
value
channel
pufs
generating
size
Prior art date
Application number
TW103146415A
Other languages
English (en)
Other versions
TW201531937A (zh
Inventor
崔秉德
Byong Deok Choi
金東奎
Dong Kyue Kim
Original Assignee
南韓商Ictk控股有限公司
Ictk Holdings Co., Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 南韓商Ictk控股有限公司, Ictk Holdings Co., Ltd filed Critical 南韓商Ictk控股有限公司
Publication of TW201531937A publication Critical patent/TW201531937A/zh
Application granted granted Critical
Publication of TWI676131B publication Critical patent/TWI676131B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3271Cryptographic 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/3278Cryptographic 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

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

Abstract

本案提供一種產生數值以提供一隨機數值的裝置,此裝置可根據半導體製程變異以產生數值,此裝置可包括一產生單元根據半導體製程變異以產生複數數值,以及一處理單元以處理數值以產生一第一數值,產生單元可包括一複數實體不可複製功能(PUFs),一參數可被運用在不同的實體不可複製功能,且實體不可複製功能可產生數值。

Description

產生隨機數值的裝置及方法
本發明是關於一安全性領域,尤其是一種可根據一製程變異產生一隨機數值之實體不可複製功能(PUF)。
一實體不可複製功能(PUF)可提供一不可預測的數值,即使單體PUFs是以完全相同的製程製成,單體PUFs可提供不同的數值。
PUF可涉及實際上不可能被複製的實體單一功能(POWF),又或者是實體隨機功能(PRF)。
PUF的特性可被用來產生加密密鑰以用在安全防護及/或認證上,譬如PUF可用以提供一獨特密鑰來區別不同裝置。
韓國專利註冊號No.10-1139630(下述將以”‘630專利”代稱)提出執行PUF的一方法,‘630專利揭露一根據一半導體製程變異機率性地決定是否有一內層接觸或者一通道生成於半導體間的導電層或導電接點以產生一PUF之方法。揭露於‘630專利的一實施例,生成於導電層的一通道 可被設計以具有一小尺寸,以及藉此此通道生成的一狀態以及此通道不被生成的一狀態可隨機地發生。然而,在630專利中,為了增加PUF的產出,一最理想的通道尺寸需要被決定,藉此,包含於此PUF產生的一數值中的單體位元值可對應至一隨機數字,且不偏頗”0”或者是”1”。
於是,根據不同通道尺寸產生PUFs的第一個操作為檢測PUFs產生的數值,以及決定一理想的通道尺寸以用在特定的製程,可在特定製程前就予以執行。此外,根據理想通道尺寸以產生一實際的PUF的第二個動作會被執行。然而,在預定的晶圓片/晶片理想的尺寸可能無法是理想的,因為不同的製程變異會發生在任一單體晶圓片/晶片,即便是在同一個製程。此外,儘管是相同的製程以及相同的生產線,一理想值可能會因為製程環境的變化以及不同因素的變化而隨著時間改變,因此增加PUF的生產效益是需要的。
本發明之一方面提供根據一半導體製程變異產生一數值的一裝置。
根據本發明之一方面,其提供根據一半導體製程變異產生一數值的一裝置,該裝置包括一產生單元,其根據該半導體製程以產生複數數值;以及一處理裝置,其處理該數值以及提供一第一數值。該產生單元可包括一複數實體不可複製單元(PUFs), 實體不可複製功能的至少一部分是相異地運用導致該半導體製程變異的至少一參數,以及該PUFs可產生該數值。
該至少一PUFs可包含成形於半導體的導電層之間的至少一通道,以及至少一數值是根據導電層是否被該通道造成短路以產生。該參數可包括該通道的一尺寸。該通道的該尺寸是選至一範圍,該範圍介於一通道的一尺寸之一最小值以及一最大值,其通道尺寸是對應是否該通道在導電層之間造成一短路,短路與否是在該裝置的一製造過程之前決定於執行的一測試過程,以及範圍內不同的通道尺寸是運用於PUFs。
該處理單元選擇在數值中符合一預先設計條件的一數值成為該第一數值。該預先設計條件可以是以運用的該參數具有一最小值的一實體不可複製功能所產生,至少一實體不可複製功能中任一個都提供一數值,其數值是對應至包括0以及1的一位元序列。此外,該預先設計條件可以是以運用的該參數具有一最小值與一最大值間之一中間值的一實體不可複製功能所產生,至少一實體不可複製功能中任一個都提供一數值,其數值是對應至包括0以及1的一位元序列。
該處理單元在該數值上的任一位元序列可執行一邏輯運算,並且可計算該第一數值。
該邏輯運算是一邏輯異或(exclusive or,XOR)邏輯運算。
根據本發明之一方面,提供根據一半導體製程變異以產生一數值的一裝置來產生一數值的一方法,該方法包括:以一複數實體不可複製功能(PUFs)所產生之複數數值,該PUFs是相異地運用導致該半導體製程變異的至少一參數;以及以一處理單元處理該數值以及提供一第一數值。
該至少一PUFs可包含成形於半導體的導電層之間的至少一通道,以及其中該產生可包含產生根據導電層是否被該通道造成短路以產生之至少一數值。
該參數可包括該通道的一尺寸,該通道的該尺寸可以是選至一範圍,該範圍介於一通道的一尺寸之一最小值以及一最大值,其通道尺寸是對應是否該通道在導電層之間造成一短路,短路與否是在該裝置的一製造過程之前決定於執行的一測試過程,以及範圍內不同的通道尺寸是可運用於PUFs。
該處理可包括選擇在數值中符合一預先設計條件的一數值成為該第一數值。
該預先設計條件可以是以運用的該參數具有一最小值的一實體不可複製功能所產生,至少一實體不可複製功能中任一個都提供一數值,其數值是對應至包括0以及1的一位元序列。
此外,該預先設計條件可以是以運用的該參數具有一最小值與一最大值間之一中間值的一實體不可複製功能所產生,至少一實體不可複製功能中任一個都提供一數值,其數值是對應至包括0以及1的一位元序列。
該處理包括在該數值上的任一位元序列可執行一邏輯運算,並且計算該第一數值。
該邏輯運算是一邏輯異或(exclusive or,XOR)邏輯運算。
100‧‧‧數值產生裝置
110‧‧‧產生單元
120‧‧‧處理單元
121‧‧‧讀取單元
122‧‧‧決定單元
123‧‧‧界面
運算步驟610‧‧‧i=i++
運算步驟620‧‧‧i=n?
運算步驟621‧‧‧回報錯誤
運算步驟630‧‧‧Ai的所有位元=0?
運算步驟640B‧‧‧=Ai
運算步驟710‧‧‧i=i++
運算步驟720‧‧‧i=n?
運算步驟730‧‧‧Ai的所有位元=1?
運算步驟740‧‧‧Ai的所有位元=0?
運算步驟750‧‧‧p=i
運算步驟760‧‧‧q=i
運算步驟770‧‧‧B=Amedian(p,q)
運算步驟810‧‧‧從PUFs讀取數值
運算步驟820‧‧‧決定一第一數值
運算步驟830‧‧‧提供該第一數值
圖1為根據一實施例之方塊圖,其顯示了一數值產生裝置。
圖2為圖1的一產生單元之結構。
圖3為圖1的一處理單元之一運算範例。
圖4為圖1的一處理單元之另一運算範例。
圖5為圖1的一處理單元之再一運算範例。
圖6為根據一實施例的流程圖,其顯示產生數值之方法的一範例。
圖7為根據一實施例的流程圖,其顯示產生數值之方法的另一範例。
圖8為根據一實施例的流程圖,其顯示產生數值之方法的再一範例。
為能讓 貴審查委員能更瞭解本發明之技術內容,特舉較佳具體實施例說明如下。
圖1為根據一實施例之方塊圖,其顯示了一數值產生裝置100。數值產生裝置100可包括一產生單元110,以及一處理單元120。產生單元110可根據一半導體製程變異產生複數數值。此處理單元120可處理此數值並可提供一第一數值。
產生單元110可包括一複數實體不可複製功能(PUFs),譬如說,從PUF1至PUFn複根據半導體製程變異以產生隨機數值。譬如PUFs可為包含於此產生單元110之半導體結構內可大概辨別的部分。任一PUFs可根據半導體製程變異產生一隨機數值,任一上述數值可包括一位元序列,PUFs可不被實體複製,且產生的數值可具有時間不變性。在下述的描述中,PUFs會被表示為PUFi。在PUFi中,i指的是概念上的標示符號以辨識PUFs,且其為整數。其辨識在從結構鑑定或者實質電路排列的概念上可為不同,故可被理解的是產生單元110對應到一PUF,以及PUFi對應到產生單元110的一部分。
如圖1所示,產生單元110可包括n個PUFs,且n為一自然數。n個PUFs可使用不同的製程要素以及/或者不同的設計要素來影響包含於一隨機產生之數值之單體位元為0或者為1的可能性。接下來,上述要素指的是『參數』。
根據一實施例,一PUFi可包括在半導體導電層之間形成之k個通道,k可以為自然數,以及表示包括於PUFi中的通道數。根據k通道是否在導電層間導致短路,k通道中的任一通道可產生數值1或者0。因此,一個單一PUFi可提供k位元的數值,以及產生單元110可產生n個數值。
根據一實施例,n個PUFs可利用不同的參數來產生。在一個與通道有關的實施例,參數可為通道的尺寸。譬如PUF1到PUFn可設計或製造以具有不同的通道尺寸,如上所述,與通道有 關的實施例僅是產生PUF的一範例,在其他產生PUF的實施例中參數可被改變。因此,與通道有關的實施例即使沒有特定的詳述,應被理解為用以幫助理解的範例。譬如說,一PUF可根據在電路中相同元素隨機排列的電子特性之差異以執行,或者一PUF在半導體導電層間可具有不同種的空隙等等。因此,執行一PUF的多種實施例可一起被運用,而不限於與通道有關的實施例。
一個PUF的有效範圍將列於下述,如上所述,n個PUFs可具有不同的參數,譬如通道大小。一最小的通道尺寸可於PUF1提供,一最大的通道尺寸可於PUFn提供。當通道尺寸降低,通道通過製程且不規則地產生的可能性可能會增加;當通道尺寸增加,通道通過製程且規則地產生的可能性可能會相對增加。以目前揭露來說,有效範圍意謂0及1皆被包括於PUFi所產生的二位元值之參數範圍,而非參數範圍僅有0或1。譬如說,在與通道有關的實施例中,0及1皆被包括於PUFi所產生的二位元值之通道範圍,其可為一有效範圍。透過提供上述範圍中一預定限度,可以使範圍變寬或變窄,且包括其範圍的一間隔實質上可被認為為一有效範圍。接下來,在有效範圍內使用通道尺寸組的一實施例之PUF結構將參照圖2一同描述。
圖2說明了一產生單元110之結構。請參照圖2,相同PUF標示符號i的k個通道在PUFi中可具有相同的尺寸,其尺寸可根據是否k通道的任一通道可隨機地使得導電層短路以選擇一適合的尺寸。舉例來說,理論上導致導電層短路的可能性以及未 導致導電層短路的可能性應為相同的1/2。在這樣的例子中,k個通道中的任一通道尺寸為一理想尺寸。在相關的技術裡,一第一操作可在產生PUF的一特定製程前先被執行。使用在特定製程的理想通道尺寸可在第一操作時決定,且可執行一第二操作以產生大量實際上根據理想尺寸之通道來使用的PUFs。儘管第二操作是使用決定於第一操作的理想通道尺寸來執行,但通道造成導電層間短路的可能性不一定可維持在1/2,對於任一單體晶圓片及/或單體PUF積體電路片(即便是在一單一積體電路片上),在不同的產業領域中(尤其是安全性的領域)利用PUF產生的隨機號碼被視為一個待解決的問題。
因此根據實施例,PUFs在一有效的範圍具有不同的通道尺寸,而非選擇單一的特定理想通道尺寸,其可在一單一積體電路片上產生。一理想PUFi可從PUFs中選擇以及使用,或者高隨機性PUF的值可被預定PUFs的處理值使用,藉此可能大量增加PUF製造過程的產出。換句話說,具有不同值的PUFs可被產生於一單一積體電路片上,預定的PUFs可從PUFs中挑選或者處理,且被挑選的PUFs或者被處理的PUFs可被使用。因此可忽略PUFs中的產生值0以及1之間的不平衡問題,在產生與使用的最終值中,0與1發生頻率之間的落差會顯著地減少,故此PUFs可被用於安全性之用途。舉例做為參考,為了判定產生的數值成為一準確的隨機,需要通過一預定測試以檢測0與1的發生頻率是否相近。如同國家標準技術研究院(NIST,National Institute of Standards and Technology)的『A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications』特編800-22中所述,使用於安全性領域的隨機數字需要通過一頻率測試或者一Monobit測試。根據實施例,其可能可大量增加生產以通過上述隨機測試之PUF的產出。
根據一實施例,不同的通道孔尺寸可被運用在產生單元110,而非事先判定一單一通道孔尺寸以及產生具有預定通道孔尺寸的PUFs。在本實施例中,導致製程變異的參數為『通道孔的尺寸』。
換句話說,很難確切得知一單體通道孔的尺寸以設計判定導致導電層間短路的可能性以及未導致導電層間短路的可能性是否為相同的,此外,即使單體通道孔的尺寸是已知的,也可能從實際的製程中得到不同的結果,故一個單一積體電路片可能會運用不同參數的PUFs。
如圖2所示,產生單元110中的PUF1到PUFn可以不同的通道孔尺寸製造,在特定的PUF標示符號中會存在一k位元序列(下述將表示為”PUF位元序列”)。當k位元序列以k位元數值使用時,n個不同的數值會被產生。為了方便描述本案之揭露,由包括k個相同尺寸通道的PUFi所提供的k位元之二位元序列來代指一個單一的PUF數值。
運用在單一積體電路片中不同通道孔尺寸的一位元數字k或一n類型可根據需要的隨機數字長度、製程進行條件、通 道隨機測試的要求、PUF的運用領域等等因素來設置。請參考圖2,PUF1具有最小的通道孔尺寸,PUFn具有最大的通道孔尺寸,也就是說通道孔尺寸是依照PUF1到PUFn的順序遞增。在此是為了方便描述而提供順序,不過也可不需要以尺寸順序遞增來運用。此外,通道孔增加的程度可以不同方式的設置。譬如通道孔可以依預定比例增加,或者可以均勻直徑地增加。在另一範例中,在接近PUF(n/2)時通道孔間的落差會減少,相對於PUF1或者PUFn,可因此增加其精確性。
請參考本案之揭露,其中一例導致導電層間短路的通道可對應至二位元值”1”,且其中一例未導致導電層間短路的通道可對應至二位元值”0”,根據通道是否導致導電層間短路以決定二位元值為0或1的方法僅為幫助理解所舉的例子。譬如,根據讀取電路是否具有下拉配置或者上拉配置,二位元值”1”對應到的例子亦可為通道未導致導電層間短路,二位元值”0”對應到的例子亦可為通道導致導電層間短路。
回頭參考該圖示,具有最小通道孔尺寸的PUF1在PUF位元序列的所有k位元皆為0,具有最大通道孔尺寸的PUFn在PUF位元序列的所有k位元皆為1。根據一實施例,PUF1可具有一最小的通道孔尺寸,其可在製程中被設計製造且預期可產生0以及1,或者事先從執行製程的第一操作得到在位元序列中決定一最小的通道孔尺寸使0以及1都產生的結果。因此,上述實施例不排除根據先前技術的兩個操作類型製程。
PUFn可具有一最大的通道孔尺寸,其可在製程中被設計製造且預期可產生0以及1,或者事先從執行製程的第一操作得到在位元序列中決定一最小的通道孔尺寸使0以及1都產生的結果。
不同尺寸的PUFi可同步運用在一單一產生單元(也就是產生單元110)內,且因此可能可避免整個積體電路片因為產生的PUF數值沒有通過隨機性測試而無法使用。整個積體電路片的使用對於產生單元110及/或數值產生裝置100之領域可有很直接的影響,對於相關的技術領域來說是個很重大的進展。
當產生單元110產生具有k位元的n個數值,圖1的處理單元120可提供一最終數值。最終數值可從數值產生裝置100根據n個數值來提供,且接下來會以『第一數值』來表示。不同的實施例也可由上述的處理製程提供,圖3至圖6會說明實施例的這部分。
圖3說明了一個處理單元120運作的例子,處理單元120的讀取單元121可讀取任一PUFs,且讀取A1到An的PUF數值。因為PUF1可具有最小的通道孔尺寸,且通道孔尺寸會逐漸地增加,參考圖2之上述,A1數值中0的數量會比1的數量還多,An數值中1的數量會比0的數量還多。如圖3所示,包括數值A1的一數值部分只具有0,包括數值An的一數值部分只具有1。
一處理單元120的決定單元122會從A1到An中包括0以及1的數值Ap到Aq選擇一數值,且會決定由數值提供裝置100 的所選數值為一第一數值。其中Ap到Aq的數值是在一有效範圍內,選擇數值方式的不同實施例可被提供。
在一範例中,決定單元122可在數值A1到An(以Ai表示)之中決定Ap為包括0以及1的初始數值;在另一範例中,決定單元122可在數值Ai之中決定Aq為包括0以及1的最終數值;在又一範例中,決定單元122可在數值Ap到Aq之中決定隨意數值為包括0以及1的初始數值。
在再一範例中,決定單元122可在數值Ai之中決定一具有p到q間(數值Ap到Aq之中)的中間標示符號Am為包括0以及1的初始數值,此範例僅適用在0和1為相對均勻分布在數值Am
在更一範例中,決定單元122會在數值A1到An的至少一部分執行逐個位元的邏輯運算,且會計算其第一數值。在這個範例中,第一數值的隨機性可達到極度地高等級,且因此其第一數值適用於安全性領域。幾個與該範例有關的方法將會參照圖4和圖5進一步說明。
圖4說明了處理單元120運算的另一範例。如圖4所示,從數值A1到An中同一行相同標示符號的位元可作一邏輯運算,且第一數值B之位元可被計算出來。
數值Ai包括從ai1到aik的一位元序列,譬如,決定單元122可對當行標示符號皆為j的a1j到anj進行一邏輯運算,並計算得第一數值的位元bj,在這範例中,j為一自然數。邏輯運算的不 同範例可提供使用,但並不在此限。譬如說,邏輯運算可為邏輯異或(exclusive or,XOR),當a1j到anj之位元包括奇數個1,XOR運算會輸出1;當a1j到anj之位元包括偶數個1,XOR運算會輸出0。
在使用XOR運算的一實施例中,從A1到An的數值可用以計算第一數值B,且因此可預期結合複數數值擾動性以大量增加整體擾動性的一效益。因為當使用在XOR運送中的n增加時,XOR運算允許位元值1的機率接近50%,故第一數值B的隨機性亦大量增加。由決定單元122計算出來的第一數值B可被處理單元120的一介面123輸出,且可提供為數值產生裝置100的一輸出。第一數值B可包括k位元,譬如說位元b1、b2、b3、b4、b5...bk
所有從A1到An的數值可使用如圖4之範例的XOR運算,但其僅是一範例。因此,任何其他運用皆有可能。接下來將描述其他運用的範例。
圖5說明了又一實施例處理單元120的運算之範例。如圖5所示,決定單元122可只針對同時包括0和1的數值進行運算,而讀取數值從A1到An中排除僅包括0或僅包括1的數值。譬如說,XOR運算可只針對Ap到Aq的數值逐個運算以及計算第一數值B。相較於圖4的範例中,有n個輸入位元使用在XOR運算上,使用在XOR運算上的位元數量會被減少至q-p+1個,邏 輯運算的回合數量亦會減少,且高擾動性的輸入值會事先歸類及使用,其被視為一優點。
圖4及圖5的範例針對同一行相同標示符號j的位元值進行XOR運算,但其不在此限。譬如說,進行XOR運算的組合可修改為不同的形式。因此,可根據預定的選擇規則進行XOR運算,或者在隨機選擇位元上進行,除此也可針對同一行相同標示符號j的位元值進行XOR運算。
在一範例中,在包括0和1之不同PUF位元序列之位元值中,XOR可被執行在同樣PUF標示符號i的位元值上。另一範例中,另一種邏輯運算可根據隨機選擇的單一PUF位元序列進行運算。上述修改的範例可被該技術領域具通常知識者根據本案揭露而理解,故不須進一步解說。
如上所述,XOR運算可被其他邏輯運算替換,以及如何結合邏輯運算輸入之不同範例亦可被提供。
圖6為一流程圖,其說明了根據一實施例產生數值的方法之範例。圖6的範例是對應圖3的範例,其中決定單元122在由PUFs產生之數值中決定了第一個同時包括0和1之數值Ap為第一數值B。
標示符號i的初始值為0,運算步驟610中標示符號i之值會以1逐步增加。運算步驟620會判定目前標示符號i是否等同於最終標示符號n。運算步驟621中,當第一數值B還沒被決定時,且當目前標示符號i判定其等同於最終標示符號n,一錯誤 會被回傳。運算步驟620中,當目前標示符號i被判定其不等同於最終標示符號n,運算步驟630會判定對應目前標示符號i的數值Ai之所有位元是否為0。
當運算步驟630中數值Ai的所有位元皆被判定為0時,此方法會回到運算步驟610以對下一個標示符號進行相同的處理。當運算步驟630中數值Ai的所有位元皆被判定為非0時,對應目前標示符號i的數值Ai會在運算步驟640中被決定為第一數值B。若拿圖3之範例來比,數值Ap會在運算步驟640被決定為第一數值B。
圖7為根據一實施例的流程圖,其顯示產生數值之方法的另一範例。
圖7的範例是對應圖3的範例,其中在由PUFs產生之數值Ai中,數值Ap到Aq會被辨識出同時包括0和1,且決定單元122會決定數值Ap到Aq中具有p到q間中央的標示符號之數值Am為第一數值B。在範例中,標示符號i的初始值為0,運算步驟710中標示符號i之值會以1逐步增加。
當目前標示符號i在運算步驟720中被判定異於最終標示符號n,接著會在運算步驟730中判定所有數值Ai的所有位元是否皆為1。當數值Ai的所有位元在運算步驟730中被判定異於1,接著會在運算步驟740中判定數值Ai的所有位元是否皆為0。當數值Ai的所有位元在運算步驟740中被判定皆為0,此方法會回到運算步驟710以增加標示符號,重複進行下一個運算步驟; 相反地,當數值Ai的所有位元在運算步驟740中被判定異於0,目前標示符號i會在運算步驟750中判定為p,且此方法會回到運算步驟710。
在上述重複的處理中,當數值Ai的所有位元在運算步驟730被判定為1,q值在運算步驟760中會被決定為目前標示符號i。此外雖然圖未示,q值會被決定為小於目前標示符號i的(i-1)值。當找不到數值Ai之所有位元為1之一位元序列,且當目前標示符號i在運算步驟720中被認定等同於最終標示符號n,最終標示符號n會在運算步驟760被判定為q值。在運算步驟770中,median(p,q)指的是在p值以及q值間的一中間值會被算出,且對應median(p,q)的一數值Amedian(p,q)會被決定為第一數值B。
圖8為根據一實施例的流程圖,其顯示產生數值之方法的再一範例。在運算步驟810中,由數值產生裝置100的產生單元110產生的複數數值可被讀取單元121讀取。數值可由圖1的PUFs各自產生,讀取的動作包括讀取參照圖1及圖2所描述的PUFs之數值Ai到An
如上所述,透過上述處理,皆包括k位元的n數值可被傳送至決定單元122。並非所有由n個PUFs產生的數值都需要被讀取,只有n個數值的一部分被傳送至決定單元122。在運算步驟820中,第一數值(也就是由數值產生裝置100提供的隨機數值)可根據由決定單元122讀取的數值來決定。
譬如說,決定單元122會在讀取的數值A1到An中辨識出同時包括0和1的數值Ap到Aq,決定單元122會從數值Ap到Aq中選擇一數值,且決定被選擇的數值為第一數值B。在這範例中,數值可被隨機的選取,或者根據一預定的規則。
多種可能的選擇範例參考圖3已描述如上。在一範例中,決定單元122可在數值Ai中決定最先同時包括0及1的數值Ap為第一數值B。
在另一範例中,決定單元122可在數值Ai中決定最晚同時包括0及1的數值Aq為第一數值B。在又一範例中,決定單元122可在數值Ai的數值Ap到Aq之間決定同時包括0及1的一隨機數值為第一數值B。在再一範例中,決定單元122可在數值Ai的數值Ap到Aq之間決定同時包括0及1且具有p到q中央標示符號的數值Am為第一數值B。
再更一範例中,決定單位122可針對數值A1到An至少一部分逐個位元進行一邏輯運算,且如同參考圖4及圖5之描述如上,可計算其第一數值B。決定單元122可針對具有相同行標示符號j的a1j到anj位元進行一邏輯運算(譬如一XOR運算),且可計算第一數值B的位元bj。j在這範例中為一自然數。此範例參考圖4已描述如上。
如同參考圖5的如上描述,決定單元122可在讀取到的數值A1到An中只針對同時包括0和1的數值Ap到Aq逐個位元進 行XOR運算,並排除只包括0或只包括1的數值,並且計算出第一數值B。
決定第一數值的運算步驟820除了圖3至圖5的範例外還可有不同的變化,同時邏輯運算亦可運用XOR之外的任何運算上以增加數值之擾動性。當第一數值B被決定了,數值產生裝置100在運算步驟830中會提供第一數值B以當作一隨機數字。
在上述實施例中,即使一隨機數值並不是由PUF所運用的參數來產生,產生單元110(也就是包括PUF的整個積體電路片)還是可行的,因此有可能擴大PUF的製造範疇。除此,運用不同參數的PUFs可快速地利用並因此可節省需要的時間以分別執行一第一操作,藉此可減少PUF處理需要的時間。
此外,最終提供的第一數值B之擾動性可顯著的增加,且因此第一數值B如同合乎標準之隨機數字之可行機率也會增加。藉此可能在隨機性被視為重要的可行領域(譬如安全性領域等)大大地增加PUF的可靠性。
上述的單元可使用硬體元件以及軟體元件或者其組合來實施。例如,硬體元件可包括麥克風、放大器、帶通濾光片、音頻數位轉換器以及處理裝置。
處理裝置可使用一或多個一般目的或者特殊目的之電腦來使用,譬如說一處理器、一控制器以及一算術邏輯單元,一數位信號處理器、一微電腦、一場式可程式陣列、一可程式邏輯 單元、一微處理器或任何其他可以一定義的方式回應以及執行指令之裝置。
處理裝置可執行一執行運作系統(OS)以及一或多個執行在OS上的軟體應用程式。處理裝置也可存取、儲存、操作、處理以及創造資料以回應軟體的執行。為了簡化,處理裝置的描述是獨個使用的,然而該領域具通常知識者會了解處理裝置可包括多個處理元件以及多個種類的處理元件。
譬如說,處理裝置可包括多個處理器或者一處理器以及一控制器。此外,不同的處理裝配是可能的,譬如同步處理器。
軟體可包括一電腦程式、一行程式碼、一指令或者一些前述之組合獨立或共同地指示或裝配處理裝置以想要的方式運作。軟體以及資料可被永久地或者暫時地收錄,以任何形式的機器、元件、實體或虛擬裝置、電腦儲存媒介或裝置、或者一傳播的信號波皆可以,並同時可提供指示或資料給處理裝置或者被處理裝置解譯。軟體也可透過與電腦系統耦合的網路被分散,藉此軟體可於一分散環境下被儲存並執行。軟體以及資料可以一或多個非暫時電腦可讀取式紀錄媒介被儲存。
上述本發明的例示實施例可以被紀錄在電腦可讀取媒體,包括可透過電腦執行的各種程式指令的操作。這類的媒體可個別或組合的形式,包括程式指令、資料檔案、資料結構或相似物。
記錄在媒介上的軟體指示是為了特殊設計以及建造示範的實施例,它們亦可以是對於電腦軟體知識領域之習知技藝者來說習知或是可行的方法。
電腦可讀取媒體的例子包括磁性媒體,例如硬碟、軟碟與磁帶;光學媒體例如CDROM碟片與DVD;電磁光學媒體例如光學讀取軟碟(floptical disc);特別設計用來存放與執行程式指令的硬體裝置,例如唯讀記憶體、隨機存取記憶體、閃存記憶體等等。
程式指令的例子包括機器指令,例如編譯器產生的指令,以及存放高階指令的檔案,其可透過電腦的解譯器加以執行。描述的硬體裝置可以透過設置而執行本發明上述實施例一個或多個的軟體操作。反之亦然。
綜上所陳,本創作無論就目的、手段及功效,在在均顯示其迥異於習知技術之特徵。惟應注意的是,上述諸多實施例僅係為了便於說明而舉例而已,本創作所主張之權利範圍自應以申請專利範圍所述為準,而非僅限於上述實施例。

Claims (12)

  1. 一種根據一半導體製程變異以產生一數值之裝置包括:一產生單元,其根據該半導體製程以產生複數數值;以及一處理單元,其處理該數值以及提供一第一數值,其中該處理單元選擇在數值中符合一預先設計條件的一數值成為該第一數值;其中該產生單元包括一複數實體不可複製單元(PUFs),實體不可複製功能的至少一部分是運用導致該半導體製程變異至少一參數,以及該PUFs產生該數值;其中至少一PUFs包含成形於半導體的導電層之間的至少一通道;以及其中該參數包括該通道的一尺寸,該通道的該尺寸是選自一範圍,該範圍介於一通道的一尺寸之一最小值以及一最大值,其通道尺寸是對應是否該通道在導電層之間造成一短路,短路與否是在該裝置的一製造過程之前決定於執行的一測試過程,以及範圍內不同的通道尺寸是運用於PUFs。
  2. 如申請專利範圍第1項所述之裝置,其中至少一數值是根據導電層是否被該通道造成短路以產生。
  3. 如申請專利範圍第1項所述之裝置,其中該預先設計條件是以運用的該參數具有一最小值的一實體不可複製功能所產生,至少一實體不可複製功能中任一個都提供一數值,其數值是對應至包括0以及1的一位元序列。
  4. 如申請專利範圍第1項所述之裝置,其中該預先設計條件是以運用的該參數具有一最小值與一最大值間之一中間值的一實體不可複製功能所產生,至少一實體不可複製功能中任一個都提供一數值,其數值是對應至包括0以及1的一位元序列。
  5. 一種根據一半導體製程變異以產生一數值之裝置包括:一產生單元,其根據該半導體製程以產生複數數值;以及一處理單元,其處理該數值以及提供一第一數值,其中該處理單元在該數值上的任一位元序列執行一邏輯運算,並且計算該第一數值;其中該產生單元包括一複數實體不可複製單元(PUFs),實體不可複製功能的至少一部分是運用導致該半導體製程變異至少一參數,以及該PUFs產生該數值;其中至少一PUFs包含成形於半導體的導電層之間的至少一通道;其中該參數包括該通道的一尺寸,該通道的該尺寸是選自一範圍,該範圍介於一通道的一尺寸之一最小值以及一最大值,其通道尺寸是對應是否該通道在導電層之間造成一短路,短路與否是在該裝置的一製造過程之前決定於執行的一測試過程,以及範圍內不同的通道尺寸是運用於PUFs。
  6. 如申請專利範圍第5項所述之裝置,其中該邏輯運算是一邏輯異或(exclusive or,XOR)邏輯運算。
  7. 一種根據一半導體製程變異以產生一數值的一裝置來產生一數值的一方法,該方法包括:以一複數實體不可複製功能(PUFs)產生複數數值,該PUFs是運用導致該半導體製程變異的至少一參數;以及以一處理單元處理該數值以及提供一第一數值,其中該以一處理單元處理該數值以及提供一第一數值包括選擇在數值中符合一預先設計條件的一數值成為該第一數值;其中至少一PUFs包含成形於半導體的導電層之間的至少一通道;其中該參數包括該通道的一尺寸,該通道的該尺寸是選至一範圍,該範圍介於一通道的一尺寸之一最小值以及一最大值,其通道尺寸是對應是否該通道在導電層之間造成一短路,短路與否是在該裝置的一製造過程之前決定於執行的一測試過程,以及範圍內不同的通道尺寸是運用於PUFs。
  8. 如申請專利範圍第7項所述之方法,其中該以一複數實體不可複製功能產生複數數值包含產生根據導電層是否被該通道造成短路以產生之至少一數值。
  9. 如申請專利範圍第7項所述之方法,其中該預先設計條件是以運用的該參數具有一最小值的一實體不可複製功能所產生,至少一實體不可複製功能中任一個都提供一數值,其數值是對應至包括0以及1的一位元序列。
  10. 如申請專利範圍第7項所述之方法,其中該預先設計條件是以運用的該參數具有一最小值與一最大值間之一中間值的一實體不可複製功能所產生,至少一實體不可複製功能中任一個都提供一數值,其數值是對應至包括0以及1的一位元序列。
  11. 一種根據一半導體製程變異以產生一數值的一裝置來產生一數值的一方法,該方法包括:以一複數實體不可複製功能(PUFs)產生複數數值,該PUFs是運用導致該半導體製程變異的至少一參數;以及以一處理單元處理該數值以及提供一第一數值,其中該處理包括在該數值上的任一位元序列執行一邏輯運算,並且計算該第一數值;其中至少一PUFs包含成形於半導體的導電層之間的至少一通道;其中該參數包括該通道的一尺寸,該通道的該尺寸是選自一範圍,該範圍介於一通道的一尺寸之一最小值以及一最大值,其通道尺寸是對應是否該通道在導電層之間造成一短路,短路與否是在該裝置的一製造過程之前決定於執行的一測試過程,以及範圍內不同的通道尺寸是運用於PUFs。
  12. 如申請專利範圍第11項所述之方法,其中該邏輯運算是一邏輯異或(exclusive or,XOR)邏輯運算。
TW103146415A 2013-12-31 2014-12-31 產生隨機數值的裝置及方法 TWI676131B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130168530A KR102186475B1 (ko) 2013-12-31 2013-12-31 랜덤한 디지털 값을 생성하는 장치 및 방법
KR10-2013-0168530 2013-12-31

Publications (2)

Publication Number Publication Date
TW201531937A TW201531937A (zh) 2015-08-16
TWI676131B true TWI676131B (zh) 2019-11-01

Family

ID=53493642

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103146415A TWI676131B (zh) 2013-12-31 2014-12-31 產生隨機數值的裝置及方法

Country Status (7)

Country Link
US (2) US10122537B2 (zh)
EP (1) EP3091471B1 (zh)
JP (2) JP2017505047A (zh)
KR (1) KR102186475B1 (zh)
CN (2) CN106062771B (zh)
TW (1) TWI676131B (zh)
WO (1) WO2015102359A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI640863B (zh) 2013-07-26 2018-11-11 Ict韓國有限公司 測試隨機性的儀器以及方法
WO2017026350A1 (ja) * 2015-08-10 2017-02-16 国立研究開発法人産業技術総合研究所 セキュリティ機能を有する回路を含む半導体デバイス
JP6383384B2 (ja) * 2016-06-24 2018-08-29 ウィンボンド エレクトロニクス コーポレーション 半導体装置、半導体装置の製造方法および固有情報の生成方法
JP2019530271A (ja) * 2016-08-08 2019-10-17 ミカリ, シルヴィオMICALI, Silvio 偽造防止
JP6471130B2 (ja) * 2016-09-20 2019-02-13 ウィンボンド エレクトロニクス コーポレーション 半導体装置およびセキュリティシステム
CN107392057A (zh) * 2016-12-30 2017-11-24 北京同方微电子有限公司 一种物理不可克隆电路结构
US11741332B2 (en) * 2017-04-27 2023-08-29 Silvio Micali Securing cryptographic keys
US11270184B2 (en) * 2017-04-27 2022-03-08 Silvio Micali Counterfeit prevention
KR102050021B1 (ko) * 2017-04-27 2019-11-28 김태욱 식별키 유용성 판별장치
CN107547200B (zh) * 2017-05-04 2020-04-10 华邦电子股份有限公司 半导体装置、半导体装置制造方法及特有信息的产生方法
FR3069677A1 (fr) * 2017-07-27 2019-02-01 Stmicroelectronics (Crolles 2) Sas Dispositif de generation d'un nombre aleatoire
JP2019121884A (ja) 2017-12-28 2019-07-22 三菱重工業株式会社 集積回路、制御装置、情報配信方法及び情報配信システム
US11294640B2 (en) * 2019-03-13 2022-04-05 Ememory Technology Inc. Random number generator
KR20210102740A (ko) * 2020-02-12 2021-08-20 삼성전자주식회사 물리적 복제 방지 기능에 기초하여 키를 생성하는 보안 장치 및 이의 동작 방법
US11239414B2 (en) 2020-03-24 2022-02-01 International Business Machines Corporation Physical unclonable function for MRAM structures

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110317829A1 (en) * 2010-06-25 2011-12-29 International Business Machines Corporation Physically Unclonable Function Implemented Through Threshold Voltage Comparison
US8525169B1 (en) * 2012-08-10 2013-09-03 International Business Machines Corporation Reliable physical unclonable function for device authentication

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2738971B1 (fr) 1995-09-19 1997-10-10 Schlumberger Ind Sa Procede de determination d'une cle de cryptage associee a un circuit integre
JP3673015B2 (ja) 1996-04-26 2005-07-20 沖電気工業株式会社 半導体装置における周辺デバイス識別方法
US5802592A (en) 1996-05-31 1998-09-01 International Business Machines Corporation System and method for protecting integrity of alterable ROM using digital signatures
US5990701A (en) 1997-06-25 1999-11-23 Sun Microsystems, Inc. Method of broadly distributing termination for buses using switched terminators
US6118279A (en) 1997-07-30 2000-09-12 Candescent Technologies Corporation Magnetic detection of short circuit defects in plate structure
US6555204B1 (en) 2000-03-14 2003-04-29 International Business Machines Corporation Method of preventing bridging between polycrystalline micro-scale features
JPWO2002050910A1 (ja) 2000-12-01 2004-04-22 株式会社日立製作所 半導体集積回路装置の識別方法と半導体集積回路装置の製造方法及び半導体集積回路装置
US8315383B2 (en) * 2001-07-27 2012-11-20 Hewlett-Packard Development Company, L.P. Method and apparatus for random bit-string generation utilizing environment sensors
US7085386B2 (en) 2001-12-07 2006-08-01 Activcard System and method for secure replacement of high level cryptographic keys in a personal security device
US20090132624A1 (en) * 2004-10-15 2009-05-21 Koninklijke Philips Electronics N.V. Integrated circuit with a true random number generator
JP4524176B2 (ja) 2004-12-17 2010-08-11 パナソニック株式会社 電子デバイスの製造方法
EP2011123B1 (en) 2006-04-13 2015-03-04 Nxp B.V. Semiconductor device identifier generation method and semiconductor device
EP2081170A1 (en) 2006-11-06 2009-07-22 Panasonic Corporation Information security apparatus
CN101498772B (zh) 2008-01-29 2012-07-18 西门子(中国)有限公司 磁共振成像系统中接收线圈的识别码电路
US8683210B2 (en) * 2008-11-21 2014-03-25 Verayo, Inc. Non-networked RFID-PUF authentication
EP2230794A3 (en) 2009-03-16 2011-10-05 Technische Universität München Towards Electrical, Integrated Implementations of SIMPL Systems
KR100926214B1 (ko) 2009-04-23 2009-11-09 한양대학교 산학협력단 공정편차를 이용한 디지털 값 생성 장치 및 방법
US8370787B2 (en) 2009-08-25 2013-02-05 Empire Technology Development Llc Testing security of mapping functions
US20110080715A1 (en) 2009-10-07 2011-04-07 Castles Technology Co., Ltd. Protective structure of electronic component
US8127151B2 (en) 2009-10-13 2012-02-28 Lockheed Martin Corporation Hardware-based key generation and recovery
JP5499358B2 (ja) * 2010-03-24 2014-05-21 独立行政法人産業技術総合研究所 認証処理方法及び装置
US8458489B2 (en) * 2010-03-25 2013-06-04 Empire Technology Development Llc Differential uncloneable variability-based cryptography
JP5333669B2 (ja) * 2010-06-30 2013-11-06 富士通株式会社 個体別情報生成装置及び個体別情報生成方法
JP5474705B2 (ja) * 2010-08-23 2014-04-16 ルネサスエレクトロニクス株式会社 半導体装置
KR101139630B1 (ko) * 2010-12-09 2012-05-30 한양대학교 산학협력단 식별키 생성 장치 및 방법
ES2593302T3 (es) * 2011-03-31 2016-12-07 Ictk Co., Ltd. Aparato y método para generar un valor digital
WO2012133964A1 (ko) * 2011-03-31 2012-10-04 한양대학교 산학협력단 디지털 값 생성 장치 및 방법
EP2747335B1 (en) * 2011-08-16 2017-01-11 ICTK Co., Ltd. Device and method for puf-based inter-device security authentication in machine-to-machine communication
US20130147511A1 (en) * 2011-12-07 2013-06-13 Patrick Koeberl Offline Device Authentication and Anti-Counterfeiting Using Physically Unclonable Functions
EP2615571A1 (en) 2012-01-16 2013-07-17 Gemalto SA Method of generating an identifier of an electronic device
CN103448010B (zh) * 2012-12-14 2015-08-12 上海欧唯斯工具制造有限公司 一种扭力扳手
US9083323B2 (en) 2013-02-11 2015-07-14 Qualcomm Incorporated Integrated circuit identification and dependability verification using ring oscillator based physical unclonable function and age detection circuitry

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110317829A1 (en) * 2010-06-25 2011-12-29 International Business Machines Corporation Physically Unclonable Function Implemented Through Threshold Voltage Comparison
US8525169B1 (en) * 2012-08-10 2013-09-03 International Business Machines Corporation Reliable physical unclonable function for device authentication

Also Published As

Publication number Publication date
US10771268B2 (en) 2020-09-08
CN106062771B (zh) 2019-05-17
JP6974398B2 (ja) 2021-12-01
US10122537B2 (en) 2018-11-06
TW201531937A (zh) 2015-08-16
EP3091471A1 (en) 2016-11-09
CN106062771A (zh) 2016-10-26
EP3091471A4 (en) 2017-01-18
JP2019201418A (ja) 2019-11-21
CN110263587B (zh) 2023-04-07
KR20150078801A (ko) 2015-07-08
US20160330038A1 (en) 2016-11-10
CN110263587A (zh) 2019-09-20
US20190036714A1 (en) 2019-01-31
EP3091471B1 (en) 2020-07-01
JP2017505047A (ja) 2017-02-09
WO2015102359A1 (ko) 2015-07-09
KR102186475B1 (ko) 2020-12-03

Similar Documents

Publication Publication Date Title
TWI676131B (zh) 產生隨機數值的裝置及方法
TWI640896B (zh) 處理數值的裝置及方法
JP6538908B2 (ja) エントロピービットを用いたセキュリティシステム
TWI652930B (zh) 產生識別金鑰之裝置及方法
JP6354172B2 (ja) 半導体集積回路及び認証システム
TWI640863B (zh) 測試隨機性的儀器以及方法
KR101457305B1 (ko) 식별키 생성 장치 및 방법
Mahalat et al. Implementation, characterization and application of path changing switch based arbiter PUF on FPGA as a lightweight security primitive for IoT
Kang et al. The implementation of fuzzy extractor is not hard to do: An approach using puf data
CN113507362B (zh) 基于四元组比较策略的ro puf密钥生成方法
KR102575638B1 (ko) 진성 난수 발생기의 성능 개선 방법
KR20200141409A (ko) 랜덤한 디지털 값을 생성하는 장치 및 방법
WO2019241007A1 (en) Generating a target data based on a function associated with a physical variation of a device
Colombier et al. Logic modification-based IP protection methods: an overview and a proposal
Liang et al. Study on IP protection techniques for integrated circuit in IOT environment
KR20230111848A (ko) 자기 동기 스크램블러 추정 장치 및 방법