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

功率簽名擾亂的制作方法

文檔序號(hào):6364444閱讀:129來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):功率簽名擾亂的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理裝置,設(shè)法使該數(shù)據(jù)處理裝置的內(nèi)部操作相對(duì)外部觀察者而言被隱藏。具體地,本發(fā)明涉及將這樣的數(shù)據(jù)處理裝置布置為使得外部觀察者通過(guò)觀察數(shù)據(jù)處理裝置的功耗難以推斷出正執(zhí)行的數(shù)據(jù)處理操作。
背景技術(shù)
已經(jīng)知道,其中采取措施來(lái)使被執(zhí)行的數(shù)據(jù)處理操作相對(duì)外部觀察者而言被隱藏的數(shù)據(jù)處理裝置已被提供。例如,諸如智能卡中的數(shù)據(jù)處理裝置通常按照使得功率分析攻擊(SPA或DPA)較少可能成功的方式來(lái)配置。這樣的功率分析攻擊的目的是通過(guò)觀察數(shù)據(jù)處理裝置的功耗來(lái)推斷有關(guān)數(shù)據(jù)處理裝置正執(zhí)行的指令和/或數(shù)據(jù)處理裝置正處理的數(shù)據(jù)值的信息。已經(jīng)知道,這樣的當(dāng)前的功率分析攻擊可能是精明的,這涉及響應(yīng)于給定激勵(lì)而重復(fù)對(duì)數(shù)據(jù)處理裝置的觀察并且對(duì)結(jié)果執(zhí)行復(fù)雜的統(tǒng)計(jì)分析來(lái)試圖推斷出有關(guān)正被執(zhí)行的數(shù)據(jù)處理操作的信息。正被數(shù)據(jù)處理裝置處理的數(shù)據(jù)值通常是最受關(guān)注的信息,因?yàn)椤み@些可能涉及以其他方式被加密的敏感信息,例如,存儲(chǔ)在智能卡上的個(gè)人或金融信息。防御功率分析攻擊的ー種方法是不管正被執(zhí)行的具體數(shù)據(jù)處理操作如何都設(shè)法確保數(shù)據(jù)處理裝置具有統(tǒng)ー的功耗。然而,在實(shí)踐中,實(shí)現(xiàn)此是非常困難的,因?yàn)楣膶⒁蕾?lài)于正被執(zhí)行的指令的類(lèi)型和正被處理的數(shù)據(jù)值。防御這樣的攻擊的一種替代方法是將數(shù)據(jù)處理裝置布置為使得其功耗在每次同樣的數(shù)據(jù)處理操作(即,對(duì)于同樣的指令和同樣的數(shù)據(jù)值)被執(zhí)行時(shí)都不同。在這樣的數(shù)據(jù)處理裝置的實(shí)現(xiàn)中已知多種按照此種方式改變功耗的技術(shù),然而,(從構(gòu)造方面來(lái)看)這些技術(shù)通常被強(qiáng)迫處于相對(duì)較高的水平,例如,被編程作為數(shù)據(jù)處理裝置正執(zhí)行的算法的部分。這意味著設(shè)置這樣的設(shè)備的技術(shù)人員必須意識(shí)到實(shí)現(xiàn)此數(shù)據(jù)處理裝置所涉及的易受功率分析攻擊的每方面。因此,希望提供ー種數(shù)據(jù)處理裝置,其中對(duì)功率分析攻擊的抵抗是其構(gòu)造的固有特征,從而使得其對(duì)這樣的攻擊的抵抗更可靠。

發(fā)明內(nèi)容
從第一方面來(lái)看,本發(fā)明提供了ー種數(shù)據(jù)處理裝置,該數(shù)據(jù)處理裝置被配置為響應(yīng)于數(shù)據(jù)處理指令來(lái)對(duì)至少ー個(gè)數(shù)據(jù)值執(zhí)行數(shù)據(jù)處理操作,該數(shù)據(jù)處理裝置包括延遲單元,所述延遲単元位于所述數(shù)據(jù)處理裝置內(nèi)的一路徑上,所述延遲単元被配置為對(duì)所述路徑上的信號(hào)的傳送施加延遲,其中,所述路徑上的所述信號(hào)的傳送形成所述數(shù)據(jù)處理操作的部分,其中,所述數(shù)據(jù)處理裝置被配置為在預(yù)定時(shí)間點(diǎn)確定所述數(shù)據(jù)處理操作的結(jié)果,所述預(yù)定時(shí)間點(diǎn)比所述數(shù)據(jù)處理操作的開(kāi)始落后預(yù)定時(shí)間間隔,并且其中,所述延遲単元被配置為使得用于所述數(shù)據(jù)處理操作被執(zhí)行的時(shí)間加上所述延遲小于所述預(yù)定時(shí)間間隔,并且其中,所述延遲単元被配置為使得所述延遲針對(duì)響應(yīng)于所述數(shù)據(jù)處理指令對(duì)所述至少ー個(gè)數(shù)據(jù)值的所述數(shù)據(jù)處理操作的后續(xù)執(zhí)行而被改變。
根據(jù)本發(fā)明的技木,數(shù)據(jù)處理裝置內(nèi)的一路徑被設(shè)有延遲單元,延遲單元被配置用來(lái)延遲沿著該路徑傳送的信號(hào),此信號(hào)沿著該路徑的傳送形成響應(yīng)于數(shù)據(jù)處理指令對(duì)數(shù)據(jù)值的數(shù)據(jù)處理操作的部分。應(yīng)當(dāng)理解,這里的數(shù)據(jù)處理指令可被理解為形成(例如,以匯編語(yǔ)言所寫(xiě)的)程序指令序列的一部分的指令,但是也可等同地,例如表示(例如,硬連線(xiàn)加密引擎中的)狀態(tài)機(jī)提供的控制值集合。該數(shù)據(jù)處理裝置被配置為在預(yù)定時(shí)間點(diǎn) (例如,在下降時(shí)鐘沿處)確定數(shù)據(jù)處理操作的結(jié)果,所述預(yù)定時(shí)間點(diǎn)落后于數(shù)據(jù)處理操作的開(kāi)始達(dá)預(yù)定時(shí)間間隔(例如,數(shù)據(jù)處理操作通過(guò)上升時(shí)鐘沿開(kāi)始并且時(shí)間間隔是上升時(shí)鐘沿和接著的下降時(shí)鐘沿之間的時(shí)間段)。延遲單元被配置為對(duì)所述路徑施加延遲以使得用于數(shù)據(jù)處理操作被執(zhí)行的時(shí)間加上所述延遲小于此預(yù)定時(shí)間間隔。例如,在數(shù)據(jù)處理操作是兩個(gè)數(shù)據(jù)值的相加并且數(shù)據(jù)處理裝置內(nèi)的加法器被配置為在上升時(shí)鐘沿后開(kāi)始加法操作的情況中,數(shù)據(jù)處理裝置被配置為將結(jié)果值確定為在隨后的下降時(shí)鐘沿時(shí)在加法器輸出處呈現(xiàn)的值。在此示例的情形中,延遲單元被配置為對(duì)所述路徑施加延遲,使得執(zhí)行加法操作所需的時(shí)間和強(qiáng)迫的延遲的組合不超過(guò)時(shí)鐘沿之間的間隔,并且因此,加法器的輸出不受延遲的引入的影響。延遲單元還被配置為使得當(dāng)同樣的數(shù)據(jù)處理操作再次被執(zhí)行(即通過(guò)同樣的數(shù)據(jù)處理指令發(fā)起并且對(duì)同樣的數(shù)據(jù)值進(jìn)行操作)時(shí),延遲被改變。在當(dāng)數(shù)據(jù)處理裝置執(zhí)行數(shù)據(jù)處理操作時(shí)的預(yù)定時(shí)間間隔期間,數(shù)據(jù)處理裝置的功耗通常將會(huì)受到被執(zhí)行的具體數(shù)據(jù)處理操作和被執(zhí)行該操作的(ー個(gè)或多個(gè))數(shù)據(jù)值二者的影響。功率分析攻擊依賴(lài)于此事實(shí)并且可以通過(guò)收集基于重復(fù)觀察的統(tǒng)計(jì)數(shù)據(jù)來(lái)推斷出有關(guān)操作和/或數(shù)據(jù)值的信息。然而,根據(jù)本發(fā)明的技術(shù),對(duì)數(shù)據(jù)處理操作中使用的路徑之一施加延遲將使得與數(shù)據(jù)處理操作相關(guān)聯(lián)的功耗發(fā)生改變。這是因?yàn)閿?shù)據(jù)處理操作是通過(guò)數(shù)據(jù)處理裝置內(nèi)用于指定要被執(zhí)行的操作和要經(jīng)受該數(shù)據(jù)處理操作的(ー個(gè)或多個(gè))數(shù)據(jù)值的特定信號(hào)集來(lái)配置的。如果承載這些信號(hào)之一的路徑被施加延遲,則當(dāng)延遲過(guò)去并且被延遲的信號(hào)到達(dá)其目的地時(shí),數(shù)據(jù)處理裝置的內(nèi)部狀態(tài)將發(fā)生改變。數(shù)據(jù)處理裝置的內(nèi)部狀態(tài)的改變將通過(guò)其功耗的改變來(lái)反映,并且因此,延遲的引入將影響功耗的時(shí)間變化特性(time profile)。此外,根據(jù)本發(fā)明的數(shù)據(jù)處理裝置被配置為使得延遲單元針對(duì)隨后的同樣數(shù)據(jù)處理操作的執(zhí)行施加不同延遲,因此數(shù)據(jù)處理操作的初次執(zhí)行的功耗特性將不同于該數(shù)據(jù)處理操作的后續(xù)執(zhí)行的功耗。因此,即使對(duì)系統(tǒng)的輸入激勵(lì)保持相同,數(shù)據(jù)處理裝置的內(nèi)部配置使得數(shù)據(jù)處理操作的每一次執(zhí)行的功耗將不同,從而使得功率分析攻擊更加困難。因此,根據(jù)本發(fā)明的技木,針對(duì)給定數(shù)據(jù)處理操作的各次執(zhí)行而不同的延遲被施加到數(shù)據(jù)處理裝置的特定路徑上,對(duì)此延遲的長(zhǎng)度的約束為數(shù)據(jù)處理操作花費(fèi)的時(shí)間和此延遲的和應(yīng)小于預(yù)定時(shí)間間隔,從而使得當(dāng)數(shù)據(jù)處理操作的結(jié)果被確定時(shí),該結(jié)果不受施加到路徑上的延遲的影響。預(yù)定時(shí)間點(diǎn)和預(yù)定時(shí)間間隔的特性可依賴(lài)于數(shù)據(jù)處理裝置的類(lèi)型而不同。在一個(gè)實(shí)施例中,所述數(shù)據(jù)處理裝置被配置為同步地操作并且所述預(yù)定時(shí)間間隔為時(shí)鐘間隔。因此,在這樣的同步設(shè)備中,在時(shí)鐘沿形成了每個(gè)時(shí)鐘周期的同步點(diǎn)的情況下,數(shù)據(jù)處理裝置例如可被配置為跟著一個(gè)時(shí)鐘沿來(lái)開(kāi)始數(shù)據(jù)處理操作并且在接著的時(shí)鐘沿發(fā)生時(shí)確定數(shù)據(jù)處理操作的結(jié)果。一般地,一種類(lèi)型的時(shí)鐘沿(例如,上升沿)被選擇使用。在此情形中,施加到路徑上的延遲(其中,信號(hào)在該路徑上的傳送形成數(shù)據(jù)處理操作的部分)被約束為使得用于數(shù)據(jù)處理操作被執(zhí)行的時(shí)間加上此延遲小于所選時(shí)鐘沿之間的間隔,從而盡管在此時(shí)鐘間隔期間引入了延遲,在下降時(shí)鐘沿確定的結(jié)果值仍不會(huì)受到延遲引入的影響。替代地,在另ー實(shí)施例中,數(shù)據(jù)處理裝置被配置為異步地操作并且所述預(yù)定時(shí)間間隔為握手事件之間的間隔。在本示例中應(yīng)用了同樣的一般原理,即,路徑上延遲的引入引起數(shù)據(jù)處理裝置內(nèi)的另外的狀態(tài)改變(或者至少狀態(tài)改變發(fā)生時(shí)間的變化),從而改變與數(shù)據(jù)處理操作的執(zhí)行相關(guān)聯(lián)的功耗時(shí)間變化特性。盡管異步地操作,這樣的數(shù)據(jù)處理裝置仍必需很好地定義握手事件,在握手事件處,裝置的異步部件重新調(diào)整自身并且結(jié)果值可被可靠確定。根據(jù)本發(fā)明的技術(shù),強(qiáng)制的延遲被約束為使得盡管在握手事件之間的間隔期間引入了額外延遲,但是在隨后的握手事件處確定的結(jié)果值不受影響。除了上面描述的對(duì)延遲的長(zhǎng)度的約束以外,可以多種方式來(lái)確定施加到任何給定迭代的具體延遲。在一個(gè)實(shí)施例中,所述延遲的長(zhǎng)度參考隨機(jī)控制源來(lái)確定。因此,延遲的長(zhǎng)度可被隨機(jī)化,這有助于進(jìn)ー步擾亂與特定數(shù)據(jù)處理操作相關(guān)聯(lián)的功耗。隨機(jī)控制源當(dāng)然可以提供在數(shù)據(jù)處理裝置內(nèi),或者等同地,此隨機(jī)信息源可處于數(shù)據(jù)處理裝置的外部。 在另ー實(shí)施例中,所述延遲的長(zhǎng)度通過(guò)確定性算法來(lái)確定。例如,可提供這樣ー種算法,該算法按照復(fù)雜但仍是確定性的方式使得延遲逐迭代地改變,雖然如此,這足以進(jìn)ー步擾亂與數(shù)據(jù)處理操作相關(guān)聯(lián)的功耗。雖然可以?xún)H在數(shù)據(jù)處理裝置內(nèi)的一個(gè)路徑上設(shè)有ー個(gè)延遲単元,但是在一些實(shí)施例中,所述數(shù)據(jù)處理裝置包括至少ー個(gè)另外的延遲單元,這些至少ー個(gè)另外的延遲單元位于所述數(shù)據(jù)處理裝置內(nèi)的至少ー個(gè)另外的路徑上,這些至少ー個(gè)另外的延遲單元被配置為向所述至少ー個(gè)另外的路徑上的另外的信號(hào)的傳送施加另外的延遲,其中,所述至少ー個(gè)另外的路徑上的所述另外的信號(hào)的傳送形成所述數(shù)據(jù)處理操作的部分,并且其中,所述至少ー個(gè)另外的延遲單元被配置為使得所述數(shù)據(jù)處理操作被執(zhí)行的所述時(shí)間加上所述另外的延遲小于所述預(yù)定時(shí)間間隔,并且其中,所述至少ー個(gè)另外的延遲單元被配置為使得所述另外的延遲針對(duì)隨后所述數(shù)據(jù)處理操作的執(zhí)行而改變。因此,數(shù)據(jù)處理裝置內(nèi)的另外的路徑可設(shè)有延遲單元,每個(gè)延遲單元被配置為按照上面描述的方式操作。這些另外的延遲單元的提供意味著在所述預(yù)定時(shí)間間隔內(nèi)在數(shù)據(jù)處理裝置內(nèi)可發(fā)生另外的狀態(tài)改變,從而進(jìn)ー步擾亂數(shù)據(jù)處理裝置的與數(shù)據(jù)處理操作的執(zhí)行相關(guān)聯(lián)的基于時(shí)間的功耗變化特性。將會(huì)認(rèn)識(shí)到,越多的這樣的延遲單元被提供,則數(shù)據(jù)處理操作的功耗特性將改變?cè)蕉?。此外,在每個(gè)這樣的延遲單元被配置為使得延遲針對(duì)隨后的數(shù)據(jù)處理操作的執(zhí)行改變的情況下,將變得越難基于功耗簽名(power signature)來(lái)識(shí)別特定數(shù)據(jù)處理操作。此外,雖然這樣的實(shí)施例的多個(gè)延遲單元可被配置為在每次迭代時(shí)施加同樣的延遲,但是在一個(gè)實(shí)施例中,所述延遲単元和所述至少ー個(gè)另外的延遲單元被配置為使得所述延遲和所述另外的延遲彼此不同。因此,這些延遲單元中的ー些或者甚至全部可具有不同的延遲,這進(jìn)一步針對(duì)數(shù)據(jù)處理操作的毎次迭代增添了功率簽名的改變。所述路徑可采取多種形式。在一個(gè)實(shí)施例中,所述路徑是數(shù)據(jù)路徑,并且所述信號(hào)表示所述至少一個(gè)數(shù)據(jù)值的至少ー個(gè)數(shù)據(jù)比持。因此,如果所述至少ー個(gè)數(shù)據(jù)值的所述至少ー個(gè)數(shù)據(jù)比特改變(例如,當(dāng)新的輸入數(shù)據(jù)被讀入執(zhí)行單元時(shí)),此數(shù)據(jù)路徑上的延遲引入將使得該輸入值改變兩次,并且數(shù)據(jù)處理裝置的功耗也相關(guān)聯(lián)地被改變。將會(huì)認(rèn)識(shí)到,延遲可以施加到若干數(shù)據(jù)比特,在一個(gè)實(shí)施例中,所述至少一個(gè)數(shù)據(jù)值包括多個(gè)數(shù)據(jù)比特并且所述信號(hào)表示所述多個(gè)數(shù)據(jù)比特。替代地,延遲可以施加到僅僅一個(gè)數(shù)據(jù)比特,在一個(gè)實(shí)施例中,所述至少一個(gè)數(shù)據(jù)值包括多個(gè)數(shù)據(jù)比特并且所述信號(hào)表示所述多個(gè)數(shù)據(jù)比特中的一個(gè)數(shù)據(jù)比特。在其他實(shí)施例中,所述路徑是控制路徑,并且所述信號(hào)表示被布置用來(lái)將所述數(shù)據(jù)處理裝置配置為對(duì)所述至少一個(gè)數(shù)據(jù)值執(zhí)行所述數(shù)據(jù)處理操作的控制值。因此,對(duì)這樣的控制路徑施加延遲將在所述預(yù)定時(shí)間間隔期間引起數(shù)據(jù)處理裝置的配置信號(hào)的改變,從而引起對(duì)功耗的改變。通過(guò)控制值來(lái)配置數(shù)據(jù)處理裝置可以多種方式實(shí)現(xiàn),但在一個(gè)實(shí)施例中,所述控制值將執(zhí)行單元配置為執(zhí)行所述數(shù)據(jù)處理操作,例如,執(zhí)行單元可被配置為執(zhí)行大量已知的數(shù)據(jù)處理操作(加法、乘法、移位,等等),特定操作通過(guò)一個(gè)或多個(gè)這樣的控制值來(lái)確 定。替代地,控制值可確定用于數(shù)據(jù)處理操作的數(shù)據(jù)值,并且在一個(gè)實(shí)施例中,所述至少一個(gè)數(shù)據(jù)值是根據(jù)所述控制值而從數(shù)據(jù)存儲(chǔ)庫(kù)提取出的。例如,控制值可形成在數(shù)據(jù)存儲(chǔ)庫(kù)中尋址的部分。在一個(gè)實(shí)施例中,此數(shù)據(jù)存儲(chǔ)庫(kù)為寄存器組。在另一替代中,所述路徑是時(shí)鐘路徑,并且所述信號(hào)表示時(shí)鐘信號(hào),其中,所述數(shù)據(jù)處理裝置被配置為參考所述時(shí)鐘信號(hào)來(lái)執(zhí)行所述數(shù)據(jù)處理操作。將會(huì)認(rèn)識(shí)到,數(shù)據(jù)處理裝置的子部件的配合將依賴(lài)于時(shí)鐘信號(hào),并且因此,通過(guò)向這些子部件之一中的路徑施加延遲,裝置的內(nèi)部協(xié)調(diào)將會(huì)被影響,此外還改變其功耗簽名。在一些實(shí)施例中,系統(tǒng)寄存器可被提供以允許對(duì)延遲的可編程配置,并且在一個(gè)實(shí)施例中,所述延遲是參考系統(tǒng)寄存器中所存儲(chǔ)的值來(lái)確定的。在一個(gè)實(shí)施例中,系統(tǒng)寄存器中所存儲(chǔ)的所述值由另外的數(shù)據(jù)處理指令來(lái)設(shè)定。從第二方面來(lái)看,本發(fā)明提供了一種數(shù)據(jù)處理裝置,該數(shù)據(jù)處理裝置被配置為響應(yīng)于數(shù)據(jù)處理指令來(lái)對(duì)至少一個(gè)數(shù)據(jù)值執(zhí)行數(shù)據(jù)處理操作,該數(shù)據(jù)處理裝置包括延遲裝置,所述延遲裝置位于所述數(shù)據(jù)處理裝置內(nèi)的一路徑上,所述延遲裝置用于對(duì)所述路徑上的信號(hào)的傳送施加延遲,其中,所述路徑上的所述信號(hào)的傳送形成所述數(shù)據(jù)處理操作的部分,其中,所述數(shù)據(jù)處理裝置被配置為在預(yù)定時(shí)間點(diǎn)確定所述數(shù)據(jù)處理操作的結(jié)果,所述預(yù)定時(shí)間點(diǎn)比所述數(shù)據(jù)處理操作的開(kāi)始落后預(yù)定時(shí)間間隔,并且其中,所述延遲裝置被配置為使得用于所述數(shù)據(jù)處理操作被執(zhí)行的時(shí)間加上所述延遲小于所述預(yù)定時(shí)間間隔,并且其中,所述延遲裝置被配置為使得所述延遲針對(duì)響應(yīng)于所述數(shù)據(jù)處理指令對(duì)所述至少一個(gè)數(shù)據(jù)值的所述數(shù)據(jù)處理操作的后續(xù)執(zhí)行而改變。從第三方面來(lái)看,本發(fā)明提供了一種數(shù)據(jù)處理的方法,包括在數(shù)據(jù)處理裝置中響應(yīng)于數(shù)據(jù)處理指令對(duì)至少一個(gè)數(shù)據(jù)值執(zhí)行數(shù)據(jù)處理操作;對(duì)所述數(shù)據(jù)處理裝置內(nèi)的一路徑上的信號(hào)的傳送施加延遲,其中,所述路徑上的所述信號(hào)的傳送形成所述數(shù)據(jù)處理操作的部分;在預(yù)定時(shí)間點(diǎn)確定所述數(shù)據(jù)處理操作的結(jié)果,所述預(yù)定時(shí)間點(diǎn)比所述數(shù)據(jù)處理操作的開(kāi)始落后預(yù)定時(shí)間間隔,并且其中,施加延遲的步驟被執(zhí)行以使得用于所述數(shù)據(jù)處理操作被執(zhí)行的時(shí)間加上所述延遲小于所述預(yù)定時(shí)間間隔;以及針對(duì)響應(yīng)于所述數(shù)據(jù)處理指令對(duì)所述至少一個(gè)數(shù)據(jù)值的所述數(shù)據(jù)處理操作的后續(xù)執(zhí)行而改變所述延遲。


將通過(guò)借助于示例進(jìn)一步參考在附圖中所圖示的本發(fā)明的實(shí)施例來(lái)描述本發(fā)明,在附圖中圖IA示意性地圖示根據(jù)一個(gè)實(shí)施例的數(shù)據(jù)處理裝置的概要;圖IB圖示圖IA中所示的裝置中的某些信號(hào)的相對(duì)定時(shí),并且圖IC示出關(guān)聯(lián)的示例功耗簽名;圖2A示意性地圖示根據(jù)另一實(shí)施例的數(shù)據(jù)處理裝置;圖2B和圖2C示出與圖2A中所示的裝置相關(guān)聯(lián)的信號(hào)定時(shí)和功耗圖;、
圖3A和圖3B示出延遲被施加到控制信號(hào)的示例實(shí)施例;圖4A示意性地圖示根據(jù)延遲被施加到時(shí)鐘信號(hào)的實(shí)施例的數(shù)據(jù)處理裝置;圖4B示意性地圖示延遲單元根據(jù)系統(tǒng)寄存器的內(nèi)容被控制的配置;圖5示意性地圖示在一個(gè)實(shí)施例中數(shù)據(jù)處理裝置所采取的一系列步驟;以及圖6示意性地圖示異步實(shí)施例中的定時(shí)。
具體實(shí)施例方式圖IA示意性地圖示寄存器組10連接到執(zhí)行單元20。寄存器組10和執(zhí)行單元20形成數(shù)據(jù)處理裝置的一部分,為了清楚闡釋?zhuān)硗獾募?xì)節(jié)被省略。執(zhí)行單元20可以是可配置為執(zhí)行多種不同數(shù)據(jù)處理操作的多用途設(shè)備,或者可以是專(zhuān)用數(shù)據(jù)處理設(shè)備(算術(shù)邏輯單元(ALU)、乘法器、移位器,等)。執(zhí)行單元20被配置為接收從寄存器組10提取的數(shù)據(jù)值并且對(duì)那些數(shù)據(jù)值執(zhí)行數(shù)據(jù)處理操作以產(chǎn)生結(jié)果值。在所圖示的示例中,數(shù)據(jù)A和數(shù)據(jù)B從寄存器組10傳遞到執(zhí)行單元20所沿的路徑分別設(shè)有由延遲控制(未圖示)控制的延遲單元。這些延遲單元30、40被配置為根據(jù)他們從延遲控制接收到的信號(hào)來(lái)對(duì)他們各自的路徑施加延遲。這些延遲單元的作用在圖IB中所示的定時(shí)圖中更詳細(xì)地被圖示出。圖IB示意性地圖示諸如圖IA中所圖示那樣的數(shù)據(jù)處理裝置中各種信號(hào)的相對(duì)定時(shí),此時(shí),執(zhí)行單元20被配置作為用于把數(shù)據(jù)值A(chǔ)和數(shù)據(jù)值B加在一起的加法器。在圖IB中可以看出,首先,被提供給執(zhí)行單元的A數(shù)據(jù)為0x0000,而被提供給執(zhí)行單元20的B數(shù)據(jù)為0x0001。此時(shí),加法器輸出是0x0001。在上升時(shí)鐘沿后,寄存器組10被配置為傳遞新的A值和B值給執(zhí)行單元20,S卩,分別為OxFFFF和0x0000。然而,圖IB示意性地圖示出B路徑被延遲單元40施加延遲的情形。在圖IB所圖示的示例中,A路徑?jīng)]有被施加延遲。因此,在上升時(shí)鐘沿后,執(zhí)行單元20接收的A數(shù)據(jù)立即改變到OxFFFF,而在B路徑上在執(zhí)行單元接收到新的B數(shù)據(jù)0x0000之前存在延遲。結(jié)果是加法器輸出首先從0x0001轉(zhuǎn)變?yōu)?x0000,并且稍后,一旦延遲的B數(shù)據(jù)改變就轉(zhuǎn)變?yōu)镺xFFFF。加法器輸出中三個(gè)序列中兩個(gè)序列的對(duì)頭銜接轉(zhuǎn)變表示一種短暫時(shí)段,在該短暫時(shí)段中,在信號(hào)通過(guò)加法器時(shí)加法器輸出(結(jié)果值)為不確定的。加法器輸出的這些改變可通過(guò)相關(guān)聯(lián)的功耗改變來(lái)辨認(rèn)(參見(jiàn)圖 1C)。為了清楚闡釋?zhuān)趫DIB和圖IC所給出的示例中,只有一個(gè)延遲被全局地施加到B值,并且A值是未被觸及的。在圖2A-圖2C中示意性地圖示出向多個(gè)數(shù)據(jù)路徑施加延遲的稍微更復(fù)雜的示例。此外,注意,在圖IB的示例圖示中,相關(guān)的時(shí)鐘間隔(從數(shù)據(jù)處理操作開(kāi)始起到確定了數(shù)據(jù)處理操作的結(jié)果為止)被示為從上升時(shí)鐘沿到跟著的下降時(shí)鐘沿。然而,另一典型的實(shí)現(xiàn)方式使用同樣的時(shí)鐘沿(例如,上升時(shí)鐘沿)來(lái)定義此間隔的開(kāi)始和結(jié)束。圖2A示意性地圖示與圖IA中所示類(lèi)似的布置。這里,寄存器組50向算術(shù)邏輯單元(ALU) 60提供數(shù)據(jù)值,算術(shù)邏輯單元60依據(jù)此來(lái)生成結(jié)果值。如所圖示的,數(shù)據(jù)值A(chǔ)和數(shù)據(jù)值B從寄存器組50傳遞到算術(shù)邏輯單元60。數(shù)據(jù)值A(chǔ)是4比特值,每個(gè)比特在單獨(dú)的數(shù)據(jù)路徑上提供。延遲單元70跨越這些數(shù)據(jù)路徑并包括四個(gè)單獨(dú)的延遲緩沖器,這些延遲緩沖器可被控制以向各個(gè)路徑施加單獨(dú)的延遲。延遲單元70被延遲控制80控制,延遲控制80參考隨機(jī)定時(shí)源90生成針對(duì)各個(gè)延遲緩沖器的延遲。圖2A中所示的布置的效果在圖2B的定時(shí)圖中被圖示出。這里,可以 看出,在上升時(shí)鐘沿后,進(jìn)入算術(shù)邏輯單元60的A數(shù)據(jù)的四個(gè)比特分別在不同時(shí)刻到達(dá)。這是由于延遲單元70內(nèi)的各個(gè)延遲緩沖器被施加的隨機(jī)延遲引起的??偟膩?lái)說(shuō),此布置對(duì)于加法器輸出處的結(jié)果值的效果在于從A數(shù)據(jù)的第一比特改變(A’
)的時(shí)刻起,加法器輸出在直到A數(shù)據(jù)的最后一比特(A’ [3])轉(zhuǎn)變之后才安定于確定狀態(tài)。這里,如在圖2C中所圖示,存在與算術(shù)邏輯單元60對(duì)數(shù)據(jù)值A(chǔ)和數(shù)據(jù)值B執(zhí)行的數(shù)據(jù)操作相關(guān)聯(lián)的進(jìn)行中的復(fù)雜功耗簽名。此外,如果圖2A中所圖示的數(shù)據(jù)處理裝置被設(shè)置為執(zhí)行同樣的數(shù)據(jù)處理操作(即,數(shù)據(jù)處理指令使得算術(shù)邏輯單元60配置為對(duì)同樣的輸入數(shù)據(jù)值執(zhí)行同樣的操作),則,觀察到的此數(shù)據(jù)處理操作的功耗將不一樣,因?yàn)槭┘拥窖舆t單元70中的延遲緩沖器的隨機(jī)延遲將發(fā)生改變,從而改變功耗簽名。圖3A示意性地圖示延遲是如何被施加到不同的路徑上的。這里,再次,寄存器組100提供將要經(jīng)歷執(zhí)行單元110執(zhí)行的數(shù)據(jù)處理操作的輸入數(shù)據(jù)值。被選擇從寄存器組100輸出的數(shù)據(jù)值由寄存器控制105控制。執(zhí)行單元110可執(zhí)行各種數(shù)據(jù)處理操作,任何時(shí)間所執(zhí)行的特定操作由執(zhí)行控制115來(lái)控制。如圖3A中所圖示的,一組延遲單元120位于將執(zhí)行控制單元115連接到執(zhí)行單元110的路徑上。延遲單元120被配置為向從執(zhí)行控制單元115向執(zhí)行單元110傳遞的控制信號(hào)施加由延遲控制125配置的延遲。因此,由延遲單元對(duì)用于配置執(zhí)行單元110的操作的控制信號(hào)施加的一個(gè)或多個(gè)延遲將使得執(zhí)行單元110在被設(shè)置在控制單元115所指示的配置狀態(tài)之前將過(guò)渡經(jīng)過(guò)至少一個(gè)中間配置狀態(tài)。因此,即使輸入執(zhí)行單元110的為恒定數(shù)據(jù)值(雖然數(shù)據(jù)值路徑也可被配置為參考圖1A-1C和圖2A-2C所論述那樣),執(zhí)行單元110的配置改變將使得數(shù)據(jù)處理裝置的功耗簽名改變,從而擾亂執(zhí)行單元110正執(zhí)行的真實(shí)數(shù)據(jù)操作。此外,即使執(zhí)行單元110重復(fù)同樣的數(shù)據(jù)處理操作(同樣的指令,同樣的輸入值),延遲單元120施加的新的延遲也將會(huì)改變相關(guān)聯(lián)的功耗簽名。圖3B示意性地圖示數(shù)據(jù)處理裝置中延遲單元可被施加到承載控制信號(hào)的路徑的另一種方式。這里,從寄存器組100傳遞給執(zhí)行單元110的數(shù)據(jù)值由寄存器控制單元105使用傳遞給寄存器組100的寄存器選擇信號(hào)來(lái)確定。如圖3B中所圖示的,由延遲控制135所控制的一組延遲單元130位于寄存器控制105和寄存器組100之間的多比特寄存器選擇信號(hào)路徑上。這些延遲單元的效果是臨時(shí)變更由寄存器組100接收的寄存器選擇信號(hào)。其效果在于執(zhí)行單元110接收的輸入值改變,從而使得功耗信號(hào)發(fā)生改變。圖4A示意性地圖示延遲單元可被施加到數(shù)據(jù)處理裝置內(nèi)的路徑的另一方式(其可以或者可以不與上述其他類(lèi)型的路徑延遲相結(jié)合)。這里,被施加延遲的路徑承載時(shí)鐘信號(hào)。延遲時(shí)鐘信號(hào)的第一方面在圖4A的左側(cè)被圖示出,其中,向量140被傳遞到寄存器組150。向量140是四比特值,每比特臨時(shí)地由觸發(fā)器(flip-flop) 142、144、146、148緩沖,進(jìn)而被路由到寄存器組150。觸發(fā)器142-148通常可共享一公共的時(shí)鐘信號(hào),但是這里一組延遲單兀155生成四個(gè)時(shí)鐘信號(hào)CLKch3,每個(gè)時(shí)鐘信號(hào)針對(duì)相應(yīng)的一個(gè)觸發(fā)器。向時(shí)鐘信號(hào)施加延遲的第二方面在圖4A的右手部分被圖示出,其中,執(zhí)行單元160被配置為根據(jù)時(shí)鐘信號(hào)CLK
進(jìn)行操作。這些時(shí)鐘信號(hào)由延遲單元165從單個(gè)原始時(shí)鐘信號(hào)CLK生成。在這兩個(gè)示例中,向系統(tǒng)的不同子組件提供不同時(shí)鐘信號(hào)將再一次引起如上所述的功耗簽名的變化。此外,每當(dāng)同樣的數(shù)據(jù)處理操作被執(zhí)行時(shí),這些時(shí)鐘信號(hào)的變化將改變,從而使得功率分析攻擊更加相當(dāng)困難。上述實(shí)施例中的延遲單元的配置可由延遲控制單元執(zhí)行,在一些實(shí)施例中,延遲控制單元可被配置作為系統(tǒng)寄存器,以使得系統(tǒng)程序員可對(duì)延遲單元如何操作進(jìn)行配置。圖4B示意性地圖示根據(jù)系統(tǒng)寄存器來(lái)控制延遲單元對(duì)八比特A數(shù)據(jù)信號(hào)的控制。替代地, 延遲控制單元可被編程有確定性算法以便逐次迭代地改變延遲。圖5示意性地圖示根據(jù)一個(gè)實(shí)施例的在數(shù)據(jù)處理裝置中所采取的步驟序列。流程開(kāi)始于步驟200,在步驟200,新的數(shù)據(jù)處理指令被接收到。在步驟205,數(shù)據(jù)處理裝置根據(jù)數(shù)據(jù)處理指令被配置,以便執(zhí)行跟著發(fā)生的數(shù)據(jù)處理操作。在步驟210形成數(shù)據(jù)處理裝置的一部分的路徑上的延遲單元被配置隨機(jī)延遲,之后,在步驟215處信號(hào)經(jīng)由數(shù)據(jù)處理裝置的該部分傳送。將會(huì)認(rèn)識(shí)到,依賴(lài)于被施加延遲的路徑的具體類(lèi)型,步驟205和步驟210可被視為同時(shí)發(fā)生,或者甚至步驟210先于步驟205。數(shù)據(jù)處理操作在步驟220結(jié)束并且流程返回到步驟200。即使下一數(shù)據(jù)處理指令是同樣的數(shù)據(jù)處理指令并且對(duì)同樣的數(shù)據(jù)值進(jìn)行操作,(在步驟210)施加到路徑的隨機(jī)延遲意味著此數(shù)據(jù)處理操作所引起的功耗也將不同。圖6示意性地圖示在數(shù)據(jù)處理裝置是異步設(shè)備的實(shí)施例中的相對(duì)定時(shí)。因此,系統(tǒng)的子部件可在他們之間無(wú)時(shí)間限制地自由執(zhí)行他們的操作的各個(gè)方面,其中,在必要時(shí)對(duì)子部件進(jìn)行周期性重新調(diào)整。這些周期性重新調(diào)整發(fā)生的點(diǎn)被認(rèn)為是握手事件。因此,本發(fā)明的概念還可應(yīng)用于這樣的異步設(shè)備,其中,數(shù)據(jù)處理操作在第一握手事件后開(kāi)始,并且數(shù)據(jù)處理操作的結(jié)果僅對(duì)隨后的握手事件有意義。在此期間,按照在各種同步實(shí)施例的上下文中所述的相同的方式,一個(gè)或多個(gè)延遲可被施加到設(shè)備中的一個(gè)或多個(gè)路徑,以使設(shè)備的功率簽名變形,只要這些延遲的施加不會(huì)使得有效的數(shù)據(jù)處理時(shí)段延長(zhǎng)超過(guò)下一握手事件即可。雖然在此已經(jīng)描述了具體實(shí)施例,但是將會(huì)認(rèn)識(shí)到本發(fā)明不限于此,而是,在本發(fā)明的范圍內(nèi)可作出多種修改和添加。例如,在不脫離本發(fā)明的范圍的情況下,獨(dú)立權(quán)利要求的特征可與之后的從屬權(quán)利要求的特征進(jìn)行各種組合。
權(quán)利要求
1.一種數(shù)據(jù)處理裝置,該數(shù)據(jù)處理裝置被配置為響應(yīng)于數(shù)據(jù)處理指令來(lái)對(duì)至少一個(gè)數(shù)據(jù)值執(zhí)行數(shù)據(jù)處理操作,所述數(shù)據(jù)處理裝置包括 延遲單元,所述延遲單元位于所述數(shù)據(jù)處理裝置內(nèi)的路徑上,所述延遲單元被配置為對(duì)所述路徑上的信號(hào)的傳送施加延遲,其中,所述路徑上的所述信號(hào)的傳送形成所述數(shù)據(jù)處理操作的部分,其中,所述數(shù)據(jù)處理裝置被配置為在預(yù)定時(shí)間點(diǎn)確定所述數(shù)據(jù)處理操作的結(jié)果,所述預(yù)定時(shí)間點(diǎn)比所述數(shù)據(jù)處理操作的開(kāi)始落后預(yù)定時(shí)間間隔,并且其中,所述延遲單元被配置為使得用于所述數(shù)據(jù)處理操作被執(zhí)行的時(shí)間加上所述延遲小于所述預(yù)定時(shí)間間隔,并且其中,所述延遲單元被配置為使得針對(duì)響應(yīng)于所述數(shù)據(jù)處理指令對(duì)所述至少一個(gè)數(shù)據(jù)值的所述數(shù)據(jù)處理操作的后續(xù)執(zhí)行而改變所述延遲。
2.根據(jù)權(quán)利要求I所述的數(shù)據(jù)處理裝置,其中,所述數(shù)據(jù)處理裝置被配置為同步地操作并且所述預(yù)定時(shí)間間隔為時(shí)鐘間隔。
3.根據(jù)權(quán)利要求I所述的數(shù)據(jù)處理裝置,其中,所述數(shù)據(jù)處理裝置被配置為異步地操作并且所述預(yù)定時(shí)間間隔為握手事件之間的間隔。
4.根據(jù)權(quán)利要求I所述的數(shù)據(jù)處理裝置,其中,所述延遲的長(zhǎng)度參考隨機(jī)控制源來(lái)確定。
5.根據(jù)權(quán)利要求I所述的數(shù)據(jù)處理裝置,其中,所述延遲的長(zhǎng)度通過(guò)確定性算法來(lái)確定。
6.根據(jù)權(quán)利要求I所述的數(shù)據(jù)處理裝置,其中,所述數(shù)據(jù)處理裝置包括至少一個(gè)另外的延遲單元,這些至少一個(gè)另外的延遲單元位于所述數(shù)據(jù)處理裝置內(nèi)的至少一個(gè)另外的路徑上,所述至少一個(gè)另外的延遲單元被配置為向所述至少一個(gè)另外的路徑上的另外的信號(hào)的傳送施加另外的延遲,其中,所述至少一個(gè)另外的路徑上的所述另外的信號(hào)的傳送形成所述數(shù)據(jù)處理操作的部分, 并且其中,所述至少一個(gè)另外的延遲單元被配置為使得所述數(shù)據(jù)處理操作被執(zhí)行的所述時(shí)間加上所述另外的延遲小于所述預(yù)定時(shí)間間隔,并且 其中,所述至少一個(gè)另外的延遲單元被配置為使得所述另外的延遲針對(duì)所述數(shù)據(jù)處理操作的后續(xù)執(zhí)行而被改變。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)處理裝置,其中,所述延遲單元和所述至少一個(gè)另外的延遲單元被配置為使得所述延遲和所述另外的延遲彼此不同。
8.根據(jù)權(quán)利要求I所述的數(shù)據(jù)處理裝置,其中,所述路徑是數(shù)據(jù)路徑,并且所述信號(hào)表示所述至少一個(gè)數(shù)據(jù)值的至少一個(gè)數(shù)據(jù)比特。
9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)處理裝置,其中,所述至少一個(gè)數(shù)據(jù)值包括多個(gè)數(shù)據(jù)比特并且所述信號(hào)表示所述多個(gè)數(shù)據(jù)比特。
10.根據(jù)權(quán)利要求8所述的數(shù)據(jù)處理裝置,其中,所述至少一個(gè)數(shù)據(jù)值包括多個(gè)數(shù)據(jù)比特并且所述信號(hào)表示所述多個(gè)數(shù)據(jù)比特中的一個(gè)數(shù)據(jù)比特。
11.根據(jù)權(quán)利要求I所述的數(shù)據(jù)處理裝置,其中,所述路徑是控制路徑,并且所述信號(hào)表示被布置用來(lái)將所述數(shù)據(jù)處理裝置配置為對(duì)所述至少一個(gè)數(shù)據(jù)值執(zhí)行所述數(shù)據(jù)處理操作的控制值。
12.根據(jù)權(quán)利要求11所述的數(shù)據(jù)處理裝置,其中,所述控制值將執(zhí)行單元配置為執(zhí)行所述數(shù)據(jù)處理操作。
13.根據(jù)權(quán)利要求11所述的數(shù)據(jù)處理裝置,其中,所述至少一個(gè)數(shù)據(jù)值是根據(jù)所述控制值而從數(shù)據(jù)存儲(chǔ)庫(kù)提取出的。
14.根據(jù)權(quán)利要求13所述的數(shù)據(jù)處理裝置,其中,所述數(shù)據(jù)存儲(chǔ)庫(kù)是寄存器組。
15.根據(jù)權(quán)利要求I所述的數(shù)據(jù)處理裝置,其中,所述路徑是時(shí)鐘路徑,并且所述信號(hào)表示時(shí)鐘信號(hào),其中,所述數(shù)據(jù)處理裝置被配置為參考所述時(shí)鐘信號(hào)來(lái)執(zhí)行所述數(shù)據(jù)處理操作。
16.根據(jù)權(quán)利要求I所述的數(shù)據(jù)處理裝置,其中,所述延遲是參考系統(tǒng)寄存器中所存儲(chǔ)的值來(lái)確定的。
17.根據(jù)權(quán)利要求16所述的數(shù)據(jù)處理裝置,其中,所述系統(tǒng)寄存器中所存儲(chǔ)的所述值由另外的數(shù)據(jù)處理指令設(shè)定。
18.一種數(shù)據(jù)處理裝置,該數(shù)據(jù)處理裝置被配置為響應(yīng)于數(shù)據(jù)處理指令來(lái)對(duì)至少一個(gè)數(shù)據(jù)值執(zhí)行數(shù)據(jù)處理操作,所述數(shù)據(jù)處理裝置包括 延遲裝置,所述延遲裝置位于所述數(shù)據(jù)處理裝置內(nèi)的一路徑上,所述延遲裝置用于對(duì)所述路徑上的信號(hào)的傳送施加延遲,其中,所述路徑上的所述信號(hào)的傳送形成所述數(shù)據(jù)處理操作的部分, 其中,所述數(shù)據(jù)處理裝置被配置為在預(yù)定時(shí)間點(diǎn)確定所述數(shù)據(jù)處理操作的結(jié)果,所述預(yù)定時(shí)間點(diǎn)比所述數(shù)據(jù)處理操作的開(kāi)始落后預(yù)定時(shí)間間隔,并且其中,所述延遲裝置被配置為使得用于所述數(shù)據(jù)處理操作被執(zhí)行的時(shí)間加上所述延遲小于所述預(yù)定時(shí)間間隔,并且 其中,所述延遲裝置被配置為使得所述延遲針對(duì)響應(yīng)于所述數(shù)據(jù)處理指令對(duì)所述至少一個(gè)數(shù)據(jù)值的所述數(shù)據(jù)處理操作的后續(xù)執(zhí)行而被改變。
19.一種數(shù)據(jù)處理的方法,包括 在數(shù)據(jù)處理裝置中響應(yīng)于數(shù)據(jù)處理指令對(duì)至少一個(gè)數(shù)據(jù)值執(zhí)行數(shù)據(jù)處理操作; 對(duì)所述數(shù)據(jù)處理裝置內(nèi)的路徑上的信號(hào)的傳送施加延遲,其中,所述路徑上的所述信號(hào)的傳送形成所述數(shù)據(jù)處理操作的部分; 在預(yù)定時(shí)間點(diǎn)確定所述數(shù)據(jù)處理操作的結(jié)果,所述預(yù)定時(shí)間點(diǎn)比所述數(shù)據(jù)處理操作的開(kāi)始落后預(yù)定時(shí)間間隔,并且其中,施加延遲的步驟被執(zhí)行以使得用于所述數(shù)據(jù)處理操作被執(zhí)行的時(shí)間加上所述延遲小于所述預(yù)定時(shí)間間隔;以及 針對(duì)響應(yīng)于所述數(shù)據(jù)處理指令對(duì)所述至少一個(gè)數(shù)據(jù)值的所述數(shù)據(jù)處理操作的后續(xù)執(zhí)行而改變所述延遲。
全文摘要
本發(fā)明涉及功率簽名擾亂。一種數(shù)據(jù)處理裝置被配置為響應(yīng)于數(shù)據(jù)處理指令來(lái)對(duì)至少一個(gè)數(shù)據(jù)值執(zhí)行數(shù)據(jù)處理操作。該數(shù)據(jù)處理裝置包括延遲單元,延遲單元位于該數(shù)據(jù)處理裝置內(nèi)的一路徑上,其中,延遲單元被配置為對(duì)該路徑上的信號(hào)的傳送施加延遲,并且所述信號(hào)的傳送形成數(shù)據(jù)處理操作的部分。該數(shù)據(jù)處理裝置被配置為在預(yù)定時(shí)間點(diǎn)確定數(shù)據(jù)處理操作的結(jié)果,其中,所述預(yù)定時(shí)間點(diǎn)比所述數(shù)據(jù)處理操作的開(kāi)始落后預(yù)定時(shí)間間隔。延遲單元被配置為使得所述數(shù)據(jù)處理操作被執(zhí)行的時(shí)間加上所述延遲小于所述預(yù)定時(shí)間間隔。此外,延遲單元被配置為使得所述延遲針對(duì)響應(yīng)于所述數(shù)據(jù)處理指令對(duì)所述至少一個(gè)數(shù)據(jù)值的所述數(shù)據(jù)處理操作的后續(xù)執(zhí)行而被改變。
文檔編號(hào)G06F21/00GK102708311SQ201210028189
公開(kāi)日2012年10月3日 申請(qǐng)日期2012年2月3日 優(yōu)先權(quán)日2011年2月3日
發(fā)明者吉恩-博迪斯特·布雷羅特, 斯蒂芬·宗札, 柯德克·丹尼斯·羅伯特·艾羅 申請(qǐng)人:Arm有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1