TWI640863B - 測試隨機性的儀器以及方法 - Google Patents

測試隨機性的儀器以及方法 Download PDF

Info

Publication number
TWI640863B
TWI640863B TW103125758A TW103125758A TWI640863B TW I640863 B TWI640863 B TW I640863B TW 103125758 A TW103125758 A TW 103125758A TW 103125758 A TW103125758 A TW 103125758A TW I640863 B TWI640863 B TW I640863B
Authority
TW
Taiwan
Prior art keywords
randomness
test
puf
testing
based hardware
Prior art date
Application number
TW103125758A
Other languages
English (en)
Other versions
TW201520761A (zh
Inventor
金東奎
崔秉德
池廣鉉
Original Assignee
Ict韓國有限公司
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 Ict韓國有限公司 filed Critical Ict韓國有限公司
Publication of TW201520761A publication Critical patent/TW201520761A/zh
Application granted granted Critical
Publication of TWI640863B publication Critical patent/TWI640863B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K23/00Pulse counters comprising counting chains; Frequency dividers comprising counting chains
    • H03K23/004Counters counting in a non-natural counting order, e.g. random counters
    • 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/06Cryptographic 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • 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/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

一種隨機性測試儀器被揭露,根據一實施例,一隨機性測試儀器包括一隨機性測試模組以在基於PUF的硬體上執行一隨機性測試,以及一處理裝置根據一隨機性測試結果判定其基於PUF的硬體是否為有缺陷的。

Description

測試隨機性的儀器以及方法
本發明是關於一種測試隨機性的儀器以及方法,尤其是一種測試PUF(physical unclonable function)硬體之隨機性的儀器以及方法。
資訊社會日益發展,個人隱私的維護需求日增,建立防衛系統並藉由加密及解密來傳遞資訊也因而成為一個必須的技術。
在這個資訊先進的社會中,多樣化的裝置皆是電子化的,除了高效能電腦的種類外,電腦裝置的運用如一內嵌系統或者系統單晶片(SoC)都戲劇性的增加。例如,包含RFID(radio-frequency identification)的運算裝置、智慧卡、USIM(Universal Subscriber Identity Module)、OTP(one time password)等都被廣泛的運用。
為了這類運算裝置的安全運用,建立一防衛系統是必要的,藉由利用加密及解密演算法保護重要資訊的防衛功能,或者利用辨識以及認證功能指派存取權的防衛功能可被完成。
在這些防衛功能的運作下,暗號或者特殊識別(ID)會被運用,其對於防衛系統是重要的要素,並被認為是如下述的識別密鑰。當一識別密鑰產生,外界產生外界密碼安全的PRN(pseudo random number),並將亂數儲存在一非揮發性記憶體(例如快閃記憶體以及一EEPROM(electrically erasable programmable read-only memory))的方法是最常被使用的。
近期,不同的攻擊〈例如跨頻道攻擊以及反向工程攻擊〉傾向針對儲存於運算裝置內的識別密鑰來執行。為了安全地產生病儲存識別密鑰以對抗這類攻擊,PUF技術正持續發展。
PUF是用以產生一識別密鑰的技術,利用存在於電子系統的細微物理特性差異並維持或儲存識別密鑰不變,其也被認為是硬體特徵。
利用PUF作為識別密鑰的必須條件是產生之識別要有足夠安全的隨機性。具足夠安全隨機性之基於PUF的硬體被認定為可接受的產品, 反之,具低隨機性之基於PUF的硬體需要被認定為有缺陷的產品,因為PUF值的低隨機性使得基於PUF的識別可能被預料。
然而,之前從來沒有揭露過這樣的判別方式,因此發展一種能夠判別基於PUF的硬體是否具有足夠隨機性的隨機性測試儀器以及方法是需要的。此外,儘管基於PUF的硬體僅產生有限的資訊,大量用以確認隨機性的資料位元是需要的。
同時,因為有缺陷的產品可能發生於在半導體過程製造電路時的缺失,故電路是否是可接受或者有缺陷的判別是需要的。目前為止,基於PUF的硬體會產生隨機值,且傳統的測試過程是無法判定基於PUF的硬體的缺陷,也就是說判定基於PUF的硬體之缺陷以及隨機性的方法也需要被改良。
本發明的一方面提供一種測試基於PUF的硬體之缺陷以及隨機性的隨機性測試儀器以及方法。
根據本發明的一方面,提供測試隨機性的一儀器,其包括隨機性測試模組,對於基於PUF的硬體執行一隨機性測試;以 及一處理裝置,其根據一隨機性測試結果判定該基於PUF的硬體是否有缺陷。
該隨機性測試模組可執行一mono測試。
隨機性測試模組可測試相對於來自基於PUF硬體之輸出值在0秒和1秒的均等性。為了測試該均等性,可利用一方法接收來自於該基於PUF的硬體之N位元輸出值,計算0位元或1位元的數量,在算出來的數字滿足以N來預定的一第一範圍時,判定該基於PUF的硬體是可接受的。
該隨機性測試模組可執行一poker測試。
該隨機性測試模組可測試由該基於PUF的硬體輸出之值之型態的均等性。為了測試該均等性,可利用一方法,當從基於PUF的硬體輸出的N位元輸出值是以4位元來分割,且當計算任一以4位元表示的0~15頻率滿足以N來預定的一第二範圍時,判定該基於PUF的硬體是可接受的。
該隨機性測試模組可在該基於PUF的硬體上執行一run測試。
目前為止,一run可表示相同值的一連續位元序列,以及被認為是一連續序列。如此,該測試模組可測試從基於PUF的硬體輸出的一值之許多連續序列是否適當。為了測試多個連續序列的適當性,可利用一方法,以1位元連續觀察來自於基於PUF的硬體之N位元輸出值,當一變化 頻率滿足以N來預定的的一第三範圍時,判定該基於PUF的硬體為可接受的。
該隨機性測試模組可在該基於PUF的硬體上執行一long-run測試。如此,該測試模組可測試太長的long-run是否存在於來自基於PUF的硬體之輸出值。為了測試long-run的存在,可利用一方法,以1位元連續觀察到來自於基於PUF的硬體之N位元輸出值,在計算該相同值的一連續位元的長度過程中,當該相同值的一連續位元的長度超出N的一第四預設範圍時,判定該基於PUF的硬體是有缺陷的。
上述的測試方法是測試模組可執行的範例,以及某些測試方法可被替換為其他形式的隨機測試,或者其他測試方法也可被使用來測試來自基於PUF的硬體之輸出值的隨機性。
根據本發明的另一方面,是提供測試隨機性的一種方法,包括在基於PUF的硬體上執行一隨機測試;以及根據一隨機性測試結果判定該基於PUF的硬體是否為有缺陷的。
根據本發明的再一方面,是提供測試隨機性的一種方法,包括接收一位元序列,包括一第一輸出值以及一第二輸出值至少其中之一,其中該第一輸出值或者該第二輸出值由基於PUF的硬體輸出;在該位元序列 上執行一隨機性測試;以及根據一隨機性測試結果判定該基於PUF的硬體是否為有缺陷的。
根據本發明的又一方面,是提供一電腦可讀式的紀錄媒介,重新編寫一程式以執行測試隨機性的方法。
不同的本發明實施例,提供可用以測試基於PUF的硬體之隨機性的一隨機測試儀器以及方法。根據本實施例,其尤其是一種執行在統計方法的一隨機性測試,因此來自該基於PUF的硬體之輸出值並不會洩漏以增加安全性。
此外,當以統計學的方式作為隨機性測試是被執行在來自基於PUF的硬體之輸出值上時,隨機性測試儀器可被裝配為僅牽涉一小部分運作的一裝置,從而達到經濟效益。
另外,當基於PUF的硬體輸出一隨機數位值,一傳統的測試方法可不被用於在判定基於PUF的硬體之缺陷。故雖然基於PUF的硬體被判定為可接受的,但該基於PUF的硬體在沒有檢測其隨機性的情況下,應無法作為一暗號系統的密鑰值來使用。
根據本發明之一實施例,一隨機性審核方法可被併入判定製造缺陷的一方法。也就是說,一個單一的隨機性測試提供兩種測試效果。尤其是,隨機性測試也可以判定基於PUF的硬體的缺陷,而傳統的測試方法 並不能成功判定。
100‧‧‧識別密鑰產生儀器
110‧‧‧識別密鑰產生單元
120‧‧‧識別密鑰讀取單元
130‧‧‧識別密鑰處理單元
201‧‧‧1號金屬層
202‧‧‧2號金屬層
210‧‧‧組別
220‧‧‧組別
230‧‧‧組別
240‧‧‧組別
400‧‧‧隨機測試儀器
410‧‧‧PUF產生單元
415‧‧‧校正線圈
420‧‧‧隨機性測試模組
421‧‧‧mono測試模組
422‧‧‧poker測試模組
423‧‧‧run測試模組
測試模組424‧‧‧long-run
操作步驟610‧‧‧讀取PUF的數位值
操作步驟620‧‧‧辨識第一值的數值
操作步驟630‧‧‧第一值的數值是否介於一預定範圍內?
操作步驟640‧‧‧判定其隨機性為可接受的
操作步驟650‧‧‧判定其隨機性為有缺陷的
操作步驟705‧‧‧cnt_1=-1250;Mono_result=1
操作步驟710‧‧‧輸入位元為1?
操作步驟715‧‧‧cnt_1=cnt_1+1
操作步驟720‧‧‧2500位元是否全輸入了?
操作步驟725‧‧‧cnt_1為負值?
操作步驟730‧‧‧cnt_1=-cnt_1
操作步驟735‧‧‧cnt_1大於64?
操作步驟740‧‧‧Mono_result=0
操作步驟805‧‧‧sum=0;f0=f1…=f15=0
操作步驟810‧‧‧輸入的4位元值為何?
操作步驟815‧‧‧f0=f0+1
操作步驟820‧‧‧sum=sum+f0*2+1
操作步驟825‧‧‧f1=f1+1
操作步驟830‧‧‧sum=sum+f1*2+1
操作步驟835‧‧‧f15=f15+1
操作步驟840‧‧‧sum=sum+f15*2+1
操作步驟845‧‧‧sum是否大於25695?
操作步驟850‧‧‧2500位元是否全輸入了?
操作步驟855‧‧‧2500位元是否全輸入了?
操作步驟860‧‧‧sum是否小於24594?
操作步驟865‧‧‧Mono_result=0
操作步驟905‧‧‧cnt_1=0;Mono_result=1
操作步驟910‧‧‧輸入位元為1?
操作步驟915‧‧‧cnt_1=cnt_1+1
操作步驟920‧‧‧2500位元是否全輸入了?
操作步驟925‧‧‧cnt_1為負值?
操作步驟930‧‧‧cnt_1=-cnt_1
操作步驟935‧‧‧cnt_1是否大於64?
操作步驟940‧‧‧cnt_run=0;Run_result=1
操作步驟945‧‧‧old_bit=new_bit;Run_result=1
操作步驟950‧‧‧old_bit是否與new_bit不同?
操作步驟955‧‧‧cnt_run=cnt_run+1
操作步驟960‧‧‧2500位元是否全輸入了?
操作步驟965‧‧‧Mono_result=0
操作步驟970‧‧‧以利用索引值事先計算的參數讀取數個Runs 的最小值與最大值
操作步驟975‧‧‧cnt_run是否介於最小值以及最大值之間?
操作步驟980‧‧‧Run_result=0
操作步驟1005‧‧‧cnt_LR=1;LR_result=1
操作步驟1010‧‧‧old_bit=new_bit;new_bit=input_bit
操作步驟1015‧‧‧old_bit是否與new_bit不同?
操作步驟1020‧‧‧cnt_LR=1
操作步驟1025‧‧‧cnt_LR=cnt_LR+1
操作步驟1030‧‧‧cnt_LR為17?
操作步驟1040‧‧‧2500位元是否全輸入了?
操作步驟1045‧‧‧LR_result=0
1100‧‧‧隨機性測試模組
圖1為一識別密鑰產生儀器之示意圖。
圖2為一示意圖,其顯示一識別密鑰產生單元。
圖3為一示意圖,其根據本發明之一實施例顯示由半導體層構成之一通道或者接觸陣列的構造,使得識別密鑰產生單元產生一識別密鑰。
圖4A到圖4C為方塊圖,其根據多個不同實施例顯示隨機性測試儀器。
圖5為一方塊圖,其根據之一實施例顯示一隨機性測試模組。
圖6為一步驟流程圖,其根據一實施例顯示一隨機性測試方法。
圖7為一步驟流程圖,其根據一實施例顯示一測試。
圖8為一步驟流程圖,其根據一實施例顯示一測試。
圖9為一步驟流程圖,其根據一實施例顯示一測試。
圖10為一步驟流程圖,其根據一實施例顯示一測試。
圖11為一方塊圖,其根據一實施例顯示一隨機測試模組。
為能讓 貴審查委員能更瞭解本發明之技術內容,特舉較佳具體實施例說明如下。
首先,基於PUF的硬體(physical unclonable function(PUF)-based hardware)將會在圖1至圖3中被描述,一儀器以及一測試基於PUF的硬體隨機性之方法,也將會接著被描述。
如圖1所示為一識別密鑰產生儀器100。一識別密鑰產生儀器100產生一識別密鑰,其不會隨時間變化,使用一半導體製程,以及其識別密鑰是隨機以及非時變的。以識別密鑰產生單元110產生的識別密鑰,譬如可以是一N位元的數位值(N是一自然數),信賴產生的識別密鑰最重要之因素為隨機性以及識別密鑰的非時變性。
識別密鑰產生單元110產生的識別密鑰,其藉由發生在半導體製程中節點間的短路而具有隨機性,其中節點間的短路並不會隨時間或使用環境改變,因此識別密鑰一旦產生便不會改變。識別密鑰產生單元110是根據導電層以接點或通道是否造成短路以產生所述之識別密鑰,其中通道是在半導體製程中構成之導電層間所形成的。
接點或通道,是被設計來連接導電層,故通常具有一尺寸有意要使得導電層短路。依照一般的設計規則,最小接點或者是通道的尺寸要確保讓導電層短路。然而,在使用識別密鑰產生單元110時,根據現有的實施例,接點或通道是故意以設計規則定義還小的尺寸構成,藉此部分的接點或通道會使得導電層短路,而另一部分的接點或通道不會使得導電層 短路,短路是隨機產生的。在傳統的半導體製程中,接點或通道無法造成導電層短路被視為製程中的缺失,不過這樣的缺失卻被用於產生具隨機性的識別密鑰。接點或通道的尺寸設置將在下面作詳述。
同時,根據其他實施例,識別密鑰產生單元110,故意使得導電線間的間隔小於半導體製程的設計規則,因而讓導電線隨機短路,並產生具隨機性的識別密鑰。同樣地,本實施例,一隨機性的識別密鑰是故意脫離設計規則以確保導電線間的開口而產生,開口也就是在傳統的半導體製程裡預設的間隔程度。
識別密鑰產生單元110根據上述的實施例電性產生識別密鑰,一讀取電晶體可被使用在辨別接點或通道是否使導電層導電或者辨別導電線是否短路。同時,在調整接點或通道尺寸的實施例中,即使使得導電層短路的接點或通道以及沒有使得導電層短路的接點或通道的比例調整至近乎1/2,藉由調整接點或通道尺寸以具有相同的機率,發生短路的機率(譬如以數位值0表示)以及未發生短路的機率(譬如以數位值1表示)可能依然無法確保完全相同。也就是說,在接點或通道的尺寸大於設計規則的數值時,短路的發生機率會增加;在接點或通道的尺寸較小時,未短路的發生機率會增加。短路的發生機率以及未短路的發生機率其一較大的話,識別密鑰的隨機性就會降低。這樣的問題同樣發生在調整導電線間間隔的實施例
因此,根據一實施例,識別密鑰產生儀器100更包括一識別密鑰處理單元130,以處理該識別密鑰產生單元110產生的識別密鑰以確保其隨機性。另提供參考,雖然這份說明書使用名詞『識別密鑰處理單元』,這個名詞並不會限制其單元是藉由不同的技術或演算法處理產生之識別密鑰的一要素,其是用以指出用以執行0和1的平衡、以確保識別密鑰之隨機性的一要素。
圖2是一示意圖,其顯示出識別密鑰產生單元的結構。
在一半導體製程中,於1號金屬層201以及2號金屬層202間生成的通道將被描述。組別210根據設計規則包含具有足夠大尺寸的通道,所有通道使得1號金屬層201以及2號金屬層202短路,且都被表示為數位值0。一部分的組別230根據設計規則包含具有過小尺寸的通道,沒有通道使得1號金屬層201以及2號金屬層202短路,且該部分的組別230都被表示為數位值1。組別220包含具有介於組別210及組別230尺寸的通道,部分的通道使得1號金屬層201以及2號金屬層202短路,且保持部分的通道未使1號金屬層201以及2號金屬層202短路。識別密鑰產生單元110藉由設置通道尺寸,使得一些通道讓1號金屬層201以及2號金屬層202短路,而其他通道未使1號金屬層201以及2號金屬層202短路,如同組別220一樣。
通道尺寸的設計規則根據半導體製程而有所不同。譬如說,如果在0.18μm(微米)互補式金屬氧化物半導體(CMOS)的製程中,通道尺寸依照設計規則設置在0.25μm,而識別密鑰產生單元110設置通道尺寸為0.19μm,此時金屬層間的短路便會隨機分布。短路的機率分布最理想的短路機率是50%,識別密鑰產生單元110藉由設置通道尺寸讓機率分布盡可能的接近50%。通道尺寸可根據製程來作實驗而取得。
圖3為一示意圖,其顯示於一半導體層中生成的通道或接點陣列,使得識別密鑰產生單元110根據一實施例產生一識別密鑰。
寬邊具M個通道,長邊N個通道,也就是說總共有M*N個通道在置於半導體基質上的金屬層間生成,其中M以及N為自然數。識別密鑰產生單元110,根據某一個M*N個通道使得金屬層短路(以數位值0表示)或者未使得金屬層短路(以數位值1表示)來產生一M*N位元之識別密鑰M*N位元之識別密鑰是以一識別密鑰讀取單元120來讀取。
同時,上述的基於PUF的硬體需要一高隨機性。理想的是,隨機的程度要能夠是1/2,使得輸出數位值0的機率以及輸出數位值1的機率是相同的。也就是說,可被接受的基於PUF的硬體應具高隨機性且能夠使得M*N位元中包含M*N/2個0以及M*N/2個1。
因此,提供隨機性測試儀器以及方法,是用於在過去製造的基於PUF的硬體上執行一隨機性測試,其如下所述:上述根據通道來說明基於PUF的硬體是僅供解說用途,任何種類的PUFs可被包含。譬如說,根據實施例,執行在基於PUF的硬體之隨機性測試已明顯揭露在案件10-2010-0125633,10-2011-0013269,10-2011-0029429,10-2012-0033362,10-2009-0035416,10-2012-0089227,10-2011-0077271,10-2009-0096085,10-2010-0039857,10-2007-0122914,10-2012-0091197,10-2013-0129262,10-2013-0029616,10-2013-0043954,10-2013-0101893,10-2013-0168530,10-2013-0168558,10-2013-0088696,10-2013-0103939,2011-0029430,10-2013-0105385,10-2013-0105470,10-2013-0107217,10-2013-0107304,10-2013-0116424,10-2013-0120297,10-2013-0120141,10-2013-0120043,10-2014-0042360,10-2014-0042362,and 10-2014-0046021。
如上述,當基於PUF的硬體輸出一隨機輸出值,缺陷測試不會以傳統的測試方法來執行。此外,基於PUF的硬體需要獲得一預設的隨機性程度,因此也需要一方法來辨別一輸出值是否為隨機的。下文中將會詳述,在基於PUF的硬體上藉由隨機性測試同時執行缺陷以及隨機性測試的一方法。
圖4A到圖4C是方塊圖,其根據不同實施例顯示隨機性測試儀器。
首先請參照圖4A,一隨機測試儀器400可包括一PUF產生單元410,以及一隨機性測試模組420。PUF產生單元410可由基於PUF的硬體產生一輸出值。譬如說,PUF產生單元410可輸出一第一輸出值(譬如為1),或者一第二輸出值(譬如為0)。在此,雖然第一輸出值可為1,但第一輸出值也可以為0而第二輸出值為1。PUF產生單元410可產生N個輸出值,其中N為自然數。
輸出值可包括至少一個0或1,因此也可被視為一位元序列。一位元序列可被1或4位元處理,這將會在以下詳述。在此,以1或4位元管理一位元序列可意味著隨機性測試模組420可以1或4位元接收所述之位元序列;又或者,以1或4位元管理一位元序列可意味著隨機性測試模組420可以接收隨機的位元並以1或4位元執行一隨機性測試。也就是說,不管位元序列的大小為何,隨機性測試模組420可以1或4位元執行隨機性測試。在這樣的情況下,隨機性測試模組420在接收所有的目標位元後,也可以1或4位元執行隨機性測試。
PUF產生單元410可以如同基於PUF的硬體一般地被使用。當PUF產生單元410如同基於PUF的硬體一般地被使用時,PUF產生單元410可不需要被包括在隨機性測試儀器400內,而是裝置附屬於測試上。又或者,PUF產生單元410可被裝置成與合併隨機性測試儀器400的形式。
又或者,PUF產生單元410可被裝置成一介面,用以接收基於PUF的硬體之一輸出值(也就是一位元序列)。當PUF產生單元410被裝置成一介面,PUF產生單元410可連接外部的基於PUF的硬體以接收來自基於PUF的硬體之輸出值,以及輸出所述之輸出值至隨機性測試模組420。在這種情況下,PUF產生單元410可僅輸出一測試結果,而不會讓基於PUF的硬體之輸出值外洩。
隨機性測試模組420可在基於PUF的硬體上執行一隨機性測試,隨機性測試模組可接受來自基於PUF的硬體之輸出值,譬如說來自PUF產生單元410的一位元序列。隨機性測試模組420可在接收到的來自基於PUF的硬體之輸出值上,執行隨機性測試。譬如說,隨機性測試模組420可測試位元序列中的0以及1的數量是否具有隨機性。
隨機性測試模組420可使用輸出值(位元序列)執行mono測試、poker測試、run測試以及long-run測試之其中之一,任一隨機性測試將在下面作詳述。
一處理儀器(圖未示)可根據隨機性測試結果判定基於PUF的硬體之缺陷。當基於PUF的硬體之隨機性符合一預設程度或者更高,處理儀器會判定所述之基於PUF的硬體為可接受的。例如,當隨機性測試模組420執行一mono測試,且1的數量若在一預定範圍內,處理儀器(圖未示)可判 定基於PUF的硬體為可接受的;1的數量若在一預定範圍外,處理儀器(圖未示)可判定基於PUF的硬體為有缺陷的。處理儀器(圖未示)可根據前述四種隨機性測試方式至少其一之結果。處理儀器(圖未示)也可以運用上述其他不同的隨機性測試來判定缺陷。處理儀器(圖未示)可被裝配在隨機性測試儀器400的外面,或者與隨機性測試模組420相結合成為單一硬體。
圖4B是一方塊圖,其顯示根據一實施例之一隨機性測試儀器。如圖4A所示的實施例相比,如圖4B所示之實施例更包括一校正線圈415。校正線圈415可修正PUF產生單元410的輸出值,以及傳送其輸出值至隨機性測試模組420。
圖4C是一方塊圖,其顯示根據另一實施例之一隨機性測試儀器。如圖4C所示可清楚的看到隨機性測試模組420實體上可與PUF產生單元410分離。
圖5是一方塊圖,其顯示根據一實施例之一隨機性測試模組。
如圖5所示,根據本實施例,隨機性測試模組420可包括mono測試模組421、poker測試模組422、run測試模組423以及long-run測試模組424。mono測試模組421、poker測試模組422、run測試模組423以及long-run測試模組424可根據來自基於PUF的硬體之輸入輸出值分別執行隨機性測試。
一mono測試可在一位元序列中判定0和1的數量是否相同以測試隨機性。mono測試可以1位元來觀察位元序列中的任一位元,藉此判定0和1的數量是否相同。
一poker測試在一位元序列被分成4位元單位時,可判定以4位元代表的0~15的頻率是否和另一個相同,藉此測試隨機性。
一run測試可在一位元序列中判定0和1的連續性以測試隨機性。run測試可在一位元序列中辨別多個連續的序列以及根據多個連續的序列測試隨機性。
一long-run測試可判定0和1的連續性以測試隨機性。long-run測試可根據一連續序列是否具有超過預設門檻一長度以測試隨機性。
上述提到的隨機性測試可被同時執行並輸出測試結果。mono測試模組421、poker測試模組422、run測試模組423以及long-run測試模組424可輸出1或0以當作結果值。其中,1代表的是隨機性測試仍然在進行或者一隨機性測試的結果是失敗的,而0代表的是通過隨機性測試。
上述四種隨機性測試方法僅是作為解釋目的,其應可被該技術領域具通常知識者輕易的理解,這些隨機性測試可被不同標準化的隨機性測試來取代。尤其是,部分或者是所有四種隨機性測試,都可被不同種的 標準化隨機性測試取代。此外,具通常知識者可理解本發明所請求的申請專利範圍不被一隨機性種類所限制。
圖6是一步驟流程圖,其根據一實施例顯示一隨機性測試方法。如圖6所示之實施例,譬如可為一mono測試的步驟流程圖。
在操作步驟610中,隨機性測試方法可讀取來自基於PUF的硬體之一輸出值,也就是一數位值。如上所述,輸出值可為包括0及1至少其一之一位元序列。本實施例假定所述之位元序列具有2500位元的大小,因此來自具理想隨機性之基於PUF的硬體應包括1250個1以及1250個0。
在操作步驟620中,隨機性測試方法可辨認位元序列中的多個第一輸出值。這裡的第一輸出值可為1或0。
在操作步驟630中,隨機性測試方法可判定第一輸出值的數量是否在一預定範圍內。如上所述,來自具理想隨機性之基於PUF的硬體之位元序列具有1250個第一值。然而,理想隨機值的誤差範圍也可以被認為具有隨機性。在一實施例中,隨機性測試方法可設定誤差在64。在這樣的情況下,隨機性的預定範圍可介於1185以及1315之間。至於第一輸出值是否落入預定範圍的判定方式會接著詳述。
在操作步驟640中,隨機性測試方法可在第一值落在所述之預定範圍時,判定基於PUF的硬體為可接受的。在操作步驟650中,隨機性 測試方法可在第一值未落在所述之預定範圍時,判定基於PUF的硬體為有缺陷的。
圖7為一mono測試的步驟流程圖。如圖7所示,本實施例假定mono測試接收了來自基於PUF的硬體之2500位元大小的位元序列,並測定其隨機性。
在操作步驟705中,mono測試可設定第一值(cnt_1)的值之初始值為-1250,此舉有利於run測試的進行,這之後會再說明。mono測試可設定mono測試結果(Mono_result)為1。
在操作步驟710中,mono測試會判定一輸入值是否為第一值。本實施例假定第一值是1。
在操作步驟715中,當輸入位元為所述之第一值時,mono測試會使第一值(cnt_1)的值增加1。在操作步驟720中,mono測試會保持第一值(cnt_1)的值不變直到輸入位元變為第二個值。
在操作步驟720中,mono測試可判定操作步驟710到715的所有位元是否皆已執行。當操作步驟710到715的所有位元還未判定完畢,操作步驟710到715會繼續判定下一個位元。當操作步驟710到715的所有位元都已判定完畢,mono測試會在操作步驟710到715中判定第一值(cnt_1)的值是否為一負值。
在操作步驟730中,當第一值(cnt_1)的值為一負值時,第一值(cnt_1)的值會被改為一正值。在操作步驟735中,mono測試會判定第一值(cnt_1)的值是否大於64。
當第一值(cnt_1)的值大於64時,mono測試會保持mono測試的輸出結果(Mono_result)為1。這時,mono測試結果(Mono_result)為1意味著其隨機性是有缺陷的。當第一值(cnt_1)的值為64或更小時,mono測試結果(Mono_result)可以被0替換並輸出。這時,mono測試結果(Mono_result)為0意味著其隨機性是可接受的。
圖8為一poker測試的步驟流程圖,如圖8所示,本實施例假定poker測試接收了來自基於PUF的硬體之2500位元大小的位元序列,並測定其隨機性。
poker測試能以獨立的4位元處理位元序列。poker測試可檢測以4位元表示的0到15之頻率是否相同,通過測試的條件如公式1所示:
在此,f(i)代表頻率之4個獨立位元:0000,0001,0010,...,1111,硬體使用公式1若有操作上的困難的話,公式1可轉用公式2,其等同於公式1。
此外,硬體使用公式2中的平方若有操作上的困難的話,可使用經過微分處理而獲得的公式3。
在此,k在計算上為一自然數。使用公式3的時候,在硬體操作上就不需要平方。根據本實施例,當sum大於25695時,Poker測試會停止計算f(i)及輸出一失敗的結果;當sum為24594或者更大時,Poker測試會將成果改為成功並輸出。上述的過程會參考圖8作詳述。
在操作步驟805中,poker測試可設置總合為0,且設置所有f(0)到f(15)的值為0,並將結果的初始值(Poker_result)設置為1。
在操作步驟810中,poker測試以4位元大小來判定次位元序列的值。poker測試根據次位元序列的值執行操作步驟815到835。譬如,當次位元序列的值為0,poker測試會在操作步驟815中使f(0)的值加1,並在操作步驟820中以f(0)*2+1使sum增加。當次位元序列的值為1,poker測試會在操作步驟825中使f(1)的值加1,並在操作步驟830中以f(1)*2+1使 sum增加。當次位元序列的值為15,poker測試會在操作步驟835中使f(15)的值加1,並在操作步驟840中以f(15)*2+1使sum增加。同時,具該領域之通常知識者可輕易地理解,當次位元序列的值為2到14時可用相似的過程來進行。
在操作步驟845中,poker測試判定sum是否大於25695。在操作步驟850中,當sum大於25695時,poker測試會判定所有2500個位元是否皆進行完畢並終止測試;當sum為25695或更小時,poker測試會判定是否所有2500個位元皆進行完畢,若有2500個位元未進行完畢,poker測試會回到操作步驟810並重複進行下一個次位元序列的檢測。
當測試進行完所有2500位元時,poker測試會在操作步驟860中判定sum是否小於24594。若sum為24594或者更大時,poker測試會替換結果(Mono_result)為0以及在操作步驟865中輸出結果。若sum小於24594,poker測試會替換結果(Mono_result)為1以輸出。其中,結果(Mono_result)為0意味著隨機性是可接受的,結果(Mono_result)為1意味著隨機性是有缺陷的。
上述的方法利用一操作步驟並以微分處理代替了平方,藉此提供簡化運算範圍的效果。譬如,因為f(i)具有8位元大小,需要具有8*8大 小的16平方模組以及16*16大小的15附加模組。若有微分處理的話,只需要一個附加模組,並因此不需要牽涉大範圍的運算。
此外,本方法也能使一中間值被辨識。當平方被執行,特殊值會被集中在位元序列中特定的部位。因此,雖然poker測試有可能提早判別其失敗,但所有的f(i)值都需要被無效率的計算才能獲得一總和。當使用了微分處理,在計算期間就可辨識暫時總和值,因此失敗也能提早判別,能成為一適合的隨機性測試。
根據一適合的隨機性測試,表格1所示為暫存器大小以及附加模組大小的關係。
硬體需要經過設計以因應最壞的狀況。最壞的狀況下,所有的4位元之次位元序列具有一輸入型態0000。在這樣的狀況下,f(0)為625以及sum會是391250。然而,本實施例的方法利用微分處理,在最壞的情況發生前事先辨別一暫時總和值,判定測試結果為失敗並提早停止隨機性測試。如表格1所列,在最壞的情況下,暫存器總共需要19+10*16=179位元,i由0到15時,其sum需要19位元來儲存391250,並且每一f(i)需要10位元來儲存625。
相反的,當sum大於一最大值25695以繼續隨機性測試時,本方法利用微分處理停止了隨機性測試。在這種情況下,當次位元序列0000持續的輸入,相同的型態輸入16次,其sum為25600;以及次位元序列0000再輸入一次時,其sum為25291,也就是說f(0)為161,且隨機性測試會停止。在這種情況下,需要15位元來儲存sum,需要8位元來儲存至161。因此,總共需要15位元來儲存sum,且需要8位元給f(i)以儲存至161,因此總共需要15+8*16=143,顯示如此簡化的運算範圍是需要的。
除了暫存器,也需要用以計算暫時總和值以及計算f(i)的一附加模組。本方法利用微分處理減少了利用的附加模組,從原本傳統的一19位元附加模組以及16個10位元附加模組,變為一15位元附加模組以及16個8位元附加模組。
圖9為一run測試的步驟流程圖,如圖9所示,本實施例假定run測試接收了來自基於PUF的硬體之2500位元大小的位元序列,並測定其隨機性。run測試會根據在位元序列中連續性的若干序列是否足夠來檢測其隨機性,例如,當位元序列是11000011101110010,此時會有8個連續序列如"11"、"0000"、"111"、"0"、"111"、"00''、"1"以及"0"。解釋上,當連續序列的數量較少,其隨機性降低;當連續序列的數量較多,其隨機性增加,run測試會根據連續序列的數量檢測其隨機性。
譬如說,run測試會根據連續序列的數量是否在一預定範圍內來檢測隨機性,具體上run會根據公式4以檢測其隨機性。
在此,m可為5000p,b可為257.5828p,p可為q*(1-q),譬如說,q可根據mono測試結果來設定。同時,當run測試被執行,m以及b可被事先計算以設置為參數。當1的數量為1250個時,m以及b具有相對應的值,|第一值-1250的數值|可在mono測試中取得,且其結果如表格2所示。
[表格2]
在mono測試中,若|第一值-1250的數值|大於64,run測試結果是沒有意義的。故run測試僅有在當|第一值-1250的數值|小於64時才能被執行。
同時,操作步驟905到935以及對應mono測試過程的操作步驟965如同上述,故其說明不再撰述。如圖所示,run測試和mono測試一起執行,run測試可與mono測試同步進行。
在操作步驟940中,run測試會設定連續序列之一數值(cnt_run)為1,run測試結果(Run_result)為1意味著隨機性是有缺陷的;run測試結果(Run_result)為0意味著隨機性是可接受的。
在操作步驟945中,run測試會以一舊位元替換一使用過的新位元(new_bit),並設置一新輸入位元為一新位元(new_bit)。在操作步驟950中,run測試會判定新位元(new_bit)以及舊位元(old_bit)彼此是否不相同。
當新位元(new_bit)以及舊位元(old_bit)不相同時,run測試會在操作步驟955中使連續序列(cnt_run)的值增加1,當新位元(new_bit)以及舊位元(old_bit)是相同時,run測試會在操作步驟960中判定是否所有2500位元都已執行完畢。
在操作步驟970中,run測試會從事先計算出的參數值讀取連續序列的數量一最小值以及一最大值,也就是預設範圍的邊界值,其中參數值是利用在mono測試中計算出之位元序列1之數量(cnt_1)作為索引值以計算而來。在操作步驟975中,run測試會檢測連續序列的數量(cnt_run)是否介於最小值以及最大值之間。
也就是說,run測試會判定連續序列的數量(cnt_run)是否被包含在預設範圍之間。當連續序列的數量(cnt_run)介於預設範圍之間,run測試會輸出以0取代的結果(Run_result)。當連續序列的數量(cnt_1)在預設範圍之外,run測試會使結果(Run_result)維持1輸出。
圖10為一long-run測試的步驟流程圖,如圖10所示,本實施例假定long-run測試接收了來自基於PUF的硬體之2500位元大小的位元序列,並測定其隨機性。
long-run測試會檢測其隨機性,判定位元序列中連續序列之長度是否為一預設門檻或更長。譬如說,當具有長度17或更長的連續序列存在時,long-run測試會完成其隨機性檢測。
在操作步驟1005中,long-run測試可設置連續序列的一長度(cnt_LR)為1,long-run測試可設置一結果(LR_result)為1。
在操作步驟1010中,long-run測試會以一舊位元替換一使用過的新位元(new_bit),並設置一新輸入位元為一新位元(new_bit)。在操作步驟1015中,long-run測試會判定新位元(new_bit)以及舊位元(old_bit)彼此是否不相同。當新位元(new_bit)以及舊位元(old_bit)不相同時,long-run測試會在操作步驟1020中使連續序列(cnt_run)的值回到1,當新位元(new_bit)以及舊位元(old_bit)是相同時,run測試會在操作步驟1025中使連續序列的長度(cnt_LR)增加1。
在操作步驟1030中,long-run測試會判定連續序列的長度(cnt_LR)是否同等於17。當連續序列的長度(cnt_LR)等同於17時,測試就會立即停止。當連續序列的長度(cnt_LR)不等同於17時,long-run測試會辨認是否所有2500位元的都在操作步驟1040中被輸入。當所有2500位元還未輸入,long-run測試會回到操作步驟1010並重複上述的操作步驟。當連續序列的長度(cnt_LR)小於17以及所有2500位元都已輸入,long-run測試 會輸出以0取代的結果(LR_result)。也就是說,0的結果(LR_result)意味著隨機性是有可接受的,1的結果(LR_result)為意味著隨機性是有缺陷的。
圖11為根據一實施例所示的隨機性測試模組之方塊圖。
如圖11所示,第一位元序列(i_load)可被輸入至隨機性測試模組1100,在此,第一位元序列(i_load)可被以1位元輸入。第二位元序列(i_data)可被輸入至隨機性測試模組1100,第一位元序列(i_load)可被以4位元輸入。當第二位元序列(i_data)被輸入時,第一位元序列(i_load)可通知所述之隨機性測試模組1100。
隨機性測試模組1100可在第一位元序列(i_load)以及第二位元序列(i_data)至少其一中實施mono測試、poker測試、run測試以及long-run測試。隨機性測試模組1100可輸出一mono測試結果(o_mono)、一poker測試結果(o_poker)、一runr測試結果(o_run)以及一long-run測試結果(o_lr),當這些測試停止時,這些測試結果可透過4引線被顯示。
上述的單元可使用硬體元件以及軟體元件來實施。例如,硬體元件可包括麥克風、放大器、帶通濾光片、音頻數位轉換器以及處理裝置。
處理裝置可使用一或多個一般目的或者特殊目的之電腦來使用,譬如說一處理器、一控制器以及一算術邏輯單元,一數位信號處理器、一微電腦、一場式可程式陣列、一可程式邏輯單元、一微處理器或任何其他 可以一定義的方式回應以及執行指令之裝置。處理裝置可執行一執行運作系統(OS)以及一或多個執行在OS上的軟體應用程式。
處理裝置也可存取、儲存、操作、處理以及創造資料以回應軟體的執行。為了簡化,處理裝置的描述是獨個使用的,然而該領域具通常知識者會了解處理裝置可包括多個處理元件以及多個種類的處理元件。譬如說,處理裝置可包括多個處理器或者一處理器以及一控制器。此外,不同的處理裝配是可能的,譬如同步處理器。
軟體可包括一電腦程式、一行程式碼、一指令或者一些前述之組合獨立或共同地指示或裝配處理裝置以想要的方式運作。軟體以及資料可被永久地或者暫時地收錄,以任何形式的機器、元件、實體或虛擬裝置、電腦儲存媒介或裝置、或者一傳播的信號波皆可以,並同時可提供指示或資料給處理裝置或者被處理裝置解譯。軟體也可透過與電腦系統耦合的網路被分散,藉此軟體可於一分散環境下被儲存並執行。軟體以及資料可以一或多個非暫時電腦可讀取式紀錄媒介被儲存。
根據上述的本發明實施例,可被記錄在可讀式電腦媒介內,包括電腦軟體指示到實施不同操作步驟。媒介也可包括單獨或結合軟體指示、資料檔案、資料架構以及相關物。記錄在媒介上的軟體指示是為了特殊設計以及建造示範的實施例,它們亦可以是對於電腦軟體知識領域之習知技 藝者來說習知或是可行的方法。可讀式電腦介質包括磁媒介,譬如說硬碟、軟盤以及磁帶。光學媒介,譬如說CD ROM磁盤以及DVD;磁性光學媒介,譬如說光學磁盤;以及硬體裝置,特別配置以出存和執行軟體指示,例如唯讀式式記憶體ROM、隨機存取記憶體RAM、快閃記憶體或類似物。程式指令的範例包括譬如由編譯程式產生的機器密碼,以及透過電腦翻譯程式執行涵蓋高等級密碼之檔案。上述的硬體裝置可裝配成可操作一或多個軟體模組以執行上述本發明實施例的操作步驟。一些實施例已參考圖式顯示以及說明,對於該領域之習知技藝者來說可以很輕易的了解,可對於前述實施例作不同的修改以及變更。譬如說,適當的效果依然可被執行,譬如前述的製程及方法以不同於上述的順序所執行,及/或前述元件(譬如系統、構造、裝置或者電路)以不同形式或模式結合或耦合,或者以其他元件或均等物代替或替換。
需注意的是,上述僅為實施例,而非限制於實施例。譬如此不脫離本發明基本架構者,皆應為本專利所主張之權利範圍,而應以專利申請範圍為準。

Claims (20)

  1. 一種用以測試隨機性的儀器包括:一隨機性測試模組,用以在基於PUF的硬體上執行一隨機性測試,其中該隨機性測試模組接收包括來自基於PUF的硬體之0或1至少其中之一的一位元序列,且該隨機性測試模組在該位元序列上執行一隨機性測試;以及一處理裝置,用以根據一隨機性測試結果判定PUF的硬體是否為有缺陷的。
  2. 如申請專利範圍第1項所述之用以測試隨機性的儀器,其中該隨機性測試模組在基於PUF的硬體上執行一mono測試。
  3. 如申請專利範圍第1項所述之用以測試隨機性的儀器,其中該隨機性測試模組測試該基於PUF的硬體在0秒和1秒均等性的分布。
  4. 如申請專利範圍第3項所述之用以測試隨機性的儀器,其中該隨機性測試模組接收來自於該基於PUF的硬體之N位元輸出值,計算0位元或1位元的數量,並且判定是否滿足以N來預定的一第一範圍,藉以測試該均等性,其中N為一自然數。
  5. 如申請專利範圍第1項所述之用以測試隨機性的儀器,其中該隨機性測試模組在該基於PUF的硬體上執行一poker測試。
  6. 如申請專利範圍第5項所述之用以測試隨機性的儀器,其中該隨機性測試模組測試由該基於PUF的硬體輸出的值之型態的均等性。
  7. 如申請專利範圍第6項所述之用以測試隨機性的儀器,其中該隨機性測試模組測試該均等性,其是根據當基於PUF的硬體輸出的N位元輸出值是以4位元來分割時,任一以4位元表示的0~15頻率之結果是否滿足以N來預定的一第二範圍,其中N為一自然數。
  8. 如申請專利範圍第7項所述之用以測試隨機性的儀器,其中該處理裝置在0~15頻率平方的總值介於該第二範圍時,判定該基於PUF的硬體是可接受的。
  9. 如申請專利範圍第8項所述之用以測試隨機性的儀器,其中該處理裝置以差值的級數替換平方總值以作計算。
  10. 如申請專利範圍第9項所述之用以測試隨機性的儀器,其中該隨機性測試模組根據該poker測試的一間歇總值適當地執行該隨機性測試。
  11. 如申請專利範圍第1項所述之用以測試隨機性的儀器,其中該隨機性測試模組在該基於PUF的硬體上執行一run測試。
  12. 如申請專利範圍第11項所述之用以測試隨機性的儀器,其中該處理裝置以1位元連續觀察來自於基於PUF的硬體之N位元輸出值,當一變化頻率滿足以N來預定的的一第三範圍時,判定該基於PUF的硬體為可接受的,其中N為一自然數。
  13. 如申請專利範圍第12項所述之用以測試隨機性的儀器,其中該隨機性測試模組接收來自基於PUF的硬體的0和1,以及測試0和1的連續性以執行該隨機性測試。
  14. 如申請專利範圍第13項所述之用以測試隨機性的儀器,其中該第三範圍是以0和1的總數量來決定。
  15. 如申請專利範圍第1項所述之用以測試隨機性的儀器,其中該隨機性測試模組在該基於PUF的硬體上執行一long-run測試。
  16. 如申請專利範圍第15項所述之用以測試隨機性的儀器,其中該隨機性測試模組接收來自基於PUF的硬體的0和1,以及根據一第四範圍或以上的一位元序列是否被包含之判斷來執行該隨機性測試。
  17. 如申請專利範圍第16項所述之用以測試隨機性的儀器,其中當該第四範圍或以上的一位元序列被包含時,該隨機性測試模組停止該隨機性測試。
  18. 如申請專利範圍第16項所述之用以測試隨機性的儀器,其中當該第四範圍或以上的一位元序列被包含時,該處理裝置判定該基於PUF的硬體是有缺陷的。
  19. 一種用以測試隨機性的方法包括:接收包括來自基於PUF的硬體之0或1至少其中之一的一位元序列;在該位元序列上執行一隨機性測試;以及根據一隨機性測試結果判定該基於PUF的硬體是否為有缺陷的。
  20. 一電腦可讀式的紀錄媒介,其可重新編寫一程式以執行如申請專利範圍第19項之測試隨機性的方法。
TW103125758A 2013-07-26 2014-07-28 測試隨機性的儀器以及方法 TWI640863B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
??10-2013-0088696 2013-07-26
KR20130088696 2013-07-26

Publications (2)

Publication Number Publication Date
TW201520761A TW201520761A (zh) 2015-06-01
TWI640863B true TWI640863B (zh) 2018-11-11

Family

ID=52393598

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103125758A TWI640863B (zh) 2013-07-26 2014-07-28 測試隨機性的儀器以及方法

Country Status (5)

Country Link
US (1) US10235261B2 (zh)
EP (1) EP3032421A4 (zh)
KR (1) KR102178386B1 (zh)
TW (1) TWI640863B (zh)
WO (1) WO2015012667A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101489091B1 (ko) * 2013-09-30 2015-02-04 (주) 아이씨티케이 반도체 공정을 이용한 식별키 생성 장치 및 방법
EP3113409A1 (en) * 2015-07-01 2017-01-04 Secure-IC SAS Embedded test circuit for physically unclonable function
KR102050021B1 (ko) * 2017-04-27 2019-11-28 김태욱 식별키 유용성 판별장치
FR3069677A1 (fr) * 2017-07-27 2019-02-01 Stmicroelectronics (Crolles 2) Sas Dispositif de generation d'un nombre aleatoire
US10649735B2 (en) * 2017-09-12 2020-05-12 Ememory Technology Inc. Security system with entropy bits
CN109032868A (zh) * 2018-07-26 2018-12-18 北京计算机技术及应用研究所 一种物理不可克隆函数ip核自动化验证装置
CN109144668B (zh) * 2018-08-06 2022-08-05 华大恒芯科技有限公司 Rfid仿真用例实现方法及装置
US11263331B2 (en) * 2018-09-27 2022-03-01 Taiwan Semiconductor Manufacturing Company, Ltd. Electronic device for checking randomness of identification key device, random key checker circuit, and method of checking randomness of electronic device
CN112764977A (zh) * 2019-11-05 2021-05-07 深圳宏芯宇电子股份有限公司 存储控制器以及测试数据产生方法
US11282799B2 (en) 2020-01-14 2022-03-22 United Microelectronics Corp. Device for generating security key and manufacturing method thereof
WO2022008553A1 (en) * 2020-07-09 2022-01-13 Telefonaktiebolaget Lm Ericsson (Publ) Processing a series of bits
US11782090B2 (en) 2020-12-11 2023-10-10 PUFsecurity Corporation Built-in self-test circuit and built-in self-test method for physical unclonable function quality check
EP4016282A1 (en) * 2020-12-15 2022-06-22 ID Quantique S.A. Qrng chip mass production method
GB2601846A (en) * 2021-03-15 2022-06-15 Nordic Semiconductor Asa Encoding

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200707308A (en) * 2005-02-02 2007-02-16 Koninkl Philips Electronics Nv Method, apparatus, device, system, program, for calibrating
TW200913627A (en) * 2007-05-11 2009-03-16 Validity Sensors Inc Method and system for electronically securing an electronic device using physically unclonable functions
TW200943897A (en) * 2008-01-02 2009-10-16 Verayo Inc Authentication with physical unclonable functions
US20110055649A1 (en) * 2009-08-25 2011-03-03 Farinaz Koushanfar Testing security of mapping functions

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7149764B2 (en) 2002-11-21 2006-12-12 Ip-First, Llc Random number generator bit string filter
WO2004031941A1 (ja) * 2002-09-30 2004-04-15 Fdk Corporation 物理乱数の一様化手法と物理乱数発生装置
ATE483197T1 (de) * 2004-10-15 2010-10-15 Nxp Bv Integrierte schaltung mit einem echten zufallszahlengenerator
JP2009098973A (ja) * 2007-10-17 2009-05-07 Toshiba Corp 乱数生成回路搭載集積回路の検査方法および乱数生成回路搭載集積回路
KR100964845B1 (ko) 2007-11-29 2010-06-24 주식회사 시큐트론 공정편차에 기반한 보안 시스템 및 방법
US8705873B2 (en) * 2008-03-20 2014-04-22 Universite De Geneve Secure item identification and authentication system and method based on unclonable features
US8598743B2 (en) * 2008-09-27 2013-12-03 Witricity Corporation Resonator arrays for wireless energy transfer
KR100926214B1 (ko) 2009-04-23 2009-11-09 한양대학교 산학협력단 공정편차를 이용한 디지털 값 생성 장치 및 방법
US8468186B2 (en) * 2009-08-05 2013-06-18 Verayo, Inc. Combination of values from a pseudo-random source
KR100937516B1 (ko) 2009-10-09 2010-01-19 (주) 아이씨티케이 스마트카드 테스트 시스템 및 그 방법
KR100980052B1 (ko) 2010-04-29 2010-09-06 (주) 아이씨티케이 Nfc를 이용하는 휴대장치의 전력공급 및 통신분기 인터페이스 시스템
US8427193B1 (en) * 2010-12-07 2013-04-23 Xilinx, Inc. Intellectual property core protection for integrated circuits
KR101139630B1 (ko) * 2010-12-09 2012-05-30 한양대학교 산학협력단 식별키 생성 장치 및 방법
KR101118826B1 (ko) 2011-02-15 2012-04-20 한양대학교 산학협력단 물리적 공격을 방어하는 암호화 장치 및 암호화 방법
KR101169172B1 (ko) 2011-03-31 2012-08-03 한양대학교 산학협력단 공정편차를 이용한 식별 키 생성 장치 및 방법
KR101237456B1 (ko) 2011-03-31 2013-02-26 (주) 아이씨티케이 디지털 값 생성 장치 및 방법
KR101080529B1 (ko) 2011-03-31 2011-11-04 한양대학교 산학협력단 전력 분석 공격에 안전한 암호화 장치 및 그 동작 방법
US8821965B2 (en) * 2011-04-29 2014-09-02 International Business Machines Corporation Accurate deposition of nano-objects on a surface
KR101080511B1 (ko) 2011-08-03 2011-11-04 (주) 아이씨티케이 식별키 누출을 방지하는 ic 칩 및 이의 인증 방법
WO2013025060A2 (ko) 2011-08-16 2013-02-21 (주)아이씨티케이 사물지능통신에서 puf에 기반한 장치간 보안 인증 장치 및 방법
US9036891B2 (en) * 2011-10-30 2015-05-19 The United States Of America As Represented By The Secretary Of The Air Force Intrinsic physical layer authentication of integrated circuits
US9054871B2 (en) * 2012-02-21 2015-06-09 California Institute Of Technology Physical key-protected one time pad
KR101663341B1 (ko) 2012-03-20 2016-10-14 (주) 아이씨티케이 식별키 생성 장치 및 방법
DE102012107024B3 (de) * 2012-08-01 2013-08-29 Infineon Technologies Ag Schaltung zum strombegrenzten Umladen eines Knotens
KR101332517B1 (ko) 2012-08-21 2013-11-22 한양대학교 산학협력단 인증 정보 처리 장치 및 방법
US9279856B2 (en) * 2012-10-22 2016-03-08 Infineon Technologies Ag Die, chip, method for driving a die or a chip and method for manufacturing a die or a chip
US9148796B2 (en) * 2012-12-13 2015-09-29 Ninve Jr. Inc. Resilient antenna disturbance detector
KR101442401B1 (ko) 2013-03-20 2014-09-23 (주) 아이씨티케이 Puf를 생성하는 장치 및 방법
KR20140126787A (ko) 2013-04-22 2014-11-03 (주) 아이씨티케이 PUF 기반 하드웨어 OTP 제공 장치 및 이를 이용한 2-Factor 인증 방법
EP2816756A1 (fr) * 2013-06-18 2014-12-24 Nagravision S.A. Procédé et dispositif cryptographique unique à fonction physiquement induplicable
KR20150024676A (ko) 2013-08-27 2015-03-09 (주) 아이씨티케이 반도체 프로세스의 포토 마스크를 변형하여 puf를 생성하는 방법 및 장치
KR20150032606A (ko) 2013-08-30 2015-03-27 (주) 아이씨티케이 카드 결제 단말 테스트 시스템 및 방법
KR101489088B1 (ko) 2013-09-03 2015-02-04 (주) 아이씨티케이 식별키 생성 장치 및 방법
KR101541597B1 (ko) 2013-09-03 2015-08-03 (주) 아이씨티케이 식별키 생성 장치 및 방법
KR101504025B1 (ko) 2013-09-06 2015-03-18 (주) 아이씨티케이 식별 키 생성 장치 및 방법
KR101488616B1 (ko) 2013-09-06 2015-02-06 (주) 아이씨티케이 식별키 생성 장치 및 방법
KR101489091B1 (ko) 2013-09-30 2015-02-04 (주) 아이씨티케이 반도체 공정을 이용한 식별키 생성 장치 및 방법
KR101457305B1 (ko) 2013-10-10 2014-11-03 (주) 아이씨티케이 식별키 생성 장치 및 방법
KR101495448B1 (ko) 2013-10-29 2015-02-26 (주) 아이씨티케이 사용자 인증을 위한 ic 칩 및 인증 방법
KR102186475B1 (ko) 2013-12-31 2020-12-03 주식회사 아이씨티케이 홀딩스 랜덤한 디지털 값을 생성하는 장치 및 방법
KR102198499B1 (ko) 2013-12-31 2021-01-05 주식회사 아이씨티케이 홀딩스 디지털 값 처리 장치 및 방법
KR20140115278A (ko) 2014-04-17 2014-09-30 (주) 아이씨티케이 Puf를 생성하는 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200707308A (en) * 2005-02-02 2007-02-16 Koninkl Philips Electronics Nv Method, apparatus, device, system, program, for calibrating
TW200913627A (en) * 2007-05-11 2009-03-16 Validity Sensors Inc Method and system for electronically securing an electronic device using physically unclonable functions
TW200943897A (en) * 2008-01-02 2009-10-16 Verayo Inc Authentication with physical unclonable functions
US20110055649A1 (en) * 2009-08-25 2011-03-03 Farinaz Koushanfar Testing security of mapping functions

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AndrewRukhin,JuanSoto,JamesNechvatal, Miles Smid, ElaineBarker, Stefan Leigh , MarkLevenson,Mark Vangel, DavidBanks ,AlanHeckert, JamesDray, SanVo," A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications", NIST,Special Publication 800-22 Revision 1a, April 2010 *
AndrewRukhin,JuanSoto,JamesNechvatal, Miles Smid, ElaineBarker, Stefan Leigh , MarkLevenson,Mark Vangel, DavidBanks ,AlanHeckert, JamesDray, SanVo," A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications", NIST,Special Publication 800-22 Revision 1a, April 2010。

Also Published As

Publication number Publication date
KR102178386B1 (ko) 2020-11-12
KR20150013091A (ko) 2015-02-04
US20160170856A1 (en) 2016-06-16
EP3032421A4 (en) 2017-04-19
WO2015012667A1 (ko) 2015-01-29
US10235261B2 (en) 2019-03-19
EP3032421A1 (en) 2016-06-15
TW201520761A (zh) 2015-06-01

Similar Documents

Publication Publication Date Title
TWI640863B (zh) 測試隨機性的儀器以及方法
US20200364374A1 (en) Apparatus and method for generating identification key
TWI697809B (zh) 使用亂數位元的安全系統及安全系統的操作方法
KR101118826B1 (ko) 물리적 공격을 방어하는 암호화 장치 및 암호화 방법
US10659229B1 (en) Secure permanent integrated circuit personalization
US10205747B2 (en) Protection for computing systems from revoked system updates
WO2013088939A1 (ja) 識別情報生成装置及び識別情報生成方法
JP6050523B2 (ja) ワンタイムプログラマブル集積回路セキュリティ
KR20120089607A (ko) 식별키 생성 장치 및 방법
KR102071937B1 (ko) 식별키 생성장치 및 식별키 생성방법
Koeberl et al. A practical device authentication scheme using SRAM PUFs
KR102050021B1 (ko) 식별키 유용성 판별장치
CN113228012A (zh) 用于鉴别fpga配置的方法和设备
US20140164788A1 (en) Secure Switch Between Modes

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees