抵抗差分功耗分析攻擊和注入錯誤攻擊的數(shù)據(jù)處理系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本實用新型涉及通訊技術(shù)領(lǐng)域,尤其涉及一種抵抗差分功耗分析攻擊和注入錯誤攻擊的數(shù)據(jù)處理系統(tǒng)。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)技術(shù)的進步,電子商務(wù)、電子政務(wù)、網(wǎng)上銀行等業(yè)務(wù)得到廣泛開展,智能卡具有良好的安全特性,同時具有便于攜帶、使用方便等特點,這使得它在金融、社保、交通等領(lǐng)域扮演著非常重要角色。但由于網(wǎng)絡(luò)的開放性,這些新興業(yè)務(wù)更容易受到攻擊。隨著研究的不斷深入,針對智能卡的側(cè)信道攻擊被認為是最危險的一種攻擊方法。側(cè)信道攻擊可以利用智能卡的電力消耗、執(zhí)行時間、故障時的輸出與輸入行為、輻射、電力尖峰情形等信息來攻擊智能卡,最終得到用戶的密鑰。在各種各樣的側(cè)信道攻擊中,差分功耗分析攻擊是最有效的攻擊方法之一。由于智能卡芯片在執(zhí)行不同的指令進行各種運算時,它的功耗也會有相應(yīng)的變化,差分功耗分析攻擊根據(jù)數(shù)據(jù)和功耗之間的關(guān)聯(lián)性,還原出密鑰,進而達到攻擊的效果。而注入錯誤攻擊則是在智能卡芯片運算過程中注入時鐘或者電壓毛刺,使得密碼運算發(fā)生錯誤。注入錯誤攻擊就是利用錯誤的輸出數(shù)據(jù)來對密鑰進行還原。差分功耗分析攻擊和注入錯誤攻擊對智能卡中的加密算法的成功攻擊已經(jīng)被廣泛報道。
[0003]DES算法為密碼體制中的對稱密碼,是1972年美國IBM公司研制的對稱密碼體制加密算法。其明文按64位進行分組,密鑰長64位,密鑰事實上是56位參與DES運算(第8、16、24、32、40、48、56、64位是校驗位,使得每個密鑰都有奇數(shù)個1),分組后的明文和56位的密鑰按位替代或交換的方法形成密文的加密方法。該算法采用Feistel結(jié)構(gòu),加密解密算法流程除了輪密鑰使用順序之外,其他基本一致。這種結(jié)構(gòu)能夠在硬件中高速實現(xiàn),具有很好的應(yīng)用前景。
[0004]現(xiàn)有的DES算法中S盒的輸入是6比特的數(shù)據(jù),輸出是4比特數(shù)據(jù),一般都是采用查表方法來實現(xiàn)。當硬件僅僅實現(xiàn)了一個完整的S盒時,由于在加解密過程中寄存器的翻轉(zhuǎn)會泄露功耗信息,從而導致了其無法抵抗相關(guān)功耗攻擊。當硬件在實現(xiàn)過程中加入了一般的掩碼操作,并且對S盒進行了固定掩碼處理,則其能夠抵抗一階差分功耗分析。但當進行多個點聯(lián)合分析時,這種固定掩碼操作則所產(chǎn)生的功耗還是會泄露密鑰信息,從而使得數(shù)據(jù)處理的安全性較低。
【實用新型內(nèi)容】
[0005]本實用新型要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述數(shù)據(jù)處理的安全性較低的缺陷,提供一種抵抗差分功耗分析攻擊和注入錯誤攻擊的數(shù)據(jù)處理系統(tǒng),提高數(shù)據(jù)處理的安全性。
[0006]本實用新型解決其技術(shù)問題所采用的技術(shù)方案是:構(gòu)造一種抵抗差分功耗分析攻擊和注入錯誤攻擊的數(shù)據(jù)處理系統(tǒng),包括:
[0007]用于在初始化時根據(jù)隨機數(shù)對初始S盒的數(shù)據(jù)進行修正,以產(chǎn)生修正后S盒的數(shù)據(jù)的修正裝置;
[0008]連接于所述修正裝置,且用于存儲初始S盒的數(shù)據(jù)及修正后S盒的數(shù)據(jù)的ROM;
[0009]連接于所述ROM,且用于根據(jù)修正后S盒的數(shù)據(jù)進行數(shù)據(jù)置換的S盒置換裝置。
[0010]優(yōu)選地,所述修正裝置包括:
[0011]用于將3比特的隨機數(shù)擴展成6比特的輸入掩碼的第一擴展模塊;
[0012]用于將所述3比特的隨機數(shù)擴展成4比特的輸出掩碼的第二擴展模塊;
[0013]連接于所述ROM和所述第一擴展模塊,且用于將初始S盒的輸入數(shù)據(jù)與所述輸入掩碼進行異或以生成6比特的新數(shù)據(jù)的第一異或模塊;
[0014]連接于所述第一異或模塊和所述R0M,且用于將所述3比特的隨機數(shù)與所述6比特的新數(shù)據(jù)組合成修正后S盒的輸入數(shù)據(jù)的組合模塊;
[0015]連接于所述ROM和所述第二擴展模塊,用于將初始S盒的輸出數(shù)據(jù)與所述輸出掩碼進行異或以生成修正后S盒的輸出數(shù)據(jù)的第二異或模塊。
[0016]優(yōu)選地,所述S盒置換裝置包括:
[0017]用于將3比特的隨機數(shù)擴展成6比特的第一新掩碼的第三擴展模塊;
[0018]用于將所述3比特的隨機數(shù)擴展成4比特的第二新掩碼的第四擴展模塊;
[0019]連接于所述第三擴展模塊,且用于將帶舊掩碼的掩碼數(shù)據(jù)去除舊掩碼并加入所述第一新掩碼以生成帶第一新掩碼的掩碼數(shù)據(jù)的掩碼變換模塊;及
[0020]修正S盒模塊,而且,所述修正S盒模塊的第一輸入端輸入所述3比特的隨機數(shù),所述修正S盒模塊的第二輸入端連接所述掩碼變換模塊的輸出端,所述修正S盒模塊的輸出端輸出帶第二新掩碼的掩碼數(shù)據(jù)。
[0021 ]優(yōu)選地,所述第一擴展模塊或所述第三擴展模塊包括:第一異或門、第一非門和第一與門,其中,該擴展模塊的第一輸入口輸入所述3比特的隨機數(shù)的第一位,其第二輸入口輸入所述3比特的隨機數(shù)的第二位,其第三輸入口輸入所述3比特的隨機數(shù)的第三位,所述第一異或門的兩個輸入端連接該擴展模塊的第一輸入口和第二輸入口,所述第一非門的輸入端連接該擴展模塊的第二輸入口,所述第一與門的兩個輸入端分別連接該擴展模塊的第一輸入口和第三輸入口,該擴展模塊的第一輸出口連接其第一輸入口,其第二輸出口連接其第二輸入口,其第三輸出口連接其第三輸入口,其第四輸出口連接所述第一異或門的輸出端,其第五輸出口連接所述第一非門的輸出端,其第六輸出口連接所述第一與門的輸出端。
[0022]優(yōu)選地,所述第二擴展模塊或所述第四擴展模塊包括:第二異或門、第二非門和第二與門,其中,該擴展模塊的第一輸入口輸入所述3比特的隨機數(shù)的第一位,其第二輸入口輸入所述3比特的隨機數(shù)的第二位,其第三輸入口輸入所述3比特的隨機數(shù)的第三位,所述第二異或門的兩個輸入端分別連接該擴展模塊的第一輸入口和第二輸入口,所述第二非門的輸入端連接該擴展模塊的第二輸入口,所述第二與門的兩個輸入端分別連接該擴展模塊的第二輸入口和所述第三輸入口,該擴展模塊的第一輸出口連接所述第二異或門的輸出端,其第二輸出口連接其第二輸入口,其第三輸出口連接所述第二非門的輸出端,其第四輸出口連接所述第二與門的輸出端。
[0023]優(yōu)選地,所述掩碼變換模塊包括第三異或門和第四異或門,所述第三異或門的第一輸入端輸入帶舊掩碼的掩碼數(shù)據(jù),所述第三異或門的第二輸入端輸入所述第一新掩碼,所述第三異或門的輸出端連接所述第四異或門的第一輸入端,所述第四異或門的第二輸入端輸入舊掩碼,所述第四異或門的輸出端輸出帶第一新掩碼的掩碼數(shù)據(jù)。
[0024]實施本實用新型的技術(shù)方案,在進行數(shù)據(jù)處理前,根據(jù)隨機數(shù)對初始S盒的數(shù)據(jù)進行修正,以產(chǎn)生修正后S盒的數(shù)據(jù),這種實現(xiàn)方式在合理增大芯片面積的前提下,使得S盒的安全性大大增強,從而保證了整個數(shù)據(jù)處理系統(tǒng)的安全性。
【附圖說明】
[0025]下面將結(jié)合附圖及實施例對本實用新型作進一步說明,附圖中:
[0026]圖1是本實用新型抵抗差分功耗分析攻擊和注入錯誤攻擊的數(shù)據(jù)處理系統(tǒng)實施例一的邏輯結(jié)構(gòu)圖;
[0027]圖2是圖1中修正裝置實施例一的邏輯結(jié)構(gòu)圖;
[0028]圖3是圖1中S盒置換裝置實施例一的邏輯結(jié)構(gòu)圖;
[0029]圖4是第一擴展模塊或第三擴展模塊實施例一的邏輯結(jié)構(gòu)圖;
[0030]圖5是第二擴展模塊或第四擴展模塊實施例一的邏輯結(jié)構(gòu)圖;
[0031 ]圖6是掩碼變換模塊實施例一的邏輯結(jié)構(gòu)圖。
【具體實施方式】
[0032]圖1是本實用新型抵抗差分功耗分析攻擊和注入錯誤攻擊的數(shù)據(jù)處理系統(tǒng)實施例一的邏輯結(jié)構(gòu)圖,該數(shù)據(jù)處理系統(tǒng)包括相連接的修正裝置10、R0M20和S盒置換裝置30,其中,修正裝置10用于在初始化時根據(jù)隨機數(shù)對初始S盒的數(shù)據(jù)進行修正,以產(chǎn)生修正后S盒的數(shù)據(jù);R0M20用于存儲初始S盒的數(shù)據(jù)及修正后S盒的數(shù)據(jù);S盒置換裝置30用于根據(jù)修正后S盒的數(shù)據(jù)進行數(shù)據(jù)置換。實施該實施例的技術(shù)方案,在進行數(shù)據(jù)處理前,根據(jù)隨機數(shù)對初始S盒的數(shù)據(jù)進行修正,以產(chǎn)生修正后S盒的數(shù)據(jù),這種實現(xiàn)方式在合理增大芯片面積的前提下,使得S盒的安全性大大增強,從而保證了整個數(shù)據(jù)處理系統(tǒng)的安全性。
[0033]圖2是圖1中修正裝置實施例一的邏輯結(jié)構(gòu)圖,該實施例的修正裝置包括第一擴展模塊11、第二擴展模塊12、第一異或模塊13、組合模塊14和第二異或模塊15。其中,第一擴展模塊11用于將3比特的隨機數(shù)擴展成6比特的輸入掩碼;第二擴展模塊12用于將所述3比特的隨機數(shù)擴展成4比特的輸出掩碼;第一異或模塊13用于將初始S盒的輸入數(shù)據(jù)與所述輸入掩碼進行異