使用單次注冊用于基于存儲器的puf的軟判決誤差校正的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種用于從噪聲物理不可克隆功能(PUF)可重現(xiàn)地建立可靠數(shù)據(jù)串 的加密系統(tǒng),該物理不可克隆功能被配置用于至少部分地依賴于該物理不可克隆功能的部 分隨機(jī)的物理特性來建立原始數(shù)據(jù)串,該系統(tǒng)包括:規(guī)整器,被配置用于基于該原始數(shù)據(jù)串 來確定第一多個誤差可校正的數(shù)據(jù)字;以及,硬判決解碼器,被配置以解碼所述第一多個誤 差可校正的數(shù)據(jù)字,從而獲得第二多個經(jīng)校正且經(jīng)解碼的數(shù)據(jù)字。
[0002] 本發(fā)明進(jìn)一步涉及用于從噪聲物理不可克隆功能可重現(xiàn)地建立可靠數(shù)據(jù)串的加 密方法。本發(fā)明還涉及對應(yīng)的計算機(jī)程序。
【背景技術(shù)】
[0003] 物理不可克隆功能(PUF)建立數(shù)據(jù)串諸如原始數(shù)據(jù)串,這依賴于物理不可克隆功 能的部分隨機(jī)的物理特性。所述物理特性是在生產(chǎn)PUF期間由變量導(dǎo)致的。PUF是相對容 易制造的,因?yàn)檫^程變量是不可避免的,但是重現(xiàn)自然變量從而復(fù)制PUF是非常困難的,如 果不是不可能的話。因此,PUF提供固有保護(hù)防止克隆。
[0004] 另一方面,PUF的內(nèi)容不能被預(yù)先確定,且PUF響應(yīng)是多少有噪聲的。
[0005] 物理不可克隆功能已經(jīng)被證明是許多形式的安全識別(包含密鑰(key)、標(biāo)識符 等在安全存儲器中的存儲)的有利替代方案。
[0006] 數(shù)據(jù)串可以依賴于穩(wěn)定狀態(tài),一旦PUF的部件上電,所述部件的配置就穩(wěn)定在該 穩(wěn)定狀態(tài)。該配置所穩(wěn)定到的特定的穩(wěn)定狀態(tài)至少部分地依賴于特定部件的至少部分隨機(jī) 的物理特性。PUF的一個實(shí)例是易失性存儲器,該易失性存儲器顯示了依賴于存儲器的部分 隨機(jī)的物理特性的上電內(nèi)容。生產(chǎn)變量導(dǎo)致不同存儲器的不同物理特性。
[0007]PUF的此性能使得它們適合用于一系列應(yīng)用。例如,PUF可以被用于打擊假冒。作 為另一實(shí)例,PUF被用于創(chuàng)建加密密鑰。使用PUF,規(guī)避了對存儲密鑰的安全存儲器的需要。 此外,PUF提供了自然保護(hù)以防止通過物理逆向工程(還稱作篡改)獲得加密密鑰的未授 權(quán)嘗試,因?yàn)樵谒鰢L試期間使PUF遭受的損壞將改變原始數(shù)據(jù)串使其無法修復(fù)。
[0008]PUF已經(jīng)被有利地應(yīng)用在電子設(shè)備中。在生產(chǎn)1C期間不可避免的、甚至是微小的 生產(chǎn)變量導(dǎo)致了 1C的不同性能。這些不同性能通常被抑制,以努力獲得一批以相同方式運(yùn) 作的1C。然而,為了創(chuàng)建PUF,一批1C中的個體1C之間的差異被利用。
[0009] 由于PUF的行為依賴于小變量,因此某一誤差百分比是不可避免的。誤差校正程 序可被用來校正這些波動,且確保每次從PUF得到可靠數(shù)據(jù)串時,該可靠數(shù)據(jù)串是完全相 同的。使用所謂的輔助數(shù)據(jù)(helperdata),原始數(shù)據(jù)串被映射到一個或多個誤差可校正的 數(shù)據(jù)字。一個誤差可校正的數(shù)據(jù)字是接近誤差校正代碼的代碼字的數(shù)據(jù)字。一個誤差可校 正的數(shù)據(jù)字可以被看作是代碼字和誤差字的和。通過應(yīng)用對應(yīng)于誤差校正代碼的誤差校正 算法,誤差可校正的數(shù)據(jù)字被解碼成經(jīng)校正且經(jīng)解碼的數(shù)據(jù)字??赡艿?,作為中間步驟,計 算接近誤差可校正的數(shù)據(jù)字的代碼字。
【發(fā)明內(nèi)容】
[0010] 現(xiàn)有的物理不可克隆功能的問題是它們潛在的高誤差率。為了應(yīng)付極端外部變量 諸如溫度和施加電壓,該系統(tǒng)應(yīng)能夠應(yīng)付最高達(dá)25 %的誤差率。即,原始位串中的25 %的 位在PUF的隨后讀取之間可能不同。因此,需要能夠校正具有高誤差率的數(shù)據(jù)串的強(qiáng)大的 誤差校正代碼。另一方面,希望在具有縮減資源(例如,受限制的計算能力)的系統(tǒng)--諸 如智能卡--中使用PUF。這排除了不同領(lǐng)域(諸如電信系統(tǒng))中所使用的誤差校正代碼 的使用。
[0011] 根據(jù)本發(fā)明的加密系統(tǒng)被配置用于從噪聲物理不可克隆功能(PUF)可重現(xiàn)地建 立可靠數(shù)據(jù)串。該物理不可克隆功能被配置用于至少部分地依賴于該物理不可克隆功能的 部分隨機(jī)的物理特性建立原始數(shù)據(jù)串。例如,該原始數(shù)據(jù)串可以依賴于部件的、至少部分隨 機(jī)的物理配置,或取決于摻雜水平的變化。
[0012] 加密系統(tǒng)包括:規(guī)整器,被配置以基于原始數(shù)據(jù)串確定第一多個誤差可校正的數(shù) 據(jù)字;硬判決解碼器,被配置以解碼第一多個誤差可校正的數(shù)據(jù)字,從而獲得第二多個經(jīng)校 正且經(jīng)解碼的數(shù)據(jù)字;可靠性信息提取器,被配置以確定指示第一多個誤差可校正的數(shù)據(jù) 字的所述解碼的可靠性的可靠性信息;數(shù)據(jù)安排器,被配置以安排所述第二多個經(jīng)校正且 經(jīng)解碼的數(shù)據(jù)字,以獲得至少一個另外的可校正的數(shù)據(jù)字;以及,軟判決解碼器,被配置以 使用該可靠性信息解碼該至少一個另外的可校正的數(shù)據(jù)字,從而獲得至少一個另外的經(jīng)校 正且經(jīng)解碼的數(shù)據(jù)字,從該至少一個另外的經(jīng)校正且經(jīng)解碼的數(shù)據(jù)字獲得可靠數(shù)據(jù)串。
[0013] 加密系統(tǒng)從基于軟判決誤差解碼的物理不可克隆功能提取可靠數(shù)據(jù)串,諸如加密 密鑰。所提取的數(shù)據(jù)串具有高可靠性,因?yàn)樗崛〉臄?shù)據(jù)串是通過兩個(或更多個)代碼的 組合被誤差校正的。在第一解碼期間,通過硬判決解碼器,出現(xiàn)信息量的減少。在一種意義 上,包含在第二多個經(jīng)校正且經(jīng)解碼的數(shù)據(jù)字中的信息的量少于原始位串中的信息量。通 過提取與第一多個誤差可校正的數(shù)據(jù)字的解碼的可靠性有關(guān)的信息,丟失信息中的一些被 恢復(fù)。即,可靠性信息連同第二多個經(jīng)校正且經(jīng)解碼的數(shù)據(jù)字?jǐn)y帶的信息多于第二多個經(jīng) 校正且經(jīng)解碼的數(shù)據(jù)字單獨(dú)攜帶的信息。軟判決解碼器可以利用該可靠性信息,以獲得比 第二硬解碼器能夠獲得的解碼更可靠的解碼。
[0014] 直接獲得軟數(shù)據(jù)對于PUF是不可能的或?qū)τ谠S多類型的PUF是有問題的。例如, 對于基于易失性存儲器中的上電內(nèi)容的PUF,獲得用于該內(nèi)容的軟數(shù)據(jù)將涉及重復(fù)的功率 周期,即連續(xù)的掉電和上電,以獲得對該存儲器的多次讀取。為了允許測量其間具有多個功 率周期的多個PUF響應(yīng),PUF的讀出和處理部分需要在不同的功率域(powerdomain)中。 已知具有多個功率域?qū)⑹怯袉栴}的。需要小心以避免功率域之間的泄漏;要求額外的芯片 面積以包含隔離單元和功率布線。這還要求額外的設(shè)計努力(在布局、網(wǎng)表生成、綜合和布 局方面)。根據(jù)本發(fā)明的PUF生成軟數(shù)據(jù),而不需要多個功率周期。一個PUF響應(yīng)足以生 成軟數(shù)據(jù)值。基于硬解碼器的結(jié)果,生成指示PUF的部分的共同可靠性的軟數(shù)據(jù)值。注意, 使用非易失性存儲器在多個功率周期上保持中間數(shù)據(jù)將降低安全性,事實(shí)上,常常使用PUF 作為安全存儲的替代。
[0015] 在一個實(shí)施方案中,物理不可克隆功能和規(guī)整器在相同的功率域中。在一個改進(jìn) 的實(shí)施方案中,硬判決解碼器也在相同的功率域中。在另一個改進(jìn)的實(shí)施方案中,可靠性信 息提取器、數(shù)據(jù)安排器和軟判決解碼器也在相同的功率域中。
[0016] 可以通過將兩個部件連接到相同的功率線來使它們在相同的功率域中。例如,可 以以CMOS技術(shù)實(shí)施該系統(tǒng),即PUF作為SRAM,且規(guī)整器可以被實(shí)施為硬件或被實(shí)施為在處 理器上運(yùn)行的軟件。規(guī)整器(硬件或處理器)和PUF(即SRAM)可以在相同的功率域中。在 相同的功率域中的兩個部件必定一起掉電和上電。
[0017] 本發(fā)明不需要重復(fù)地測量PUF響應(yīng)以確定可靠性數(shù)據(jù)。
[0018] 替代地,物理不可克隆功能在單獨(dú)的功率域中。例如,物理不可克隆功能和規(guī)整器 可以在不同的功率域中。在一個改進(jìn)的實(shí)施方案中,硬判決解碼器也在不同的功率域中。在 物理不可克隆功能處于單獨(dú)的功率域中的情形下,可以通過在多個功率周期中獲得對PUF 的多次讀取,即,隨后在多次讀取上取平均,來獲得軟判決數(shù)據(jù)。然而,甚至在該情形下應(yīng)用 本發(fā)明也是有利的。功率周期耗費(fèi)比較長的時間。在測量之間,常常需要將SRAM存儲器斷 電約1秒,以保證在低溫度下良好的PUF讀?。ㄒ?yàn)閿?shù)據(jù)殘留效應(yīng))。對于消費(fèi)者應(yīng)用而 言,這將是不可接受地長的時間。此外,使用多次讀取要求更多的緩沖空間。即使功率域不 被用來獲得對PUF的多次讀取,它們也仍可以被用于其他目的。例如,在分立的功率域中具 有PUF(例如,SRAM)將存儲器的老化降至最低程度,因?yàn)樵赑UF已經(jīng)被用來得到響應(yīng)之后 可以關(guān)掉該存儲器。此外,如果PUF被用在隨機(jī)數(shù)目生成器中,則可能要求多次讀取。
[0019] 軟判決解碼器也增大從PUF獲得可靠數(shù)據(jù)串的效率。一些PUF可以自然地適于 給出關(guān)于原始串的可靠性的軟判決信息。例如,在用于從噪聲物理不可克隆功能(PUF)可 重現(xiàn)地建立可靠數(shù)據(jù)串的有利系統(tǒng)中,該系統(tǒng)包括:規(guī)整器,被配置用于基于原始數(shù)據(jù)串來 確定誤差可校正的數(shù)據(jù)字;可靠性信息提取器,被配置以確定指示該原始數(shù)據(jù)串的可靠性 的可靠性信息;以及,軟判決解碼器,被配置以使用該可靠性信息解碼該誤差可校正的數(shù)據(jù) 字,從而獲得經(jīng)校正且經(jīng)解碼的數(shù)據(jù)字,從該經(jīng)校正且經(jīng)解碼的數(shù)據(jù)字獲得可靠數(shù)據(jù)串。
[0020] 在上述的有利系統(tǒng)中,物理不可克隆功能可以依賴于對一個物理過程計時或計 數(shù)。例如,該物理不可克隆功能可以包括振蕩器或延遲電路??梢酝ㄟ^將物理過程與閾進(jìn) 行比較來獲得原始數(shù)據(jù)串。可以通過將與該閾的距離分類來獲得可靠性信息。
[0021] 然而,并非所有PUF都容易適于給出關(guān)于其輸出的可靠性信息。尤其,如果現(xiàn)有集 成電路元件被用作PUF,則其通常僅具有量化輸出,例如二進(jìn)制數(shù)據(jù)。例如,如果使用一個存 儲器元件即SRAM、觸發(fā)器、總線保持器(bus-keeper)或蝴蝶形PUF(butterflyPUF),則沒 有指示對應(yīng)的元件如何接近關(guān)于1或〇的閾的信息是容易得到的。本發(fā)明人的進(jìn)一步認(rèn)知 是可靠性信息的使用可以如何與這樣的PUF組合。通過在軟判決解碼器與規(guī)整器之間插入 一個額外的代碼,可以在經(jīng)解碼的數(shù)據(jù)字的水平上獲得至少可靠性信息。盡管在經(jīng)解碼的 數(shù)據(jù)字上對可靠性信息作了平均,但是供在隨后的軟判決解碼器中使用的信息的量已經(jīng)增 力口,因此改進(jìn)了數(shù)據(jù)串的解碼,并最終提高了數(shù)據(jù)串的可靠性。
[0022] 物理不可克隆功能(PUF)是由物理系統(tǒng)實(shí)現(xiàn)的功能,使得該功能易于制造,但是 該物理系統(tǒng)難于特征化且難于克隆。由于PUF不能被復(fù)制或模造,因此配備有PUF的設(shè)備 變得不可克隆。由不受控制的生產(chǎn)過程生產(chǎn)的(即,含有某些隨機(jī)性的)物理系統(tǒng)證明是 PUF的良好的候選者。
[0023]PUF可以,但不是必須,獲得一個輸入,該輸入也被稱作詢問(challenge)。許多實(shí) 際的PUF是所謂的單詢問輸入。它們有效地運(yùn)行為數(shù)字標(biāo)識符。更先進(jìn)的PUF采用一個輸 入。針對每個詢問,這樣的多詢問PUF被設(shè)計為以復(fù)雜的方式與詢問即激勵交互,且導(dǎo)致不 可預(yù)測的響應(yīng)。本發(fā)明既可以與