存儲(chǔ)器設(shè)備的制作方法
【專利摘要】本發(fā)明涉及一種具有主存儲(chǔ)器元件(110)的存儲(chǔ)器設(shè)備(100)。根據(jù)本發(fā)明,存儲(chǔ)器設(shè)備(100)具有分析設(shè)備(120),該分析設(shè)備被構(gòu)造為確定主存儲(chǔ)器元件(110)是否經(jīng)歷狀態(tài)改變(212)并且將副存儲(chǔ)器元件(130)操控為,使得當(dāng)(a)主存儲(chǔ)器元件(110)經(jīng)歷狀態(tài)改變(212)時(shí),副存儲(chǔ)器元件(130)不實(shí)施狀態(tài)改變(212),以及當(dāng)(b)主存儲(chǔ)器元件(110)未經(jīng)歷狀態(tài)改變(212)時(shí),副存儲(chǔ)器元件(130)實(shí)施狀態(tài)改變(212)。
【專利說明】存儲(chǔ)器設(shè)備
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及根據(jù)權(quán)利要求1的前序部分所述的存儲(chǔ)器設(shè)備以及根據(jù)并列權(quán)利要 求所述的方法和計(jì)算機(jī)程序。
【背景技術(shù)】
[0002] 從市場(chǎng)上已知如下的數(shù)字電路、尤其是數(shù)字集成電路:所述電路在存儲(chǔ)器元件、例 如雙穩(wěn)態(tài)觸發(fā)電路、即所謂的觸發(fā)器的內(nèi)部切換過程中導(dǎo)致工作電流的至少脈沖狀改變。 工作電流的所述改變可以在集成電路之外被測(cè)量,由此可以借助于預(yù)先已知的方法和算法 來推斷出存儲(chǔ)器元件的相應(yīng)的數(shù)據(jù)內(nèi)容。這一般來說是不期望的。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明所基于的問題通過根據(jù)權(quán)利要求1所述的存儲(chǔ)器設(shè)備以及通過根據(jù)并列 權(quán)利要求所述的方法和計(jì)算機(jī)程序來解決。有利的擴(kuò)展方案在從屬權(quán)利要求中說明。對(duì)于 本發(fā)明重要的特征還在后面的描述和附圖中找出,其中這些特征可以單獨(dú)地以及以不同組 合地對(duì)于本發(fā)明是重要的,而無需對(duì)此再次明確指明。
[0004] 本發(fā)明涉及一種具有主存儲(chǔ)器元件的存儲(chǔ)器設(shè)備。根據(jù)本發(fā)明,該存儲(chǔ)器設(shè)備具 有分析設(shè)備,該分析設(shè)備被構(gòu)造為確定主存儲(chǔ)器元件是否經(jīng)歷狀態(tài)改變并且將副存儲(chǔ)器元 件操控為,使得當(dāng) (a) 主存儲(chǔ)器元件經(jīng)歷狀態(tài)改變時(shí)副存儲(chǔ)器元件不實(shí)施狀態(tài)改變,以及當(dāng) (b) 主存儲(chǔ)器元件未經(jīng)歷狀態(tài)改變時(shí)副存儲(chǔ)器元件實(shí)施狀態(tài)改變。
[0005] 存儲(chǔ)器設(shè)備是用于持久和/或暫時(shí)存儲(chǔ)數(shù)字?jǐn)?shù)據(jù)的電路。通過本發(fā)明有利地實(shí) 現(xiàn):存儲(chǔ)器設(shè)備一優(yōu)選地在時(shí)間上周期性地一總的來說總是經(jīng)歷或?qū)嵤┢錉顟B(tài)的恰好一次 改變。例如,主存儲(chǔ)器元件是觸發(fā)器(雙穩(wěn)態(tài)觸發(fā)電路),其在其數(shù)據(jù)輸入端由連接在前面的 邏輯門或連接在前面的其他觸發(fā)器的輸出端來操控。根據(jù)該操控,主存儲(chǔ)器元件按照情況 地經(jīng)歷或不經(jīng)歷狀態(tài)改變。根據(jù)本發(fā)明,副存儲(chǔ)器元件可以這樣說表現(xiàn)為與其"互補(bǔ)的"。 在此,基本上不重要的是,副存儲(chǔ)器元件的狀態(tài)相對(duì)于主存儲(chǔ)器元件的(分別未進(jìn)行的)狀 態(tài)改變的方向在哪個(gè)方向上改變。本發(fā)明有利地利用如下認(rèn)識(shí):饋送給存儲(chǔ)器設(shè)備的工作 電流的由相應(yīng)狀態(tài)改變引起--并且一般而言為短時(shí)-的增加基本上不依賴于狀態(tài)改 變的方向。通過本發(fā)明妨礙或甚至實(shí)際上防止:主存儲(chǔ)器元件的相應(yīng)狀態(tài)可以借助于對(duì)工 作電流的分析或者借助于對(duì)電場(chǎng)和/或磁場(chǎng)的測(cè)量在存儲(chǔ)器設(shè)備的周圍空間中被確定。
[0006] 為此,本發(fā)明有利地使用"確定性"的方法,也就是說,為了執(zhí)行不需要隨機(jī)信號(hào)或 偽隨機(jī)信號(hào)以及為此所需的物理元件。由此,在存在可能的外部干擾電場(chǎng)或干擾磁場(chǎng)時(shí)可 以避免"真實(shí)的"隨機(jī)信號(hào)的問題。此外,本發(fā)明僅僅需要對(duì)相應(yīng)電路架構(gòu)進(jìn)行補(bǔ)充,其中 優(yōu)選地使用標(biāo)準(zhǔn)單元、例如客戶專用集成電路。對(duì)單元本身的修改、即例如在有關(guān)半導(dǎo)體襯 底中對(duì)晶體管或門的物理實(shí)施是不需要的。因此,可以將成本和風(fēng)險(xiǎn)保持得小。此外,根據(jù) 本發(fā)明對(duì)現(xiàn)有數(shù)字存儲(chǔ)器設(shè)備的補(bǔ)充需要半導(dǎo)體襯底("芯片")上的比較少的附加面積并 且是相應(yīng)成本有利的。根據(jù)本發(fā)明,僅僅補(bǔ)充("鏡像")這樣的存儲(chǔ)器設(shè)備,即應(yīng)當(dāng)被保護(hù)免 受對(duì)要處理數(shù)據(jù)的未經(jīng)授權(quán)的讀取的具體觸發(fā)器和/或由其構(gòu)造的寄存器。例如,密碼設(shè) 備中的要保護(hù)的8位寄存器基本上僅僅需要補(bǔ)充另一 8位寄存器來用于"鏡像"。甚至當(dāng)應(yīng) 當(dāng)總體上保護(hù)128位寄存器時(shí),這粗略計(jì)算僅僅需要大致1000個(gè)附加的門等效,這與其他 方法相比可能是小的。此外,根據(jù)本發(fā)明的存儲(chǔ)器設(shè)備是可良好伸縮的,也就是說,其可以 簡單地?cái)U(kuò)展到幾乎任意規(guī)模,因?yàn)橄鄳?yīng)電路僅須在觸發(fā)器和門的層面上被改變或補(bǔ)充。一 般而言可能足夠的是,根據(jù)本發(fā)明僅僅保護(hù)電路的比較小的區(qū)域。由此,也可以將對(duì)電功率 的附加消耗保持得小。
[0007] 在一個(gè)優(yōu)選的實(shí)施方式中,副存儲(chǔ)器元件是存儲(chǔ)器設(shè)備的組成部分。但是可替代 地,副存儲(chǔ)器元件也可以被實(shí)施或布置為與存儲(chǔ)器設(shè)備或主存儲(chǔ)器元件分開。
[0008] 在根據(jù)本發(fā)明的存儲(chǔ)器設(shè)備的一個(gè)擴(kuò)展方案中,分析設(shè)備具有比較器,其中主存 儲(chǔ)器元件的輸入端和相關(guān)輸出端與比較器連接,并且其中比較器的輸出端與副存儲(chǔ)器元件 的輸入端連接。在此,比較器被構(gòu)造為將副存儲(chǔ)器元件操控為,使得 a) 如果比較器識(shí)別到主存儲(chǔ)器元件的輸入端和輸出端處的位值相等,則副存儲(chǔ)器元件 改變其輸出端處的位值;以及 b) 如果比較器識(shí)別到主存儲(chǔ)器元件的輸入端和輸出端處的位值不相等,則副存儲(chǔ)器元 件不改變其輸出端處的位值。
[0009] 由于主存儲(chǔ)器元件的當(dāng)前狀態(tài)存在于其輸出端處并且同時(shí)在其輸入端處可以檢 測(cè)接下來的狀態(tài),因此比較器能夠可以這樣說預(yù)測(cè)在下一(時(shí)鐘)步中是否進(jìn)行狀態(tài)改變。 一般來說對(duì)此足夠的是,分析設(shè)備僅僅包括比較器,該比較器優(yōu)選地是借助于邏輯門來實(shí) 施的。存儲(chǔ)器設(shè)備的所述結(jié)構(gòu)使得能夠特別簡單地實(shí)施根據(jù)本發(fā)明的原理。由此,一方面 存儲(chǔ)器設(shè)備僅僅需要比較少的附加的安裝空間或面積,并且另一方面需要來自工作電壓的 少量附加電流,由此減少或避免針對(duì)主存儲(chǔ)器元件的狀態(tài)的其他可能的"攻擊可能性"。 [0010] 在存儲(chǔ)器舍別的另一擴(kuò)展方案中,主和副存儲(chǔ)器元件是邊沿觸發(fā)寄存器。由此,根 據(jù)本發(fā)明的存儲(chǔ)器設(shè)備的應(yīng)用可能性被有利地?cái)U(kuò)大,因?yàn)榇罅繑?shù)字電路同樣根據(jù)時(shí)鐘信號(hào) 的邊沿來控制。
[0011] 尤其是可以規(guī)定:主和副存儲(chǔ)器元件被構(gòu)造為至少大致同時(shí)改變其輸出端處的位 值。在此,術(shù)語"同時(shí)"應(yīng)當(dāng)參照時(shí)間參考、例如時(shí)鐘信號(hào)的邊沿來理解。由此使得主和副存 儲(chǔ)器元件的根據(jù)本發(fā)明的可替代的狀態(tài)改變能夠基本上周期性地在相同時(shí)間柵格中進(jìn)行。 但是根據(jù)本發(fā)明,主存儲(chǔ)器元件和副存儲(chǔ)器元件不同時(shí)在分別相同的時(shí)鐘步中改變其輸出 端處的位值。因此,強(qiáng)烈妨礙或甚至阻止了借助于對(duì)工作電流等的測(cè)量來確定主存儲(chǔ)器元 件的狀態(tài)的可能性。
[0012] 在根據(jù)本發(fā)明的存儲(chǔ)器設(shè)備的另一擴(kuò)展方案中,主存儲(chǔ)器元件包括至少一個(gè)D觸 發(fā)器并且副存儲(chǔ)器元件包括至少一個(gè)T觸發(fā)器。在此,術(shù)語"D"和"T"分別是指英語術(shù)語 "delay (延遲)"(運(yùn)行時(shí)間)和"toggle (開關(guān))"(切換)。例如,D觸發(fā)器或T觸發(fā)器在功 能上對(duì)應(yīng)于已知的分立觸發(fā)器類型"7474"或"74112"。因此,T觸發(fā)器可以被實(shí)施成所謂 的"JK觸發(fā)器"。D觸發(fā)器用在大量數(shù)字電路中,并且T觸發(fā)器是特別適用于根據(jù)本發(fā)明的 目的的元件。
[0013] 在另一擴(kuò)展方案中,主存儲(chǔ)器元件包括至少一個(gè)D觸發(fā)器并且副存儲(chǔ)器元件同樣 包括至少一個(gè)D觸發(fā)器。在此,副存儲(chǔ)器元件的D觸發(fā)器例如借助于邏輯門在功能上被補(bǔ) 充成T觸發(fā)器。由此,根據(jù)本發(fā)明的存儲(chǔ)器設(shè)備有利地僅僅需要一種觸發(fā)器類型,由此必要 時(shí)可以節(jié)省花費(fèi)和成本。
[0014] 本發(fā)明特別有效的是,副存儲(chǔ)器元件的輸出端被施加有電容負(fù)載,使得副存儲(chǔ)器 元件的輸出端處的整個(gè)電容負(fù)載至少大致可以與主存儲(chǔ)器元件的相應(yīng)輸出端處的整個(gè) 電容負(fù)載相比較。尤其是在常用的所謂CMOS電路(英語'Complementary Metal Oxide Semiconductor"(互補(bǔ)金屬氧化物半導(dǎo)體))的情況下,工作電流在觸發(fā)器的狀態(tài)改變期間 的短時(shí)增加大致成比例地依賴于所連接的電容負(fù)載。該負(fù)載第一部分包括觸發(fā)器本身中的 寄生電容,并且第二部分包括從觸發(fā)器的輸出端通向另一觸發(fā)器和/或邏輯門的線路的寄 生電容、以及所述觸發(fā)器和/或邏輯門的輸入電容。因此,可以有利地將(附加的)電容負(fù)載 連接到副存儲(chǔ)器元件。由此,使得能夠至少大致相同地改變存儲(chǔ)器設(shè)備的工作電流,并且更 確切地不依賴于在相應(yīng)的(時(shí)鐘)步中是恰好主存儲(chǔ)器元件還是副存儲(chǔ)器元件經(jīng)歷或?qū)嵤?狀態(tài)改變。由此,改善了本發(fā)明的效果。
[0015] 在本發(fā)明的一個(gè)優(yōu)選的擴(kuò)展方案中,主存儲(chǔ)器元件、分析設(shè)備和副存儲(chǔ)器元件尤 其是借助于CMOS單元被實(shí)施在共同的集成電路中或者被實(shí)施成ASIC或FPGA。例如,CMOS 單元被實(shí)施成標(biāo)準(zhǔn)單元,由此得出存儲(chǔ)器設(shè)備的特別好的可再現(xiàn)性。針對(duì)ASIC電路(英語 "Application-Specific Integrated Circuit"(專用集成電路))或者 FPGA 電路(英語 "Field-Programmable Gate Array"(現(xiàn)場(chǎng)可編程門陣列))得出可比較的情況。本發(fā)明有 利地可應(yīng)用于集成電路的這些實(shí)施方式,因?yàn)橛捎诒容^高的封裝密度,可能導(dǎo)致尤其是通 過測(cè)量工作電流來確定主存儲(chǔ)器元件的狀態(tài)的"攻擊"。這恰好可以通過本發(fā)明來妨礙或甚 至阻止。
[0016] 此外可以規(guī)定,比較器包括至少一個(gè)異或門。一般而言,除了異或門以外,比較器 或分析設(shè)備不需要另外的邏輯門。由此,根據(jù)本發(fā)明的存儲(chǔ)器設(shè)備可以有利地以簡單和成 本有效的方式來實(shí)施。
[0017] 此外,本發(fā)明可以有利地應(yīng)用于包括至少兩個(gè)存儲(chǔ)器設(shè)備一如上面在多個(gè)擴(kuò)展 方案中所述一的存儲(chǔ)器寄存器。由此,本發(fā)明可以有利地不僅僅應(yīng)用于單體觸發(fā)器,而且 還可應(yīng)用于數(shù)字存儲(chǔ)器設(shè)備的幾乎任意實(shí)施方式,例如可應(yīng)用于并行或串行移位寄存器以 及狀態(tài)機(jī)等等。能夠理解,本發(fā)明也可應(yīng)用于布置在共同的集成電路中的多個(gè)或甚至全部 存儲(chǔ)器寄存器。因此,本發(fā)明是幾乎可任意擴(kuò)展的。
[0018] 此外,本發(fā)明涉及一種用于運(yùn)行具有主存儲(chǔ)器元件和副存儲(chǔ)器元件的存儲(chǔ)器設(shè)備 的方法,其中借助于分析設(shè)備來確定主存儲(chǔ)器元件是否經(jīng)歷狀態(tài)改變,并且其中副存儲(chǔ)器 元件被分析設(shè)備操控為,使得當(dāng) (a) 主存儲(chǔ)器元件經(jīng)歷狀態(tài)改變時(shí)副存儲(chǔ)器元件不實(shí)施狀態(tài)改變,以及當(dāng) (b) 主存儲(chǔ)器元件未經(jīng)歷狀態(tài)改變時(shí)副存儲(chǔ)器元件實(shí)施狀態(tài)改變。針對(duì)根據(jù)本發(fā)明的 方法得出與上面已經(jīng)結(jié)合根據(jù)本發(fā)明的存儲(chǔ)器設(shè)備所描述的類似可比較的優(yōu)點(diǎn)。
[0019] 尤其是可以將該方法用于妨礙針對(duì)包括至少一個(gè)根據(jù)本發(fā)明的存儲(chǔ)器設(shè)備的密 碼裝置的旁路攻擊。在此,該密碼裝置可以包括單體觸發(fā)器和/或幾乎任意其他數(shù)字存儲(chǔ) 器設(shè)備,例如并行或串行的移位寄存器等等。
[0020] 此外,本發(fā)明包括具有計(jì)算機(jī)程序的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序用于改變 和/或補(bǔ)充用于描述至少一個(gè)具有主存儲(chǔ)器元件的存儲(chǔ)器設(shè)備的網(wǎng)表和/或源程序正文。 根據(jù)本發(fā)明,該計(jì)算機(jī)程序被構(gòu)造為針對(duì)相應(yīng)主存儲(chǔ)器元件在網(wǎng)表或源程序正文中補(bǔ)充 分別相關(guān)的分析設(shè)備和分別相關(guān)的副存儲(chǔ)器元件。例如,借助于根據(jù)本發(fā)明的計(jì)算機(jī)程 序來改變或補(bǔ)充描述密碼裝置的VHDL源程序正文(VHDL,英語"Very High Definition Language"(超高級(jí)定義語言))。在此,現(xiàn)有主存儲(chǔ)器元件可以被標(biāo)識(shí)出并且如所述那樣被 補(bǔ)充根據(jù)本發(fā)明的相關(guān)分析設(shè)備(或類似物)以及相關(guān)的副存儲(chǔ)器元件。同樣可能的是,如 根據(jù)本發(fā)明所述那樣補(bǔ)充主存儲(chǔ)器元件的可預(yù)先給定的部分。接著,VHDL源程序正文可以 以本身公知方式被進(jìn)一步處理,以便定義相應(yīng)的集成電路并因此最終產(chǎn)生該集成電路。因 此,該計(jì)算機(jī)程序是用于給所述一個(gè)或多個(gè)現(xiàn)有的主存儲(chǔ)器元件補(bǔ)充相應(yīng)的相關(guān)分析設(shè)備 和副存儲(chǔ)器元件的方法的一個(gè)可能的實(shí)施方式。
【專利附圖】
【附圖說明】
[0021] 接下來參考附圖闡述本發(fā)明的示例性的實(shí)施方式。在附圖中: 圖1示出了具有主存儲(chǔ)器元件、副存儲(chǔ)器元件和比較器的存儲(chǔ)器設(shè)備的框圖; 圖2示出了具有圖1的元件處的信號(hào)的時(shí)序圖; 圖3示出了具有漢明距離的分布的第一圖表; 圖4示出了具有漢明距離的分布的第二圖表;和 圖5示出了用于運(yùn)行圖1的存儲(chǔ)器設(shè)備的方法的流程圖。
【具體實(shí)施方式】
[0022] 即使在不同實(shí)施方式中,對(duì)于所有附圖中的等效元件和參量使用相同的附圖標(biāo) 記。
[0023] 圖1示出了用于至少短時(shí)存儲(chǔ)或暫存數(shù)字?jǐn)?shù)據(jù)的存儲(chǔ)器設(shè)備100的框圖。在此, 存儲(chǔ)器設(shè)備100被構(gòu)造為各存儲(chǔ)一位。為此,存儲(chǔ)器設(shè)備100在圖1的上部區(qū)域中包括主 存儲(chǔ)器元件100,借助于其可在附圖中從左向右讀入、存儲(chǔ)和讀出數(shù)字?jǐn)?shù)據(jù)。為此,主存儲(chǔ)器 元件110包括:輸入端112,在其上連接有第一數(shù)據(jù)線114 ;以及輸出端116,在其上連接有 第二數(shù)據(jù)線118。
[0024] 在圖1的中部區(qū)域中,存儲(chǔ)器設(shè)備100具有分析設(shè)備120。分析設(shè)備120包括兩個(gè) 輸入端(無附圖標(biāo)記),所述輸入端分別與主存儲(chǔ)器元件110的輸入端112和輸出端116連 接。
[0025] 在圖1的下部區(qū)域中,存儲(chǔ)器設(shè)備100具有副存儲(chǔ)器元件130。在此,副存儲(chǔ)器元 件130具有反相輸入端132,該反相輸入端132與分析設(shè)備120的輸出端134連接。副存儲(chǔ) 器元件130的輸出端136在此連接到電容器138的第一接線端子上,該電容器138以其第 二接線端子與地電勢(shì)140連接。
[0026] 在圖1的存儲(chǔ)器設(shè)備100的實(shí)施方式中,主存儲(chǔ)器元件110例如被實(shí)施成所謂的 D觸發(fā)器("D"在英語中是指"delay"(延遲)),并且副存儲(chǔ)器元件130例如被實(shí)施成所謂的 T觸發(fā)器("T"在英語中是指"toggle (開關(guān))"、即"切換")。在圖1中未示出用于切換主存 儲(chǔ)器元件110和副存儲(chǔ)器元件130的(優(yōu)選共同的)時(shí)鐘。
[0027] 可替代地可能的是,借助于非時(shí)鐘脈沖的觸發(fā)電路來實(shí)施主存儲(chǔ)器元件110和副 存儲(chǔ)器元件130。例如,主存儲(chǔ)器元件110和副存儲(chǔ)器元件130分別也可以實(shí)施成所謂的 "RS觸發(fā)器"或"鎖存器"。此外,可以使用主和副存儲(chǔ)器元件110和130的任意其他實(shí)施方 式,只要在主存儲(chǔ)器元件110和副存儲(chǔ)器元件130中得出在相應(yīng)狀態(tài)改變212 (參見圖2) 方面的可比較的行為。
[0028] 分析設(shè)備120在圖1中包括比較器,該比較器在此被實(shí)施成異或門或加法器。當(dāng) 主存儲(chǔ)器兀件110的輸入端112處的信號(hào)和副存儲(chǔ)器兀件130的輸出端116處的信號(hào)具有 不同的位值"〇"或" 1"時(shí),輸出端134總是具有值" 1"。相反,當(dāng)主存儲(chǔ)器元件110的輸入 端112處的信號(hào)和副存儲(chǔ)器元件130的輸出端116處的信號(hào)具有相等的位值"0"或"1"時(shí), 輸出端134總是具有值"0"。分析設(shè)備120因此被構(gòu)造為確定主存儲(chǔ)器元件110是否經(jīng)歷 狀態(tài)改變212。
[0029] 副存儲(chǔ)器元件130的功能如下:如果反相輸入端130處的位值為"0",則--在此 在時(shí)間上依賴于上述時(shí)鐘地--在輸出端136處將當(dāng)前存在的位值從"0"改變?yōu)?1"或從 "1"改變?yōu)?〇",也就是說,進(jìn)行翻轉(zhuǎn)過程。在此,也就是說副存儲(chǔ)器元件130借助于分析設(shè) 備120被操控為使得當(dāng)主存儲(chǔ)器元件110經(jīng)歷狀態(tài)改變212時(shí),副存儲(chǔ)器元件130不實(shí)施 狀態(tài)改變212,并且當(dāng)主存儲(chǔ)器元件110未經(jīng)歷狀態(tài)改變212時(shí),副存儲(chǔ)器元件130實(shí)施狀 態(tài)改變212。主存儲(chǔ)器元件110的行為可以這樣說與副存儲(chǔ)器元件130的行為成互補(bǔ)"鏡 像"。
[0030] 因此,在存儲(chǔ)器設(shè)備100中周期性地一并且在此以每個(gè)時(shí)鐘步一總是進(jìn)行恰 好一次狀態(tài)改變212,也就是說,決不不進(jìn)行狀態(tài)改變212并且決不同時(shí)進(jìn)行兩次狀態(tài)改變 212。通過這種方式,防止或至少高度妨礙了 :當(dāng)前存儲(chǔ)在主存儲(chǔ)器元件110中的位值能夠 借助于對(duì)存儲(chǔ)器設(shè)備100的工作電流或?qū)Πù鎯?chǔ)器設(shè)備100的集成電路的工作電流的測(cè) 量而被確定。這尤其是在存儲(chǔ)器設(shè)備100是應(yīng)被保護(hù)免收所謂"旁路攻擊"的密碼裝置的 元件時(shí)是有利的。
[0031] (可選的)電容器138引起輸出端136處的電容負(fù)載提高,該電容負(fù)載至少大 致對(duì)應(yīng)于在主存儲(chǔ)器元件110的輸出端116處由于第二數(shù)據(jù)線118而引起的電容負(fù)載 (未示出)。這尤其是在存儲(chǔ)器設(shè)備100借助于CMOS單元(英語"Complementary Metal Oxide Semiconductor (互補(bǔ)金屬氧化物半導(dǎo)體)")來實(shí)施時(shí)-例如以ASIC (英語 "Application-Specific Integrated Circuit (專用集成電路)")或者 FPGA (英語 "Field-Programmable Gate Array (現(xiàn)場(chǎng)可編程門陣列)")來實(shí)施時(shí)-是有利的。
[0032] 在圖1中為簡單起見僅僅示出了具有1位存儲(chǔ)器容量的主存儲(chǔ)器元件110。但是 相應(yīng)地,存儲(chǔ)器設(shè)備100或集成電路也可以包括多個(gè)主存儲(chǔ)器元件110,其中主存儲(chǔ)器元件 110中的至少一些與分別分配的分析設(shè)備120連接,并且分析設(shè)備120與分別分配的副存儲(chǔ) 器元件130連接。由此,本發(fā)明可以有利地不僅僅應(yīng)用于單體觸發(fā)器,而且還可應(yīng)用于數(shù)字 存儲(chǔ)器設(shè)備100的幾乎任意的實(shí)施方式,例如可應(yīng)用于并行或串行移位寄存器以及狀態(tài)機(jī) 等等。
[0033] 圖2示出了具有圖1的元件處的信號(hào)的時(shí)序圖200。圖2中所示的所有四個(gè)信號(hào) 都具有彼此相等的時(shí)間度量(時(shí)間t)。在圖2中最上方的(第一)信號(hào)表征時(shí)鐘信號(hào)202,其 對(duì)主存儲(chǔ)器元件110和副存儲(chǔ)器元件130發(fā)出時(shí)鐘脈沖。在此,所述時(shí)鐘脈沖借助于時(shí)鐘 信號(hào)202的上升("正")的時(shí)鐘邊沿來進(jìn)行,這在附圖中借助于垂直虛線(沒有附圖標(biāo)記)來 表明。
[0034] 第二信號(hào)表征示例性地施加在主存儲(chǔ)器元件110的輸入端112處的輸入數(shù)據(jù)信號(hào) 204。第三信號(hào)表征施加在主存儲(chǔ)器兀件110的輸出端116處的相關(guān)輸出數(shù)據(jù)信號(hào)206。第 四信號(hào)表征施加在副存儲(chǔ)器兀件130的輸出端136處的相關(guān)翻轉(zhuǎn)信號(hào)208。
[0035] 此外,在圖2中示出了內(nèi)部運(yùn)行時(shí)間210,該內(nèi)部運(yùn)行時(shí)間210表征時(shí)鐘信號(hào)202 的正邊沿與由其在主存儲(chǔ)器元件110的輸出端116處或副存儲(chǔ)器元件130的輸出端136處 引起的邊沿之間的時(shí)間段。在此,主存儲(chǔ)器元件110和副存儲(chǔ)器元件130的內(nèi)部運(yùn)行時(shí)間 210至少近似相等,使得在輸出端116或136處的位值參考時(shí)鐘信號(hào)202的相應(yīng)邊沿可以或 可能至少大致同時(shí)被改變。
[0036] 在此,針對(duì)輸入數(shù)據(jù)信號(hào)204同樣假定相同的內(nèi)部運(yùn)行時(shí)間210,該內(nèi)部運(yùn)行時(shí)間 210由在第一數(shù)據(jù)線114的信號(hào)路徑中連接在前面的觸發(fā)器(未示出)來預(yù)先給定。但是所 述相同的內(nèi)部運(yùn)行時(shí)間210或所述觸發(fā)器不是為了根據(jù)本發(fā)明的存儲(chǔ)器設(shè)備100的效果所 強(qiáng)制性需要的的。
[0037] 時(shí)鐘信號(hào)202、輸入數(shù)據(jù)信號(hào)204和輸出數(shù)據(jù)信號(hào)206表征由D觸發(fā)器本身預(yù)先已 知的信號(hào)的時(shí)間變化曲線。針對(duì)輸出數(shù)據(jù)信號(hào)206和翻轉(zhuǎn)信號(hào)208,在圖2中借助于箭頭表 示出位值或相關(guān)邊沿的切換,所述箭頭因此分別表征狀態(tài)改變212??梢宰R(shí)別出,當(dāng)輸出數(shù) 據(jù)信號(hào)206在相應(yīng)時(shí)鐘步中改變其位值時(shí),翻轉(zhuǎn)信號(hào)208不改變其位值,并且當(dāng)輸出數(shù)據(jù)信 號(hào)206在相應(yīng)時(shí)間步中不改變其位值時(shí),翻轉(zhuǎn)信號(hào)208改變其位值。因此,得出已經(jīng)在圖1 中描述的根據(jù)本發(fā)明的效果。
[0038] 圖3示出了具有在分別兩個(gè)統(tǒng)計(jì)上彼此獨(dú)立的長度為16位的二進(jìn)制隨機(jī)數(shù)之間 的漢明距離的正態(tài)分布300的坐標(biāo)系。相應(yīng)地,圖3同樣表征并行實(shí)施的16位存儲(chǔ)器元件 中的翻轉(zhuǎn)過程(英語"bit flips"(位翻轉(zhuǎn)))的正態(tài)分布300,所述16位存儲(chǔ)器元件并列地 存儲(chǔ)統(tǒng)計(jì)上彼此獨(dú)立的16位長度的二進(jìn)制隨機(jī)數(shù)。圖3因此表征了 16位并行實(shí)施方式中 的存儲(chǔ)器設(shè)備100,而沒有根據(jù)本發(fā)明使用分析設(shè)備120和副存儲(chǔ)器元件130。
[0039] 在所示坐標(biāo)系的橫坐標(biāo)上示出了在一步中分別可能的翻轉(zhuǎn)過程的數(shù)目,并且在縱 坐標(biāo)上示出了相關(guān)(統(tǒng)計(jì))的頻率310。能夠識(shí)別出,頻率310在一步中最大16個(gè)可能的翻 轉(zhuǎn)過程的一半數(shù)目(8)處具有相對(duì)最大值。相應(yīng)地,借助于對(duì)工作電流的測(cè)量來推斷出借 助于圖3所表征的16位存儲(chǔ)器元件的當(dāng)前內(nèi)容是比較容易的。
[0040] 圖4示出了具有并行實(shí)施的類似于圖3的16位存儲(chǔ)器元件中的翻轉(zhuǎn)過程的分布 400的坐標(biāo)系。但是在圖4中,存儲(chǔ)器設(shè)備100為了演示以四種不同方式被運(yùn)行,其中根據(jù) 本發(fā)明的"鏡像"按照情況根本未被使用或僅僅部分被使用或完全被使用。在所示坐標(biāo)系 的橫坐標(biāo)上示出了在一步中分別可能的翻轉(zhuǎn)過程的數(shù)目,并且在縱坐標(biāo)上示出了相應(yīng)歸一 化的相關(guān)(統(tǒng)計(jì))的頻率410。
[0041] 針對(duì)第一分布420,未執(zhí)行主存儲(chǔ)器兀件110的"鏡像"。因此,第一分布420對(duì)應(yīng) 于圖3的分布300。
[0042] 針對(duì)第二分布430,16個(gè)主存儲(chǔ)器元件110的一半(即8個(gè))根據(jù)本發(fā)明被鏡像。 因此,在每個(gè)時(shí)鐘步中分別可靠地進(jìn)行至少8個(gè)翻轉(zhuǎn)過程,以及統(tǒng)計(jì)分布地進(jìn)行0至8個(gè)翻 轉(zhuǎn)過程。頻率的最大值總共為12。
[0043] 針對(duì)第三分布440,主存儲(chǔ)器元件110中的75%(即12個(gè))根據(jù)本發(fā)明被鏡像。因 此,在每個(gè)時(shí)鐘步中分別可靠地進(jìn)行至少12個(gè)翻轉(zhuǎn)過程,以及統(tǒng)計(jì)分布地進(jìn)行0至4個(gè)翻 轉(zhuǎn)過程。頻率的最大值總共為14。
[0044] 針對(duì)第四分布450,主存儲(chǔ)器元件110中的100% (即16個(gè))根據(jù)本發(fā)明被鏡像。 因此,在每個(gè)時(shí)鐘步中總是進(jìn)行恰好16個(gè)翻轉(zhuǎn)過程。相應(yīng)地,分布450延伸到唯一的點(diǎn) (16/1. 00)。因此,第四分布450對(duì)于防止旁路攻擊是特別合理的。
[0045] 圖5示出了用于運(yùn)行存儲(chǔ)器設(shè)備100的方法的流程圖。在開始框500中,圖5中 所示的程序開始。在接下來的框510中,借助于分析設(shè)備120確定:主存儲(chǔ)器元件110是否 經(jīng)歷狀態(tài)改變212。
[0046] 在另一框520中,分析設(shè)備120將副存儲(chǔ)器元件130操控為,使得當(dāng)主存儲(chǔ)器元件 110經(jīng)歷狀態(tài)改變212時(shí),副存儲(chǔ)器元件130不實(shí)施狀態(tài)改變212,并且當(dāng)主存儲(chǔ)器元件110 未經(jīng)歷狀態(tài)改變212時(shí),副存儲(chǔ)器元件130實(shí)施狀態(tài)改變212。在結(jié)束框530中,在圖5中 所示的程序結(jié)束,該程序優(yōu)選地利用涉及存儲(chǔ)器設(shè)備100的每個(gè)時(shí)鐘步在框510處開始持 久地重復(fù)。
【權(quán)利要求】
1. 一種具有主存儲(chǔ)器元件(110)的存儲(chǔ)器設(shè)備(1〇〇),其特征在于,存儲(chǔ)器設(shè)備(loo) 包括分析設(shè)備(120),所述分析設(shè)備(120)被構(gòu)造為確定主存儲(chǔ)器元件(110)是否經(jīng)歷狀態(tài) 改變(212 )并且將副存儲(chǔ)器元件(130 )操控為,使得當(dāng) (a)主存儲(chǔ)器元件(110)經(jīng)歷狀態(tài)改變(212)時(shí),副存儲(chǔ)器元件(130)不實(shí)施狀態(tài)改變 (212);以及當(dāng) (b )主存儲(chǔ)器元件(110 )未經(jīng)歷狀態(tài)改變(212 )時(shí),副存儲(chǔ)器元件(130 )實(shí)施狀態(tài)改變 (212)。
2. 根據(jù)權(quán)利要求1所述的存儲(chǔ)器設(shè)備(100),其中分析設(shè)備(120)具有比較器,并且其 中主存儲(chǔ)器元件(110)的輸入端(112)和相關(guān)輸出端(116)與所述比較器連接,其中所述比 較器的輸出端(134)與副存儲(chǔ)器元件(130)的輸入端(132)連接,并且其中所述比較器被構(gòu) 造為將副存儲(chǔ)器元件(130)操控為,使得 a) 如果所述比較器識(shí)別到主存儲(chǔ)器元件(110)的輸入端(112)和輸出端(116)處的位 值相等,則副存儲(chǔ)器元件(130)改變其輸出端(136)處的位值;以及 b) 如果所述比較器識(shí)別到主存儲(chǔ)器元件(110)的輸入端(112)和輸出端(116)處的位 值不相等,則副存儲(chǔ)器元件(130)不改變其輸出端(136)處的位值。
3. 根據(jù)權(quán)利要求1或2所述的存儲(chǔ)器設(shè)備(100),其中主和副存儲(chǔ)器元件(110,130)是 邊沿觸發(fā)寄存器。
4. 根據(jù)前述權(quán)利要求至少之一所述的存儲(chǔ)器設(shè)備(100),其中主和副存儲(chǔ)器元件 (110,130 )被構(gòu)造為至少大致同時(shí)改變?cè)谄漭敵龆耍?16,136 )處的位值。
5. 根據(jù)前述權(quán)利要求至少之一所述的存儲(chǔ)器設(shè)備(100),其中主存儲(chǔ)器元件(110)包 括至少一個(gè)D觸發(fā)器并且副存儲(chǔ)器元件(130)包括至少一個(gè)T觸發(fā)器。
6. 根據(jù)前述權(quán)利要求至少之一所述的存儲(chǔ)器設(shè)備(100),其中主存儲(chǔ)器元件(110)包 括至少一個(gè)D觸發(fā)器并且副存儲(chǔ)器元件(130)包括至少一個(gè)D觸發(fā)器。
7. 根據(jù)前述權(quán)利要求至少之一所述的存儲(chǔ)器設(shè)備(100),其中副存儲(chǔ)器元件(130)的 輸出端(136)被施加有電容負(fù)載(138),使得副存儲(chǔ)器元件(130)的輸出端(136)處的整個(gè) 電容負(fù)載至少大致能夠與主存儲(chǔ)器元件(110)的相應(yīng)輸出端(116)處的整個(gè)電容負(fù)載相比 較。
8. 根據(jù)前述權(quán)利要求至少之一所述的存儲(chǔ)器設(shè)備(100),其中主存儲(chǔ)器元件(110)、分 析設(shè)備(120)和副存儲(chǔ)器元件(130)尤其是借助于CMOS單元、即互補(bǔ)金屬氧化物半導(dǎo)體被 實(shí)施在共同的集成電路中,或者被實(shí)施為ASIC、即專用集成電路,或者被實(shí)施為FPGA、即現(xiàn) 場(chǎng)可編程門陣列。
9. 根據(jù)前述權(quán)利要求至少之一所述的存儲(chǔ)器設(shè)備(100),其中所述比較器包括至少一 個(gè)異或門。
10. -種存儲(chǔ)器寄存器,其特征在于,其包括至少兩個(gè)根據(jù)前述權(quán)利要求至少之一所述 的存儲(chǔ)器設(shè)備(100)。
11. 一種用于運(yùn)行具有主存儲(chǔ)器元件(110)和副存儲(chǔ)器元件(130)的存儲(chǔ)器設(shè)備(100) 的方法,其中借助于分析設(shè)備(120)來確定主存儲(chǔ)器元件(110)是否經(jīng)歷狀態(tài)改變(212), 并且其中副存儲(chǔ)器元件(130)被分析設(shè)備(120)操控為,使得當(dāng) (a)主存儲(chǔ)器元件(110)經(jīng)歷狀態(tài)改變(212)時(shí),副存儲(chǔ)器元件(130)不實(shí)施狀態(tài)改變 (212);以及當(dāng) (b )主存儲(chǔ)器元件(110 )未經(jīng)歷狀態(tài)改變(212 )時(shí),副存儲(chǔ)器元件(130 )實(shí)施狀態(tài)改變 (212)。
12. 根據(jù)權(quán)利要求11所述的方法,其中該方法被用于妨礙針對(duì)密鑰裝置的旁路攻擊。
13. -種具有計(jì)算機(jī)程序的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序用于改變和/或補(bǔ)充用 于描述至少一個(gè)具有主存儲(chǔ)器元件(110)的存儲(chǔ)器設(shè)備(100)的網(wǎng)表和/或源程序正文,其 特征在于,所述計(jì)算機(jī)程序針對(duì)相應(yīng)的主存儲(chǔ)器元件(110)在所述網(wǎng)表或源程序正文中補(bǔ) 充根據(jù)權(quán)力要求1至9之一所述的分別相關(guān)的分析設(shè)備(120)和分別相關(guān)的副存儲(chǔ)器元件 (130)。
【文檔編號(hào)】G11C7/18GK104143354SQ201410189711
【公開日】2014年11月12日 申請(qǐng)日期:2014年5月7日 優(yōu)先權(quán)日:2013年5月8日
【發(fā)明者】M.劉易斯, P.杜普利斯 申請(qǐng)人:羅伯特·博世有限公司