亚洲狼窝一区二区在线观看-米奇精品一区二区三区在线观看-一区二区三区美女免费作爱视频-av中文字幕不卡在线播放

歡迎您訪(fǎng)問(wèn)鄭州興邦電子股份有限公司官方網(wǎng)站!
阿里巴巴誠(chéng)信通企業(yè)
全國(guó)咨詢(xún)熱線(xiàn):40000-63966
興邦電子,中國(guó)水控機(jī)第一品牌

聯(lián)系興邦電子

全國(guó)咨詢(xún)熱線(xiàn):40000-63966

售后:0371-55132951/55132952

工廠(chǎng):河南省 鄭州市 高新區(qū)蓮花街電子電器產(chǎn)業(yè)園

智能卡RSA算法DPA的攻擊與防御

文章出處:http://www.luckydriving.com 作者:靳濟(jì)方 高獻(xiàn)偉   人氣: 發(fā)表時(shí)間:2011年09月26日

[文章內(nèi)容簡(jiǎn)介]:智能卡在執(zhí)行算法過(guò)程中會(huì)泄露一些能耗信息,采用差分能量分析(PDA)利用這些信息可以分析出加密的密鑰,其危害遠(yuǎn)大于傳統(tǒng)的數(shù)學(xué)分析手段。本文對(duì)算法及DPA攻擊RSA算法方法和已有的算法級(jí)防止DPA攻擊方法進(jìn)行了研究,并在此基礎(chǔ)上提出一種三重掩蓋法來(lái)全面防御針對(duì)RSA算法的DPA攻擊。且進(jìn)行了仿真,效果明顯。

    1 引言

    智能卡(smart card)也稱(chēng)CPU卡,不僅具有數(shù)據(jù)存儲(chǔ)功能,還具有數(shù)據(jù)安全保護(hù)、復(fù)雜密碼運(yùn)算等功能。智能卡采用RSA算法作為公鑰加密算法.但是智能卡在運(yùn)行過(guò)程中不可避免會(huì)泄露一些旁路信息,如能量、電磁波、時(shí)問(wèn)等,利用能耗信息對(duì)智能卡進(jìn)行攻擊能夠達(dá)到很好的效果,其危害遠(yuǎn)遠(yuǎn)大于傳統(tǒng)的數(shù)學(xué)攻擊手段。

    1999年P(guān)aul首次提出能量分析⋯,能量分析是指通過(guò)采集智能卡加密芯片等硬件設(shè)備在進(jìn)行加、解密或簽名操作時(shí)產(chǎn)生的能量消耗信息,利用密碼學(xué)、統(tǒng)計(jì)學(xué)原理,分析和破譯密鑰信息的一種攻擊方式。通常.可將能量分析攻擊分為簡(jiǎn)單能量分析(simple power analysis,SPA)攻擊和差分能量分析(differential power analysis,DPA)攻擊兩類(lèi),其中DPA是目前非常快速而有效的攻擊方法。所以近年來(lái)針對(duì)DPA的各種防御方法成為研究的熱點(diǎn)。

    2 DPA攻擊原理

    DPA是利用智能卡密碼芯片運(yùn)行時(shí)的能量信號(hào)與密碼算法的密鑰之間的相關(guān)性,運(yùn)行多次密碼算法就可以暴露出這種相關(guān)性嘲。DPA的過(guò)程如下。

    ....................

    3 算法級(jí)DPA攻擊RSA 

    3.1 算法級(jí)DPA攻擊RSA的思想
 

模冪運(yùn)算是RSA中最根本的運(yùn)算,模冪運(yùn)算可以分解成多個(gè)模平方運(yùn)算和模乘運(yùn)算,進(jìn)行模平方運(yùn)算和模乘運(yùn)算所消耗的能量是有差別的。DPA攻擊RSA的主要思想是利用RSA算法平方運(yùn)算和乘法運(yùn)算能耗的明顯不同,考慮到噪聲對(duì)能耗軌跡的干擾,采用均值和差分的統(tǒng)計(jì)運(yùn)算不斷修正能耗軌跡,同時(shí)利用設(shè)計(jì)合理的區(qū)分函數(shù)將猜想私鑰的比特位對(duì)應(yīng)的能耗軌跡分類(lèi),最終獲得私鑰指數(shù)的比特位信息。

    3.2 算法級(jí)DPA攻擊RSA的主要方法 

    根據(jù)攻擊的前提條件不同,DPA攻擊RSA的方法主要為以下兩類(lèi)。 

    (1)獲得已知公鑰指數(shù)前提下的DPA攻擊 

    根據(jù)IS07816標(biāo)準(zhǔn).智能卡的使用者可通過(guò)手冊(cè)獲得卡的公鑰指數(shù)值.可以運(yùn)行“外部認(rèn)證”指令使用公鑰指數(shù)進(jìn)行加密操作.可以對(duì)任意輸入運(yùn)行“內(nèi)部認(rèn)證”指令使用私鑰指數(shù)進(jìn)行簽名操作。

    ....................

    4 算法級(jí)防御DPA攻擊的方法 

    針對(duì)上述算法級(jí)攻擊方法,目前有幾類(lèi)算法級(jí)防范DPA攻擊的方法,防御思想都是:消除或減少算法操作數(shù)特征,消除算法執(zhí)行過(guò)程中的操作數(shù)和中間值與能耗之間的對(duì)應(yīng)關(guān)系。大致可以分為以下幾類(lèi)。

    (1)減小信號(hào)強(qiáng)度。減小信號(hào)強(qiáng)度的主要實(shí)現(xiàn)方法包括算法執(zhí)行連續(xù)編碼,選取小能耗運(yùn)算指令,均衡漢明重量。算法執(zhí)行連續(xù)編碼可以防止DPA判斷不同算法的起始點(diǎn)和結(jié)束點(diǎn).不提供有價(jià)值的算法信息;選取小能耗運(yùn)算的實(shí)現(xiàn)思想是用不易產(chǎn)生顯著能耗變化的指令取代一些原始指令,使指令的能耗減小及不同指令的能耗趨于平衡:均衡漢明重量可使數(shù)據(jù)以原碼和反碼兩種形式表示,避免通過(guò)漢明重量與能耗的直接關(guān)系泄露能量信息。
    (2)增加隨機(jī)噪聲。通過(guò)引入隨機(jī)噪聲,使得有用的信號(hào)完全淹沒(méi)于無(wú)用的噪聲中,從而增加能量攻擊的難度。但是.這種方法不能從根本上解決問(wèn)題:其一,攻擊者可以通過(guò)有效的濾波,消除這種干擾;其二,DPA本身在做統(tǒng)計(jì)平均時(shí)就削弱了噪聲的影響。
    (3)數(shù)據(jù)隨機(jī)化掩蓋??煞譃槊魑碾S機(jī)化掩蓋和指數(shù)隨機(jī)化掩蓋兩類(lèi),分別通過(guò)數(shù)學(xué)運(yùn)算的變換與反變換,使RSA算法中的操作數(shù)均為經(jīng)過(guò)~定隨機(jī)化變形的替代數(shù)。僅通過(guò)能量差分運(yùn)算得不到真實(shí)的差異點(diǎn)位置.這為真實(shí)算法做了掩蓋,達(dá)到防御DPA攻擊的目的。但是這兩種方法實(shí)際上起不到有效的效果,因?yàn)閺乃惴ㄉ现v平方運(yùn)算比乘運(yùn)算要少近一半的指令.因此平方和乘運(yùn)算消耗的能量會(huì)有很大的差異.而如果僅僅是操作數(shù)不同,運(yùn)算所執(zhí)行的乘和平方的數(shù)量不變,這樣所帶來(lái)的能量變化的干擾基本上可以忽略,這兩種掩蓋仍不能完全掩蓋操作指令的真實(shí)能耗軌跡,攻擊者可以通過(guò)其平方運(yùn)算或乘法運(yùn)算的不同運(yùn)算指令的能耗軌跡,獲取算法運(yùn)行的內(nèi)部信息,再結(jié)合其他攻擊手段進(jìn)行攻擊。

    5 三重掩蓋法 

    為了彌補(bǔ)上述方法的不足,本文在對(duì)RSA算法中最重要的模冪算法進(jìn)行數(shù)據(jù)隨機(jī)化掩蓋的基礎(chǔ)上,提出一種新的防御DPA攻擊的方法。設(shè)計(jì)一個(gè)與智能卡進(jìn)行平方或乘法運(yùn)算時(shí)的能耗相當(dāng)?shù)臒o(wú)效算法,在對(duì)原模冪算法進(jìn)行明文隨機(jī)化掩蓋和指數(shù)隨機(jī)化掩蓋的基礎(chǔ)上.在平方和乘法運(yùn)算指令間加入隨機(jī)的指令,進(jìn)行“偽裝”。該算法同樣進(jìn)行真實(shí)的平方或乘法運(yùn)算,運(yùn)算結(jié)果寫(xiě)入內(nèi)存,從而使其能耗與算法中產(chǎn)生作用的指令的能耗相近、軌跡相似,達(dá)到掩蓋運(yùn)算能耗軌跡的目的。這樣就在明文、指數(shù)和運(yùn)算指令3個(gè)方面對(duì)DPA攻擊進(jìn)行了全面防御。防御DPA攻擊的三重掩蓋的RSA模冪改進(jìn)算法如下。

    ....................

    全文下載閱讀:http://www.yktchina.com/bbs/Read-b3-t5203-p10.htm

本文關(guān)鍵詞:rsa算法,dpa,智能卡,rsa
回到頂部