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

一種基于寫(xiě)計(jì)數(shù)器的存儲(chǔ)器完整性保護(hù)方法

文檔序號(hào):9350306閱讀:824來(lái)源:國(guó)知局
一種基于寫(xiě)計(jì)數(shù)器的存儲(chǔ)器完整性保護(hù)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及的是內(nèi)存完整性校驗(yàn)領(lǐng)域,具體為一種基于寫(xiě)計(jì)數(shù)器的存儲(chǔ)器完整性保護(hù)方法。
技術(shù)背景
[0002]隨著科技的發(fā)展,計(jì)算機(jī)的應(yīng)用越來(lái)越普及,許多計(jì)算機(jī)會(huì)處理很多機(jī)密信息,因此如何保證這些數(shù)據(jù)的安全成了當(dāng)前研究的熱點(diǎn)。完整性保護(hù)就是要保證能夠檢測(cè)到攻擊者對(duì)數(shù)據(jù)所實(shí)施的惡意篡改行為,如硬件搭載攻擊。攻擊者可以對(duì)總線上流動(dòng)的數(shù)據(jù)進(jìn)行欺騙、重組、重放攻擊。保護(hù)的重點(diǎn)在于抵抗重放攻擊。重放攻擊是指攻擊者把以前存儲(chǔ)在某個(gè)地址單元中的數(shù)據(jù)替換現(xiàn)在的數(shù)據(jù)。目前防范重放攻擊主要通過(guò)使用樹(shù)形校驗(yàn)機(jī)制。根據(jù)認(rèn)證單元采用的方法與構(gòu)建樹(shù)過(guò)程的不同,又可分為Merkle Tree、并行校驗(yàn)樹(shù)PAT和TEC-Tree這三種方案。
[0003]哈希樹(shù)通過(guò)對(duì)內(nèi)存數(shù)據(jù)塊進(jìn)行迭代哈希計(jì)算建立一棵樹(shù),在CPU上保存根結(jié)點(diǎn)從而可以確保數(shù)據(jù)的完整性,尤其是可以抵抗重放攻擊。
[0004]樹(shù)機(jī)制的缺點(diǎn)是校驗(yàn)路徑長(zhǎng),進(jìn)行哈希計(jì)算時(shí)延遲大。

【發(fā)明內(nèi)容】

[0005]本發(fā)明的目的在于提供一種效率更高的基于寫(xiě)計(jì)數(shù)器的存儲(chǔ)器完整性保護(hù)方法。
[0006]本發(fā)明的目的是這樣實(shí)現(xiàn)的:
[0007]—種基于寫(xiě)計(jì)數(shù)器的存儲(chǔ)器完整性保護(hù)方法,數(shù)據(jù)塊分2種,一種數(shù)據(jù)塊有相對(duì)應(yīng)的寫(xiě)計(jì)數(shù)器,記錄處理器向該地址內(nèi)存塊的寫(xiě)次數(shù),寫(xiě)計(jì)數(shù)器保存在處理器芯片內(nèi)一個(gè)專(zhuān)用的寫(xiě)計(jì)數(shù)器緩存中,并且寫(xiě)計(jì)數(shù)器緩存與L2緩存處于同一層級(jí);在寫(xiě)計(jì)數(shù)器緩存中,還為數(shù)據(jù)塊分配一個(gè)私有密鑰;在進(jìn)行完整性驗(yàn)證時(shí)使用該密鑰進(jìn)行MAC計(jì)算;對(duì)于有寫(xiě)計(jì)數(shù)器的內(nèi)存數(shù)據(jù)塊用消息驗(yàn)證碼來(lái)進(jìn)行完整性驗(yàn)證;另一種數(shù)據(jù)塊沒(méi)有寫(xiě)計(jì)數(shù)器,在沒(méi)有寫(xiě)計(jì)數(shù)器的內(nèi)存數(shù)據(jù)塊上構(gòu)建哈希校驗(yàn)樹(shù),并且在L2緩存中保留該哈希樹(shù)的根節(jié)點(diǎn),校驗(yàn)完整性;
[0008](I)當(dāng)處理器對(duì)外部存儲(chǔ)器進(jìn)行寫(xiě)操作時(shí)要查看計(jì)數(shù)器緩存是否命中,如果不命中,對(duì)計(jì)數(shù)器緩存進(jìn)行替換,處理器向地址為addr的內(nèi)存塊寫(xiě)入數(shù)據(jù)content,具體的操作如下:
[0009](1.1)查看寫(xiě)計(jì)數(shù)器緩存中是否含有地址為addr的內(nèi)存塊的寫(xiě)計(jì)數(shù)器;
[0010](1.2)如果寫(xiě)計(jì)數(shù)器緩存命中,則表明該內(nèi)存塊已采用MAC進(jìn)行完整性保護(hù),已配備的相應(yīng)寫(xiě)計(jì)數(shù)器為counter,將counter增加I ;
[0011](1.3)如果counter增加I后沒(méi)有發(fā)生溢出,那么將content、addr以及counter相連后,使用相應(yīng)的密鑰k進(jìn)行MAC計(jì)算,得到相應(yīng)的Tag,然后將content和相應(yīng)的Tag寫(xiě)入外部存儲(chǔ)器;
[0012](1.4)如果counter增加I后發(fā)生了溢出,則counter需要重新從O開(kāi)始計(jì)數(shù)并且將相應(yīng)的密鑰更換為kl ;再將content、地址addr以及counter相連后在新的密鑰kl下進(jìn)行MAC計(jì)算,得到Tag,將數(shù)據(jù)content和Tag寫(xiě)入至外部存儲(chǔ)器;
[0013](1.5)如果寫(xiě)計(jì)數(shù)器緩存未命中,則檢查寫(xiě)計(jì)數(shù)器緩存是否已滿;
[0014](1.6)如果寫(xiě)計(jì)數(shù)器緩存未命中且緩存空間未滿,則為該內(nèi)存塊分配一個(gè)初始值為O的寫(xiě)計(jì)數(shù)器counter,并分配一個(gè)密鑰k ;將content、地址addr以及counter相連后在密鑰k下進(jìn)行MAC計(jì)算得到Tag ;將數(shù)據(jù)content和Tag都存放到外部存儲(chǔ)器中;
[0015](1.7)如果寫(xiě)計(jì)數(shù)器緩存未命中且此時(shí)緩存空間已滿,則采用置換算法將某個(gè)內(nèi)存數(shù)據(jù)塊的相應(yīng)寫(xiě)計(jì)數(shù)器替換出去;然后為地址為addr的內(nèi)存塊分配一個(gè)初始值為O的counter和初始密鑰k,將數(shù)據(jù)content及地址addr并上counter后在密鑰k下進(jìn)行MAC運(yùn)算得到Tag J^Tag和數(shù)據(jù)內(nèi)容content寫(xiě)入外部存儲(chǔ)器;對(duì)于被替換寫(xiě)計(jì)數(shù)器的內(nèi)存數(shù)據(jù)塊,采用Hash樹(shù)來(lái)保護(hù)完整性;
[0016](2)當(dāng)處理器從外部存儲(chǔ)器進(jìn)行讀操作時(shí)要對(duì)數(shù)據(jù)塊進(jìn)行完整性檢查,處理器從地址為addr的內(nèi)存塊讀數(shù)據(jù)content,具體的操作如下:
[0017](2.1)檢查寫(xiě)計(jì)數(shù)器緩存,查看是否含有該內(nèi)存塊的寫(xiě)計(jì)數(shù)器;
[0018](2.2)如果寫(xiě)計(jì)數(shù)器緩存命中,則表示該內(nèi)存數(shù)據(jù)塊采用MAC進(jìn)行完整性校驗(yàn);處理器讀取該內(nèi)存塊的數(shù)據(jù)內(nèi)容和相應(yīng)的Tag ;取的數(shù)據(jù)內(nèi)容與地址addr和相應(yīng)的寫(xiě)計(jì)數(shù)器counter相連后進(jìn)行計(jì)算得到一個(gè)新的認(rèn)真標(biāo)簽Tagl,將其與讀取的Tag相比較;若兩者匹配,則驗(yàn)證通過(guò),處理器可以使用該數(shù)據(jù)內(nèi)容;否則,數(shù)據(jù)失效;
[0019](2.3)如果寫(xiě)計(jì)數(shù)器存未命中,則表示該內(nèi)存數(shù)據(jù)塊在Hash校驗(yàn)樹(shù)的保護(hù)下;按照Hash校驗(yàn)樹(shù)的驗(yàn)證過(guò)程進(jìn)行校驗(yàn)即可;當(dāng)驗(yàn)證通過(guò)則可以使用該數(shù)據(jù);否則,數(shù)據(jù)失效。
[0020]當(dāng)寫(xiě)計(jì)數(shù)器發(fā)生溢出時(shí),更換其相應(yīng)的密鑰后再次進(jìn)行MAC計(jì)算。
[0021]本發(fā)明的有益效果在于:
[0022]采用消息驗(yàn)證碼進(jìn)行完整性驗(yàn)證與哈希校驗(yàn)樹(shù)相比,其最大的優(yōu)勢(shì)在于它的驗(yàn)證開(kāi)銷(xiāo)小得多。哈希校驗(yàn)樹(shù)進(jìn)行完整性驗(yàn)證時(shí),需要從葉子節(jié)點(diǎn)一直迭代到根節(jié)點(diǎn)計(jì)算哈希值。而消息驗(yàn)證碼只需進(jìn)行一次MAC計(jì)算即可,也就是說(shuō)只需要進(jìn)行哈希樹(shù)中的一層操作即可。
【附圖說(shuō)明】
[0023]圖1為WCIP的存儲(chǔ)器寫(xiě)操作流程
[0024]圖2為WCIP的存儲(chǔ)器讀操作流程
[0025]圖3為WCIP結(jié)構(gòu)
[0026]圖4為寫(xiě)計(jì)數(shù)器緩存
[0027]圖5為片外存儲(chǔ)器
【具體實(shí)施方式】
[0028]下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步描述。
[0029]本發(fā)明涉及的是內(nèi)存完整性校驗(yàn)領(lǐng)域,具體為一種基于寫(xiě)計(jì)數(shù)器的存儲(chǔ)器完整性保護(hù)方法。目前在內(nèi)存完整性方面主要采用樹(shù)結(jié)構(gòu),如Merkle Tree,PAT, TEC-Tree來(lái)保護(hù)內(nèi)存,數(shù)據(jù)更新時(shí)需要從葉子結(jié)點(diǎn)遞歸到根結(jié)點(diǎn),延遲非常的大。本發(fā)明對(duì)存儲(chǔ)器上的數(shù)據(jù)采用不同的完整性驗(yàn)證機(jī)制。一種數(shù)據(jù)塊有寫(xiě)計(jì)數(shù)器,用它記錄處理器向該地址內(nèi)存塊的寫(xiě)次數(shù),寫(xiě)入數(shù)據(jù)時(shí)將內(nèi)存塊地址、寫(xiě)計(jì)數(shù)器和數(shù)據(jù)內(nèi)容進(jìn)行連接后進(jìn)行MAC函數(shù)計(jì)算得到相應(yīng)的認(rèn)證標(biāo)簽進(jìn)行完整性驗(yàn)證;有的數(shù)據(jù)塊沒(méi)有寫(xiě)計(jì)數(shù)器,沒(méi)有寫(xiě)計(jì)數(shù)器的數(shù)據(jù)塊則通過(guò)構(gòu)建哈希樹(shù)來(lái)保護(hù)完整性,即以這些數(shù)據(jù)塊為葉子節(jié)點(diǎn),通過(guò)構(gòu)建一棵哈希樹(shù)進(jìn)行完整性驗(yàn)證。這些數(shù)據(jù)塊之間所采用的完整性驗(yàn)證方法是根據(jù)一定的規(guī)則而改變的。數(shù)據(jù)塊地址代表數(shù)據(jù)塊在空間上的唯一性,寫(xiě)計(jì)數(shù)器可以表示數(shù)據(jù)塊在時(shí)間上的唯一性。因此可以有效的抵抗重放攻擊。并且由于在校驗(yàn)時(shí)只需要進(jìn)行一次哈希計(jì)算,因此校驗(yàn)代價(jià)非常小。
[0030]為了減少數(shù)據(jù)校驗(yàn)時(shí)的延遲,本發(fā)明提出一種基于寫(xiě)計(jì)數(shù)器的存儲(chǔ)器完整性保護(hù)方法。為了抵抗重組攻擊,可以為數(shù)據(jù)塊分配一個(gè)寫(xiě)計(jì)數(shù)器,用它記錄處理器向該地址內(nèi)存塊的寫(xiě)次數(shù),寫(xiě)入數(shù)據(jù)時(shí)將內(nèi)存塊地址、寫(xiě)計(jì)數(shù)器和數(shù)據(jù)內(nèi)容進(jìn)行連接后進(jìn)行MAC函數(shù)計(jì)算得到相應(yīng)的認(rèn)證標(biāo)簽。如果說(shuō)數(shù)據(jù)塊地址代表數(shù)據(jù)塊在空間上的唯一性,那么寫(xiě)計(jì)數(shù)器則可以表示數(shù)據(jù)塊在時(shí)間上的唯一性。
[0031]數(shù)據(jù)塊分2種,一種數(shù)據(jù)塊有與之相對(duì)應(yīng)的一定長(zhǎng)度的寫(xiě)計(jì)數(shù)器,用它記錄處理器向該地址內(nèi)存塊的寫(xiě)次數(shù),寫(xiě)計(jì)數(shù)器保存在處理器芯片內(nèi)一個(gè)專(zhuān)用的寫(xiě)計(jì)數(shù)器緩存中,并且寫(xiě)計(jì)數(shù)器緩存與L2緩存處于同一層級(jí)。在寫(xiě)計(jì)數(shù)器緩存中,還為數(shù)據(jù)塊分配一個(gè)私有密鑰。在進(jìn)行完整性驗(yàn)證時(shí)使用該密鑰進(jìn)行MAC計(jì)算。對(duì)于有寫(xiě)計(jì)數(shù)器的內(nèi)存數(shù)據(jù)塊用消息驗(yàn)證碼來(lái)進(jìn)行完整性驗(yàn)證。另一種數(shù)據(jù)塊沒(méi)有寫(xiě)計(jì)數(shù)器,在沒(méi)有寫(xiě)計(jì)數(shù)器的內(nèi)存數(shù)據(jù)塊上構(gòu)建哈希校驗(yàn)樹(shù),并且在L2緩存中保留該哈希樹(shù)的根節(jié)點(diǎn),用以完整性校驗(yàn)。當(dāng)寫(xiě)計(jì)數(shù)器發(fā)生溢出時(shí),更換其相應(yīng)的密鑰后再次進(jìn)行MAC計(jì)算,以此來(lái)防止重放攻擊。
[0032]通過(guò)以下過(guò)程實(shí)現(xiàn)發(fā)明的內(nèi)存完整性校驗(yàn)方法:
[0033]1、寫(xiě)操作
[0034]處理器對(duì)外部存儲(chǔ)器進(jìn)行寫(xiě)操作的流程如附圖1所示。當(dāng)處理器對(duì)外部存儲(chǔ)器進(jìn)行寫(xiě)操作時(shí)要查看計(jì)數(shù)器緩存是否命中,如果不命中,還要對(duì)計(jì)數(shù)器緩存進(jìn)行替換,假設(shè)處理器向地址為addr的內(nèi)存塊寫(xiě)入數(shù)據(jù)content,具體的操作步驟如下:
[0035](I)查看寫(xiě)計(jì)數(shù)器緩存中是否含有地址為addr的內(nèi)存塊的寫(xiě)計(jì)數(shù)器。
[0036](2)如果寫(xiě)計(jì)數(shù)器緩存命中,則表明該內(nèi)存塊已采用MAC進(jìn)行完整性保護(hù),假設(shè)其已配備的相應(yīng)寫(xiě)計(jì)數(shù)器為counter。此時(shí),將counter增加I。
[0037](3)如果counter增加I后沒(méi)有發(fā)生溢出,那么將content、addr以及counter相連后,使用相應(yīng)的密鑰k進(jìn)行MAC計(jì)算,得到相應(yīng)的Tag,然后將content和相應(yīng)的Tag寫(xiě)入外部存儲(chǔ)器。
[0038](4)如果counter增加I后發(fā)生了溢出,則counter需要重新從O開(kāi)始計(jì)數(shù)并且將相應(yīng)的密鑰更換為kl。然后,再將content、地址addr以及counter相連后在新的密鑰kl下進(jìn)行MAC計(jì)算,得到Tag,然后將數(shù)據(jù)content和Tag寫(xiě)入至外部存儲(chǔ)器。
[0039](5)如果寫(xiě)計(jì)數(shù)器緩存未命中,則檢查寫(xiě)計(jì)數(shù)器緩存是否已滿。
[0040](6)如果寫(xiě)計(jì)數(shù)器緩存未命中且緩存空間未滿,則為該內(nèi)存塊分配一個(gè)初始值為O的寫(xiě)計(jì)數(shù)器counter,并分配一個(gè)密鑰k。然后,將content、地址addr以及counter相連后在密鑰k下進(jìn)行MAC計(jì)算得到Tag。最后,將數(shù)據(jù)content和Tag都存放到外部存儲(chǔ)器中。
[0041](7)如果寫(xiě)計(jì)數(shù)器緩存未命中且此時(shí)緩存空間已滿,則采用一定的置換算法(如FIFO置換算法)將某個(gè)內(nèi)存數(shù)據(jù)塊的相應(yīng)寫(xiě)計(jì)數(shù)器替換出去。然后為地址為addr的內(nèi)存塊分配一個(gè)初始值為O的counter和初始密鑰k,將數(shù)據(jù)content及地址addr并上counter后在密鑰k下進(jìn)行MAC運(yùn)算得到Tag。將Tag和數(shù)據(jù)內(nèi)容content寫(xiě)入外部存儲(chǔ)器。對(duì)于被替換寫(xiě)計(jì)數(shù)器的內(nèi)存數(shù)據(jù)塊,此時(shí)采用Hash樹(shù)來(lái)保護(hù)其完整性。
[0042]2、讀操作
[0043]處理器對(duì)外部存儲(chǔ)器進(jìn)行寫(xiě)操作的流程如圖2所示。當(dāng)處理器從外部存儲(chǔ)器進(jìn)行讀操作時(shí)要對(duì)數(shù)據(jù)塊進(jìn)行完整性檢查,假設(shè)處理器從地址為addr的內(nèi)存塊讀數(shù)據(jù)content,具體的操作步驟如下:
[0044](I)首先檢查寫(xiě)計(jì)數(shù)器緩存,查看是否含有該內(nèi)存塊的寫(xiě)計(jì)數(shù)器。
[0045](2)如果寫(xiě)計(jì)數(shù)器緩存命中,則表示該內(nèi)存數(shù)據(jù)塊采用MAC進(jìn)行完整性校驗(yàn)。此時(shí),處理器讀取該內(nèi)存塊的數(shù)據(jù)內(nèi)容和相應(yīng)的Tag。然后,把讀取的數(shù)據(jù)內(nèi)容與地址
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1