專利名稱:受控的功能激活的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及諸如芯片、FPGA或軟件模塊這樣的產(chǎn)品或部件中的 至少一種功能的受控激活。
背景技術(shù):
諸如電視、移動電話、DVD播放機、計算機、筆記本電腦和其 它電子設(shè)備這樣的產(chǎn)品,還有用于這些產(chǎn)品的計算機程序,實現(xiàn)多種 特征或功能。這些功能通常被稱為知識產(chǎn)權(quán)(IP)塊并由IP提供 者、 一個或多個不同的公司或其它實體提供。IP塊例如可以作為芯 片設(shè)計、現(xiàn)場可編程門陣列(FPGA)或軟件部件的一部分被提供。
由于這些IP塊通常是基于每種產(chǎn)品的許可費而可用的,所以希 望控制這些IP塊的激活。也就是說,IP塊不應(yīng)在產(chǎn)品中操作,除非 該事實已經(jīng)被報告給IP提供者或者已由IP提供者有選擇地授權(quán)。
本領(lǐng)域中的已知方案包括將與產(chǎn)品或IP塊相關(guān)聯(lián)的唯一標(biāo)識符 報告給遠(yuǎn)程服務(wù)器,服務(wù)器據(jù)此返回與唯一標(biāo)識符相關(guān)聯(lián)的認(rèn)證碼。
優(yōu)選地,認(rèn)證碼以這樣的方式來設(shè)計只有用正確的認(rèn)證碼才能 激活I(lǐng)P塊的功能。本文中的激活通常是通過將認(rèn)證碼與對于該IP塊 可用的預(yù)定代碼進行對比而實現(xiàn)的。如果代碼不匹配,該功能就不能 被使用。認(rèn)證碼也可以用作對該IP塊的全部或一部分進行解鎖或解 密的密鑰,例如作為對要加載到FPGA上以使FPGA提供相關(guān)功能 的比特流進行解密的解密密鑰。
例如,每個Xilinx SpartanTM-3A平臺都帶有一個唯一的序列 號,被稱為"設(shè)備DNA"。配置數(shù)據(jù)包括對應(yīng)于一個特定樣機的設(shè) 備DNA的認(rèn)證值。每個樣機都帶有這樣一個模塊,該模塊驗證該平 臺的設(shè)備DNA與認(rèn)證值是否匹配,并且當(dāng)存在這樣的匹配,即表現(xiàn)為正確的配置數(shù)據(jù)時,使得模塊的全部或部分功能可用。
認(rèn)證碼也可用作對提供給IP塊的輸入進行處理所必需的密鑰, 例如作為要由IP塊解密的視聽內(nèi)容的解密密鑰,或者用于在與其交 換數(shù)據(jù)的遠(yuǎn)程服務(wù)器處對產(chǎn)品進行認(rèn)證。
這里通過引用而并入的WO 2006/053304公開了一種由在這種設(shè) 備上提供的物理上不可克隆的功能(PUF)確定密鑰的方法。該方法 涉及將誤差控制數(shù)據(jù)應(yīng)用于來自PUF的響應(yīng)。然后可使用該密鑰例 如使所述設(shè)備能夠?qū)χT如經(jīng)過加密的枧聽內(nèi)容這樣的數(shù)據(jù)進行解密, 或者向其它方認(rèn)證其本身。
B. Skoric、 P. Tuyls和W. Ophey的"Robust key extraction from Physical Unekmable Functions" , Applied Cryptography and Network Security ACNS 2005, LNCS 3531,第407-422頁(2005)公 開了另一種從PUF獲得密鑰的方法。通過把某些輔助數(shù)據(jù)應(yīng)用到原 始響應(yīng)來從PUF響應(yīng)導(dǎo)出密鑰。
該領(lǐng)域中的一個問題是克隆??梢酝暾?即包括唯一的相關(guān)標(biāo) 識符)復(fù)制IP塊或者甚至整個設(shè)備?,F(xiàn)在可利用與原始的IP塊相同 的認(rèn)證碼來激活克隆的IP塊。因此,克隆不需要被報告給遠(yuǎn)程服務(wù) 器,導(dǎo)致激活的IP塊未被報告以及相關(guān)的許可費損失。
為了進行保護以防止克隆,可采用提供被認(rèn)為是不可克隆的標(biāo)識 符的各種方案。例如,這里通過引用而并入的WO 2006/071380公開 了一種諸如FPGA這樣的現(xiàn)場可配置設(shè)備,其支持安全現(xiàn)場配置而 無需在該設(shè)備上使用針對加密密鑰的易失性或非易失性存儲器。該設(shè) 備具有物理上不可克隆的功能或PUF,其當(dāng)存在疑問時提供對于該 i殳備的每個特定樣機唯一的輸出。然而, 一個特定的PUF不能在另 一個設(shè)備上被克隆或再現(xiàn)。為了確保產(chǎn)生相同的輸出,需要把某種特 定的糾錯數(shù)據(jù)應(yīng)用到某一特定的響應(yīng)。這使得可以從PUF的輸出導(dǎo) 出配置數(shù)據(jù)。這樣,只有某一特定樣機能夠成功地重建該配置數(shù)據(jù)。
總的來講,這些方法通過PUF推導(dǎo)出的唯一項目而將IP塊與產(chǎn) 品的某一特定樣機關(guān)聯(lián)起來,從而提供了防止未經(jīng)授權(quán)的復(fù)制的保護。IP塊的一個拷貝將不會在另一不同的樣機上運行,因為該樣機
上的PUF與原始樣機上的PUF不同,這將導(dǎo)致配置數(shù)據(jù)的重建失 敗。這可能會導(dǎo)致錯誤的認(rèn)證值或密鑰。
這些方案的共同之處在于,在某一時刻,標(biāo)識符需要被讀取并提 供給遠(yuǎn)程服務(wù)器以接收相應(yīng)的認(rèn)證碼。在該過程期間,可觀察和記錄 標(biāo)識符和認(rèn)證碼這兩者。這樣,仍然可以得到克隆復(fù)制品,例如通過 向克隆復(fù)制品提供用于再現(xiàn)所觀察到的標(biāo)識符的簡單芯片。然后,可 用該芯片替代最初提供標(biāo)識符的存儲器或其它項目。
可采取措施來避免對激活過程的偵聽,但那些措施都很復(fù)雜并且 超過了許多設(shè)備的能力。上面提到的WO 2006/071380使用公共密鑰 加密來安全地傳送標(biāo)識符,或者建議在可信的環(huán)境中使用分開登記的 處理。
此外發(fā)明人意識到,上述方案暗示了假定完全信賴對該輔助數(shù)據(jù) 編程或?qū)⑵湓匀胂嚓P(guān)部件或產(chǎn)品中的實體。在許多情況下,該實體是 生產(chǎn)該產(chǎn)品或中間部件的第三方制造商。該實體應(yīng)向IP提供者報告 他已經(jīng)制造了哪些和多少產(chǎn)品或部件,從而可向他已經(jīng)4吏用的IP塊 收取權(quán)利許可費。
然而,制造商使用與用于"官方"產(chǎn)品的資源非常相同的資源就 能簡單地制造出更多的產(chǎn)品。這些額外的產(chǎn)品當(dāng)然具有它們自身的唯 一 PUF,但制造商能夠向它們提供正確的輔助數(shù)據(jù),這使得依賴于 PUF的IP塊就像它們被安裝在原版上一樣運行。制造商必須知道如 何提供輔助數(shù)據(jù),否則就不能生產(chǎn)官方產(chǎn)品。這使得制造商能夠?qū)⑦@ 些額外的未經(jīng)授權(quán)的產(chǎn)品當(dāng)做原版?,F(xiàn)在也可以不報告所制造的產(chǎn)品 數(shù)量,這意味著IP提供者獲得的許可費比他有權(quán)獲得的要少。
因此,需要一種防止克隆設(shè)備激活的受控功能激活方法。
發(fā)明內(nèi)容
本發(fā)明提供了 一種在遠(yuǎn)程地點受控地激活產(chǎn)品或部件中的至 一 種功能的方法,所述激活需要在該產(chǎn)品或部件中能夠獲得正確的激活數(shù)據(jù)項,其特征是從遠(yuǎn)程地點接收與該部件相關(guān)聯(lián)的不可克隆單元 的一個或多個噪聲輸出,并將輔助數(shù)據(jù)提供至所述遠(yuǎn)程地點,所述輔 助數(shù)據(jù)將所述一個或多個噪聲輸出變換為對應(yīng)于所述正確的激活數(shù)據(jù) 項的單一值。
具有噪聲輸出的不可克隆的單元本身是已知的。這種單元的一個 名稱是物理隨機(不可克隆)功能或PUF。所謂的輔助數(shù)據(jù)提供了 將這些噪聲響應(yīng)變換為可任意選擇的單一值的冗余性。也就是說,相 同的噪聲響應(yīng)可通過適當(dāng)選擇輔助數(shù)據(jù)而被變換為不同的單一值。
本發(fā)明建議在遠(yuǎn)離要激活的產(chǎn)品或部件所處的位置處計算該輔助 數(shù)據(jù)。為了激活功能,正確的激活項必須是可用的。輔助數(shù)據(jù)將一個 或多個噪聲輸出變換為對應(yīng)于正確的激活數(shù)據(jù)項的單一值。輔助數(shù)據(jù)
被發(fā)送至該產(chǎn)品或元件所在的遠(yuǎn)程地點。這允許該產(chǎn)品或部件推導(dǎo)出 正確的激活數(shù)據(jù)項。
令人驚訝的是,這種使用防止了克隆設(shè)備的激活。通過定義,不 可克隆的單元是不能被克隆的。第二個單元不能通過使用針對第一響 應(yīng)所接收的輔助數(shù)據(jù)而被激活,因為輔助數(shù)據(jù)與第一個單元的PUF 所產(chǎn)生的噪聲響應(yīng)唯一地相關(guān)聯(lián)(并將該響應(yīng)變換成唯一和可靠的標(biāo) 識符)。向由第二個單元的PUF所產(chǎn)生的噪聲響應(yīng)應(yīng)用該輔助數(shù)據(jù) 將不會得到正確的激活數(shù)據(jù)項。正如本發(fā)明所規(guī)定的,由于需要涉及 用于激活的遠(yuǎn)程實體,可以繞過激活處理。
請注意,"激活數(shù)據(jù)項"可包括多個比特或字節(jié)的數(shù)據(jù)。類似 地,上面的"單一值"通常是多個比特或字節(jié)的數(shù)據(jù)。
上面提到的WO 2006/071380公開了一種具有在物理上不可克隆 的功能或PUF的設(shè)備,其當(dāng)存在疑問時提供對于該設(shè)備的每個特定 樣機唯一的輸出。為了確保得到相同的輸出,需要對某個特定的響應(yīng) 應(yīng)用某個特定的糾錯數(shù)據(jù)。然后將輸出傳遞給遠(yuǎn)程服務(wù)器,所述遠(yuǎn)程 服務(wù)器返回已經(jīng)使用輸出而被隱藏起來的認(rèn)證碼,例如作為將所述輸 出和認(rèn)證碼結(jié)合起來的XOR運算的結(jié)果。
上述內(nèi)容與本發(fā)明的一個關(guān)鍵的不同之處在于在該系統(tǒng)中,被發(fā)送至服務(wù)器的輸出是穩(wěn)定的,因此沒有噪聲。這要求設(shè)備在注冊期 間必須測量并穩(wěn)定響應(yīng),這花費了可能不可獲得的時間,特別是當(dāng)在 生產(chǎn)期間進行注冊時。相反,本發(fā)明把對輔助數(shù)據(jù)的穩(wěn)定、計算移至 服務(wù)器端。
此外,WO 2006/071380所述的方法需要兩個步驟首先,穩(wěn)定 噪聲響應(yīng);其次,使用穩(wěn)定了的輸出來安全地傳遞認(rèn)證碼。本發(fā)明將 這兩個步驟在一個綜合步驟中完成。如此計算輔助數(shù)據(jù)使得其將一 個或多個噪聲輸出變換為對應(yīng)于正確的激活數(shù)據(jù)項的單一值。因此, 在輔助數(shù)據(jù)和激活碼之間存在 一 種關(guān)系,這種關(guān)系在WO 2006/071380的方法中是不存在的。
這種關(guān)系減小了需要存儲的數(shù)據(jù)量。本發(fā)明只需要存儲輔助數(shù) 據(jù)。向噪聲響應(yīng)應(yīng)用輔助數(shù)據(jù)得到了激活數(shù)據(jù)項。WO 2006/071380 方法需要存儲糾錯數(shù)據(jù)(為了穩(wěn)定噪聲響應(yīng))和隱藏的認(rèn)證碼。
本發(fā)明的一個實施例包括將用于建立輔助數(shù)據(jù)的真實性的認(rèn)證單 元發(fā)送至遠(yuǎn)程地點。這確保了沒有第三方能提供輔助數(shù)據(jù)以激活部件 的功能。在該實施例中,如果可使用該認(rèn)證單元來驗證輔助數(shù)據(jù)的真 實性,則該部件應(yīng)被配置為僅使用輔助數(shù)據(jù)。例如,認(rèn)證單元可以是 單獨的數(shù)字簽名或消息認(rèn)證碼。作為替代,也可例如通過使用諸如 XOR的運算或公共密鑰加密,用密鑰對輔助數(shù)據(jù)進行加密。
在該實施例的一個變體中,認(rèn)證單元是通過將輔助數(shù)據(jù)發(fā)送至第 三方并作為響應(yīng)從第三方接收認(rèn)證單元而獲得的。該實施例確保了在 沒有第三方(通常是相關(guān)部件的提供商)知道的情況下,使得功能被 激活的一方不能提供輔助數(shù)據(jù)。兩個可能的實現(xiàn)選擇是在可信賴的一 方處的黑盒子、以及通過可信賴的一方實時聯(lián)系的IP提供者處的遠(yuǎn) 程服務(wù)器。
在另一個變體中,在將輔助數(shù)據(jù)發(fā)送至第三方之前對輔助數(shù)據(jù)進 行加密。通過加密輔助數(shù)據(jù),確保了第三方不獲得對輔助數(shù)據(jù)本身的 訪問。這防止了他得知如何為特定響應(yīng)構(gòu)建輔助數(shù)據(jù)。這樣,優(yōu)選地 使用隱藏簽名來簽署輔助數(shù)據(jù)。
7另 一個實施例包括從遠(yuǎn)程地點接收遠(yuǎn)程認(rèn)證單元,并且僅當(dāng)4吏用 遠(yuǎn)程認(rèn)證單元可成功地認(rèn)證輔助數(shù)據(jù)時才提供該輔助數(shù)據(jù)。這有助于 保護通信,避免其被偽造及試圖通過發(fā)送隨機選擇的數(shù)據(jù)來使系統(tǒng)超 載。
在另一個實施例中,輔助數(shù)據(jù)被發(fā)送至與從其接收到一個或多個 響應(yīng)的遠(yuǎn)程地點不同的第二個遠(yuǎn)程地點。在該實施例中,要操控系統(tǒng) 是更為困難的?,F(xiàn)在兩方必須協(xié)作。
在另 一實施例中,將接收到的一個或多個噪聲輸出與多個先前接 收到的噪聲輸出進行對比,并且只有當(dāng)先前沒有接收到 一個或多個噪 聲輸出時才提供該輔助數(shù)據(jù)。這提供了防止相同噪聲輸出被提供多次 的重復(fù)攻擊的安全性。這種對比可以是粗略的比較,即接收到的噪聲 輸出可以與先前接收到的噪聲輸出有少許不同。如果匹配被認(rèn)為是 "足夠好"(例如輸出中的卯%的比特是對應(yīng)的),則這種對比被 看作是肯定的。
本發(fā)明還提供了 一種實現(xiàn)所述方法的系統(tǒng)。
參照附圖所示的示例性實施例,本發(fā)明的這些和其它方面將變得
更為清楚,其中
圖1示意性地示出了用于在遠(yuǎn)程地點處受控地激活產(chǎn)品或部件中 的至少一種功能的系統(tǒng)。
圖2示意性地示出了該系統(tǒng)的第一實施例。
圖3示意性地示出了該系統(tǒng)的第二實施例。
圖4示意性地示出了該系統(tǒng)的第三實施例。
在所有附圖中,相同的附圖標(biāo)記表示相似或相應(yīng)的特征。圖中所 示的一些特征通常以軟件來實現(xiàn),如代表軟件實體,諸如軟件;模塊或 對象這樣的軟件。
具體實施方式
圖1示意性地示出了用于在遠(yuǎn)程地點130處受控地激活產(chǎn)品或部件140的至少一種功能142的系統(tǒng)110。產(chǎn)品或部件140 (這里為微芯片)的激活需要在產(chǎn)品或部件140中可獲得正確的激活數(shù)據(jù)項。在這里,所述產(chǎn)品或部件140是微芯片,但是也可以等同地作為任意種類的產(chǎn)品或部件。 一些例子是移動電話、計算機、筆記本電腦、手表、傳感器、機器、飛機、電路板、甚至是計算機軟件。本發(fā)明的唯一要求是所述產(chǎn)品或部件140具有需要以受控方式激活的功能。
遠(yuǎn)程地點130通常是一個組裝或生產(chǎn)所述產(chǎn)品或部件的制造車間或工廠。本文中的術(shù)語"遠(yuǎn)程,,應(yīng)被理解為表明系統(tǒng)110和地點130不是在同一處。在一個實施例中,所述車間或工廠位于中國而系統(tǒng)110位于荷蘭。在另一個實施例中,系統(tǒng)110被實現(xiàn)為要安裝在所述車間或工廠的場所中的某處的黑盒子。
為了能夠?qū)崿F(xiàn)激活,所述產(chǎn)品或部件140帶有不可克隆的單元141。在圖1的實施例中,不可克隆的單元141是微芯片140的一部分,但其也可以被等同地設(shè)置在產(chǎn)品或部件中的其它位置處。例如,可以將不可克隆的單元141設(shè)置在計算機或筆記本電腦的母板上,并被設(shè)置用于同樣出現(xiàn)在該計算機內(nèi)的一個特定芯片的激活。
不可克隆的單元141被檢驗,產(chǎn)生一個或多個噪聲輸出,在圖1
中表示為.....Rn。在該實施例中,通過諸如互聯(lián)網(wǎng)的通信網(wǎng)絡(luò)
120發(fā)送輸出,從而將這些輸出提供給系統(tǒng)110。當(dāng)然,可也等同地使用電話線路或任何其它通信方式。
系統(tǒng)110基于其接收到的噪聲輸出計算輔助數(shù)據(jù)HD,并將該輔助數(shù)據(jù)HD提供回遠(yuǎn)程地點130。在遠(yuǎn)程地點130處,例如通過將其存儲在微芯片的存儲器143中而使得輔助數(shù)據(jù)HD對產(chǎn)品或部件140可用。
輔助數(shù)據(jù)將該一個或多個噪聲輸出變換為應(yīng)當(dāng)對應(yīng)于正確的激活數(shù)據(jù)項的單一值。如果確實獲得了正確的激活數(shù)據(jù)項,則能夠啟用該功能。存在許多可實現(xiàn)上述方案的方式。
如上所述,在一個實施例中的激活是通過將單一值與對于該IP 9塊可用的預(yù)定代碼進行對比而實現(xiàn)的。如果兩者不匹配,則不啟用該功能。
如果產(chǎn)品或部件140是針對FPGA的軟件程序或比特流,則該單一值也可用作對產(chǎn)品或部件140的全部或部分進行解鎖或解密的密鑰。
單一值也可表示要被啟用或禁用的多個功能。這可以通過將單一值當(dāng)作一序列指示符來實現(xiàn),每個指示符表示某一特定功能是否要被啟用。實現(xiàn)上述方案的一種簡單的方式是使用位掩碼。例如,八位位掩碼00101101表示前兩個、第四和第七個功能被禁用,而第三、第五、第六和第八個功能被啟用。
單一值也可用作處理被提供給該產(chǎn)品或部件140的輸入所需的密鑰,例 如用于要解密的視聽內(nèi)容的解密密鑰或者在要與其交換數(shù)據(jù)的認(rèn)證遠(yuǎn)程服務(wù)器(未示出)處對產(chǎn)品或部件進行認(rèn)證。
具體激活哪個功能(或哪些功能)以及如何激活該功能不是本發(fā)明的重點。本發(fā)明要求保護的原理可以被應(yīng)用于啟用或激活任意類型的設(shè)備中的任意功能。然而,出于對本發(fā)明的示例的目的,提供了下述例子
*使得能夠使用高性能音頻和/或視頻編碼或解碼芯片或軟件程序。
*使得能夠通過諸如802.11g這樣的無線網(wǎng)絡(luò)進行通信。
*禁用產(chǎn)品功能方面的人為限制,如時間限制或?qū)γ繂挝粫r間
可傳輸?shù)臄?shù)據(jù)量的限制。*允許下載對產(chǎn)品或其功能的升級或更新。
*使得能夠通過諸如使用HDMI復(fù)制保護協(xié)議的HDTV這樣的安全鏈路進行通信;這里激活是通過獲取正確的認(rèn)證密鑰而發(fā)生的。
*啟用ASIC、 FPGA或相似電路的功能,這例如通過用于解密
音頻-視頻內(nèi)容的設(shè)備使用加密設(shè)備密鑰來實現(xiàn)。*啟用計費使用模型,其中客戶僅針對他所選擇的功能付費??煞謩e激活每種功能,并且分別購買每種功能的認(rèn)證碼。
不可克隆的單元141本身是已知的。這種部件的一個名稱是物理 隨機(不可克隆)功能或PUF。 PUF是包括許多隨機分布部件的復(fù) 雜物理單元。當(dāng)用適當(dāng)?shù)臋z驗進行嘗試時,負(fù)責(zé)物理單元和檢驗(例 如無序介質(zhì)中的多重散射波)之間的互動的復(fù)雜物理單元導(dǎo)致對于每 個單獨檢驗的不同的隨機式樣的輸出或響應(yīng)。
從令牌(token)接收到的響應(yīng)對于噪聲和干擾是易受影響的, 導(dǎo)致每次向PUF呈現(xiàn)一個檢驗時的響應(yīng)都不同。輔助數(shù)據(jù)項提供了 冗余性,以將這些多個噪聲響應(yīng)變換為單一值。該物理令牌的復(fù)雜小 規(guī)模結(jié)構(gòu)使其難以產(chǎn)生物理拷貝。
除了已經(jīng)提到的文獻,下述文獻中也公開了 PUF的例子
1. R. Pappu , B. Recht , J. Taylor , N. Gershenfeld的 "Physical One-Way Functions" , Science雜志第297巻,第2026
頁(2002)
2. P. Tuyls, B. Skoric, S. Stallinga, A. H. Akkermans, W, Ophey 的 "Information-Theoretic Security Analysis of Physical Unclonable Functions', , Financial Cryptography FC, 05, LNCS 3570, Springer出版社,第141頁(2005)
3. B. Skoric, P. Tuyls, W. Ophey的"Robust key extraction from Physical Uncloiiable Functions" , Applied Cryptography and Network Security ACNS 2005 , LNCS 3531 ,第407 — 422頁
(2005 )
4. P. Tuyls, B. Skoric, G. J. Schrijen, R. Wolters, J. van Geloven, N. Verhaegh, H. Kretschmann的"Read-proof hardware from protective coatings" , CHES 2006 to appear ( 2006 )
5. B. Gassend, D. Clarke , M. van Dijk , S. Devadas的 "Silicon Physical Random Functions ,, , 9th ACM Conf. on
Computer and Communications Security ( 2002 )
6. P. Tuyls , B. Skoric 的 "Secret Key Generation fromClassical Physics" , Book Chapter, Hardware Technology Drivers for Ambient Intelligence, Kluwer (2005)
當(dāng)前已知有一些可作為PUF的基礎(chǔ)的物理系統(tǒng)。主要類型是光 學(xué)PUF (見對t匕文4牛1)、'涂層PUF (對》匕文件4 )、娃PUF (對比 文件5)和聲學(xué)PUF (對比文件6)。實際上,具有下述特性的任何 物理系統(tǒng)都可用作PUF,如果其具有下述特性的話
*便宜且容易制造,并涉及隨機的不可控制造過程變化。
對于特征化和模型化是不實際的
*大的輸入/輸出空間
盡管本發(fā)明可應(yīng)用于所有類型的PUF,例如,將光學(xué)PUF的特 定例子視為此處描述的概念的一個具體例子。光學(xué)PUF由運輸材料 構(gòu)成,所述運輸材料由隨機分布的散射微粒構(gòu)成。此處的隨機性是通 過由激光在畸變光學(xué)介質(zhì)中的多次散射所引起的斑點圖案的唯一性和 不可預(yù)測性提供的(對比文件2)。對于固定波長的入射光,輸入是 波前中的入射角、焦距、掩模圖案或任何其它可再現(xiàn)的改變。輸出是 所得到的斑點圖案。即使給定了散射的所有精確細(xì)節(jié),要恢復(fù)某個特 定的斑點圖案也是極為困難的。關(guān)于PUF的更多信息和用于穩(wěn)定 PUF的輔助數(shù)據(jù)的構(gòu)建,讀者可查閱上述文獻。
為了防止遠(yuǎn)程地點130處的攻擊者(例如運營工廠的制造商)訪 問一個或多個噪聲輸出和/或輔助數(shù)據(jù),可使用該攻擊者不知道的密 鑰或算法對其中一項或者這兩者進行加密。例如,產(chǎn)品或部件"0可 使用固定密鑰向一個或多個噪聲輸出應(yīng)用簡單的基于XOR的加密。 在更為復(fù)雜的設(shè)置中,產(chǎn)品或部件140和系統(tǒng)110可建立安全認(rèn)證通 道來安全地交換一個或多個噪聲輸出和/或輔助數(shù)據(jù)。
一個優(yōu)選的實施例是使系統(tǒng)110例如通過使用對于系統(tǒng)110來說 已知的保密密鑰創(chuàng)建針對輔助數(shù)據(jù)的數(shù)字簽名或消息認(rèn)證碼來產(chǎn)生用 于輔助數(shù)據(jù)的認(rèn)證單元。根據(jù)所使用的認(rèn)證算法或技術(shù),可將認(rèn)證內(nèi) 容與未經(jīng)處理的輔助數(shù)據(jù)一起傳輸,或者取代未經(jīng)處理的輔助數(shù)據(jù)傳 輸。例如,當(dāng)使用如RSA的算法產(chǎn)生數(shù)字簽名時,該數(shù)字簽名可代 12替輔助數(shù)據(jù)本身來使用,因為當(dāng)數(shù)字簽名得到成功驗證時可恢復(fù)輔助 數(shù)據(jù)。
在該實施例中,產(chǎn)品或部件140被配置為只有當(dāng)4吏用該認(rèn)證單元 能夠驗證輔助數(shù)據(jù)的真實性時才使用輔助數(shù)據(jù)。當(dāng)使用公共/保密密 鑰密碼數(shù)字簽名時,產(chǎn)品或部件140存儲對應(yīng)于上述保密密鑰的公共 密鑰,以使得能夠進行這樣的驗證。公共/保密密鑰密碼術(shù)和數(shù)字簽 名驗證是熟知的,并且將不進一步詳細(xì)闡述。
這避免了由未經(jīng)授權(quán)的第三方傳遞輔助數(shù)據(jù)。即使一些第三方試 圖確定如何產(chǎn)生特定的輔助數(shù)據(jù)以實現(xiàn)特定的功能,他也不能創(chuàng)建正 確的認(rèn)證單元,從而不能激活該功能。
圖2示出了系統(tǒng)110的另一實施例,其中引入了第三方200。第 三方200向系統(tǒng)IIO提供認(rèn)證單元,該認(rèn)證單元被用于建立輔助數(shù)據(jù) 的真實性。系統(tǒng)IIO接著將該認(rèn)證單元傳遞至遠(yuǎn)程地點。
一個優(yōu)選的實施例是使第三方200通過用第三方已知的保密密鑰 對輔助數(shù)據(jù)進行加密而產(chǎn)生數(shù)字簽名或加密。這在圖2中由ESKTP (HD)("用輔助數(shù)據(jù)的第三方的保密密鑰加密,,的簡稱)表示。
根據(jù)所使用的數(shù)字簽名算法或技術(shù),可將認(rèn)證單元與未經(jīng)處理的 輔助數(shù)據(jù)一起傳輸,或者取代所述未經(jīng)處理的輔助數(shù)據(jù)傳輸。
在該實施例中,產(chǎn)品或部件140被配置為只有當(dāng)使用該認(rèn)證單元 能夠驗證輔助數(shù)據(jù)的真實性時才使用輔助數(shù)據(jù)。在前述的優(yōu)選實施例 中,產(chǎn)品或部件140存儲對應(yīng)于上述保密密鑰的公共密鑰,以使得能 夠進行這樣的驗證。
圖3示出了系統(tǒng)110的又一實施例,其中在將輔助數(shù)據(jù)發(fā)送至第 三方之前對所述輔助數(shù)據(jù)進行加密??墒褂脤ΨQ或非對稱密碼對輔助 數(shù)據(jù)進行加密。這防止了第三方觀測到實際的輔助數(shù)據(jù)。這由EPKC (HD)("用部件的公共密鑰加密"的簡稱)表示。第三方200產(chǎn) 生用于加密后的輔助數(shù)據(jù)的數(shù)字簽名ESKTP (EPKC (HD))。
現(xiàn)在,產(chǎn)品或部件140將對應(yīng)于上述公共密鑰PKC的保密密鑰 存儲在例如存儲器143中。該實施例中的產(chǎn)品或部件140被配置只有當(dāng)(1)可使用上述保密密鑰成功地對認(rèn)證單元EPKC (HD)進行解 密,并且(2)可使用該認(rèn)證單元驗證輔助數(shù)據(jù)HD的真實性時,才 使用該輔助數(shù)據(jù)。
圖4示出了系統(tǒng)110的又一實施例,其中遠(yuǎn)程地點130包括遠(yuǎn)程 認(rèn)證單元?,F(xiàn)在,只有當(dāng)可使用遠(yuǎn)程認(rèn)證單元成功地認(rèn)證輔助數(shù)據(jù), 系統(tǒng)110才提供該輔助數(shù)據(jù)。優(yōu)選地,使用對于遠(yuǎn)程地點130或者對 于產(chǎn)品或部件140來說已知的保密密鑰產(chǎn)生用于響應(yīng)的數(shù)字簽名。這 在圖4中由ESKRL (R!,…,Rn)("用響應(yīng)的遠(yuǎn)程地點的保密密鑰 加密"的簡稱)表示。
在另一個實施例(未示出)中,接收到的一個或多個輸出 Rp…,Rn與多個先前接收到的噪聲輸出進行對比,如果先前還未 接收到一個或多個噪聲輸出,則僅提供輔助數(shù)據(jù)。在該實施例中的系 統(tǒng)110可以具有用于存儲接收到的噪聲輸出的數(shù)據(jù)庫??纱嬖肼曒?出本身存儲噪聲輸出的簡短表示(例如,散雜版本),以降低存儲要 求。例如,可向噪聲輸出應(yīng)用散雜函數(shù),并且可存儲該函數(shù)的輸出。 匹配散雜更為有效,并且仍能確定先前是否接收到了完全相同的噪聲 響應(yīng)。
應(yīng)注意,上述實施例示出了而非限制本發(fā)明,并且本領(lǐng)域技術(shù)人 員能夠在不偏離所附權(quán)利要求的范圍的情況下設(shè)計出許多作為替代的 實施例。例如,可以將圖2, 3和/或4中的實施例組合起來,以有利 地將它們中的一些或所有的益處結(jié)合在一起。作為另一個例子,可將 輔助數(shù)據(jù)發(fā)送至與接收到了一個或多個響應(yīng)的遠(yuǎn)程地點不同的第二遠(yuǎn) 程地點。
在權(quán)利要求書中,放置在括號之間的任何附圖標(biāo)記不應(yīng)理解為限 制該權(quán)利要求。術(shù)語"包括,,不排除除了在權(quán)利要求中列出的那些以 外的其它單元或步驟。在單元前面的詞語"一個"或"一種"不排除
存在多個這樣的單元。本發(fā)明也可通過包括多個不同單元的硬件,并
且通過適當(dāng)編程的計算機來實現(xiàn)。
在列舉了若干裝置的設(shè)備權(quán)利要求中,這些裝置中的若干個裝置
14可通過同 一個硬件項來實現(xiàn)。在相互不同的從屬權(quán)利要求中陳述某些 措施的事實并不表明不能使用這些措施的組合以利用其優(yōu)點。
權(quán)利要求
1.一種在遠(yuǎn)程地點處受控地激活產(chǎn)品或部件中的至少一種功能的方法,所述激活需要在產(chǎn)品或部件中能夠獲得正確的激活數(shù)據(jù)項,其特征在于,從遠(yuǎn)程地點接收與該部件相關(guān)聯(lián)的不可克隆的單元的一個或多個噪聲輸出,并且將輔助數(shù)據(jù)提供至所述遠(yuǎn)程地點,所述輔助數(shù)據(jù)將所述一個或多個噪聲輸出變換為對應(yīng)于正確的激活數(shù)據(jù)項的單一值。
2. 如權(quán)利要求1所述的方法,還包括將用于建立輔助數(shù)據(jù)的真 實性的認(rèn)證單元發(fā)送至所述遠(yuǎn)程地點。
3. 如權(quán)利要求2所述的方法,其中所述認(rèn)證單元是通過將輔助 數(shù)據(jù)發(fā)送至第三方并作為響應(yīng)從所述第三方接收認(rèn)證單元來獲得的。
4. 如權(quán)利要求3所述的方法,其中在將所述輔助數(shù)據(jù)發(fā)送至第 三方之前對該輔助數(shù)據(jù)進行加密。
5. 權(quán)利要求1所述的方法,還包括從所述遠(yuǎn)程地點接收遠(yuǎn)程認(rèn) 證單元,并且只有當(dāng)能夠使用遠(yuǎn)程認(rèn)證單元成功地認(rèn)證輔助數(shù)據(jù)時才 提供該輔助數(shù)據(jù)。
6. 權(quán)利要求1所述的方法,其中所述輔助數(shù)據(jù)^皮發(fā)送至與已接 收到一個或多個響應(yīng)的遠(yuǎn)程地點不同的第二個遠(yuǎn)程地點。
7. 權(quán)利要求1所迷的方法,其中將接收到的一個或多個噪聲輸 出與多個先前接收到的噪聲輸出進行對比,如果先前還未接收到一個 或多個噪聲輸出則僅提供該輔助數(shù)據(jù)。
8. —種在遠(yuǎn)程地點處受控地激活產(chǎn)品或部件中的至少一種功能 的系統(tǒng),所述激活需要在所述產(chǎn)品或部件中能夠獲得正確的激活數(shù)據(jù) 項,其特征在于,具有用于從所述遠(yuǎn)程地點接收與該部件相關(guān)聯(lián)的不 可克隆的單元的一個或多個噪聲輸出的接收裝置,以及用于將輔助數(shù) 據(jù)提供至所述遠(yuǎn)程地點的裝置,所述輔助數(shù)據(jù)將所述一個或多個噪聲 輸出變換為對應(yīng)于正確的激活數(shù)據(jù)項的單一值。
全文摘要
用于在遠(yuǎn)程地點處受控地激活產(chǎn)品或部件中的至少一種功能的方法和系統(tǒng)(110),所述激活需要在產(chǎn)品或部件中能夠獲得正確的激活數(shù)據(jù)項。所述方法包括從遠(yuǎn)程地點處接收與該部件相關(guān)聯(lián)的不可克隆的單元的一個或多個噪聲輸出,并且將輔助數(shù)據(jù)提供至遠(yuǎn)程地點,所述輔助數(shù)據(jù)將所述一個或多個噪聲輸出變換為對應(yīng)于正確的激活數(shù)據(jù)項的單一值。
文檔編號H04L29/06GK101682612SQ200880011860
公開日2010年3月24日 申請日期2008年4月4日 優(yōu)先權(quán)日2007年4月12日
發(fā)明者D·W·E·斯科博恩, J·C·特拉斯特拉, P·T·圖易爾斯 申請人:本質(zhì)Id有限責(zé)任公司