![]() 具完整性檢查和防護重播攻擊之用於記憶體加密的方法及設備
专利摘要:
提出一種提供加密完整性檢查及重播防護來保護免於對系統記憶體的硬體攻擊的方法及設備。區塊加密的操作模式加強標準XTS-AES操作模式,藉擴延一微調而含括一「時間戳記」指標而執行記憶體加密。以樹為基礎的重播防護方案運用標準XTS-AES來加密於該系統記憶體中之快取行的內容。針對快取行的訊息驗證代碼(MAC)係使用加強的XTS-AES及與該快取行相關聯的一「時間戳記」指標來加密。該「時間戳記指標」係儲存於一處理器。 公开号:TW201319809A 申请号:TW101120268 申请日:2012-06-06 公开日:2013-05-16 发明作者:Shay Gueron;Jacob Doweck;Uday Savagaonkar;Ofir Mulla;Francis X R Mckeen;Ittai Anati;Carlos V Rozas;Zvika Greenfield;David M Durham;Moshe Maor 申请人:Intel Corp; IPC主号:G06F21-00
专利说明:
具完整性檢查和防護重播攻擊之用於記憶體加密的方法及設備 發明領域 本文揭示係有關於資料之加密防護,及更明確言之,係有關於儲存於記憶體內之記憶體區域之軟體應用程式的加密。 發明背景 由軟體應用程式使用的系統中之依電性記憶體之一區域須經保護免於受未經授權實體的惡意修改。此等惡意修改也稱作為「攻擊」,可為軟體攻擊或硬體攻擊。一種方法提供保密及完整性防護用於保全軟體應用程式,整合大型依電性記憶體於中央處理單元(CPU)或處理器封裝體來藉保全軟體應用程式用作為「私密記憶體」。但大型依電性記憶體整合於CPU封裝體為昂貴。 如此,保全軟體應用程式典型地係儲存於外部(亦即於CPU外部)記憶體。外部記憶體內的記憶體區域(區)儲存保全軟體應用程式可為系統中作業系統(OS)為可見或不可見。若此等記憶體區域為OS所可見,需防護免遭軟體攻擊及硬體攻擊。若此等記憶體區域為OS所不可見(稱作「竊占記憶體區」),則有若干存取控制機構須保護免受硬體攻擊,亦即來自與外部記憶體有實體存取的攻擊者攻擊。 依據本發明之一實施例,係特地提出一種方法包含:針對與一應用程式相關聯的一資料區塊,藉一處理器產生一訊息驗證代碼(MAC);於一處理器中設置多個計數器,各個計數器係與一記憶體中多個MAC快取行中之一者相關聯;藉該處理器加密該MAC,該MAC係使用一微調(tweak)加密,該微調包括針對該MAC快取行來儲存該MAC的一快取行識別符,及讀取自與該MAC快取行相關聯的該計數器之一時間戳記值;藉該處理器儲存該資料區塊於該記憶體之一快取行;及藉該處理器將該MAC儲存於該記憶體的一MAC快取行內,該記憶體係與該處理器分開。 圖式簡單說明 本案請求專利之主旨之實施例特徵及當參考附圖時由後文詳細說明部分將顯然易知,附圖中類似的元件符號闡釋相似的部件,及附圖中:第1圖為依據本發明之原理包括用以執行記憶體加密之一記憶體加密控制器的系統之方塊圖;第2圖為方塊圖例示說明依據本發明之原理,處理器中由該記憶體加密引擎使用來從事以樹為基礎的重播防護而保護記憶體中之位址範圍,及保護儲存於記憶體的訊息驗證代碼(MAC)而提供加密完整性檢查的N個計數器;第3圖例示說明擴延微調之一個實施例;第4圖為方塊圖例示說明第1圖顯示的用以防護儲存於系統記憶體內的保全應用之記憶體中之區域的實施例;第5圖為流程圖用以執行第4圖中所示於加密區域內執行寫入存取至快取行之方法之一實施例;及第6圖為流程圖例示說明執行讀取存取至第4圖所示加密區域之方法之實施例。 雖然後文詳細說明部分將參考本案所請主旨的具體實施例進行,但許多替代例、修改例、及其變化例為熟諳技藝人士所顯然易知。因此,意圖寬廣地檢視本案所請主旨及只如隨附之申請專利範圍定義。 較佳實施例之詳細說明 對外部記憶體的硬體攻擊(例如來自與外部記憶體有實體存取的攻擊者)可能係呈意圖訛誤儲存在該外部記憶體的一影像(例如軟體應用程式可執行影像或資料)的形式,亦即記憶體訛誤攻擊。舉例言之,外部記憶體裡的快取行被攻擊者(對手)修改,假設為欲加密用以保密但無完整性檢查,結果導致當修改快取行係從記憶體讀出時該修改快取行之訛誤地解密。若該攻擊者知曉該影像內容,則攻擊者可在儲存該影像的外部記憶體之一防護記憶體區域內,選擇性地訛誤在該實體記憶體位置之一執行緒變數(或其它常數/變數)。修改此一變數可能導致各種狀況,例如溢位狀況,造成資料被寫至未經防護的記憶體區域,於該處該資料可被攻擊者所存取。 同理,試圖訛誤一軟體應用程式可執行影像可運用嘗試錯誤法執行,於該處惡意訛誤儲存該軟體應用程式可執行影像的隨機快取行,導致程式執行流的出人意表的變化,潛在地損害安全性,造成資料被寫至記憶體中之未經防護的記憶體區域。 硬體攻擊也可用來以惡意可執行影像取代該軟體應用程式的可執行影像(代碼取代),或將一惡意腳本注入該影像中。舉例言之,為了執行代碼取代,攻擊者對該外部記憶體之防護區域的內容拍快照,而後來當另一個影像載入該同一個防護區域時重播該快照。舉例言之,為了注入惡意腳本,當該影像係儲存於該經防護的記憶體區域時,攻擊者拍下一攻擊快照,及後來當一關鍵性指標或回送位址係儲存在該確切同一個實體記憶體位置時,重播該攻擊快照。 依據本發明之原理提出一種提供加密完整性檢查及重播防護給外部實體記憶體的防護區域來保護免於對經防護的記憶體區域之惡意硬體攻擊的方法及設備。 第1圖為依據本發明之原理包括一記憶體加密控制器103之系統100之方塊圖。系統100包括一處理器101及一輸出入(I/O)控制器中樞器(ICH)104。處理器101包括控制處理器101與外部記憶體105間通訊之一記憶體控制器106。於處理器101內的記憶體加密控制器103可對儲存於記憶體105的資料執行加密及解密。記憶體加密控制器103提供保密免受可讀取該記憶體105內容之被動攻擊者之害。 處理器101可為多個處理器中之任一者,諸如單核心英特爾(Intel)奔騰(Pnetium)4處理器、單核心英特爾賽揚(Celeron)處理器、英特爾X級(XScale)處理器、或多核心處理器諸如英特爾奔騰D、英特爾至強(Xeon)處理器、或英特爾雙核心(Core Duo)處理器或英特爾核心(Core)處理器、或任何其它型別的處理器。 記憶體105為依電性記憶體,可為動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、同步動態隨機存取記憶體(SDRAM)、雙倍資料率(DDR)RAM、雙倍資料率2(DDR2)RAM、或RAMBUS動態隨機存取記憶體(RDRAM)或任何其它型別的依電性記憶體。於另一個實施例中,記憶體105可為非依電性記憶體,可為NAND、NOR、快閃記憶體、相變記憶體(PCM)、或具有開關之相變記憶體(PCMS)或任何其它型別的非依電性記憶體。 ICH 104可包括一儲存I/O控制器110用以控制與耦接至該ICH 104的至少一個儲存裝置112之通訊。如此處使用,「儲存裝置」可表示資料可分別地儲存及/或取回的一或多個設備及/或其一或多個部分。也如此處使用,「大容量儲存」及「大容量儲存裝置」等詞可互換使用來表示可執行資料的非依電性儲存之儲存裝置。儲存裝置112可包含個別大容量儲存裝置,可包含個別半導體、機電、磁學、及/或光學儲存裝置及/或大容量儲存裝置,諸如例如個別快閃記憶體、磁碟、及/或光碟儲存裝置及/或大容量儲存裝置。儲存裝置例如可為硬碟機、固態碟機、混成碟機、數位視訊碟(DVD)機、光碟(CD)機、獨立碟片冗餘陣列(RAID)、磁帶機、或其它非依電性儲存裝置。 儲存I/O控制器110可依據例如,小型電腦系統介面(SCSI)協定、纖維通道(FC)協定、透過網際網路之SCSI協定(iSCSI)、串列附件SCSI(SAS)協定、通用串列匯流排(USB)協定、及/或串列高級技術附件(S-ATA)協定而能夠與儲存裝置(「儲存」)交換資料及/或指令。 於另一個實施例中,處理器101及ICH 104可整合成為單一積體電路,稱作為單晶片系統(SOC)。 將描述本發明之一實施例用於記憶體105內部之一位址範圍之防護。於一實施例中,處理器101內有N個計數器150,N個計數器各自係用來防護記憶體105中N個位址範圍中之一者。欲防護的位址範圍可用來防護由保全軟體應用程式所使用的一記憶體區域。防護的記憶體區域可稱作為「竊占記憶體區」,換言之,包括作業系統(OS)所不可見的記憶體之多個實體頁面之一記憶體區域(記憶體部分)。於一實施例中,N個計數器150可儲存於處理器101的一依電性記憶體,例如該依電性記憶體可為靜態隨機存取記憶體(SRAM)。 一種防護由保全軟體應用程式所使用的記憶體105中之一記憶體區域之方法係加密儲存於記憶體105的資料。儲存於記憶體105的記憶體區域中之資料的加密及解密係使用一鑰而於處理器101執行,該鑰係於處理器101內部產生與儲存。 於一實施例中,安全包圍程式(Secure Enclave)為一指令集,針對應用程式提供一安全位置來執行代碼且儲存資料於作業系統(OS)處理脈絡內部。於此種環境下執行的應用程式稱作為包圍程式。包圍程式係從包圍程式頁面快取記憶體(EPC)執行。包圍程式頁面係藉OS載入EPC內。每當包圍程式之一頁面係從該EPC移開時,運用加密防護來保護該包圍程式的保密,且當該包圍程式被載回EPC時檢測竄改。於該EPC內部,包圍程式資料係使用由處理器所提供的存取控制機構保護。 包圍程式頁面快取記憶體(EPC)乃執行包圍程式代碼與經防護的包圍程式資料被存取的位置。EPC係位在平台的實體位址空間內部,但可只使用SE指令存取。EPC可含有來自多個不同包圍程式之頁面,且提供存取控制機構來保護該等頁面的完整性及保密性。類似用於該平台中之同調實體記憶體所使用的同調性協定,該頁面快取記憶體維持同調性協定。 但資料本身的加密係設計來只為了提供資料的保密。舉例言之,儲存在記憶體區域的資料之加密輔助保護資料的保密免受攻擊者之害,該攻擊者可被動地讀取外部記憶體,或當資料在處理器301與記憶體105間傳輸時可偷窺資料。但儲存在外部(系統)記憶體105之記憶體區域的資料之加密不提供完整性檢查。將加密形式的資料儲存在外部記憶體105無法保護免受攻擊者之害,該攻擊者係能夠主動地修改或重播儲存在外部記憶體105的部分記憶體影像。 惡意攻擊者(對手)可從外部記憶體105的一個記憶體位置拷貝且寫至外部記憶體105的不同記憶體位置。舉例言之,攻擊者可拷貝位址a的頁面x之內容至位址b的頁面y。 於另一類攻擊中,具有對該加密記憶體區域讀寫存取的對手可執行重播攻擊,重播攻擊方式係經由觀察且記錄加密記憶體區域位置(例如於時間2(t2)),及藉拷貝在時間1(t1))寫入的加密區域之內容而復置該記憶體區域。於又另一型重播攻擊中,從事重播攻擊的攻擊者可控制在不同時間駐在同一個記憶體區域之兩個不同應用(脈絡)中之一者。舉例言之,攻擊者可使用應用中之一者來攻擊另一個應用。 本發明之一實施例藉減低此等攻擊效應至不大於誘導一記憶體影像的隨機(無法預測的且無法控制的)改變而緩和重播攻擊。 第2圖為方塊圖例示說明依據本發明之原理,處理器101中由該記憶體加密控制器所使用來從事以樹為基礎的重播防護而保護記憶體105中之位址範圍;及保護儲存於記憶體105的訊息驗證代碼(MAC)而提供加密完整性檢查的N個計數器150。 欲保護的記憶體區域(位址範圍)202係以多個資料快取行208及儲存於一MAC行206的多個訊息驗證代碼(MAC)204表示。於第2圖所示之實施例中,欲保護的記憶體區域(「竊占記憶體區」)202包括M個資料快取行208。M個資料快取行208各自係與一個MAC 204相關聯。MAC乃在訊息及密鑰上運算的單向雜湊函式之結果。於所示實施例中,MAC乃對資料快取行208內容執行單向雜湊及該處理器內處理器復置期間藉亂數產生器產生的鑰的結果。於一實施例中,同一個鑰係用來針對M個資料快取行各自執行單向雜湊。MAC 204係施加至一快取行,且對當讀取與解密快取行208之內容時所使用的重新運算之MAC作比較,來檢測儲存於快取行208的加密資料區塊當儲存於快取行208時是否已經變更。 以樹為基礎之重播防護方案可由一樹結構提供,該樹結構包括一樹根、一MAC快取行206、及一資料快取行208。處理器101有N個計數器150,針對記憶體105中的每個MAC快取行206有一個計數器。該樹根為處理器101中之N個計數器150中用來保護MAC快取行206內容的計數器201中之一者。於一實施例中,快取行(M)之數目為16,各個MAC快取行206具有512-位元來儲存16個32-位元MAC 204,及各個資料快取行208具有512-位元(64位元組)。 於一實施例中,需要保護的記憶體105中的各個快取行(CL)208之內容係使用具有微調(tweak)及密文竊占(XTS)的XEX加密模式加密。具有微調及密文竊取(XTS)-高階加密標準(AES)可微調區塊密碼(IEEE標準1619-2007)的XEX加密模式乃遵守國家標準與技術研究院(NIST)聯邦資訊處理標準(FIPS)140-2的一項操作模式,其界定儲存於恆定長度區塊中的用於加密保護區之架構元素。於其它實施例中,各個快取行(CL)之內容為明文(未經加密)。 XTS-AES操作模式施加至被劃分成連續相等大小的資料單元的一資料串流之加密,例外為該資料串流之最末資料單元可比其它單元更小。各個資料單元具有在一鑰範圍內的128或更多位元資料。鑰範圍乃一個特定鑰所加密的資料劃分成相等大小的資料單元。鑰範圍係藉三個非負整數識別:相對應於該第一資料單元之一微調值、該資料單元大小、及該資料長度。微調值為128-位元值,用來表示以XTS-AES加密或解密的資料串流中之資料的邏輯位置。各個資料單元被分派一個微調值,該微調值為非負整數。該微調值係被連續地分派,始於任意非負整數。 XTS-AES操作模式為「可微調式窄區塊加密」,且係為碟片加密之標準模式(靜止時資料加密)。可視為於電子碼簿(ECB)模式的加密,於該處加密係使用一微調值(微調)以一資料區塊的「指數」位置之函式而修改一資料區塊的加密。於ECB模式中,各個明文區塊係使用區塊密碼獨立地加密。用於碟片加密,於XTS-AES操作模式中,該微調係用來將該加密結合至碟片機(儲存媒體)上被加密之一扇區。 於一實施例中,記憶體加密單元(控制器)運用XTS-AES操作模式來將加密結合至一經處理資料區塊之(實體)記憶體位址。運用XTS-AES,輔助對抗攻擊者至重大程度,該攻擊者係可實體操弄經加密的記憶體影像,藉調換加密區塊之位置而攻擊,或藉以其它加密區塊來覆寫該加密區塊而攻擊。因XTS-AES微調為實體記憶體位址之一函式,故此種攻擊變成等於誘導隨機改變之遠更微弱攻擊,該隨機改變乃攻擊者所無法預測也無法控制者。換言之,攻擊者無法從調換/覆寫中獲得比攻擊者從「盲目地」改變記憶體所能獲得的更大效果。 於用於碟片加密的標準XTS模式中,一資料區塊P的AES-XTS,其指數為(j),以單位(u)表示,執行方式係藉首先產生一微調值,然後使用該微調值從該明文產生密文。 舉例言之,微調值(X)係使用16位元組鑰值(K1)於區塊識別符(單位(u),以該單元(u)之單位位置(j))上及多項式(Poly)x128+x7+x2+x+1產生,如下所示:X=AES(K1,u)*2j mod Poly 方程式1 於該處:「*」表示無攜帶乘法(carry-less multiplication)已經產生微調值(X),密文(C)係使用該微調值(X)及另一個16位元組鑰值(K2)而從明文(P)產生,如下所示:C=AES(K2,P+X)+X 方程式2 AES-XTS針對單位(u)之值保留64位元(8位元組)。當AES加密係在16位元組區塊上操作時,該區塊(16位元組)的64剩餘位元(8位元組)(=「u」)係如方程式1所示加密,係定義為0。 藉定義一「單位」為64位元組快取行,及指數j=0、1、2、3來指示該快取行中的16位元組(128-位元)資料區塊之位置,AES-XTS可施加至記憶體加密。於此種情況下,「u」值為該快取行的(實體)位址。實體位址典型地係使用48位元編碼。 各個MAC快取行206係使用擴延AES-XTS模式(XTS+)加密。於該擴延AES-XTS模式中,標準AES-XTS模式係擴延來使用微調(擴延微調)中的更多資訊。除了標準資訊外,擴延微調例如包括快取行位址及區塊位置、及/或時間戳記值。 於一實施例中,於擴延微調中儲存額外資訊的該等位元係駐在擴延微調的頂(最高有效)64位元。如前文討論,於標準AES-XTS模式中最高有效位元係設定為0。於另一實施例中,額外資訊係駐在保證為零的其它位元。如此擴延AES-XTS為標準AES-XTS的通俗化,原因在於若全部額外資訊位元被簡併為0,則加密為標準XTS模式。 於一個實施例中,擴延微調係使用如下方程式3顯示的快取行位址及時間而產生:X=AES(K1,T | u)*2j mod Poly 方程式3 於該處P為資料區塊,其指數為j,單位為u,於T指示的時間加密,及符號「|」表示串級。 擴延微調經產生,使得微調描述連續整數,計數於時間0,1,...,2^(32)-1)之一區的位址。 ML[J](於時間TIME及於位址ACL)的微調(j=0,1,2,...,m-1,及TIME=0,1,2,...,2^(32)-1)為:TWEAK=00...0[127:55]|(ACL[j]>>6)[33:n+14]| TIME[31:0]|(ACL[j]>>6)[n+13:0]於該處:單位=MAC快取行(ML);各個ML為2^(6)=64位元組其為(4x128-位元(2^(20))區塊);各個ML具有40-位元基本-位址,ACL[39:0]具有ACL[5:0]=[000000];一個區劃具有2^n MB;m(ML的數目)=2^(n+14);j為資料串流中的m個ML中之一者;資料串流為在不同時間的m個ML,亦即ML[j](於時間t)如下:ML[0],ML[1],...,ML[m-1]於時間t=0 ML[0],ML[1],...,ML[m-1]於時間t=1 ... ML[0],ML[1],...,ML[m-1]於時間t=2^(32)-1及<ML[j]之基本位址標示為ACL[j](於該處j=0,1,2,...,m-1)。 當通過ML(於前文載明的順序)時,TWEAK始於正整數,連續通過全部正整數00...0[127:55]|(ACL[0]>>6)[33:n+14]| 00...0[31:0]|(ACL[0]>>6)[n+13:0]及結束於00...0[127:55]|(ACL[m-1]>>6)[33:n+14]| 11...1[31:0]|(ACL[m-1]>>6)[n+13:0]舉例言之:考慮2 MB區劃,n=1,及m=15。 ML[j]於時間TIME(32位元)的微調係定義如下00...0[127:55]|(ACL[j]>>6)[33:15]| TIME[31:0]|(ACL[j]>>6)[14:0] 第3圖例示說明擴延微調300之一個實施例。第3圖顯示的擴延微調300為128-位元值。擴延微調300的最低有效48位元(位元47:0)306係保留用於位址(u),其餘80最高有效位元(位元127:48)304係保留用於時間戳記(T)。 回頭參考第2圖,各個MAC快取行206係使用擴延微調300加密,MAC快取行206中一組四個MAC之起始位址係儲存於擴延微調300的最低有效位元(「位址(u)」)306,及與MAC快取行206相關聯的該計數器201之值係儲存於最高有效位元(「時間戳記(T)」)304。MAC快取行206中各組四個MAC係相對應於128-位元區塊,具有用在擴延XTS微調的相對應獨特位址。 第4圖為方塊圖例示說明第1圖顯示的用以防護儲存於系統記憶體105內的保全應用之記憶體105中之區域的實施例。系統記憶體105包括防護區域450。防護區域450包括一重播防護區域404、一非重播防護區域402及一MAC區域400。於一實施例中,儲存於重播防護區域404及非重播防護區域402二者的資料係使用如前文關聯第2圖討論的XTS-AES加密。儲存於MAC區域400的加密資料係使用關聯第2及3圖討論的擴延XTS-AES加密。於另一實施例中,儲存於重播防護區域404及非重播防護區域402二者的資料為明文(未經加密)資料。 MAC區域400包括於重播防護區域404中針對各個快取行208的MAC 205。於處理器101中的多個計數器150包括於MAC區域400中針對各個MAC快取行(ML)206的該計數器201。針對重播防護區域404中的每個快取行208使用MAC 205提供完整性防護給重播防護區域404。於MAC區域400針對每個ML 206使用計數器201提供重播防護給重播防護區域404。 於一實施例中,重播防護區域404的大小為8百萬位元組(MB),各個快取行208具有64位元組(512位元),重播防護區域404具有128K快取行。於一實施例中,每個ML 206有16個MAC,針對128K快取行,8192 ML儲存128K MAC。各個MAC具有32-位元,針對重播防護區域404中之128K快取行各者,一個MAC儲存於MAC區域400,MAC區域400為512千位元組(KB)。各個ML具有儲存於計數器150的個別計數器201。於一實施例中,8192 ML各自具有用於擴延微調的60-位元計數器,60KB依電性記憶體(例如靜態隨機存取記憶體(SRAM))係用來儲存8192計數器於處理器101。儲存8192 60-位元計數器於記憶體105耗用處理器中的記憶體量比針對重播防護區域404中的各快取行儲存32-位元MAC要求512KB少八倍。 於處理器101初始化期間,計數器150係經初始化至非隨機數值。於一實施例中,非隨機數值為零。於記憶體中的快取行208及ML 206也係經初始化為非隨機數值,該值可具有非零數值。此外,產生MAC之鑰係經初始化為隨機數值。於一實施例中,鑰係從處理器101的亂數產生器取樣。 於第4圖顯示之實施例中,重播防護區係在記憶體較低位址區,及MAC行區係在記憶體的較高位址區。區域基本位址暫存器儲存重播防護區底部之位址(RPR_ADDRESS),及MAC區域基本位址暫存器儲存MAC行區域底部之位址(MLR_ADDRESS)。 於重播防護區中位址「A」的快取行之偏移值係比得自MAC區域基本位址的匹配該位址之MAC快取行之偏移值大16倍,原因在於各個MAC快取行涵蓋重播防護區中的16行。 如此,相對應於位址「A」的MAC快取行之位址(MAC_LINE_ADDRESS)可計算如下:MAC_LINE_ADDRESS=[(address ‘A’-RPR_ADDRESS/16]+MLR_ADDRESS 於一實施例中,於重播防護區有64位元組快取行,於重播防護區中40-位元快取行位址(位址[39:0])的對映至匹配MAC行位址及SRAM陣列分錄中的XTS+計數器之指數係如下進行:該快取行位址之位元[5:0]經常性地為0(由於64位元組校準)。 該快取行位址之位元[9:6]儲存MAC值之指數(來選擇16者中之一者)於相對應於該快取行的MAC行。 該快取行位址之位元[22:10]識別8192 MAC快取行中之一者及與該MAC快取行相關聯的計數器。 該快取行位址之位元[39:23]儲存該重播防護區之基本位址。 第5圖為流程圖用以執行第4圖中所示於防護區域450內一資料區塊之寫至快取行208之方法之一實施例。 當一軟體應用程式儲存於(寫入)記憶體105時,軟體應用程式殖入一或多個快取行208於記憶體105的重播防護區域404。於一實施例中,各個快取行208具有64位元組(512-位元)。各個快取行208具有相對應32-位元MAC 204,係儲存於記憶體105的MAC區域400中之ML 206。每當一快取行208(於重播防護區域404中)係首次殖入時,保有該快取行208的MAC 204之針對該MAC快取行206之相對應計數器201遞增101。 於方塊500,快取行208係分配於記憶體105的重播防護區域404來儲存欲寫入資料。又,MAC分錄204係分配於記憶體105的MAC區域400來儲存欲寫入重播防護區域404中的快取行208之資料的MAC。(資料)之各快取行208具有其本身的MAC儲存於MAC分錄204。(資料)之若干快取行208的MAC係儲存於MAC區域400的一個MAC行206中之MAC分錄204。於一實施例中,其中MAC具有32位元,16個MAC係儲存於MAC區域400中的一個512-位元MAC快取行206。於一實施例中,於MAC區域400中之快取行係經XTS+加密,於MAC區域的各個MAC快取行206具有一個別計數器。處理繼續前進至方塊502。 於方塊502,讀取儲存快取行208的MAC 204之該MAC快取行206相關聯的該計數器201之內容。也讀取MAC快取行206之內容。於一實施例中,ML 208具有512-位元來儲存16個32-位元MAC,一個MAC用於16個快取行208中之各者。處理繼續前進至方塊504。 於方塊504,ML 206之內容經解碼來針對儲存於ML 206的MAC回復明文。解碼係使用XTS-AES加強微調操作模式(「擴延XTS-AES」)執行。於處理器101中的記憶體加密控制器103體現XTS-AES加強微調操作模式,於該處T為計數器值,及u為MAC快取行的實體位址,及j為區塊之指數。藉此方式,微調值(X)不僅限於記憶體450中的ML 206之位址,同時也限於ML 206被分配於記憶體105時處理器101儲存的計數器值(「時間戳記值」)。 「計數器」及其初始化及遞增方法可各異。於一實施例中,計數器可為線性回授移位暫存器(LFSR),係經初始化為非零值,數值可以是固定或隨機,且使用時鐘輸入遞增。於另一實施例中,計數器可為含括遞增邏輯的暫存器,係隨機地或決定性地經初始化。於又另一實施例中,計數器可為自隨機位元產生器取樣之值。計數器之長度(輸出位元數)可經決定為使得嘗試在相同計數器重播拷貝影像為不可行。處理繼續前進至方塊506。 於方塊506,欲寫至快取行208的資料係使用XTS-AES加密。處理繼續前進至方塊508。 於方塊508,ML 206儲存欲寫入的快取行208相關聯的MAC,欲寫至該ML 206之資料之產生方式係經由對ML 206的目前內容與從欲儲存於快取行208之未經加密資料所產生的MAC執行合併(讀取-修正-寫入)而產生。為了更新於MAC快取行206中該等MAC分錄中之一者的內容,讀取且解密整個ML 206,MAC分錄的新資料係寫至ML 206,及ML 206之內容係經加密、寫入與儲存於ML區域。處理繼續前進至方塊510。 於方塊510,讀取自與該ML 206相關聯的計數器之時間戳記值(「計數值」)遞增。處理繼續前進至方塊512。 於方塊512,ML 206之經修正內容係使用擴延XTS-AES以修正的「時間戳記值」加密。處理繼續前進至方塊514。 於方塊514,修正的「時間戳記值」寫至處理器中與ML 206相關聯的該計數器201,修正ML係寫至ML 206,加密資料係寫至快取行208。處理完成。 於關於第5圖敘述之實施例中,在寫至快取行208之前,資料區塊係經加密。於其它實施例中,未執行方塊506,欲寫至快取行208的資料為明文(未經加密)。 第6圖為流程圖例示說明執行讀取存取至第4圖所示防護區域450之方法之實施例。 於方塊600,讀取一快取行208、儲存用於該快取行208之MAC 205的ML 206、及多個計數器150中與該ML 206相關聯的該計數器201。快取行208、ML 206及計數器201係基於如關於第4圖討論的讀取指令中的該記憶體位址決定。處理繼續前進至方塊602。 於方塊602,讀取自快取行208的加密資料係使用XTS-AES解密。處理繼續前進至方塊604。 於方塊604,讀取自ML 206的加密MAC 205係使用擴延XTS-AES及讀取自與ML 206相關聯的該計數器之時間戳記值解密。處理繼續前進至方塊606。 於方塊606,與快取行208相關聯的MAC 205係擷取自ML 206的已解密(明文)內容中之多個MAC。於一實施例中,有16個362-位元MAC 205係儲存於512-位元ML 206。MAC 205係使用讀取自快取行208的該資料解密所得明文結果而產生。處理繼續前進至方塊608。 於方塊608,所產生的MAC係與讀取自ML 206的MAC作比較。若為相等則處理繼續前進至方塊610。若為不匹配則處理繼續前進至方塊612。 於方塊610,回送讀取自快取行208的資料(明文)。 於方塊612,已經檢測得不匹配,產生系統復置。 於關於第6圖描述之實施例中,讀取自快取行208的資料係經加密。於其它實施例中,當讀取自快取行208的資料為明文(未經加密)時不執行方塊602。 於一實施例中,各個MAC中的位元數目為32來減少用來儲存該等MAC之記憶體量,及針對多個快取行中之各者,縮短運算個別MAC的時間。若攻擊者修改加密影像,則攻擊者單一嘗試中有2-32的成功機率。如關於第6圖討論者,各次不匹配結果導致藉系統復置所造成的系統關閉。關閉後,系統係以新的隨機鑰來產生MAC而啟動。於一實施例中,各次失敗的攻擊週期從啟動至軟體啟動作業系統,及最後跑攻擊腳本,耗時至少一秒。因此成功的攻擊嘗試將耗時長達232秒(約146年)。 第2圖顯示的以樹為基礎之重播防護方案乃安全且保護快取行的內容免於被竄改。以樹為基礎之重播防護方案可防禦字典攻擊及生日攻擊二者。 字典攻擊係使用得自一列表(稱作為字典)的一數值子集替代全部可能數值來成功地嘗試之技術。字典攻擊只嘗試最有可能成功的該等值。攻擊者可收穫成對的快取行及相對應的MAC來建立一字典。然後攻擊者動態地搜尋該字典來匹配MAC,及重播得自收穫快取行的密文。 舉例言之,使用32-位元MAC,攻擊者可準備一表來儲存欲攻擊的一快取行之232「版本」之加密影像,及相對應MAC行儲存欲攻擊的快取行之MAC值。當該快取行被寫入時,攻擊者可以快取行之惡意加密版本置換其加密內容,及以得自該表的匹配加密內容置換MAC行的相對應加密內容。如此將通過MAC檢查導致成功的攻擊。但因MAC行係使用擴延XTS-AES加密,以兩個不同計數器值加密確切相同的MAC行係為不同,因而從實用觀點使得攻擊者建立字典為不可能/不可行。如此,以樹為基礎之重播防護方案防禦免受字典攻擊。 生日攻擊為一型加密攻擊,探索在機率理論中生日問題後方的數學,換言之,隨機選定人的(夠大)集合中之機率,某一對將具有相同生日。 舉例言之,生日矛盾可施加至儲存於二快取行的資料,若MAC係經加密,而其加密方式係與位址獨立無關,攻擊者可產生儲存於快取行CL的加密資料之明文。當攻擊者看到兩個快取行儲存相同值,且知曉MAC(CL1)=MAC(CL2),攻擊者可決定有關用來產生MAC之鑰的資訊。有關此鑰的資訊許可產生一假造的資料行,具有期望的MAC值,及如此通過MAC檢查。 典型地,為了防禦生日攻擊,MAC中的位元數目係經選擇為夠大,使得生日攻擊變成不可能。於一實施例中,雖然MAC為短(少數位元),MAC行係使用擴延XTS-AES加密,如此,使用兩個不同計數器值對確切相同MAC行的加密為不同,防禦免於生日攻擊。此外,計數器係經初始化為非隨機的固定值而防止生日攻擊計數器。 於一實施例中,以樹為基礎之重播防護方案藉於外部記憶體提供另一計數器層級,可擴延至N層級樹。此等計數器係使用擴延XTS-AES、處理器中的計數器及外部記憶體中的計數器位址加密。儲存於外部記憶體的計數器係用在MAC行的擴延XTS-AES加密或用在外部記憶體中的另一層級計數器的擴延XTS-AES加密。 以樹為基礎之重播防護方案提供於外部記憶體之防護區域的完整性檢查及重播防護。舉例言之,若攻擊者隨機訛誤外部記憶體中之一MAC行,於該MAC行中之32-位元MAC各自係透過解碼隨機地修改。成功的攻擊之機率為2-32。失敗導致復置,如前文討論耗時約一秒。若攻擊者隨機地攻擊外部記憶體中的一快取行,則成功攻擊的機率為2-32。失敗結果導致復置,如前文討論耗時約一秒。 若攻擊者未經計數器翻轉而重播一MAC行,如此導致MAC行的隨機訛誤,如前文討論導致訛誤。若攻擊者以成功的計數器翻轉而重播一MAC行,攻擊將成功,但實際上翻轉60-位元計數器將耗時過長來使得此種攻擊為策略上可行。 針對XTS-AES已經描述一實施例,但擴延微調模式並非限於XTS-AES,且於其它實施例中可應用於其它可微調加密方案。舉例言之,於一實施例中,針對LRW(M.Liskov、R.Rivest、及D.Wagner)可微調方塊密碼,LRW可以類似方式提供至加強LRW模式。 熟諳技藝人士將瞭解涉及本發明之一實施例之方法可於含括電腦有用媒體的電腦程式產品上具體實施。舉例言之,此種電腦有用媒體可由具有電腦可讀取程式儲存其上的唯讀記憶體裝置組成,諸如光碟-唯讀記憶體(CD-ROM)碟片或習知ROM裝置,或電腦軟碟。 雖然已經特別參考其實施例顯示及描述本發明之實施例,但熟諳技藝人士將瞭解可未悖離隨附之申請專利範圍涵蓋的本發明之實施例之範圍而於其中就形式及細節上做出各項改變。 100‧‧‧系統 101‧‧‧處理器 103‧‧‧記憶體加密控制器 104‧‧‧輸入/輸出控制器中樞器(ICH) 105‧‧‧記憶體 106‧‧‧記憶體控制器 110‧‧‧儲存I/O控制器 112‧‧‧儲存裝置 150、201‧‧‧計數器 202‧‧‧欲保護的記憶體區域 204、205‧‧‧訊息驗證代碼(MAC) 206‧‧‧MAC快取行、MAC行 208‧‧‧資料快取行 300‧‧‧擴延微調 304‧‧‧最高有效位元 306‧‧‧最低有效位元 400‧‧‧MAC區域 402‧‧‧非重播防護區域 404‧‧‧重播防護區域 450‧‧‧防護區域 500-514、600-612‧‧‧方塊 第1圖為依據本發明之原理包括用以執行記憶體加密之一記憶體加密控制器的系統之方塊圖;第2圖為方塊圖例示說明依據本發明之原理,處理器中由該記憶體加密引擎使用來從事以樹為基礎的重播防護而保護記憶體中之位址範圍,及保護儲存於記憶體的訊息驗證代碼(MAC)而提供加密完整性檢查的N個計數器;第3圖例示說明擴延微調之一個實施例;第4圖為方塊圖例示說明第1圖顯示的用以防護儲存於系統記憶體內的保全應用之記憶體中之區域的實施例;第5圖為流程圖用以執行第4圖中所示於加密區域內執行寫入存取至快取行之方法之一實施例;及第6圖為流程圖例示說明執行讀取存取至第4圖所示加密區域之方法之實施例。 101‧‧‧處理器 103‧‧‧記憶體加密控制器 104‧‧‧輸出入控制器中樞器(ICH) 105‧‧‧記憶體 106‧‧‧記憶體控制器 110‧‧‧儲存輸出入控制器 112‧‧‧儲存裝置 150‧‧‧計數器
权利要求:
Claims (20) [1] 一種方法,其包含下列步.驟:針對與一應用程式相關聯的一資料區塊,藉由一處理器產生一訊息驗證代碼(MAC);於一處理器中提供多個計數器,每一計數器係與一記憶體中多個MAC快取行中之一者相關聯;藉由該處理器加密該MAC,該MAC係使用一微調(tweak)加密,該微調包括針對該MAC快取行來儲存該MAC的一快取行識別符、及自與該MAC快取行相關聯的該計數器讀取的一時間戳記值;藉由該處理器將該資料區塊儲存於該記憶體之一快取行;及藉由該處理器將該MAC儲存於該記憶體的一MAC快取行內,該記憶體係與該處理器分開。 [2] 如申請專利範圍第1項之方法,其中該應用程式為一安全應用程式,該資料區塊係藉由該處理器加密,且該已加密的資料區塊係藉由該處理器而儲存於該記憶體之快取行。 [3] 如申請專利範圍第1項之方法,其中該微調為具有微調及密文竊取(XTS)-高階加密標準(AES)微調之一XEX加密模式。 [4] 如申請專利範圍第1項之方法,其中該微調為一LRW微調。 [5] 如申請專利範圍第1項之方法,其中該等MAC快取行係在該記憶體之一防護區域內。 [6] 如申請專利範圍第1項之方法,其中該等快取行係在該記憶體之一重播防護區域內。 [7] 如申請專利範圍第1項之方法,其中該MAC具有32-位元,該MAC快取行具有512-位元,及該快取行具有512-位元。 [8] 一種設備,其包含:複數個計數器,每一計數器係與於一外部記憶體中之多個MAC快取行中之一者相關連;及邏輯,該邏輯係針對與儲存於該外部記憶體中之一應用程式相關聯的一資料區塊而產生一訊息驗證代碼(MAC),該邏輯係用以加密該MAC,該MAC係使用一微調而加密,該微調包括針對該MAC快取行來儲存該MAC之一快取行識別符、及自與該MAC快取行相關聯的該計數器讀取的一時間戳記值,該邏輯係用以將該資料區塊儲存於該外部記憶體之一快取行、以及將該MAC儲存於該外部記憶體之一MAC快取行。 [9] 如申請專利範圍第8項之設備,其中該應用程式為一安全應用程式,該資料區塊係藉該處理器加密,且該已加密的資料區塊係藉由該處理器而儲存於該記憶體之快取行。 [10] 如申請專利範圍第8項之設備,其中該微調為具有微調及密文竊取(XTS)-高階加密標準(AES)微調之一XEX加密模式。 [11] 如申請專利範圍第8項之設備,其中該調整為一LRW微調。 [12] 如申請專利範圍第8項之設備,其中該等MAC快取行係在該外部記憶體之一防護區域內。 [13] 如申請專利範圍第8項之設備,其中該等快取行係在該外部記憶體之一重播防護區域內。 [14] 如申請專利範圍第8項之設備,其中該MAC具有32-位元,該MAC快取行具有512-位元,及該快取行具有512-位元。 [15] 一種包括具有相關聯的資訊之一機器可存取媒體的物品,其中該資訊被存取時導致一機器執行下列步驟:針對與一應用程式相關聯的一資料區塊,藉由一處理器產生一訊息驗證代碼(MAC);於一處理器中提供多個計數器,每一計數器係與一記憶體中多個MAC快取行中之一者相關聯;藉由該處理器加密該MAC,該MAC係使用一微調(tweak)加密,該微調包括針對該MAC快取行來儲存該MAC的一快取行識別符、及自與該MAC快取行相關聯的該計數器讀取的一時間戳記值;藉由該處理器將該資料區塊儲存於該記憶體之一快取行;及藉由該處理器將該MAC儲存於該記憶體的一MAC快取行內,該記憶體係與該處理器分開,該資料區塊係藉由該處理器加密,且已加密的資料區塊係藉由該處理器儲存於該記憶體之快取行。 [16] 如申請專利範圍第15項之物品,其中該應用程式為一安全應用程式。 [17] 如申請專利範圍第15項之物品,其中該微調為具有微調及密文竊取(XTS)-高階加密標準(AES)微調之一XEX加密模式。 [18] 如申請專利範圍第15項之物品,其中該調整為一LRW微調。 [19] 一種系統,其包含:用以儲存一應用程式的一大容量儲存裝置;及一處理器,其包含:複數個計數器,每一計數器係與一外部記憶體中多個MAC快取行中之一者相關聯;及邏輯,該邏輯係針對與儲存於該外部記憶體中之一應用程式相關聯的一資料區塊而產生一訊息驗證代碼(MAC),該邏輯係用以加密該MAC,該MAC係使用一微調而加密,該微調包括針對該MAC快取行來儲存該MAC之一快取行識別符、及自與該MAC快取行相聯結的該計數器讀取的一時間戳記值,該邏輯係用以將該資料區塊儲存於該外部記憶體之一快取行、及將該MAC儲存於該外部記憶體之一MAC快取行。 [20] 如申請專利範圍第19項之系統,其中該微調為具有微調及密文竊取(XTS)-高階加密標準(AES)微調之一XEX加密模式。
类似技术:
公开号 | 公开日 | 专利标题 TWI556106B|2016-11-01|具完整性檢查和防護重播攻擊之用於記憶體加密的方法及設備 JP6292594B2|2018-03-14|重複排除に基づくデータセキュリティ US5757919A|1998-05-26|Cryptographically protected paging subsystem US6708274B2|2004-03-16|Cryptographically protected paging subsystem TWI567557B|2017-01-21|具防護重播攻擊之用於記憶體加密的可微調加密模式 US8726040B2|2014-05-13|Memory randomization for protection against side channel attacks JP5306465B2|2013-10-02|セキュアなメモリに応用するメッセージ認証コードの事前計算 WO2017112282A1|2017-06-29|Memory integrity with error detection and correction WO2013095473A1|2013-06-27|Systems and methods for protecting symmetric encryption keys EP3355232B1|2020-10-07|Input/output data encryption US20190050347A1|2019-02-14|Memory data protection based on authenticated encryption WO2008059480A1|2008-05-22|Systems and methiods for protection of data integrity of updatable data against unauthorized modification US20210058237A1|2021-02-25|Re-encryption following an otp update event WO2021116655A1|2021-06-17|An apparatus and method of controlling access to data stored in a non-trusted memory CN111444553A|2020-07-24|支持tee扩展的安全存储实现方法及系统
同族专利:
公开号 | 公开日 EP2726991A4|2015-04-08| US20140223197A1|2014-08-07| US9076019B2|2015-07-07| CN103620617B|2016-08-17| TWI556106B|2016-11-01| EP2726991A1|2014-05-07| EP2726991B1|2018-03-14| KR20140018410A|2014-02-12| JP5700481B2|2015-04-15| JP2014523020A|2014-09-08| WO2013002789A1|2013-01-03| CN103620617A|2014-03-05| KR101577886B1|2015-12-15|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 US6816968B1|1998-07-10|2004-11-09|Silverbrook Research Pty Ltd|Consumable authentication protocol and system| JP4153653B2|2000-10-31|2008-09-24|株式会社東芝|マイクロプロセッサおよびデータ保護方法| JP2003228284A|2002-01-31|2003-08-15|Fujitsu Ltd|データ保存装置、データ保存方法、データ検証装置、データアクセス許可装置、プログラム、記録媒体| US7487365B2|2002-04-17|2009-02-03|Microsoft Corporation|Saving and retrieving data based on symmetric key encryption| DE10221409A1|2002-05-14|2003-12-04|Infineon Technologies Ag|Schaltung und Verfahren zur Durchführung einer Berechnung| US20050144468A1|2003-01-13|2005-06-30|Northcutt J. D.|Method and apparatus for content protection in a personal digital network environment| US7392399B2|2003-05-05|2008-06-24|Sun Microsystems, Inc.|Methods and systems for efficiently integrating a cryptographic co-processor| US7444523B2|2004-08-27|2008-10-28|Microsoft Corporation|System and method for using address bits to signal security attributes of data in the address space| US7681050B2|2005-12-01|2010-03-16|Telefonaktiebolaget L M Ericsson |Secure and replay protected memory storage| JP4409619B2|2006-02-24|2010-02-03|富士通株式会社|情報処理装置、制御装置および制御方法| US8095802B2|2006-09-12|2012-01-10|International Business Machines Corporation|System and method for securely saving a program context to a shared memory| US8356178B2|2006-11-13|2013-01-15|Seagate Technology Llc|Method and apparatus for authenticated data storage| US8209542B2|2006-12-29|2012-06-26|Intel Corporation|Methods and apparatus for authenticating components of processing systems| US9324361B2|2007-08-14|2016-04-26|Seagate Technology Llc|Protecting stored data from traffic analysis| WO2009029842A1|2007-08-31|2009-03-05|Exegy Incorporated|Method and apparatus for hardware-accelerated encryption/decryption| US8296584B2|2007-12-28|2012-10-23|Alcatel Lucent|Storage and retrieval of encrypted data blocks with in-line message authentication codes| US20090187771A1|2008-01-17|2009-07-23|Mclellan Jr Hubert Rae|Secure data storage with key update to prevent replay attacks| US8522354B2|2008-05-24|2013-08-27|Via Technologies, Inc.|Microprocessor apparatus for secure on-die real-time clock| JP5333450B2|2008-08-29|2013-11-06|日本電気株式会社|調整値付きブロック暗号化装置、方法及びプログラム並びに復号装置、方法及びプログラム| EP2340631A1|2008-11-10|2011-07-06|William V. Oxford|Method and system for controling code execution on a computing device using recursive security protocol| KR101612518B1|2009-11-26|2016-04-15|삼성전자주식회사|병렬 처리 가능한 암복호화기 및 그것의 암복호 방법| US8826035B2|2009-12-23|2014-09-02|Intel Corporation|Cumulative integrity check value processor based memory content protection| US8468365B2|2010-09-24|2013-06-18|Intel Corporation|Tweakable encryption mode for memory encryption with protection against replay attacks| KR101577886B1|2011-06-29|2015-12-15|인텔 코포레이션|무결성 검사 및 리플레이 공격들에 대한 보호를 이용하는 메모리 암호화를 위한 방법 및 장치|KR101577886B1|2011-06-29|2015-12-15|인텔 코포레이션|무결성 검사 및 리플레이 공격들에 대한 보호를 이용하는 메모리 암호화를 위한 방법 및 장치| US9003246B2|2012-09-29|2015-04-07|Intel Corporation|Functional memory array testing with a transaction-level test engine| US8996934B2|2012-09-29|2015-03-31|Intel Corporation|Transaction-level testing of memory I/O and memory device| US9009540B2|2012-12-05|2015-04-14|Intel Corporation|Memory subsystem command bus stress testing| US9009531B2|2012-12-05|2015-04-14|Intel Corporation|Memory subsystem data bus stress testing| TWI517655B|2013-05-23|2016-01-11|晨星半導體股份有限公司|密碼裝置以及密鑰保護方法| US20150033034A1|2013-07-23|2015-01-29|Gideon Gerzon|Measuring a secure enclave| RU2642821C2|2013-12-02|2018-01-29|Мастеркард Интернэшнл Инкорпорейтед|Способ и система для защищенной передачи сообщений сервиса удаленных уведомлений в мобильные устройства без защищенных элементов| US9213653B2|2013-12-05|2015-12-15|Intel Corporation|Memory integrity| US9910790B2|2013-12-12|2018-03-06|Intel Corporation|Using a memory address to form a tweak key to use to encrypt and decrypt data| WO2015194393A1|2014-06-20|2015-12-23|ソニー株式会社|情報処理装置および情報処理方法| WO2016071743A1|2014-11-07|2016-05-12|Elliptic Technologies Inc.|Integrity protection for data storage| US10185842B2|2015-03-18|2019-01-22|Intel Corporation|Cache and data organization for memory protection| US9710675B2|2015-03-26|2017-07-18|Intel Corporation|Providing enhanced replay protection for a memory| US9798900B2|2015-03-26|2017-10-24|Intel Corporation|Flexible counter system for memory protection| US9792229B2|2015-03-27|2017-10-17|Intel Corporation|Protecting a memory| US10230528B2|2015-05-04|2019-03-12|Intel Corporation|Tree-less integrity and replay memory protection for trusted execution environment| CN105653467A|2015-05-21|2016-06-08|宇龙计算机通信科技有限公司|一种存储空间分配方法及装置| US10108557B2|2015-06-25|2018-10-23|Intel Corporation|Technologies for memory confidentiality, integrity, and replay protection| US9710401B2|2015-06-26|2017-07-18|Intel Corporation|Processors, methods, systems, and instructions to support live migration of protected containers| US9959418B2|2015-07-20|2018-05-01|Intel Corporation|Supporting configurable security levels for memory address ranges| WO2017048256A1|2015-09-17|2017-03-23|Hewlett Packard Enterprise Development Lp|Efficiently storing initialization vectors| US9904805B2|2015-09-23|2018-02-27|Intel Corporation|Cryptographic cache lines for a trusted execution environment| US10664179B2|2015-09-25|2020-05-26|Intel Corporation|Processors, methods and systems to allow secure communications between protected container memory and input/output devices| US9990249B2|2015-12-24|2018-06-05|Intel Corporation|Memory integrity with error detection and correction| US10594491B2|2015-12-24|2020-03-17|Intel Corporation|Cryptographic system memory management| CN105491069B|2016-01-14|2018-08-21|西安电子科技大学|云存储中基于抵抗主动攻击的完整性验证方法| US10346318B2|2016-09-13|2019-07-09|Intel Corporation|Multi-stage memory integrity method and apparatus| CN107835145B|2016-09-21|2019-12-31|炫彩互动网络科技有限公司|一种防重放攻击的方法及分布式系统| US10528485B2|2016-09-30|2020-01-07|Intel Corporation|Method and apparatus for sharing security metadata memory space| US10235304B2|2016-10-01|2019-03-19|Intel Corporation|Multi-crypto-color-group VM/enclave memory integrity method and apparatus| TWI610196B|2016-12-05|2018-01-01|財團法人資訊工業策進會|網路攻擊模式之判斷裝置、判斷方法及其電腦程式產品| US11082432B2|2017-12-05|2021-08-03|Intel Corporation|Methods and apparatus to support reliable digital communications without integrity metadata| KR20190075363A|2017-12-21|2019-07-01|삼성전자주식회사|반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 모듈| US20190196984A1|2017-12-27|2019-06-27|Qualcomm Incorporated|Method, apparatus, and system for dynamic management of integrity-protected memory| US10733313B2|2018-02-09|2020-08-04|Arm Limited|Counter integrity tree for memory security| US10838773B2|2018-03-30|2020-11-17|Intel Corporation|Techniques for dynamic resource allocation among cryptographic domains| KR20200015172A|2018-08-03|2020-02-12|엘지전자 주식회사|비휘발성 메모리를 구비하는 전자 기기| US11120167B2|2019-03-25|2021-09-14|Micron Technology, Inc.|Block chain based validation of memory commands| US20210406411A1|2019-05-21|2021-12-30|Micron Technology, Inc.|Bus encryption for non-volatile memories| WO2021214922A1|2020-04-23|2021-10-28|日本電気株式会社|メモリ処理装置、メモリ検証装置、メモリ更新装置、メモリ保護システム、方法及びコンピュータ可読媒体|
法律状态:
2020-08-01| MM4A| Annulment or lapse of patent due to non-payment of fees|
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 PCT/US2011/042413|WO2013002789A1|2011-06-29|2011-06-29|Method and apparatus for memory encryption with integrity check and protection against replay attacks| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|