本發(fā)明涉及一種具有初級(jí)計(jì)算單元和至少一個(gè)次級(jí)計(jì)算單元的計(jì)算裝置,其中所述初級(jí)計(jì)算單元被構(gòu)造為使初級(jí)數(shù)字輸入數(shù)據(jù)經(jīng)受可預(yù)先給定的第一數(shù)據(jù)處理,并且其中所述次級(jí)計(jì)算單元被構(gòu)造為使次級(jí)數(shù)字輸入數(shù)據(jù)經(jīng)受可預(yù)先給定的第二數(shù)據(jù)處理。
此外,本發(fā)明還涉及一種用于使在上文所提到的類型的計(jì)算裝置運(yùn)行的方法。
背景技術(shù):
開始時(shí)所提到的設(shè)備或方法本身是公知的,并且此外還被用于實(shí)施加密方法或者通常被用于處理尤其是也在IT安全性范圍內(nèi)的安全相關(guān)的數(shù)據(jù)。同樣公知的是:在上文所提到的系統(tǒng)和方法或更準(zhǔn)確地其具體的硬件和軟件方面的實(shí)施方案在諸如多核(multi-core)微控制器或者諸如此類的那樣的目標(biāo)系統(tǒng)中借助于所謂的邊信道攻擊(英文:side channel attack)是易受攻擊的。在這些邊信道攻擊的情況下,要被攻擊的系統(tǒng)的一個(gè)或者多個(gè)物理參數(shù)(例如電流消耗、電磁輻射等等)被檢測(cè)并且鑒于與諸如加密方法的秘密密鑰那樣的秘密數(shù)據(jù)的相關(guān)性而被檢查。攻擊者從中可以獲得關(guān)于秘密密鑰和/或被處理的數(shù)據(jù)的信息。
對(duì)開始時(shí)所提到的系統(tǒng)和方法的另一類攻擊在于:在實(shí)施方法時(shí)主動(dòng)地將故障引進(jìn)、也就是說(shuō)注入到系統(tǒng)中。這些攻擊也被稱作“故障注入攻擊(Fault Injection attack)”。
技術(shù)實(shí)現(xiàn)要素:
因此,本發(fā)明的任務(wù)是如下地改進(jìn)開始時(shí)所提到的類型的計(jì)算裝置和方法:給出了相對(duì)于邊信道攻擊和/或故障攻擊的被提高的安全性。
該任務(wù)在開始時(shí)所提到的類型的計(jì)算裝置中按照本發(fā)明通過(guò)如下方式被解決:計(jì)算裝置被構(gòu)造為將通過(guò)所述至少一個(gè)次級(jí)計(jì)算單元進(jìn)行的第二數(shù)據(jù)處理至少暫時(shí)地相對(duì)于通過(guò)所述初級(jí)計(jì)算單元進(jìn)行的第一數(shù)據(jù)處理延遲。因此,有利地實(shí)現(xiàn)了:在可能同樣的或者類似的在各種計(jì)算單元上被實(shí)施的算法或數(shù)據(jù)處理過(guò)程之間的較小的相關(guān)性被得到,這提高了相對(duì)于邊信道攻擊的安全性。該效應(yīng)也可以被理解為對(duì)給邊信道攻擊造成困難的“算法噪聲(algorithmic noise)”、即通過(guò)算法引起的“噪聲”的放大。
在優(yōu)選的實(shí)施形式中設(shè)置:計(jì)算裝置被構(gòu)造為與隨機(jī)有關(guān)地(zufallsabhaengig)和/或與偽隨機(jī)有關(guān)地(pseudozufallsabhaengig)延遲第二數(shù)據(jù)處理。為此,可以設(shè)置對(duì)于生成隨機(jī)事件或隨機(jī)數(shù)或偽隨機(jī)數(shù)來(lái)說(shuō)適當(dāng)?shù)膩?lái)源。一般,例如可以通過(guò)如下方式招致按照本發(fā)明的通過(guò)計(jì)算裝置引起的延遲:針對(duì)相對(duì)應(yīng)地要延遲的計(jì)算單元的參考時(shí)鐘信號(hào)(Referenztaktsignal)通過(guò)計(jì)算裝置被影響,例如在該參考時(shí)鐘信號(hào)的時(shí)鐘頻率方面被減小或者暫時(shí)地甚至被停止。按照一實(shí)施形式,與隨機(jī)有關(guān)的和與偽隨機(jī)有關(guān)的延遲也可以彼此相結(jié)合,或者設(shè)置暫時(shí)地與隨機(jī)有關(guān)的和暫時(shí)地與偽隨機(jī)有關(guān)的延遲。在另一有利的實(shí)施形式中設(shè)置:計(jì)算裝置被構(gòu)造為將第二數(shù)據(jù)處理的各個(gè)數(shù)據(jù)處理步驟和/或多個(gè)相繼的數(shù)據(jù)處理步驟的群組延遲。在第二數(shù)據(jù)處理的在分別各個(gè)數(shù)據(jù)處理步驟之間的延遲的情況下,得到特別地被提高的安全性。
在另一有利的實(shí)施形式中設(shè)置:計(jì)算裝置被構(gòu)造為:與時(shí)間有關(guān)地和/或與事件有關(guān)地和/或與隨機(jī)有關(guān)地和/或與偽隨機(jī)有關(guān)地修改根據(jù)其所述第二數(shù)據(jù)處理與隨機(jī)有關(guān)地和/或與偽隨機(jī)有關(guān)地被延遲的方式和方法(或方法)。這意味著:例如可以根據(jù)一個(gè)或者多個(gè)事件的出現(xiàn)和/或根據(jù)時(shí)間以及可替換地或者作為補(bǔ)充地根據(jù)隨機(jī)數(shù)和/或偽隨機(jī)數(shù)做出根據(jù)其來(lái)實(shí)現(xiàn)所述至少一個(gè)次級(jí)計(jì)算單元的按照本發(fā)明的延遲的規(guī)定。
在另一有利的實(shí)施形式中設(shè)置:計(jì)算裝置被構(gòu)造為至少暫時(shí)地使初級(jí)數(shù)字輸入數(shù)據(jù)反轉(zhuǎn)(invertieren),以便得到次級(jí)數(shù)字輸入數(shù)據(jù)。因此,可能的是:針對(duì)在各種計(jì)算單元中的基本上同樣的或者至少類似的數(shù)據(jù)處理過(guò)程,將彼此反轉(zhuǎn)的輸入數(shù)據(jù)供這些計(jì)算單元支配,因此,可以進(jìn)一步提高相對(duì)于邊信道攻擊的安全性。尤其是在各種計(jì)算單元中處理初級(jí)數(shù)字輸入數(shù)據(jù)和對(duì)其反轉(zhuǎn)的次級(jí)數(shù)字輸入數(shù)據(jù)時(shí),鑒于在邊信道攻擊的范圍內(nèi)可檢測(cè)到的物理參數(shù)(例如電流消耗、電磁輻射等等)至少暫時(shí)地得出補(bǔ)償效應(yīng),所述補(bǔ)償效應(yīng)還進(jìn)一步提高計(jì)算裝置的安全性。
在另一有利的實(shí)施形式中設(shè)置:計(jì)算裝置被構(gòu)造為根據(jù)所述初級(jí)計(jì)算單元的和所述至少一個(gè)次級(jí)計(jì)算單元的數(shù)字輸出數(shù)據(jù)推斷出所述初級(jí)計(jì)算單元和/或所述至少一個(gè)次級(jí)計(jì)算單元的運(yùn)行狀態(tài)、尤其是故障。經(jīng)此,可以特別有利地提高按照本發(fā)明的計(jì)算裝置相對(duì)于故障的穩(wěn)健性。
在另一有利的實(shí)施形式中設(shè)置:設(shè)置有反轉(zhuǎn)單元,所述反轉(zhuǎn)單元被構(gòu)造為根據(jù)初級(jí)數(shù)字輸入數(shù)據(jù)形成次級(jí)數(shù)字輸入數(shù)據(jù)。
在另一有利的實(shí)施形式中設(shè)置:至少一個(gè)次級(jí)計(jì)算單元的硬件結(jié)構(gòu)與初級(jí)計(jì)算單元的硬件結(jié)構(gòu)基本上是同樣的。
在另一有利的發(fā)明變型方案中設(shè)置:第一數(shù)據(jù)處理與第二數(shù)據(jù)處理基本上是同樣的。
通過(guò)在上文所提到的發(fā)明變型方案,例如可以提供所謂的多核計(jì)算裝置,因此給出相對(duì)于各個(gè)計(jì)算單元的故障的提高的安全性,所述多核計(jì)算裝置在相對(duì)應(yīng)的數(shù)據(jù)處理的進(jìn)程中以冗余的方式執(zhí)行可預(yù)先給定的算法。同時(shí),與可選地可能通過(guò)與其它的計(jì)算單元的輸入數(shù)據(jù)反轉(zhuǎn)的輸入數(shù)據(jù)來(lái)供應(yīng)至少一個(gè)(次級(jí))計(jì)算單元相結(jié)合,相對(duì)于邊信道攻擊的被提高的安全性是可實(shí)現(xiàn)的。
在特別優(yōu)選的實(shí)施形式中,計(jì)算裝置被構(gòu)造為實(shí)施加密方法和/或所述加密方法的至少一部分,其中尤其是第一和第二數(shù)據(jù)處理包括一個(gè)或者多個(gè)加密算法的至少部分步驟。在特別優(yōu)選的發(fā)明變型方案中,根據(jù)加密方法或加密算法的類型來(lái)實(shí)現(xiàn)通過(guò)次級(jí)計(jì)算單元進(jìn)行的第二數(shù)據(jù)處理的按照本發(fā)明的延遲。
在另一有利的實(shí)施形式中設(shè)置:初級(jí)計(jì)算單元和次級(jí)計(jì)算單元被布置在同一半導(dǎo)體芯片上和/或與同一電力供應(yīng)裝置相連,因此進(jìn)一步給邊信道攻擊造成困難。
按照專利權(quán)利要求12所述的方法作為本發(fā)明的任務(wù)的另一解決方案被說(shuō)明。
附圖說(shuō)明
本發(fā)明的其它的構(gòu)建方案、特征和優(yōu)點(diǎn)在下述的描述中參考附圖被舉出。
在附圖中:
圖1示意性地示出了按照本發(fā)明的計(jì)算裝置的實(shí)施形式的框圖,和
圖2示意性地示出了按照本發(fā)明的方法的實(shí)施形式的簡(jiǎn)化流程圖。
具體實(shí)施方式
圖1示意性地示出了具有初級(jí)計(jì)算單元110a以及次級(jí)計(jì)算單元110b的計(jì)算裝置100??蛇x地,也還可以存在其它的次級(jí)計(jì)算單元,如這通過(guò)其它的次級(jí)計(jì)算單元110c和在部件110b、110c之間的垂直的點(diǎn)接(Punktierung)所勾畫出的那樣。
初級(jí)計(jì)算單元110a被構(gòu)造為使初級(jí)數(shù)字輸入數(shù)據(jù)E1經(jīng)受可預(yù)先給定的第一數(shù)據(jù)處理DV1,而次級(jí)計(jì)算單元110b被構(gòu)造為使次級(jí)數(shù)字輸入數(shù)據(jù)E2經(jīng)受可預(yù)先給定的第二數(shù)據(jù)處理DV2。
所述數(shù)據(jù)處理DV1、DV2例如可以是加密方法或所述加密方法的部分或相對(duì)應(yīng)的算法。
能量供應(yīng)裝置E被設(shè)置用于進(jìn)行電力供應(yīng),所述能量供應(yīng)裝置E在本情況下供給所有的計(jì)算單元110a、110b、110c。
按照本發(fā)明建議,計(jì)算裝置100被構(gòu)造為:將通過(guò)所述至少一個(gè)次級(jí)計(jì)算單元110b進(jìn)行的第二數(shù)據(jù)處理DV2至少暫時(shí)地相對(duì)于通過(guò)所述初級(jí)計(jì)算單元110a進(jìn)行的第一數(shù)據(jù)處理DV1延遲。以這種方式得到所述兩個(gè)計(jì)算單元110a、110b的運(yùn)行的去相關(guān)(Dekorrelation),以便提高相對(duì)于邊信道攻擊的安全性,所述去相關(guān)尤其是在對(duì)有時(shí)相同的或類似的數(shù)據(jù)執(zhí)行類似的或同樣的數(shù)據(jù)處理步驟的情況下是有利的。
特別優(yōu)選地,計(jì)算裝置100被構(gòu)造為與隨機(jī)有關(guān)地和/或與偽隨機(jī)有關(guān)地將第二數(shù)據(jù)處理DV2延遲。例如,可以通過(guò)如下方式實(shí)現(xiàn)這樣的延遲:通過(guò)時(shí)鐘線路被引向次級(jí)計(jì)算單元110b的時(shí)鐘信號(hào)CLK例如鑒于其頻率被計(jì)算裝置100影響。也可能的是:計(jì)算裝置100至少暫時(shí)地停止針對(duì)次級(jí)計(jì)算單元110b的時(shí)鐘信號(hào)CLK或在當(dāng)前存在的狀態(tài)下“凍結(jié)”所述針對(duì)次級(jí)計(jì)算單元110b的時(shí)鐘信號(hào)CLK,以便引起按照本發(fā)明的延遲。在此,如已經(jīng)被描述的那樣,延遲的量度可以與隨機(jī)有關(guān)地或者與偽隨機(jī)有關(guān)地或者通過(guò)二者的組合被確定。
可替換地或者作為補(bǔ)充地,可以通過(guò)如下方式實(shí)現(xiàn)第二數(shù)據(jù)處理DV2的延遲:偽指令、例如一個(gè)或者多個(gè)“NOP”(零操作)指令被混入到要由次級(jí)計(jì)算單元110b執(zhí)行的指令流中??商鎿Q地或者作為補(bǔ)充地,可以通過(guò)如下方式實(shí)現(xiàn)第二數(shù)據(jù)處理DV2的延遲:第二計(jì)算單元的程序指針在延遲的意義上被修改,等等??杀容^的延遲對(duì)于計(jì)算裝置100的其它的次級(jí)計(jì)算單元110c的運(yùn)行來(lái)說(shuō)也是可設(shè)想的。
在優(yōu)選的實(shí)施形式中,根據(jù)對(duì)于每個(gè)計(jì)算單元110a、110b、110c來(lái)說(shuō)特定的初始化值可以進(jìn)行與隨機(jī)有關(guān)地和/或與偽隨機(jī)有關(guān)地確定要按照本發(fā)明應(yīng)用的延遲,所述初始化值例如被布置在計(jì)算裝置100或相應(yīng)的計(jì)算單元110a、110b、110c的存儲(chǔ)器(未示出)中。
如果基于各個(gè)數(shù)據(jù)處理步驟或基于所述各個(gè)數(shù)據(jù)處理步驟的群組來(lái)實(shí)現(xiàn)至少一個(gè)次級(jí)計(jì)算單元110b、110c的按照本發(fā)明的延遲,如果因此在各個(gè)數(shù)據(jù)處理步驟之間或者至少在包括少量的步驟的群組之間分別引起與隨機(jī)有關(guān)的或與偽隨機(jī)有關(guān)的延遲,那么給出計(jì)算裝置100相對(duì)于邊信道攻擊的安全性的特別的提高。
在另一有利的實(shí)施形式中可以設(shè)置:根據(jù)要通過(guò)計(jì)算單元110a、110b、110c進(jìn)行加工的數(shù)據(jù)處理步驟或算法,例如也動(dòng)態(tài)地、即在正在進(jìn)行中的數(shù)據(jù)處理DV1、DV2期間規(guī)定針對(duì)要應(yīng)用的延遲或偽隨機(jī)模式或者所述要應(yīng)用的延遲的另外的特性的值域。
此外,如果根據(jù)其所述第二數(shù)據(jù)處理DV2與隨機(jī)有關(guān)地和/或與偽隨機(jī)有關(guān)地被延遲的方式和方法與時(shí)間有關(guān)地和/或與事件有關(guān)地和/或與隨機(jī)有關(guān)地和/或與偽隨機(jī)有關(guān)地被修改,則是特別有利的。該功能性例如可以由計(jì)算裝置100或必要時(shí)對(duì)此特定地設(shè)置的計(jì)算核或可以類似于所述計(jì)算單元110a、110b、110c或者與所述計(jì)算單元110a、110b、110c同類地被構(gòu)造的另一計(jì)算單元來(lái)實(shí)施。
在另一有利的實(shí)施形式中設(shè)置:計(jì)算裝置100被構(gòu)造為至少暫時(shí)地使初級(jí)數(shù)字輸入數(shù)據(jù)E1反轉(zhuǎn),以便得到次級(jí)數(shù)字輸入數(shù)據(jù)E2。經(jīng)此,計(jì)算單元110a、110b例如可以對(duì)彼此反轉(zhuǎn)的輸入數(shù)據(jù)執(zhí)行基本上可比較的算法,因此,給出調(diào)整相對(duì)應(yīng)地被得到的輸出數(shù)據(jù)A1、A2的可能性,這引起了計(jì)算裝置100的可靠性的進(jìn)一步提高。
例如,根據(jù)所述數(shù)字輸出數(shù)據(jù)A1、A2可以推斷出所述初級(jí)計(jì)算單元110a和/或所述至少一個(gè)次級(jí)計(jì)算單元110b、110c的運(yùn)行狀態(tài)、尤其是故障。
可選地,也可以設(shè)置反轉(zhuǎn)單元120,所述反轉(zhuǎn)單元120進(jìn)行輸入數(shù)據(jù)的反轉(zhuǎn)。
在發(fā)明變型方案中,特別優(yōu)選地,初級(jí)和次級(jí)計(jì)算單元110a、110b的硬件結(jié)構(gòu)彼此基本上是同樣的,并且可選地,數(shù)據(jù)處理DV1、DV2或所基于的算法也可以彼此基本上是同樣的,因此可以得到冗余的計(jì)算機(jī)系統(tǒng)。
圖2示意性地示出了按照本發(fā)明的方法的實(shí)施形式的簡(jiǎn)化流程圖。在步驟200中,通過(guò)所述至少一個(gè)次級(jí)計(jì)算單元110b進(jìn)行的第二數(shù)據(jù)處理DV2(圖1)按照本發(fā)明至少暫時(shí)地相對(duì)于通過(guò)所述初級(jí)計(jì)算單元110a進(jìn)行的第一數(shù)據(jù)處理DV1被延遲。最后在步驟210中,被延遲的數(shù)據(jù)處理DV2由次級(jí)計(jì)算單元110b來(lái)實(shí)施。在這種情況下,第一數(shù)據(jù)處理DV1例如可以在步驟200期間被實(shí)施。
有利地,本發(fā)明可以在現(xiàn)行的計(jì)算裝置(諸如微控制器和/或(微)處理器和/或數(shù)字信號(hào)處理器)中被應(yīng)用,并且可以顯著地提高相對(duì)于邊信道攻擊和故障注入攻擊的安全性。以此,尤其是也可以使可并行地在多核計(jì)算裝置的多個(gè)計(jì)算單元或計(jì)算機(jī)核上實(shí)施的算法、尤其是加密算法得到保障。