用于处理数据的方法和设备转让专利
申请号 : CN201510383768.6
文献号 : CN105245325B
文献日 : 2021-07-02
发明人 : P.杜普利斯 , S.莱热
申请人 : 罗伯特·博世有限公司
摘要 :
权利要求 :
1.一种用于处理数据的方法,其中该方法具有如下步骤:‑ 对要处理的数据字(DW)进行编码(200),以便获得具有可预先给定数目的位的被编码的数据字(DW'),
‑ 影响(210)所述被编码的数据字(DW')的最大为k个的多个位,以便获得被改变的数据字(DW''),
‑ 在使用纠错码的情况下对所述被改变的数据字(DW'')进行解码(220),以便获得被解码的数据字(DW'''),
‑ 处理(230)所述被解码的数据字(DW'''),其中所述影响步骤(210)包括所述被编码的数据字(DW')的最大为k个的多个位的取反和/或删除。
2.根据权利要求1所述的方法,其中为所述编码步骤(200)使用纠错码、特别是汉明码。
3.根据上述权利要求之一所述的方法,其中所述处理步骤(230)包括加密方法或加密方法的一部分的执行或数据与可预先给定的参考数据的比较。
4.根据权利要求1或2所述的方法,其中所述被编码的数据字(DW')和/或所述被改变的数据字(DW'')和/或所述被解码的数据字(DW''')至少暂时被存储。
5.根据权利要求1或2所述的方法,其中所述影响(210)根据确定性的和/或基于随机的方法来执行。
6.根据权利要求1或2所述的方法,其中所述解码(220)被执行,使得用于解码所述被改变的数据字(DW'')的时间是非恒定的。
7.一种用于处理数据的设备(100),其中该设备包括:‑ 存储器(110),在该存储器中保存具有可预先给定数目的位的事先被编码的数据字(DW'),所述事先被编码的数据字(DW')通过对要处理的数据字(DW)进行编码(200)而获得,‑ 影响单元(140),用于影响(210)所述被编码的数据字(DW')的最大为k个的多个位,以便获得被改变的数据字(DW'),‑ 解码单元(120),用于在使用纠错码的情况下对所述被改变的数据字(DW')进行解码(220),以便获得被解码的数据字(DW''),‑ 处理单元(130),用于处理(230)所述被解码的数据字(DW''),其中所述影响单元(140)被构造用于执行所述影响(210),使得所述影响包括所述被编码的数据字(DW')的最大为k个的多个位的取反和/或删除。
8.根据权利要求7所述的设备(100),其中所述设备(100)被构造用于为所述编码(200)使用纠错码。
9.根据权利要求8所述的设备(100),其中所述纠错码是汉明码。
10.根据权利要求7至9之一所述的设备(100),其中所述存储器(110)被构造用于至少暂时在所述存储器(110)中存储所述被编码的数据字(DW')和/或所述被改变的数据字(DW'')和/或所述被解码的数据字(DW''')。
说明书 :
用于处理数据的方法和设备
技术领域
背景技术
击(英语:side channel attack)可以攻击上面提及的系统和方法或更确切地说其在目标
系统、譬如微控制器等中具体的以硬件和软件方式的实施。在这些侧通道攻击中,检测并且
鉴于与秘密数据、譬如加密方法的秘密密钥的相关性检查要攻击的系统的一个或多个物理
参数(例如电流消耗、电磁辐射等)。由此,攻击者可以获得关于秘密密钥和/或被处理的数
据的信息。
发明内容
花费。有利地,通过根据本发明影响被编码的数据字并且接着解码可以在执行该处理步骤
的时刻方面引入显著程度的波动,使得使分析并且因此加密攻击显著变得困难。此外,被编
码的数据字以及根据本发明被影响的数据字的根据本发明的使用进一步遮掩由设备处理
的数据,使得特别是差分功率分析攻击必须花费大得多地被度量,以便达到与在不具有根
据本发明的保护的系统中相同的认识程度。
方法的处理流程中精确地放置攻击意义上的(其他)错误,因此错误注入攻击是徒劳的或至
少显著变得困难。即对于成功的错误注入攻击而言从攻击者方面将错误注入该系统的精确
时刻、例如执行为错误注入攻击的对象的处理步骤或处理要由攻击者确定的数据(例如写
入寄存器中)的时刻是重要的。该时刻的找出通过对被编码的数据字的根据本发明的有意
识的操纵而显著变得困难。
中,一个或多个被编码的数据字可以被存放在表格或单独的存储器中并且被实施为对于根
据本发明的方法而言可调用。在另一实施方式中,根据本发明的方法的有些步骤也可以通
过第一部件(FPGA(现场可编程门阵列(field programmable gate array))的第一微控制
器或第一功能块)执行,而根据本发明的方法的其他步骤通过第二部件(同一FPGA的第二微
控制器或第二功能块等)执行。
据本发明的对最大为k个的多个位的影响。
储器。内部存储器根据一种实施方式例如可以是设备的计算单元或处理器的寄存器。此外,
存储器一般可以是直接存取存储器(RAM,随机存取存储器(Random Access Memory))或也
可以是非易失性存储器、譬如快闪式存储器等。
法、例如根据伪随机过程等执行影响。以此方式有利地可以省去设置真随机数的源或高质
量熵源。用于伪随机方法的初始化值例如可以存储在设备中或以其他方式、例如根据该设
备的序号等分配给该设备。
附图说明
具体实施方式
施方式中,该数据字具有例如8、16和32位的恒定长度的位序列。其他值同样是可设想的。
由设备100处理的数据。以此方式,使侧通道攻击和错误注入攻击显著变得困难,因为设备
100的主要处理步骤并不直接利用(未掺假的)数据字来执行,而是例如利用被改变的数据
字DW''或由此导出的数据来执行。
数据字的重建是可能的,即无错误的解码。为此,在一种实施方式中,可以选择具有合适的
参数的相应的码、例如汉明码或Marker码,并且影响步骤210的参数k的值根据所选择的码
或其参数来确定。
取反和/或删除。
的参考数据的比较,例如由用户输入的标识与参考标识的比较,该参考标识例如存放在设
备100的存储器110(图2)中,并且从该参考标识例如可以导出数据字。
如快闪式存储器等或前述存储器的组合。在存储器110中,根据一种实施方式保存有事先被
编码的数据字DW',例如被保存在编码表等中。事先被编码的数据字DW'例如可以在执行根
据图1的步骤200的情况下获得。
行的对被编码的数据字的最大为k个的多个位的影响,这能够通过使用纠错码(例如汉明码
或Marker码)来实现。
步骤200)之后又在根据本发明的意义上被改变,以便使侧通道攻击和错误注入攻击变得困
难。处理单元130的输出数据和/或被影响的输出数据可以被保存在存储区110a中,例如用
于以后的处理。替代地或补充地,这样的数据也可以被保存在存储器110中并且经受上面所
述的通过部件110、120、130、140的处理顺序。
批号特定的)初始化值S,该初始化值在制造设备100时被定义并且存储在其中。在另一变型
方案中,可以规定,设备100或其种子单元本身按照可预先给定的方法和/或以取决于(伪)
随机的方式改变初始化值。
二处理循环i+1的处理步骤S6、...、S10的时间过程。
(中央处理单元)寄存器中。同时,对于攻击者而言通常存在例如按照差分功率分析(dpa)的
原理进行侧通道攻击的可能性,例如通过检测和分析设备100或其计算单元在步骤S1期间
的电能消耗。在图3中,合适的时间窗配备有附图标记DPA1。对于其中产生的在加密意义上
的泄漏L(侧通道泄漏(side channel leakage))因此可以采用如下表达式:L=HW(b0, b1,
b2, ..., b7),其中HW(x)是数据字x的汉明权重。因此,泄漏L相应地在步骤S1中取决于例如
包含数据位b0、b1、b2、...、b7的被加载的数据字的汉明权重。
攻击的适宜的可能性。在图3中,合适的时间窗配备有附图标记DPA2。
前存在的位位置b3、b5的根据本发明的影响。当前根据本发明有意识地进行的对相应的位位
置的改变类似于如例如也在错误注入攻击中出现的、位错误到根据本发明被处理的数据字
中的注入。与此不同,然而当前的影响在设备100的控制下有意识地进行,而攻击者不能以
简单方式得知该影响。由此,被处理的数据被遮掩并且使有效的加密攻击变得困难。
110中。替代地或补充地,从一个寄存器到另一寄存器的复制等对于步骤S5也在考虑之内。
分功率分析(dpa)的原理进行侧通道攻击的可能性,例如通过检测和分析设备100或其计算
单元在步骤S6期间的电能消耗。在图3中,合适的时间窗配备有附图标记DPA3。对于其中产
生的在加密意义上的泄漏L2(侧通道泄漏)因此可以采用如下表达式:L2 = HW(b0, b1, b2,
e, b4, e, b6, b7)。认识到,在步骤S6中可确定的泄露L2明显不同于步骤S1中的泄露,即L2
≠L1,这可以归因于在存储(步骤S5)之前的根据本发明的影响(步骤S4)。根据本发明的方
法的应用因此有利地导致将显著的无论如何不消失的噪声导入泄漏中,使得在根据本发明
的设备100中与常规设备的情况下相比需要显著更大的花费,以便确定设备100中的相同程
度的可利用的泄露信息。
数据又通过影响单元140经受影响。在步骤S10中最后将以此方式进一步被影响的数据保存
在存储器110或另一存储区110a中,所述被影响的数据当前为位序列b0、b1、b2、b3、b4、b5、b6、
e。
处理持续时间,而随后的循环i+1中的类似步骤S7占用与第一处理持续时间不同的第二处
理持续时间,由此出现对于分别随后的步骤S3、S8而言相关的彼此不同的延迟di、di+1,使
得与此相应地从循环i到循环i+1对于侧通道攻击而言有利的时间窗DPA4(相较于DPA2)也
推迟。由于攻击者首先关于该非恒定的解码持续时间通常同样不具有任何信息,所以由此
也使加密攻击变得困难。
码的数据字和此外根据本发明被影响的数据字,所述数据字包含位错误或相对于正常被编
码的数据字的偏差。通过根据本发明在使用能够实现事后纠错的码的情况下设置解码单
元,以此方式可以处理大量不同的以(伪)随机方式被影响的数据字,这进一步降低dpa或错
误注入攻击的成功机会或使这些攻击显著成本更高。
没有困难地转用于相同类型的第二设备100。