專利名稱::具有防篡改和抗老化系統(tǒng)的物理不可克隆函數(shù)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種用于生成識(shí)別性響應(yīng)樣式(identifyingresponsepattern)的系統(tǒng),其包括一個(gè)用作物理不可克隆函數(shù)(physicallyunclonablefunction)的存儲(chǔ)器,所述存儲(chǔ)器包括多個(gè)可重寫的(reiritable)存儲(chǔ)位置,每個(gè)存儲(chǔ)位置具有至少兩個(gè)可行的(possible)邏輯狀態(tài);以及一個(gè)輸入端,其用于接收激活信號(hào)以使得每個(gè)存儲(chǔ)位置進(jìn)入其可行的邏輯狀態(tài)之一,所進(jìn)入的狀態(tài)依賴于所述存儲(chǔ)器的物理的、至少部分隨機(jī)的特性,且由此生成對(duì)識(shí)別所述系統(tǒng)有用的邏輯狀態(tài)響應(yīng)樣式(responsepattern)。本發(fā)明還涉及一種生成識(shí)別性響應(yīng)樣式的方法,并且涉及一種相應(yīng)的計(jì)算機(jī)程序。
背景技術(shù):
:物理不可克隆函數(shù)(PUF)是如下的函數(shù),其被實(shí)現(xiàn)為一個(gè)物理系統(tǒng)(physicalsystem),以使得通過如下方式來得到該函數(shù)針對(duì)輸入的輸出給該物理系統(tǒng)提供激勵(lì)形式的輸入,以及將由所述激勵(lì)與所述物理系統(tǒng)之間的交互引起的行為映射到輸出。其中所述交互是不可預(yù)測(cè)的,且本質(zhì)上依賴于該物理系統(tǒng)中的隨機(jī)元素,以至于在沒有物理訪問所述物理系統(tǒng)的情況下不能得到所述輸出,并且不能再現(xiàn)(reproduce)所述物理系統(tǒng)。優(yōu)選地,PUF也易于評(píng)價(jià)(evaluate)。對(duì)于實(shí)際使用,PUF優(yōu)選地制造成本低。常規(guī)上,PUF接受的輸入或激勵(lì)被稱為“詢問(challenge)”。PUF的輸出,即PUF在與所述激勵(lì)交互之后呈現(xiàn)的行為,被稱為“響應(yīng)”。包括PUF的詢問和相應(yīng)響應(yīng)的一個(gè)對(duì)(pair)被稱為一個(gè)詢問-響應(yīng)對(duì)。一些類型的PUF允許寬范圍的不同輸入,一些類型允許更有限范圍的輸入,或者甚至可以僅允許單個(gè)輸入。用某個(gè)單個(gè)詢問對(duì)PUF進(jìn)行詢問也可以被稱為該P(yáng)UF的“激活”。更優(yōu)選的是,如果用相同的詢問對(duì)一個(gè)PUF進(jìn)行多次評(píng)價(jià),該P(yáng)UF會(huì)產(chǎn)生全都相同的多個(gè)響應(yīng)。然而這個(gè)屬性不是必要的,并且在實(shí)踐中大多數(shù)PUF不具有這個(gè)屬性。只要所述多個(gè)響應(yīng)彼此足夠接近,就可以有效地應(yīng)用該P(yáng)UF。由于在不訪問該系統(tǒng)的情況下不能預(yù)測(cè)激勵(lì)與該物理系統(tǒng)之間的交互,所以難于對(duì)該P(yáng)UF進(jìn)行表征和建模。因此,僅能使用該特定PUF下層的特定物理系統(tǒng)來得到該特定PUF的針對(duì)輸入的輸出。擁有詢問-響應(yīng)對(duì)證明了,在某點(diǎn),該詢問被提供給該P(yáng)UF下層的獨(dú)一無二的物理系統(tǒng)。因?yàn)檫@個(gè)屬性,即詢問-響應(yīng)對(duì)與獨(dú)一無二的物理裝置聯(lián)系的屬性,PUF被稱為不可克隆的。通過給一個(gè)裝置配備PUF,該裝置也變得不可克隆。通過(至少部分)不可控(uncontrollable)的制造方法(即不可避免會(huì)引入一些隨機(jī)性的制造方法)來生產(chǎn)的物理系統(tǒng)被證明是PUF的好的候選。PUF的一個(gè)優(yōu)點(diǎn)是它們固有地?fù)碛锌勾鄹?tamperresistant)性質(zhì)為了研究PUF的工作原理而將該P(yáng)UF分解也會(huì)干擾所述隨機(jī)元素,因此也會(huì)干擾輸入到輸出的映射方式。本領(lǐng)域中已知多種類型的PUF,包括多種類型的電子PUF,包括多種類型的基于電子存儲(chǔ)器的PUF。PUF也可以基于其他概念,例如光學(xué)PUF。構(gòu)建PUF的一種方式使用了靜態(tài)隨機(jī)存取儲(chǔ)存器(SRAM);這些PUF被稱為SRAMPUF。SRAM具有如下屬性在它們上電之后,它們就被填充了開位(on-bits)和關(guān)位(off-bits)的隨機(jī)樣式。雖然如果該SRAM下次上電時(shí)該樣式可能不會(huì)確切重復(fù)自己,但是兩個(gè)這種樣式之間的差別通常比此狀態(tài)下的位的數(shù)目的一半小得多。第二種S-RAMPUF是用雙端口RAM構(gòu)建的。通過同時(shí)在兩個(gè)端口上寫入不同的信息,即用不同信息詢問該RAM,存取器單元(memorycell)被帶入未定義狀態(tài),這顯示了類PUF行為(PUF-likebehavior)。由于制造過程中不可避免的變異,SRAM的部件相對(duì)于彼此的配置是至少稍微隨機(jī)的。這些變異反映在,例如,該SRAM的存儲(chǔ)器單元中的晶體管的稍微不同的閾值電壓。當(dāng)該SRAM以未定義狀態(tài)被讀出時(shí)(例如在寫動(dòng)作之前),該SRAM的輸出依賴于隨機(jī)配置。制造具有相同特性行為的新SRAM要求制造具有相同配置的SRAM,該配置是隨機(jī)獲得的。因?yàn)檫@是無法實(shí)現(xiàn)的,所以該SRAM作為一個(gè)物理系統(tǒng)是不可克隆的,即該SRAM是一個(gè)PUF。PUF的另一個(gè)實(shí)例是所謂的蝶形PUF。該蝶形PUF包括多個(gè)蝶形PUF單元。一個(gè)蝶形PUF單元包括兩個(gè)鎖存器(latches)或觸發(fā)器(flip-flops)的交叉耦合。該蝶形PUF可以被實(shí)現(xiàn)在現(xiàn)場(chǎng)可編程門陣列(FPGA)上,即使該FPGA不包括SRAM。該蝶形PUF可被視為SRAM存儲(chǔ)器單元的模擬,其使用在FPGA上可提供的元件。蝶形的運(yùn)行方式也與SRAM的運(yùn)行方式相似。蝶形PUF也能夠從實(shí)現(xiàn)該蝶形PUF的集成電路的復(fù)雜物理特性中提取秘密。在下面的論文中更全面地解釋了蝶形PUF:SandeepS.Kumar,JorgeGuajardo,RoelMaes,Geert-JanSchrijen,PimTuyls,"ThebutterflyPUFprotectingIPoneveryFPGA,",pp.67-70,2008IEEEInternationalWorkshoponHardware-OrientedSecurityandTrust,2008。在公開號(hào)為W02009/024913的國(guó)際專利申請(qǐng)“identificationofdevicesusingphysicallyunclonablefunctions”中也描述了蝶形PUF,該申請(qǐng)通過弓丨用納入本文。尤其見圖8和10以及相應(yīng)的描述。PUF的一個(gè)應(yīng)用是在電子電路上得出密碼密鑰(cryptographickey)。該電子電路通常包括集成電路(IC)和/或可編程邏輯。該可編程邏輯包括,例如,現(xiàn)場(chǎng)可編程門陣列(FPGA)、可編程邏輯器件(PLD)或數(shù)字信號(hào)處理器(DSP)、微處理器等。并非把密碼密鑰存儲(chǔ)在某種非易失性存儲(chǔ)器中,而是僅在該裝置需要該密鑰的時(shí)候才從該P(yáng)UF生成該密鑰。在不再需要該密鑰時(shí),可以刪除該密鑰。在下次需要該密鑰時(shí),可以再次從該P(yáng)UF得到該密鑰。由于在用相同詢問進(jìn)行兩次評(píng)價(jià)時(shí)該P(yáng)UF可能不會(huì)給出確切相同結(jié)果,所以可以使用所謂的輔助數(shù)據(jù)算法(也被稱為模糊提取器(FuzzyExtractor))來確保該密鑰每次被得出時(shí)是相同的。例如,國(guó)際專利申請(qǐng)W02006/129242“TemplateRenewalinHelperdataSystems”中描述了一種使用輔助數(shù)據(jù)來從噪聲測(cè)量值構(gòu)建可再現(xiàn)值的方法,該申請(qǐng)通過引用納入本文?!N使用PUF來產(chǎn)生密碼密鑰的方式如下。首先,在注冊(cè)階段(enrollmentphase)產(chǎn)生詢問-響應(yīng)對(duì)。然后,使用模糊提取器產(chǎn)生輔助數(shù)據(jù)。在該裝置上,詢問和輔助數(shù)據(jù)被存儲(chǔ)在非易失性存儲(chǔ)器中。為了得出該密碼密鑰,通過再次針對(duì)該詢問評(píng)價(jià)該P(yáng)UF來得到一個(gè)新響應(yīng)。通過根據(jù)輔助數(shù)據(jù)算法將所述新響應(yīng)與所存儲(chǔ)的輔助數(shù)據(jù)結(jié)合,得出密鑰。所述輔助數(shù)據(jù)確保該密鑰每次被得出時(shí)是相同的。在沒有PUF的情況下,攻擊者可以通過向通常存儲(chǔ)密鑰的非易失性存儲(chǔ)器發(fā)動(dòng)物理攻擊來恢復(fù)該密碼密鑰。例如,該攻擊者可以打開該存取器并探測(cè)其內(nèi)容。使用PUF使得這種攻擊難得多,這是因?yàn)樗鶎で蟮腜UF樣式僅在該P(yáng)UF被激活的時(shí)候才物化(materialize)。此外,打開該P(yáng)UF通常會(huì)干擾該P(yáng)UF與輸入交互的精確方式。據(jù)此,該攻擊者從他的探測(cè)獲知的信息與被用來產(chǎn)生該密碼密鑰的交互無關(guān)。這使得攻擊者更難于使用物理攻擊來找到該密鑰。換言之,攻擊者不能侵入式打開包括PUF的芯片,因?yàn)樗枰撔酒ぷ饕允沟迷揚(yáng)UF樣式物化,并且因?yàn)榇蜷_該芯片會(huì)毀壞該P(yáng)UF產(chǎn)生該P(yáng)UF樣式的能力;另一方面,他必須打開該芯片,否則他就無法訪問該秘密的PUF樣式。不幸的是,可能存在使攻擊者脫離這個(gè)兩難困境的方法。在基于電子存儲(chǔ)器的PUF已被激活之后將其凍結(jié),可以使得PUF樣式變得暫時(shí)固定在該存儲(chǔ)器中,即使該芯片被抑制(deactivate)和打開。該樣式變得仿佛被凍結(jié)在該存儲(chǔ)器中。在凍結(jié)該存儲(chǔ)器之后,攻擊者可以拆開該芯片,并確定該芯片在凍結(jié)之時(shí)的存儲(chǔ)內(nèi)容。在以下論文中討論了類似的攻擊Halderman,A.J.,S.D.Schoen,N.Heninger,ff.Clarkson,ff.Paul,J.A.Calandrino,A.J.Feldman,J.Appelbaum,andE.ff.Felten(2009).Lestweremembercold-bootattacksonencryptionkeys.Commun.ACM52(5),91-98。通過從該系統(tǒng)中取出該存儲(chǔ)器并在一個(gè)不同的系統(tǒng)中讀取其內(nèi)容,在存儲(chǔ)器已凍結(jié)之后對(duì)其進(jìn)行檢查可以是可行的。對(duì)抗這種攻擊的對(duì)策是把用作PUF的存儲(chǔ)器集成在該系統(tǒng)中,而不是使用可以從該系統(tǒng)分立地取出的分立存儲(chǔ)裝置。甚至在后一情況下,即在該存儲(chǔ)器是該系統(tǒng)的集成部分的情況下,也可以通過打開該芯片并使用電子顯微鏡查看內(nèi)部來檢查該存儲(chǔ)器凍結(jié)時(shí)的內(nèi)容??梢酝ㄟ^低技術(shù)手段,諸如用倒置的一罐多用途防塵噴霧劑(也稱為“罐裝空氣”)噴射存儲(chǔ)芯片,來凍結(jié)存儲(chǔ)器。保持該罐倒置會(huì)產(chǎn)生所要求的低溫。一種更先進(jìn)的技術(shù)是向存儲(chǔ)芯片施加液氮。發(fā)現(xiàn)后一方法會(huì)產(chǎn)生更好的結(jié)果,即更多的存儲(chǔ)器單元保持了凍結(jié)之前它們?cè)谶\(yùn)行中具有的值。注意,存儲(chǔ)器可能易受到無需凍結(jié)的非法訪問,例如,通過使用刺入總線中的細(xì)微探針或針來探測(cè)通向所述存儲(chǔ)器的總線。然而,我們把可以對(duì)存儲(chǔ)器在運(yùn)行使用中的內(nèi)容進(jìn)行非法訪問的所有類型的攻擊統(tǒng)稱為凍結(jié)攻擊?,F(xiàn)有技術(shù)的一個(gè)問題是基于電子存儲(chǔ)器的PUF可能易受到凍結(jié)攻擊。
發(fā)明內(nèi)容本發(fā)明的一個(gè)目的是避免或減輕基于PUF的存儲(chǔ)器易受凍結(jié)攻擊的性質(zhì)。該目的以及其他目的通過本發(fā)明的用于生成識(shí)別性響應(yīng)樣式的系統(tǒng)來達(dá)到。所述用于生成識(shí)別性響應(yīng)樣式的系統(tǒng)包括一個(gè)用作物理不可克隆函數(shù)的存儲(chǔ)器。所述存儲(chǔ)器包括多個(gè)可重寫的存儲(chǔ)位置。每個(gè)存儲(chǔ)位置具有至少兩個(gè)可行的邏輯狀態(tài)。所述存儲(chǔ)器具有一個(gè)輸入端,該輸入端用于接收激活信號(hào)以使得每個(gè)存儲(chǔ)位置進(jìn)入其可行的邏輯狀態(tài)之一。所進(jìn)入的狀態(tài)依賴于所述存儲(chǔ)器的物理的、至少部分隨機(jī)的特性。由此生成對(duì)識(shí)別所述系統(tǒng)有用的邏輯狀態(tài)響應(yīng)樣式。所述系統(tǒng)還包括一個(gè)存儲(chǔ)器改寫裝置(memory-overwritingdevice),該存儲(chǔ)器改寫裝置被配置為改寫所述多個(gè)存儲(chǔ)位置的至少第一部分以消隱(obscure)所述存儲(chǔ)器中的響應(yīng)樣式。在所述系統(tǒng)開啟時(shí),所述存儲(chǔ)器被激活,這使得所述存儲(chǔ)位置包含一序列(asequenceof)邏輯狀態(tài),即響應(yīng)樣式。所述一序列邏輯狀態(tài)依賴于所述存儲(chǔ)器中存在的物理(例如結(jié)構(gòu)性的)變異,因此適于識(shí)別所述裝置所述響應(yīng)樣式可以用多種方式使用。示例應(yīng)用包括識(shí)別所述裝置或其擁有者,保護(hù)密鑰生成和/或存儲(chǔ),等等。例如,它可以用于以下識(shí)別。所進(jìn)入的邏輯狀態(tài)的序列可以被與同一存儲(chǔ)位置在所述裝置先前開啟時(shí)的內(nèi)容進(jìn)行比較,并且如果這兩個(gè)序列的差異位置少于在不同開啟之間的響應(yīng)樣式的自然偏差所能解釋的,則可以確定這兩個(gè)序列是從同一裝置得到的。即,識(shí)別了所述裝置。這類識(shí)別作為防偽對(duì)策是有用的。例如,數(shù)據(jù)庫可能填充了從(例如工廠中的)所有已知真系統(tǒng)(genuinesystems)得到的響應(yīng)樣式。在該領(lǐng)域中,可以通過將一個(gè)系統(tǒng)的響應(yīng)樣式與所述數(shù)據(jù)庫中的所有響應(yīng)樣式進(jìn)行比較來驗(yàn)證所述系統(tǒng)是否是真的。存在使用所述響應(yīng)樣式的許多其他方式。例如,使用所謂的輔助數(shù)據(jù),可以糾正所述響應(yīng)樣式與在先前開啟所述存儲(chǔ)器時(shí)得到的響應(yīng)樣式之間的偏差。從已糾正的響應(yīng)樣式可以得出密碼密鑰。密碼密鑰可以用于多種功能,包括驗(yàn)證、加密、解密等。在已使用存儲(chǔ)器內(nèi)容之后,例如在已得出密碼密鑰之后,可以通過使用所述存儲(chǔ)器改寫裝置來防止所述系統(tǒng)受到凍結(jié)攻擊。所述存儲(chǔ)器改寫裝置被配置為改寫所述多個(gè)存儲(chǔ)位置的至少第一部分,以消隱所述存儲(chǔ)器中的響應(yīng)樣式。改寫所述存儲(chǔ)位置以及消隱所述存儲(chǔ)位置中的邏輯狀態(tài)是對(duì)抗所述凍結(jié)攻擊的對(duì)策??梢酝ㄟ^多種方式來改寫所述第一部分以消隱其內(nèi)容。例如,一個(gè)固定值(例如零或十六進(jìn)制值“ff”)可以被用來改寫所述第一部分。替代地,可以用隨機(jī)數(shù)據(jù)來改寫所述第一部分。所述隨機(jī)數(shù)據(jù)可以是,例如,偽隨機(jī)數(shù)據(jù)、真隨機(jī)數(shù)據(jù)或其組合。所述第一部分可以是固定的,例如,所述第一部分的存儲(chǔ)位置可以被貯藏在所述系統(tǒng)的一個(gè)存儲(chǔ)器中。所述第一部分也可以作為隨機(jī)生成處理的結(jié)果(可能是偽隨機(jī)地)而被確定。此時(shí),攻擊者凍結(jié)所述存儲(chǔ)器,并且打開所述芯片或以其他方式訪問所述存儲(chǔ)器,他發(fā)現(xiàn)所述存儲(chǔ)器在第一部分的內(nèi)容被消隱了。即,存在于所述第一部分中的邏輯狀態(tài)(例如值)對(duì)于該攻擊者是無用的。本發(fā)明人認(rèn)識(shí)到,一般不必消隱全部所述多個(gè)存儲(chǔ)位置。僅需要把所述多個(gè)存儲(chǔ)位置的信息內(nèi)容減少到攻擊者不再能利用的水平,或者至少把它減少到使攻擊顯著更難的水平。通過部分消隱所述邏輯狀態(tài)(這些邏輯狀態(tài)可能會(huì)通過凍結(jié)攻擊而被得到),減少了所述響應(yīng)樣式上的或從所述響應(yīng)樣式得出的實(shí)體(諸如密碼密鑰)上的信息量。據(jù)此,使得凍結(jié)攻擊更加困難。例如,在第一識(shí)別實(shí)施例中,當(dāng)前響應(yīng)樣式與先前從所述存儲(chǔ)位置讀取的響應(yīng)樣式之間的差別大到不能再由所述存儲(chǔ)器中自然出現(xiàn)的變異來解釋就足夠了。據(jù)此,攻擊者不能使用在凍結(jié)之后得到的邏輯狀態(tài)來愚弄(spoof)所述系統(tǒng)。“愚弄”指的是如下情形攻擊者可以能夠建立一個(gè)在某些方面行動(dòng)與所述真裝置不可區(qū)分的裝置。注意,甚至得到所述響應(yīng)樣式的拷貝的攻擊者也不能夠克隆所述裝置,因?yàn)樗荒墚a(chǎn)生具有與真裝置相同的開啟特性的存儲(chǔ)器。因此,在物理水平上,真裝置與其拷貝是可區(qū)分的。可以想象攻擊者利用被設(shè)計(jì)用來糾正所述響應(yīng)樣式中的誤差(errors)的輔助數(shù)據(jù),所述輔助數(shù)據(jù)可能已由所述攻擊者以一些可能非法的方式得到。然而,使用這樣的輔助數(shù)據(jù)僅能糾正有限數(shù)目的誤差。能糾正多少誤差依賴于在構(gòu)建所述輔助數(shù)據(jù)的過程中使用的參數(shù)。只要所述第一部分足夠大以保證所述存儲(chǔ)器中存在的誤差的數(shù)目大于用所述輔助數(shù)據(jù)能糾正的誤差的數(shù)目,就顯著阻礙了凍結(jié)攻擊,如果沒有完全挫敗凍結(jié)攻擊的話。即使所述第一部分的大小不能保證所述存儲(chǔ)器中存在的誤差的數(shù)目大于用所述輔助數(shù)據(jù)能糾正的誤差的數(shù)目,在所述第一部分之外自然出現(xiàn)的誤差也可以足夠至少使得攻擊者的攻擊很可能難得多。注意到,依賴于采用所述輔助數(shù)據(jù)的糾錯(cuò)機(jī)制,在所述第一部分中的位置被消隱的響應(yīng)樣式中存在的信息仍可能(至少在信息理論上)給攻擊者提供某個(gè)小的有利條件。然而,通過使得所述第一部分足夠大,可以使得這個(gè)有利條件小到期望的程度。所述系統(tǒng)可以被包含在多種不同裝置中。例如,所述系統(tǒng)可以被包含在移動(dòng)電話、計(jì)算機(jī)、筆記本電腦、上網(wǎng)本、機(jī)頂盒、訪問控制系統(tǒng)、智能卡、RFID標(biāo)簽、路由器、微控制器中。一般,所述系統(tǒng)可以有用地用在任何如下裝置中,該裝置需要存儲(chǔ)或生成用于任何密碼目的的密碼密鑰,或者需要生成很可能對(duì)于該裝置是獨(dú)一無二的串(string)(即識(shí)別該裝置的串)。所述響應(yīng)樣式(可能在誤差已被糾正(例如使用輔助數(shù)據(jù))之后)可以用于生成密碼密鑰。在后一情況中,所述系統(tǒng)可以被視為一個(gè)用于生成密碼密鑰的系統(tǒng)。所述存儲(chǔ)器可以是隨機(jī)訪問存儲(chǔ)器、易失性存儲(chǔ)器等。例如,所述存儲(chǔ)器可以包括SRAM、雙端口RAM或蝶形PUF。實(shí)際上,所述存儲(chǔ)器可以是任何種類的可用作PUF的存儲(chǔ)器,所述存儲(chǔ)器易受到如下攻擊,該攻擊至少暫時(shí)固定所述存儲(chǔ)器的內(nèi)容以使得可以用某種侵入方式檢查所述存儲(chǔ)器并且可以改寫所述存儲(chǔ)器。可以采取至少兩個(gè)可行的邏輯狀態(tài)的一個(gè)存儲(chǔ)位置將被稱為能夠存儲(chǔ)一個(gè)“位(bit)”。這兩個(gè)值將被表示為“O”和“I”。注意,某些類型的存儲(chǔ)器允許多于兩個(gè)可行的邏輯狀態(tài)。例如,多層(multi-leveled)存儲(chǔ)位置可以能夠存儲(chǔ)例如四個(gè)電壓水平,從而能夠存儲(chǔ)四個(gè)值。用于接收激活信號(hào)的輸入端可以是用于給所述存儲(chǔ)器上電的電源線。例如,SRAM的存儲(chǔ)位置一旦受電就會(huì)進(jìn)入一個(gè)邏輯狀態(tài)。對(duì)于雙端口RAM,所述激活信號(hào)也可以包括同時(shí)在這兩個(gè)端口上寫入不同信號(hào)。所述存儲(chǔ)器的物理的、至少部分隨機(jī)的特性可以包括,例如,構(gòu)成所述存儲(chǔ)器的部件的輕微結(jié)構(gòu)性變異。例如,不同存儲(chǔ)位置和不同存儲(chǔ)器使用的確切材料可能存在差別。例如,摻雜水平可能不同??梢杂枚喾N方式對(duì)存儲(chǔ)位置進(jìn)行改寫,例如,用固定值、用預(yù)定固定序列、或用真隨機(jī)序列。預(yù)定固定序列可以是用偽隨機(jī)數(shù)生成器(PRNG)生成的。偽隨機(jī)數(shù)生成器是一種用于生成與隨機(jī)數(shù)屬性近似的一序列數(shù)的算法。已知實(shí)例包括線性同余生成器(linearcongruentialgenerators)以及線性反饋移位寄存器(linerfeedbackshiftregisters)。PRNG通常從種子開始。所述種子可以被固定在所述系統(tǒng)中,例如在非易失性隨機(jī)訪問存儲(chǔ)器(例如閃存)中。所述種子也可以被固定在ROM中,例如作為程序代碼的一部分。所述種子也可以是從所述PUF中得出的。也可以使用無種(seed-less)PRNG,例如無理數(shù)(諸如Pi)的數(shù)位(digits)。流密碼(streamciphers)形成了PRNG的又一個(gè)實(shí)例。它們也可以被用來通過生成密鑰流來生成預(yù)定固定序列。所述系統(tǒng)可以包括一個(gè)存儲(chǔ)器讀取裝置,該存儲(chǔ)器讀取裝置被配置為從所述存儲(chǔ)器讀取所述響應(yīng)樣式。優(yōu)選地,所述存儲(chǔ)器在所述開啟序列中非常早地被擦除,從而避免正好在開啟和改寫之間受到凍結(jié)攻擊。在一個(gè)實(shí)施方案中,所述系統(tǒng)包括一個(gè)輔助數(shù)據(jù)存儲(chǔ)器,所述輔助數(shù)據(jù)存儲(chǔ)器包括糾錯(cuò)數(shù)據(jù),該糾錯(cuò)數(shù)據(jù)用于糾正所進(jìn)入的邏輯狀態(tài)與先前從所述多個(gè)存儲(chǔ)位置讀取的邏輯狀態(tài)之間的偏差。對(duì)于一些應(yīng)用,期望的是,在所述系統(tǒng)的任意開啟之后生成的響應(yīng)是相同的。對(duì)于許多類型的存儲(chǔ)器,當(dāng)它們用作PUF時(shí),不能保證這一點(diǎn)。大多數(shù)存儲(chǔ)位置在多次接收所述激活信號(hào)之后(例如在所述系統(tǒng)多次冷啟動(dòng)(cold-booted)或開始之后)會(huì)進(jìn)入相同邏輯狀態(tài)。然而,一些存儲(chǔ)位置可能有時(shí)在多次接收激活信號(hào)之后進(jìn)入不同的邏輯狀態(tài)。如果要從所述響應(yīng)樣式得到密碼密鑰,則這是不期望的。處理該問題的一種方式是將所述存儲(chǔ)位置的一個(gè)讀數(shù)(read-out)指定為特殊(special)讀數(shù)(經(jīng)常被稱為注冊(cè)數(shù)據(jù))。所述輔助數(shù)據(jù)包含糾錯(cuò)數(shù)據(jù),以糾正所述響應(yīng)樣式與所述注冊(cè)數(shù)據(jù)的偏差。例如,所述輔助數(shù)據(jù)可以包括由所述注冊(cè)串的多個(gè)子集計(jì)算出的奇偶校驗(yàn)位(paritybits)。替代地,所述輔助數(shù)據(jù)可以包含所述注冊(cè)數(shù)據(jù)的異或和(exclusive-orsum)以及來自糾錯(cuò)碼的碼字,所述糾錯(cuò)碼具有至少與所述多個(gè)存儲(chǔ)位置中的位一樣多的位。在一個(gè)實(shí)施方案中,所述第一部分包括全部所述多個(gè)存儲(chǔ)位置。改寫全部所述多個(gè)存儲(chǔ)位置從而消隱其內(nèi)容以免攻擊者在凍結(jié)攻擊期間看到具有如下優(yōu)點(diǎn)所述攻擊者通過使用這類攻擊不會(huì)得知任何信息。在一個(gè)實(shí)施方案中,所述存儲(chǔ)器改寫裝置被配置為改寫所述輔助數(shù)據(jù)存儲(chǔ)器。通常,當(dāng)必須再次修復(fù)所生成的響應(yīng)中的偏差時(shí),一旦下一次使用所述系統(tǒng),就需要所述輔助數(shù)據(jù)存儲(chǔ)器的內(nèi)容。然而,在一些情形下,不會(huì)再次需要所述輔助數(shù)據(jù)。例如,在被布置為僅被使用預(yù)定的有限次數(shù)的系統(tǒng)中,在所述系統(tǒng)被使用了所允許的最后一次之后,所述輔助數(shù)據(jù)可以被毀壞。例如,用在允許進(jìn)入場(chǎng)地的門票中的RFID標(biāo)簽可以旨在僅使用一次。一旦所述門票已被用過,所述RFID標(biāo)簽就可以毀壞所述輔助數(shù)據(jù)。由此降低了攻擊者以某種方式改變所述門票以使得它可以被再次使用的風(fēng)險(xiǎn)。可能期望毀壞所述輔助數(shù)據(jù)的第二種情況是在如下情形中所述系統(tǒng)已檢測(cè)到篡改嘗試,例如通過使用包含在所述系統(tǒng)中的攻擊檢測(cè)器。例如,在所述系統(tǒng)的芯片中,可以嵌入一個(gè)光傳感器。由于所述光傳感器位于所述芯片的覆層(coating)之下,它在正常情況下檢測(cè)不到光。然而,如果所述芯片的覆層被去除以使得容易訪問所述芯片的存儲(chǔ)器,則所述光傳感器會(huì)檢測(cè)到光。在這種情形下,所述系統(tǒng)可以合理地確信有人故意篡改其正常運(yùn)行,即,所述系統(tǒng)受到攻擊。在這種情況下,審慎之舉是刪除可能對(duì)攻擊者有幫助的所有信息(諸如所述輔助數(shù)據(jù))。類似地,如果檢測(cè)到篡改,就可以擴(kuò)展所述第一部分。例如,正常地所述系統(tǒng)可以僅改寫其存儲(chǔ)位置的一部分,或完全不改寫其存儲(chǔ)位置,但是在攻擊檢測(cè)器檢測(cè)到攻擊之后,所述系統(tǒng)可以改寫全部所述存儲(chǔ)位置。在一個(gè)實(shí)施方案中,所述系統(tǒng)包括一個(gè)篡改標(biāo)志(tamperingflag)。所述存儲(chǔ)器改寫裝置被配置為在所述篡改標(biāo)志被置位(set)的條件下進(jìn)行改寫。篡改標(biāo)志可以被實(shí)現(xiàn)為閃存,或者被實(shí)現(xiàn)為電可燒斷的熔絲(electricallyblowablefuse)等。所述標(biāo)志可以被攻擊檢測(cè)器置位。篡改標(biāo)志是對(duì)攻擊檢測(cè)器的有用擴(kuò)展。考慮已檢測(cè)到攻擊的情形。如果所述PUF沒有因攻擊而損壞或者至少?zèng)]有足夠嚴(yán)重地?fù)p壞,則攻擊者可能會(huì)抑制所述系統(tǒng)并且重新激活所述PUF,以使得所述PUF采取其通常的開啟樣式。然而,在具有篡改標(biāo)志的情況下,這種方案對(duì)于攻擊者不會(huì)有效。所述系統(tǒng)檢測(cè)到所述標(biāo)志被置位,并且擦除所述存儲(chǔ)器。攻擊者討厭的是他正在攻擊的裝置剛檢測(cè)到他的單個(gè)篡改嘗試就馬上就變得無用。優(yōu)選地,所述篡改標(biāo)志是一個(gè)一次寫入(write-once)存儲(chǔ)器,諸如可燒斷的熔絲。在一個(gè)實(shí)施方案中,一旦檢測(cè)到所述篡改標(biāo)志已被置位,所述第一部分的大小就增加。例如,它增加到覆蓋全部所述多個(gè)存儲(chǔ)位置。在一個(gè)實(shí)施方案中,所述存儲(chǔ)器改寫裝置被配置為用固定值(例如零)改寫所述多個(gè)存儲(chǔ)位置的所述第一部分。用固定值改寫可以非??斓剡M(jìn)行,且不要求隨機(jī)數(shù)生成器。然而這種類型的改寫存在缺點(diǎn)??紤]所述第一多個(gè)中的每個(gè)位置表示所述存儲(chǔ)器的一個(gè)字節(jié)的情形,并且考慮這些字節(jié)被用零字節(jié)改寫。雖然一些零字節(jié)會(huì)自然出現(xiàn),但是看到該存儲(chǔ)器的攻擊者可能會(huì)合理地假定所有零字節(jié)都與所述第一部分的字節(jié)對(duì)應(yīng),即與已改寫的字節(jié)對(duì)應(yīng)。雖然他仍不知道原始值是什么,但是他至少知道大致引入了多少誤差以及在哪里引入了誤差。如果所述第一部分非常大,尤其如果所述第一部分包括全部所述多個(gè)存儲(chǔ)位置,則該缺點(diǎn)不會(huì)出現(xiàn)。在一個(gè)實(shí)施方案中,所述第一部分表示分布在全部所述多個(gè)存儲(chǔ)位置上的位位置(bit-locations)。由于O(或I)位相對(duì)經(jīng)常出現(xiàn),這避免了上述問題。那些假定所有零位都與已改寫的位對(duì)應(yīng)的攻擊者會(huì)造成比較大的誤差,至少與字節(jié)被改寫的情形相比。在一個(gè)實(shí)施方案中,所述存儲(chǔ)器改寫裝置被配置為用一序列隨機(jī)值來改寫所述多個(gè)存儲(chǔ)位置的所述第一部分。用作PUF的存儲(chǔ)器的正常啟動(dòng)樣式通??雌饋硎请S機(jī)的。因此,如果一序列隨機(jī)值被用于改寫所述第一部分中的位置,則攻擊者將不能夠區(qū)分已改寫的位置和未改寫的位置。在該實(shí)施方案中,所述第一部分中的位置針基于的是位還是字節(jié)并沒有區(qū)別。使用這種類型的改寫會(huì)使得所述攻擊者的處境稍微更壞;所述攻擊者現(xiàn)在僅能猜測(cè)位置被改寫了,而不知道哪些位置被改寫了。他既不知道哪些位置被改寫了,也不知道多少位置被改寫了。在一個(gè)實(shí)施方案中,所述系統(tǒng)包括一個(gè)異或裝置,其中所述存儲(chǔ)器改寫裝置被配置為,通過向所述多個(gè)存儲(chǔ)位置中的所述第一部分的對(duì)應(yīng)位置寫入所述對(duì)應(yīng)位置的進(jìn)入狀態(tài)(enteredstate)與來自一序列隨機(jī)值的一個(gè)對(duì)應(yīng)值的異或,來消隱所述存儲(chǔ)器中的響應(yīng)樣式。異或裝置可以包括異或門。一些存儲(chǔ)器可以僅在每次啟動(dòng)循環(huán)(boot-cycle)才接收所述激活信號(hào)。為了更經(jīng)常地重新生成所述響應(yīng)樣式,所述存儲(chǔ)器必須被抑制并且被重新激活。這樣的循環(huán)花費(fèi)了相對(duì)長(zhǎng)的時(shí)間,而且具有如下缺點(diǎn)存儲(chǔ)在所述存儲(chǔ)器中的任何內(nèi)容,甚至存儲(chǔ)在所述存儲(chǔ)器的在所述多個(gè)位置之外的位置中的數(shù)據(jù),都丟失了。然而,出于安全原因,可能期望能夠重構(gòu)(reconstruct)所述密鑰。例如,所述密碼密鑰在使用之后可能已被擦除,以避免意外暴露(例如因軟件缺陷)。當(dāng)以后再次需要所述密鑰時(shí),必須重新計(jì)算。如果所述PUF存儲(chǔ)器的足夠大的第一部分已被改寫,則這是不可能的。該實(shí)施方案解決了這個(gè)問題。通過用所述存儲(chǔ)位置在開啟之后進(jìn)入的邏輯狀態(tài)與一個(gè)隨機(jī)值的異或來改寫所述存儲(chǔ)位置,可以以后通過再次執(zhí)行目前存儲(chǔ)值與該隨機(jī)值的所述異或來重構(gòu)所述邏輯狀態(tài)。目前存儲(chǔ)值是所述異或的結(jié)果以及在開啟之后進(jìn)入的邏輯狀態(tài)。所述異或具有如下性質(zhì)用一個(gè)固定值應(yīng)用所述異或兩次會(huì)撤銷所述異或的作用。另一方面,至少對(duì)于不知道所述隨機(jī)值的人,比如攻擊者,邏輯狀態(tài)與隨機(jī)值的異或本身就是一個(gè)隨機(jī)值。因此保持了消隱所述存儲(chǔ)器的效果。在一個(gè)實(shí)施方案中,所述多個(gè)存儲(chǔ)位置的所述第一部分和/或所述一序列隨機(jī)值是通過對(duì)一個(gè)固定的隨機(jī)數(shù)種子應(yīng)用偽隨機(jī)函數(shù)來獲得的??上氲?,攻擊者以某種方式設(shè)法不止一次地得到了所述存儲(chǔ)器在操作使用期間的讀數(shù)。因?yàn)閷?duì)所述第一部分進(jìn)行了消隱,所以所述攻擊者不能夠使用任何一個(gè)所得到的響應(yīng)樣式。所述攻擊者不知道所得到的邏輯狀態(tài)中的哪些是正確的,也不知到多少是正確的。然而,如果所述攻擊者能比較兩個(gè)響應(yīng)值,則他能夠通過留意哪些存儲(chǔ)器位置是相同的以及哪些存儲(chǔ)器位置是不同的來達(dá)到這個(gè)目的。雖然不同存儲(chǔ)器位置中的一些是由自然變異導(dǎo)致的,但是大多數(shù)差別是由對(duì)所述第一部分應(yīng)用消隱導(dǎo)致的。如果在所述第一部分中的位置不同,則所述攻擊者知道在那些進(jìn)一步得到的響應(yīng)樣式中發(fā)生變化的存儲(chǔ)位置中發(fā)現(xiàn)的邏輯狀態(tài)之一很可能是正確的。如果所述攻擊者對(duì)應(yīng)于多于兩個(gè)的激活得到了多于兩個(gè)的響應(yīng)樣式,則所述攻擊者可以對(duì)每個(gè)存儲(chǔ)位置的內(nèi)容使用多數(shù)派投票(majorityvoting)的方式來確定所述存儲(chǔ)位置很可能的內(nèi)容。通過確保所述第一部分中的位置在每次激活之后是相同的,可以避免這個(gè)問題。另一方面,人們希望所述第一部分的內(nèi)容是隨機(jī)的。這個(gè)問題可以通過并非真隨機(jī)地而是根據(jù)偽隨機(jī)數(shù)生成器來選擇所述第一部分中的位置來解決。類似地,如果用來改寫所述第一部分中的位置的值在新的激活之后改變,則這給攻擊者指出了哪些位置在所述第一部分中。為了避免甚至把這些信息泄露給攻擊者,用于改寫的值可以被選擇為在每次激活之后是相同的??梢酝ㄟ^根據(jù)偽隨機(jī)數(shù)生成器選擇所述一序列隨機(jī)數(shù)來達(dá)到這個(gè)目的。尤其,如果所述消隱使用了所述異或裝置,則有利的是使用一個(gè)偽隨機(jī)數(shù)生成器。當(dāng)所述消隱必須被撤銷時(shí),可以重新生成和重新應(yīng)用所述第一部分和所述隨機(jī)序列。不需要存儲(chǔ)所述第一部分和/所述一序列隨機(jī)值,僅需要所述種子。在一個(gè)實(shí)施方案中,所述一序列隨機(jī)值的至少一部分是真隨機(jī)的,并且所述一序列隨機(jī)值的至少一部分是通過對(duì)固定的隨機(jī)數(shù)種子應(yīng)用偽隨機(jī)函數(shù)來得到的。在該實(shí)施方案中,用于改寫的數(shù)據(jù)甚至更接近地與攻擊者從PUF預(yù)計(jì)的數(shù)據(jù)類型相像。考慮設(shè)法得到存儲(chǔ)器的相對(duì)大數(shù)目的多個(gè)測(cè)量值的攻擊者。假設(shè)在某個(gè)存儲(chǔ)位置所述攻擊者總是看到相同的存儲(chǔ)值。那么所述攻擊者可以繼而進(jìn)行如下推理。如果該存儲(chǔ)位置不是所述第一部分的一部分,那么它會(huì)經(jīng)常是相同的值,但不總是,因?yàn)樽匀豢勺冃?variability)會(huì)導(dǎo)致測(cè)量數(shù)據(jù)中有一些變化。因此,如果該值總是相同的,則它很可能是所述第一部分的一部分。通過對(duì)全部所述存儲(chǔ)位置進(jìn)行這個(gè)觀察,所述攻擊者能夠在很大程度上推斷哪個(gè)存儲(chǔ)位置在所述第一部分中以及哪個(gè)存儲(chǔ)位置不在所述第一部分中。即,所述攻擊者會(huì)假定在他的測(cè)量中從不改變的存儲(chǔ)位置屬于所述第一部分,并且所有那些有時(shí)改變的存儲(chǔ)位置不屬于所述第一部分。因此,通過在用來改寫所述第一部分的數(shù)據(jù)中引入一點(diǎn)噪聲,就更難于區(qū)分所述第一部分與真實(shí)數(shù)據(jù)(realdata)。優(yōu)選地,真隨機(jī)的隨機(jī)序列中的字節(jié)的數(shù)目近似相同于一個(gè)存儲(chǔ)位置中的一個(gè)字節(jié)與其通常開啟值不同的概率。在一個(gè)實(shí)施方案中,所述隨機(jī)數(shù)種子依賴于識(shí)別性響應(yīng)樣式。優(yōu)選地,所述固定種子依賴于所述PUF,而不是依賴于預(yù)定的存儲(chǔ)值。如果攻擊者設(shè)法得到同一系統(tǒng)的不同情況的響應(yīng)樣式,則他可以比較這兩個(gè)響應(yīng)。如果這兩個(gè)響應(yīng)使用相同的第一部分,則它們的響應(yīng)樣式會(huì)確切地在所述第一部分中的那些存儲(chǔ)位置處一致。如果所述種子依賴于所述PUF,則這可以被避免。優(yōu)選地,所述種子依賴于所述注冊(cè)數(shù)據(jù),即,依賴于所述響應(yīng)樣式的已糾正版本。在一個(gè)實(shí)施方案中,在重復(fù)施加所述激活信號(hào)之后,所述響應(yīng)樣式的生成易于退化(degradation)。所述系統(tǒng)的該實(shí)施方案包括一個(gè)抗退化裝置,其被配置為向所述多個(gè)存儲(chǔ)位置的第二部分的每個(gè)對(duì)應(yīng)位置寫入先前從所述第二部分的該對(duì)應(yīng)位置讀取的邏輯狀態(tài)的逆(inverse),所述第二部分優(yōu)選地與所述第一部分不相交(disjoint)。已經(jīng)發(fā)現(xiàn),諸如SRAM之類的存儲(chǔ)器以及更普通地那些基于反饋效應(yīng)的存儲(chǔ)器(諸如交叉耦合鎖存器、觸發(fā)器、晶體管等)在重復(fù)施加所述激活信號(hào)之后易于退化。即,在所述系統(tǒng)已被重復(fù)激活之后,從所述存儲(chǔ)器獲得的響應(yīng)樣式偏離(driftaway)注冊(cè)數(shù)據(jù)。與所述存儲(chǔ)器的先前讀數(shù)相比,越來越多的存儲(chǔ)位置在被激活時(shí)進(jìn)入不同的邏輯狀態(tài)。這種退化效應(yīng)也被稱為“老化(aging)”。如果所述PUF要被更長(zhǎng)期地以及在很多次開啟之后使用,這個(gè)現(xiàn)象尤其存在問題。上至某一點(diǎn),糾錯(cuò)機(jī)制可以通過糾正新偏差來糾正這個(gè)行為,但是在某一點(diǎn),所述響應(yīng)樣式會(huì)包含太多的誤差而不能糾正??梢詫?dǎo)致這個(gè)成問題的退化的一個(gè)機(jī)制是負(fù)偏置溫度不穩(wěn)定性(NBTI),也被稱為燒進(jìn)(burn-in)。NBTI使得在pMOS晶體管的負(fù)偏置條件下生成界面講(interfacetrap),由此使得其閾值電壓降低。結(jié)果是,受到影響的存儲(chǔ)器單元的開啟行為隨時(shí)間而變化。觀察到,可以通過用先前讀取的值的逆改寫存儲(chǔ)器單元來降低所述退化效應(yīng)。達(dá)到這個(gè)目的有幾種方式。例如,人們可以在開啟之后讀取存儲(chǔ)器單元的邏輯狀態(tài),計(jì)算該邏輯狀態(tài)的逆,以及把該邏輯狀態(tài)的逆寫回到該存儲(chǔ)器單元。雖然把已反轉(zhuǎn)的邏輯狀態(tài)寫回到存儲(chǔ)位置減慢了退化過程,但是帶來了缺點(diǎn)。如果攻擊者設(shè)法凍結(jié)所述存取器并讀出所述存儲(chǔ)器,則他會(huì)得到該秘密響應(yīng)樣式的已反轉(zhuǎn)的拷貝。簡(jiǎn)單地把他找到的樣式反轉(zhuǎn),攻擊者就能重構(gòu)他正在尋找的響應(yīng)樣式。從該響應(yīng)樣式,他可以能夠愚弄所述裝置,或者得出所述系統(tǒng)的秘密的密碼密鑰。在申請(qǐng)?zhí)枮镻CT/IB2009/051592,名稱為“Methodofreducingtheoccurrenceofburn-induetonegativebiastemperatureinstability,,的國(guó)際專利申請(qǐng)中進(jìn)一步描述了通過用先前得到的存儲(chǔ)器內(nèi)容的逆改寫該存儲(chǔ)器來防止老化,該國(guó)際專利申請(qǐng)通過引用納入本文。本發(fā)明人進(jìn)一步認(rèn)識(shí)到,不必減慢全部所述存儲(chǔ)器單元的退化。取而代之,可以對(duì)一些存儲(chǔ)位置(即對(duì)所述第二部分中的位置)使用抗退化,而對(duì)一些其他位置使用抗凍結(jié)對(duì)策。如所述,在所述響應(yīng)樣式中可以容許某一誤差水平。例如,對(duì)于一些應(yīng)用,可以容許某一數(shù)目的誤差。在上面給出的抗偽造實(shí)施例中,如果引入某一小數(shù)目的額外誤差,則可能不會(huì)是問題。可以通過增加預(yù)期的偏離存儲(chǔ)位置的數(shù)目來補(bǔ)償所述額外誤差。對(duì)于其他應(yīng)用,若干額外誤差可以通過所述輔助數(shù)據(jù)來修復(fù)??梢栽诿看伍_啟時(shí)區(qū)別地選擇所述第一部分的內(nèi)容,這使得所述抗凍結(jié)對(duì)策僅偶爾應(yīng)用于存儲(chǔ)位置,這降低了不應(yīng)用抗老化對(duì)策的影響。在任何激活之后還是消隱了所述存儲(chǔ)位置的某一部分。在一個(gè)實(shí)施方案中,所述第一部分和所述第二部分的并集(union)共同構(gòu)成全部所述多個(gè)存儲(chǔ)位置。在又一個(gè)改進(jìn)方案中,所述第一部分可以包含某一小數(shù)目的位位置,比如16個(gè)位位置散布在所述多個(gè)存儲(chǔ)位置上。所述小數(shù)目的位位置中的一些(但可能不是全部)會(huì)包含額外誤差。確切的數(shù)目依賴于存儲(chǔ)器類型,并且可以經(jīng)驗(yàn)性地確定,例如通過重復(fù)執(zhí)行所述方法并且對(duì)偏差的數(shù)目進(jìn)行計(jì)數(shù)。比如,所述位的四分之一會(huì)在某點(diǎn)發(fā)生偏離。通過選擇更強(qiáng)大的糾錯(cuò)算法,所述輔助數(shù)據(jù)可以糾正額外的4個(gè)誤差。然而對(duì)于攻擊者,16個(gè)額外變化會(huì)導(dǎo)致平均8個(gè)額外誤差。這8個(gè)額外誤差被添加到攻擊者因其侵入方法而引起的誤差。例如,凍結(jié)僅對(duì)所述位的某一百分比有效,打開芯片會(huì)對(duì)所述存儲(chǔ)位置中的一些造成損壞,等等。換言之,即使所述第一部分沒有覆蓋全部所述多個(gè)存儲(chǔ)位置,它也降低了所生成的響應(yīng)樣式對(duì)于攻擊目的的價(jià)值。在某點(diǎn),即使所述攻擊者訪問了所述輔助數(shù)據(jù),他也不能重構(gòu)正確的注冊(cè)數(shù)據(jù),因?yàn)樗业降捻憫?yīng)樣式實(shí)在包含太多誤差。換言之,對(duì)一些存儲(chǔ)位置不使用抗退化而是改寫那些存儲(chǔ)位置,對(duì)攻擊者而言是比合法應(yīng)用更大的問題,因?yàn)榧词箾]有抗老化,也不是全部那些單元都會(huì)開始偏離。對(duì)一些存儲(chǔ)位置使用抗凍結(jié)對(duì)策并且對(duì)其他位置使用抗老化對(duì)策,防止了整個(gè)存儲(chǔ)器的凍結(jié)和老化二者。注意,如果期望,一些存儲(chǔ)位置可以既不屬于所述第一部分也不屬于所述第二部分。在一個(gè)實(shí)施方案中,所述系統(tǒng)包括一個(gè)注冊(cè)串重構(gòu)裝置,以重構(gòu)先前從所述多個(gè)存儲(chǔ)位置讀取的邏輯狀態(tài),所述注冊(cè)串重構(gòu)裝置被配置為對(duì)所述糾錯(cuò)數(shù)據(jù)和所進(jìn)入的邏輯狀態(tài)應(yīng)用糾錯(cuò)函數(shù),以糾正所進(jìn)入的邏輯狀態(tài)與先前讀取的邏輯狀態(tài)之間的偏差,其中所述抗退化裝置被配置為向所述多個(gè)存儲(chǔ)位置的第二部分的每個(gè)對(duì)應(yīng)位置寫入先前從所述第二部分的該對(duì)應(yīng)位置讀取的已重構(gòu)邏輯狀態(tài)的逆。已經(jīng)發(fā)現(xiàn),通過總是用相同的響應(yīng)樣式來改寫所述存儲(chǔ)器單元,更好地防止了響應(yīng)樣式的生成退化。這可以如下地實(shí)現(xiàn)。在某點(diǎn),例如在所述存儲(chǔ)器第一次開啟時(shí)對(duì)所述存儲(chǔ)器進(jìn)行讀取,這個(gè)響應(yīng)樣式被存儲(chǔ)以使得以后可以用這個(gè)響應(yīng)樣式改寫所述存儲(chǔ)器。這樣的響應(yīng)樣式有時(shí)被稱為“黃金開啟值(goldenstart-upvalues)”。注意,代替存儲(chǔ)所述響應(yīng)樣式本身,人們也可以存儲(chǔ)所述黃金開啟值的逆。然而,存儲(chǔ)響應(yīng)樣式帶來了安全風(fēng)險(xiǎn)。當(dāng)一個(gè)PUF被用于安全應(yīng)用時(shí),該P(yáng)UF的內(nèi)容是秘密的。事實(shí)上,人們經(jīng)常相當(dāng)長(zhǎng)久地保守這個(gè)秘密。如果該P(yáng)UF的內(nèi)容或者與該內(nèi)容直接相關(guān)的串(諸如逆)被存儲(chǔ)在該芯片上某處的某個(gè)其他存儲(chǔ)器中,則人們冒的風(fēng)險(xiǎn)是這個(gè)拷貝受到威脅。攻擊者可以攻擊所存儲(chǔ)的黃金開啟值,而不是攻擊該P(yáng)UF來得到其存儲(chǔ)器的拷貝。該實(shí)施方案解決了這個(gè)問題;使用所讀取的響應(yīng)樣式以及所述輔助數(shù)據(jù),可以修復(fù)所述響應(yīng)樣式與所述注冊(cè)響應(yīng)樣式之間的偏差。至少當(dāng)所述退化尚未發(fā)展到所述響應(yīng)樣式包含與注冊(cè)數(shù)據(jù)具有太多偏差的程度時(shí),這是可行的。這樣,先前從所述多個(gè)存儲(chǔ)位置讀取的邏輯狀態(tài)被重構(gòu),確切地說,用來產(chǎn)生所述輔助數(shù)據(jù)的注冊(cè)數(shù)據(jù)被重構(gòu)。通過反轉(zhuǎn)這個(gè)數(shù)據(jù)并且把它寫入所述第二部分中的存儲(chǔ)位置,與使用當(dāng)前響應(yīng)樣式的情況相比,更有力地減緩了它們的老化。然而,所述輔助數(shù)據(jù)不需要與所述響應(yīng)樣式相關(guān)。雖然應(yīng)用可能希望將所述輔助數(shù)據(jù)保密作為預(yù)防措施,但是在沒有響應(yīng)樣式的情況下單獨(dú)訪問所述輔助數(shù)據(jù)不能被用來重構(gòu)注冊(cè)數(shù)據(jù)。使用輔助數(shù)據(jù)來重構(gòu)注冊(cè)數(shù)據(jù)以及使用已反轉(zhuǎn)的輔助數(shù)據(jù)來減緩響應(yīng)樣式生成的退化被認(rèn)為是一個(gè)獨(dú)立發(fā)明,其可以在沒有改寫裝置的情況下實(shí)現(xiàn)。例如,如在以下系統(tǒng)中一種用于生成識(shí)別性響應(yīng)樣式的系統(tǒng),包括一個(gè)用作物理不可克隆函數(shù)的存儲(chǔ)器,其包括多個(gè)可重寫的存儲(chǔ)位置和一個(gè)輸入端,每個(gè)存儲(chǔ)位置具有至少兩個(gè)可行的邏輯位置,所述輸入端用于接收激活信號(hào)以使得每個(gè)所述存儲(chǔ)位置進(jìn)入其可行的邏輯狀態(tài)之一,所進(jìn)入的邏輯狀態(tài)依賴于所述存儲(chǔ)器的物理的、至少部分隨機(jī)的特性,由此生成對(duì)識(shí)別所述系統(tǒng)有用的邏輯狀態(tài)響應(yīng)樣式,在重復(fù)施加所述激活信號(hào)之后所述響應(yīng)樣式的生成易退化;一個(gè)抗退化裝置,其被配置為向所述多個(gè)存儲(chǔ)位置的至少一部分的每個(gè)對(duì)應(yīng)位置寫入先前從所述部分的該對(duì)應(yīng)位置讀取的邏輯狀態(tài)的逆;以及一個(gè)注冊(cè)串重構(gòu)裝置,以重構(gòu)先前從所述多個(gè)存儲(chǔ)位置讀取的邏輯狀態(tài),所述注冊(cè)串重構(gòu)裝置被配置為對(duì)所述糾錯(cuò)數(shù)據(jù)和所進(jìn)入的邏輯狀態(tài)應(yīng)用糾錯(cuò)函數(shù)以糾正所進(jìn)入的邏輯狀態(tài)與先前讀取的邏輯狀態(tài)之間的偏差,其中所述抗退化裝置被配置為向所述多個(gè)存儲(chǔ)位置中的所述部分的每個(gè)對(duì)應(yīng)位置寫入先前從所述部分的該對(duì)應(yīng)位置讀取的已重構(gòu)邏輯狀態(tài)的逆。在一個(gè)實(shí)施方案中,所述抗退化裝置被配置為向所述多個(gè)存儲(chǔ)位置的第二部分的每個(gè)對(duì)應(yīng)位置寫入在所述第二部分的該對(duì)應(yīng)位置進(jìn)入的邏輯狀態(tài)的逆。使用可得到的開啟值具有如下優(yōu)點(diǎn)在可以應(yīng)用所述抗老化對(duì)策之前不要求進(jìn)行計(jì)算。即使輔助數(shù)據(jù)存在并且可以被用來重構(gòu)黃金開啟值,在完成這以及可以應(yīng)用所述抗老化對(duì)策之前也會(huì)花費(fèi)一些時(shí)間。例如,以下序列的事件可能在開啟期間發(fā)生。開啟之后,所述多個(gè)存儲(chǔ)位置的每個(gè)存儲(chǔ)位置中的每個(gè)邏輯狀態(tài)被替換成它的逆,然后輔助數(shù)據(jù)被用于重構(gòu)所述注冊(cè)數(shù)據(jù),從所述存儲(chǔ)器中的已反轉(zhuǎn)的邏輯狀態(tài)開始工作。所述注冊(cè)數(shù)據(jù)用于PUF應(yīng)用,例如生成密碼密鑰,例如通過使用密鑰導(dǎo)出函數(shù)(key-derivationfunction)。接下來,所述注冊(cè)數(shù)據(jù)的逆被至少寫入所述多個(gè)存儲(chǔ)位置的所述第二部分。對(duì)于大多數(shù)存儲(chǔ)位置,這不會(huì)導(dǎo)致差別。然而,在所述存儲(chǔ)位置偏離所述注冊(cè)數(shù)據(jù)的那些地方,所述邏輯狀態(tài)會(huì)被改變。最后,所述第一部分中的位置被消隱,例如用隨機(jī)數(shù)據(jù)改寫。在一個(gè)實(shí)施方案中,所述系統(tǒng)包括一個(gè)溫度傳感器,其中所述抗退化裝置被配置為在所述溫度傳感器的溫度測(cè)量值高于預(yù)定的上溫度閾值(uppertemperaturethreshold)的條件下對(duì)所述第二部分進(jìn)行寫入。已經(jīng)觀察到,所述老化問題在較高溫度時(shí)比在較低溫度時(shí)更顯著。尤其,NBTI效應(yīng)隨溫度而變得更大。因此,在較高溫度時(shí)應(yīng)用抗老化對(duì)策更重要。大多數(shù)時(shí)侯,當(dāng)所述裝置處于正常運(yùn)行條件時(shí),應(yīng)用所述抗老化對(duì)策是不必要的,或者至少不應(yīng)用抗老化的負(fù)面效應(yīng)可以通過其他手段(例如輔助數(shù)據(jù))來調(diào)和。例如,一個(gè)實(shí)施方案可以如下地工作。開啟之后,所述系統(tǒng)確定當(dāng)前溫度,如果該溫度低于上溫度閾值,則用隨機(jī)數(shù)據(jù)改寫全部存儲(chǔ)器。如果該溫度高于上溫度閾值,則對(duì)所述存儲(chǔ)位置的至少第二部分應(yīng)用所述抗老化。在一個(gè)實(shí)施方案中,所述系統(tǒng)包括一個(gè)溫度傳感器,其中所述存儲(chǔ)器改寫裝置被配置為,在所述溫度傳感器的溫度測(cè)量值低于預(yù)定的下溫度閾值(lowertemperaturethreshold)的條件下,改寫所述多個(gè)存儲(chǔ)位置的至少第一部分。凍結(jié)攻擊即將發(fā)生的一個(gè)標(biāo)志是當(dāng)前溫度低于某個(gè)預(yù)定的下溫度閾值。例如,溫度測(cè)量值低于典型運(yùn)行溫度是有人正在冷卻所述系統(tǒng)的一個(gè)標(biāo)志。通過僅在凍結(jié)攻擊的可能性更大時(shí)(假定是罕見事件)才改寫第一部分,所述系統(tǒng)可以在大多數(shù)時(shí)候使用抗老化對(duì)策。這樣,既獲得了對(duì)凍結(jié)攻擊的良好防護(hù)(因?yàn)楫?dāng)這樣的攻擊更可能發(fā)生時(shí)采用了防凍結(jié)攻擊對(duì)策),又獲得了對(duì)老化的良好防護(hù)(因?yàn)榭梢栽诖蠖鄶?shù)時(shí)候應(yīng)用抗老化對(duì)策)。例如,每當(dāng)所述溫度測(cè)量值高于所述下閾值時(shí),所述第二部分可以被擴(kuò)展到覆蓋全部所述多個(gè)存儲(chǔ)位置。確定所述上閾值還是所述下閾值是在安全性和假警報(bào)可能性之間的權(quán)衡??梢酝ㄟ^在正常運(yùn)行期間重復(fù)測(cè)量所述系統(tǒng)的運(yùn)行溫度來確定所述典型運(yùn)行溫度。所述下閾值可以被設(shè)置到在大樣本中發(fā)現(xiàn)的運(yùn)行溫度。為了降低假陽性(falsepositive)可能性,所述閾值可以進(jìn)一步減少一個(gè)比如10%的安全余裕(safetymargin)。在一個(gè)實(shí)施方案中,所述存儲(chǔ)器改寫裝置包括一個(gè)用于接收調(diào)諧參數(shù)(tuningparameter)的調(diào)諧參數(shù)輸入端,所述存儲(chǔ)器改寫裝置被配置為根據(jù)所述調(diào)諧參數(shù)來設(shè)置所述第一部分中的位置的數(shù)目與所述第二部分中的位置的數(shù)目之間的比例。在制造所述系統(tǒng)期間,存儲(chǔ)器的確切屬性可能是未知的。當(dāng)所述第一部分被選擇得大時(shí),所述凍結(jié)攻擊很可能失敗。當(dāng)所述第二部分被選擇得大時(shí),所述老化很可能可觀地減緩。這兩個(gè)部分之間的確切比例依賴于老化的嚴(yán)重性以及執(zhí)行凍結(jié)攻擊的容易性。有利地,當(dāng)現(xiàn)場(chǎng)測(cè)試數(shù)據(jù)可得到時(shí),可以在制造所述系統(tǒng)之后設(shè)置該比例。本發(fā)明的又一方面涉及一種從用作物理不可克隆函數(shù)的存儲(chǔ)器生成識(shí)別性響應(yīng)樣式的方法,所述存儲(chǔ)器包括多個(gè)可重寫的存儲(chǔ)位置,每個(gè)存儲(chǔ)位置具有至少兩個(gè)可行的邏輯狀態(tài),所述方法包括向所述存儲(chǔ)器的輸入端施加激活信號(hào),從而使得每個(gè)所述存儲(chǔ)位置進(jìn)入其可行的邏輯狀態(tài)之一,所進(jìn)入的狀態(tài)依賴于所述存儲(chǔ)器的物理的、至少部分隨機(jī)的特性,由此生成對(duì)識(shí)別所述存儲(chǔ)器有用的邏輯狀態(tài)響應(yīng)樣式;從所述存儲(chǔ)器讀出所述響應(yīng)樣式,其中所述方法進(jìn)一步包括改寫所述多個(gè)存儲(chǔ)位置的至少第一部分以消隱所述存儲(chǔ)器中的響應(yīng)樣式。在一個(gè)實(shí)施方案中,所述存儲(chǔ)器包括下列中的任何一個(gè)靜態(tài)隨機(jī)訪問存儲(chǔ)器,雙端口RAM,或蝶形單元。在生成響應(yīng)的方法的一個(gè)實(shí)施方案中,在重復(fù)施加所述激活信號(hào)之后所述響應(yīng)樣式的生成易退化,所述方法包括向所述多個(gè)存儲(chǔ)位置的第二部分的每個(gè)對(duì)應(yīng)位置寫入先前從所述第二部分的該對(duì)應(yīng)位置讀取的邏輯狀態(tài)的逆,所述第二部分優(yōu)選地與所述第一部分不相交。所述方法的一個(gè)實(shí)施方案包括得到溫度測(cè)量值;以及在所述溫度測(cè)量值高于預(yù)定的溫度閾值的條件下對(duì)所述多個(gè)存儲(chǔ)位置的第二部分的每個(gè)對(duì)應(yīng)位置進(jìn)行寫入。本發(fā)明的方法可以作為計(jì)算機(jī)實(shí)現(xiàn)的方法實(shí)現(xiàn)在計(jì)算機(jī)上,或者實(shí)現(xiàn)在專用硬件中,或者二者的組合。用于本發(fā)明的方法的可執(zhí)行代碼可以被存儲(chǔ)在計(jì)算機(jī)程序產(chǎn)品上。計(jì)算機(jī)程序產(chǎn)品的實(shí)例包括存儲(chǔ)器裝置、光學(xué)存儲(chǔ)裝置、集成電路、服務(wù)器、在線軟件等。所述計(jì)算機(jī)程序可以作為配置數(shù)據(jù)嵌入,所述配置數(shù)據(jù)在被加載到可配置電子電路(例如FPGA)中時(shí)把所述電子電路配置為執(zhí)行本發(fā)明的方法。在一個(gè)優(yōu)選實(shí)施方案中,所述計(jì)算機(jī)程序包括計(jì)算機(jī)程序代碼工具,其適于當(dāng)所述計(jì)算機(jī)程序在計(jì)算機(jī)上運(yùn)行時(shí)執(zhí)行本發(fā)明的方法的所有步驟。優(yōu)選地,所述計(jì)算機(jī)程序被實(shí)現(xiàn)在計(jì)算機(jī)可讀介質(zhì)上。用于生成識(shí)別性響應(yīng)樣式的系統(tǒng),其包括一個(gè)用作物理不可克隆函數(shù)的存儲(chǔ)器,被配置為根據(jù)所述存儲(chǔ)器的物理的、至少部分隨機(jī)的特性來生成響應(yīng)樣式;所述系統(tǒng)可以易受到凍結(jié)攻擊以及老化。一種存儲(chǔ)器改寫裝置,其被配置為改寫所述多個(gè)存儲(chǔ)位置的至少第一部分以消隱所述存儲(chǔ)器中的響應(yīng)樣式,避免凍結(jié)攻擊。一種抗退化裝置,其被配置為向所述多個(gè)存儲(chǔ)位置的第二部分的每個(gè)對(duì)應(yīng)位置寫入先前從所述存儲(chǔ)器讀取的響應(yīng)的逆,降低老化效應(yīng)。通過舉例的方式并參照附圖更詳細(xì)地解釋本發(fā)明,在附圖中圖I是示出了根據(jù)本發(fā)明的用于生成識(shí)別性響應(yīng)樣式的系統(tǒng)的第一實(shí)施方案的框圖,圖2是示出了根據(jù)本發(fā)明的用于生成識(shí)別性響應(yīng)樣式的系統(tǒng)的第二實(shí)施方案的框圖,圖3是示出了根據(jù)本發(fā)明的用于生成識(shí)別性響應(yīng)樣式的系統(tǒng)的方法的流程圖,圖4示出了智能卡的示意性俯視圖。在所有圖中,相同或相應(yīng)的特征由相同的參考數(shù)字表示。參考數(shù)字列表100用于生成識(shí)別性響應(yīng)樣式的系統(tǒng)110存儲(chǔ)器改寫裝置120用作物理不可克隆函數(shù)的存儲(chǔ)器130輔助數(shù)據(jù)存儲(chǔ)器140注冊(cè)串重構(gòu)裝置150偽隨機(jī)數(shù)生成器160抗退化裝置170溫度傳感器200用于生成識(shí)別性響應(yīng)樣式的系統(tǒng)300本發(fā)明的方法310向存儲(chǔ)器的輸入端施加激活信號(hào)320從存儲(chǔ)器讀出響應(yīng)樣式330得到溫度測(cè)量值340確定溫度測(cè)量值是否低于預(yù)定的下溫度閾值350改寫所述多個(gè)存儲(chǔ)位置的至少第一部分360向所述多個(gè)存儲(chǔ)位置的第二部分寫入先前從所述第二部分的對(duì)應(yīng)位置讀取的邏輯狀態(tài)的逆400智能卡410集成電路420卡通過舉例的方式參照隨附的表I進(jìn)一步解釋本發(fā)明,表I在下面進(jìn)一步說明。具體實(shí)施方式雖然本發(fā)明可能有許多不同形式的實(shí)施方案,但是附圖中示出了并且將在本文中詳細(xì)描述一個(gè)或多個(gè)具體實(shí)施方案;應(yīng)理解,本公開內(nèi)容應(yīng)被認(rèn)為是本發(fā)明的原理的例示,而不意在將本發(fā)明限于所示出的和描述的具體實(shí)施方案。圖I示出了用于生成識(shí)別性響應(yīng)樣式的系統(tǒng)的第一實(shí)施方案。圖I中示出了存儲(chǔ)器120,其可以用作物理不可克隆函數(shù)。存儲(chǔ)器120包括多個(gè)可重寫的存儲(chǔ)位置(圖I中未示出)。一個(gè)存儲(chǔ)位置可以采取至少兩個(gè)可行的邏輯狀態(tài)。如果存儲(chǔ)器120不用作PUF,則其邏輯狀態(tài)通常會(huì)用來表示存儲(chǔ)在所述存儲(chǔ)器中的一些數(shù)據(jù)。然而,當(dāng)存儲(chǔ)器120在輸入端(未示出)上接收到激活信號(hào)時(shí),所述系統(tǒng)使得每個(gè)存儲(chǔ)位置進(jìn)入其可行的邏輯狀態(tài)之一,這使得存儲(chǔ)器120適于用作PUF。即,在接收所述激活信號(hào)之后,存儲(chǔ)器120的存儲(chǔ)位置的內(nèi)容依賴于所述存儲(chǔ)器的物理的、至少部分隨機(jī)的特性。例如,它們固有地依賴于所述存儲(chǔ)器的組成部件的物理配置,例如相對(duì)布置。例如,系統(tǒng)100的激活單元(未示出)可以將所述激活信號(hào)傳遞至存儲(chǔ)器120。優(yōu)選地,在系統(tǒng)100開啟之后不久就傳遞所述激活信號(hào)。例如,所述激活信號(hào)可以作為啟動(dòng)序列(boot-upsequence)的一部分被傳遞至存儲(chǔ)器120。這樣的激活單元可以是系統(tǒng)100的一部分,但也可以是一個(gè)不同系統(tǒng)的一部分。例如,系統(tǒng)100可以被包含在智能卡中,并且所述激活單元可以被包含在智能卡閱讀器中。一些數(shù)目的存儲(chǔ)位置可以被組成更大的單元。例如,可以按例如字節(jié)、字(words)等組織所述存儲(chǔ)器。然而,這對(duì)于使用本發(fā)明沒有區(qū)別,不論存儲(chǔ)器的組織形式如何都可以應(yīng)用本發(fā)明。例如,存儲(chǔ)器120可以是SRAM,它的存儲(chǔ)位置中的開啟樣式表現(xiàn)為一個(gè)PUF。在此情況下,可以簡(jiǎn)單地通過向存儲(chǔ)器120的電源線供電來給出所述激活信號(hào)。例如,存儲(chǔ)器120可以是雙端口RAM,在此情況下,所述激活信號(hào)包括同時(shí)在所述RAM的兩個(gè)端口上進(jìn)行寫入。用作PUF的其他存儲(chǔ)器也可以具有不同的激活樣式。如果所述存儲(chǔ)器的物理特性尚未改變,則所述存儲(chǔ)器的第二次激活會(huì)使得大多數(shù)存儲(chǔ)位置第二次進(jìn)入同一邏輯狀態(tài)。此外,由于所述物理特性是至少部分隨機(jī)的,所以它們共同形成了對(duì)識(shí)別所述系統(tǒng)有用的邏輯狀態(tài)響應(yīng)樣式。存儲(chǔ)位置在多次接收所述激活信號(hào)之后進(jìn)入的邏輯狀態(tài)的某一變異可以被容許,因?yàn)槟骋蛔儺惒挥绊懰鲰憫?yīng)樣式的識(shí)別能力。注意,要想使所述PUF準(zhǔn)備好接收另一次激活,某一中間動(dòng)作可能是必要的。例如,可能要求給存儲(chǔ)器120斷電??梢砸栽S多不同方式來使用所述響應(yīng)樣式。例如,所述響應(yīng)樣式可以“原樣(asis)”被用來識(shí)別所述系統(tǒng)。所述響應(yīng)樣式也可以被進(jìn)一步處理,例如以減少或去除它的上述變異。系統(tǒng)100進(jìn)一步包括存儲(chǔ)器改寫裝置110。存儲(chǔ)器改寫裝置110被配置為改寫所述多個(gè)存儲(chǔ)位置的至少第一部分,以消隱所述存儲(chǔ)器中的響應(yīng)樣式。所述激活信號(hào)以及對(duì)所述響應(yīng)樣式的讀取通常發(fā)生在使用存儲(chǔ)器改寫裝置110之前。但是這不是必要的,例如,有時(shí)可以在不需要所述響應(yīng)樣式的情況下使用系統(tǒng)100,在這樣的情況下,可以改寫存儲(chǔ)器120,然后將激活信號(hào)分派至存儲(chǔ)器120。如果攻擊者可以得到存儲(chǔ)器120的內(nèi)容,則可以存在多種不期望的后果。例如,如果所述響應(yīng)樣式被用來得出內(nèi)容密鑰,則所述攻擊者可以能夠自己從所述響應(yīng)樣式得出所述內(nèi)容密鑰。然后,用所述內(nèi)容密鑰加密的任何內(nèi)容都能被所述攻擊者解密及訪問。例如,如果所述響應(yīng)樣式被用來得出一個(gè)驗(yàn)證密鑰,則能夠訪問所述響應(yīng)樣式的攻擊者可以能夠通過使用所述驗(yàn)證密鑰(例如在驗(yàn)證協(xié)議中)來使他自己或者它的一個(gè)系統(tǒng)假冒真實(shí)系統(tǒng)100。改寫存儲(chǔ)器120具有如下優(yōu)點(diǎn)從那時(shí)刻起,所述系統(tǒng)的攻擊者不再能得到所述響應(yīng)樣式。即使他訪問了存儲(chǔ)器120,他也不會(huì)得到所述響應(yīng)樣式,因?yàn)樗龃鎯?chǔ)器被改寫了。例如,存儲(chǔ)器改寫裝置110可以例如用固定值(諸如O)或者用真隨機(jī)序列或偽隨機(jī)序列完全改寫儲(chǔ)存器120。可以通過使用真隨機(jī)數(shù)生成器(未示出)來獲得真隨機(jī)序列。存在許多用于真隨機(jī)數(shù)生成器的設(shè)計(jì),例如,可以通過放大由電阻器產(chǎn)生的噪聲(也被稱為約翰遜噪聲)或由半導(dǎo)體二極管等產(chǎn)生的噪聲來獲得一個(gè)真隨機(jī)數(shù)生成器。存儲(chǔ)器改寫裝置110也可以通過改寫不包括全部所述多個(gè)存儲(chǔ)位置的第一部分來部分改寫存儲(chǔ)器120。例如,存儲(chǔ)器改寫裝置110可以改寫存儲(chǔ)器120中的每隔一個(gè)的(everyother)存儲(chǔ)位置。對(duì)于所述響應(yīng)樣式的大部分應(yīng)用而言,對(duì)一半的存儲(chǔ)位置進(jìn)行改寫就足以使得所得到的響應(yīng)樣式對(duì)攻擊者無用。僅對(duì)一部分的存儲(chǔ)位置進(jìn)行改寫可以做起來更快,從而減少存儲(chǔ)器內(nèi)容易受攻擊的時(shí)間量。系統(tǒng)100可以包括一個(gè)篡改標(biāo)志(未示出)。存儲(chǔ)器改寫裝置110可以被配置為檢測(cè)所述標(biāo)志的存在。僅當(dāng)存儲(chǔ)器改寫裝置110檢測(cè)到所述標(biāo)志被置位時(shí),它才會(huì)改寫所述第一部分。或者,存儲(chǔ)器改寫裝置110可以被配置為改寫所述存儲(chǔ)位置中的比如四分之一或一半,不過當(dāng)檢測(cè)到所述標(biāo)志被置位時(shí)可以將這增加到全部所述多個(gè)存儲(chǔ)位置。所述篡改標(biāo)志可以使用非易失性隨機(jī)訪問存儲(chǔ)器、一次寫入存儲(chǔ)器(WORM)、電可燒斷熔絲等來實(shí)現(xiàn)。所述篡改標(biāo)志的置位可以是通過一個(gè)篡改檢測(cè)裝置(未示出)來執(zhí)行的,所述篡改檢測(cè)裝置被配置為檢測(cè)對(duì)系統(tǒng)100的篡改嘗試。所述篡改檢測(cè)裝置可以包括許多已知的篡改檢測(cè)技術(shù),例如,所述篡改檢測(cè)裝置可以包括一個(gè)用于檢測(cè)系統(tǒng)100的殼體中的裂口(breach)的傳感器。圖2示出了系統(tǒng)200,即用于生成識(shí)別性響應(yīng)樣式的系統(tǒng)的第二實(shí)施方案,其與系統(tǒng)100相比具有許多改進(jìn)。系統(tǒng)200包括一個(gè)抗退化裝置160??雇嘶b置160被配置為抵抗存儲(chǔ)器120中的老化效應(yīng)。所述抗老化裝置被配置為反轉(zhuǎn)存儲(chǔ)器120中存在于所述多個(gè)存儲(chǔ)位置的第二部分中的存儲(chǔ)位置的內(nèi)容。所述第二部分可以被選擇為使得所述第一部分和所述第二部分共同構(gòu)成全部所述多個(gè)存儲(chǔ)位置。優(yōu)選地,所述第二部分與所述第一部分不相交。注意,即使所述第二部分與所述第一部分不相交,人們也可以采用如下方法首先反轉(zhuǎn)存儲(chǔ)器120的所有存儲(chǔ)位置,然后改寫所述第一部分。這具有如下凈效應(yīng)第一部分被改寫了,并且與所述第一部分不相交的第二部分被反轉(zhuǎn)了。后一方法具有更好的抗老化特性。包括若干位的存儲(chǔ)位置的反轉(zhuǎn)可以通過對(duì)每個(gè)位用“I”值進(jìn)行異或運(yùn)算來實(shí)現(xiàn)。即,用邏輯O值替換邏輯I值,且用邏輯I值替換邏輯O值。例如,一個(gè)字節(jié)可以通過用十六進(jìn)制值“ff”進(jìn)行異或運(yùn)算來反轉(zhuǎn)。優(yōu)選地,能采取多于兩個(gè)值的存儲(chǔ)位置被反轉(zhuǎn)為最能延緩老化的值。這可以通過如下步驟來確定使用多個(gè)存儲(chǔ)樣本重復(fù)進(jìn)行反轉(zhuǎn),一個(gè)特定值具有可行的反轉(zhuǎn)之一;以及確定哪個(gè)存儲(chǔ)樣本老化最慢。優(yōu)選地,所述反轉(zhuǎn)在激活信號(hào)之后不久(例如在所述系統(tǒng)開啟之后不久),例如在啟動(dòng)序列期間,進(jìn)行。改寫和反轉(zhuǎn)可以結(jié)合,但這不是必要的。例如,所述存儲(chǔ)器可以是,存儲(chǔ)器120可以在開啟之后立即被反轉(zhuǎn),但是所述第一部分可以僅在使用存儲(chǔ)器120(例如以獲得密鑰)之后才被改寫。替代地,在所述存儲(chǔ)器已被使用之后對(duì)其進(jìn)行反轉(zhuǎn)。注意,可以使用存儲(chǔ)器120的任何算法都可以適于在存儲(chǔ)器120已被反轉(zhuǎn)之后使用存儲(chǔ)器120,只是簡(jiǎn)單地調(diào)整以采取已反轉(zhuǎn)的值而不是未反轉(zhuǎn)的值。系統(tǒng)200可選地包括輔助數(shù)據(jù)存儲(chǔ)器130以及注冊(cè)串重構(gòu)裝置140。如果存儲(chǔ)器120在多次激活中具有一些可變性(可以經(jīng)常是這樣的),則對(duì)于一些應(yīng)用而言優(yōu)選的是去除這個(gè)可變性。例如,如果要從存儲(chǔ)器120得出一個(gè)密碼密鑰(例如通過使用密鑰導(dǎo)出算法,諸如散列函數(shù)(hashfunction)),則存儲(chǔ)器120中的變化可導(dǎo)致所述密鑰也變化,這是不期望的。注意,存儲(chǔ)器120和130可以被集成在一個(gè)存儲(chǔ)裝置(例如存儲(chǔ)芯片)中。在系統(tǒng)200的注冊(cè)階段期間,所述多個(gè)存儲(chǔ)位置的內(nèi)容被讀出。這可以例如是存儲(chǔ)器120的第一次激活,雖然這也可以是以后的激活。所得到的邏輯狀態(tài)響應(yīng)樣式被稱為注冊(cè)串。注冊(cè)串重構(gòu)裝置140試圖由在以后的激活之后從存儲(chǔ)器120讀取的響應(yīng)樣式重構(gòu)所述注冊(cè)串,即使所述以后的響應(yīng)樣式可能包含相對(duì)于所述注冊(cè)串的變異,即誤差。在所述注冊(cè)階段期間,糾錯(cuò)數(shù)據(jù)被從所述注冊(cè)串中構(gòu)建,并且被存儲(chǔ)在輔助數(shù)據(jù)存儲(chǔ)器130中。之后,注冊(cè)串重構(gòu)裝置140可以使用一個(gè)糾錯(cuò)算法由以后的響應(yīng)樣式和所述糾錯(cuò)數(shù)據(jù)重構(gòu)所述注冊(cè)串。為此目的,注冊(cè)串重構(gòu)裝置140可以訪問存儲(chǔ)器120和130。注意,所述激活信號(hào)被認(rèn)為是一種類型的詢問,并且所述響應(yīng)樣式被認(rèn)為是相應(yīng)的響應(yīng)。所述糾錯(cuò)數(shù)據(jù)也被稱為“輔助數(shù)據(jù)”。對(duì)本領(lǐng)域技術(shù)人員而言,為了重構(gòu)注冊(cè)串而計(jì)算輔助數(shù)據(jù)的一般概念是已知的。例如,公開號(hào)為W02006/053304的國(guó)際專利申請(qǐng)描述了可以如何計(jì)算這樣的糾錯(cuò)數(shù)據(jù)以及可以如何重構(gòu)注冊(cè)串,參見例如圖3和相應(yīng)的說明。該專利申請(qǐng)還給出了可以如何從響應(yīng)樣式得出密鑰的更多細(xì)節(jié)。在以下文獻(xiàn)中更全面地描述了構(gòu)建和使用糾錯(cuò)數(shù)據(jù)以重構(gòu)注冊(cè)串例如J.P.Linnaftz,P.Tuyls,!NewShieldingFunctionstoEnhancePrivacyandPreventMisuseofBiometricTemplates',InJ.KittlerandM.Nixon,editors;Proceedingsofthe3rdConferenceonAudioandVideoBasedPersonAuthentication,volume2688ofLectureNotesinComputerScience,pages238—250,Springer-Verlag,2003andY.Dodisetal,'FuzzyextractorsHowtogeneratestrongkeysfrombiometricsandothernoisydata',AdvancesincryptoIogy-Eurocrypt2004,Ser.LNCS,C.CahinandJ.Camenisch,Eds.,vol.3027.Springer-Verlag,2004,pp.523-540。例如,可以選擇字長(zhǎng)(wordsize)大于所述多個(gè)存儲(chǔ)位置的BCH碼。存儲(chǔ)器120的響應(yīng)樣式被讀取,并且被與所述BCH碼的隨機(jī)碼字進(jìn)行異或,其結(jié)果被存儲(chǔ)在存儲(chǔ)器130中。在后續(xù)激活時(shí),所述響應(yīng)樣式被與存儲(chǔ)器130的內(nèi)容進(jìn)行異或,并且被使用BCH算法進(jìn)行糾錯(cuò)。所得到的已糾錯(cuò)的碼字被再次與存儲(chǔ)器130的內(nèi)容進(jìn)行異或,從而得到原始響應(yīng)樣式,即注冊(cè)串。如果系統(tǒng)200使用存儲(chǔ)器130和注冊(cè)串重構(gòu)裝置140,則抗退化裝置160可以如下地采用。在注冊(cè)串重構(gòu)裝置140已經(jīng)重構(gòu)所述注冊(cè)串之后,抗退化裝置160可以把所述注冊(cè)串的逆寫入到存儲(chǔ)器120的第二部分。再次,抗退化裝置160可以首先把所述注冊(cè)串寫入到所述第二部分,或者寫入到存儲(chǔ)器120的全部,然后存儲(chǔ)器改寫裝置110可以改寫所述第一部分。替代地,存儲(chǔ)器改寫裝置110可以首先改寫所述第一部分,然后抗退化裝置160可以把所述注冊(cè)串的逆僅寫入到對(duì)應(yīng)于所述第二部分的存儲(chǔ)位置。把所述注冊(cè)串的逆而不是所進(jìn)入的邏輯狀態(tài)的逆寫入到存儲(chǔ)器120進(jìn)一步延緩了存儲(chǔ)器120的老化??蛇x地,系統(tǒng)200可以包括偽隨機(jī)數(shù)生成器150。偽隨機(jī)數(shù)生成器150被配置為產(chǎn)生偽隨機(jī)序列。例如,偽隨機(jī)數(shù)生成器150使用流密碼。生成偽隨機(jī)序列的一般概念對(duì)本領(lǐng)域技術(shù)人員而言是已知的。所述偽隨機(jī)序列的品質(zhì)(即,區(qū)分所述偽隨機(jī)序列與真隨機(jī)序列有多難)是安全權(quán)衡。所述第一部分越大,所述隨機(jī)數(shù)的品質(zhì)就應(yīng)越好。優(yōu)選的是,所述偽隨機(jī)序列是均等分布的(equidistributed)。偽隨機(jī)數(shù)生成器150可以被配置為從種子開始生成它的序列。所述種子可以被存儲(chǔ)在系統(tǒng)200的存儲(chǔ)器中(不一定是存儲(chǔ)器120或130)。所述種子可以被固定在系統(tǒng)200的一個(gè)程序中。所述種子可以被選為0,或者任何其他隨機(jī)的但固定的數(shù)。所述種子也可以依賴于所述響應(yīng)樣式。如果存儲(chǔ)器200使用存儲(chǔ)器130和注冊(cè)串重構(gòu)裝置140,則所述種子也可以依賴于所述注冊(cè)串。例如,所述種子可以是所述注冊(cè)串的若干字節(jié),比如首4個(gè)字節(jié),或者可以是所述注冊(cè)串的散列。如果注冊(cè)串重構(gòu)裝置140產(chǎn)生固定的碼字,則所述種子也可以依賴于所述碼字。這具有所述偽隨機(jī)序列是固定的優(yōu)點(diǎn),該優(yōu)點(diǎn)也是通過使用固定的種子來得到的;但同時(shí),所述偽隨機(jī)序列對(duì)于系統(tǒng)200的特定實(shí)施方案而言或多或少是獨(dú)一無二的,因?yàn)樗龇N子依賴于PUF,即存儲(chǔ)器120。如果與系統(tǒng)200的情況的數(shù)目相比所述種子足夠大且依賴于所述PUF的足夠大的部分,則所述偽隨機(jī)序列對(duì)于所述裝置而言是獨(dú)一無二的。隨機(jī)序列(諸如真隨機(jī)序列或偽隨機(jī)序列)可被用于改寫存儲(chǔ)位置。例如,對(duì)于所述第一部分中的每個(gè)存儲(chǔ)位置,存儲(chǔ)器改寫裝置110選擇所述隨機(jī)序列的下一個(gè)元素(element)并且將其寫入到所述存儲(chǔ)位置。為了使所述隨機(jī)數(shù)據(jù)與真實(shí)PUF輸出更接近地相似,存儲(chǔ)器改寫裝置110可以,例如使用真隨機(jī)數(shù)生成器(未示出),改變所述隨機(jī)序列中具有小概率的部分。在缺少真隨機(jī)數(shù)生成器的情況下,可以使用具有至少稍微隨機(jī)的信息的其他源,諸如系統(tǒng)時(shí)鐘、溫度傳感器等。隨機(jī)序列(例如真隨機(jī)的或偽隨機(jī)的)也可以被用于選擇所述第一部分自身。例如,可以在所述隨機(jī)序列的隨機(jī)值與所述多個(gè)存儲(chǔ)位置之間建立對(duì)應(yīng)性(correspondence)。確定所述隨機(jī)序列的下一個(gè)值,并且使用所述對(duì)應(yīng)得到所述存儲(chǔ)器的下一個(gè)位置,直到所述第一部分具有期望的大小。代替用獨(dú)立于所述存儲(chǔ)位置的原始進(jìn)入狀態(tài)的數(shù)據(jù)進(jìn)行改寫,也可以用依賴于原始進(jìn)入狀態(tài)的數(shù)據(jù)來消隱存儲(chǔ)位置。例如,可以例如使用AES或RSA對(duì)所述存儲(chǔ)位置的內(nèi)容進(jìn)行加密。用于加密的密鑰可以依賴于識(shí)別串,且優(yōu)選地依賴于已重構(gòu)的注冊(cè)串。當(dāng)以后需要存儲(chǔ)器120的內(nèi)容時(shí),可以通過解密所述第一部分并反轉(zhuǎn)所述第二部分來重構(gòu)所述內(nèi)容。替代地,所述系統(tǒng)可以包括一個(gè)異或裝置(XOR)(未示出)。存儲(chǔ)器改寫裝置110可以使用異或運(yùn)算把偽隨機(jī)數(shù)生成器150的偽隨機(jī)序列與所述第一部分中的存儲(chǔ)位置的內(nèi)容組合起來。所述異或運(yùn)算具有如下優(yōu)點(diǎn)當(dāng)被應(yīng)用兩次時(shí),就恢復(fù)了所述存儲(chǔ)器的原始內(nèi)容。這樣,簡(jiǎn)單地通過保留偽隨機(jī)數(shù)生成器150使用的種子,就可以在需要時(shí)恢復(fù)所述存儲(chǔ)器的內(nèi)容。如果系統(tǒng)200具有存儲(chǔ)器130,則存儲(chǔ)器改寫裝置110可以被配置為也改寫存儲(chǔ)器130。雖然根據(jù)信息理論,存儲(chǔ)器130中的輔助數(shù)據(jù)不需要包含關(guān)于響應(yīng)樣式或注冊(cè)串的任何信息,當(dāng)不再需要輔助數(shù)據(jù)時(shí)將其移除被認(rèn)為是更安全的。這具有如下優(yōu)點(diǎn)如果攻擊者設(shè)法得到存儲(chǔ)器120的拷貝,則他仍可以被防止得到存儲(chǔ)器130的拷貝。這意味著,攻擊者不會(huì)知道如何修復(fù)所述響應(yīng)樣式中的誤差。如果所述注冊(cè)串被用于例如得出密碼密鑰,則這可以是一個(gè)嚴(yán)重的負(fù)擔(dān)。為了改寫存儲(chǔ)器130,存儲(chǔ)器改寫裝置110可以訪問存儲(chǔ)器130。系統(tǒng)200可選地包括溫度傳感器170。溫度傳感器170可以被用來得到溫度測(cè)量值。所述溫度測(cè)量值可以被存儲(chǔ)器改寫裝置Iio和抗退化裝置160之任一使用。存儲(chǔ)器改寫裝置110可以如下地使用所述溫度測(cè)量值。當(dāng)所述溫度測(cè)量值低于預(yù)定的下溫度閾值時(shí),存儲(chǔ)器改寫裝置110照常改寫所述第一部分。然而,如果所述溫度測(cè)量值不低于預(yù)定的下溫度閾值,則存儲(chǔ)器改寫裝置110不改寫所述第一部分。替代地,如果所述溫度測(cè)量值低于預(yù)定的下溫度閾值,存儲(chǔ)器改寫裝置110也可以擴(kuò)展所述第一部分,以及/或者如果所述溫度測(cè)量值不低于預(yù)定的下溫度閾值,則減小所述第一部分??雇嘶b置160可以如下地使用所述溫度測(cè)量值。當(dāng)所述溫度測(cè)量值高于預(yù)定的上溫度閾值時(shí),抗退化裝置160照常反轉(zhuǎn)所述第二部分。然而,如果所述溫度測(cè)量值不高于預(yù)定的上溫度閾值,則抗退化裝置160不反轉(zhuǎn)所述第二部分。替代地,如果所述溫度測(cè)量值高于預(yù)定的上溫度閾值,抗退化裝置160也可以擴(kuò)展所述第二部分,以及/或者如果所述溫度測(cè)量值不高于預(yù)定的上溫度閾值,則減小所述第二部分。注意,系統(tǒng)200不需要同時(shí)使用上溫度閾值和下溫度閾值二者。在一個(gè)實(shí)施方案中,可以如下地使用上溫度閾值和下溫度閾值二者如果溫度測(cè)量值低于下溫度閾值,則改寫全部所述多個(gè)存儲(chǔ)位置;如果溫度測(cè)量值高于上溫度閾值,則反轉(zhuǎn)全部所述多個(gè)存儲(chǔ)位置;如果溫度測(cè)量值在下溫度閾值與上溫度閾值之間,則改寫所述存儲(chǔ)位置的一部分且反轉(zhuǎn)所述存儲(chǔ)位置的另一部分。該實(shí)施方案具有如下優(yōu)點(diǎn)如果凍結(jié)風(fēng)險(xiǎn)最高,則改寫得最多;如果因老化而造成的損壞最大(溫度越高,老化越嚴(yán)重),則反轉(zhuǎn)得最多;在這兩個(gè)極端之間,二者兼做。在各個(gè)溫度都能提供最需要的保護(hù)。所述上閾值和/或所述下閾值可以被預(yù)定且固定在系統(tǒng)200中,例如存儲(chǔ)在存儲(chǔ)器中。然而,它們也可以以后被上傳到系統(tǒng)200。可選地,系統(tǒng)200包括一個(gè)調(diào)諧裝置(未示出),所述調(diào)諧裝置能訪問存儲(chǔ)器改寫裝置Iio和抗退化裝置160二者。所述調(diào)諧裝置被配置為從系統(tǒng)200之外接收調(diào)諧參數(shù)。所述調(diào)諧參數(shù)表示所述存儲(chǔ)器的多大份額應(yīng)被所述第一部分覆蓋以及多大份額應(yīng)被所述第二部分覆蓋。如果所述第一部分和所述第二部分組合為整個(gè)存儲(chǔ)器120,則單個(gè)參數(shù)就可以足夠了。例如,所述調(diào)諧參數(shù)可以代表百分比;例如,所述多個(gè)存儲(chǔ)位置應(yīng)被所述第一部分覆蓋的百分比。所述調(diào)諧裝置可以將百分比轉(zhuǎn)送至存儲(chǔ)器改寫裝置110抗退化裝置160。所述調(diào)諧裝置也可以計(jì)算所述第一部分和所述第二部分期望的大小(size)應(yīng)是多大,并且將這些大小分別轉(zhuǎn)送至存儲(chǔ)器改寫裝置110和抗退化裝置160。代替接收調(diào)諧參數(shù)(例如從所述系統(tǒng)之外),所述調(diào)諧裝置也可以自己根據(jù)溫度測(cè)量值來計(jì)算所述調(diào)諧參數(shù)。例如,所述調(diào)諧裝置可以包括一個(gè)將溫度轉(zhuǎn)換為各部分大小的表(table)。在一個(gè)實(shí)施方案中,所述調(diào)諧參數(shù)僅用在下溫度閾值與上溫度閾值之間。下面使用表I進(jìn)一步解釋本發(fā)明的一個(gè)實(shí)施方案的運(yùn)行。表I的各行編號(hào)從I到5,這被表示在第一列中。表I中的值用十六進(jìn)制數(shù)表示,范圍從00到ff。該實(shí)施例中的數(shù)字和大小僅是示例性的。從第二列開始,每列對(duì)應(yīng)于一個(gè)存儲(chǔ)位置。表I的第I行進(jìn)一步具有16列,示出了存儲(chǔ)器120開啟之后的內(nèi)容。存儲(chǔ)器120是以字節(jié)來組織的。示出了16*8=128個(gè)位。注冊(cè)串重構(gòu)裝置140已根據(jù)第I行的內(nèi)容和輔助數(shù)據(jù)重構(gòu)了所述注冊(cè)串,即存儲(chǔ)器120的更早的響應(yīng)樣式。所述輔助數(shù)據(jù)未在表I中示出。已重構(gòu)的注冊(cè)串在第2行中示出。注意,所述注冊(cè)串中的一些值與第I行中示出的所進(jìn)入的邏輯狀態(tài)相同。假定8個(gè)位中大約有I個(gè)位(12.5%)在多次激活之間改變。對(duì)于其他存儲(chǔ)器120,該數(shù)目可以更低,也可以更高,因?yàn)樵摂?shù)目依賴于所使用的存儲(chǔ)器的類型。優(yōu)選地,為每種類型的存儲(chǔ)器確定誤差率。存儲(chǔ)器改寫裝置110確定哪些存儲(chǔ)器位置會(huì)被包括在所述第一部分中。決定,大約25%的存儲(chǔ)器位置應(yīng)被改寫。為此產(chǎn)生一個(gè)隨機(jī)序列,其在第3行中示出。與第3行中小于40(十六進(jìn)制)的隨機(jī)數(shù)在同一列中的每個(gè)存儲(chǔ)位置被包括在所述第一部分中。由于40是100=(ff+Ι)的25%,結(jié)果是,所述多個(gè)存儲(chǔ)位置的大約25%被包括在所述第一部分中。如上所述,有許多替代方法來確定所述第一部分和/或所述第二部分。第3行也可以通過使用真隨機(jī)數(shù)生成器或通過使用偽隨機(jī)數(shù)生成器150(可能具有固定種子)來產(chǎn)生。第3行可以通過使用具有基于表I第2行的種子的偽隨機(jī)數(shù)生成器150來產(chǎn)生。第4行用R(代表“隨機(jī)”)表示哪個(gè)存儲(chǔ)位置被包括在所述第一部分中。其余存儲(chǔ)位置用A(代表“抗老化”)表示;它們被包括在所述第二部分中。接下來,存儲(chǔ)器改寫裝置110用隨機(jī)數(shù)據(jù)改寫用R表示的存儲(chǔ)條目(memoryentries)。所述隨機(jī)數(shù)據(jù)取自又一個(gè)隨機(jī)序列(未在表I中示出),它可以是真隨機(jī)的或偽隨機(jī)的。用A表示的條目被第2行的逆改寫。結(jié)果在表I第5行中示出。當(dāng)再次給出所述激活信號(hào)時(shí),例如系統(tǒng)200被斷電又上電或者給出冷復(fù)位(coldreset),第I行會(huì)稍微不同。第2行會(huì)相同,因?yàn)樽儺惐患m正了。如果偽隨機(jī)數(shù)生成器150使用基于第2行的種子或者使用固定種子,則第3行和第4行會(huì)相同。如果偽隨機(jī)數(shù)生成器150也被用來用固定種子改寫所述第一部分,則第5行也會(huì)相同。在一個(gè)不同的實(shí)施方案中,沒有使用存儲(chǔ)器130和注冊(cè)串重構(gòu)裝置140。在此情況下可以省略第2行。在第5行中,則可以用第I行的逆改寫A。在此情形中,有利的是,在用來改寫R的數(shù)中引入一些噪聲。例如,可以使用另一隨機(jī)序列的位,大多數(shù)由O位組成,且8個(gè)位中大約有I個(gè)位是I。在用所述固定序列改寫R之后,所述另一隨機(jī)序列可以與所述第一部分進(jìn)行異或。注意到,在沒有存儲(chǔ)器改寫裝置110和偽隨機(jī)數(shù)生成器150的情況下,使用存儲(chǔ)器120、存儲(chǔ)器130、注冊(cè)串重構(gòu)裝置140和抗退化裝置160也可以得到有利的系統(tǒng)。在此情況下,抗退化裝置160把所述注冊(cè)串的逆寫入到全部所述多個(gè)存儲(chǔ)位置??蛇x地,這樣的系統(tǒng)也使用溫度傳感器170,在此情況下,如果溫度傳感器170的溫度測(cè)量值高于上閾值,抗退化裝置160可以把所述注冊(cè)串的逆寫入到存儲(chǔ)器120。注意,一個(gè)實(shí)施方案可以一起省略寫入逆。在此情況下,用A映射表示的存儲(chǔ)位置保留它們的原始值。在一個(gè)實(shí)施方案中沒有進(jìn)行改寫,在此情況下可以用“A”代替“R”。圖3示出了一個(gè)流程圖,其示出了本發(fā)明的方法的一個(gè)可行的實(shí)施方案。所述方法從用作物理不可克隆函數(shù)的存儲(chǔ)器(例如存儲(chǔ)器120)生成識(shí)別性響應(yīng)樣式。所述存儲(chǔ)器包括多個(gè)可重寫的存儲(chǔ)位置,每個(gè)存儲(chǔ)位置具有至少兩個(gè)可行的邏輯狀態(tài)。所述方法包括向存儲(chǔ)器的輸入端施加激活信號(hào)310;從所述存儲(chǔ)器讀出響應(yīng)樣式320;得到溫度測(cè)量值330。在步驟340,決定所述溫度測(cè)量值是否低于預(yù)定的下溫度閾值。如果所述溫度測(cè)量值低于預(yù)定的下溫度閾值,則執(zhí)行步驟350,否則執(zhí)行步驟360。在步驟350,所述多個(gè)存儲(chǔ)位置的至少第一部分被改寫以消隱所述存儲(chǔ)器中的響應(yīng)樣式。在步驟360,向所述多個(gè)存儲(chǔ)位置的第二部分寫入先前從所述第二部分的對(duì)應(yīng)位置讀取的邏輯狀態(tài)的逆。在本發(fā)明的方法的該特定實(shí)施方法中,優(yōu)選的是,所述存儲(chǔ)器要么被完全改寫要么被完全反轉(zhuǎn),但是這不是必要的,并且其他變化是可行的。在該實(shí)施方案中,所述方法包括在所述溫度測(cè)量值低于預(yù)定的下溫度閾值的條件下,改寫所述多個(gè)存儲(chǔ)位置以消隱所述存儲(chǔ)器中的響應(yīng)樣式;以及在所述溫度測(cè)量值不低于預(yù)定的下溫度閾值的條件下,向所述多個(gè)存儲(chǔ)位置的每個(gè)對(duì)應(yīng)位置寫入先前從該對(duì)應(yīng)位置讀取的邏輯狀態(tài)的逆。執(zhí)行所述方法的許多不同方式是可行的,如本領(lǐng)域技術(shù)人員明了的。例如,所述步驟的順序可以改變,或者一些步驟可以并行執(zhí)行。此外,也可以在步驟之間插入其他步驟。所插入的步驟可以表示對(duì)諸如本文描述的方法的改進(jìn),或者所插入的步驟可以與該方法無關(guān)。例如,步驟310和320可以(至少部分地)與步驟330并行執(zhí)行。此外,一個(gè)給定步驟可以不必在下一個(gè)步驟開始之前完全完成。本發(fā)明的方法可以使用軟件來執(zhí)行,該軟件包括用于使處理器系統(tǒng)執(zhí)行方法300的指令。軟件可以僅包括由所述系統(tǒng)的特定子實(shí)體執(zhí)行的那些步驟。所述軟件可以被存儲(chǔ)在合適的存儲(chǔ)介質(zhì)中,諸如硬盤、軟盤、存儲(chǔ)器等。所述軟件可以作為信號(hào)通過線路或無線地發(fā)送,或者使用數(shù)據(jù)網(wǎng)絡(luò)(例如因特網(wǎng))發(fā)送。所述軟件可以在服務(wù)器上可提供,以供下載和/或遠(yuǎn)程使用。圖4以俯視圖示出了本發(fā)明的智能卡400的示意性表示。所述智能卡包括集成電路410以及支撐集成電路410的(通常為塑料的)卡420。電路410包括用于存儲(chǔ)器(例如存儲(chǔ)器120或130)的部件。電路410包括處理單元,用于運(yùn)行計(jì)算機(jī)程序部件以執(zhí)行本發(fā)明的方法。所述處理單元可以通過總線連接至所述存儲(chǔ)器。電路410可以包括其他部件,諸如溫度傳感器、真隨機(jī)數(shù)生成器、加密協(xié)同處理器等。所述卡可以被布置為用于接觸和/或非接觸通信。所述智能卡可以被用在例如機(jī)頂盒中,以控制對(duì)內(nèi)容的訪問。應(yīng)理解,本發(fā)明還擴(kuò)展至適于實(shí)施本發(fā)明的計(jì)算機(jī)程序,尤其是載體上或載體中的計(jì)算機(jī)程序。所述程序的形式可以是源代碼、目標(biāo)代碼、在源代碼與目標(biāo)代碼之間的代碼(諸如部分編譯的形式)、或者適于用于執(zhí)行本發(fā)明的方法的任何其他形式。還應(yīng)理解,這樣的程序可以具有許多不同的架構(gòu)設(shè)計(jì)。例如,實(shí)現(xiàn)本發(fā)明的方法或系統(tǒng)的功能的程序代碼可以被細(xì)分成一個(gè)或多個(gè)子例程。在這些子例程之間分配所述功能的許多不同方式是本領(lǐng)域技術(shù)人員明了的。所述子例程序可以被共同存儲(chǔ)在一個(gè)可執(zhí)行文件中,以形成ー個(gè)自足的程序。這樣的可執(zhí)行文件可以包括計(jì)算機(jī)可執(zhí)行指令,例如處理器指令和/或翻譯器指令(例如Java翻譯器指令)。替代地,所述子例程中的ー個(gè)或多個(gè)或全部可以被存儲(chǔ)在至少ー個(gè)外部庫文件中,并且與主程序靜態(tài)或動(dòng)態(tài)(例如運(yùn)行時(shí))鏈接。所述主程序包含對(duì)至少一個(gè)所述子例程的至少一次調(diào)用。另外,所述子例程可以包括相互的函數(shù)調(diào)用。一個(gè)涉及計(jì)算機(jī)程序產(chǎn)品的實(shí)施方案包括如下計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令對(duì)應(yīng)于所述的至少ー個(gè)方法的每個(gè)處理步驟。這些指令可以被劃分成子例程以及/或者被存儲(chǔ)在可以靜態(tài)或動(dòng)態(tài)鏈接的一個(gè)或多個(gè)文件中。另ー個(gè)涉及計(jì)算機(jī)程序產(chǎn)品的實(shí)施方案包括如下計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令對(duì)應(yīng)于所述的至少ー個(gè)系統(tǒng)和/或產(chǎn)品的每個(gè)設(shè)備。這些指令可以被劃分成子例程以及/或者被存儲(chǔ)在可以靜態(tài)或動(dòng)態(tài)鏈接的一個(gè)或多個(gè)文件中。計(jì)算機(jī)程序的載體可以是能夠承載所述程序的任何實(shí)體或裝置。例如,所述載體可以包括存儲(chǔ)介質(zhì),諸如R0M,例如CDROM或半導(dǎo)體ROM;磁記錄介質(zhì),例如軟盤或硬盤。此夕卜,所述載體可以是可傳輸?shù)妮d體,諸如電信號(hào)或光信號(hào),它們可以通過電纜或光纜或者通過無線電或其他工具傳遞。當(dāng)所述程序被體現(xiàn)在這樣的信號(hào)中時(shí),所述載體可以由這樣的線纜或其他裝置或設(shè)備構(gòu)成。替代地,所述載體可以是嵌入所述程序的集成電路,所述集成電路適于執(zhí)行有關(guān)方法,或適于用在有關(guān)方法的執(zhí)行中。應(yīng)注意上述實(shí)施方案例示本發(fā)明而不是限制本發(fā)明,并且本領(lǐng)域技術(shù)人員將能夠設(shè)計(jì)許多替代實(shí)施方案而不脫離所附權(quán)利要求的范圍。在權(quán)利要求中,在括號(hào)中的任何參考標(biāo)記都不應(yīng)被解釋為限制該權(quán)利要求。動(dòng)詞“包括”(comprise)及其詞形變化的使用不排除存在權(quán)利要求中所列元件或步驟之外的其他元件或步驟。元件前面的冠詞“ー(a/an)”不排除存在多個(gè)這樣的元件。本發(fā)明可以通過硬件(包括幾個(gè)分立元件)以及通過適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了幾個(gè)設(shè)備的裝置權(quán)利要求中,這些設(shè)備中的幾個(gè)可以通過同一項(xiàng)硬件來實(shí)現(xiàn)。僅憑某些措施被記載在相互不同的從屬權(quán)利要求中這一事實(shí),不表示不能有利地使用這些措施的組合。權(quán)利要求1.一種用于生成識(shí)別性響應(yīng)樣式的系統(tǒng),包括-一個(gè)用作物理不可克隆函數(shù)的存儲(chǔ)器(120),其包括多個(gè)可重寫的存儲(chǔ)位置,每個(gè)存儲(chǔ)位置具有至少兩個(gè)可行的邏輯狀態(tài);以及一個(gè)輸入端,其用于接收激活信號(hào)以使得每個(gè)存儲(chǔ)位置進(jìn)入其可行的邏輯狀態(tài)之一,所進(jìn)入的狀態(tài)依賴于所述存儲(chǔ)器的物理的、至少部分隨機(jī)的特性,且由此生成對(duì)識(shí)別所述系統(tǒng)有用的邏輯狀態(tài)響應(yīng)樣式;以及-一個(gè)存儲(chǔ)器改寫裝置(110),其被配置為改寫所述多個(gè)存儲(chǔ)位置的至少第一部分以消隱所述存儲(chǔ)器中的響應(yīng)樣式。2.根據(jù)權(quán)利要求I所述的用于生成識(shí)別性響應(yīng)樣式的系統(tǒng),包括一個(gè)輔助數(shù)據(jù)存儲(chǔ)器(130),所述輔助數(shù)據(jù)存儲(chǔ)器包括糾錯(cuò)數(shù)據(jù),所述糾錯(cuò)數(shù)據(jù)用于糾正所進(jìn)入的邏輯狀態(tài)與先前從所述多個(gè)存儲(chǔ)位置讀取的邏輯狀態(tài)之間的偏差,其中所述存儲(chǔ)器改寫裝置被配置為改寫所述輔助數(shù)據(jù)存儲(chǔ)器。3.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的用于生成識(shí)別性響應(yīng)樣式的系統(tǒng),包括一個(gè)篡改標(biāo)志,并且其中所述存儲(chǔ)器改寫裝置被配置為在所述篡改標(biāo)志被置位的條件下進(jìn)行改寫。4.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的用于生成識(shí)別性響應(yīng)樣式的系統(tǒng),其中所述存儲(chǔ)器改寫裝置被配置為用一序列隨機(jī)值改寫所述多個(gè)存儲(chǔ)位置的所述第一部分。5.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的用于生成識(shí)別性響應(yīng)樣式的系統(tǒng),包括一個(gè)異或裝置,其中所述存儲(chǔ)器改寫裝置被配置為,通過向所述多個(gè)存儲(chǔ)位置的所述第一部分的對(duì)應(yīng)位置寫入該對(duì)應(yīng)位置的進(jìn)入狀態(tài)與來自一序列隨機(jī)值的對(duì)應(yīng)值的異或,來消隱所述存儲(chǔ)器中的響應(yīng)樣式。6.根據(jù)權(quán)利要求4或5所述的用于生成識(shí)別性響應(yīng)樣式的系統(tǒng),其中所述多個(gè)存儲(chǔ)位置的所述第一部分和/所述一序列隨機(jī)值的至少一部分是通過對(duì)固定的隨機(jī)數(shù)種子應(yīng)用偽隨機(jī)函數(shù)(150)來得到的。7.根據(jù)權(quán)利要求6所述的用于生成識(shí)別性響應(yīng)樣式的系統(tǒng),其中所述一序列隨機(jī)值的至少一部分是真隨機(jī)的。8.根據(jù)權(quán)利要求6和7中任一項(xiàng)所述的用于生成識(shí)別性響應(yīng)樣式的系統(tǒng),其中所述隨機(jī)數(shù)種子依賴于所述識(shí)別性響應(yīng)樣式。9.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的用于生成識(shí)別性響應(yīng)樣式的系統(tǒng),其中在重復(fù)施加所述激活信號(hào)之后所述響應(yīng)樣式的生成易退化,所述系統(tǒng)包括一個(gè)抗退化裝置(160),該抗退化裝置被配置為向所述多個(gè)存儲(chǔ)位置的第二部分的每個(gè)對(duì)應(yīng)位置寫入先前從所述第二部分的該對(duì)應(yīng)位置讀取的邏輯狀態(tài)的逆。10.根據(jù)權(quán)利要求9所述的用于生成識(shí)別性響應(yīng)樣式的系統(tǒng),包括-一個(gè)輔助數(shù)據(jù)存儲(chǔ)器(130),所述輔助數(shù)據(jù)存儲(chǔ)器包括糾錯(cuò)數(shù)據(jù),所述糾錯(cuò)數(shù)據(jù)用于糾正所進(jìn)入的邏輯狀態(tài)與先前從所述多個(gè)存儲(chǔ)位置讀取的邏輯狀態(tài)之間的偏差;以及-一個(gè)注冊(cè)串重構(gòu)裝置(140),用于重構(gòu)先前從所述多個(gè)存儲(chǔ)位置讀取的邏輯狀態(tài),所述注冊(cè)串重構(gòu)裝置被配置為對(duì)所述糾錯(cuò)數(shù)據(jù)以及對(duì)所進(jìn)入的邏輯狀態(tài)應(yīng)用糾錯(cuò)函數(shù),以糾正所進(jìn)入的邏輯狀態(tài)與先前讀取的邏輯狀態(tài)之間的偏差,其中所述抗退化裝置被配置為向所述多個(gè)存儲(chǔ)位置的所述第二部分的每個(gè)對(duì)應(yīng)位置寫入先前從所述第二部分的該對(duì)應(yīng)位置讀取的已重構(gòu)邏輯狀態(tài)的逆。11.根據(jù)權(quán)利要求9和10中任一項(xiàng)所述的用于生成識(shí)別性響應(yīng)樣式的系統(tǒng),包括一個(gè)溫度傳感器(170),其中-所述抗退化裝置被配置為,在所述溫度傳感器的溫度測(cè)量值高于預(yù)定的上溫度閾值的條件下,向所述第二部分進(jìn)行寫入,或者-所述存儲(chǔ)器改寫裝置被配置為,在所述溫度傳感器的溫度測(cè)量值低于預(yù)定的下溫度閾值的條件下,改寫所述多個(gè)存儲(chǔ)位置的至少第一部分。12.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的用于生成識(shí)別性響應(yīng)樣式的系統(tǒng),其中所述存儲(chǔ)器改寫裝置包括一個(gè)用于接收調(diào)諧參數(shù)的調(diào)諧參數(shù)輸入端,所述存儲(chǔ)器改寫裝置被配置為根據(jù)所述調(diào)諧參數(shù)來設(shè)置所述第一部分中的位置的數(shù)目與所述第二部分中的位置的數(shù)目之間的比例。13.根據(jù)權(quán)利要求12所述的用于生成識(shí)別性響應(yīng)樣式的系統(tǒng),其中所述調(diào)諧參數(shù)是溫度依賴性的。14.一種從用作物理不可克隆函數(shù)的存儲(chǔ)器生成識(shí)別性響應(yīng)樣式的方法,所述存儲(chǔ)器包括多個(gè)可重寫的存儲(chǔ)位置,每個(gè)存儲(chǔ)位置具有至少兩個(gè)可行的邏輯狀態(tài),所述方法包括-對(duì)所述存儲(chǔ)器的輸入端施加激活信號(hào),從而使得每個(gè)存儲(chǔ)位置進(jìn)入其可行的邏輯狀態(tài)之一,所進(jìn)入的狀態(tài)依賴于所述存儲(chǔ)器的物理的、至少部分隨機(jī)的特性,且由此生成對(duì)識(shí)別所述存儲(chǔ)器有用的邏輯狀態(tài)響應(yīng)樣式;-從所述存儲(chǔ)器讀出所述響應(yīng)樣式,其中所述方法進(jìn)一步包括-改寫所述多個(gè)存儲(chǔ)位置的至少第一部分以消隱所述存儲(chǔ)器中的響應(yīng)樣式。15.根據(jù)權(quán)利要求14所述的生成響應(yīng)的方法,其中在重復(fù)施加所述激活信號(hào)之后所述響應(yīng)樣式的生成易退化,所述方法包括-向所述多個(gè)存儲(chǔ)位置的第二部分的每個(gè)對(duì)應(yīng)位置寫入先前從所述第二部分的該對(duì)應(yīng)位置讀取的邏輯狀態(tài)的逆。16.根據(jù)權(quán)利要求15所述的生成響應(yīng)的方法,包括得到溫度測(cè)量值,并且其中-在所述溫度測(cè)量值高于預(yù)定的溫度閾值的條件下,向所述多個(gè)存儲(chǔ)位置的第二部分的每個(gè)對(duì)應(yīng)位置進(jìn)行寫入,或者-在所述溫度測(cè)量值低于預(yù)定的下溫度閾值的條件下,改寫所述多個(gè)存儲(chǔ)位置的至少第一部分。17.—種包括計(jì)算機(jī)程序代碼工具的計(jì)算機(jī)程序,當(dāng)所述計(jì)算機(jī)程序在計(jì)算機(jī)上運(yùn)行時(shí),所述計(jì)算機(jī)程序代碼工具適于執(zhí)行權(quán)利要求14-16中任一項(xiàng)所述的方法的所有步驟。18.根據(jù)權(quán)利要求17所述的計(jì)算機(jī)程序,其被實(shí)現(xiàn)在計(jì)算機(jī)可讀介質(zhì)上。全文摘要用于生成識(shí)別性響應(yīng)樣式的系統(tǒng),其包括一個(gè)用作物理不可克隆函數(shù)的存儲(chǔ)器(120),被配置為根據(jù)所述存儲(chǔ)器的物理的、至少部分隨機(jī)的特性來生成響應(yīng)樣式;所述系統(tǒng)可以易受到凍結(jié)攻擊以及老化。一種存儲(chǔ)器改寫裝置(110),其被配置為改寫所述多個(gè)存儲(chǔ)位置的至少第一部分以消隱所述存儲(chǔ)器中的響應(yīng)樣式,避免凍結(jié)攻擊。一種抗退化裝置(160),其被配置為向所述多個(gè)存儲(chǔ)位置的第二部分的每個(gè)對(duì)應(yīng)位置寫入先前從所述存儲(chǔ)器讀取的響應(yīng)的逆,降低老化效應(yīng)。文檔編號(hào)H04L9/08GK102656588SQ201080046620公開日2012年9月5日申請(qǐng)日期2010年8月6日優(yōu)先權(quán)日2009年8月14日發(fā)明者G-J·史邱瑞珍,P·T·圖爾斯申請(qǐng)人:本質(zhì)Id有限責(zé)任公司