專利名稱:安全存儲(chǔ)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及安全存儲(chǔ)器。
背景技術(shù):
數(shù)字?jǐn)?shù)據(jù)存儲(chǔ)領(lǐng)域中的安全性變得越來越重要。這一主題曾經(jīng)
主要與計(jì)算機(jī)服務(wù)器相關(guān),現(xiàn)在它已從桌面PC擴(kuò)展至各種便攜式設(shè) 備如MP3播放器、移動(dòng)電話,以及嵌入式存儲(chǔ)設(shè)備如存儲(chǔ)卡、USB 密鑰、智能卡等等。在使用存儲(chǔ)中數(shù)據(jù)的應(yīng)用的數(shù)量增長(zhǎng)的同時(shí),存 儲(chǔ)和/或應(yīng)用的供應(yīng)商的數(shù)量也在增長(zhǎng)。這使得對(duì)安全等級(jí)進(jìn)行評(píng)估 越來越困難。在這種運(yùn)行著越來越多軟件的不同敏感平臺(tái)的數(shù)量不斷 增長(zhǎng)的背景下,易感性(liability)正在增長(zhǎng)。為了使用例如類似 Windows Media DRM或Apples Fairplay的常用DRM應(yīng)用的任意常 用DRM (數(shù)字版權(quán)管理),這些DRM應(yīng)用可以用于音樂和/或視頻 下載,用戶將要收到各種限制,例如內(nèi)容可以呈現(xiàn)在何種類型或者數(shù) 量的平臺(tái)上、內(nèi)容可以呈現(xiàn)的最長(zhǎng)持續(xù)時(shí)間、對(duì)可制作復(fù)件的數(shù)量進(jìn) 行限制等等。實(shí)施DRM系統(tǒng)的公司必須同意通常要求最低安全級(jí)別 的魯棒性規(guī)則,例如保證實(shí)施不能被簡(jiǎn)單手段危及安全。在安全被破 壞時(shí)會(huì)有嚴(yán)重的后果。
在安全敏感應(yīng)用中的一個(gè)普遍問題是存儲(chǔ)器,比如磁存儲(chǔ)器(例 如硬盤)、光學(xué)存儲(chǔ)器(例如CD類、DVD類、藍(lán)光光盤類、HD-DVD 類)、電子存儲(chǔ)器(例如Flash、 M-RAM等)。某些數(shù)據(jù)需要在較 長(zhǎng)時(shí)期內(nèi)持續(xù)存儲(chǔ)。存儲(chǔ)中的數(shù)據(jù)也可能需要防范被修改和/或讀取。 習(xí)慣上,保護(hù)措施被內(nèi)置于操作系統(tǒng)或文件系統(tǒng)中。此外,鑒于存儲(chǔ) 器可以輕易地被移至不遵守這些保護(hù)措施的平臺(tái)的事實(shí),一般使用加 密技術(shù)以獲得可靠性和/或保密性。加密技術(shù)需要密鑰。通常,使用 所謂的主密鑰導(dǎo)出專用密鑰來用于多個(gè)應(yīng)用,比如認(rèn)證或解密/去擾,或用于多種用途,例如針對(duì)特定目的的個(gè)人信息、數(shù)據(jù)庫(kù)中的不同文 件或者甚至不同記錄的不同加密,等等。以常規(guī)方式使用密鑰會(huì)引入 可以通過逆向操作或復(fù)制找到密鑰的風(fēng)險(xiǎn)。經(jīng)常地,機(jī)密密鑰被嵌入 需要通過此密鑰安全存儲(chǔ)和編碼和/或認(rèn)證的計(jì)算機(jī)程序(應(yīng)用程序) 的二進(jìn)制映像中。特定的風(fēng)險(xiǎn)發(fā)生在通過常規(guī)處理器執(zhí)行加密處理的 系統(tǒng)中。在這種系統(tǒng)中,密鑰的表示可以以普通(未編碼的/未保護(hù)
的)形式出現(xiàn)在主存儲(chǔ)器(通常是RAM)中。業(yè)界一直努力使此類
密鑰變模糊。然而,模糊處理經(jīng)常涉及到當(dāng)前應(yīng)用的重大調(diào)整。
近來,所謂的物理不可復(fù)制功能模塊(PUF )被Pappu在"Physical One-Way Functions" (MIT,2001年3月)中提出,其作為用于加密的 目的生成安全密鑰的成本有效方式。PUF被描述為用作散列函數(shù)以 及用作認(rèn)證的目的。由于數(shù)據(jù)實(shí)質(zhì)上通過PUF被存儲(chǔ)在材料中而不 是電路中,此技術(shù)也可以用作需要認(rèn)證的設(shè)備部件如安全感應(yīng)器的一 部分。各種進(jìn)一步的開發(fā)集中于開發(fā)不同類型的PUF。基于PUF極 其有用的特性響應(yīng)的唯一性和PUF的不可復(fù)制性,PUF的應(yīng)用集 中于將PUF用作針對(duì)智能卡和信用卡的唯一標(biāo)識(shí)符或用作兩個(gè)部件 間的用于密碼生成(普通隨機(jī))的"廉價(jià)"來源,見P.Tuyls等人 "Information-Theoretic Security Analysis of Physical Uncloneable Functions"。
上述的使操作系統(tǒng)保持僅對(duì)帶有某些特征(比如當(dāng)前用戶的應(yīng)
用)的實(shí)體限制數(shù)據(jù)訪問的方法,具有以下問題如果操作系統(tǒng)中的 漏洞被發(fā)現(xiàn)、如果具有相同權(quán)限的其他應(yīng)用能夠?qū)?shù)據(jù)進(jìn)行訪問、或 者如果在初始位置寫數(shù)據(jù)的應(yīng)用可以被更改來破壞數(shù)據(jù),那么用戶是 易受攻擊的。最后一條尤其令人擔(dān)憂。在國(guó)際互聯(lián)網(wǎng)上,公布有各種 補(bǔ)丁以使應(yīng)用程序可被改變以避開某些限制。尤其在游戲領(lǐng)域是非常 普遍的。
最后,安全存儲(chǔ)器還有一個(gè)問題,即對(duì)存儲(chǔ)進(jìn)行復(fù)制。通過從 一個(gè)設(shè)備把存儲(chǔ)復(fù)制到另一個(gè)設(shè)備,用戶可以得到與存儲(chǔ)的初始擁有 者相同的權(quán)限。
發(fā)明內(nèi)容
有利的是,提供具有低復(fù)雜度和高安全性的系統(tǒng)和方法。 為更好地解決這一問題,在本發(fā)明的第一方面中,用于安全地 存儲(chǔ)數(shù)字?jǐn)?shù)據(jù)的系統(tǒng)包括 數(shù)據(jù)存儲(chǔ)器;
物理不可復(fù)制功能模塊,以下稱作PUF,包括用于接收詢問的
輸入端和用于對(duì)詢問產(chǎn)生響應(yīng)的輸出端;
用于確定與數(shù)據(jù)存儲(chǔ)器相關(guān)聯(lián)的標(biāo)識(shí)符的裝置; 用于將標(biāo)識(shí)符的表示作為詢問提供至PUF并且從PUF獲取相應(yīng)
的響應(yīng)的裝置;
用于執(zhí)行針對(duì)防護(hù)或者校驗(yàn)存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器中的數(shù)字內(nèi)容項(xiàng) 的加密操作的加密單元,其中加密操作是在通過接收到的響應(yīng)導(dǎo)出的 加密密鑰的控制下執(zhí)行的。
根據(jù)本發(fā)明,PUF用來生成加密密鑰。PUF的輸入與數(shù)據(jù)存儲(chǔ) 器相關(guān)聯(lián)。同樣,PUF將加密密鑰綁定到數(shù)據(jù)存儲(chǔ)器。因?yàn)镻UF是 不可復(fù)制的,對(duì)存儲(chǔ)于數(shù)據(jù)存儲(chǔ)器中的內(nèi)容進(jìn)行復(fù)制變得無效。如果 沒有初始PUF,在已復(fù)制內(nèi)容項(xiàng)上的加密操作將不產(chǎn)生預(yù)期結(jié)果。 所述加密操作可以是任意加密操作,優(yōu)選是認(rèn)證或加密/解密。
在一個(gè)實(shí)施例中,饋送至PUF的標(biāo)識(shí)符得自數(shù)據(jù)存儲(chǔ)器本身(例 如存儲(chǔ)標(biāo)識(shí)符)、系統(tǒng)的用戶(例如用戶名、和/或口令)或內(nèi)容項(xiàng) (例如數(shù)字內(nèi)容項(xiàng)的標(biāo)識(shí)符,比如文件名;數(shù)字內(nèi)容項(xiàng)的記錄的標(biāo)識(shí) 符;或數(shù)字內(nèi)容項(xiàng)本身)。
在一個(gè)實(shí)施例中,加密單元包括處理器和該系統(tǒng)包括用來使處 理器執(zhí)行加密操作的至少一部分的計(jì)算機(jī)程序;標(biāo)識(shí)符通過至少一種 計(jì)算機(jī)程序的表示來導(dǎo)出。通過至少部分地使用程序?qū)С鰳?biāo)識(shí)符, PUF被綁定到應(yīng)用本身。這使得對(duì)程序的復(fù)制或篡改更加困難。程 序可以是應(yīng)用程序也可以是操作系統(tǒng)或操作系統(tǒng)的一部分。
在一個(gè)實(shí)施例中,系統(tǒng)包括用來計(jì)算與數(shù)據(jù)存儲(chǔ)器相關(guān)聯(lián)的標(biāo) 識(shí)符的散列以及將此散列用作提供至PUF的表示的裝置。通過使用 散列,標(biāo)識(shí)符可以被牢固地綁定至更多數(shù)字信息,比如全部數(shù)字內(nèi)容或全部應(yīng)用程序。這使得很難修改內(nèi)容或應(yīng)用程序的即使很小一部 分。
在一個(gè)實(shí)施例中,系統(tǒng)包括多個(gè)應(yīng)用程序;每個(gè)應(yīng)用程序使用 存儲(chǔ)于數(shù)據(jù)存儲(chǔ)器中的相關(guān)聯(lián)數(shù)字內(nèi)容項(xiàng),并且每個(gè)應(yīng)用程序被配置 為在加密密鑰的控制下執(zhí)行加密操作來防護(hù)或認(rèn)證關(guān)聯(lián)數(shù)字內(nèi)容項(xiàng); 與數(shù)據(jù)存儲(chǔ)器相關(guān)聯(lián)的標(biāo)識(shí)符通過至少應(yīng)用程序和/或與應(yīng)用程序相 關(guān)聯(lián)的數(shù)字內(nèi)容項(xiàng)導(dǎo)出,因而標(biāo)識(shí)符針對(duì)應(yīng)用程序是唯一的。每個(gè)應(yīng) 用程序可以對(duì)各個(gè)內(nèi)容項(xiàng)操作,然而也可以對(duì)相同內(nèi)容項(xiàng)操作。根據(jù) 本發(fā)明,針對(duì)每個(gè)應(yīng)用程序唯一的標(biāo)識(shí)符被饋送至PUF,產(chǎn)生唯一 的加密密鑰。于是,如果某個(gè)密鑰被破解,系統(tǒng)的其余部分不受影響, 因?yàn)槊荑€在PUF本身沒有透露任何信息。在常規(guī)系統(tǒng)中使用主密鑰 來導(dǎo)出專用密鑰。破解專用密鑰之一會(huì)透露出有關(guān)主密鑰的信息,這 會(huì)削弱系統(tǒng)。
在一個(gè)實(shí)施例中,PUF與數(shù)據(jù)存儲(chǔ)器是物理集成的。通過將PUF 和存儲(chǔ)器物理集成,建立了能夠加強(qiáng)PUF所生成的密鑰和存儲(chǔ)器之 間的綁定的物理連接。
在一個(gè)實(shí)施例中,數(shù)據(jù)存儲(chǔ)器是光學(xué)類型,PUF是光學(xué)類型, PUF被集成在數(shù)據(jù)存儲(chǔ)器的光學(xué)載體中。光學(xué)PUF具有良好的加密 特性并且可以被集成在用于光學(xué)存儲(chǔ)器的透明光學(xué)基片中。這種集成 在PUF和存儲(chǔ)器之間建立牢固的物理聯(lián)系并且實(shí)現(xiàn)非常安全的PUF。
在一個(gè)實(shí)施例中,數(shù)據(jù)存儲(chǔ)器在半導(dǎo)體器件上被實(shí)施并且PUF 被集成在半導(dǎo)體器件上。通過將PUF集成到半導(dǎo)體器件中,可以實(shí) 現(xiàn)低成本和牢固綁定。在其他實(shí)施例中,PUF是光學(xué)類型或電子類 型。使用電子類型PUF是非常低成本的,因?yàn)檫@不需要額外的處理 步驟。使用集成于半導(dǎo)體器件中的光學(xué)PUF提供了強(qiáng)大的保護(hù)。
本發(fā)明的這些和其它方面將通過參考下文描述的實(shí)施例闡明并 且由此是顯而易見的。
附圖中圖1例示了其中可以應(yīng)用本發(fā)明的示例性系統(tǒng)的框圖2例示了其中PUF被用來將存儲(chǔ)器綁定至程序的實(shí)施例的框
圖3例示了其中應(yīng)用了散列的另一實(shí)施例的框圖; 圖4例示了其中綁定是專用的另一實(shí)施例。
具體實(shí)施例方式
在圖中使用相同參考數(shù)字處,除非指明不同,將代表相同的功 會(huì)g。本發(fā)明涉及使用'物理不可復(fù)制功能模塊'(PUF)來防護(hù)存儲(chǔ)在 數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)。盡管作為加密領(lǐng)域中的較新發(fā)展,就其本身而 言,PUF是公知的。PUF可以被看作是由物理系統(tǒng)實(shí)現(xiàn)的功能模塊, 使得此功能模塊易于被評(píng)估而物理系統(tǒng)難于描述。PUF由Pappu提 出,作為用于加密目的生成安全密鑰的低成本方式。PUF包含固有 地不可復(fù)制的物理對(duì)象(由于在該對(duì)象的生產(chǎn)期間其包含許多不可控 的("隨機(jī)")參數(shù))。在將激勵(lì)(一般稱為詢問)提供給對(duì)象時(shí),它 以能被測(cè)量的響應(yīng)來響應(yīng)。這種詢問一響應(yīng)行為完整地描述這種結(jié) 構(gòu)。此外這種結(jié)構(gòu)是篡改明顯(tamper-evident)的,也就是說如果 此結(jié)構(gòu)被物理損毀(通過沖擊),其詢問一響應(yīng)行為將明顯地改變。
通過應(yīng)用將PUF存儲(chǔ)來表示加密密鑰,此密鑰變得不可復(fù)制。 從而,它不會(huì)被泄漏或復(fù)制。PUF是被設(shè)計(jì)使得其采用激勵(lì)(詢問) 以復(fù)雜的方式進(jìn)行交互并且產(chǎn)生唯一但不可預(yù)測(cè)的響應(yīng)的物理系統(tǒng)。 因此,PUF類似于帶密鑰的散列函數(shù),其中材料起到密鑰的作用。 為了變得難以表征,系統(tǒng)應(yīng)不允許通過測(cè)量對(duì)其交互組件的相關(guān)特性 進(jìn)行有效提取。由不可控的生成過程產(chǎn)生的物理系統(tǒng),例如包含某些 隨機(jī)性的物理系統(tǒng),將會(huì)是PUF的良好選擇。由于這種隨機(jī)性,難 以生成PUF的物理復(fù)制。此外,如果物理功能是基于許多復(fù)雜的相 互作用,那么數(shù)學(xué)建模也是非常困難的。這兩種特性可被共同稱作不 可復(fù)制性。
圖1例示了其中可以應(yīng)用本發(fā)明的示例性系統(tǒng)100的框圖。此 系統(tǒng)用于安全地存儲(chǔ)數(shù)字?jǐn)?shù)據(jù)。數(shù)據(jù)本身包括至少一個(gè)可以采取任意
9形式的內(nèi)容項(xiàng),比如文件(例如由文字處理、電子表格程序、表示所 產(chǎn)生的)、程序(例如具有源代碼、可執(zhí)行格式,或可編譯格式如
Java)、數(shù)字音頻(例如具有MP3、 WMA、 AAC等格式的內(nèi)容項(xiàng))、 以及圖像、視頻等等。數(shù)據(jù)也可以非常小,比如存儲(chǔ)于智能卡中的信 息。內(nèi)容項(xiàng)還可以是使用數(shù)據(jù)的一個(gè)特定應(yīng)用所需要的信息。例如, 智能卡可以包含針對(duì)銀行、商店、加油站等的單個(gè)的內(nèi)容項(xiàng)(或內(nèi)容 項(xiàng)組)。系統(tǒng)IOO包括數(shù)據(jù)存儲(chǔ)器110。數(shù)據(jù)存儲(chǔ)器可以采取任意合 適的形式,比如硬盤、光學(xué)存儲(chǔ)器(例如CD、DVD、藍(lán)光光盤、HD-DVD 類)或嵌入半導(dǎo)體器件(例如Flash、 M-RAM、智能卡等)。系統(tǒng) 100還包括物理不可復(fù)制功能模塊(PUF) 120。 PUF120包括用于接 收詢問的輸入端122和用于對(duì)詢問產(chǎn)生響應(yīng)的輸出端124。顯然地, PUF還包含在材料的物理特性或生成材料的物理/化學(xué)過程的物理材 料126中固有的"隨機(jī)"特性。PUF還包含探測(cè)單元128,其取決于由 輸入端122接收到的值來測(cè)量/感應(yīng)材料126的特性。PUF本身不是 本發(fā)明的主題。原則上,任意合適的PUF均可以被應(yīng)用。PUF也包 含預(yù)處理單元125和后處理單元。預(yù)處理單元125可以例如對(duì)已接收 輸入執(zhí)行散列法操作。散列法操作的輸出(散列)接著被提供至探測(cè) 單元128。后處理單元127可以對(duì)探測(cè)單元128的輸出執(zhí)行后處理。 例如,如果探測(cè)單元提供與沒有信息的位(例如大量'O'位)混合的 有用信息,散列可以用來壓縮輸出。眾所周知,探測(cè)單元常常受到干 擾。即使是對(duì)完全相同的激勵(lì)(輸入),由探測(cè)單元生成的響應(yīng)在每 個(gè)計(jì)算上也可以有輕微地差異。已知使用糾錯(cuò)代碼"濾出"這種干擾。 塊127可以根據(jù)可能存儲(chǔ)于PUF 120的存儲(chǔ)器(未示出)中的輔助 數(shù)據(jù)執(zhí)行這種濾除。
系統(tǒng)100還包括用于確定與數(shù)據(jù)存儲(chǔ)器相關(guān)聯(lián)的標(biāo)識(shí)符的裝置 130。任意適用的裝置均可以被用作此部分。在實(shí)施例中,標(biāo)識(shí)符至 少通過以下之一導(dǎo)出.-
數(shù)據(jù)存儲(chǔ)器本身。例如存儲(chǔ)器標(biāo)識(shí)符(圖1中的Stor-ID)可以 從存儲(chǔ)器讀取,通過使用常規(guī)的方法來從存儲(chǔ)器讀取數(shù)據(jù)。優(yōu)選地, 標(biāo)識(shí)符以無法通過常規(guī)的程序直接讀取的普通格式的方式存儲(chǔ)。例如,標(biāo)識(shí)符可以被存儲(chǔ)于只能通過操作系統(tǒng)的安全功能訪問的存儲(chǔ)介 質(zhì)的扇區(qū),標(biāo)識(shí)符也可以以模糊格式(使用任意適用的模糊功能)存 儲(chǔ)或以加密格式存儲(chǔ)。
系統(tǒng)的用戶。可以使用例如用戶名、和/或密碼或用戶。用戶的 識(shí)別信息可以與由計(jì)算機(jī)的操作系統(tǒng)所使用的相同。此外可以使用專 用技術(shù)比如生物測(cè)定學(xué)來獲取安全格式的用戶本身。
數(shù)字內(nèi)容項(xiàng)。例如可以使用數(shù)字內(nèi)容項(xiàng)的標(biāo)識(shí)符,比如目錄名 (例如圖1中的ID-1)或文件名(例如ID-1-1、 ID-l-2、 ID-2)。局 部的標(biāo)識(shí)符,比如像數(shù)據(jù)庫(kù)中的字段名(例如例示為ID-2-l、 ID-2-2、 ID-2-3)、數(shù)字內(nèi)容項(xiàng)名(例如C-2-l、 C-2-2、 C-2-3)的記錄標(biāo)識(shí) 符也可以被使用。標(biāo)識(shí)符也可以由數(shù)字內(nèi)容項(xiàng)本身或數(shù)字內(nèi)容項(xiàng)的部 分直接導(dǎo)出,例如通過將數(shù)字內(nèi)容項(xiàng)的散列(部分)用作標(biāo)識(shí)符。
所述系統(tǒng)還包括裝置140和加密單元150,其中裝置140用來將 標(biāo)識(shí)符表示提供至PUF作為詢問并從PUF獲得相應(yīng)響應(yīng),加密單元 150用于執(zhí)行針對(duì)防護(hù)和認(rèn)證存儲(chǔ)于數(shù)據(jù)存儲(chǔ)器中的數(shù)字內(nèi)容項(xiàng)安 全的加密操作,加密操作在通過已接收的響應(yīng)導(dǎo)出的加密密鑰的控制 下執(zhí)行。裝置140可以以非常直接的格式實(shí)施,例如在硬件中簡(jiǎn)單地 將裝置130的輸出端連接至PUF的輸入端122以及將PUF的輸出端 124連接至加密單元150。加密單元150可以執(zhí)行任意能夠使存儲(chǔ)于 存儲(chǔ)器110中的內(nèi)容項(xiàng)的安全性增強(qiáng)的加密技術(shù)。
根據(jù)本發(fā)明的系統(tǒng)可以用于將內(nèi)容項(xiàng)存儲(chǔ)(寫)至數(shù)據(jù)存儲(chǔ)器 110、從數(shù)據(jù)存儲(chǔ)器IIO讀取內(nèi)容項(xiàng)或兩者均可。優(yōu)選地,加密操作 至少是下列之一
認(rèn)證,例如加密的數(shù)字標(biāo)簽被存儲(chǔ)于數(shù)據(jù)存儲(chǔ)器用于隨后的驗(yàn) 證。此操作特別適用于寫操作。
校驗(yàn)認(rèn)證,例如讀取和校驗(yàn)標(biāo)簽。此操作特別適用于隨后的內(nèi) 容項(xiàng)讀取或者先校驗(yàn)數(shù)據(jù)存儲(chǔ)器然后執(zhí)行寫操作。
加密。此操作特別適用于以加密格式寫內(nèi)容項(xiàng)。
解密。此操作特別適用于在解密讀取內(nèi)容項(xiàng)之后讀取己加密內(nèi) 容項(xiàng)。
11驗(yàn)證和加密/解密本身可以使用任意適用形式。
正如已知的,PUF可以生成加密密鑰。PUF的輸出(響應(yīng))可 以直接饋送至加密單元150。如果需要,可以在將響應(yīng)提供至加密單 元150之前先對(duì)所述響應(yīng)執(zhí)行某些操作,比如將響應(yīng)與其他類似密鑰 的數(shù)據(jù)合并和/或?qū)憫?yīng)執(zhí)行常規(guī)的散列。這種后處理可以由單元127 執(zhí)行。
根據(jù)本發(fā)明,存儲(chǔ)器110中的數(shù)據(jù)現(xiàn)在通過加密單元150來防 護(hù),并且存儲(chǔ)器110被鏈接至通過PUF嵌入硬件中的硬器材(hard pr叩erty)。在PUF的輸入與存儲(chǔ)器相關(guān)聯(lián)處,PUF的輸出用于加密 安全。用這種方式,某些已知攻擊得以避免或更加困難。特別是復(fù)制 攻擊得以被避免(因?yàn)镻UF不可以被復(fù)制,所以存儲(chǔ)也不能被復(fù)制)。 系統(tǒng)也可以由定性術(shù)語來更好地描述,并且因此更適于評(píng)價(jià)。
在如圖2所示的優(yōu)選實(shí)施例中,加密單元150包括處理器152。 處理器可以是任意適用的類型,例如常規(guī)的PC類處理器、嵌入式微 控制器、或VLIW (比如用于對(duì)流數(shù)字內(nèi)容執(zhí)行加密或信號(hào)處理操 作)。系統(tǒng)IOO還包括用來使處理器152執(zhí)行至少是加密操作的一部 分的計(jì)算機(jī)程序154。優(yōu)選地,計(jì)算機(jī)程序被存儲(chǔ)于數(shù)據(jù)存儲(chǔ)器110 中。執(zhí)行期間,計(jì)算機(jī)程序被加載至加密單元150的存儲(chǔ)器(未示出) 中,比如RAM。在這個(gè)實(shí)施例中,單元130從計(jì)算機(jī)程序154的表 示中得出標(biāo)識(shí)符。單元130也可以使用其他與數(shù)據(jù)存儲(chǔ)器110關(guān)聯(lián)的 輸入來確定標(biāo)識(shí)符。用這種方法,實(shí)際加密單元150通過程序被綁定 至存儲(chǔ)器。篡改程序154會(huì)引起標(biāo)識(shí)符的更改。結(jié)果,對(duì)PUF 120 的詢問將被改變并且程序154所使用的加密密鑰將會(huì)不同。解密/認(rèn) 證檢査將會(huì)出錯(cuò)。優(yōu)選地,標(biāo)識(shí)符取決于存儲(chǔ)器的表示(比如類似 Stor-ID的存儲(chǔ)器標(biāo)識(shí)符)、要被加密的內(nèi)容(比如內(nèi)容標(biāo)識(shí)符或內(nèi) 容的一部分)以及執(zhí)行加密操作的程序。合成標(biāo)識(shí)符可以通過簡(jiǎn)單地 級(jí)連這些子標(biāo)識(shí)符來產(chǎn)生。程序可以是應(yīng)用程序,比如媒體播放器。 可替換地或者另外,程序也可以表示參與加密操作的操作系統(tǒng)或操作 系統(tǒng)的一部分。例如,動(dòng)態(tài)鏈接庫(kù)(DLL)或其他形式的編解碼器可 以被加載至操作系統(tǒng)中。優(yōu)選地,根據(jù)本發(fā)明,這樣的安全敏感程序部件通過應(yīng)用PUF被保護(hù)。
在另一實(shí)施例中,如圖3所示,系統(tǒng)包括用來計(jì)算與數(shù)據(jù)存儲(chǔ) 器關(guān)聯(lián)的標(biāo)識(shí)符的散列以及將散列用作提供至PUF的表示的裝置 310。有利地,散列被用來確保標(biāo)識(shí)符(以及安全)取決于大量數(shù)字 數(shù)據(jù)。例如,參照?qǐng)D2的實(shí)施例,散列可以在整個(gè)程序154(或至少 執(zhí)行加密操作的部分)的范圍內(nèi)計(jì)算??梢允褂萌我鈹?shù)學(xué)散列來計(jì)算 所述散列,比如SHA-256或SHA-512。
在另一實(shí)施例中,系統(tǒng)包括多個(gè)應(yīng)用程序,通常被作為計(jì)算機(jī) 程序執(zhí)行。圖4例示了其中應(yīng)用程序AP-1、 AP-2和AP-3被存儲(chǔ)于 數(shù)據(jù)存儲(chǔ)器110、但在執(zhí)行期間被加載至加密單元150的實(shí)施例。每 個(gè)應(yīng)用程序AP-1、 AP-2和AP-3分別地應(yīng)用存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器中的 關(guān)聯(lián)數(shù)字內(nèi)容項(xiàng),示為C-1-1、 C-l-2和C-2-l至C-2-3。每個(gè)應(yīng)用程 序被指定在各個(gè)加密密鑰K-l、 K-2、 K-3的控制下執(zhí)行用于防護(hù)和 認(rèn)證關(guān)聯(lián)數(shù)字內(nèi)容項(xiàng)的安全的加密操作。與數(shù)據(jù)存儲(chǔ)器關(guān)聯(lián)的標(biāo)識(shí)符 至少通過應(yīng)用程序和/或與應(yīng)用程序關(guān)聯(lián)的數(shù)字內(nèi)容項(xiàng)獲得,從而使 得標(biāo)識(shí)符對(duì)應(yīng)用程序是唯一的。圖4例示了基于圖2的示例性框圖。 應(yīng)該理解,此實(shí)施例也可以與圖3的實(shí)施例結(jié)合應(yīng)用。
在優(yōu)選實(shí)施例中,PUF120與數(shù)據(jù)存儲(chǔ)器IIO是物理上集成的。 所述集成優(yōu)選以不可分的方式,也即,如果攻擊者試圖移除PUF, 則PUF被損壞。這使得其中嵌入有PUF的數(shù)據(jù)存儲(chǔ)器可被唯一識(shí)別 并且不可復(fù)制。
有利的是,數(shù)據(jù)存儲(chǔ)器110是光學(xué)類型(例如CD、 DVD、 HD-DVD、或者藍(lán)光光盤系列)并且PUF是光學(xué)類型。在這種實(shí)施 例中,PUF被集成在數(shù)據(jù)存儲(chǔ)器110的光學(xué)載體中??梢栽黾訂为?dú) 的探針以掃描PUF。用于從光學(xué)存儲(chǔ)器讀取數(shù)據(jù)的已有激光也可以 用來探測(cè)PUF。最初由Pappu開發(fā)的PUF是光學(xué)類的。光學(xué)PUF包 括含有某些隨機(jī)分布的散射材料的物理結(jié)構(gòu)。它們利用由這種無序光 學(xué)介質(zhì)中的激光的多次散射引起的散斑圖的唯一性。輸入("激勵(lì)") 可以是比如激光束的入射角度、焦距或波長(zhǎng),激光的掩模圖案阻塞部 分,或波前的任意其他改變。輸出可以是散斑圖。物理復(fù)制由于以下兩個(gè)原因是困難的
(i) 光漫射使得散射體的位置變模糊
(ii) 即使所有散射體的位置巳知,大量散射體的精確定位是非常困難和昂貴的,并且需要不同于初始隨機(jī)處理的產(chǎn)品處理。
迄今為止的一些改進(jìn)已使得第二代光學(xué)PUF變得可用。在替代實(shí)施例中,在半導(dǎo)體器件如集成電路(IC)上實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)器。數(shù)據(jù)存儲(chǔ)器可以是例如非易失性存儲(chǔ)器(例如閃存)、易失
性存儲(chǔ)器(例如SRAM)、或帶存儲(chǔ)器的智能卡。在這個(gè)實(shí)施例中,PUF同樣是被集成在同一半導(dǎo)體器件中。PUF可以是能夠與電子設(shè)備結(jié)合的任意類型。正在開發(fā)的光學(xué)類型的PUF可使用半導(dǎo)體技術(shù)實(shí)現(xiàn),并且可以與電子電路結(jié)合。例如,正在開發(fā)采用半導(dǎo)體LED作為探針的PUF。替代方案是,可以采用電子類型的PUF。目前正在開發(fā)幾種這樣的PUF。例如,其中PUF基于蝕刻電路的阻抗或電容(例如可在IC中的延遲線測(cè)量到)中的固有差異、電子存儲(chǔ)器的初始狀態(tài)(例如SRAM啟動(dòng)噪聲)中的固有差異、在IC上提供的單獨(dú)涂層中的固有差異(例如,具有涂層中帶有電特性微粒的隨機(jī)圖案的形式或涂層容量中的差異)或基于邏輯門的特性的產(chǎn)品變化(觸發(fā)器PUF)。硅制PUF的示例由G.Edward Suh等人在"Aegis: Asingle-chip secure processor"(Information Security Technical report(2005) 10, 63-73, Elsevier)中描述。
本發(fā)明可以使用的產(chǎn)品包括移動(dòng)電話、機(jī)頂盒、游戲控制臺(tái)、個(gè)人電腦、服務(wù)器及路由器,以及智能卡。根據(jù)本發(fā)明的安全存儲(chǔ)器可以被用于數(shù)字版權(quán)管理、訪問控制、保密措施、用戶數(shù)據(jù)的保護(hù)等。
應(yīng)了解,本發(fā)明不但可以在軟件中實(shí)現(xiàn),也可以在硬件組件中實(shí)現(xiàn),例如在數(shù)字信號(hào)處理器(DSP)或最佳化的VLIW處理器中實(shí)現(xiàn)。對(duì)軟件實(shí)現(xiàn)來說,在圖中描述的塊可以被看作表示軟件功能單元。本發(fā)明從而也可以擴(kuò)展至適于實(shí)現(xiàn)本發(fā)明的計(jì)算機(jī)程序,特別是載體上或載體中的計(jì)算機(jī)程序。程序可以具有源代碼、目標(biāo)代碼、源代碼和目標(biāo)代碼之間的代碼例如部分編譯形式、或任意其它適于在根據(jù)本發(fā)明方法的實(shí)施中應(yīng)用的格式。載體可以是任意能夠承載程序的實(shí)體
14或設(shè)備。例如,載體可以包括存儲(chǔ)介質(zhì),如ROM (CDROM或半導(dǎo)體ROM),或磁記錄介質(zhì),如軟磁盤或硬盤。此外,載體可以是比如電或光信號(hào)的可傳輸載體,可以經(jīng)由電纜或光纜或通過無線電或其他方式傳送。在程序被嵌入這種信號(hào)時(shí),載體可以由這種線纜或其他設(shè)備或裝置組成??商娲桨甘牵d體可以是嵌入有程序的集成電路、適于執(zhí)行相關(guān)方法或用來在相關(guān)方法的執(zhí)行中應(yīng)用的集成電路。
應(yīng)注意,上述實(shí)施例例示而不是限制本發(fā)明,并且所屬領(lǐng)域的技術(shù)人員將能夠不偏離所附權(quán)利要求的范圍而設(shè)計(jì)出多種替代實(shí)施例。在權(quán)利要求中,任何置于括號(hào)中的標(biāo)號(hào)不應(yīng)被理解為限制權(quán)利要求。動(dòng)詞"包括"及其變化形式的使用并不排除未列在權(quán)利要求中的要素或步驟的存在。要素前的冠詞"一個(gè)"不排除多個(gè)該要素的存在。本發(fā)明可以通過包含幾個(gè)分立元件的硬件,以及通過適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在互不相同的從屬權(quán)利要求中引述特定手段并不表示這些手段的組合不可以用來獲得優(yōu)點(diǎn)。
權(quán)利要求
1.一種用于安全地存儲(chǔ)數(shù)字?jǐn)?shù)據(jù)的系統(tǒng),該系統(tǒng)包括數(shù)據(jù)存儲(chǔ)器(110);物理不可復(fù)制功能模塊(120),下文中稱作PUF,包括用于接收詢問的輸入端(122)和用于產(chǎn)生對(duì)詢問的響應(yīng)的輸出端(124);裝置(130),用于確定與數(shù)據(jù)存儲(chǔ)器相關(guān)聯(lián)的標(biāo)識(shí)符;裝置(140),用于將標(biāo)識(shí)符的表示作為詢問提供至PUF并且從PUF獲取相應(yīng)的響應(yīng);加密單元(150),用于執(zhí)行對(duì)存儲(chǔ)于數(shù)據(jù)存儲(chǔ)器中的數(shù)字內(nèi)容項(xiàng)進(jìn)行防護(hù)或校驗(yàn)的加密操作,其中在通過已接收的響應(yīng)所導(dǎo)出的加密密鑰的控制下執(zhí)行加密操作。
2. 如權(quán)利要求l所述的系統(tǒng),其中加密操作至少下列之一 認(rèn)證;校驗(yàn)認(rèn)證; 加密;解密。
3. 如權(quán)利要求l所述的系統(tǒng),其中標(biāo)識(shí)符通過至少下列之一得到數(shù)據(jù)存儲(chǔ)器本身;系統(tǒng)的用戶;數(shù)字內(nèi)容項(xiàng)。
4. 如權(quán)利要求l所述的系統(tǒng),其中加密單元包括處理器,并且 所述系統(tǒng)包括用于使得處理器執(zhí)行至少一部分加密操作的計(jì)算機(jī)程 序;標(biāo)識(shí)符通過至少一種計(jì)算機(jī)程序的表示而得到。
5. 如權(quán)利要求l所述的系統(tǒng),其中系統(tǒng)包括用于計(jì)算與數(shù)據(jù)存儲(chǔ)器關(guān)聯(lián)的標(biāo)識(shí)符的散列以及將散列用作提供至PUF的表示的裝 置。
6. 如權(quán)利要求l所述的系統(tǒng),其中系統(tǒng)包括多個(gè)應(yīng)用程序;每 個(gè)應(yīng)用程序使用存儲(chǔ)于數(shù)據(jù)存儲(chǔ)器中的關(guān)聯(lián)數(shù)字內(nèi)容項(xiàng),每個(gè)應(yīng)用程 序被配置為在加密密鑰的控制下執(zhí)行用于防護(hù)或驗(yàn)證關(guān)聯(lián)數(shù)字內(nèi)容 項(xiàng)的安全的加密操作;與數(shù)據(jù)存儲(chǔ)器關(guān)聯(lián)的標(biāo)識(shí)符通過至少所述應(yīng)用 程序和/或與應(yīng)用程序相關(guān)聯(lián)的數(shù)字內(nèi)容項(xiàng)導(dǎo)出,以使得標(biāo)識(shí)符針對(duì) 應(yīng)用程序是唯一的。
7. 如權(quán)利要求1所述的系統(tǒng),其中PUF與數(shù)據(jù)存儲(chǔ)器物理集成。
8. 如權(quán)利要求7所述的系統(tǒng),其中數(shù)據(jù)存儲(chǔ)器為光學(xué)類型,PUF 為光學(xué)類型,并且PUF被集成在數(shù)據(jù)存儲(chǔ)器的光學(xué)載體中。
9. 如權(quán)利要求7所述的系統(tǒng),其中數(shù)據(jù)存儲(chǔ)器在半導(dǎo)體器件上 實(shí)現(xiàn)并且PUF被集成在半導(dǎo)體器件上。
10. 如權(quán)利要求9所述的系統(tǒng),其中PUF為光學(xué)類型或者電子 類型。
11. 一種用在如權(quán)利要求1所述的系統(tǒng)中的存儲(chǔ)器裝置,其中存 儲(chǔ)器裝置包括數(shù)據(jù)存儲(chǔ)器;以及包括用于接收詢問的輸入端和對(duì)詢問 產(chǎn)生響應(yīng)的輸出端的物理不可復(fù)制功能模塊,其中PUF與數(shù)據(jù)存儲(chǔ) 器物理集成。
12. —種在數(shù)據(jù)存儲(chǔ)器(110)中安全地存儲(chǔ)數(shù)字?jǐn)?shù)據(jù)的方法, 該方法包括確定與數(shù)據(jù)存儲(chǔ)器相關(guān)聯(lián)的標(biāo)識(shí)符;將標(biāo)識(shí)符的表示作為詢問提供至物理不可復(fù)制功能模塊(120),以及從物理不可復(fù)制功能模塊獲取相應(yīng)的響應(yīng);執(zhí)行用于對(duì)存儲(chǔ)于數(shù)據(jù)存儲(chǔ)器中的數(shù)字內(nèi)容項(xiàng)進(jìn)行防護(hù)或驗(yàn)證 的加密操作,其中在通過已接收的響應(yīng)所導(dǎo)出的加密密鑰的控制下執(zhí) 行加密操作。
13. —種使處理器執(zhí)行權(quán)利要求12的方法的計(jì)算機(jī)程序產(chǎn)品。
全文摘要
用于安全地存儲(chǔ)數(shù)字?jǐn)?shù)據(jù)的系統(tǒng)100包括數(shù)據(jù)存儲(chǔ)器110和物理不可復(fù)制功能模塊120(PUF),PUF包括用來接收詢問的輸入端(122)和用來對(duì)詢問產(chǎn)生響應(yīng)的輸出端(124)。裝置130確定與數(shù)據(jù)存儲(chǔ)器關(guān)聯(lián)的標(biāo)識(shí)符。裝置140將標(biāo)識(shí)符的表示作為詢問提供至PUF并且從PUF獲得相應(yīng)的響應(yīng)。加密單元150執(zhí)行用來對(duì)存儲(chǔ)于數(shù)據(jù)存儲(chǔ)器中的數(shù)字內(nèi)容項(xiàng)進(jìn)行防護(hù)和驗(yàn)證的加密操作,其中加密操作在通過已接收響應(yīng)所導(dǎo)出的加密密鑰的控制下執(zhí)行。
文檔編號(hào)G11B20/00GK101681657SQ200880019929
公開日2010年3月24日 申請(qǐng)日期2008年6月6日 優(yōu)先權(quán)日2007年6月12日
發(fā)明者桑德爾·M·范賴恩索 申請(qǐng)人:Nxp股份有限公司