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

密碼操作里的電能攻擊和時(shí)間攻擊的對策的制作方法

文檔序號:6503881閱讀:234來源:國知局
專利名稱:密碼操作里的電能攻擊和時(shí)間攻擊的對策的制作方法
對相關(guān)申請的參考本發(fā)明要求申請于1999年6月11日的美國臨時(shí)申請No.60/138,909的優(yōu)先權(quán)。
背景技術(shù)
本發(fā)明一般涉及加密領(lǐng)域并且具體涉及防止通過使用電能監(jiān)視和時(shí)間監(jiān)視而攻破加密系統(tǒng)的私人密鑰。
最近,已經(jīng)發(fā)現(xiàn)可以通過監(jiān)視處理器實(shí)行編碼和/或解碼操作所用的時(shí)間從安全處理器獲得加密密鑰信息。而且,監(jiān)視此操作持續(xù)時(shí)間中的電能也可以應(yīng)用于攻擊處理器的保密性。例如,當(dāng)乘法運(yùn)算和平方運(yùn)算所使用的時(shí)間和電能量不同時(shí)會(huì)發(fā)生此情況。從而,攻擊者可以通過跟蹤安全設(shè)備處理許多不同的輸入信息所需的時(shí)間和電能來破解私人密碼。可以觀察電能使用和花費(fèi)時(shí)間最終將暴露密鑰。
盡管存在對通過電能或者時(shí)間攻擊覺察密鑰的對策,但這些對策沒有一種對兩種監(jiān)視都有效的技術(shù)。而且,使用這些對策需要大量的存儲器、處理器循環(huán),附加電路,電能或者其他資源。這是不可接受的,例如,當(dāng)保密處理器在電能有限的環(huán)境(例如電池供電的“智能卡”,其中電路的電能,速度和可利用表面是和重要的)。
從而,期望有一種可以有效的對抗電能和時(shí)間監(jiān)視并且仍有較低資源要求的對策技術(shù)。也期望以有限的性能損失對抗這些電能和時(shí)間攻擊。
發(fā)明概述本發(fā)明使用模擬密碼操作以偽裝密碼系統(tǒng)使用的時(shí)間和/或電能。例如,為了偽裝在此算法里是否真的實(shí)行了數(shù)學(xué)運(yùn)算或者儲存,本發(fā)明的一個(gè)具體實(shí)施例中實(shí)行了非必要的數(shù)學(xué)運(yùn)算和/或非必要的數(shù)據(jù)儲存。可以控制模擬操作的總數(shù),這樣模擬運(yùn)算所使用的電能和處理器循環(huán)時(shí)間仍然保持有效率。
在一個(gè)具體實(shí)施例中,本發(fā)明提供了在使用私人密鑰實(shí)行加密操作的處理系統(tǒng)里偽裝電能使用量和花費(fèi)時(shí)間的方法。為了掩蓋密鑰的一位或者多位,處理器實(shí)行了模擬的乘法運(yùn)算。本發(fā)明的此具體實(shí)施例可以有利的偽裝顯示是否應(yīng)該實(shí)行乘法操作的密鑰。因?yàn)榉潜匾某朔ú僮?,攻擊者觀察到不可預(yù)料的時(shí)間花費(fèi)和相似的電能使用量,而與密鑰里字位的值無關(guān)。從而,密鑰值保持保密。進(jìn)一步,模擬乘法運(yùn)算的結(jié)果可以儲存于偽儲存位置一它進(jìn)一步偽裝了當(dāng)密鑰指示了必要的乘法/儲存特征時(shí)的隨后操作。
參考附圖,考慮下面的說明,本領(lǐng)域技術(shù)熟練人員將明白本發(fā)明的進(jìn)一步優(yōu)點(diǎn)和特征。應(yīng)該認(rèn)識到本發(fā)明并不局限于這里揭示的細(xì)節(jié),而包含落在本發(fā)明的精神和權(quán)利要求的范圍里的所有這些變化和修改。
附圖簡述

圖1顯示說明實(shí)行一個(gè)本發(fā)明具體實(shí)施例的方法的流程圖。
圖2顯示說明偽裝電能使用量和花費(fèi)時(shí)間的具體實(shí)施例的流程圖。
圖3顯示了說明怎樣可以偽裝電能使用量和花費(fèi)時(shí)間的另一個(gè)本發(fā)明具體實(shí)施例的流程圖。
圖4顯示了實(shí)行一個(gè)本發(fā)明具體實(shí)施例的系統(tǒng)的框圖。
圖5顯示了本發(fā)明一個(gè)具體實(shí)施例的用于實(shí)行模數(shù)乘法的儲存位置的框圖。
圖6顯示了本發(fā)明具體實(shí)施例中使用的私鑰的二進(jìn)制表示,也顯示了對于在私鑰里出現(xiàn)的前128個(gè)零,而實(shí)行模擬運(yùn)算的位值地址。
圖7顯示了本發(fā)明一個(gè)具體實(shí)施例中使用的私鑰的二進(jìn)制表示,也顯示了如果私鑰位的值是零,預(yù)定的模擬操作將出現(xiàn)的位置表示。
圖8,9和10顯示了怎樣使用本發(fā)明偽裝Montgomery算法。
具體實(shí)施例的描述現(xiàn)在參考解密系統(tǒng)說明本發(fā)明。然而,應(yīng)該認(rèn)識到本發(fā)明也可以應(yīng)用于其他不包含解密的密碼系統(tǒng)。例如,本發(fā)明可應(yīng)用于本技術(shù)領(lǐng)域一般技術(shù)的人員所指的基于私鑰的系統(tǒng),特別是離散的對數(shù)系統(tǒng)和整數(shù)因數(shù)分解系統(tǒng)。然而,將使用此解密例子幫助說明本發(fā)明。
現(xiàn)在參考圖1,可以看到一個(gè)說明本發(fā)明的一個(gè)具體實(shí)施例的總體視圖的流程圖,其中實(shí)行了解密。在圖1里,消息首先被加密100??梢酝ㄟ^業(yè)內(nèi)人士熟知的許多不同的加密方法實(shí)行加密。當(dāng)消息被加密后,它被送(104)往其目的地??梢韵胂?,當(dāng)?shù)竭_(dá)加密消息企圖傳遞給的終點(diǎn)使用者前,此傳輸將包含不僅僅是一個(gè)簡單的點(diǎn)對點(diǎn)的傳送而且涉及更曲折的傳遞過程。最終收到加密發(fā)送消息(108)。當(dāng)接收到后,開始了對傳送消息的處理,例如,解密此消息。如圖1所示,當(dāng)加密消息被解密120時(shí),加密112所需的時(shí)間和解密消息116所需的電能是被偽裝了。以此方式,本發(fā)明抵御了攻擊者發(fā)起的時(shí)間攻擊和電能攻擊。而且,可以同時(shí)完成抵御這類時(shí)間攻擊和電能攻擊。
現(xiàn)在轉(zhuǎn)到圖2,可以看到本發(fā)明的另一個(gè)實(shí)施例的流程圖。即,在圖2里,終點(diǎn)用戶首先接收到發(fā)送來的消息200,例如,一個(gè)被加密的消息。接著,使用一個(gè)密碼算法,例如一個(gè)解密算法,應(yīng)用于該傳送消息以處理此數(shù)據(jù)204。時(shí)常的,由算法以相同的方式利用不同的“密鑰”(即數(shù)字,其導(dǎo)致了不同的輸出)完成此操作。例如,當(dāng)實(shí)行模數(shù)指數(shù)算法時(shí),利用了公鑰和私鑰;然而,對于使用每個(gè)密鑰時(shí),基本的數(shù)學(xué)算法是相同的。對于各種不同的密碼算法,讀者可以參考Applied Cryptography,第二版,John wiley & Sons,Inc.,BruceSchneier著,1996,這里引用其內(nèi)容作參考。繼續(xù)看圖2,當(dāng)應(yīng)用了解密算法,實(shí)行了附加處理以偽裝電能使用量和時(shí)間使用量208??梢灶A(yù)想在算法的處理中將發(fā)生這些附加的處理,在其他具體實(shí)施例,當(dāng)算法完成后它們才發(fā)生。再次,此解密算法僅僅是一個(gè)例子,本發(fā)明可以應(yīng)用于其他密碼處理中一特別是私鑰系統(tǒng)。
假想可以提供最佳偽裝的附加處理是那些作為正常算法的元素出現(xiàn)的處理。例如,這些處理將包含實(shí)行完全非必要的附加數(shù)學(xué)運(yùn)算。而且,此處理將包含非必要的儲存到存儲器,即,算法的正常功能不要求的儲存。相似的,一個(gè)附加處理將包含模數(shù)縮減操作,這是許多密碼算法里的一個(gè)實(shí)行部分。當(dāng)有可能時(shí),同時(shí)也可以使用實(shí)行算法的必要步驟的電路獲得偽裝。由于相同的電路應(yīng)用于完成必要和非必要的處理,此電路的使用減少了對額外資源的需要并且產(chǎn)生了相似的電能和不可預(yù)料的時(shí)間使用量征象。這對于本領(lǐng)域一般技術(shù)人員將很明顯,也可以模擬其他類型的處理。
實(shí)行額外運(yùn)算可以獲得的好處是,觀察處理傳送消息(例如解密數(shù)據(jù))需要的時(shí)間量和/或電能量的攻擊者將被愚弄。當(dāng)實(shí)行的附加處理被人認(rèn)為是密碼算法一部分的條件處理時(shí),特別有效。例如私鑰系統(tǒng)里的模數(shù)指數(shù)算法的應(yīng)用。根據(jù)私鑰位的值,某人預(yù)料到發(fā)生乘法運(yùn)算,例如,當(dāng)私鑰里的一個(gè)位的值是“1”時(shí),產(chǎn)生一個(gè)相關(guān)的乘法運(yùn)算。當(dāng)密鑰位的值是一個(gè)“0”時(shí),沒有相關(guān)的乘法運(yùn)算。由此,攻擊者將通過監(jiān)視觀察是否發(fā)生了相應(yīng)的乘法運(yùn)算而嘗試并且破譯密鑰。業(yè)內(nèi)人士都知道,各種不同的分割電能和時(shí)間的攻擊有可能實(shí)行此類破解。由此,由于乘法是由位值是“0”或者“1”條件決定的,攻擊者將被經(jīng)常執(zhí)行乘法運(yùn)算而不管位值的處理愚弄,特別是用相同的電路這樣做。以此方式,攻擊者不再考慮乘法結(jié)果是否實(shí)際使用過。
此過程可以進(jìn)一步模擬當(dāng)乘法運(yùn)算完成后的實(shí)際運(yùn)算。例如,通常是一旦必要的乘法完成后儲存乘法結(jié)果到存儲器。當(dāng)實(shí)行了模擬的(或者非必要的)乘法,結(jié)果也可以儲存于存儲器。即使算法不需要儲存于存儲器的此結(jié)果,實(shí)行此操作的電能和時(shí)間使用量將幫助阻止攻擊者破解解密密鑰值。
可以通過實(shí)行額外操作模擬算法的條件運(yùn)算進(jìn)一步實(shí)行偽裝。例如,當(dāng)必要時(shí)可以實(shí)行模數(shù)縮減運(yùn)算,以至于進(jìn)一步模擬模數(shù)指數(shù)算法。當(dāng)不需要實(shí)行所有這些運(yùn)算時(shí),某個(gè)算法,一些或者全部算法將幫助偽裝處理并且確保密碼系統(tǒng)的安全性,例如私鑰的值。
圖3顯示了本發(fā)明的一個(gè)具體實(shí)施例,其進(jìn)一步說明了包護(hù)密碼系統(tǒng)的方式。首先,應(yīng)用于密碼的密碼算法(例如模數(shù)指數(shù)算法)被應(yīng)用到處理發(fā)送的消息300,例如使用解密密鑰解密該消息。接著,當(dāng)實(shí)行此算法時(shí),檢查密鑰304的值。例如,在模數(shù)指數(shù)算法里檢查二進(jìn)制密鑰的一位值。接著,依靠密鑰的檢查值,實(shí)行非必要的操作308,即,正常算法不需要的數(shù)學(xué)運(yùn)算,接著,為了進(jìn)一步模擬算法的實(shí)行,實(shí)行了必要的數(shù)據(jù)儲存,312。
現(xiàn)在參考圖4,圖4顯示了實(shí)行本發(fā)明具體實(shí)施例的系統(tǒng)400。在圖4里,發(fā)送器404發(fā)送一個(gè)發(fā)送消息406到一個(gè)接收器408。此接收器404與一個(gè)機(jī)頂盒416耦合。此機(jī)頂盒使用一個(gè)電路處理傳送消息。如前述,此電路操作上可以偽裝在數(shù)據(jù)加碼處理過程中處理數(shù)據(jù)所需的電能使用量。而且,如前述,此電路操作上可以偽裝在數(shù)據(jù)加碼處理過程中處理數(shù)據(jù)所需的時(shí)間使用量。這里使用機(jī)頂盒說明本發(fā)明,本發(fā)明可以應(yīng)用于實(shí)行加密的許多不同類型的設(shè)備。例如,除了機(jī)頂盒,本發(fā)明可以應(yīng)用于數(shù)字電視,PCMCIA卡等。對于本專利的意圖,這些設(shè)備應(yīng)該被認(rèn)為是客戶電子設(shè)備。
較佳的可以利用集成電流420實(shí)行此電路。從圖4可以看到,一個(gè)處理器,例如微處理器424,位于集成電路上并且通過輸入端425接收傳送信號。此處理器與一個(gè)第一存儲器440耦合。此處理器也可以與一個(gè)第二處理器444耦合。此處理器也與一個(gè)保存了密碼代碼(例如解密代碼428和隱藏代碼432)的程序儲存區(qū)域耦合,此密碼代碼利用圖中所示的也儲存于存儲器的加密密鑰436。加密密鑰428適合于被處理器424使用并且使處理器實(shí)行密碼算法。然而,同時(shí)實(shí)行了隱藏代碼432。以此方式,正常處理數(shù)據(jù)的同時(shí)也完成了隱藏或偽裝算法。隱藏代碼432導(dǎo)致了非必要操作的產(chǎn)生,從而偽裝了正常處理傳送數(shù)據(jù)所需的電能使用量和時(shí)間使用量??梢詫?shí)行多種不同的非必要操作。例如,如前述,處理器可以實(shí)行非必要的乘法,作為隱藏代碼的一種結(jié)果。相似的,也可以實(shí)行非必要的將數(shù)據(jù)儲存到存儲器或者非必要的模數(shù)縮減操作。然而,可以實(shí)行所有這些非必要的操作而模擬算法的必要操作以達(dá)到最佳偽裝效果。
圖4中顯示密碼代碼和隱藏代碼為分開的部分以較好的說明系統(tǒng)的功能。然而,應(yīng)該注意到,這兩個(gè)代碼部分典型的將為單個(gè)程序的一部分,本領(lǐng)域技術(shù)一般人士也應(yīng)該理解。以此方式,在正常的密碼處理中的適當(dāng)時(shí)間實(shí)行隱藏代碼需要的模擬運(yùn)算。
密碼密鑰436典型的將有一個(gè)二進(jìn)制表示。例如在模數(shù)指數(shù)算法里,加密密鑰的每位指示一個(gè)模數(shù)乘法運(yùn)算是否應(yīng)該實(shí)行。在一個(gè)實(shí)施例中,當(dāng)這些位顯示沒有需要的乘法操作時(shí),操作隱藏代碼可以導(dǎo)致處理器實(shí)行一個(gè)模擬模數(shù)乘法運(yùn)算。在此方式,攻擊者陷入了思考不同于實(shí)際值的位值,因?yàn)閷?shí)際發(fā)生了模數(shù)乘法。
第二存儲器444可以應(yīng)用于模擬儲存到存儲器。當(dāng)業(yè)內(nèi)人士假想模擬的儲存到存儲器的操作甚至可以不要附加存儲器而完成,存儲器444幫助說明了這一點(diǎn)。即,當(dāng)實(shí)際密碼處理使用第一存儲器440時(shí),當(dāng)需要非必要的對存儲器進(jìn)行儲存操作時(shí),可以使用第二存儲器444。在此方式,儲存到存儲器導(dǎo)致的電能使用量將愚弄攻擊者;但同時(shí),密碼程序需要的儲存于存儲器440的數(shù)據(jù)沒被破壞。從而,在小量附加存儲器時(shí),可以模擬密碼算法并且不需要附加大量的額外電路而維持了安全性。
圖5提供了本發(fā)明具體實(shí)施例的存儲器分配的細(xì)節(jié)。將參考模數(shù)指數(shù)算法說明圖5。在模數(shù)指數(shù)算法里,首先平方值M并且接著使用整數(shù)n對M值的平方實(shí)行模數(shù)縮減。接著,根據(jù)算法密鑰的二進(jìn)制表示里相應(yīng)的位值,模數(shù)縮減的結(jié)果乘以M并且最后再次由n進(jìn)行模數(shù)縮減。例如,假設(shè)值“1”顯示乘法并且值“0”表示沒有進(jìn)行乘法。在此情況,如果適用的位值為“1”,則值((M×M)mod n)乘以M并且由n實(shí)行了另一個(gè)模數(shù)縮減。在算法密鑰里的每位上實(shí)行此處理。從而,圖5說明了為了完成算法必須儲存不同值的存儲器塊。M的初始值儲存于存儲位置504。在此例子里,此儲存位置顯示為1024位長度。接著完成M的平方并且儲存于儲存位置508,其顯示為2048位長度。接著,由n實(shí)行的模數(shù)縮減儲存于儲存位置512。結(jié)果表示為Cia并且如圖5所示的為1024位。
在此情況,如果密鑰位值是“1”--顯示模數(shù)乘法--可以將Cia的值乘以M并且儲存于儲存位置508。接著,由n實(shí)行模數(shù)縮減并且再次儲存于位置512—替代了原先的Cia的值。然而,如果密鑰位的值是“0”,不需要模數(shù)乘法;這樣,為了愚弄攻擊者,實(shí)行了正常的乘法/模數(shù)縮減/儲存于存儲器過程。這樣,可以使用寄存器516完成模擬處理而不破壞儲存于存儲位置512的Cia的值。這可以通過Cia乘于M并將結(jié)果儲存于儲存位置508而完成。接著對這個(gè)值由n進(jìn)行模數(shù)縮減并且將結(jié)果儲存于儲存位置516-而不是儲存位置512。再次,保留了儲存于儲存位置512的Cia的值,同時(shí)模擬了或者偽造了密鑰位值是一個(gè)“1”而不是“0”。而且,不需要大量的額外儲存器,由于儲存?zhèn)卧?16的數(shù)據(jù)可以簡單的被寫覆蓋。實(shí)際上,如下所述,可以實(shí)行Montgomery算法而不需要任何額外儲存。
不是密碼算法里的每個(gè)條件運(yùn)算為了保密密碼過程都需要模擬的。例如,在Montgomery算法里,假設(shè)1024位私鑰里僅僅需要將頭128個(gè)出現(xiàn)的“0”模擬成“1”,即,為了對抗攻擊,有一些操作模擬需要一個(gè)“1”。在圖6中顯示了這樣的情況。在圖6中,密鑰顯示為上行。下行顯示了對應(yīng)于出現(xiàn)前128個(gè)零的地方。從而,在這些位,出現(xiàn)了模擬處理。128位位置的模擬是安全和處理速度的折衷。對于各種不同的模擬方案的詳細(xì)代價(jià),參考美國專利申請申請No.60/138,909,申請于1999.06.11,題目為“Method and System forCountering a Power Attack and Timing Attack on Integer Factoring and DiscreteLogarithm Problem-Based Private Key Operations”,這里通過引用而加入。
應(yīng)該注意到僅僅模擬密鑰的一位就將增加安全性。從而,我們不需要模擬128個(gè)或者更多位以獲得安全性。只能想象,128位模擬將帶來安全的傳遞消息同時(shí)完全不使資源將級而影響處理速度。
本發(fā)明的一個(gè)具體實(shí)施例是盡早使用模擬,反復(fù)偽裝密鑰最早使用的一些位。因?yàn)閷⒊跏嘉粦?yīng)用于偽裝時(shí)是最難破解密鑰的,此具體實(shí)施例盡力對使用的密鑰初始值進(jìn)行模擬運(yùn)算。在此方式,當(dāng)比較密鑰里稍后出現(xiàn)的模擬操作來破解密鑰時(shí)攻擊者將面臨極大的挑戰(zhàn)。例如,參考,“Timing Attacks onImplementation of Diffie-Hellmann,RSA,DSS and Other System”,Paul C.Kocher著。
本發(fā)明的另一個(gè)實(shí)施例說明了在固定位置的模擬運(yùn)算。在此方式,如果一個(gè)“0”出現(xiàn)在固定位置,指示了模擬運(yùn)算的,則實(shí)行模擬運(yùn)算。這在圖7中顯示,圖7中的上行顯示了密鑰。圖7中的下行顯示了如果對應(yīng)的密鑰值是零則可以實(shí)行模擬運(yùn)算的位置。在圖7里,根據(jù)模擬位位置2,98,99和100可以出現(xiàn)模擬運(yùn)算。圖7也顯示了少于128位應(yīng)用于觸發(fā)模擬的例子。再次,此數(shù)字可以低到1,仍然提供了一定的安全性。
圖8,9和10顯示了通過使用Montgomery算法實(shí)行本發(fā)明的一個(gè)具體實(shí)施例的例子。如本領(lǐng)域技術(shù)一般人士所知,Montgomery是一種實(shí)行模數(shù)縮減的算法。從圖8開始,左邊欄里是實(shí)行Montgomery算法的范例代碼。右邊欄里,顯示了執(zhí)行代碼的示例性的儲存分配。如圖顯示了儲存大小,它們僅僅用于說明目的,并且不應(yīng)該被認(rèn)為是對本發(fā)明的限制。圖8顯示了怎樣使用微處理器的寄存器儲存算法使用的變量和常量。而且,圖中顯示,臨時(shí)保持寄存器應(yīng)用于在實(shí)行算法期間臨時(shí)儲存結(jié)果。步驟7-9表示了模擬例子的私鑰里出現(xiàn)的前128位“0”的過程。當(dāng)遇到其中一個(gè)“0”,調(diào)用子程序“MonPro”來實(shí)行Montgomery乘積。然而,此Montgomery乘積沒有應(yīng)用于完成算法結(jié)果。而是被丟棄了。不過,處理器實(shí)行了與當(dāng)私鑰位值是“1”時(shí)將執(zhí)行的動(dòng)作相同的動(dòng)作。從而,使用處理器偽裝了電能使用量和時(shí)間使用量,這樣迷惑了攻擊者。
相似的,圖9顯示了完成圖8中主程序調(diào)用的子程序“BigMod”的代碼。圖中也顯示了大小為2k-1的臨時(shí)寄存器。再次說明,這些寄存器的大小僅用于說明目的。
最后,圖10顯示了“BigMod”的MonPro子程序。注意當(dāng)密鑰中位值是“1”時(shí)(ei==1)結(jié)果從Temp3移動(dòng)到x寄存器。然而,當(dāng)密鑰中位值是“0”時(shí),僅僅移動(dòng)結(jié)果到一個(gè)臨時(shí)寄存器并且不儲存結(jié)果。從而,攻擊者將被模擬步驟欺騙;同時(shí)模擬步驟將不會(huì)影響算法的輸出。而且,當(dāng)實(shí)行了Montgomery算法時(shí),圖8-10說明了不需要額外的儲存器。這樣,有一個(gè)好處是不需要額外資源。
基于本領(lǐng)域一般技術(shù)人員理解為整數(shù)域數(shù)學(xué)的那些技術(shù)進(jìn)行了上述說明。然而,應(yīng)該意識到本發(fā)明也可以延伸到其他數(shù)學(xué)系統(tǒng)。例如,也可以應(yīng)用于橢圓曲線密碼系統(tǒng)的基本數(shù)學(xué)領(lǐng)域。本領(lǐng)域一般技術(shù)人員認(rèn)識到這些其他領(lǐng)域的數(shù)學(xué)處理有在整數(shù)域數(shù)學(xué)里實(shí)行的處理的等價(jià)或者推論,上述范圍包含乘法,加法,和指數(shù)運(yùn)算。從而,本專利希望覆蓋這類推廣和等價(jià)物。
希望通過前面的說明可以理解本發(fā)明的具體實(shí)施例的設(shè)備和方法和其許多隨同的優(yōu)點(diǎn)。很明顯在形式上,結(jié)構(gòu)上和部分安排上不離開本發(fā)明的精神和范圍或者犧牲實(shí)質(zhì)性利益可以有很多變化,這里說明的形式只是較佳的或者示例性的實(shí)施例。本發(fā)明著重說明了解密處理的方面,應(yīng)該理解也意指了其他處理,解密處理僅僅提供了一個(gè)有用的例子。
權(quán)利要求
1.一種處理數(shù)據(jù)的方法,其特征在于,包含以下步驟接收傳輸?shù)降南⒁杂糜谒饺嗣荑€;使用所述私人密鑰處理所述傳輸?shù)南?;偽裝處理所述傳輸?shù)降南⑺璧碾娔苁褂昧?;同時(shí)偽裝處理所述傳輸?shù)降南⑺璧臅r(shí)間使用量。
2.如權(quán)利要求1所述的處理數(shù)據(jù)的方法,其特征在于,所述方法還包含通過對所述傳輸?shù)降南?shí)行數(shù)學(xué)算法來處理所述消息;除了所述算法外實(shí)行附加數(shù)學(xué)處理,所述附加數(shù)學(xué)處理對于所述處理是非必要的;并且偽裝實(shí)行所述附加數(shù)學(xué)處理所需的所述電能使用量和所述時(shí)間使用量。
3.如權(quán)利要求2所述的處理數(shù)據(jù)的方法,其特征在于,所述實(shí)行附加數(shù)學(xué)處理包含實(shí)行乘法。
4.如權(quán)利要求3所述的處理數(shù)據(jù)的方法,其特征在于,所述方法還包含實(shí)行非必要的儲存數(shù)據(jù)到存儲器的操作。
5.如權(quán)利要求2所述的處理數(shù)據(jù)的方法,其特征在于,所述偽裝所需的所述電能使用量和所述時(shí)間使用量包含實(shí)行模數(shù)縮減運(yùn)算。
6.如權(quán)利要求1所述的處理數(shù)據(jù)的方法,其特征在于,所述處理所述傳輸數(shù)據(jù)包含利用包含條件乘法的算法;所述方法還包含當(dāng)所述條件未滿足時(shí),至少實(shí)行一次所述條件乘法。
7.如權(quán)利要求6所述的處理數(shù)據(jù)的方法,其特征在于,所述方法還包含將用數(shù)字表示的加密密鑰用作私鑰。
8.如權(quán)利要求7所述的處理數(shù)據(jù)的方法,其特征在于,所述算法的所述條件乘法由所述加密密鑰的二進(jìn)制表示的至少一個(gè)位值確定。
9.如權(quán)利要求2所述的處理數(shù)據(jù)的方法,其特征在于,所述方法還包含在存儲器里儲存所述至少一個(gè)所述條件乘法的結(jié)果。
10.如權(quán)利要求1所述的方法,其特征在于,所述處理所述傳輸?shù)降南瑢?shí)行Montgomery算法。
11.一種加密用的設(shè)備,其特征在于,所述設(shè)備包含一個(gè)處理器;所述處理器的輸入端,用以接收傳輸消息;一個(gè)使所述處理器處理所述傳輸消息的加密代碼;和一個(gè)隱藏代碼,它導(dǎo)致所述處理器實(shí)行非必要的操作從而偽裝處理所述消息的電能使用量和時(shí)間使用量。
12.如權(quán)利要求11所述的設(shè)備,其特征在于,所述設(shè)備還包含一個(gè)有二進(jìn)制表示的私鑰,并且其中所述隱藏代碼操作上可以使所述處理器基于所述私鑰的一個(gè)位值實(shí)行模擬功能。
13.如權(quán)利要求11所述的設(shè)備,其特征在于,所述非必要的操作包含一個(gè)非必要的乘法。
14.如權(quán)利要求11所述的設(shè)備,其特征在于,所述非必要的操作還包含非必要的儲存數(shù)據(jù)到一個(gè)存儲器。
15.如權(quán)利要求11所述的設(shè)備,其特征在于,所述加密代碼包含用于執(zhí)行Montgomery算法的代碼。
16.一種設(shè)備,其特征在于,包含一個(gè)集成電路;所述集成電路的一個(gè)輸入端,用于接收一個(gè)經(jīng)編碼的傳輸消息;一個(gè)與所述輸入端耦合的微處理器;用于解密所述經(jīng)編碼的消息并且適合所述微處理器使用的解密代碼;和用于偽裝所述微處理器在解密所述編碼過的消息中的電能使用量和時(shí)間使用量的隱藏代碼。
17.如權(quán)利要求16所述的設(shè)備,其特征在于,所述設(shè)備還包含一個(gè)第一存儲器,供所述微處理器在解密所述代碼中使用;和一個(gè)第二存儲器,用于儲存由所述隱藏代碼獲得的一個(gè)結(jié)果。
18.一種處理數(shù)據(jù)的方法,其特征在于,包含接收經(jīng)加密的傳送消息;解密所述經(jīng)加密的傳送消息;并且對抗所述解密的時(shí)間攻擊,同時(shí)對抗所述解密的電能攻擊。
19.一種處理數(shù)據(jù)的方法,其特征在于,包含接收經(jīng)加密的傳送消息;使用處理器實(shí)行乘法運(yùn)算;使用所述乘法運(yùn)算解密所述消息;使用所述處理器實(shí)行非必要的乘法運(yùn)算;以及偽裝用所述非必要的乘法運(yùn)算進(jìn)行所述解密所需的電能使用量;偽裝用所述非必要的乘法運(yùn)算進(jìn)行所述解密所需的時(shí)間使用量。
20.一種設(shè)備,包含一個(gè)消費(fèi)者電子設(shè)備;一個(gè)置于所述消費(fèi)者電子設(shè)備內(nèi)的用于處理數(shù)據(jù)的電路;其特征在于,所述電路操作上可以偽裝處理所述數(shù)據(jù)所需的電能使用量;并且,所述電路操作上可以偽裝處理所述數(shù)據(jù)所需的時(shí)間使用量。
21.一種解密的方法,包含接收一個(gè)經(jīng)加密的發(fā)送消息;解密所述發(fā)送消息;偽裝解密所述發(fā)送消息所需的電能使用量;偽裝解密所述發(fā)送消息所需的時(shí)間使用量;其中,所述解密所述發(fā)送消息包含對所述經(jīng)加密的消息實(shí)行數(shù)學(xué)算法;利用一個(gè)解密密鑰作為所述數(shù)學(xué)算法的一部分;并且所述偽裝電能使用量和所述偽裝所述時(shí)間使用量包含實(shí)行附加數(shù)學(xué)運(yùn)算,所述附加數(shù)學(xué)運(yùn)算是所述解密所非必需的;以及實(shí)行非必要的把數(shù)據(jù)儲存到存儲器;所述實(shí)行非必要的儲存數(shù)據(jù)到存儲器是由所述解密密鑰的一個(gè)位的值確定的。
22.如權(quán)利要求21所述的方法,其特征在于,實(shí)行一個(gè)數(shù)學(xué)算法包含實(shí)行一個(gè)Montgomery算法。
23.一種密碼系統(tǒng)中使用的設(shè)備,其特征在于,所述設(shè)備包含一個(gè)消費(fèi)者電子設(shè)備;一個(gè)置于所述消費(fèi)者電子設(shè)備內(nèi)的微處理器;一個(gè)輸入到所述微處理器的輸入端,用于接收經(jīng)編碼的發(fā)送消息;一個(gè)使所述微處理器解密所述發(fā)送消息的解密代碼;一個(gè)隱藏代碼,它導(dǎo)致所述微處理器實(shí)行非必要的操作從而偽裝解密所述發(fā)送消息的電能使用量和時(shí)間使用量;一個(gè)用二進(jìn)制表示的解密密鑰,所述隱藏代碼操作上可以使所述微處理器基于所述解密密鑰的一個(gè)位的值實(shí)行一個(gè)模擬功能。
24.如權(quán)利要求23所述的設(shè)備,其特征在于,所述解密代碼實(shí)行Montgomery算法。
全文摘要
本發(fā)明利用對抗時(shí)間和電能攻擊的對策提供了一種安全處理數(shù)據(jù)的密碼電路。處理器利用多余的操作(例如乘法、整數(shù)模數(shù)縮減、儲存數(shù)據(jù)到存儲器)實(shí)行了對運(yùn)行密碼操作的電能使用量和時(shí)間使用量的偽裝。加密密鑰應(yīng)用于觸發(fā)何時(shí)實(shí)行這些模擬操作。由使用者控制模擬操作的出現(xiàn)以提供在安全性與資源消耗之間的較佳折衷。
文檔編號G06F9/302GK1355974SQ00808788
公開日2002年6月26日 申請日期2000年6月9日 優(yōu)先權(quán)日1999年6月11日
發(fā)明者裘欣, E·J·斯普龍克, D·Z·西蒙, L·W·唐, L·R·庫克 申請人:通用器材公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
昌江| 宁蒗| 渑池县| 德江县| 岳阳市| 临沧市| 岚皋县| 丹阳市| 水城县| 亚东县| 个旧市| 南华县| 巴马| 玛纳斯县| 温州市| 高密市| 常宁市| 邵阳县| 元江| 巴东县| 西吉县| 和顺县| 公安县| 南开区| 元江| 双牌县| 安新县| 灯塔市| 保亭| 株洲县| 巩留县| 南岸区| 兴隆县| 新蔡县| 通州区| 广平县| 沙河市| 思南县| 栾川县| 鄂州市| 涞源县|