国产精品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>

      一種抗dpa/spa攻擊的系統(tǒng)和方法

      文檔序號:7894439閱讀:313來源:國知局
      專利名稱:一種抗dpa/spa攻擊的系統(tǒng)和方法
      技術領域
      本發(fā)明涉及SOC集成電路設計領域,尤其是ー種抗DPA/SPA攻擊的系統(tǒng)和方法。
      背景技術
      在現(xiàn)有的嵌入式SOC系統(tǒng)中,用于進行信息保護和簽名認證的加密算法(如RSA,DES7AES等)通常采用軟件和硬件電路的方法實現(xiàn)。P. Kocher教授于20世紀90年代末提出了 SPA (Simple Power Analysia,簡單功耗分析)和 DPA (Differential Power Analysis,差分功耗分析)攻擊方法后,密碼安全芯片的安全性受到了嚴峻挑戰(zhàn)。攻擊者可以通過分析軟件算法和硬件電路的實現(xiàn)方式,借助特定的采集和分析設備對加解密系統(tǒng)進行攻擊,獲得算法加密用的密鑰等信息,進而獲得加密信息或者進行簽名偽裝。目前,國內(nèi)外有關DPA/SPA防御方面的研究報道很多,其主流技術包括算法及硬件實現(xiàn)中的MASK技術、時鐘擾亂技術、基于雙軌互補CMOS的功耗平衡技術等。MASK技術通過對加密操作中的中間結果進行掩蓋使差分功耗分析變得十分困難,該方法實現(xiàn)往往需要十分大的硬件存儲空間,且會使電路中關鍵路徑變長,需要在實現(xiàn)代價、處理速度和安全性之間進行權衡。時間擾亂技術利用時鐘頻率的隨機變化對密碼芯片的微觀功耗進行擾亂,使各時間點上所發(fā)生的操作無法真正對準,差分特性無法顯現(xiàn)。該方法在帶來功耗安全性的同吋,通常會帶來約16%的時間損耗,影響處理器的性能,另外會引入芯片設計流程上的麻煩。功耗平衡技木通過邏輯互補電路,使所有充放電負載的等效電容總相等,該方法需要犧牲一定的功耗和實現(xiàn)代價。

      發(fā)明內(nèi)容
      本發(fā)明的目的正是要解決上述技術存在的不足,而提供ー種抗DPA/SPA攻擊的系統(tǒng)和方法。本發(fā)明解決其技術問題采用的技術方案這種抗DPA/SPA攻擊的系統(tǒng),該系統(tǒng)包括CPU主控單元、隨機數(shù)模塊、延時插入單元、功耗單元、定時器単元、加解密模塊,所述CPU主控單元包括CPU內(nèi)核以及存儲資源;所述加解密模塊,用于實現(xiàn)ー種或多種加解密算法的模塊;所述隨機數(shù)模塊是真隨機數(shù)發(fā)生器,其作用是不間斷的產(chǎn)生真隨機數(shù);所述功耗単元是ー個在工作時要消耗一定的功耗的噪聲發(fā)生器,CPU主控單元全部或部分打開或關閉該單元,來控制功耗的消耗;所述定時器單元是一個定時器,用于產(chǎn)生定時溢出信號;所述延時插入單元是ー個延時插入組件,在加解密過程中插入延吋。
      本發(fā)明所述的這種抗DPA/SPA攻擊的方法,利用嵌入式SOC系統(tǒng)中控制單元控制隨機數(shù)模塊和定時器単元,對加解密系統(tǒng)進行兩個操作(I)、隨機地控制系統(tǒng)中功率消耗単元的打開和關閉,使系統(tǒng)在進行加解密運算時的功耗隨機變化,降低加解密的數(shù)據(jù)與系統(tǒng)功耗消耗件的相關性;(2)、隨機地在系統(tǒng)運行過程中插入延時,移動加解密操作在時間域里的位置。本發(fā)明有益的效果是本發(fā)明提出了功率隨機加擾、隨機延時插入的抗DPA/SPA攻擊的技木,以及基于兩者結合的抗DPA/SPA的方法和系統(tǒng)。該方法硬件開銷小,對系統(tǒng)功耗和加解密速度都不會有明顯影響,而且易于實現(xiàn)。


      圖I是本發(fā)明的系統(tǒng)連接示意圖;圖2是本發(fā)明的實施例I的連接示意圖;圖3是本發(fā)明的實施例2的連接示意圖;
      圖4是本發(fā)明的實施例3的連接示意圖。
      具體實施例方式下面結合附圖和實施例對本發(fā)明作進ー步說明本發(fā)明ー種抗DPA/SPA攻擊的系統(tǒng)和方法,利用嵌入式SOC系統(tǒng)中控制單元控制隨機數(shù)發(fā)生器単元和定時器単元,對加解密系統(tǒng)進行兩個操作 I.隨機地控制系統(tǒng)中功率消耗単元的打開和關閉,使系統(tǒng)在進行加解密運算時的功耗隨機變化,降低加解密的數(shù)據(jù)與系統(tǒng)功耗消耗件的相關性,達到系統(tǒng)消耗電カ無法預測,使其不能被分析與統(tǒng)計;2.隨機地在系統(tǒng)運行過程中插入延時,移動加解密操作在時間域里的位置,使功耗信號的統(tǒng)計分析變得十分困難。本發(fā)明所述的這種抗DPA/SPA攻擊的系統(tǒng),如圖I所示,包括CPU主控單元、隨機數(shù)模塊、延時插入單元、功耗單元、定時器単元、加解密模塊。所述CPU主控單元(101)是芯片的工作核心,為各種應用開發(fā)、包括抗攻擊控制提供硬件平臺及程序,一般包括CPU內(nèi)核以及存儲資源,如RAM、ROM等。所述加解密模塊(102)是ー個可以實現(xiàn)ー種或多種加解密算法(如RSA,DES,AES等)的模塊,該模塊可以采用純硬件實現(xiàn),也可采用軟硬件結合的方式實現(xiàn)。所述隨機數(shù)模塊(103)是真隨機數(shù)發(fā)生器,其作用是不間斷的產(chǎn)生真隨機數(shù)。所述功耗単元(104)是ー個專用的噪聲發(fā)生器,該單元工作時要消耗一定的功耗,CPU主控單元(101)可以全部(或部分)打開或關閉該單元,來控制功耗的消耗。所述定時器単元(105)是ー個專用的定時器,其作用是產(chǎn)生定時溢出信號。所述延時插入單元(106)是ー個延時插入組件,在加解密過程中插入延時,延時的插入可以用軟件實現(xiàn)、硬件實現(xiàn)、或軟硬件結合的方式實現(xiàn)。實施例I :采用功率隨機加擾的方法,如圖2所示,具體步驟如下(I)芯片上電,系統(tǒng)啟動,隨機數(shù)模塊(103)開始工作,不間斷的產(chǎn)生隨機數(shù);⑵CPU主控單元啟動加解密模塊(102),開始執(zhí)行加解密運算;(3) CPU主控單元(101)讀取隨機數(shù)模塊產(chǎn)生的隨機數(shù),執(zhí)行如下操作a.根據(jù)該隨機數(shù)設置及定時器単元(105)的定時值,由于隨機數(shù)具有較好的隨機性,使得定時器単元的定時溢出信號的產(chǎn)生具有好的隨機性;
      b.根據(jù)該隨機數(shù)打開或關閉功耗単元(104),由于隨機數(shù)具有較好的隨機性,使得功耗單元消耗的功耗具有較好的隨機性。(4) CPU主控單元接收到定時器單元(105)發(fā)出的定時溢出信號后,讀取隨機數(shù)模塊(103)產(chǎn)生的隨機數(shù),執(zhí)行步驟(3)的操作。(5)重復步驟(3)、(4),直到加解密模塊(102)完成加解密運算,產(chǎn)生加解密結束信號。(6)CPU主控單元(101)接收到加解密結束信號后,讀取加解密模塊(102)的輸出,作為加解密運算的結果。該系統(tǒng)充分利用了隨機數(shù)的真隨機性,時間上隨機地啟動功耗單元,產(chǎn)生額外功 耗、另外功耗單元的開啟/關閉、或開啟/關閉多少噪聲源都受隨機數(shù)的控制,也具有較好的隨機性。因此,整個系統(tǒng)在加解密過程中功耗變得相當隨機,不可預測,給DPA/SPA攻擊増加了巨大的難度。實施例2 :采用隨機延時插入的方法,如圖3所示,具體步驟如下(I)芯片上電,系統(tǒng)啟動,隨機數(shù)模塊(103)開始工作,不間斷的產(chǎn)生隨機數(shù);(2) CPU主控單元啟動加解密模塊(102),開始執(zhí)行加解密運算;(3) CPU主控單元(101)讀取隨機數(shù)模塊產(chǎn)生的隨機數(shù),執(zhí)行如下操作a.根據(jù)該隨機數(shù)設置及定時器単元(105)的定時值,由于隨機數(shù)具有較好的隨機性,使得定時器単元的定時溢出信號的產(chǎn)生具有好的隨機性;b.根據(jù)該隨機數(shù)控制延時插入單元(106)的延時周期數(shù),在加解密模塊(102)的加解密過程中插入延時,由于隨機數(shù)具有較好的隨機性,使得加解密模塊(102)的執(zhí)行過程隨機加長,使得加解密的運行時間隨機化。(4) CPU主控單元接收到定時器單元(105)發(fā)出的定時溢出信號后,讀取隨機數(shù)模塊(103)產(chǎn)生的隨機數(shù),執(zhí)行步驟(3)的操作。(5)重復步驟(3)、(4),直到加解密模塊(102)完成加解密運算,產(chǎn)生加解密結束信號。(6)CPU主控單元(101)接收到加解密結束信號后,讀取加解密模塊(102)的輸出,作為加解密運算的結果。該系統(tǒng)充分利用了隨機數(shù)的真隨機性,在加解密運算的某些點隨機地插入不確定周期數(shù)的延時,隨機地移動加解密運算操作在時間域里的位置(即運行時間隨機化),使得功耗信號的統(tǒng)計分析變得十分困難。實施例3 :采用功率隨機加擾技術+隨機延時插入的方法,如圖4所示,具體步驟如下(I)芯片上電,系統(tǒng)啟動,隨機數(shù)模塊(103)開始工作,不間斷的產(chǎn)生隨機數(shù);⑵CPU主控單元啟動加解密模塊(102),開始執(zhí)行加解密運算;(3) CPU主控單元(101)讀取隨機數(shù)模塊產(chǎn)生的隨機數(shù),執(zhí)行如下操作a.根據(jù)該隨機數(shù)設置及定時器単元(105)的定時值,由于隨機數(shù)具有較好的隨機性,使得定時器単元的定時溢出信號的產(chǎn)生具有好的隨機性;b.根據(jù)該隨機數(shù)選擇開啟/關閉功耗單元(104)消耗額外功耗,或者控制延時插入?yún)g元(106)向加解密過程插入延吋。此時,功耗單元(104)和延時插入?yún)g元(106)可以同時工作,或者都不工作,或者其中ー個工作。(4) CPU主控單元接收到定時器單元(105)發(fā)出的定時溢出信號后,讀取隨機數(shù)模塊(103)產(chǎn)生的隨機數(shù),執(zhí)行步驟(3)的操作。(5)重復步驟(3)、(4),直到加解密模塊(102)完成加解密運算,產(chǎn)生加解密結束信號。(6)CPU主控單元(101)接收到加解密結束信號后,讀取加解密模塊(102)的輸出,作為加解密運算的結果。該系統(tǒng)充分結合了實施例I、實施例2的優(yōu)點,而且在加解密過程中隨機地采用功率隨機加擾和隨機延時插入技術,使得加解密系統(tǒng)在功耗消耗本身和功耗的時間相關性方面更難分析和采樣,是ー種相當高效的抗DPA/SPA的方法和系統(tǒng)。 術語解釋TRNG :真隨機數(shù)SOC :片上系統(tǒng)CPU:中央處理器SPA:簡單功耗分析,依據(jù)功耗曲線的特征及攻擊者的經(jīng)驗直觀地分析出加密硬件中執(zhí)行的指令或操作,常被用來破解指令執(zhí)行與某些數(shù)據(jù)有關的算法,如RSA中進行模方操作與模乘操作與密鑰是相關的。
      DPA:差分功耗分析,從功耗曲線微笑的差分信號分析出所需的關鍵信息,但需要搜集大量的信息,并采集多組功耗曲線以及每條曲線對應的明文、密文記錄,通常需要一定的SPA分析經(jīng)驗和較長時間的分析運算,對分析平臺的設備要求比較高。除上述實施例外,本發(fā)明還可以有其他實施方式。凡采用等同替換或等效變換形成的技術方案,均落在本發(fā)明要求的保護范圍。
      權利要求
      1.ー種抗DPA/SPA攻擊的系統(tǒng),其特征在于該系統(tǒng)包括CPU主控單元、隨機數(shù)模塊、延時插入?yún)g元、功耗單元、定時器単元、加解密模塊, 所述CPU主控單元包括CPU內(nèi)核以及存儲資源; 所述加解密模塊,用于實現(xiàn)ー種或多種加解密算法的模塊; 所述隨機數(shù)模塊是真隨機數(shù)發(fā)生器,其作用是不間斷的產(chǎn)生真隨機數(shù); 所述功耗単元是ー個在工作時要消耗一定的功耗的噪聲發(fā)生器,CPU主控單元全部或部分打開或關閉該單元,來控制功耗的消耗; 所述定時器單元是一個定時器,用于產(chǎn)生定時溢出信號; 所述延時插入單元是ー個延時插入組件,在加解密過程中插入延吋。
      2.一種采用如權利要求I所述的抗DPA/SPA攻擊的系統(tǒng)的方法,其特征在于利用嵌入式SOC系統(tǒng)中控制単元控制隨機數(shù)模塊和定時器単元,對加解密系統(tǒng)進行兩個操作 (1)、隨機地控制系統(tǒng)中功率消耗単元的打開和關閉,使系統(tǒng)在進行加解密運算時的功耗隨機變化,降低加解密的數(shù)據(jù)與系統(tǒng)功耗消耗件的相關性; (2)、隨機地在系統(tǒng)運行過程中插入延時,移動加解密操作在時間域里的位置。
      3.根據(jù)權利要求2所述的抗DPA/SPA攻擊的方法,其特征在于采用功率隨機加擾的方法,具體步驟如下 (1)芯片上電,系統(tǒng)啟動,隨機數(shù)模塊開始工作,不間斷的產(chǎn)生隨機數(shù); (2)CPU主控單元啟動加解密模塊,開始執(zhí)行加解密運算; (3)CPU主控單元讀取隨機數(shù)模塊產(chǎn)生的隨機數(shù),執(zhí)行如下操作 a.根據(jù)該隨機數(shù)設置及定時器単元的定時值,隨機產(chǎn)生定時器單元的定時溢出信號; b.根據(jù)該隨機數(shù)打開或關閉功耗単元,隨機消耗功耗單元的功耗; (4)CPU主控單元接收到定時器單元發(fā)出的定時溢出信號后,讀取隨機數(shù)模塊產(chǎn)生的隨機數(shù),執(zhí)行步驟的操作; (5)重復步驟(3)、(4),直到加解密模塊完成加解密運算,產(chǎn)生加解密結束信號; (6)CPU主控單元接收到加解密結束信號后,讀取加解密模塊的輸出,作為加解密運算的結果。
      4.根據(jù)權利要求2所述的抗DPA/SPA攻擊的方法,其特征在于采用隨機延時插入的方法,具體步驟如下 (1)芯片上電,系統(tǒng)啟動,隨機數(shù)模塊開始工作,不間斷的產(chǎn)生隨機數(shù); (2)CPU主控單元啟動加解密模塊,開始執(zhí)行加解密運算; (3)CPU主控單元讀取隨機數(shù)模塊產(chǎn)生的隨機數(shù),執(zhí)行如下操作 a.根據(jù)該隨機數(shù)設置及定時器単元的定時值,隨機產(chǎn)生定時器單元的定時溢出信號; b.根據(jù)該隨機數(shù)控制延時插入?yún)g元的延時周期數(shù),在加解密模塊的加解密過程中插入延時,使得加解密模塊的執(zhí)行過程隨機加長; (4)CPU主控單元接收到定時器單元發(fā)出的定時溢出信號后,讀取隨機數(shù)模塊產(chǎn)生的隨機數(shù),執(zhí)行步驟(3)的操作; (5)重復步驟(3)、(4),直到加解密模塊完成加解密運算,產(chǎn)生加解密結束信號; (6)CPU主控單元接收到加解密結束信號后,讀取加解密模塊的輸出,作為加解密運算的結果。
      5.根據(jù)權利要求2所述的抗DPA/SPA攻擊的方法,其特征在于采用功率隨機加擾和隨機延時插入的方法,具體步驟如下 (1)芯片上電,系統(tǒng)啟動,隨機數(shù)模塊開始工作,不間斷的產(chǎn)生隨機數(shù); (2)CPU主控單元啟動加解密模塊,開始執(zhí)行加解密運算; (3)CPU主控單元讀取隨機數(shù)模塊產(chǎn)生的隨機數(shù),執(zhí)行如下操作 a.根據(jù)該隨機數(shù)設置及定時器単元的定時值,由于隨機數(shù)具有較好的隨機性,隨機產(chǎn)生定時器単元的定時溢出信號; b.根據(jù)該隨機數(shù)選擇開啟/關閉功耗單元消耗額外功耗,或者控制延時插入?yún)g元向加解密過程插入延吋;功耗單元和延時插入?yún)g元設定為同時工作,或者都不工作,或者其中一個工作; (4)CPU主控單元接收到定時器單元發(fā)出的定時溢出信號后,讀取隨機數(shù)模塊產(chǎn)生的隨機數(shù),執(zhí)行步驟(3)的操作; (5)重復步驟(3)、(4),直到加解密模塊完成加解密運算,產(chǎn)生加解密結束信號; (6)CPU主控單元接收到加解密結束信號后,讀取加解密模塊的輸出,作為加解密運算的結果。
      全文摘要
      本發(fā)明涉及一種抗DPA/SPA攻擊的系統(tǒng)和方法,該系統(tǒng)包括CPU主控單元、隨機數(shù)模塊、延時插入單元、功耗單元、定時器單元、加解密模塊,利用嵌入式SOC系統(tǒng)中控制單元控制隨機數(shù)模塊和定時器單元,對加解密系統(tǒng)進行兩個操作(1)、隨機地控制系統(tǒng)中功率消耗單元的打開和關閉,使系統(tǒng)在進行加解密運算時的功耗隨機變化,降低加解密的數(shù)據(jù)與系統(tǒng)功耗消耗件的相關性;(2)、隨機地在系統(tǒng)運行過程中插入延時,移動加解密操作在時間域里的位置。本發(fā)明有益的效果是本發(fā)明提出了功率隨機加擾、隨機延時插入的抗DPA/SPA攻擊的技術,以及基于兩者結合的抗DPA/SPA的方法和系統(tǒng)。該方法硬件開銷小,對系統(tǒng)功耗和加解密速度都不會有明顯影響,而且易于實現(xiàn)。
      文檔編號H04L9/06GK102710413SQ201210124489
      公開日2012年10月3日 申請日期2012年4月25日 優(yōu)先權日2012年4月25日
      發(fā)明者徐功益 申請人:杭州晟元芯片技術有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1