用于處理數據的裝置和方法
【技術領域】
[0001] 本發明涉及用于處理數據的裝置,其中該裝置具有用于接收輸入數據的輸入接口 以及用于處理數據的處理單元。
[0002] 本發明還涉及用于運行這種裝置的方法。
【發明內容】
[0003] 本發明的任務是改善開頭所述類型的裝置和方法,使得針對攻擊、尤其是側信道 攻擊給出提高的安全性。
[0004] 該任務按照本發明在開頭所述類型的裝置情況下通過如下方式來解決:設置有編 碼單元,其被構造用于對在輸入接口處作為輸入數據而獲得的數據字進行編碼,以獲得編 碼數據字,其中編碼單元被構造用于將數據字編碼為使得可預給定份額的測量值、優選所 有測量值的至少大約50%與設定值具有差別,其中所述測量值表征編碼數據字和/或通過 該裝置對其的處理并且可以根據該裝置的至少一個物理參量被確定,其中所述差別小于或 等于可預給定的閾值,其中編碼單元還被構造用于,根據至少一個編碼參數執行用于對數 據字進行編碼的編碼準則,其中所述處理單元被構造用于處理編碼數據字。
[0005] 按照本發明已認識到:在按照前面建議的原理對待處理的數據字進行編碼的情況 下能夠使對本發明裝置的側信道攻擊變得困難或者不可能。眾所周知,對數據處理裝置或 方法的特定實施、諸如密碼算法的實施等等的側信道攻擊被應用,其中充分利用:該裝置的 一個或多個可觀察或可測量的物理參量取決于所處理的數據并且因此準許得出關于所處 理的數據、諸如秘密的密碼密鑰等等的推斷。
[0006] 在側信道攻擊的范疇中,因此例如可以在測量技術上檢測上面提及的測量值,所 述測量值代表編碼數據字和/或表征通過裝置對編碼數字的處理,并且攻擊者可以嘗試從 這些測量值中獲得關于實際處理的數據的信息。
[0007] 按照本發明已認識到:能夠規定在數據字的處理之前對數據字進行編碼,使得對 裝置的側信道攻擊變得困難。本發明的原理基于以如下目的進行編碼:即針對側信道攻擊 待確定的測量值變得"區別力"較小或者說具有與實際處理的數據的較小的相關性。換句 話說,本發明的編碼規定:實際上處理的數據、即編碼數字因此適配于該裝置的具體實施 (相對于未編碼的數據字),使得對于側信道攻擊所使用的測量值在所處理的數據字方面包 括較少的信息含量或較少的相關性。這種編碼也可以被稱為所謂的"泄漏防護碼(leakage preservingcode)",因為所述編碼在密碼意義上減少或防止"泄漏"。
[0008] 按照本發明還有利地給出了如下可能性:根據至少一個編碼參數來執行用于對數 據字進行編碼的編碼準則,其中通過改變編碼參數有利地進一步使側信道攻擊變得困難。
[0009] 上述任務也通過用于處理數據的裝置來解決,其中設置有編碼單元,其被構造用 于對在輸入接口處作為輸入數據獲得的數據字進行編碼,以便獲得編碼數據字,其中編碼 單元被構造用于將數據字編碼為使得所有編碼數據字的可預給定的份額、優選所有編碼數 據字的至少大約50%相互具有可預給定的漢明距離和/或可預給定的漢明權重,其中編碼 單元被構造用于根據至少一個編碼參數來執行用于對數據字進行編碼的編碼準則,并且其 中處理單元被構造用于對編碼數據字進行處理。編碼參數又能夠有利地實現編碼過程的變 動,由此有利地進一步使側信道攻擊變得困難。
[0010] 在優選實施方式中規定:所述一個或多個編碼參數隨時間被改變。根據所處理的 或待編碼的數據和/或時間的變動同樣是可設想的。
[0011] 在優選實施方式中規定:設定值針對所有測量值相同地被選擇,這能夠實現對所 涉及的代碼的簡單的確定。
[0012] 在特別優選的實施方式中作為設定值選擇在測量值的所有可能值上的平均值。在 該意義上,"測量值的所有可能值"被理解為所有測量值的集合,如在處理所有編碼數據字 時所得到的集合,所述數據字通過按照本發明的編碼來設置。所有可能的測量值的集合例 如可以在對本發明裝置的具體實施的試驗設計中被確定,其方式是在給定編碼的情況下通 過該裝置進行數據處理,使得每個編碼數據字均被輸送給處理單元一次用于處理。在處理 相應的數據字時,與此相應地獲得特定的測量值,其表征數據字或者在裝置中的數據字的 處理。根據一種實施方式,這樣獲得的測量值可以被確定,并且最終例如其平均值可以被用 作用于按照本發明編碼的設定值。例如,也可以逐步地確定本發明的編碼、也即編碼數據字 至未編碼的數據字的分配。該分配例如可以以迭代方法進行,以便從而逐步地精細化通過 本發明編碼單元在編碼范疇中進行的變換或編碼數據字,直至一個或多個特定的測量值與 設定值的差別滿足本發明的閾值標準。于是確保:可以由如此編碼的數據字導出的測量值 僅僅輕微與設定值相區別,使得通過對測量值或由此導出的值的分析而進行的側信道攻擊 明顯變得困難或者使得不可能。
[0013] 特別有利的是,本發明的原理不基于隨機數或偽隨機數的使用,并且也不要求熵 源。相反地,本發明的編碼即使在使用至少一個編碼參數的情況下也是用于將待處理的數 據變換成編碼數據字的確定性準則。優選地,針對該裝置的每個特定實施可以確定并且使 用專門的編碼,其中可以借助所述一個或多個編碼參數來選擇相應的變型方案。也可以設 想的是,針對該裝置的特定的實施確定多個可能的編碼并且在裝置的運行期間對所述編碼 進行切換,由此相對于側信道攻擊進一步提高安全性。
[0014] 在另一有利的實施方式中規定:不對于所有測量值相同地選擇設定值。這意味著, 根據所涉及的實施方式本發明編碼如下提供自由度,即對于不同的測量值設置不同的設定 值。由此,例如可以在測量值的實施或獲得時有利地考慮不對稱性。例如可以設想:在處理 第一組編碼數據字時可以獲得測量值,這些測量值包含比在處理第二組編碼數據字時關于 所處理的數據的更大的信息含量。在該情況下,合乎目的的可以是,針對不同組編碼數據字 設置不同的設定值,以便減少或者補償所述不對稱性,盡可能地具有以下目的:盡管不對稱 性,所有可能的測量值在所處理的數據方面具有類似的信息含量。
[0015] 在另一有利的實施方式中規定:為至少兩個測量值或分配給所述測量值的數據字 分別設置不同的閾值。通過這種方式,可以實現在編碼方面其他自由度,其允許更容易地找 到編碼所基于的本發明變換。
[0016] 在另一有利的實施方式中,測量值是標量參量或者矢量參量,或者所述測量值具 有矩陣形式。例如,測量值可以代表裝置的或者裝置的至少一個組件的電能耗。在該情況 下,該裝置的攻擊者可以確定該電能耗作為在本發明意義上的測量值,以便實施側信道攻 擊。在該具體應用情況下,最后在處理單元中處理的編碼數據字的按照本發明的編碼有利 地引起:對于該裝置或至少一個組件的電耗能的相應測量值僅僅輕微地相互區別,由此又 使側信道攻擊變得困難。
[0017] 用于以矢量特征方式的測量值的例子例如是如下應用情景,其中對于每個所處理 的編碼數據字確定該裝置的不同組件或一般而言部件的多個電能耗值。這種多個測量值自 然也可以以矩陣形式來組織。其中以矩陣形式代表測量值看起來是合乎目的的另外的例子 例如是確定由該裝置輻射的電磁場。在該情況下例如可以在該裝置運行期間在該裝置上方 放置多個場探測器,所述場探測器被用于測量電磁場,并且各個場探測器的相應測量值例 如可以被分配給本發明意義上的以矩陣形式存在的測量值的各個矩陣元素。
[0018] 視本發明意義上的測量值的特征而定地,也可以相應地選擇用于確定測量值與設 定值的差別的比較運算。同樣的內容也適用于設定值。例如對于標量參量,可以設置簡單 的差形成連同接著的數值形成,以便對在測量值、例如裝置的電能量消耗的值與相應設定 值之間的差別進行評估。在測量值的矢量或者矩陣形式的參量的情況下,可以相應地定義 其他合適的函數,以便定義與設定值(例如設定矢量、設定矩陣等等)的所涉及的差別。
[0019] 一般而言,在本發明意義上的概念"測量值"根據一種實施方式也可以理解為由物 理測量值導出的參量。例如,從裝置的一個或多個測量值導出的漢明距離或漢明權重也代 表本發明意義上的"測量值"。這意味著,在相應地實施本發明時也可以將編碼構造為,使得 不直接相應于可物理檢測的值、而是相反地相應于由此導出的值的測量值遵循本發明的閾 值標準。這意味著:按照本發明該編碼也可以被實施為,使得代表編碼數據字或其處理的物 理測量值例如不直接遵循本發明的閾值標準,而是由此導出的參量、諸如漢明距離或漢明 權重遵循本發明的閾值標準。
[0020] 在另一實施方式中,編碼單元被構造用于對數據字進行編碼為,使得所有編碼數 據字的可預給定的份額、優選所有編碼數據字的至少大約50%相互間具有可預給定的漢明 距離和/或可預給定的漢明權重。按照本發明已認識到:在輸入側借助所建議的編碼(所述 編碼定義關于漢明距離或漢明權重的標準)獲得的數據字的變換導致關于在本發明處理單 元內被處理的數據的信息的較少泄漏,尤其是也可以有助于遵循針對測量值的本發明閾值 標準。
[0021] 在本實施方式中,"所有編碼數據字"優選理解為所有理論上出現的編碼數據字的 集合。例如當存在數目為j的多個(jVielen)在輸入側獲得的數據字時,可以通過編碼 單元相應地給所述數目為j的多個在輸入側獲得的數據字分配數目為j的多個編碼數據 字。優選在一種實施方式中因此如此進行編碼,使得數目為j的多個編碼數據字的至少大 約50%相互間具有可預給定的漢明距離。代替地或補充地,也可以如此進行編碼,使得數目 為j的多個編碼數據字的至少大約50%具有可預給定的漢明權重。
[0022] 在一種有利的實施方式中規定:處理單元具有至少一個寄存器,其被構造用于至 少暫時地存儲至少一個編碼數據字。這意味著,本發明的一種簡單的實施方式涉及如下裝 置,其具有輸入接口和本發明的編碼單元,并且其中按照本發明的處理例如規定至少暫時 地在寄存器中存儲。在該實施方式中,因此按照本發明編碼的數據字(也或者多個編碼數 據字)至少暫時地被存儲在一個寄存器中或者另一寄存器中,而且以編碼形式被存儲,使 得編碼數據字的隨后的讀取和繼續處理是可能的。例如隨后的密碼方法可以讀取相應的寄 存器并且繼續處理數據。代替地或補充地,本發明的處理單元也可以具有至少一個密碼單 元,其被構造用于執行密碼方法的至少一部分。例如處理單元可以具有密碼單元,其被構造 用于執行完整的AES(高級加密標準,advancedencryptionstanda