欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種抵抗故障攻擊的防護(hù)方法和裝置與流程

文檔序號:11831230閱讀:259來源:國知局
一種抵抗故障攻擊的防護(hù)方法和裝置與流程

本發(fā)明涉及安全芯片領(lǐng)域,具體地,涉及一種抵抗故障攻擊的防護(hù)方法和裝置。



背景技術(shù):

隨著信息技術(shù)和計算機(jī)技術(shù)的發(fā)展和廣泛應(yīng)用,信息安全越來越受到人們的重視。近年來一些常用的攻擊技術(shù)也趨于成熟,如側(cè)信道攻擊、故障攻擊、物理攻擊等,這些都對芯片的安全防護(hù)提出更高要求。于是,人們越來越關(guān)注芯片的設(shè)計,尤其是芯片中針對各種攻擊的防護(hù)措施。側(cè)信道攻擊主要是利用芯片的功耗、電磁等信息進(jìn)行攻擊,如SPA、DPA、CPA等方法。故障攻擊主要通過一些手段誘導(dǎo)運行過程中的芯片產(chǎn)生錯誤,改變芯片的行為和運行結(jié)果,如DFA等。物理攻擊則是通過對芯片進(jìn)行掀蓋、腐蝕等操作,進(jìn)而通過逆向工程等方法進(jìn)行攻擊。現(xiàn)在比較成熟的芯片硬件的防護(hù)主要是引入噪聲、時鐘擾亂和對密碼模塊加入掩碼等方法。

故障攻擊最重要的操作是需要得到故障注入后的結(jié)果,如果防故障攻擊方法能夠判斷出芯片遭遇了故障攻擊,就可以不輸出結(jié)果,攻擊者也就無法繼續(xù)攻擊。現(xiàn)有抵抗故障攻擊的方法是將兩次運算結(jié)果直接進(jìn)行比較,由于攻擊者可以利用激光等手段攻擊CPU的比較結(jié)果,使得現(xiàn)有方法仍然不能有效抵抗故障攻擊。



技術(shù)實現(xiàn)要素:

本發(fā)明是為了克服現(xiàn)有抵抗故障攻擊的方法仍然不能有效抵抗故障攻擊的缺陷,根據(jù)本發(fā)明的一個方面,提出一種抵抗故障攻擊的防護(hù)方法。

本發(fā)明實施例提供的一種抵抗故障攻擊的防護(hù)方法,包括:獲取第一運算結(jié)果和第二運算結(jié)果,并將第一運算結(jié)果存儲于第一寄存器,將第二運算結(jié)果存儲于第二寄存器;讀取第一存儲器中的第一運算結(jié)果,并將第一運算結(jié)果存儲于第三存儲器;讀取第二存儲器中的第二運算結(jié)果,并將第二運算結(jié)果存儲于第四存儲器;判斷存儲有第一運算結(jié)果的存儲器中的第一運算結(jié) 果與存儲有第二運算結(jié)果的存儲器中的第二運算結(jié)果是否相同,當(dāng)判斷結(jié)果為第一運算結(jié)果與第二運算結(jié)果均相同時,輸出運算結(jié)果。

在上述技術(shù)方案中,該方法還包括:讀取第三存儲器中的第一運算結(jié)果,并將第一運算結(jié)果存儲于第五存儲器;讀取第四存儲器中的第二運算結(jié)果,并將第二運算結(jié)果存儲于第六存儲器。

在上述技術(shù)方案中,判斷存儲有第一運算結(jié)果的存儲器中的第一運算結(jié)果與存儲有第二運算結(jié)果的存儲器中的第二運算結(jié)果是否相同,包括:

判斷第一存儲器中的第一運算結(jié)果與第二存儲器中的第二運算結(jié)果是否相同;判斷第三存儲器中的第一運算結(jié)果與第四存儲器中的第二運算結(jié)果是否相同;或

判斷第一存儲器中的第一運算結(jié)果與第四存儲器中的第二運算結(jié)果是否相同;判斷第三存儲器中的第一運算結(jié)果與第二存儲器中的第二運算結(jié)果是否相同。

在上述技術(shù)方案中,同時執(zhí)行判斷存儲有第一運算結(jié)果的存儲器中的第一運算結(jié)果與存儲有第二運算結(jié)果的存儲器中的第二運算結(jié)果是否相同中的判斷步驟;或

按照先后順序依次執(zhí)行判斷存儲有第一運算結(jié)果的存儲器中的第一運算結(jié)果與存儲有第二運算結(jié)果的存儲器中的第二運算結(jié)果是否相同中的判斷步驟。

本發(fā)明是為了克服現(xiàn)有抵抗故障攻擊的方法仍然不能有效抵抗故障攻擊的缺陷,根據(jù)本發(fā)明的一個方面,提出一種抵抗故障攻擊的防護(hù)裝置。

本發(fā)明實施例提供的一種抵抗故障攻擊的防護(hù)裝置,包括:

預(yù)處理模塊,用于獲取第一運算結(jié)果和第二運算結(jié)果,并將第一運算結(jié)果存儲于第一寄存器,將第二運算結(jié)果存儲于第二寄存器;

多級存儲模塊,用于讀取第一存儲器中的第一運算結(jié)果,并將第一運算結(jié)果存儲于第三存儲器;讀取第二存儲器中的第二運算結(jié)果,并將第二運算結(jié)果存儲于第四存儲器;

多級判斷模塊,用于判斷存儲有第一運算結(jié)果的存儲器中的第一運算結(jié)果與存儲有第二運算結(jié)果的存儲器中的第二運算結(jié)果是否相同,當(dāng)判斷結(jié)果為第一運算結(jié)果與第二運算結(jié)果均相同時,輸出運算結(jié)果。

在上述技術(shù)方案中,多級存儲模塊還用于:讀取第三存儲器中的第一運算結(jié)果,并將第一運算結(jié)果存儲于第五存儲器;讀取第四存儲器中的第二運算結(jié)果,并將第二運算結(jié)果存儲于第六存儲器。

在上述技術(shù)方案中,多級判斷模塊具體用于:

判斷第一存儲器中的第一運算結(jié)果與第二存儲器中的第二運算結(jié)果是否相同;判斷第三存儲器中的第一運算結(jié)果與第四存儲器中的第二運算結(jié)果是否相同;或

判斷第一存儲器中的第一運算結(jié)果與第四存儲器中的第二運算結(jié)果是否相同;判斷第三存儲器中的第一運算結(jié)果與第二存儲器中的第二運算結(jié)果是否相同。

在上述技術(shù)方案中,多級判斷模塊具體用于:

同時執(zhí)行判斷存儲有第一運算結(jié)果的存儲器中的第一運算結(jié)果與存儲有第二運算結(jié)果的存儲器中的第二運算結(jié)果是否相同中的判斷步驟;或

按照先后順序依次執(zhí)行判斷存儲有第一運算結(jié)果的存儲器中的第一運算結(jié)果與存儲有第二運算結(jié)果的存儲器中的第二運算結(jié)果是否相同中的判斷步驟。

本發(fā)明實施例提供的一種抵抗故障攻擊的防護(hù)方法和裝置,采用多級存儲的方式存儲運算結(jié)果,并分別進(jìn)行多次比較判斷,只有在所有判斷結(jié)果均相同時才輸出運算結(jié)果,從而加大了攻擊者的攻擊難度,該方法可以有效抵抗多點的故障攻擊,提高安全性。同時,該裝置不需要增加芯片面積和功耗,抵抗故障攻擊效果顯著。

本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。

下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。

附圖說明

附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:

圖1為本發(fā)明實施例中抵抗故障攻擊的防護(hù)方法的流程圖;

圖2為實施例一中抵抗故障攻擊的防護(hù)方法的流程圖;

圖3為實施例一中抵抗故障攻擊的防護(hù)方法的流程示意圖;

圖4為本發(fā)明實施例中抵抗故障攻擊的防護(hù)裝置的結(jié)構(gòu)圖。

具體實施方式

下面結(jié)合附圖,對本發(fā)明的具體實施方式進(jìn)行詳細(xì)描述,但應(yīng)當(dāng)理解本發(fā)明的保護(hù)范圍并不受具體實施方式的限制。

根據(jù)本發(fā)明實施例,提供了一種抵抗故障攻擊的防護(hù)方法,圖1為該方法的流程圖,具體包括:

步驟101:獲取第一運算結(jié)果和第二運算結(jié)果,并將第一運算結(jié)果存儲于第一寄存器,將第二運算結(jié)果存儲于第二寄存器。

其中,上述第一運算結(jié)果和第二運算結(jié)果均為對同一明文進(jìn)行正常加密運算后的結(jié)果,該結(jié)果即為明文加密后的密文。

步驟102:讀取第一存儲器中的第一運算結(jié)果,并將第一運算結(jié)果存儲于第三存儲器;讀取第二存儲器中的第二運算結(jié)果,并將第二運算結(jié)果存儲于第四存儲器。

本發(fā)明實施例中,采用多級存儲的方式存儲運算結(jié)果。其還可以包括第五存儲器和第六存儲器,具體的:讀取第三存儲器中的第一運算結(jié)果,并將第一運算結(jié)果存儲于第五存儲器;讀取第四存儲器中的第二運算結(jié)果,并將第二運算結(jié)果存儲于第六存儲器。存儲的級數(shù)越多,判斷的次數(shù)越多,故障攻擊的難度越大。

步驟103:判斷存儲有第一運算結(jié)果的存儲器中的第一運算結(jié)果與存儲有第二運算結(jié)果的存儲器中的第二運算結(jié)果是否相同,當(dāng)上述判斷結(jié)果為第一運算結(jié)果與第二運算結(jié)果均相同時,輸出運算結(jié)果。

本發(fā)明實施例中,由于采用多級存儲的方式存儲運算結(jié)果,相應(yīng)的可以有多次判斷步驟。具體的,步驟103中的判斷步驟包括兩種判斷方式:順序判斷方式和交叉判斷方式。具體的,在步驟103中:

順序判斷方式為:判斷第一存儲器中的第一運算結(jié)果與第二存儲器中的第二運算結(jié)果是否相同;判斷第三存儲器中的第一運算結(jié)果與第四存儲器中的第二運算結(jié)果是否相同。

交叉判斷方式為:判斷第一存儲器中的第一運算結(jié)果與第四存儲器中的第二運算結(jié)果是否相同;判斷第三存儲器中的第一運算結(jié)果與第二存儲器中的第二運算結(jié)果是否相同。

同時,由于可以存在多次判斷步驟,該多次判斷步驟可以同時進(jìn)行,也可以按照順序依次進(jìn)行判斷。同時執(zhí)行判斷存儲有第一運算結(jié)果的存儲器中的第一運算結(jié)果與存儲有第二運算結(jié)果的存儲器中的第二運算結(jié)果是否相同中的判斷步驟;或按照先后順序依次執(zhí)行判斷存儲有第一運算結(jié)果的存儲器中的第一運算結(jié)果與存儲有第二運算結(jié)果的存儲器中的第二運算結(jié)果是否相同中的判斷步驟。當(dāng)同時執(zhí)行判斷步驟時,攻擊者需要同時攻擊判斷結(jié)果,攻擊手段更難實現(xiàn)。

本發(fā)明實施例中,無論采用哪種判斷方式,只有在第一運算結(jié)果和第二運算結(jié)果均相同時才會輸出運算結(jié)果。以順序判斷方式為例,只有在第一存儲器中的第一運算結(jié)果與第二存儲器中的第二運算結(jié)果相同,而且第三存儲器中的第一運算結(jié)果與第四存儲器中的第二運算結(jié)果相同時,才輸出運算結(jié)果。該運算結(jié)果為加密運算的結(jié)果,具體可以為上述的第一運算結(jié)果或第二運算結(jié)果。

當(dāng)攻擊者采用現(xiàn)有攻擊方法在運算過程中注入故障時,第一寄存器和第二寄存器中存儲的結(jié)果就會不一樣,其中有一個是錯誤的。雖然攻擊者可以利用激光等手段攻擊CPU的第一次判斷結(jié)果,強(qiáng)制讓CPU的比較結(jié)果滿足相等條件,但是因為第一寄存器和第二寄存器的數(shù)據(jù)又被存儲到第三寄存器和第四寄存器中,后兩個寄存器的數(shù)據(jù)和第一寄存器和第二寄存器的數(shù)據(jù)相同。當(dāng)采用本發(fā)明實施例公開的防護(hù)方法時,攻擊者如果想得到輸出結(jié)果就必須繼續(xù)強(qiáng)制改變第二次判斷的結(jié)果,這樣就大大增加了攻擊難度;如果采用三級或三級以上的存儲方式,故障攻擊會更加難以實現(xiàn)。

本發(fā)明實施例提供的一種抵抗故障攻擊的防護(hù)方法,采用多級存儲的方式存儲運算結(jié)果,并分別進(jìn)行多次比較判斷,只有在所有判斷結(jié)果均相同時才輸出運算結(jié)果,從而加大了攻擊者的攻擊難度,該方法可以有效抵抗多點的故障攻擊,提高安全性。同時,該方法不需要增加芯片面積和功耗,抵抗故障攻擊效果顯著。

下面通過一個實施例詳細(xì)介紹該防護(hù)方法的流程。

實施例一

在實施例一中,采用二級存儲的方式,采用順序判斷的方式依次判斷運算結(jié)果是否一致,方法流程參見圖2和圖3所示,具體包括:

步驟201:獲取第一運算結(jié)果和第二運算結(jié)果,并將第一運算結(jié)果存儲于第一寄存器,將第二運算結(jié)果存儲于第二寄存器。

步驟202:讀取第一存儲器中的第一運算結(jié)果,并將第一運算結(jié)果存儲于第三存儲器。

步驟203:讀取第二存儲器中的第二運算結(jié)果,并將第二運算結(jié)果存儲于第四存儲器。

步驟204:判斷第一存儲器中的第一運算結(jié)果與第二存儲器中的第二運算結(jié)果是否相同,當(dāng)運算結(jié)果相同時,繼續(xù)步驟205,否則繼續(xù)步驟207。

步驟205:判斷第三存儲器中的第一運算結(jié)果與第四存儲器中的第二運算結(jié)果是否相同,當(dāng)運算結(jié)果相同時,繼續(xù)步驟206,否則繼續(xù)步驟207。

步驟206:輸出運算結(jié)果。

步驟207:輸出錯誤提示。

在實施例一中,如果同時執(zhí)行判斷步驟,則同時執(zhí)行步驟204和步驟205,當(dāng)二者的判斷結(jié)果均相同時,繼續(xù)步驟206;只要存在一個判斷結(jié)果不相同,則繼續(xù)步驟207。

以上詳細(xì)介紹了該抵抗故障攻擊的防護(hù)方法的詳細(xì)方法流程,該方法也可以通過相應(yīng)的裝置實現(xiàn),下面詳細(xì)介紹該裝置的結(jié)構(gòu)和功能。

本發(fā)明實施例提供的一種抵抗故障攻擊的防護(hù)裝置,參見圖4所示,該裝置包括:預(yù)處理模塊401、多級存儲模塊402和多級判斷模塊。

預(yù)處理模塊401,用于獲取第一運算結(jié)果和第二運算結(jié)果,并將第一運算結(jié)果存儲于第一寄存器,將第二運算結(jié)果存儲于第二寄存器;

多級存儲模塊402,用于讀取第一存儲器中的第一運算結(jié)果,并將第一運算結(jié)果存儲于第三存儲器;讀取第二存儲器中的第二運算結(jié)果,并將第二運算結(jié)果存儲于第四存儲器;

多級判斷模塊403,用于判斷存儲有第一運算結(jié)果的存儲器中的第一運算結(jié)果與存儲有第二運算結(jié)果的存儲器中的第二運算結(jié)果是否相同,當(dāng)判斷結(jié)果為第一運算結(jié)果與第二運算結(jié)果均相同時,輸出運算結(jié)果。

優(yōu)選的,多級存儲模塊402還用于:讀取第三存儲器中的第一運算結(jié)果,并將第一運算結(jié)果存儲于第五存儲器;讀取第四存儲器中的第二運算結(jié)果,并將第二運算結(jié)果存儲于第六存儲器。

優(yōu)選的,多級判斷模塊403具體用于:

判斷第一存儲器中的第一運算結(jié)果與第二存儲器中的第二運算結(jié)果是否相同;判斷第三存儲器中的第一運算結(jié)果與第四存儲器中的第二運算結(jié)果是否相同;或

判斷第一存儲器中的第一運算結(jié)果與第四存儲器中的第二運算結(jié)果是否相同;判斷第三存儲器中的第一運算結(jié)果與第二存儲器中的第二運算結(jié)果是否相同。

優(yōu)選的,多級判斷模塊403具體用于:

同時執(zhí)行判斷存儲有第一運算結(jié)果的存儲器中的第一運算結(jié)果與存儲有第二運算結(jié)果的存儲器中的第二運算結(jié)果是否相同中的判斷步驟;或

按照先后順序依次執(zhí)行判斷存儲有第一運算結(jié)果的存儲器中的第一運算結(jié)果與存儲有第二運算結(jié)果的存儲器中的第二運算結(jié)果是否相同中的判斷步驟。

本發(fā)明實施例提供的一種抵抗故障攻擊的防護(hù)方法和裝置,采用多級存儲的方式存儲運算結(jié)果,并分別進(jìn)行多次比較判斷,只有在所有判斷結(jié)果均相同時才輸出運算結(jié)果,從而加大了攻擊者的攻擊難度,該方法可以有效抵抗多點的故障攻擊,提高安全性。同時,該裝置不需要增加芯片面積和功耗,抵抗故障攻擊效果顯著。

本發(fā)明能有多種不同形式的具體實施方式,上面以圖1-圖4為例結(jié)合附圖對本發(fā)明的技術(shù)方案作舉例說明,這并不意味著本發(fā)明所應(yīng)用的具體實例只能局限在特定的流程或?qū)嵤├Y(jié)構(gòu)中,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)了解,上文所提供的具體實施方案只是多種優(yōu)選用法中的一些示例,任何體現(xiàn)本發(fā)明權(quán)利要求的實施方式均應(yīng)在本發(fā)明技術(shù)方案所要求保護(hù)的范圍之內(nèi)。

最后應(yīng)說明的是:以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,盡管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,對于本領(lǐng)域的技術(shù)人員來說,其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換。凡在本發(fā)明的精神和原則之內(nèi), 所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
新宁县| 兰溪市| 连云港市| 石林| 井陉县| 泰和县| 霸州市| 新郑市| 安泽县| 新民市| 双鸭山市| 平和县| 宜兴市| 阿勒泰市| 彰武县| 富宁县| 临湘市| 麦盖提县| 天全县| 宜兴市| 上蔡县| 阜城县| 资兴市| 乌拉特前旗| 微博| 新田县| 平乐县| 溧水县| 新绛县| 广德县| 淮安市| 内江市| 清水河县| 调兵山市| 宁陕县| 汉中市| 客服| 榆中县| 公主岭市| 康定县| 凯里市|