国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      內(nèi)存附加校驗器的內(nèi)存數(shù)據(jù)完整性保護方法

      文檔序號:6373119閱讀:393來源:國知局
      專利名稱:內(nèi)存附加校驗器的內(nèi)存數(shù)據(jù)完整性保護方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及的是一種提高計算機安全性能的方法。
      背景技術(shù)
      在與本發(fā)明相關(guān)的技術(shù)領(lǐng)域中,公認(rèn)的存儲器完整性校驗的有效機制是Merkle樹(或Hash樹),它是將存儲器分成多個等長塊,每個存儲塊對應(yīng)Merkle樹一個葉結(jié)點,每個內(nèi)部結(jié)點是它兩個兒子結(jié)點連接再進行hash計算的結(jié)果,此過程一直進行到根結(jié)點,樹的根結(jié)點處于安全的存儲區(qū),例如CPU中。在校驗時,再計算數(shù)據(jù)塊的hash值,與事先存儲的相應(yīng)hash值比較,如相同則繼續(xù)生成上一層hash值并進行比較,一直到根結(jié)點,如某個hash值不匹配,則發(fā)生篡改。但該方法需要占用大量存儲空間來存儲樹的結(jié)構(gòu),而且每次校驗都需要在從樹葉到根節(jié)點的每一層進行計算,耗費了大量計算資源,其太長的延遲也不適用于很多實時性任務(wù)。有許多Merkle樹的改進方法,主要有CHTree、Lhash和H-LHash、 BMT、M-TREE、PAT、TEC-Tree 和 HW-HTree 等。CHTree是利用處理器的片內(nèi)Cache來提高基于Merkle樹的完整性校驗效率。將用作完整性檢查的Merkle樹內(nèi)部結(jié)點被緩沖在L2_Cache中而維持可信。這種方法通過降低校驗路徑的長度,使得所需hash計算的次數(shù)減少。該方法的主要問題是需要較大的L2-Cache以緩沖足夠多的Merkle樹的內(nèi)部結(jié)點。LHash和H-LHash都是維護一個存儲器讀寫的操作日志,可以在稍后的某個時間一次性校驗一系列存儲器訪問結(jié)果的完整性,屬于脫機校驗。該類方法通過減少不必要的校驗次數(shù)而降低整個校驗過程的代價。LHash/H-LHash多數(shù)時間只記錄日志,因而“運行時性能”好,但一次校驗代價會更大,若想有效發(fā)揮LHash的性能,檢驗必須是不頻繁的。BMT (Bonsai Merkle Trees)是一種能同時保護內(nèi)存和一部分外存的方法,它建立一棵Merkle樹保護整個內(nèi)存,每個內(nèi)存頁(page)又對應(yīng)一棵Merkle子樹,將子樹的根結(jié)點保存在內(nèi)存中設(shè)置的專用區(qū),以此來保護外存交換區(qū)的安全,因校驗交換區(qū)數(shù)據(jù)要經(jīng)兩級Merkle樹,系統(tǒng)開銷較大。M-TREE方法將Merkle樹的MAC長度由256位降低為32位,降低了計算和存儲開銷,但安全性有待證明。PAT (Parallelizableauthentication trees)方法能并行認(rèn)證和更新結(jié)點,但總體開銷仍較大。TEC-Tree方法,它將明文分為數(shù)據(jù)塊和nonce兩部分,再用Merkle樹保護nonce塊,在解密時將解出的nonce和保存的nonce比較即可完成校驗,這省去了一次MAC操作,但仍要維護一棵nonce樹。HW-Htree (Hot Window Hash Tree)是通過縮短校驗路徑的方法來減小代價,使用的也是Merkle樹校驗方法,主要思想是維持Merkle樹的基本結(jié)構(gòu)不變,為其添加熱點區(qū)域,通過優(yōu)化熱點區(qū)域從而提高校驗性能。這種方法是Merkle樹的一種改進,由于每次只需要校驗到子樹的頂結(jié)點,縮短了校驗路徑,一定程度上提高了校驗效率,但它采用統(tǒng)一的存儲塊劃分方式,當(dāng)要保護的存儲區(qū)很大時,進行校驗的開銷仍較大。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于提供一種能提高內(nèi)存中數(shù)據(jù)的安全性,降低完整性校驗的時間和空間開銷的內(nèi)存附加校驗器的內(nèi)存數(shù)據(jù)完整性保護方法。本發(fā)明的目的是這樣實現(xiàn)的在內(nèi)存中設(shè)置能進行信息摘要計算的校驗器,通過如下過程實現(xiàn)對主存儲器的保護;(I)初始化為CPU和校驗器設(shè)一相同密鑰key,同時CPU和校驗器各維護一個用于同步的計數(shù)器,初始時兩個計數(shù)器值設(shè)為O ;⑵寫數(shù)據(jù)塊在寫數(shù)據(jù)塊時,將CPU的計數(shù)器加1,將要保存的cache行數(shù)據(jù)、計數(shù)器值和cache 行地址相連接,以key為密鑰做信息摘要計算,得到MAC (Message Authentication Code)值,將cache行與MAC值經(jīng)由總線發(fā)送到內(nèi)存;內(nèi)存在接收到數(shù)據(jù)后,將校驗器的計數(shù)器加1,在沒有篡改情況下CPU與校驗器的計數(shù)器將保持同步;接著將校驗器計數(shù)器值與接收的數(shù)據(jù)塊(cache行)和數(shù)據(jù)塊地址相連,以key為密鑰做信息摘要計算,將計算出的MAC值與收到的MAC值做比較,如相匹配,則數(shù)據(jù)校驗成功,保存數(shù)據(jù)塊,丟棄MAC值;如不匹配,認(rèn)為遭到篡改,則數(shù)據(jù)校驗失敗,校驗器發(fā)出報警信息;⑶讀數(shù)據(jù)塊在讀數(shù)據(jù)塊時,內(nèi)存將校驗器的計數(shù)器加1,將讀取的數(shù)據(jù)塊、校驗器的計數(shù)器值和數(shù)據(jù)塊地址相連接,以key為密鑰對其做信息摘要計算,將數(shù)據(jù)塊與MAC值經(jīng)由總線發(fā)送到CPU ;CPU收到數(shù)據(jù)后,將CPU的計數(shù)器加1,將CPU計數(shù)器值與接收的數(shù)據(jù)塊和數(shù)據(jù)塊地址相連,以key為密鑰做信息摘要計算,將計算出的MAC值與收到的MAC值做比較,如相匹配,則數(shù)據(jù)校驗成功,否則數(shù)據(jù)校驗失敗,CPU發(fā)出報警信息。在本發(fā)明之前提出的安全體系結(jié)構(gòu)中,幾乎所有方案都假設(shè)CPU是安全的,而內(nèi)存和總線是不安全的,可能受到硬件攻擊。而事實上,內(nèi)存芯片由于有類似于CPU的封裝方式,攻擊者同樣不能探入到其內(nèi)部結(jié)構(gòu),即內(nèi)存芯片是安全的,攻擊點只在內(nèi)存或主板的總線上,攻擊者可通過搭接的方法來控制總線,并可能篡改數(shù)據(jù)。因此如果內(nèi)存芯片也具有計算功能,則它可與CPU協(xié)同完成校驗,顯著提高系統(tǒng)性能?;谶@一想法,本發(fā)明提出了硬件協(xié)同的存儲器完整性保護方法。其主要思想是在內(nèi)存芯片中加入校驗器,CPU和添加的校驗器協(xié)同完成數(shù)據(jù)校驗。在內(nèi)存芯片中加入的校驗器能進行信息摘要計算。CPU和校驗器協(xié)同保護總線上傳輸?shù)臄?shù)據(jù)的完整性,如果攻擊者通過某硬件搭接總線,篡改總線上傳輸?shù)臄?shù)據(jù),CPU或校驗器可以檢測到這種情況,并發(fā)出報警信息。CPU和校驗器具有相同的密鑰,并各維護一個同步的計數(shù)器。兩個計數(shù)器初始值相同,每一次總線傳輸數(shù)據(jù)后都加1,所以在總線上沒有偽造數(shù)據(jù)的情況下,兩個計數(shù)器維持同步??紤]到目前的內(nèi)存通常焊有多個內(nèi)存芯片,每個芯片的引腳都是外露的,易受到搭載攻擊,需要為每個內(nèi)存芯片都加入校驗器,從而造成成本增加。為簡化設(shè)計,可將整個內(nèi)存條進行封裝,只外露與系統(tǒng)總線的接口,這樣一個內(nèi)存條只需加入一個校驗器即可。本發(fā)明的主要特點為(I)提高內(nèi)存中數(shù)據(jù)的安全性,探測使用搭接總線方法篡改總線數(shù)據(jù)的攻擊行為,防御包括重放攻擊在內(nèi)的各種主動和被動攻擊行為;
      (2)降低完整性校驗的時間和空間開銷。


      附圖是本發(fā)明的內(nèi)存附加校驗器的內(nèi)存數(shù)據(jù)完整性保護方法的示意圖。
      具體實施例方式下面結(jié)合附圖舉例對本發(fā)明做更詳細(xì)的描述結(jié)合附圖,其中verifier是內(nèi)存中增加的校驗器,它有與CPU相同的密鑰key,mask是對多個內(nèi)存芯片(memory chip)和verifier的封裝,使其免于受到硬件攻擊。在內(nèi)存中設(shè)置能進行信息摘要計算的校驗器,通過三個主要過程初始化、寫數(shù)據(jù)和讀數(shù)據(jù)來實現(xiàn)對主存儲器的保護,分別敘述如下。
      ⑴初始化為CPU和校驗器設(shè)一相同密鑰key,且兩者各維護一個用于同步的計數(shù)器,初始時兩個計數(shù)器值可設(shè)為O。(2)寫數(shù)據(jù)塊在寫數(shù)據(jù)塊時,將CPU的計數(shù)器加1,將要保存的cache行數(shù)據(jù)、計數(shù)器值和cache行地址相連接,以key為密鑰對其做信息摘要計算,得到MAC (Message AuthenticationCode)值,將cache行與MAC值經(jīng)由總線發(fā)送到內(nèi)存;內(nèi)存在接收到數(shù)據(jù)后,將校驗器的計數(shù)器加1,這樣在沒有篡改情況下CPU與校驗器的計數(shù)器將保持同步。接著將校驗器計數(shù)器值與接收的數(shù)據(jù)塊(cache行)和數(shù)據(jù)塊地址相連,以key為密鑰對其做信息摘要計算,將計算出的MAC值與收到的MAC值做比較,如相匹配,則數(shù)據(jù)校驗成功,保存數(shù)據(jù)塊,丟棄MAC值;如不匹配,認(rèn)為遭到篡改,則數(shù)據(jù)校驗失敗,校驗器發(fā)出報警信息。(3)讀數(shù)據(jù)塊在讀數(shù)據(jù)塊時,內(nèi)存將校驗器的計數(shù)器加1,將讀取的數(shù)據(jù)塊、校驗器的計數(shù)器值和數(shù)據(jù)塊地址相連接,以key為密鑰對其做信息摘要計算,將數(shù)據(jù)塊與MAC值經(jīng)由總線發(fā)送到CPU ;CPU收到數(shù)據(jù)后,將CPU的計數(shù)器加1,將CPU計數(shù)器值與接收的數(shù)據(jù)塊和數(shù)據(jù)塊地址相連,以key為密鑰對其做信息摘要計算,將計算出的MAC值與收到的MAC值做比較,如相匹配,則數(shù)據(jù)校驗成功,否則數(shù)據(jù)校驗失敗,CPU發(fā)出報警信息。在具體實現(xiàn)時,內(nèi)存校驗器可以選用LKT4101等商業(yè)加密芯片,或者選用ARM等具有簡單計算功能的芯片,此時加密程序可以存儲在一塊專用內(nèi)存中。內(nèi)存校驗器與系統(tǒng)總線相連,進出內(nèi)存的數(shù)據(jù)都要經(jīng)過校驗器,如果校驗失敗,校驗器可以適當(dāng)?shù)姆绞桨l(fā)出警報,甚至終止程序的運行。與目前主流基于Merkle樹的認(rèn)證方法比較,本發(fā)明提出的內(nèi)存數(shù)據(jù)完整性保護方法不需要在內(nèi)存中保存數(shù)據(jù)塊MAC值,也不需要在內(nèi)存構(gòu)建Merkle樹,大大降低了完整性保護帶來的性能開銷;同時由于計數(shù)器的存在,使每次讀寫數(shù)據(jù)時,攻擊者如用以前發(fā)送過的數(shù)據(jù)再發(fā)給CPU或內(nèi)存,由于計數(shù)器不斷加1,導(dǎo)致CPU或內(nèi)存計算出的MAC值與收到的MAC值不同,校驗器也能檢測出,所以該方法可以防御重放攻擊。結(jié)合計數(shù)器模式等加密方法,本方法可防范各種主動和被動攻擊行為。
      權(quán)利要求
      1.一種內(nèi)存附加校驗器的內(nèi)存數(shù)據(jù)完整性保護方法,其特征是在內(nèi)存中設(shè)置能進行信息摘要計算的校驗器,通過如下過程實現(xiàn)對主存儲器的保護; (1)初始化 為CPU和校驗器設(shè)一相同密鑰key,同時CPU和校驗器各維護一個用于同步的計數(shù)器,初始時兩個計數(shù)器值設(shè)為O ; (2)寫數(shù)據(jù)塊 在寫數(shù)據(jù)塊時,將CPU的計數(shù)器加1,將要保存的cache行數(shù)據(jù)、計數(shù)器值和cache行地址相連接,以key為密鑰做信息摘要計算,得到MAC值,將cache行與MAC值經(jīng)由總線發(fā)送到內(nèi)存;內(nèi)存在接收到數(shù)據(jù)后,將校驗器的計數(shù)器加I,在沒有篡改情況下CPU與校驗器的計數(shù)器將保持同步;接著將校驗器計數(shù)器值與接收的數(shù)據(jù)塊和數(shù)據(jù)塊地址相連,以key為密鑰做信息摘要計算,將計算出的MAC值與收到的MAC值做比較,如相匹配,則數(shù)據(jù)校驗成功,保存數(shù)據(jù)塊,丟棄MAC值;如不匹配,認(rèn)為遭到篡改,則數(shù)據(jù)校驗失敗,校驗器發(fā)出報警信息; (3)讀數(shù)據(jù)塊 在讀數(shù)據(jù)塊時,內(nèi)存將校驗器的計數(shù)器加1,將讀取的數(shù)據(jù)塊、校驗器的計數(shù)器值和數(shù)據(jù)塊地址相連接,以key為密鑰對其做信息摘要計算,將數(shù)據(jù)塊與MAC值經(jīng)由總線發(fā)送到CPU ;CPU收到數(shù)據(jù)后,將CPU的計數(shù)器加1,將CPU計數(shù)器值與接收的數(shù)據(jù)塊和數(shù)據(jù)塊地址相連,以key為密鑰做信息摘要計算,將計算出的MAC值與收到的MAC值做比較,如相匹配,則數(shù)據(jù)校驗成功,否則數(shù)據(jù)校驗失敗,CPU發(fā)出報警信息。
      全文摘要
      本發(fā)明提供的是一種內(nèi)存附加校驗器的內(nèi)存數(shù)據(jù)完整性保護方法。在內(nèi)存芯片中加入能進行信息摘要計算的校驗器,CPU和校驗器具有相同的密鑰,并各維護一個同步的計數(shù)器,兩個計數(shù)器初始值相同,每一次總線傳輸數(shù)據(jù)后都加1,所以在總線上沒有偽造數(shù)據(jù)的情況下,兩個計數(shù)器維持同步。CPU和校驗器協(xié)同保護總線上傳輸?shù)臄?shù)據(jù)的完整性,如果攻擊者通過某硬件搭接總線,篡改總線上傳輸?shù)臄?shù)據(jù),CPU或校驗器可以檢測到這種情況,并發(fā)出報警信息。本發(fā)明能夠提高內(nèi)存中數(shù)據(jù)的安全性,探測使用搭接總線方法篡改總線數(shù)據(jù)的攻擊行為,防御包括重放攻擊在內(nèi)的各種主動和被動攻擊行為;降低完整性校驗的時間和空間開銷。
      文檔編號G06F21/00GK102841998SQ201210239059
      公開日2012年12月26日 申請日期2012年7月11日 優(yōu)先權(quán)日2012年7月11日
      發(fā)明者姚念民, 馬海峰 申請人:哈爾濱工程大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1