亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

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

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

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


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