亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于檢測故障攻擊的方法和裝置的制作方法

文檔序號:6336433閱讀:261來源:國知局
專利名稱:用于檢測故障攻擊的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種用于檢測故障攻擊的方法和裝置,并且特別涉及一種用于基于簽 名來提供檢測的方法和裝置。
背景技術(shù)
集成電路可以包括鑒于所操縱的諸如認(rèn)證密鑰、簽名等數(shù)據(jù)的安全性或者鑒于所 使用的算法如加密算法或解密算法而被視為敏感的電路。這樣的信息需要保密,這意味著 該信息不應(yīng)被傳達(dá)給第三方或未授權(quán)電路,或者可由第三方或未授權(quán)電路檢測出。用于剽竊由集成電路操縱的信息的常用過程包括檢測該電路中在處理該信息期 間使用的分區(qū)。為此,在功能環(huán)境中激活該電路或者將電路置于功能環(huán)境中,并且在輸入端 引入待編碼的數(shù)據(jù)包。當(dāng)進(jìn)行處理數(shù)據(jù)時,由激光掃射集成電路的表面以在電路的運行中 注入故障。通過并行分析電路的輸出,這使得能夠確定電路中處理該數(shù)據(jù)的分區(qū)。將這些 分區(qū)局部化后,剽竊者能夠?qū)@些分區(qū)集中攻擊,以確定正被處理的秘密數(shù)據(jù)。簽名提供一種保護(hù)電路免受故障攻擊的方式。簽名基于將由算法使用的一個或者 多個數(shù)據(jù)值來生成。然后在相同的數(shù)據(jù)值經(jīng)過算法使用之后,對這些數(shù)據(jù)值生成簽名。這 兩個簽名的差異表明出現(xiàn)攻擊。檢測電路一旦檢測到這樣的攻擊,可以觸發(fā)對策,比如重置 電路,和/或?qū)⒂嫈?shù)器遞增,這使得在檢測到一定數(shù)量的故障時使集成電路持久地不工作。旁路攻擊是包括例如測量電路功耗的一種不同類型的攻擊。掩蔽提供一種保護(hù)電 路免受旁路攻擊的方式。掩蔽包括以無損方式更改使用偽隨機(jī)變量的算法的輸入。希望提供一種電路,其中,同組數(shù)據(jù)值可以用來生成簽名以檢測故障攻擊并且可 以被掩蔽以使旁路攻擊更為困難。然而,難以實現(xiàn)結(jié)合這些功能的有效的電路。

發(fā)明內(nèi)容
本發(fā)明的一個目的在于至少部分地解決現(xiàn)有技術(shù)中的一個或者多個問題。根據(jù)本發(fā)明的一個方面,提供一種檢測故障攻擊的方法,該方法包括提供多個掩 蔽值;生成第一數(shù)據(jù)元素集合,該第一數(shù)據(jù)元素集合包括第一組數(shù)據(jù)元素和通過在第一組 中的至少一個數(shù)據(jù)元素與所述掩蔽值中的至少一個掩蔽值之間進(jìn)行異或而生成的至少一 個附加數(shù)據(jù)元素;生成與在第一數(shù)據(jù)元素集合的每一個數(shù)據(jù)元素與所述多個掩蔽值中的所 選掩蔽值之間的異或?qū)?yīng)的第二數(shù)據(jù)元素集合;通過在第一數(shù)據(jù)元素集合的各數(shù)據(jù)元素之 間進(jìn)行交換運算來生成第一簽名;通過在第二數(shù)據(jù)元素集合的各數(shù)據(jù)元素之間進(jìn)行所述交 換運算來生成第二簽名;以及比較第一簽名與第二簽名以檢測故障攻擊。根據(jù)一個實施例,生成所述至少一個附加數(shù)據(jù)元素包括通過在第一組數(shù)據(jù)元素 的每一個數(shù)據(jù)元素與所述多個掩蔽值中的每一個掩蔽值之間進(jìn)行異或來生成附加的多組 數(shù)據(jù)元素;并且選擇至少一個附加的組的至少一個數(shù)據(jù)值以形成至少一個附加數(shù)據(jù)元素。根據(jù)另一實施例,生成附加的至少一組數(shù)據(jù)元素還包括在第一組數(shù)據(jù)元素的每一 個數(shù)據(jù)元素與所述掩蔽值中的兩個掩蔽值的每個組合之間進(jìn)行異或。
根據(jù)另一實施例,通過在第一數(shù)據(jù)元素集合的每一個數(shù)據(jù)元素與多個掩蔽值中的 所選掩蔽值之間進(jìn)行異或來掩蔽所述第一數(shù)據(jù)元素集合的各數(shù)據(jù)元素從而生成第二數(shù)據(jù) 元素集合。根據(jù)另一實施例,通過在第一組的每一個數(shù)據(jù)元素與多個掩蔽值中的所選掩蔽值 之間進(jìn)行異或來掩蔽所述第一組數(shù)據(jù)值以生成被掩蔽的數(shù)據(jù)元素組并且在被掩蔽的數(shù)據(jù) 元素組的至少一個數(shù)據(jù)元素與所述掩蔽值中的至少一個掩蔽值之間進(jìn)行異或從而生成第
二數(shù)據(jù)元素集合。根據(jù)另一實施例,對于每一被掩蔽的組中的每個數(shù)據(jù)值,選擇至少一個附加數(shù)據(jù) 元素包括確定所述數(shù)據(jù)值是否已經(jīng)存在于第二數(shù)據(jù)元素集合中;以及如果所述數(shù)據(jù)值未 存在于第二數(shù)據(jù)元素集合中,則將所述數(shù)據(jù)值添加到第二數(shù)據(jù)元素集合中。根據(jù)另一實施例,選擇至少一個附加數(shù)據(jù)元素還包括將添加到第二數(shù)據(jù)元素集 合中的各數(shù)據(jù)值標(biāo)記為不可用;以及如果所述數(shù)據(jù)值已經(jīng)存在于第二數(shù)據(jù)元素集合中,則 確定所述數(shù)據(jù)值是否標(biāo)記為不可用,若否,則將所述數(shù)據(jù)值標(biāo)記為不可用,而若是,則將所 述數(shù)據(jù)值添加到第二數(shù)據(jù)元素集合中。根據(jù)另一實施例,生成所述第一簽名和第二簽名包括在對應(yīng)的數(shù)據(jù)元素集合的各 數(shù)據(jù)元素之間進(jìn)行異或。根據(jù)另一實施例,生成所述第一簽名和第二簽名包括將對應(yīng)的數(shù)據(jù)元素集合的各 數(shù)據(jù)元素全部相加。根據(jù)另一實施例,生成所述第一簽名和第二簽名包括將對應(yīng)的數(shù)據(jù)元素集合的各 數(shù)據(jù)元素全部相乘。根據(jù)本發(fā)明的另一方面,提供一種用于檢測故障攻擊的電路,該電路包括存儲 器,存儲多個掩蔽值;計算塊,被布置成生成第一數(shù)據(jù)元素集合,該第一數(shù)據(jù)元素集合包括 第一組數(shù)據(jù)元素和通過在第一組中的至少一個數(shù)據(jù)元素與所述掩蔽值中的至少一個掩蔽 值之間進(jìn)行異或而生成的至少一個附加數(shù)據(jù)元素,并且生成與在第一數(shù)據(jù)元素集合的每個 數(shù)據(jù)元素與所述多個掩蔽值中的所選掩蔽值之間的異或?qū)?yīng)的第二數(shù)據(jù)元素集合;簽名 塊,被布置成通過在第一數(shù)據(jù)元素集合的各數(shù)據(jù)元素之間進(jìn)行交換運算來生成第一簽名并 且通過在第二數(shù)據(jù)元素集合的各數(shù)據(jù)元素之間進(jìn)行交換運算來生成第二簽名;以及比較 器,被布置成比較第一簽名與第二簽名以檢測故障攻擊。根據(jù)一個實施例,該電路還包括函數(shù)單元,被布置成基于第一數(shù)據(jù)元素集合的至 少一個數(shù)據(jù)值來進(jìn)行運算,其中,所述函數(shù)塊被布置成基于密鑰來進(jìn)行加密或者解密運算。根據(jù)本發(fā)明的另一方面,提供一種包括上述電路的集成電路、IC(集成電路)卡或 者IC讀卡器。


根據(jù)以下參照附圖通過圖示方式而非限制方式給出的對實施例的詳細(xì)描述,容易 理解本發(fā)明的前述和其它目的、特征、方面及優(yōu)點,附圖中圖1圖示了根據(jù)一個實施例的用于檢測故障攻擊并且防范旁路攻擊的電路;圖2圖示了圖1的電路所使用的數(shù)據(jù)值;圖3圖示了根據(jù)本發(fā)明的實施例的用于檢測故障攻擊并且防范旁路攻擊的電路;
5
圖4圖示了圖3的電路所使用的數(shù)據(jù)的示例;圖5圖示了根據(jù)本發(fā)明的另一實施例的用于檢測故障攻擊并且防范旁路攻擊的 電路;圖6圖示了圖5的電路所使用的數(shù)據(jù)的示例;圖7圖示了根據(jù)本發(fā)明的實施例的用于生成數(shù)據(jù)集合的方法中的步驟;以及圖8圖示了根據(jù)本發(fā)明的實施例的包括用于檢測故障攻擊的電路的電子設(shè)備。
具體實施例方式為求清楚,只有那些對理解本發(fā)明有用的步驟和元件在圖中示出并且在下面詳細(xì) 描述。特別地,未詳細(xì)描述用于在檢測到一個或者多個故障注入時將集成電路重置或使其 不工作的電路,本發(fā)明適用于任何這樣的電路。另外,未詳細(xì)描述受保護(hù)的集成電路的主要 功能,本發(fā)明可與實現(xiàn)任何敏感功能(比如加密或者解密、或者涉及到敏感數(shù)據(jù)的其它功 能)的集成電路兼容。圖1圖示了包括函數(shù)單元(FUNCTION,函數(shù))102的電路100,該函數(shù)單元102例如 實施涉及諸如加密密鑰等敏感數(shù)據(jù)的算法。在本示例中,該單元102通過輸入線104接收 密鑰K。通過線路106向掩蔽塊(BLINDING,掩蔽)108提供一組數(shù)據(jù)值D1至DN,該掩蔽塊 108基于通過輸入線110向掩蔽塊108提供的掩蔽值R對這些數(shù)據(jù)值應(yīng)用掩蔽算法。掩蔽 值R例如是偽隨機(jī)值。然后通過線路112向函數(shù)單元102提供被掩蔽的數(shù)據(jù)值D/至D/。 函數(shù)單元102實施使用被掩蔽的數(shù)據(jù)值D/至D/的算法并且輸出結(jié)果C,該結(jié)果C可以是 加密的或解密的數(shù)據(jù)塊或者其它值。在由函數(shù)單元102進(jìn)行使用時,被掩蔽的數(shù)據(jù)值D/至D/例如存儲于寄存器(圖 1中未示出)中。在由函數(shù)塊102執(zhí)行算法期間的各個階段和/或在這一執(zhí)行結(jié)束時,通 過線路114向簽名塊(SIG) 116輸出被掩蔽的數(shù)據(jù)值D/至D/。通過線路118還向簽名塊 116提供原數(shù)據(jù)值D1至0,。簽名塊116基于原數(shù)據(jù)值D1至Dn生成簽名S1并基于被掩蔽的數(shù)據(jù)值D/至D/ 生成簽名S2。然后比較器(COMP) 120比較簽名S1與S2,該比較器120通過輸出線122提供 表明簽名是否匹配的輸出。塊108所采用的掩蔽算法例如是XOR函數(shù),在掩蔽值R與所述數(shù)據(jù)值D1至Dn中的 每一個之間采用。然而,問題在于選擇待應(yīng)用于這兩組數(shù)據(jù)值的簽名函數(shù)以在不存在故障 攻擊時得到相同的結(jié)果。例如,圖2圖示了這一問題的示例。圖2在第一行200中針對N等于9的情況圖示了數(shù)據(jù)值D1至Dn的示例,并且值D1 至D9分別等于12、1、0、128、245、0、1、2和8。假設(shè)用于確定簽名的函數(shù)是將所有數(shù)據(jù)值相 加,則D1至D9的簽名等于397。圖2中的第二行202圖示了在這一示例中通過在數(shù)據(jù)值D1 至隊中的每一個與值01之間應(yīng)用XOR運算而獲得的被掩蔽的數(shù)據(jù)值D/至隊’。因此,值 D1'至V分別等于13、2、1、129、244、1、0、3和9。然而,假設(shè)無故障,數(shù)據(jù)值D/至D9,之和 等于402,因而簽名S2等于402。因此,盡管無故障,但是簽名方案由于簽名S1和S2的不匹 配而無效。圖3圖示了用于檢測故障攻擊和用于防范旁路攻擊的電路300。電路300包括多個與圖1的電路相同的元件,并且不再詳細(xì)描述這些元件。特別地,這一電路包括函數(shù)單元 102、掩蔽塊108、簽名塊116和比較器120。電路300還包括預(yù)掩蔽塊(PRE-BLINDING,預(yù)掩蔽)302,該預(yù)掩蔽塊302通過輸入 線304接收數(shù)據(jù)值D1至Dn并通過輸入線306接收多個掩蔽值R1至&。預(yù)掩蔽塊302生成 數(shù)據(jù)值D1至Dm的數(shù)據(jù)集合。該集合D1至Dm包括數(shù)據(jù)值D1至Dn,以及一個附加數(shù)據(jù)值Dm或 者多個附加數(shù)據(jù)值Dn+1至Dm。數(shù)據(jù)值D1至Dm通過線路308提供給掩蔽塊108且通過線路 310提供給簽名塊116。生成集合D1至Dm,使得由塊108來應(yīng)用XOR掩蔽函數(shù)時,結(jié)果是數(shù)據(jù)值D1至Dm進(jìn) 行排列而不引入新值,因此簽名塊116能夠使用任何交換函數(shù)來生成有效簽名。這例如按 照下文中參照圖4更詳細(xì)描述的那樣來實現(xiàn)。圖4圖示了包含數(shù)據(jù)集合D1至Dm的數(shù)據(jù)值的示例的表。該表的第一行示出數(shù)據(jù) 值01至01<,這些數(shù)據(jù)值在這一情況下包括分別等于十進(jìn)制值12、1、0、128、245、0、1、2和8的 等效二進(jìn)制值的九個值D1至隊。這些數(shù)據(jù)值稱為組A。在這一示例中,假設(shè)掩蔽值R1至& 包括兩個分別等于十進(jìn)制值01和02的等效二進(jìn)制值的值R1和R2。預(yù)掩蔽塊302生成新的一組數(shù)據(jù)值“A+1” (符號“ + ”在這里表示函數(shù)X0R),其等 于數(shù)據(jù)組A的每一個值與第一掩蔽值01的X0R。這在圖4中的表的第二行中示出,并且這 些值等于13、0、1、129、244、1、0、3和9。預(yù)掩蔽塊還生成新的一組數(shù)據(jù)值“A+2”,其等于數(shù) 據(jù)組A的每一個值與第二掩蔽值02的X0R。這在圖4中的表的第三行中示出,并且這些值 為 14、3、2、130、247、2、3、0 和 10。在圖4的示例中,還生成另一組數(shù)據(jù)值“ (A+l)+2”。這等效于“A+3”并且等于數(shù)據(jù) 組A的每一個值與值03的X0R。在圖4的第四行中示出的值為15、2、3、131、246、3、2、1和 11。該組并非總是會生成,因為在一些實施例中僅生成與各掩蔽值R1至&對應(yīng)的數(shù)據(jù)值集
I=I O例如,還生成與掩蔽值R1至&中的兩個掩蔽值的每一可能組合對應(yīng)的行,除非該 組合等效于已經(jīng)存在的行的掩蔽值。在圖4的示例中,(A+l)+2 =A+3不與先前生成的任 一行等效。然而,如果還使用附加掩蔽值R2 = 03,則因為(A+l)+3等效于A+2、(A+l)+2等 效于A+3,而(A+2) +3等效于A+1,所以僅生成行A+1、A+2和A+3。圖4的表因此表示分別通過線路308和310向掩蔽塊108和簽名塊116提供的值 01至0 。當(dāng)對該表應(yīng)用掩蔽時,結(jié)果僅為對行進(jìn)行排列而不添加任何新值。特別地,如果例 如從值R1和R2中偽隨機(jī)選擇的掩蔽值R等于01,則第一行會變成A+1,而第二行變成等于A 的(A+l)+l。類似地,第三行變成等于A+3的(A+2)+l,而第四行變成等于A+2的(A+3)+l。函數(shù)單元102使用數(shù)據(jù)值D1至Dn的被掩蔽的版本。在圖4的示例中,取決于掩蔽 值是01還是02,這些被掩蔽的值是第二行或者第三行的被掩蔽的值。圖5圖示了用于檢測故障攻擊和用于防范旁路攻擊的電路500。電路500包括多個與圖1的電路相同的元件,并且不再詳細(xì)描述這些元件。相對 于圖1的實施例,圖5的實施例還包括用于向附加預(yù)簽名塊504提供數(shù)據(jù)值D1至Dn的線路 502,以及位于函數(shù)單元102與簽名塊116之間用于在簽名生成之前處理被掩蔽的數(shù)據(jù)值的 附加預(yù)簽名塊506。現(xiàn)在參照圖6描述圖5的電路的操作。圖6圖示了在應(yīng)用于圖5的電路時與圖4相同的數(shù)值示例。預(yù)簽名塊504生成與圖4中生成的表相同的值D1至Dm的表(不再圖示),這不再詳細(xì)描述。另一方面,預(yù)簽名 塊506基于被掩蔽的值D1 ’至Dn’生成新的表。該表的行以與圖4的表相同的方式生成,即 通過系統(tǒng)地應(yīng)用各個掩蔽值來生成。在圖6的示例中,假設(shè)通過線路110接收的掩蔽值為 02,因此值D1'至Dn’對應(yīng)于所述值D1至Dn中的每一個與值02的X0R。因此,圖6的表中 被標(biāo)記為A’的第一行等于A+2,其與圖4中的表的第三行相同。圖6中的表的第二行等于 與A+3(即圖4的表的第四行)等效的A’ +1。圖6的表的第三行等于與A(即圖4的表的 第一行)等效的A’+2。最后,圖6的表的第四行等于與A+1(即圖4中的表的第二行)等 效的(A,+1)+2。因此,已經(jīng)指出,圖6的表的值為圖4的表的值的排列,因此簽名塊116可以通過 對兩個數(shù)據(jù)值集合應(yīng)用交換簽名算法來有效地檢測故障。與圖3的實施例相比時,圖5的實施例的一個優(yōu)點在于它使得多故障攻擊的使用 更加困難。特別地,盡管以圖3為目標(biāo)的多故障攻擊可能攻擊預(yù)掩蔽塊302和函數(shù)塊102, 但是在圖5中,這樣的攻擊除了將函數(shù)塊102作為目標(biāo)之外還必須將預(yù)簽名塊504和506 二者作為目標(biāo)。圖3或者圖5的塊116所采用的簽名為交換函數(shù),使得數(shù)據(jù)值的順序不會影響結(jié) 果。這樣的函數(shù)的示例為在各個值D/至Dm’之間應(yīng)用的XOR函數(shù)、或者所有值D/至Dm’ 之和、或者所有值D1 ’至Dm’之積??商孢x地,可以使用這些函數(shù)中的一個或者多個函數(shù)的 組合或者變型。可以通過去除重復(fù)的值來減少集合D1至Dm中存在的其它值Dn+1至Dm的數(shù)量。例 如,在圖4的示例中,可以去除第二行中的值“0”和“1”而完全不會降低簽名比較的有效性。 現(xiàn)在參照圖7的流程圖描述用于確定哪些數(shù)據(jù)值可以被添加到集合D1至Dm中的初始值D1 至0,的技術(shù)的示例。圖7示出一種用于生成數(shù)據(jù)值DN+1至Dm的方法。在該示例中,Dn表示組D1至Dn 中的第η個值,而Rp表示值R1至Rp的集合的第ρ個值,該集合中前L個值R1至&是從中 選出R的掩蔽值集合,而值Rm至Rp是附加組合,其等于以下XOR計算的結(jié)果氓+Ra+D, W2),· · · R1+Rp, R2+R(l+1), R2+R(l+2), · · · R2+Rp,· · · Ra-D+RlO 可以去除集合 R1 至 Rp 中的任 何重復(fù)值,使得每個值僅出現(xiàn)一次,由此允許減少處理時間。字母S用來表示值D1至Dm的 集合,該集合起初僅包括值D1至Dn。在該方法的第一步驟Sl中,將變量η和ρ均設(shè)置為等于1。接著,在步驟S2中,將變量Q設(shè)置為等于Dn XOR Rp。起初,這將等于D1與第一掩 蔽值R1的XOR。在下一步驟S3中,確定Q是否為集合S的元素,即,該值是否存在于值D1至Dn之 中。若否,則下一步驟為S4,在步驟為S4中,將Q添加到集合S中,并且將標(biāo)簽與值Q關(guān)聯(lián) 從而表明該值不可用。該標(biāo)簽可以例如是存儲器中與該值關(guān)聯(lián)的標(biāo)記或者表明該值不可用 的任何其它手段。如果在步驟S3中確定Q為S的元素,則在步驟S5中檢驗S中的該數(shù)據(jù)值是否可 用。換而言之,檢驗該值是否已被標(biāo)記為不可用。如果該值不可用,則下一步驟為步驟S4, 如上文所述,在步驟S4中,將Q添加到集合S中并且被標(biāo)記為不可用。然而,如果在步驟S5 中確定S中的該數(shù)據(jù)值尚未被標(biāo)記為不可用,則下一步驟為S6,在步驟S6中,不向集合S添加數(shù)據(jù)值Q,而是將S中的該值標(biāo)記為不可用。在步驟S4和S6之后,下一步驟為S7,在步驟S7中,確定ρ是否等于P。若否,則 在步驟S8中遞增p,并且該方法返回到步驟S2。然而,如果在步驟S7中確定ρ等于P,則下 一步驟為S9。在步驟S9中確定η是否等于N。若否,則在步驟SlO中遞增η,并且該方法返回到 步驟S2。然而,如果η等于N,則該過程結(jié)束。圖8圖示了電子設(shè)備800,該電子設(shè)備800包括微處理器802、存儲器塊804和向 微處理器802提供輸入值的輸入線806。微處理器802通過輸出線808提供輸出值。另外, 設(shè)置有故障檢測電路810,與微處理器的輸出耦合,該故障檢測電路810例如包括如本文所 述的預(yù)掩蔽塊302或者預(yù)簽名塊504和506、簽名塊116和比較器120。如果由于簽名之間 的不匹配而檢測到故障攻擊,則該電路810通過環(huán)回至微處理器802的輸出線812提供報 警信號。該報警信號例如觸發(fā)微處理器802重置和/或使計數(shù)器(圖8中未示出)遞增, 一旦達(dá)到某個計數(shù)值,該計數(shù)器使微處理器持久地停用。電子設(shè)備800例如是IC(集成電路)卡(比如智能卡)、IC讀卡器(比如信用卡 支付終端)、或者機(jī)頂盒、用于PC或者膝上型計算機(jī)的硬盤驅(qū)動、PC或者膝上型計算機(jī)、自 動售貨機(jī)或者其他處理敏感信息的設(shè)備。這里描述的實施例的一個優(yōu)點在于通過生成如這里描述的數(shù)據(jù)值0工至0 的集合 用于生成簽名,使用XOR運算來掩蔽這些值的結(jié)果將獲得這些值的排列。這造成可以廣泛 選擇用來產(chǎn)生用于檢測故障攻擊的可比較的簽名的簽名算法。盡管已經(jīng)描述了本發(fā)明的多個具體實施例,但是本領(lǐng)域技術(shù)人員清楚可以應(yīng)用許 多變型和改變。例如,本領(lǐng)域技術(shù)人員清楚這里描述的實施例可以應(yīng)用于其中使用簽名變化來檢 測故障的各種電路。另外,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)清楚,盡管已經(jīng)描述了一些實施例,其中放大的集合 D1'... DM’包括許多附加值DN+1 ’至DM’,但是在一些情況下僅提供一個或者少數(shù)幾個附加值。另外,可以用軟件、硬件或者其組合來實現(xiàn)這里描述的實施例。此外,可以在替選 實施例中以任何組合來組合關(guān)于各個實施例描述的特征。
權(quán)利要求
1.一種檢測故障攻擊的方法,包括提供多個掩蔽值(R1至Rl);生成第一數(shù)據(jù)元素集合(D1... Dm),所述第一數(shù)據(jù)元素集合包括第一組數(shù)據(jù)元素(D1至 Dn)和至少一個附加數(shù)據(jù)元素,所述至少一個附加數(shù)據(jù)元素通過在所述第一組數(shù)據(jù)元素中 的至少一個數(shù)據(jù)元素與所述掩蔽值中的至少一個掩蔽值之間進(jìn)行異或而生成;生成與在所述第一數(shù)據(jù)元素集合的每一個數(shù)據(jù)元素與所述多個掩蔽值中的所選掩蔽 值(R)之間的異或?qū)?yīng)的第二數(shù)據(jù)元素集合(D/ ... Dm');通過在所述第一數(shù)據(jù)元素集合的各數(shù)據(jù)元素之間進(jìn)行交換運算來生成第一簽名(S1);通過在所述第二數(shù)據(jù)元素集合的各數(shù)據(jù)元素之間進(jìn)行所述交換運算來生成第二簽名 (S2);以及比較所述第一簽名與第二簽名以檢測故障攻擊。
2.根據(jù)權(quán)利要求1所述的方法,其中,生成所述至少一個附加數(shù)據(jù)元素包括通過在所 述第一組數(shù)據(jù)元素(A’ )的每一個數(shù)據(jù)元素與所述多個掩蔽值中的每一個掩蔽值之間進(jìn)行 異或來生成附加的多組數(shù)據(jù)元素;并且選擇至少一個附加組的至少一個數(shù)據(jù)值以形成所述 至少一個附加數(shù)據(jù)元素。
3.根據(jù)權(quán)利要求2所述的方法,其中,生成所述附加的至少一組數(shù)據(jù)元素還包括在所 述第一組數(shù)據(jù)元素的每一個數(shù)據(jù)元素與所述掩蔽值中的兩個掩蔽值的每個組合之間進(jìn)行 異或。
4.根據(jù)權(quán)利要求1所述的方法,其中,通過在所述第一數(shù)據(jù)元素集合的每個數(shù)據(jù)元素 與所述多個掩蔽值中的所選掩蔽值(R)之間進(jìn)行異或來掩蔽所述第一數(shù)據(jù)元素集合的每 個數(shù)據(jù)元素,從而生成所述第二數(shù)據(jù)元素集合(D/ ... DM’)。
5.根據(jù)權(quán)利要求1所述的方法,其中,通過在所述第一組的每個數(shù)據(jù)元素與所述多個 掩蔽值中的所選掩蔽值(R)之間進(jìn)行異或來掩蔽所述第一組數(shù)據(jù)元素(D1... Dn)以生成 被掩蔽的數(shù)據(jù)元素組(D/ ... D/ ),并且在所述被掩蔽的數(shù)據(jù)元素組的至少一個數(shù)據(jù)元素 與所述掩蔽值中的所述至少一個掩蔽值之間進(jìn)行異或,從而生成所述第二數(shù)據(jù)元素集合(Di · · · Dm ) ο
6.根據(jù)權(quán)利要求1所述的方法,其中,對于每一被掩蔽的組中的每一個數(shù)據(jù)值,選擇所 述至少一個附加數(shù)據(jù)元素包括確定所述數(shù)據(jù)值是否已經(jīng)存在于所述第二數(shù)據(jù)元素集合中;以及如果所述數(shù)據(jù)值未存在于所述第二數(shù)據(jù)元素集合中,則將所述數(shù)據(jù)值添加到所述第二 數(shù)據(jù)元素集合中。
7.根據(jù)權(quán)利要求6所述的方法,其中,選擇所述至少一個附加數(shù)據(jù)元素還包括將添加到所述第二數(shù)據(jù)元素集合中的各數(shù)據(jù)值標(biāo)記為不可用;以及如果所述數(shù)據(jù)值已經(jīng)存在于所述第二數(shù)據(jù)元素集合中,則確定所述數(shù)據(jù)值是否被標(biāo)記 為不可用,若否,則將所述數(shù)據(jù)值標(biāo)記為不可用,而若是,則將所述數(shù)據(jù)值添加到所述第二 數(shù)據(jù)元素集合中。
8.根據(jù)權(quán)利要求1所述的方法,其中,生成所述第一簽名和第二簽名包括在對應(yīng)的數(shù) 據(jù)元素集合的各數(shù)據(jù)元素之間進(jìn)行異或。
9.根據(jù)權(quán)利要求1所述的方法,其中,生成所述第一簽名和第二簽名包括將對應(yīng)的數(shù)據(jù)元素集合的各數(shù)據(jù)元素全部相加。
10.根據(jù)權(quán)利要求1所述的方法,其中,生成所述第一簽名和第二簽名包括將對應(yīng)的數(shù) 據(jù)元素集合的各數(shù)據(jù)元素全部相乘。
11.一種用于檢測故障攻擊的電路,包括存儲器,存儲多個掩蔽值汛至10 ;計算塊(302,108,10 ,被布置成生成第一數(shù)據(jù)元素集合(D1. . . Dm),所述第一數(shù)據(jù)元 素集合包括第一組數(shù)據(jù)元素(01至0,)和至少一個附加數(shù)據(jù)元素,所述至少一個附加數(shù)據(jù)元 素通過在所述第一組中的至少一個數(shù)據(jù)元素與所述掩蔽值中的至少一個掩蔽值之間進(jìn)行 異或而生成;并且生成與在所述第一數(shù)據(jù)元素集合的每一個數(shù)據(jù)元素與所述多個掩蔽值中 的所選掩蔽值(R)之間的異或?qū)?yīng)的第二數(shù)據(jù)元素集合(D/ . . . Dm');簽名塊(116),被布置成通過在所述第一數(shù)據(jù)元素集合的各數(shù)據(jù)元素之間進(jìn)行交換運 算來生成第一簽名(S1)并且通過在所述第二數(shù)據(jù)元素集合的各數(shù)據(jù)元素之間進(jìn)行所述交 換運算來生成第二簽名(S2);以及比較器(120),被布置成比較所述第一簽名與第二簽名以檢測故障攻擊。
12.根據(jù)權(quán)利要求11所述的電路,還包括函數(shù)單元(102),被布置成基于所述第一數(shù) 據(jù)元素集合的至少一個數(shù)據(jù)元素來進(jìn)行運算,其中,所述函數(shù)單元被布置成基于密鑰(K) 進(jìn)行加密或者解密運算。
13.一種集成電路,包括根據(jù)權(quán)利要求11所述的電路。
14.一種集成電路卡,包括根據(jù)權(quán)利要求13所述的集成電路。
15.一種集成電路讀卡器,包括根據(jù)權(quán)利要求13所述的集成電路。
全文摘要
本發(fā)明涉及一種檢測故障攻擊的方法,該方法包括提供多個掩蔽值(R1至RL);生成第一數(shù)據(jù)元素集合(D1...DM),該第一數(shù)據(jù)元素集合包括第一組數(shù)據(jù)元素(D1...DN)和通過在第一組中的至少一個數(shù)據(jù)元素與所述掩蔽值中的至少一個掩蔽值之間進(jìn)行異或而生成的至少一個附加數(shù)據(jù)元素;生成與在第一數(shù)據(jù)元素集合的每一個數(shù)據(jù)元素與所述多個掩蔽值中的所選掩蔽值之間的異或?qū)?yīng)的第二數(shù)據(jù)元素集合(D1’...DM’);通過在第一數(shù)據(jù)元素集合的各數(shù)據(jù)元素之間進(jìn)行交換運算來生成第一簽名(S1);通過在第二數(shù)據(jù)元素集合的各數(shù)據(jù)元素之間進(jìn)行所述交換運算來生成第二簽名;以及比較第一簽名與第二簽名以檢測故障攻擊。
文檔編號G06K19/07GK102063586SQ20101055288
公開日2011年5月18日 申請日期2010年11月17日 優(yōu)先權(quán)日2009年11月18日
發(fā)明者雅尼克·特戈利亞 申請人:意法半導(dǎo)體(魯塞)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1