相關申請的交叉引用本申請要求享有于2015年10月13日由sungungkwak提交的、名稱為“systemsandmethodsforstablephysicallyunclonablefunctions”的美國臨時申請no.62/240,991的優(yōu)先權,該美國臨時申請以全文引用的方式并入本文中。本發(fā)明涉及用于識別和鑒定的安全系統(tǒng),并且更具體而言涉及用于借助于物理不可克隆函數(shù)(puf)的隨機加密密鑰生成的系統(tǒng)、設備、以及方法。
背景技術:
::半導體處理的目的在于使工藝變化最小化,工藝變化是導致晶體管的閾值、電容、電阻值等的變化的晶圓上的物理部件中所產(chǎn)生的容限的原因。憑借所采用的其可重復性保持不完美的制造技術(包括非均勻沉積和蝕刻工藝)的優(yōu)勢,不能夠完全消除部件之間的變化。這些變化的統(tǒng)計屬性伴隨無法僅通過檢查部件布局來獲得關于部件的信息。換言之,缺少部件級的極度困難的測量結果,則不能夠檢測或復制這些物理變化。puf設計利用物理半導體部件中的這些小的但有特性的制造變化,以便生成隨機的序列、獨特的密碼密鑰。在一些現(xiàn)有的設計中,基于puf元件的極性上的失配來確定個體密鑰比特以生成單個比特結果。在失配的典型高斯分布中,puf元件的總體中的相對大量的puf元件將以分布的中點為中心。鑒于其它非制造變化(例如,電壓偏移、溫度漂移、相對的老化過程、封裝應力、噪音等等)的影響,常采用的零-一比較器的使用開啟了以下可能性:密鑰比特基于單個puf元件的極性從零值不期望地變化到一(反之亦然),從而負面地影響了所存儲的代碼的可重復性。理想地,puf元件由呈現(xiàn)大失配的電路部件制成,以便使設備上環(huán)境變化的影響最小化從而提高所生成的密鑰比特的可重復性和穩(wěn)定性。由于puf元件的總體中的呈現(xiàn)相對小的失配的部分從統(tǒng)計上來說更有可能經(jīng)歷符號的變化,所以落入總體內的puf元件不適合用于生成隨機密鑰比特的目的。因此,呈現(xiàn)相對小的失配的puf元件典型地從任何給定的批中被排除以便防止puf輸出比特反應,這對于環(huán)境變化將是敏感的并且產(chǎn)生不穩(wěn)定的密碼密鑰。不幸地是,通過基于失配的極性來選擇puf元件而提高穩(wěn)定性的技術傾向于從總體中舍棄有用的puf元件的重要部分以便實現(xiàn)期望的比特誤差率。然而,排除puf元件的大部分必定會使整體利用率降低。所需要的是用于在不負面地影響由電子puf系統(tǒng)生成的密鑰比特的穩(wěn)定性和準確度的情況下確保計算系統(tǒng)設計人員維持puf元件的高利用率的工具。附圖說明將參考本發(fā)明的實施例,可以在附圖中示出本發(fā)明的示例。這些附圖旨在為說明性的,而非限制性的。盡管在這些實施例的背景下對本發(fā)明進行概述,但應當理解的是,這并非旨在將本發(fā)明的范圍限制為這些特定的實施例。附圖(“圖”)1示出了代表失配值的puf元件輸出的正態(tài)高斯分布上的漂移效應。圖2示出了用于根據(jù)本發(fā)明的各個實施例使用經(jīng)分類的失配值的示例性高斯分布來生成puf密鑰比特的示例性配對過程。圖3a和圖3b示出了根據(jù)本發(fā)明的各個實施例將mos器件中的vgs失配的示例性測量到的且正態(tài)高斯分布轉化成使用分類的配對失配數(shù)據(jù)的示例性雙模態(tài)(bi-modal)分布。圖4示出了根據(jù)本發(fā)明的各個實施例的作為函數(shù)誤差率的期望裕量(margin)。圖5示出了根據(jù)本發(fā)明的各個實施例通過使用遞歸配對生成穩(wěn)定的128比特puf密鑰的系統(tǒng)的示例性實施方式。圖6a和圖6b示出了根據(jù)本發(fā)明的各個實施例由高斯分布的轉換而產(chǎn)生的配對失配數(shù)據(jù)的兩個雙模態(tài)分布的示例性遞歸配對。圖7a和圖7b示出了圖6中的遞歸配對的效應。圖8示出了根據(jù)本發(fā)明的各個實施例在被使用時puf陣列的示例性期望誤差率。圖9是根據(jù)本發(fā)明的各個實施例的用于生成配對信息的說明性過程的流程圖。具體實施方式在以下說明書中,出于解釋的目的闡述了具體細節(jié),以便提供對本發(fā)明的理解。然而,對于本領域技術人員而言顯而易見的是,可以在沒有這些細節(jié)的情況下實踐本發(fā)明。本領域技術人員將認識到可以以各種方式并使用各種手段來執(zhí)行以下所描述的本發(fā)明的實施例。本領域技術人員還將認識到,另外的修改、應用、和實施例在如另外的領域的本發(fā)明范圍內,在該另外的領域中本發(fā)明可以提供功用。因此,以下所描述的實施例例示出本發(fā)明的具體實施例并且旨在避免使本發(fā)明難以理解。在說明書中對“一個實施例”或“實施例”的引用意味著結合該實施例所描述的特定特征、結構、特性、或功能包括在本發(fā)明的至少一個實施例中。在說明書中各個地方出現(xiàn)的短語“在一個實施例中”、“在實施例中”未必指的是相同的實施例。此外,附圖中的部件之間或方法步驟之間的關系并不局限于直接影響的關系。相反,在不脫離本發(fā)明的教導的情況下,可以通過添加中間部件或方法步驟來修改或以其它方式改變附圖中所示的部件或方法步驟之間的關系。在本文中,互換地使用術語“變化”和“失配”。“puf元件”和“puf設備”包括物理元件、化學元件、以及本領域技術人員認可的其它元件。圖1示出了代表失配值的puf元件輸出的正態(tài)高斯分布上的漂移效應。puf元件中的失配可能由許多因素引起,這些因素包括摻雜濃度的變化、柵極氧化物厚度的變化、以及在制造mos器件期間由于不完美的半導體制造工藝產(chǎn)生的幾何容限的變化。存在于物理設備中的puf元件的失配信息可以以各種形式得到,例如電信息、磁信息、或光信息的形式。一般而言,基于極性從所測量的puf元件的失配值的給定總體(例如,閾值電壓)中選擇put比特。在圖1中,典型地舍棄具有小的失配值的puf元件,以確保穩(wěn)定性并且防止漂移引起不需要的比特翻轉。如本文中所使用的,漂移可以是環(huán)境變量的任何變化,例如溫度漂移、噪音等。因此,典型地舍棄分布中的許多有用的puf元件,從而有利于實現(xiàn)期望的穩(wěn)定性。詳細地,圖1中的上部曲線是失配分布,然而下部曲線示出了任何給定的失配的漂移的分布??梢詮膒uf元件的測量結果得到這個信息。我們考慮具有位于分布102位置上的+1σ112或-1σ114點處的失配的puf元件,那么位于分布的左側或負側上的區(qū)域120中的失配值可以被認為是足夠大的以確保位“0”。同樣地,位于分布的右側或正側上的區(qū)域140中的失配值可以被認為是足夠大的以確保位“1”。然而,如曲線104所示的,位于分布102的中間區(qū)段130中的失配的值如果被一個或多個環(huán)境變量影響則可能極大地變化。由于曲線104的邊緣相對更靠近分布的中心,這增大了不需要的puf密鑰比特翻轉的可能性。例如,如果+/-1σ?guī)?30外部的任何失配值被認為是穩(wěn)定的,那么與位于曲線102下面、落在+/-1σ窗130內(即,高斯分布102的總體的68%)的值相關聯(lián)的所有puf元件將必須被舍棄。要注意的是,其它分布不能消除該問題,因為它們產(chǎn)生類似的相當?shù)慕Y果。有利地,本文中呈現(xiàn)的方法和系統(tǒng)與實際部件的任何采樣組的具體統(tǒng)計分布的類型無關。簡言之,為了實現(xiàn)期望的比特誤差率(例如,允許較寬泛溫度范圍內的操作),相對大的一部分有用puf元件必須從整個總體102中舍棄,以解釋潛在的漂移并且確保穩(wěn)定的puf比特。然而,誤差率的改進以犧牲可用的puf元件的數(shù)量減小為代價,該可用的puf元件能夠產(chǎn)生puf比特。直觀地,使用位于分布的中心附近的puf元件越多,則它們的失配將越小并且越多的不可重復的puf比特將包括在該區(qū)段中,從而導致更大的誤差率。因此,期望使系統(tǒng)和方法避免利用率與誤差率之間的這個折衷方案,以使得在不影響可用的puf元件的整體利用率的情況下所產(chǎn)生的puf密鑰比特保持對環(huán)境誤差使不敏感的。圖2示出了根據(jù)本發(fā)明的各個實施例用于使用分類的、未經(jīng)處理的puf元件失配數(shù)據(jù)的示例性高斯分布來產(chǎn)生puf密鑰比特的示例性配對過程。高斯分布202包括256個puf元件(未示出)的16×16位陣列的256個所測量的失配值。每個puf元件與其本身的失配值相關聯(lián),該失配值由puf元件陣列輸出。在實施例中,代表256個所測量的樣本的256個失配值依據(jù)幅度和極性被分類并且被組合成對以便根據(jù)對250中的失配值的差異來創(chuàng)建隨機值。詳細地,圖2中的示例中的最右側的值是第一個puf元件210,并且最左側的值是第256個puf元件212。根據(jù)該分布,第一個puf元件210和第256個puf元件212均具有帶相反極性的相對大的失配值。相比之下,第129個puf元件220具有大約為零的失配值。要理解的是,通過這種分類方法(假設足夠大的失配值的總體),所獲得的值的大約一半將是正的,而另一半將是負的。在實施例中,一旦從1到n(此處n=256)對puf元件的失配值進行分類,就采用以下方式進行配對:將具有最大正失配的puf元件(即,分布202的遠右正側處的第一puf元件210)與具有位于靠近分布202的中心區(qū)域的負側處的最小負失配的puf元件(即,用于構造第一配對值的第129個puf元件220)配對。接下來,將第二最大正puf元件(即,第二puf元件240)與第二最小負puf元件230(即,第130個puf元件)配對,從而得到第二配對結果,等等。該配對方法(本文中被稱為非遞歸的)繼續(xù)直到分布202中的所有256個失配值都被配對。這導致生成了總共128個隨機配對值。配對信息各不相同。由于對于每個部分所測量到的數(shù)據(jù)都是獨特的,所以該方法使puf密鑰比特對于不同部分、晶圓、批次或封裝等的變化不敏感。在數(shù)學形式上,對于n個元件,通過將第i個元件與第(n/2+i)個元件配對來執(zhí)行針對i=1到n的配對。在實施例中,失配值的配對包括成對地減去失配值,以使得相對大的數(shù)與較小的數(shù)組合成對創(chuàng)建了128個隨機和相對大的差值。在實施例中,可以實施選擇電路(未示出)以選擇和量化設備的配對之間的失配值的差,例如通過將數(shù)值分配給每對之間的差。在實施例中,為了除了維持穩(wěn)定性以外還維持密鑰比特生成的隨機性,隨機地切換由減法得到的值以生成隨機的0或1值。這可以例如通過相互隨機地減去配對中的兩個數(shù)(即,通過在執(zhí)行減法操作之前隨機地選擇被減數(shù)和減數(shù))來完成。假設代表物理puf元件的失配的物理布置的1到256的指數(shù),一旦被分類,該指數(shù)將與原指數(shù)不同。在一個實施例中,在減法之前,每個元件都基于位置被分配指數(shù)數(shù)字,并且如果第一指數(shù)數(shù)字大于第二指數(shù)數(shù)字,那么第一數(shù)字被選擇為被減數(shù)。相反,如果第一指數(shù)數(shù)字小于第二指數(shù)數(shù)字,那么第一數(shù)字被選擇為減數(shù)。換言之,被減數(shù)的選擇還基于如由指數(shù)數(shù)字代表的特定芯片的失配,由此利用puf自身的隨機性特性的優(yōu)點并且防止不需要的隨機性污染。本領域技術人員將意識到,可以利用其它的映射和分類方案。圖3a和圖3b示出了根據(jù)本發(fā)明的各個實施例將失配值的示例性測量且正態(tài)高斯分布轉化成示例性雙模態(tài)分布。失配典型地由數(shù)字(例如,電壓差δvgs)來表示。在實施例中,所識別的或所測量的且經(jīng)分類的元件的配對將mos器件中vgs失配的原高斯分布302的直方圖轉化成包括配對失配數(shù)據(jù)的雙模態(tài)分布350。雙模態(tài)分布350中的每個樣本從分布302中的一組配對的失配數(shù)據(jù)點得到。因此,例如128位puf密鑰的生成需要對256個失配數(shù)據(jù)點進行采樣的256個puf元件,因為配對的兩個元件被組合以生成單個puf比特。圖3a中的曲線圖300是在配對之前失配的原高斯分布302。失配分布302可以從測量結果(例如,晶圓測試時在環(huán)境溫度下進行的)得到。圖3b中的曲線圖350示出了雙模態(tài)分布350,雙模態(tài)分布350具有增大的裕量,其是分布302的標準偏差的至少1.5倍。在實施例中,一旦完成配對,就相互減去每對中的兩個數(shù),以便生成相對大的差值。例如,如果減法產(chǎn)生正數(shù),那么所產(chǎn)生的比特將被分配“1”的值,然而如果減法產(chǎn)生負數(shù),那么該比特將被分配“0”的值。憑借減法操作,大的差值拓寬了安全裕量,并且因此確保結果不會受漂移效應的影響。以這種方式組合配對的puf元件的效果是將vgs失配的正態(tài)分布302轉換為雙模態(tài)分布350,雙模態(tài)分布350在位于分布350的中心附近的排除范圍內不包含vgs值。這滿足了puf元件對的最小間隔的標準,其旨在由于改進的期望誤差率而確保生成穩(wěn)定的puf比特,如接下來將討論的。圖4示出了根據(jù)本發(fā)明的各個實施例的作為函數(shù)誤差率的期望裕量。理想地,例如由于環(huán)境影響而產(chǎn)生的誤差率(即,由極性的變化而引起的錯讀單個位的可能性)將為零。然而,經(jīng)驗數(shù)據(jù)表明128位密鑰的失效率(failurerate)為百萬分之(ppm)350。類似地,對于256位密鑰,發(fā)現(xiàn)失效率為650ppm。并且,在一些應用中,對于128位密鑰的典型失效率,1.35σ間隔還不可以提供足夠的裕量。例如,如圖4中所示,對于128位密鑰,從1ppm到十億分之(ppb)100的十倍較低的失效率402需要間隔增加0.15個標準偏差(此處從1.65到1.8)。對于相同的128位密鑰,從1ppm到10ppb的一百倍的較低失效率需要間隔增加0.25個標準偏差,以此類推。要注意,出于本發(fā)明的目的,不需要puf元件的100%利用率。有利地,系統(tǒng)誤差不會影響結果,由于這些誤差是整個系統(tǒng)固有的并且等效地施加于所有的失配對。在與所檢測的差值的幅度進行比較時,由噪聲引起的誤差也是可忽略的。在實施例中,為了通過關于圖2和圖3所討論的配對方案來甚至進一步提高穩(wěn)定性,以遞歸的方式執(zhí)行模擬puf元件的配對,如將參考圖5所解釋的,圖5示出了根據(jù)本發(fā)明的各個實施例用于通過使用遞歸配對來生成穩(wěn)定的128位puf密鑰的系統(tǒng)的示例性實施方式。系統(tǒng)500包括芯片502、504、以及adc530。本領域技術人員將意識到,系統(tǒng)500可以包括對數(shù)據(jù)進行分析、轉換、放大、處理以及保護的附加部件,包括本領域已知的邏輯器件和電源。發(fā)明人設想通過任何數(shù)學運算(例如,通過乘法而非簡單的減法)來處理失配值。另外,可以選擇并組合任何數(shù)量的失配值以進行處理。例如,可以處理三個失配值以生成puf密鑰。另外,不同的算法可以用于不同的物理設備,以便降低可檢測性并且因此增強安全性。芯片502、504包括兩個相同但獨立的16×16puf陣列510、520,其可以用于生成圖6a和圖6b中所示的兩個單獨的雙模態(tài)分布。如附圖中所描繪的,圖6a和圖6b中的配對失配元件的間隔為+/-1.35σ,即通過關于圖2和圖3所討論的配對過程而得到的與圖3中相同的值?;仡檲D5,每個puf陣列510、520被設計為如先前所描述的配對元件504。盡管在圖5中僅示出了兩個陣列,但發(fā)明人預見可以使用任何數(shù)量的可能的陣列和任何組合。在實施例中,一旦對于每個陣列從一到n(例如,n=256)對puf元件504進行分類,它們就會以以下方式被配對:將來自于一個雙模態(tài)分布的最大正失配(例如,陣列1510的數(shù)1)與來自于另一個雙模態(tài)分布的最小負失配(例如,陣列2520的數(shù)65)進行配對,以獲得第一遞歸配對結果。將來自于第一雙模態(tài)分布的第二大正失配(例如,陣列1510的數(shù)2)與來自于第二雙模態(tài)分布的最小負失配(例如,陣列2520的數(shù)66)進行配對,直到所有的128個配對值都被重新配對為止。換言之,對于n個元件504,通過將陣列1的第i個元件與陣列2的第(i+n/2)個元件進行配對來對i=1到n/2執(zhí)行配對,并且通過將陣列1的第i個元件與陣列2的第(i-n/2)個元件進行配對來對i=n/2+1到n執(zhí)行配對。該方法為每個雙模態(tài)分布提供了兩個元件,即四個元件,可以由這四個元件生成0和1密鑰比特。在實施例中,類似于圖2,和先前一樣,例如通過分配基于指數(shù)的0或1值,減去配對值并且應用隨機切換以生成0或1的值。然而,與圖2的非遞歸性方法相比較,期望遞歸性方法產(chǎn)出相對較大的間隔,即裕量。在實施例中,遞歸性方法的間隔是非遞歸性方法的至少兩倍大。例如,如圖6a和圖6b中可以看出,和-4的σ(610)相關聯(lián)的失配與+1.35的σ(660)相關聯(lián)的失配的匹配產(chǎn)生5.35的相對寬的總間隔裕量,這比特定配對630的1.35幾乎大4倍。即使在考慮雙模態(tài)分布600、650的非線性屬性并且檢查位于代表密度的中間點的分布的中間的失配值時,來自于雙模態(tài)分布600的和-1.46的σ(614)相關聯(lián)的失配與來自于雙模態(tài)分布650的和大約+1.46的σ(662)相關聯(lián)的失配的配對將產(chǎn)生大約2.93的總間隔裕量,這超過了可以由非遞歸性方法得到的2.7的間隔的兩倍。因此,甚至最小的可用間隔還將比任何給定的配對的1.35大兩倍。根據(jù)本發(fā)明的實施例的遞歸配對的一個優(yōu)點在于該方法可以迭代地用在任何給定的硬件上以選擇性地生成更穩(wěn)定的puf比特或增加位的數(shù)量。圖7a和圖7b示出了圖6中的遞歸配對的影響。圖7a示出了與圖3b中相同的雙模態(tài)分布700,該雙模態(tài)分布700在應用于高斯分布時由非遞歸配對產(chǎn)生。相比之下,圖7b中的雙模態(tài)分布750示出了通過使用圖5中呈現(xiàn)的應用遞歸配對的系統(tǒng)而得到的結果。如可以看出,圖7b中的分布750中的隨機值也分布成雙模態(tài)方式。然而,增加的間隔距離有利地提供了較大的裕量。將來自于兩種不同配對方法的經(jīng)驗數(shù)據(jù)進行比較,可以看出間隔從圖7a中的非遞歸配對的1.35增加到圖7b中的遞歸配對的2.93。換言之,間隔距離不止大兩倍。因此,例如對于128位密鑰,可以使用遞歸配對方法來實現(xiàn)0.4ppb的失效率。圖8示出了根據(jù)本發(fā)明的各個實施例在被使用時puf陣列的示例性期望誤差率。表800中的數(shù)n指示根據(jù)本發(fā)明的實施例用于執(zhí)行非遞歸配對(即,n=1)或遞歸配對(即,n>1)的示例性16×16陣列的數(shù)量。盡管多達8個陣列在圖8中被列出,本領域技術人員將意識到可能的陣列及其組合的數(shù)量是不受限制的。以σ為單位(δvgs)表示的裕量810代表基于給定數(shù)量的陣列810可實現(xiàn)的間隔。總漂移的標準偏差820基于經(jīng)驗數(shù)據(jù)并且還以σ為單位(δvgs)來表示。部分失效率830的值基于示例性128位密鑰的經(jīng)驗數(shù)據(jù)。如圖8所示,當遞歸配對被擴展到包括多個puf陣列時,在每次陣列802的數(shù)量翻倍時,裕量810不止翻兩倍。這個結果直接轉化為增強的puf穩(wěn)定性和準確度而不需要更準確的測量結果。另外,由于陣列的數(shù)量802翻倍,總漂移的標準偏差820增加√2的因數(shù),并且部分失效率830相應地降低,進一步強調了基于模塊化puf陣列設計的這一高度可縮放模型的益處,該模塊化puf陣列設計需要最小的或不需要添加陣列的變化以提高穩(wěn)定性。在實施例中,可以以軟件來實施模塊化系統(tǒng)的功能中一些或所有功能。本領域技術人員將意識到,準確度可以以較長的密鑰長度換得。例如,可以以恒定的間隔添加更多的陣列以增加密鑰比特長度(例如,從128到256)。替代地,出于puf穩(wěn)定性和準確度的目的,為了增加間隔距離以實現(xiàn)更大的裕量,位長度可以保持恒定。要理解的是,本發(fā)明的各個實施例可以應用于具有自然變量的任何物理特性,例如閾值電壓、振蕩頻率、電阻、電容等。在一個實施例中,組合元件對的不同特性以創(chuàng)建數(shù)學運算(例如,vt失配和電容失配)。此外,本領域技術人員將意識到的是,各種存儲器結構可以用于存儲配對信息。圖9是根據(jù)本發(fā)明的各個實施例用于生成配對信息的說明性過程的流程圖?!爱敗贬槍蓚€到多個puf元件確定失配數(shù)據(jù)時,用于生成配對信息的過程起始于902處。在步驟904處,通過幅度和極性對失配數(shù)據(jù)進行分類,以得到具有某種數(shù)學分布的經(jīng)分類的失配數(shù)據(jù)的組。在步驟906處,根據(jù)一些選擇機制從經(jīng)分類的失配數(shù)據(jù)的組中選擇數(shù)據(jù)對,以便生成由配對值構成的雙模態(tài)數(shù)據(jù)分布。在實施例中,可以從由一個或多個puf陣列生成的一個或多個雙模態(tài)分布中選擇對。在實施例中,可以相互減去對的個體值,以增加它們之間的間隔距離。在步驟908處,隨機切換對的個體值,并且將極性分配給配對值以保持隨機性。在步驟910處,使用雙模態(tài)分布數(shù)據(jù)由配對值生成比特序列。最后,在步驟912處,從存儲器中擦除未經(jīng)處理的puf路徑失配數(shù)據(jù)。本領域技術人員將意識到的是,在不脫離本發(fā)明的范圍的情況下,較少或附加的步驟可以與本文中所示的步驟一起并入。流程圖或本文的描述內的方框的布置并不暗示特定的次序。將進一步意識到的是,先前的示例和實施例是示例性的并且是出于清楚和易懂的目的并且不限制本發(fā)明的范圍。在閱讀說明書和研究附圖之后,對于本領域技術人員而言顯而易見的所有置換、增強、等效形式、組合、以及改進都旨在包括在本發(fā)明的范圍內。因此,旨在權利要求書包括落入本發(fā)明的真實精神和范圍內的所有這樣的修改、置換、以及等效形式。當前第1頁12當前第1頁12