單詢問PUF-起使用也可以與多詢問PUF -起使用。甚至 單詢問PUF也增加了系統(tǒng)的安全性,特別是對(duì)于不需要被包括PUF的設(shè)備的外部知道的秘 密。例如,被用于安全存儲(chǔ)、存儲(chǔ)器加密等、啟動(dòng)保護(hù)等的密鑰未必需要被設(shè)備的外部知道。
[0024] 不使用軟判決解碼的誤差校正代碼的組合要求大的原始數(shù)據(jù)串,例如,通過(guò)使用 具有大SRAM的PUF,以得到具有合理的錯(cuò)誤拒絕率的可靠數(shù)據(jù)串,例如某一加密密鑰。許多 信息丟失,因?yàn)榻獯a第一誤差校正代碼僅導(dǎo)致每代碼字幾個(gè)信息位。錯(cuò)誤拒絕率(FRR)是: 由于所測(cè)量的PUF響應(yīng)中的誤差,可靠數(shù)據(jù)串不能被重建的概率。低FRR是期望的。
[0025] 因此,本發(fā)明給出了一種使用軟判決誤差校正算法從物理不可克隆功能提取標(biāo)識(shí) 符或密鑰的有利的方法。軟判決信息(也被稱為必然性或可靠性信息)可以源自前一解碼 步驟的輸入(噪聲)代碼字與其經(jīng)誤差校正的輸出之間的差異。
[0026] 在對(duì)相同的PUF的兩次讀出幾乎決不會(huì)給出相同的原始位串的意義上來(lái)說(shuō),PUF 通常是"不可靠的"??煽繑?shù)據(jù)串在可靠數(shù)據(jù)串的幾乎每次重建之后都是相同的。可靠性的 水平依賴于本發(fā)明的應(yīng)用。對(duì)于民用而言(例如,在訪問控制、金融控制等中),與在軍用中 相比,較大的FRR將是可接受的。通過(guò)使用能夠校正大數(shù)目誤差的代碼可以降低FRR。
[0027] 優(yōu)選地,對(duì)于其中嵌入有物理不可克隆功能的電子設(shè)備,可靠數(shù)據(jù)串(例如位串) 是獨(dú)有的。盡管不是嚴(yán)格地需要,但是這使得識(shí)別更可靠且密鑰更安全。在一個(gè)實(shí)施方案 中,加密系統(tǒng)包括密鑰建立器,用于通過(guò)將密鑰派生算法應(yīng)用到可靠數(shù)據(jù)串來(lái)建立加密密 鑰。
[0028] 在一個(gè)實(shí)施方案中,原始數(shù)據(jù)串可以依賴于部件的、至少部分隨機(jī)的物理配置。在 一個(gè)實(shí)施方案中,PUF包括SRAM、觸發(fā)器、總線保持器、蝴蝶形PUF中的任何一個(gè),用于導(dǎo)出 原始位串。
[0029] 通常,PUF包括多個(gè)易失性存儲(chǔ)器元件,這些易失性存儲(chǔ)器元件在上電時(shí)穩(wěn)定在一 個(gè)狀態(tài),該狀態(tài)取決于存儲(chǔ)器元件的物理特性。通常以數(shù)字形式,即以位序列的形式,獲得 原始位串。
[0030] SRAM PUF是已知的基于標(biāo)準(zhǔn)的可用部件即SRAM的PUF。SRAM或靜態(tài)隨機(jī)訪問存 儲(chǔ)器是當(dāng)今在大多數(shù)設(shè)備(例如,ASIC、微處理器、DSP、ASSP等)中使用的標(biāo)準(zhǔn)部件。它 包括兩個(gè)交叉耦合的反相器和用于外部連接的兩個(gè)附加的晶體管,因此包括總共六個(gè)晶體 管。由于其用于短期數(shù)據(jù)存儲(chǔ)的速度,它被廣泛地使用。當(dāng)電壓被施加到存儲(chǔ)器單元時(shí),它 選擇其邏輯優(yōu)選狀態(tài):邏輯1狀態(tài)或邏輯〇狀態(tài)。每個(gè)單元具有唯一的優(yōu)選狀態(tài),該優(yōu)選狀 態(tài)由組成兩個(gè)交叉耦合的反相器的晶體管的閾值電壓確定。因?yàn)樵谥圃炱陂g不受控制的過(guò) 程變量,不同晶體管的閾值電壓略微不同。由SRAM存儲(chǔ)器陣列的存儲(chǔ)器單元的所有優(yōu)選啟 動(dòng)值確定的串形成唯一地指示該SRAM存儲(chǔ)器的隨機(jī)標(biāo)識(shí)符。該標(biāo)識(shí)符是PUF響應(yīng),即原始 數(shù)據(jù)串。該現(xiàn)象已經(jīng)在許多實(shí)驗(yàn)中且關(guān)于許多SRAM類型被驗(yàn)證。
[0031] 另一個(gè)基于存儲(chǔ)器的PUF是所謂的觸發(fā)器PUF。該P(yáng)UF使用觸發(fā)器或寄存器的啟 動(dòng)值。在相同申請(qǐng)人的、于2010年11月24日提交的、申請(qǐng)?zhí)枮镋P10192352. 2的、標(biāo)題為 "PHYSICAL UNCLONABLE FUNCTION"的EP專利申請(qǐng)中描述了觸發(fā)器、總線保持器和寄存器 PUF。
[0032] 在一個(gè)實(shí)施方案中,確定第一多個(gè)誤差可校正的數(shù)據(jù)字的規(guī)整器包括將原始數(shù)據(jù) 串與所謂的輔助數(shù)據(jù)結(jié)合。
[0033] 例如,原始位串和輔助數(shù)據(jù)都可以被表示為數(shù)字值,輔助數(shù)據(jù)將原始位串映射到 一個(gè)或多個(gè)可校正的代碼字的鄰域。例如,輔助數(shù)據(jù)可以被添加到原始位串。例如,可以通 過(guò)使用X0R操作將原始位串和輔助數(shù)據(jù)組合。輔助數(shù)據(jù)也可以被并置到原始位串,例如在 輔助數(shù)據(jù)表示冗余信息的情形下。
[0034] 在信息理論中,硬判決解碼器和軟判決解碼器均解碼已被編碼具有誤差校正代碼 的數(shù)據(jù)。硬判決解碼器與軟判決解碼器之間的差異涉及可靠性信息的使用。硬判決解碼器 是誤差校正解碼器,該誤差校正解碼器將可能值(二進(jìn)制代碼中通常是〇或1)的固定集合 作為輸入。硬判決解碼器不將可靠性信息作為輸入。軟判決解碼器將指示每個(gè)輸入數(shù)據(jù)點(diǎn) 的可靠性的額外信息作為輸入,且被用來(lái)形成原數(shù)據(jù)的更好估計(jì)。軟判決解碼器與其對(duì)應(yīng) 的硬判決解碼器相比,在存在損壞的數(shù)據(jù)的情況下通常表現(xiàn)得更好。
[0035] 可以在系統(tǒng)中使用不同的誤差校正代碼。也可以使用相同的誤差校正代碼兩次, 一次用硬判決解碼器且一次用軟判決解碼器。也可以在硬判決解碼器之后,用兩個(gè)或更多 個(gè)(可能不同的)軟判決誤差校正解碼器進(jìn)行兩階段方法或多階段方法。在多階段方法中 組合誤差校正代碼導(dǎo)致就為提取某一長(zhǎng)度的密鑰所需要的PUF數(shù)據(jù)的量而言更有效的解 決方案,具有相同的FRR。
[0036] 在一個(gè)實(shí)施方案中,硬判決解碼器被配置以解碼第一多個(gè)誤差可校正的數(shù)據(jù)字中 的每一個(gè)誤差可校正的數(shù)據(jù)字,從而獲得第二多個(gè)中的一個(gè)對(duì)應(yīng)的經(jīng)校正且經(jīng)解碼的數(shù)據(jù) 字。例如,轉(zhuǎn)換原始串的一種方式是將輔助數(shù)據(jù)X0R到原始數(shù)據(jù)串。所得到的串被劃分成 誤差可校正的數(shù)據(jù)字。
[0037] 由于PUF的誤差率可能是高的,如果(在硬判決解碼器中使用的)第一代碼具有 相對(duì)低的代碼率(也稱為信息率)--這能夠校正相對(duì)大數(shù)目的誤差,將是特別有利的。試 驗(yàn)已經(jīng)確認(rèn)了這一點(diǎn)。在一個(gè)實(shí)施方案中,硬判決解碼器被配置用于解碼重復(fù)代碼。在一個(gè) 實(shí)施方案中,硬判決解碼器被配置用于解碼哈達(dá)默(Hadamard)代碼。在一個(gè)實(shí)施方案中, 硬判決解碼器和/或軟判決解碼器使用線性代碼,優(yōu)選地,二進(jìn)制代碼。
[0038] 由于低代碼率代碼傾向于具有相對(duì)少的代碼字,因此列表解碼是供用于硬判決解 碼器的良好的選項(xiàng)。
[0039] 可靠性信息也被稱為必然性信息,或稱為軟判決信息。
[0040] 在一個(gè)實(shí)施方案中,可靠性信息源自經(jīng)誤差校正的代碼字與誤差校正之前的噪聲 代碼字(第一多個(gè)中的一部分)之間的差異。噪聲代碼字也被稱作誤差可校正的數(shù)據(jù)字, 它是具有若干個(gè)誤差的代碼字。從噪聲代碼字變?yōu)榻?jīng)校正的代碼字而被改變的位的數(shù)目是 該經(jīng)校正的代碼字的可靠性的指示。被改變的位越多,代碼字錯(cuò)誤的機(jī)會(huì)就越高,從而可靠 性就越低。
[0041] 該軟判決信息被用作連續(xù)的軟判決誤差校正模塊或算法的輸入。使用該軟判決信 息使得能夠使用更高效的模糊提取器一該模糊提取器要求更少的PUF輸入來(lái)導(dǎo)出某一長(zhǎng) 度的密鑰。
[0042] 針對(duì)第一解碼器使用該構(gòu)造,第二解碼器將具有關(guān)于輸入的更多信息(它將知道 更多關(guān)于輸入的硬件),且因此與之前已知的方案相比可以以較低的FRR重建所要求的代 碼字。
[0043] 在一個(gè)實(shí)施方案中,可靠性信息包括可靠性值,該可靠性值指示將第一多個(gè)誤差 可校正的數(shù)據(jù)字中的特定的誤差可校正的數(shù)據(jù)字解碼成第二多個(gè)經(jīng)校正且經(jīng)解碼的數(shù)據(jù) 字中的特定的經(jīng)校正且經(jīng)解碼的數(shù)據(jù)字的可靠性。
[0044] 校正特定的誤差可校正的數(shù)據(jù)字直接地或通過(guò)編碼所得到的數(shù)據(jù)字給出對(duì)應(yīng)的 代碼字。通過(guò)將該誤差可校正的數(shù)據(jù)字與對(duì)應(yīng)的代碼字進(jìn)行比較,獲得該解碼的可靠性的 指示。
[0045] 當(dāng)讀出PUF時(shí),任何特定的代碼字中的誤差的數(shù)目可能高于可校正的誤差的數(shù) 目。在該情況下,硬判決解碼器仍給出經(jīng)校正且經(jīng)解碼的數(shù)據(jù)字,但不是正確的數(shù)據(jù)字。在 該情況下,更可能的是,噪聲代碼字與對(duì)應(yīng)的代碼字之間的差異是大的而不是小的。盡管可 能的是,如此多的誤差出現(xiàn)以致代碼字已經(jīng)幾乎完全改變?yōu)椴煌拇a字,但是更有可能 的是,該代碼字只是超出了誤差校正極限。因此,噪聲代碼字與對(duì)應(yīng)的代碼字之間的差異是 解碼的可靠性的良好的指示。
[0046] 在一個(gè)實(shí)施方案中,可靠性信息提取器包括一個(gè)距離確定器,用于確定對(duì)應(yīng)于特 定的經(jīng)校正且經(jīng)解碼的數(shù)據(jù)字的特定的代碼字與該特定的誤差可校正的數(shù)據(jù)字之間的距 離,可靠性值源自該距離。
[0047] 誤差校正之后的代碼字與誤差校正之前的噪聲代碼字之間的差異可以被計(jì)算為 漢明距離(hamming distance)。該距離越高,可靠性就越低。
[0048] 如果硬判決解碼器使用重復(fù)代碼,則會(huì)起作用的最簡(jiǎn)單形式的量化是直接使用位 序列的漢明權(quán)重。對(duì)于其他代碼,可以使用可校正的代碼字與經(jīng)校正的代碼字之間的差異 (即,異或差異)的漢明權(quán)重。不同的閾值可以被用在量化器中。例如,漢明權(quán)重空間可以 被劃分成相等的部分。替代地,所使用的閾可以被優(yōu)化用于給定的第二解碼器,例如,通過(guò) 用不同的閾仿真且選擇最優(yōu)值。例如,人們可以對(duì)噪聲代碼字和對(duì)應(yīng)的代碼字的X0R和中 的零的數(shù)目計(jì)數(shù),以得到可靠性值(其中計(jì)數(shù)越高,即零越多,越可靠)。
[0049] 可靠性信息可以被量化成一組有限的離散水平。甚至離散水平的數(shù)目可以低于代 碼字的長(zhǎng)度。例如,可以使用3位來(lái)表示8個(gè)可靠性水平,即使硬判決解碼器使用的代碼更 長(zhǎng)。
[0050] 在一個(gè)實(shí)施方案中,硬判決解碼器的經(jīng)解碼的字的所有位被指派相同的可靠性信 息。在一個(gè)實(shí)施方案中,可靠性值是有理數(shù)。
[0051] 在一個(gè)實(shí)施方案中,硬判決解碼器被配置以解碼第一多個(gè)誤差可校正的數(shù)據(jù)字中 的每一個(gè)誤差可校正的數(shù)據(jù)字,從而獲得第二多個(gè)中的一個(gè)對(duì)應(yīng)的經(jīng)校正且經(jīng)解碼的數(shù)據(jù) 字,且其中可靠性信息提取器被配置以確定用于第二多個(gè)經(jīng)校正且經(jīng)解碼的數(shù)據(jù)字中的每 一個(gè)的可靠性值,該可靠性值指示第一多個(gè)中的誤差可校正的數(shù)據(jù)字的對(duì)應(yīng)的解碼的可靠 性。
[0052] 數(shù)據(jù)安排器采用第二多個(gè)中的經(jīng)解碼的數(shù)據(jù)字,且將它們匯編成新的誤差可校正 的代碼字。在一個(gè)實(shí)施方案中,該數(shù)據(jù)安排器向一個(gè)經(jīng)解碼的數(shù)據(jù)字中的所有位指派該經(jīng) 解碼的數(shù)據(jù)字的可靠性值。相同的經(jīng)解碼的數(shù)據(jù)字中的所有位因此接收相同的可靠性值。 在一個(gè)實(shí)施方案中,該數(shù)據(jù)安排器將第二多個(gè)中的聚集的位重新排列成一個(gè)或另外的誤差 可校正的數(shù)據(jù)字。該另外的誤差可校正的數(shù)據(jù)字中的位已經(jīng)向它們指派了從第二多個(gè)中的 以下數(shù)據(jù)字獲得的可靠性值:從該數(shù)據(jù)字獲得了該位。
[0053] 在一個(gè)實(shí)施方案中,數(shù)據(jù)安排器被配置以將第二多個(gè)中的第一經(jīng)校正且經(jīng)解碼的 數(shù)據(jù)字的至少一部分和第二多個(gè)中的第二經(jīng)校正且經(jīng)解碼的數(shù)據(jù)字的至少一部分安排到 相同的至少一個(gè)另外的可校正的數(shù)據(jù)字中。
[0054] 在一個(gè)實(shí)施方案中,第二多個(gè)中的某一數(shù)據(jù)字的第一部分被用在該至少一個(gè)另外 的可校正的數(shù)據(jù)字中的第