用于处理数据的设备和方法

文档序号:6542035阅读:158来源:国知局
用于处理数据的设备和方法
【专利摘要】用于处理数据的设备和方法。本发明涉及用于处理数据的设备,其中该设备具有用于接收输入数据的输入接口和用于处理数据的处理单元,其特征在于,设置编码单元,该编码单元被构造为对在输入接口上作为输入数据获得的数据字进行编码,以获得经编码的数据字,其中对经编码的数据字能够依据所述设备的至少一个物理参量求得测量值,所述测量值表征经编码的数据字和/或通过所述设备对经编码的数据字的处理,其中编码单元被构造为对数据字进行编码,使得所有测量值的可预定分量、优选所有测量值的至少大约50%具有与预定值的差异,该差异小于或等于可预定的阈值,并且处理单元被构造为对经编码的数据字进行处理。
【专利说明】用于处理数据的设备和方法

【技术领域】
[0001 ] 本发明涉及一种用于处理数据的设备,其中该设备具有用于接收输入数据的输入接口以及用于处理数据的处理单元。
[0002]本发明还涉及一种用于运行这种系统的方法。


【发明内容】

[0003]本发明的任务是改善开头所述类型的设备和方法,使得给出针对攻击、尤其是旁路攻击提高的安全性。
[0004]该任务在开头所述类型的设备中按照本发明通过以下方式解决,即设置编码单元,该编码单元被构造为对在输入接口上作为输入数据获得的数据字进行编码,以获得经编码的数据字,其中对经编码的数据字可以依据所述设备的至少一个物理参量求得测量值,所述测量值表征经编码的数据字和/或通过所述设备对经编码的数据字的处理,其中编码单元被构造为对数据字进行编码,使得所有测量值的可预定分量、优选所有测量值的至少大约50%具有与预定值的差异,该差异小于或等于可预定的阈值,并且处理单元被构造为对经编码的数据字进行处理。
[0005]根据本发明已经认识到,在根据上面建议的原理对待处理的数据字进行编码的情况下对本发明设备的旁路攻击能够变难或变得不可能。已知应用的是对数据处理设备或方法的特定实现(例如密码算法的实现等)的旁路攻击,其中利用了该设备的一个或多个可观察或可测量物理参量取决于经过处理的数据并由此可以推断出经过处理的数据,例如秘密的密码秘钥等。
[0006]因此在旁路攻击的范围中,例如前面提到的、代表经编码的数据字和/或表征通过所述设备对经编码的数据字的处理的测量值可以通过测量技术加以检测,并且攻击者可能尝试从这些测量值中获得关于实际经过处理的数据的信息。
[0007]根据本发明已经认识到,可以在数据字的处理之前设置对该数据字的编码,使得对所述设备的旁路攻击变难。本发明的原理所基于的是:该编码是以使得为了旁路攻击而求得的测量值不太“有特色”或与实际经过处理的数据具有较小的相关性为目的来进行的。换句话说,本发明的编码规定,实际经过处理的数据,也就是经编码的数据字与所述设备的具体实现相匹配(相对于未经编码的数据字来说),使得用于旁路攻击的测量值包含在经过处理的数据字方面较少的信息含量或较小的相关性。这种编码也可以被称为“泄露防护代码”,因为该编码减少或防止在密码含义下的“泄露”。
[0008]在一种优选的实施方式中规定,所有测量值的预定值都被选择为相同,这使得可以简单地求得所涉及的代码。
[0009]在特别优选的实施方式中,作为预定值选择测量值的所有可能值的平均值。在该含义下,“测量值的所有可能值”被理解为所有如在处理所有通过本发明的编码而设置的经编码的数据字时得到的测量值的集合。所有可能测量值的集合例如可以在尝试建立本发明设备的具体实现中求得,其方式是在给定编码的情况下通过所述设备进行数据处理,使得每个经编码的数据字都被输送给处理单元一次以用于处理。与此对应地,在处理对应的数据字时获得特定的测量值,该测量值表征该数据字或表征在所述设备中对该数据字的处理。这样获得的测量值根据一种实施方式可以被求得并且最后例如可以使用所述测量值的平均值作为预定值用于本发明的编码。例如,本发明的编码、也就是经编码的数据字向未经编码的数据字的分配也可以被逐步地求得。该分配例如可以在迭代的方法中进行,以逐步提炼经编码的数据字或在编码的范围中通过本发明的编码单元进行的转换,直到一个或多个特定的测量值与预定值的差异满足本发明的阈值准则为止。于是保证了:可以从这样编码的数据字中导出的测量值仅与预定值有微小差异,使得通过分析测量值或从测量值导出的值而进行的旁路攻击明显变难或变得不可能。
[0010]特别有利的是,本发明的原理不基于随机数或伪随机数的使用。更确切地说,本发明的编码是用于将待处理的数据转换为经编码的数据字的确定性规则。优选地,对于所述设备的每次特殊实现可以求得和使用特殊编码。还可以考虑对于该设备的特殊实现求得多个可能的编码并且在该设备的运行期间更换这些编码,由此进一步提高针对旁路攻击的安全性。
[0011]在另一有利的实施方式中规定,预定值不是对所有的测量值都选择得相同。这意味着,本发明的编码根据所涉及的实施方式如下地提供自由度,使得对不同的测量值设置不同的预定值。由此例如有利地可以在实现或获得测量值时承受非对称性。例如可以考虑在处理第一组经编码的数据字时可以获得比在处理第二组经编码的数据字时包含在经过处理的数据方面的更大信息含量的测量值。在这种情况下适宜的可以是,对不同组的经编码的数据字设置不同的预定值,以减小或补偿非对称性,尽可能具有以下目标:所有可能的测量值如果不考虑非对称性的话都具有涉及经过处理的数据的类似的信息含量。
[0012]在另一有利的实施方式中规定,对于至少两个测量值或分配给这些测量值的数据字分别设置不同的阈值。通过这种方式可以提供涉及编码的另一种自由度,该自由度允许更容易找到编码所基于的本发明转换。
[0013]在另一有利的实施方式中,测量值是标量式的或向量式的参量,或者测量值具有矩阵形式。例如,测量值可以代表所述设备或该设备的至少一个部件的电能消耗。在这种情况下该设备的攻击者可以求得电能消耗作为本发明含义下的测量值,以实施旁路攻击。在该具体的应用情况中,对最终在处理单元中经过处理的经编码的数据字的本发明编码有利地导致,针对该设备或至少一个部件的电能消耗的对应测量值相互之间仅有微小的差异,由此又使得旁路攻击变难。
[0014]在向量式实施中的测量值的例子例如是以下应用情形,其中对每个经过处理的经编码的数据字求得不同部件或一般地所述设备的不同部分的多个电能消耗值。这样的多个测量值当然还可以按照矩阵形式来组织。其中测量值的代表适宜地显现为矩阵形式的另一例子例如是求得由设备辐射的电磁场。在这种情况下例如可以在该设备的运行期间在该设备上方放置多个场探头,这些场探头被用于测量电磁场,并且各个场探头的对应测量值例如可以被分配给在本发明含义下以矩阵形式存在的测量值的各个矩阵元素。
[0015]根据在本发明含义下的测量值的实施,当然还对应地选择用于求得测量值与预定值的差异的比较运算。同样的情况适用于预定值。例如,针对标量参量可以设置简单的求差以及接着的求绝对值,以评估测量值(例如所述设备的电能消耗的值)与对应的预定值之间的差异。在向量式或矩阵形式的参量用于测量值的情况下,对应地可以定义其它合适的函数,以定义所涉及的、与预定值(例如预定向量、预定矩阵等)的差异。
[0016]一般地,在本发明含义下的术语“测量值”根据一种实施方式也可以理解为从物理测量值导出的参量。例如,由所述设备的一个或多个测量值导出的汉明距离或汉明权重也代表本发明含义下的“测量值”。这意味着,在本发明的对应实施中编码也可以被构造为,使得不直接与物理可检测值对应而是更确切地说与从中导出的值对应的测量值包含本发明的阈值准则。这意味着,编码根据本发明也可以被实施为,使得例如代表经编码的数据字或其处理的物理测量值不直接包含本发明的阈值准则,而是包含从中导出的参量,例如汉明距离或汉明权重。
[0017]在另一实施方式中,编码单元被构造为对数据字进行编码,使得所有经编码的数据字的可预定分量、优选所有经编码的数据字的至少大约50%相互之间具有可预定的汉明距离和/或可预定的汉明权重。根据本发明已经认识到,输入侧获得的数据字借助所建议的编码的转换(该编码定义涉及汉明距离或汉明权重的准则)导致涉及在本发明处理单元内的经过处理的数据的信息的较少泄露,尤其是还可以有利于遵守针对测量值的本发明阈值准则。
[0018]在当前的实施方式中,“所有经编码的数据字”优选被理解为所有在理论上出现的经编码的数据字的集合。当例如存在j个输入侧获得的数据字时,可以向这j个输入侧获得的数据字通过编码单元对应地分配j个经编码的数据字。因此优选地,该编码在一种实施方式中这样进行,即j个经编码的数据字的至少大约50%相互间具有可预定的汉明距离。替换或补充的,该编码优选还可以这样来进行,即j个经编码的数据字的至少大约50%具有可预定的汉明权重。
[0019]在一种有利的实施方式中规定,处理单元具有至少一个寄存器,该寄存器被构造为至少临时存储至少一个经编码的数据字。这意味着本发明的一种简单实施方式涉及一种具有输入接口和本发明的编码单元的设备,并且在该设备中根据本发明的处理例如规定在寄存器中进行至少临时的存储。因此在该实施方式中,一个根据本发明的经编码的数据字(或多个经编码的数据字)至少临时存储在寄存器中或另外的存储器中,而且是以编码的形式,使得随后可以读取经编码的数据字并且可以进一步处理。例如随后的密码方法可以读取对应的寄存器并且对数据进行进一步处理。
[0020]替换或补充的,本发明的处理单元还可以具有至少一个密码单元,该密码单元被构造为实施密码方法的至少一部分。例如,处理单元可以具有被构造为实施完整的AES(advanced encrypt1n standard,高级加密标准)算法的密码单元。
[0021]在另一实施方式中可以规定,处理单元具有被构造为实施密码方法的一部分,例如用于实施非线性替换运算的密码单元,该非线性替换运算也是AES密码标准的所述SubBytes O 函数的主题(参见 http://esranist,gov/puWicat1ns/fips/fips1977fips-197.pdf, 5.1.1 章节)。
[0022]在另一实施方式中可以规定,处理单元具有数据总线或者被构造为数据总线,尤其是构造为并行的数据总线。在这种情况下通过本发明的编码保证通过数据总线的数据传输针对旁路攻击的安全性。
[0023]在另一有利的实施中规定,编码单元被构造为通过以下方式对数据字进行编码,即向每个数据字添加可预定数目的比特。在此情况下对应待添加的比特的值根据本发明的编码来加以选择。换句话说,通过本发明添加可预定数目的比特(及选择其相应值)为本发明的编码实现了使得可以为一个或多个经编码的数据字调整出期望的汉明权重和/或期望的汉明距离的自由度数目。未经编码的数据字的实际信息在此没有丢失,因为根据本发明仅添加新比特。必要时可以替换或附加地添加另外的比特,以满足有关预定值的针对测量值的本发明阈值准则。
[0024]在另一有利的实施方式中规定,编码单元被构造为选择可预定数目的待添加的比特或比特值,使得所有经编码的数据字的可预定分量相互之间具有可预定的汉明距离和/或可预定的汉明权重。
[0025]汉明距离是指两个相互比较的代码字的不同位置的数目。因此,在一个二进制代码和两个对应的代码字的情况下,汉明距离与相比较的代码字的不同比特位置的数目对应。汉明权重被理解为与零向量的汉明距离。因此在一个二进制代码的情况下,汉明权重与所考察的代码字的不同于O的位置的数目对应,这意味着具有为I的值的比特的数目。
[0026]在另一有利的实施方式中规定,编码单元被构造为,向在下面的表的列S2中列出的数据字分配在该表的列S3的对应行中列出的经编码的数据字。数据字的各个比特位分别通过逗号相互分隔,并且数据字被置于圆括号O中。

【权利要求】
1.用于处理数据的设备(100),其中该设备(100)具有用于接收输入数据(X)的输入接口( 110)和用于处理数据的处理单元(120),其特征在于,设置编码单元(130),该编码单元被构造为对在输入接口(110)上作为输入数据(X)获得的数据字(Xn)进行编码,以获得经编码的数据字(Xn’),其中对经编码的数据字(Xn’)能够依据所述设备(100)的至少一个物理参量求得测量值(Xln,X2n),所述测量值(Xln,X2n)表征经编码的数据字(Xn’)和/或通过所述设备(100)对经编码的数据字的处理,其中编码单元(130)被构造为对数据字(Xn)进行编码,使得所有测量值(Xln,X2n)的可预定分量、优选所有测量值(Xln,X2n)的至少大约50%具有与预定值(Vn)的差异,该差异小于或等于可预定的阈值(S),并且处理单元(120)被构造为对经编码的数据字(Xn’)进行处理。
2.根据权利要求1所述的设备(100),其中所有测量值(Xln,X2n)的预定值(Vn)都被选择为相同。
3.根据权利要求2所述的设备(100),其中作为预定值(V)选择测量值的所有可能值的平均值。
4.根据上述权利要求之一所述的设备(100),其中对于至少两个测量值(Xln,X2n)或分配给这些测量值的数据字(Xn’ )分别设置不同的阈值(Sn)。
5.根据上述权利要求之一所述的设备(100),其中测量值是标量式的参量或向量式的参量,或者具有矩阵形式。
6.根据上述权利要求之一所述的设备(100),其中测量值代表所述设备(100)或该设备(100)的至少一个部件的电能消耗。
7.根据上述权 利要求之一所述的设备(100),其中测量值代表汉明距离或汉明权重。
8.根据上述权利要求之一所述的设备,其中所述处理单元(120)具有至少一个寄存器(Rl,R2),该寄存器被构造为至少临时存储至少一个经编码的数据字(Xn’),和/或具有密码单元(124),该密码单元被构造为实施密码方法的至少一部分。
9.根据上述权利要求之一所述的设备(100),其中所述编码单元(130)被构造为通过以下方式对数据字(Xn)进行编码,即向每个数据字(Xn)添加可预定数目的比特(Rn)。
10.根据权利要求9所述的设备(100),其中所述编码单元(130)被构造为选择可预定数目的所添加的比特(Rn),使得所有经编码的数据字(Xn’ )的可预定分量相互之间具有可预定的汉明距离和/或可预定的汉明权重。
11.根据上述权利要求之一所述的设备(100),其中所述设备(100)至少部分地被构造为集成电路,优选借助CMOS工艺来实现。
12.根据上述权利要求之一所述的设备(100),其中所述处理单元(120)被构造为数据总线或具有数据总线。
13.用于运行处理数据的设备(100)的方法,其中该设备(100)具有用于接收输入数据(X)的输入接口( 110)和用于处理数据的处理单元(120),其特征在于,借助编码单元(130)对在输入接口(110)上作为输入数据(X)获得的数据字(Xn)进行编码(200),以获得经编码的数据字(Xn’),其中对经编码的数据字(Xn’)能够依据所述设备(100)的至少一个物理参量求得测量值(Xln,X2n),所述测量值(Xln,X2n)表征经编码的数据字(Xn’)和/或通过所述设备(100)对经编码的数据字的处理,其中编码单元(130)被构造为对数据字(Xn)进行编码,使得所有测量值(Xln,X2n)的可预定分量、优选所有测量值(Xln,X2n)的至少大约50%具有与预定值(Vn)的差异,该差异小于或等于可预定的阈值(S),并且处理单元(120)被构造为对经编码的数据字(Xn’ )进行处理(210)。
14.根据权利要求13所述的方法,其中实施校准,在该校准中可预定的校准数据字通过处理单元(120)处理,并且求得与校准数据字对应的测量值。
15.根据权利要求14所述的方法,其中所述编码通过编码单元(130)依据与校准数据字对应的测量值来进行。
16.用于运行处理数据的设备(100)的方法,其中该设备(100)具有用于接收输入数据(X)的输入接口( 110)和用于处理数据的处理单元(120),其特征在于,借助编码单元(130)对在输入接口(110)上作为输入数据(X)获得的数据字(Xn)进行编码(200),以获得经编码的数据字(Xn’),并且所述处理单元(120)处理(210)经编码的数据字(Xn’),其中编码单元(130)使用泄露防护 代码来用于编码。
【文档编号】G06F17/30GK104077349SQ201410118859
【公开日】2014年10月1日 申请日期:2014年3月27日 优先权日:2013年3月28日
【发明者】M.刘易斯, R.斯策温斯基, J.肖克罗拉希, P.杜普利斯 申请人:罗伯特·博世有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1