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

      用于還擊故障攻擊的方法和設(shè)備的制作方法

      文檔序號:7742944閱讀:231來源:國知局
      專利名稱:用于還擊故障攻擊的方法和設(shè)備的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明總體涉及密碼術(shù),具體涉及RSA的故障攻擊對策。

      背景技術(shù)
      本部分意在向讀者介紹本領(lǐng)域中可能與下面描述和/或要求保護的本發(fā)明各個方面相關(guān)的各個方面。相信該討論有助于向讀者提供背景信息以便于更好地理解本發(fā)明的各個方面。相應(yīng)地,應(yīng)當(dāng)理解,要從這種角度來閱讀這些論述,而不是作為對現(xiàn)有技術(shù)的引入。
      故障攻擊打亂了安全設(shè)備的預(yù)期行為并使其不正常工作,以從故障輸出中推斷敏感數(shù)據(jù)。Boneh et al.在“On the Importance of CheckingCryptographic Protocols for Faults”;D.Boneh,R.A.Demillo,and R.J.Lipton;In W.Fumy,editor,Advances in Cryptology-EUROCRYPT’97,volume 1233 of Lecture Notes in Computer Science,pages 37-51,Springer-Verlag 1997中介紹了這種攻擊。
      故障攻擊可能是非常強有力的。例如,具有單一隨機故障且使用中國剩余(CRT)而評估的故障RSA簽名可以允許攻擊者從故障簽名中恢復(fù)完整的秘密密鑰。因此,很清楚,必須采取對策。
      RSA是基于難以對大素數(shù)的乘積進行因數(shù)分解的事實的。令N=pq為兩個大素數(shù)的乘積。我們令e和d表示一對匹配的公共和私有指數(shù),滿足ed≡1(modλ(N)),同時gcd(e,λ(N))=1并且λ是Carmichael函數(shù)。由于N=pq,因此我們有λ(N)=lcm(p-1,q-1)。給定x<N,則公共運算(例如消息加密或簽名驗證)是x的e次冪模N,即,計算y=xe mod N。然后,給定y,則相應(yīng)的私有運算(例如對密碼文本的解密或者簽名的產(chǎn)生)是計算yd mod N。從e和d的定義中,我們明顯得到y(tǒng)d≡x(modN)??梢酝ㄟ^中國剩余(CRT模式)來高速執(zhí)行私有運算。獨立地執(zhí)行模p和q的計算,然后重新組合。在這種情況中,私有參數(shù)是{p,q,dp,dq,iq},其中dp=d mod(p-1)、dq=d mod(q-1)并且iq=q-1 mod p。然后我們得到y(tǒng)d mod N為CRT(xp,xq)=xq+q[iq(xp-xq)mod p],其中xp=y(tǒng)dpmod p并且xq=y(tǒng)dq mod q。
      當(dāng)然,已經(jīng)提出了幾種這樣的對策。在US 5991415中公開了由Shamir提出的最初對策,最初在EUROCRYPT’97的殘余議會(RumpSession)提出的。上提出。稍作簡化地,該方法引入隨機值j并使用(mod j*p)而不是(mod p)來進行計算,并驗證是否到達預(yù)期值;作為給定的示例,如果j是32比特長,則在故障之后兩個值匹配的可能性是2-32=1/4,294,967,296,所以風(fēng)險是非常小的。更具體地,首先計算x’p=y(tǒng)d mod j*p和xj=y(tǒng)d mod j的值。驗證x’p≡xj(mod j),并且如果是這樣,則假定計算是無差錯的。然后由xp=x’p mod p給出求冪模p的結(jié)果。對于模q也是同樣的。對策的正確性依賴于以下觀察對于任何正整數(shù)j,x mod p=(x mod j*p)mod p。
      由Kaliski和Robshaw在ftp://ftp.rsasecurity.com/pub/pdfs/bulletn5.pdf中提到的另一種方法在于以通常的方式來進行求冪以獲得x=y(tǒng)d mod N,但是在發(fā)出x之前,通過檢查xe是否等于y模N來檢驗其是正確的。
      所有后續(xù)方法基本上依賴于由Shamir提出的方法。這些方法包括 -M.Joye,P.Paillier,and S-M.Yen.Secure Evaluation of ModularFunctions.In R.J.Hwang and C.K.Wu,editors,2001 InternationalWorkshop of Cryptology and Network Security,pages 227-229,Taipei,Taiwan,2001. -C.Aumüler,P.Bier,W.Fischer,P.Hofreiter,and J-P.Seifert.FaultAttack on RSA with CRTConcrete Results and PracticalCountermeasures.In B.S.Kaliski Jr.,C.K.Koc and C.Paar,editors,Cryptographic Hardware and Embedded Systems-CHES 2002,volume 2523 of Lecture Notes in Computer Science,pages 260-275,Springer,2002. -J.

      M.Otto,and J-P.Seifert.A New CRT-RSA AlgorithmSecure Against Bellcore Attack.In 10th ACM Conference onComputer and Communication Security(CCS 2003),pages 311-320,ACM Press,2003. -M.Ciet and M.Joye.Practical Fault Countermeasures for ChineseRemaindering Based RSA.In 2nd Workshop Fault Diagnosis andTolerance in Cryptography-FDTC 2005),pages 124-132,2005.-C.H.Kim and J.-J.Quisquater.How Can We Overcome Both SideChannel Analysis and Fault Attacks on RSA-CRT?In 4th Workshopon Fault Diagnosis and Tolerance in Cryptography-FDTC 2007,pages 21-29,IEEE Computer Society Press,2007. 這些方法當(dāng)中,

      等人和Ciet等人的方法不提供完全的防篡改。此外,這些方法都沒有保證對故障的100%檢測,并且這些方法都對性能(運行時間和存儲需求)造成沖擊,在一些情況下還對個人化過程造成沖擊。
      因此,應(yīng)當(dāng)理解,需要一種在RSA上針對故障攻擊的對策,檢測所有故障。本發(fā)明提供了這種解決方案。


      發(fā)明內(nèi)容
      在第一方面,本發(fā)明涉及一種用于計算求冪的方法。所述方法是抗故障攻擊的。獲得與匹配的公共指數(shù)相關(guān)聯(lián)的RSA私有密鑰對象。獲得使用所述RSA私有密鑰對象的求冪的結(jié)果。使用匹配的公共指數(shù)來驗證求冪的結(jié)果是正確的。在標(biāo)準(zhǔn)模式中,所述RSA私有密鑰對象包括RSA模N,并且所述匹配的公共指數(shù)e是從所述RSA模N獲得的;在CRT模式中,所述RSA私有密鑰對象包括所述RSA模N的因數(shù),并且所述匹配的公共指數(shù)e是從所述RSA模N的至少一個因數(shù)獲得的。
      在第一優(yōu)選實施例中,所述匹配的公共指數(shù)e被包括在RSA模N的二進制表示的前端比特中。
      在第二優(yōu)選實施例中,在CRT模式中,所述匹配的公共指數(shù)e被包括在RSA模N的二進制表示的前端比特中,所述RSA模N是通過將所述RSA模N的因數(shù)相乘來獲得的。
      在第二方面,本發(fā)明涉及一種用于計算求冪的設(shè)備,所述設(shè)備是抗故障攻擊的。所述設(shè)備包括用于獲得RSA私有密鑰對象的裝置,所述RSA私有密鑰對象與匹配的公共指數(shù)相關(guān)聯(lián);用于獲得使用所述RSA私有密鑰對象的求冪的結(jié)果的裝置;以及用于使用所述匹配的公共指數(shù)驗證求冪的結(jié)果正確的裝置。所述設(shè)備還包括用于獲得所述匹配的公共指數(shù)e的裝置在標(biāo)準(zhǔn)模式中,所述匹配的公共指數(shù)e是從在所述RSA私有密鑰對象中包括的RSA模N獲得的;以及在CRT模式中,所述匹配的公共指數(shù)e是從所述RSA模N的至少一個因數(shù)獲得的,所述RSA模N的因數(shù)被包括在所述RSA私有密鑰對象中。
      在第一優(yōu)選實施例中,用于獲得RSA私有密鑰對象的裝置、用于獲得使用所述RSA私有密鑰對象的求冪的結(jié)果的裝置、用于使用所述匹配的公共指數(shù)驗證求冪的結(jié)果正確的裝置、以及用于獲得所述匹配的公共指數(shù)e的裝置是在至少一個處理器上實現(xiàn)的。
      在第三方面,本發(fā)明涉及一種計算機程序產(chǎn)品,具有存儲于其上的指令,當(dāng)處理器執(zhí)行所述指令時,所述指令執(zhí)行第一方面的方法。



      現(xiàn)在將參照附圖,通過非限制性示例,來描述本發(fā)明的優(yōu)選特征,附圖中 圖1示出了根據(jù)本發(fā)明的優(yōu)選實施例的設(shè)備。

      具體實施例方式 在RSA中的“密鑰”與“密鑰對象”之間存在差異。密鑰是可用于密碼計算的實體,例如公共密鑰(N,e)或私有密鑰(N,d)(在CRT模式中分別是(p,q,dp,dq,iq)),而密鑰對象可以被說成是密鑰的表示。
      在現(xiàn)有的應(yīng)用編程接口(API)(例如JavaCards提供的)中,在CRT模式中從{p,q,dp,dq,iq}初始化RSA私有密鑰對象,并在標(biāo)準(zhǔn)模式中從{N,d}初始化RSA私有密鑰對象。
      值得注意的是,相應(yīng)的公共指數(shù)e是不可用的。因此,本文已經(jīng)提到的很多提出的對策檢驗計算y=xd mod N是否是無差錯的。然而,如果e的值可用,則容易通過驗證在標(biāo)準(zhǔn)模式中是否有ye≡x(mod N)或在CRT模式中是否有ye≡x(mod {p,q})來檢驗y的正確性。當(dāng)幾乎始終選擇小的e值時(典型地,3或216+1),這尤其正確。
      為了允許這一點,在優(yōu)選實施例中,通過將e的值嵌入RSA私有密鑰對象中來使e的值可用。
      與現(xiàn)有技術(shù)解決方案相反,這能夠檢測所有差錯。
      因此,本發(fā)明的主要思想是將公共RSA指數(shù)e的表示嵌入RSA密鑰中?!氨硎尽币馕吨环N明確地指示值的方式。例如,常用的公共RSA指數(shù)是3和216+1。這些值的表示的示例是它們的二進制值、它們的字節(jié)長度之后是它們的值、或者在事先已達成協(xié)議的情況下用“1”代表3并用“2”代表216+1。
      如上所述,從CRT模式下的{p,q,dp,dq,iq}以及從標(biāo)準(zhǔn)模式下的{N,d}獲得這種密鑰對象。當(dāng)計算y=xd mod N時,檢驗是否將公共指數(shù)e嵌入RSA密鑰的表示中。如果是,則恢復(fù)公共指數(shù)e。然后驗證在標(biāo)準(zhǔn)模式中是否有ye≡x(mod N)或者在CRT模式中是否有ye≡x(mod{p,q})。僅當(dāng)驗證成功時才返回y。
      技術(shù)人員將理解,RSA模作為隨機比特串而出現(xiàn)。因此,優(yōu)選地,允許應(yīng)用在“常規(guī)”RSA模(即不嵌入公共指數(shù)e的模)與根據(jù)本發(fā)明的模之間進行區(qū)分。為此,優(yōu)選地,在公共指數(shù)e之前(或者甚至在之后)插入例如64比特的指示器S(例如“5A5A5A5A5A5A5A5A”),優(yōu)選地以L|V(長度-值)格式來插入該指示器S,其中L表示公共指數(shù)e的值V的長度(例如,以字或比特表示)。
      給定公共指數(shù)e和長度I,可以用包括S、L和V在內(nèi)的預(yù)定部分來產(chǎn)生I比特RSA模N=pq??梢酝ㄟ^任何適當(dāng)?shù)姆椒▉懋a(chǎn)生這種模,例如在“M.Joye,RSA Moduli With a Predetermined PortionTechniquesand Applications.In Information Security Practice and Experience(ISPEC 2008),vol.4991 of Lecture Notes in Computer Science,pages116-130,Springer,2008”和“A.Lenstra.Generating RSA Moduli With aPredetermined Portion.In Advances in Cryptology-ASIACRYPT‘98,vol.1514 of Lecture Notes in Computer Science,pages 1-10,Springer,1998.”中描述的方法。
      從這種模N,容易恢復(fù)公共指數(shù)e的值。對應(yīng)地,在CRT模式中,從乘積pq中恢復(fù)公共指數(shù)e的值,其中p和q表示N的私有因數(shù)。
      換言之,為了計算求冪,通過例如從一個或多個所存儲的數(shù)據(jù)域中提取私有密鑰對象,或者通過從一個或多個所存儲的數(shù)據(jù)域中的值進行計算,或者通過它們的組合,來獲得RSA私有密鑰對象。RSA私有密鑰對象與匹配的公共指數(shù)相關(guān)聯(lián),即,存在例如可用于驗證求冪和簽名的相應(yīng)公共指數(shù)。例如,通過計算或通過從另一設(shè)備接收來獲得使用RSA私有密鑰對象的求冪的結(jié)果,例如y=xd mod N。然后使用匹配的公共指數(shù)來驗證求冪結(jié)果是正確的,例如通過檢驗ye≡x(modN)。根據(jù)實施方式,以不同方式獲得匹配的公共指數(shù)e。在標(biāo)準(zhǔn)模式中,從RSA模N獲得,而在CRT模式中,從RSA模N的至少一個因數(shù)獲得。“獲得”意味著提取出嵌入另一實體中的公共指數(shù)e。例如在標(biāo)準(zhǔn)模式中,可以將公共指數(shù)e形成為N的二進制表示中的一系列二進制數(shù)字;而在CRT模式中,可以將公共指數(shù)e形成為p或q或者甚至p和q的乘積的二進制表示中的一系列二進制數(shù)字。在后者的情況下,必須在能夠提取e之前計算該乘積。
      圖1示出了根據(jù)本發(fā)明的優(yōu)選實施例的設(shè)備。設(shè)備100包括適于與其他設(shè)備(未示出)進行通信的至少一個接口單元110、至少一個處理器120以及適于存儲數(shù)據(jù)(例如中間計算結(jié)果)的至少一個存儲器130。處理器120適于從RSA私有密鑰對象中提取嵌入的公共指數(shù)e,計算求冪,并使用公共指數(shù)e來驗證結(jié)果,如本文前述那樣。計算機程序產(chǎn)品140(例如CD-ROM或DVD)包括所存儲的指令,當(dāng)處理器120執(zhí)行該指令時,該指令執(zhí)行根據(jù)本發(fā)明的任何實施例所述的方法。
      應(yīng)當(dāng)理解,本發(fā)明使得能夠?qū)λ泄收虾筒铄e進行檢測。還應(yīng)當(dāng)理解,本發(fā)明與現(xiàn)有的實施方式完全兼容,所以不需要改變API。最后,另一個優(yōu)點在于本發(fā)明的方法非常高效;典型地,本發(fā)明的方法僅需要少數(shù)附加的模乘法,所以,用于典型2048比特應(yīng)用的驗證步驟僅代表總體計算的大約0.09%至0.5%。
      可以獨立地或者以任何適當(dāng)組合來提供說明書以及(在適當(dāng)時)權(quán)利要求和附圖中公開的每一個特征。
      還可以以軟件來實現(xiàn)被描述為以硬件實現(xiàn)的特征,反之亦然。連接(在適當(dāng)時)可以被實現(xiàn)為無線連接或有線(但不必是直接或?qū)S玫?連接。
      在權(quán)利要求中出現(xiàn)的參考標(biāo)記僅作示意之用,而不應(yīng)對權(quán)利要求的范圍有限制效果。
      權(quán)利要求
      1.一種用于計算求冪的方法,所述方法是抗故障攻擊的,并包括在設(shè)備(100)中進行的以下步驟
      獲得RSA私有密鑰對象,所述RSA私有密鑰對象與匹配的公共指數(shù)相關(guān)聯(lián);
      獲得使用所述RSA私有密鑰對象的求冪的結(jié)果;以及
      使用所述匹配的公共指數(shù)來驗證求冪的結(jié)果是正確的;
      所述方法的特征在于
      在標(biāo)準(zhǔn)模式中
      所述RSA私有密鑰對象包括RSA模N,所述匹配的公共指數(shù)e是從所述RSA模N獲得的;以及
      在CRT模式中
      所述RSA私有密鑰對象包括所述RSA模N的因數(shù),所述匹配的公共指數(shù)e是從所述RSA模N的至少一個因數(shù)獲得的。
      2.根據(jù)權(quán)利要求1所述的方法,其中所述匹配的公共指數(shù)e被包括在RSA模N的二進制表示的前端比特中。
      3.根據(jù)權(quán)利要求2所述的方法,其中在CRT模式中,所述RSA模N是通過將所述RSA模N的因數(shù)相乘來獲得的。
      4.一種用于計算求冪的設(shè)備(100),所述設(shè)備(100)是抗故障攻擊的,并包括
      用于獲得RSA私有密鑰對象的裝置(120),所述RSA私有密鑰對象與匹配的公共指數(shù)相關(guān)聯(lián);
      用于獲得使用所述RSA私有密鑰對象的求冪的結(jié)果的裝置(120);以及
      用于使用所述匹配的公共指數(shù)驗證求冪的結(jié)果正確的裝置(120);
      所述設(shè)備的特征在于包括用于獲得所述匹配的公共指數(shù)e的裝置(120)
      在標(biāo)準(zhǔn)模式中,所述匹配的公共指數(shù)e是從在所述RSA私有密鑰對象中包括的RSA模N獲得的;以及
      在CRT模式中,所述匹配的公共指數(shù)e是從所述RSA模N的至少一個因數(shù)獲得的,所述RSA模N的因數(shù)被包括在所述RSA私有密鑰對象中。
      5.根據(jù)權(quán)利要求4所述的設(shè)備,其中用于獲得RSA私有密鑰對象的裝置、用于獲得使用所述RSA私有密鑰對象的求冪的結(jié)果的裝置、用于使用所述匹配的公共指數(shù)驗證求冪的結(jié)果正確的裝置、以及用于獲得所述匹配的公共指數(shù)e的裝置是在至少一個處理器(120)上實現(xiàn)的。
      6.一種計算機程序產(chǎn)品(140),具有存儲于其上的指令,當(dāng)處理器執(zhí)行所述指令時,所述指令執(zhí)行根據(jù)權(quán)利要求1至3中任一項所述的方法。
      全文摘要
      本發(fā)明公開了用于還擊故障攻擊的方法和設(shè)備。將RSA密鑰的公共指數(shù)e嵌入缺少該指數(shù)的RSA密鑰對象中。在求冪期間,可以提取公共指數(shù)e并使用公共指數(shù)e來驗證求冪結(jié)果是正確的。僅在這種情況下才輸出該結(jié)果。本發(fā)明對故障攻擊進行還擊。本發(fā)明還提供了一種裝置(100)和一種計算機程序產(chǎn)品(140)。
      文檔編號H04L9/08GK101814986SQ201010118089
      公開日2010年8月25日 申請日期2010年2月10日 優(yōu)先權(quán)日2009年2月19日
      發(fā)明者馬克·喬伊 申請人:湯姆森許可貿(mào)易公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1