安全的重放保護存儲的制作方法
【專利摘要】本發(fā)明的實施例在閃速存儲器設(shè)備(例如,串行外圍接口(SPI)閃速存儲器設(shè)備)中創(chuàng)建底層基礎(chǔ)設(shè)施使得可以保護它以免用戶攻擊-例如,替換SPI閃速存儲器設(shè)備或中間人(MITM)攻擊以在運行中修改SPI閃速存儲器內(nèi)容。在現(xiàn)有技術(shù)中,單調(diào)計數(shù)器因為SPI閃速存儲器設(shè)備未對計數(shù)器提供重放保護而無法存儲在所述設(shè)備中。用戶還可移除閃速存儲器設(shè)備并且對它重新編程。主機平臺單獨無法防止這樣的硬件攻擊。本發(fā)明的實施例使例如SPI閃速存儲器設(shè)備的安全的標(biāo)準(zhǔn)存儲閃速存儲器設(shè)備能夠?qū)Π踩鎯Φ臄?shù)據(jù)實現(xiàn)重放保護。本發(fā)明的實施例利用閃速存儲器控制器、閃速存儲器設(shè)備、唯一設(shè)備密鑰和HMAC密鑰邏輯來對各種部件創(chuàng)建安全的執(zhí)行環(huán)境。
【專利說明】安全的重放保護存儲
[0001]
【技術(shù)領(lǐng)域】
[0002]本發(fā)明的實施例一般關(guān)于計算設(shè)備并且更特定地關(guān)于單調(diào)計數(shù)器在計算設(shè)備中的使用。
【背景技術(shù)】
[0003]計算機安全指與計算機平臺關(guān)聯(lián)的信息安全。計算機安全的目的是確保在計算平臺上存儲或處理的信息的機密性、完整性和/或可用性。計算機安全可減少基于計算機的信息易受基于惡意軟件和硬件的用戶攻擊。計算平臺因此包括用于提供安全執(zhí)行環(huán)境(SEE)的物理和邏輯特征。單調(diào)計數(shù)器可作為SEE的部分而被包括并且可結(jié)合各種認證規(guī)程使用來防止用戶攻擊。
[0004]實現(xiàn)單調(diào)計數(shù)器來產(chǎn)生遞增或遞減值。對于遞增值實現(xiàn),一旦計數(shù)值變成更高的數(shù),它之后不應(yīng)展現(xiàn)小于該更高數(shù)的任何值。對于遞減值實現(xiàn),一旦計數(shù)值變成更低的數(shù),它之后不應(yīng)展現(xiàn)大于該更低數(shù)的任何值。對于任一個實現(xiàn),計數(shù)值的單調(diào)性質(zhì)應(yīng)在單調(diào)計數(shù)器操作所在的設(shè)備的整個壽命中維持,包括跨任何數(shù)量的通電和斷電周期。使單調(diào)計數(shù)器不維持它的計數(shù)值并且回復(fù)到早期的值可以導(dǎo)致設(shè)備安全的妥協(xié)(在本文稱為“重放攻擊”)。
[0005]計算機平臺可利用特定存儲器模塊用于存儲引導(dǎo)指令(例如,基本輸入輸出系統(tǒng)(BIOS)指令)。串行外圍接口(SPI)閃速存儲器設(shè)備通常用作這些指令的存儲裝置。SPI閃速存儲器是用于存儲單調(diào)計數(shù)器的理想的候選;然而,標(biāo)準(zhǔn)SPI閃速存儲器設(shè)備不支持保護單調(diào)計數(shù)器值免受重放攻擊的機制(因此,可靠單調(diào)計數(shù)器對于設(shè)備的可用性提供建立重放保護的基本能力)。
[0006]對于單調(diào)計數(shù)器的重放保護的現(xiàn)有技術(shù)的解決方案可以利用片上閃存來建立;然而,片上閃存由于硅加工原因以及在不增加大量成本的情況下對于高性能硅設(shè)備并不總是可能的。現(xiàn)有技術(shù)的解決方案還可以用適度的成本利用片上靜態(tài)隨機存取存儲器(SRAM)來建立;然而片上SRAM需要一直加電。如果去除電力,SRAM中的數(shù)據(jù)丟失。利用單調(diào)計數(shù)器的現(xiàn)有技術(shù)的解決方案可使它們移到提供重放保護存儲器的不同存儲器設(shè)備一例如,嵌入式多媒體卡(eMMC)設(shè)備;然而,這些現(xiàn)有技術(shù)的解決方案使用大塊存儲器以非常顯著的成本提供重放保護。
【專利附圖】
【附圖說明】
[0007]下列描述包括附圖的論述,附圖具有通過本發(fā)明的實施例的實現(xiàn)示例的方式給出的說明。附圖應(yīng)通過示例而非限制的方式來理解。如本文使用的,對一個或多個“實施例”的引用要理解為描述在本發(fā)明的至少一個實現(xiàn)中包括的特定特征、結(jié)構(gòu)或特性。從而,在本文出現(xiàn)的例如“在一個實施例中”或“在備選實施例中”的短語描述本發(fā)明的各種實施例和實現(xiàn),并且不一定全部都指相同的實施例。然而,它們也不一定互相排斥。
[0008]圖1是本發(fā)明的實施例的框圖。
[0009]圖2A是根據(jù)本發(fā)明的實施例生成唯一根密鑰的過程的流程圖。
[0010]圖2B是根據(jù)本發(fā)明的實施例生成HMAC操作密鑰的過程的流程圖。
[0011]圖3是根據(jù)本發(fā)明的實施例用于獲得單調(diào)計數(shù)器值的流程圖。
[0012]圖4是根據(jù)本發(fā)明的實施例的系統(tǒng)的框圖。
[0013]圖5是可利用本發(fā)明的實施例的設(shè)備的框圖。
[0014]接著是某些細節(jié)和實現(xiàn)的描述,包括附圖的描述(這些圖可描繪下文描述的實施例中的一些或全部)以及論述本文呈現(xiàn)的發(fā)明概念的其他潛在實施例或?qū)崿F(xiàn)。在下文提供本發(fā)明的實施例的概述,后面是參考附圖的更詳細描述。
【具體實施方式】
[0015]本發(fā)明的實施例在閃速存儲器設(shè)備(例如,串行外圍接口(SPI)閃速存儲器設(shè)備)中創(chuàng)建底層基礎(chǔ)設(shè)施使得可以保護它以免用戶攻擊一例如,替換SPI閃速存儲器設(shè)備或中間人(MITM)攻擊以在運行中修改SPI閃速存儲器內(nèi)容。在現(xiàn)有技術(shù)中,單調(diào)計數(shù)器因為SPI閃速存儲器設(shè)備未對計數(shù)器提供重放保護而無法存儲在所述設(shè)備中。例如,用戶可移除閃速存儲器設(shè)備并且對它重新編程。主機平臺單獨無法防止這樣的硬件攻擊。
[0016]本發(fā)明的實施例使例如SPI閃速存儲器設(shè)備的安全的標(biāo)準(zhǔn)存儲閃速存儲器設(shè)備能夠?qū)Π踩鎯Φ膯握{(diào)計數(shù)器值實現(xiàn)重放保護。本發(fā)明的實施例利用閃速存儲器控制器、閃速存儲器設(shè)備、唯一設(shè)備密鑰和基于哈希的消息認證代碼(HMAC)密鑰邏輯來對各種平臺部件創(chuàng)建多個安全的執(zhí)行環(huán)境(SEE)。
[0017]圖1是本發(fā)明的實施例的框圖。系統(tǒng)100示出為包括閃速存儲器設(shè)備110和平臺互連120 (例如,平臺控制器集線器(PCH))。在該實施例中,SPI閃速存儲器設(shè)備110使用SPI協(xié)議與平臺互連120通信,并且本發(fā)明的實施例實現(xiàn)為所述協(xié)議的擴展;在其他實施例中,可如下文描述的那樣使用其他非易失性存儲器設(shè)備和協(xié)議。
[0018]SPI閃速存儲器設(shè)備110包括HMAC密鑰寄存器111、HMAC邏輯112、單調(diào)計數(shù)器113和塊寫保護邏輯114,其禁用/啟用到閃速存儲器設(shè)備的存儲器的寫入。HMAC密鑰寄存器111可存儲從平臺互連120 (下文描述的)接收的一個或多個HMAC密鑰。在一個實施例中,HMAC密鑰寄存器111是不可讀的,并且所述設(shè)備HMAC密鑰永久寫入所述寄存器。HMAC邏輯112應(yīng)證實從平臺互連120接收的經(jīng)認證的命令,并且還應(yīng)利用上文描述的設(shè)備HMAC密鑰來生成經(jīng)認證的對所述命令的響應(yīng)。在一個實施例中,所述HMAC邏輯利用基于哈希的消息認證代碼/安全哈希算法(HMAC-SHA)算法用于認證請求并且生成響應(yīng)(例如,HMAC-SHA-256簽名算法)。在其他實施例中,可利用任何其他相似的簽名算法。
[0019]在對于使用SPI協(xié)議的SPI閃存的實施例中,可以使用下文的表I中的經(jīng)認證的命令。
【權(quán)利要求】
1.一種系統(tǒng),包括: 閃速存儲器設(shè)備,其包括單調(diào)計數(shù)器;以及 主機設(shè)備,其通信地耦合于所述閃速存儲器設(shè)備,以便: 生成認證證書; 使用所述認證證書和設(shè)備密鑰來請求來自所述單調(diào)計數(shù)器的值,所述單調(diào)計數(shù)器包括在所述閃速存儲器設(shè)備中; 從所述單調(diào)計數(shù)器接收所述值并且從所述閃速存儲器設(shè)備接收所述認證證書; 用來自所述單調(diào)計數(shù)器的遞增值對數(shù)據(jù)加密;以及 向所述閃速存儲器發(fā)送加密數(shù)據(jù)、所述設(shè)備密鑰和使所述單調(diào)計數(shù)器遞增的命令;其中所述閃速存儲器設(shè)備用所述設(shè)備密鑰來驗證對來自所述單調(diào)計數(shù)器的所述值的所述請求和使所述單調(diào)計數(shù)器遞增的所述命令。
2.如權(quán)利要求1所述的系統(tǒng),其中所述閃速存儲器設(shè)備包括第二單調(diào)計數(shù)器,所述系統(tǒng)進一步包括: 第二主機設(shè)備,其通信地耦合于所述閃速存儲器設(shè)備,以便: 生成第二認證證書; 使用所述第二認證證書和第二設(shè)備密鑰來請求來自所述第二單調(diào)計數(shù)器的值,所述第二單調(diào)計數(shù)器包括在所述閃速存儲器設(shè)備中; 從所述第二單調(diào)計數(shù)器接收所述值并且從所述閃速存儲器設(shè)備接收所述第二認證證書; 用來自所述單調(diào)計數(shù)器的遞增的第二值對數(shù)據(jù)加密;以及 向所述閃速存儲器發(fā)送加密數(shù)據(jù)、所述設(shè)備密鑰和使所述第二單調(diào)計數(shù)器遞增的命令; 其中所述閃速存儲器設(shè)備用所述第二設(shè)備密鑰來驗證對來自所述第二單調(diào)計數(shù)器的所述值的所述請求和使所述第二單調(diào)計數(shù)器遞增的所述命令。
3.如權(quán)利要求2所述的系統(tǒng),其中所述主機設(shè)備包括平臺互連并且所述第二主機設(shè)備包括處理器。
4.如權(quán)利要求2所述的系統(tǒng),所述閃速存儲器設(shè)備將所述設(shè)備密鑰和所述第二設(shè)備密鑰存儲在不可讀密鑰寄存器中。
5.如權(quán)利要求1所述的系統(tǒng),其中所述閃速存儲器設(shè)備包括串行外圍接口(SPI)閃速存儲器設(shè)備。
6.如權(quán)利要求1所述的系統(tǒng),其中所述設(shè)備密鑰基于在所述主機設(shè)備中包括的多個現(xiàn)場可編程熔絲(FPF)。
7.如權(quán)利要求1所述的系統(tǒng),所述主機設(shè)備基于基于哈希的消息認證代碼/安全哈希算法(HMAC-SHA)算法來對所述數(shù)據(jù)加密。
8.如權(quán)利要求1所述的系統(tǒng),其中所述認證證書包括隨機數(shù)。
9.一種裝置,包括: 閃速存儲器設(shè)備控制器;以及 主機設(shè)備,其通信地耦合于所述閃速存儲器控制器,以便: 生成認證證書;使用所述認證證書和設(shè)備密鑰經(jīng)由所述閃速存儲器設(shè)備控制器請求來自單調(diào)計數(shù)器的值; 從所述單調(diào)計數(shù)器接收所述值并且從所述閃速存儲器設(shè)備控制器接收所述認證證書; 用來自所述單調(diào)計數(shù)器的遞增值對數(shù)據(jù)加密;以及 向所述閃速存儲器控制器發(fā)送加密數(shù)據(jù)、所述設(shè)備密鑰和使所述單調(diào)計數(shù)器遞增的命令; 其中所述閃速存儲器設(shè)備控制器用所述設(shè)備密鑰來驗證對來自所述單調(diào)計數(shù)器的所述值的所述請求和使所述單調(diào)計數(shù)器遞增的所述命令。
10.如權(quán)利要求9所述的裝置,其中所述主機設(shè)備包括平臺互連。
11.如權(quán)利要求9所述的裝置,其中所述主機設(shè)備包括處理器。
12.如權(quán)利要求9所述的裝置,其中所述閃速存儲器設(shè)備控制器包括串行外圍接口(SPI)閃速存儲器控制器。
13.如權(quán)利要求9所述的裝置,其中所述設(shè)備密鑰基于在所述主機設(shè)備中包括的多個現(xiàn)場可編程熔絲(FPF)。
14.如權(quán)利要求9所述的裝置,所述主機設(shè)備基于基于哈希的消息認證代碼/安全哈希算法(HMAC-SHA)算法來對所述數(shù)據(jù)加密。
15.如權(quán)利要求9所述的裝置,其中所述認證證書包括隨機數(shù)。
16.—種方法,包括: 生成認證證書; 使用所述認證證書和設(shè)備密鑰來請求來自單調(diào)計數(shù)器的值,所述單調(diào)計數(shù)器包括在閃速存儲器設(shè)備中; 從所述單調(diào)計數(shù)器接收所述值和所述認證證書; 用來自所述單調(diào)計數(shù)器的遞增值對數(shù)據(jù)加密;以及 向所述閃速存儲器設(shè)備發(fā)送認證數(shù)據(jù)、所述設(shè)備密鑰和使所述單調(diào)計數(shù)器遞增的所述命令。
17.如權(quán)利要求16所述的方法,其中所述閃速存儲器設(shè)備包括串行外圍接口(SPI)閃速存儲器設(shè)備。
18.如權(quán)利要求16所述的方法,其中所述設(shè)備密鑰基于多個現(xiàn)場可編程熔絲(FPF)。
19.如權(quán)利要求16所述的方法,其中對所述數(shù)據(jù)加密基于基于哈希的消息認證代碼/安全哈希算法(HMAC-SHA)算法。
20.如權(quán)利要求16所述的方法,其中所述認證證書包括隨機數(shù)。
【文檔編號】G06F13/14GK103988185SQ201180075706
【公開日】2014年8月13日 申請日期:2011年12月20日 優(yōu)先權(quán)日:2011年12月20日
【發(fā)明者】N.V.薩蘭格哈爾, W.A.斯特文斯, J.J.維拉尼奇 申請人:英特爾公司