CN103455446A - 用于实施加密方法的设备及对此的运行方法 - Google Patents
用于实施加密方法的设备及对此的运行方法 Download PDFInfo
- Publication number
- CN103455446A CN103455446A CN2013102155712A CN201310215571A CN103455446A CN 103455446 A CN103455446 A CN 103455446A CN 2013102155712 A CN2013102155712 A CN 2013102155712A CN 201310215571 A CN201310215571 A CN 201310215571A CN 103455446 A CN103455446 A CN 103455446A
- Authority
- CN
- China
- Prior art keywords
- conversion
- functional unit
- data
- equipment
- input data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000011017 operating method Methods 0.000 title abstract 2
- 238000006243 chemical reaction Methods 0.000 claims description 79
- 238000007620 mathematical function Methods 0.000 claims description 26
- 230000008859 change Effects 0.000 claims description 11
- 238000002347 injection Methods 0.000 claims description 7
- 239000007924 injection Substances 0.000 claims description 7
- 230000002349 favourable effect Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000000875 corresponding effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000009792 diffusion process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 229940050561 matrix product Drugs 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/75—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
- G06F21/755—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
- H04L2209/046—Masking or blinding of operations, operands or results of the operations
Abstract
本发明涉及用于实施加密方法的设备及对此的运行方法。本发明涉及一种用于实施加密方法的设备,其中该设备具有用于接收输入数据的输入接口和用于将输出数据输出的输出接口,以及该设备具有加密单元,用于实施加密方法,其特征在于,设置有第一功能单元,该第一功能单元被构造用于在应用第一确定性方法的情况下将输入数据的至少一部分转化为经变换的输入数据并且将经变换的输入数据输送给加密单元,和/或设置有第二功能单元,所述第二功能单元被构造用于将加密单元的输出数据的至少一部分在应用第二确定性方法的情况下转化为经变换的输出数据,并且将经变换的输出数据输送给输出接口。
Description
技术领域
本发明涉及一种用于实施加密方法的设备,其中该设备具有用于接收输入数据的输入接口和用于将输出数据输出的输出接口,以及涉及一种用于实施该加密方法的加密单元。
此外,本发明还涉及一种根据权利要求9的前序部分所述的方法。
背景技术
这样的设备和方法已经公知,参见例如US 7,599,488 B2。
公知的设备具有微处理器核,与该微处理器核关联(zuordnen)随机数发生器,以便随机地操纵加密指令在微处理器核上的实施。由此实现了,对实施加密方法的微处理器核的加密攻击变得困难。尤其是,所谓的差分功耗分析(DPA,Differential Power Analysis)攻击变得困难,因为在规律的时钟信号与加密方法的各个步骤的实际实施之间的时间关系通过微处理器核在使用随机数的情况下被掩盖。
公知系统的缺陷是,在技术上仅花费高地要实现的随机数发生器是必要的,以及微处理器核的外围的复杂结构是必要的,所述微处理器核的外围的复杂结构根据随机数影响微处理器的时钟信号。
发明内容
因此,本发明的任务是如下改进开头所述类型的设备和方法:避免现有技术的缺陷,并且同时实现在实施加密方法时的安全性、尤其是防止所谓的侧信道攻击或DPA攻击(DPA Attack)的安全性提高。
该任务在开头所述类型的设备方面根据本发明通过如下方式来解决:设置第一功能单元,该第一功能单元被构造用于,在应用第一确定性(deterministisch)方法的情况下将输入数据的至少一部分转化为经变换的输入数据,并且将经变换的输入数据输送给加密单元,和/或设置第二功能单元,该第二功能单元被构造用于,在应用第二确定性方法的情况下将加密单元的输出数据的至少一部分转化为经变换的输出数据,并且将经变换的输出数据输送给输出接口,使得在通过加密单元处理的数据与侧信道信息之间的关系被掩盖。
根据本发明所建议的功能单元提供了如下优点:为实际加密方法或加密单元的实施方案输送从外部不能或只能非常困难地确定的数据,即例如借助第一功能单元形成的经变换的输入数据。这意味着,即使攻击者要了解例如借助根据本发明的设备要加密的明文并且实施多个DPA攻击,对在此所获得的测量结果的分析仍变得困难,因为根据本发明设置的第一功能单元掩盖了在通过加密单元实施加密方法步骤与输送给该设备的明文之间的直接关系,即以确定性变换的方式来掩盖所述在通过加密单元实施加密方法步骤与输送给该设备的明文之间的直接关系。
这意味着,通过根据本发明废除在表示根据本发明的设备的输入量的明文与实际上在根据本发明的设备中由用于进行加密的加密单元处理的那些数据(根据本发明变换过的输入数据)之间的直接关系(通常的同一性),明显地相对于常规方法使侧信道攻击或一般的DPA方法变得困难。攻击者尽管可以如以前那样起动多个DPA攻击,并且例如以使所获得的测量序列(例如设备的电能耗的时间变化过程)相关的方式分析这些DPA攻击。由于在DPA攻击的范围中获得的测量序列但是尤其与根据本发明变换过的对于攻击者而言未知的输入数据有关,所以需要大得多的数目的测量序列和/或相关过程,以便能够合理地推断出加密单元中的流程(Ablauf)。更确切地说,攻击者首先会必须成功地“攻击”根据本发明的例如第一功能单元,即在该攻击者可以开始以可忍受的开销实现对加密单元的DPA攻击之前,该攻击者必须分析由第一功能单元所实施的变换。
同时,本发明还拥有其他优点:第一功能单元应用纯确定性的方法。这意味着,在已知第一功能单元的输入数据时,始终可以确定要期望的输出数据。与公知的设备不同,本发明因而不需要昂贵的随机数源。同样情况适于第二功能单元。
由于在功能单元中使用纯确定性的方法,所以这些功能单元可以相对简单且有效地被实施,例如以专用集成电路(ASIC)的方式来实施。根据本发明的设备的测试也依靠纯确定性方法而变得容易,因为可以具体说明和检查明确的测试情况。本发明的以IC和/或ASIC的实现由于功能单元的确定性特征而要求比较少的芯片面积用于功能单元。此外,通过根据本发明的功能单元得到的安全性升高的程度可以通过选择具体实施方案(例如秘密密钥的位宽度,所述秘密密钥用于使根据本发明的功能单元运行)而精确地被调节。
在本发明的一种实施形式中,仅设置第一功能单元,所述第一功能单元如前面已经描述的那样以第一变换的方式掩盖在输入数据与输送给加密单元的经变换的输入数据之间的关系。
加密单元的输出数据例如可能根据一种实施形式也直接被提供给根据本发明的设备的使用者,也就是说无需对输出数据的类似的根据本发明的变换。
在另一发明变型方案中,也可考虑的是,将要加密的明文直接提供给加密单元,即无需在输入接口与加密单元之间的根据本发明的变换,并且借助第二功能单元仅将由加密单元获得的输出数据进行变换,以便获得经变换的输出数据。
然而,防止DPA攻击的最大保护提供了本发明的一种特别优选的实施形式,其中不仅在加密单元的输入侧设置根据本发明的第一功能单元,而且在加密单元的输出侧设置根据本发明的第二功能单元。在该情况下,与设备本身的可能从外部可识别的输入数据/输出数据有关地,即不仅加密单元的输入数据而且加密单元的输出数据最大有效地被掩盖。
在一种特别优选的实施形式中设置,第一功能单元被构造用于根据至少一个秘密的第一密钥实施对输入数据的至少一部分的变换。秘密的第一密钥例如可以是带有可预给定的长度的二进制字,该二进制字优选地也直接被集成到根据本发明的设备中,并且因而从外部不能以简单的方式被断定。在以IC和/或ASIC形式实现根据本发明的设备时,秘密密钥例如可以被存放在IC和/或ASIC的内部存储器中,例如使得该秘密密钥从IC的外部甚至不能被读出并且由此仅制造商知道。通过预给定秘密密钥的长度,可以以简单的方式调节通过本发明实现的防止DPA攻击的安全性的提高。
在另一有利的实施形式中设置,第二功能单元被构造用于根据至少一个秘密的第二密钥实施对输出数据的至少一部分的变换,该秘密的第二密钥类似于第一秘密密钥同样优选地被集成到根据本发明的设备中。
在还有另一有利的实施形式中可以设置,秘密的第一密钥与秘密的第二密钥相同。
在另一有利的实施形式中设置,第一确定性方法和/或第二确定性方法分别基于数学函数,其中该数学函数是单射的(injektiv)或者双射的(bijektiv),并且其中优选地第一确定性方法和第二确定性方法基于相同的数学函数。
“单射的”意味着,在给定输入数据和给定秘密密钥时,该数学函数提供唯一地与该输入数据和该秘密密钥关联的输出值。这意味着,不存在输入数据和秘密密钥的、提供同一输出数据的其他组合。该数学函数的这样的结构例如可以有利地被用于创建数字签名。在该情况下,数学函数不必已经是双射的,即可逆唯一的。但是,根据另一有利的实施形式,该数学函数不仅为单射的,而且也为双射的,使得根据数学函数的输出数据可以唯一地推断输入数据。这样的数学函数例如可以被用于使用根据本发明的设备来加密和解密。
在另一有利的实施形式中设置,第一确定性方法和/或第二确定性方法包括变换,其中输入数据(所述输入数据通常作为具可预给定长度的二进制字存在)和/或输出数据的二进制数字的改变导致经变换的输入数据和/或经变换的输出数据的多于一个的二进制数字的改变,尤其是导致经变换的输入数据和/或经变换的输出数据的多于四个的二进制数字的改变。由此,有利确保了,数学函数本身可难以攻击或其在输入数据与输出数据之间的函数关系难以重构,由此根据本发明的设备的运行安全性进一步被升高。
在另一有利的实施形式中设置,加密单元和第一功能单元和第二功能单元分别以集成电路被实施,优选地以同一集成电路(IC或者ASIC或者FPGA)被实施,使得在根据本发明的功能单元与加密单元之间的数据连接不能从外部被分析或者只能特别困难地从外部被分析(例如借助研磨(Abschleifen)、微观检查等等)。
电路优选地可以是集成电路,例如是专用集成电路(ASIC,Application Specific Integrated Circuit)。但是,可替换地或者补充地,根据本发明的设备也可以以可编程逻辑模块(FPGA,现场可编程门阵列(Field Programmable Gate Array))形式被实现。
在另一有利的实施形式中设置,第一功能单元和/或第二功能单元分别具有线性反馈的移位寄存器和/或用于实施非线性置换运算(Substitutionsoperation)的单元。线性反馈的移位寄存器有利地就其而言已经可以包含使DPA攻击变得困难的措施。例如,可设置具有彼此互补的状态转移的移位寄存器的对称结构,诸如此类。非线性置换运算例如可以是高级加密标准(AES,Advanced Encryption Standard)的SBOX方法或者是类似的方法。
在另一有利的实施形式中设置,加密单元被构造用于将经变换的输入数据加密和/或解密,尤其是根据高级加密标准AES来加密和/或解密。
与常规的AES加密单元不同,根据本发明的设备有利地实现了基于根据本发明变换过的输入数据实施AES算法的加密方法步骤,与如输送给根据本发明的设备的输入接口的输入数据相比,所述根据本发明变换过的输入数据对于攻击者而言不是立即可见的。
有利地,同样通过由根据本发明的第二功能单元变换输出数据,在加密单元上实施的AES方法与经变换的输出数据之间的函数关系被掩盖,使得基于DPA攻击的攻击与常规的设备和/或方法相比变得困难。同时,根据本发明的设备具有其他优点:可以采用开销比较少的确定性方法,以便实现输入数据和/或输出数据的根据本发明的变换。
本发明原理并不限于AES类型的方法。更确切地说,加密单元可以实施一个或多个任意加密基元(Primitiven)、譬如分组密码等,例如可以实施加密/解密算法的部分等。输入数据和/输出数据的根据本发明的变换是重要的,所述输入数据和/或输出数据被输送给加密单元或从加密单元获得。
作为本发明的任务的其他解决方案,给出了根据权利要求9所述的方法。其他有利的实施形式是从属权利要求的主题。
附图说明
随后参照附图阐述了本发明的示例性实施形式。在附图中:
图1示意性地示出了根据本发明的设备的一种实施形式的框图,
图2a示意性地示出了根据本发明的设备的另一实施形式,
图2b示意性地示出了根据本发明的设备的另一实施形式,
图3a、3b示意性地示出了处于不同的运行状态中的根据本发明的设备的框图,
图4示出了根据本发明的方法的一种实施形式的简化流程图,
图5a、5b分别示意性地示出了根据本发明的功能单元的实施方案的方面,以及
图6示出了一种实施形式的流程图。
具体实施方式
图1示出了用于实施加密方法110的根据本发明的设备100的一种实施形式的简化框图。
该设备100拥有用于接收输入数据i的输入接口120以及用于将输出数据o输出的输出接口130。
此外,该设备100还拥有加密单元140,该加密单元140被构造用于实施加密方法110。在这种情况下,例如可以涉及根据AES标准的方法等,其中函数110不仅可以被构造用于加密数据而且可以解密数据。加密单元140也可以被构造为使得加密单元140实施加密算法的(仅仅)部分。
关于AES标准的细节例如可以在因特网中的“http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf”下被调用。
在输入接口120与加密单元140之间,根据本发明设置第一功能单元150a,该第一功能单元150a被构造用于在应用第一确定性方法的情况下将输入数据i转化为经变换的输入数据i'。经变换的输入数据i'作为输入数据根据本发明被递交给加密单元140,并且并未直接递交输入数据i,如这在常规设备中情况如此。由此有利地保证了,DPA攻击变得困难,因为加密单元140利用输入数据i'实施加密方法110,所述输入数据i'与输送给设备100的输入数据i不同,并且尤其是对于攻击者而言不能被确定或者只能非常困难地被确定。为了攻击实际加密方法110,该设备100的攻击者因此必须首先成功地攻击或分析功能单元150a和/或由此实施的变换。
与此类似地,该设备100具有第二功能单元150b,该第二功能单元150b被构造用于将加密单元140的输出数据o'转化为经变换的输出数据o,所述经变换的输出数据o最后被输送给设备100的输出接口130,用于输出给外部单元。
根据本发明的功能单元150a、150b因此有利地掩盖在设备100的对于攻击者可比较简单地确定的输入数据i和/或输出数据o与实际上由加密单元140和/或被实施在其中的加密方法110执行的数据之间的关系。加密方法110即在经变换的输入数据i'上工作或将输出数据o'输出。量i'、o'是根据本发明的设备100的内部量,所述内部量只能非常困难地从外部或甚至不能从外部断定。
有利地,第一功能单元150a使用秘密的第一密钥v1,以便将输入数据i变换为经变换的输入数据i'。秘密的第一密钥v1有利地被集成到设备100中,并且因而攻击者也只能非常困难地断定或甚至不能断定该秘密的第一密钥v1。
与此类似地,第二功能单元150b也可以获得秘密的第二密钥v2,以便实现将输出数据o'变换为经变换的输出数据o。
秘密密钥v1、v2也可以是相同的。
特别优选地,不仅第一功能单元150a而且第二功能单元150b都基于确定性方法工作。这意味着,以第一功能单元150a为例,在已知输入数据i和预给定的密钥v1的情况下,在第一功能单元150a的输出端获得始终同一经变换的输入数据i'。同样的情况适用于第二功能单元150b以及由其处理的输出数据。有利地,根据本发明的设备100因此不要求随机数的源等,使得在使用公知的半导体技术、例如CMOS技术的情况下可能节约位置和成本低廉地实施。
为了例如以侧信道攻击的形式能够成功攻击加密功能110和/或加密单元140,必需首先重构根据本发明的功能单元150a、150b的工作方式。这可以以本身已知的方式通过选择合适大小的密钥v1、v2(例如128位的长度)等等变得困难。
图2a示出了根据本发明的设备100(图1)的一种可能应用。根据图1的设备100被集成到集成电路IC中,该集成电路IC就其而言被嵌入到具有外部电接触部202的卡状的载体200中。接触部202用于实施设备100的输入接口120或输出接口130,并且在卡200的电接触部202与IC之间的通信通过在图2a中详细标明的块箭头被表明。接触部202例如可以与IC的串行接口链接。
卡200的攻击者因此最多可以通过分析接口202确定数据i、o(图1),而非纯粹在内部存在的量i'、o'(图1),使得成功攻击在电路IC中实施的加密方法显著变得困难。
图2b示出了图1中的根据本发明的设备100(又以集成电路IC形式)在所谓的USB棒中的实施。还基本上用作数据载体的USB棒300具有到外部系统、譬如个人计算机(Personal Computer)的接口,该接口在此用附图标记302标明并且根据USB(通用串行总线(universal serial bus))标准工作。
图3a示出了在第一运行状态下的根据本发明的设备100的实施形式,其中该设备100被用于在应用AES加密方法的情况下加密明文“plaintext”。在输入侧,为此给该设备100输送明文作为输入数据i。如上面已参照图1所描述的那样,明文“plaintext”首先通过第一功能单元150a根据秘密的第一密钥v1被变换为经变换的输入数据i',并且经变换的输入数据i'首先被输送给加密单元140,用于实施AES加密方法110。
被加密的输出数据o'(所述输出数据o'为经变换的输入数据i'的经过AES加密的变型)被输送给第二功能单元150b,该第二功能单元150b在使用秘密的第二密钥v2的情况下实施将输出数据o'进一步变换到经变换的输出数据o。经变换的输出数据o由根据图3a的设备100作为加密文本“密文(ciphertext)”被输出。
因此,对于设备100(图3a)的攻击者而言,仅明文和密文是可见的,并且通过如下方式有利地使对加密单元140的DPA攻击变得困难:加密单元140实际上利用输入数据i'或输出数据o'工作,所述输入数据i'或输出数据o'由于通过功能单元150a、150b的根据本发明的变换而与明文“plaintext”和加密文本“密文”不同。
图3b示出了在第二运行状态下的设备100的一种实施形式,其中该设备100被用于解密经过AES加密的数据。为设备100输送被加密的文本“密文”,所述被加密的文本“密文”因此对应于图1中的输入数据i,并且根据关于图1的前面的实施方案,密文被转化为经变换的输入数据i'。经变换的输入数据i'通过加密单元140在此根据AES标准被解密,并且在这些在这种情况下被解密的数据作为输出数据o或“明文”被输出之前,这些在这种情况下被解密的数据借助第二功能单元150b如前面已经描述的那样被变换。
前面所描述的具有两个功能单元150a、150b的发明变型方案100有利地即使在解密过程中也提供了对实际上由加密单元140加工的数据与可能从外部可见的输入数据i或输出数据o有关的掩盖。
图4示出了根据本发明的方法的一种实施形式的流程图。在第一步骤400中,设备100的输入数据i的至少一部分被转化为经变换的输入数据i'(图1),然而优选地所有输入数据被转化,以便引起在输入数据i与输送给加密单元140以进行处理的数据之间的最大去相关。而且,在随后的步骤410中,经变换的输入数据i'被输送给加密单元140(图1)。
可选地,输出数据o'到经变换的输出数据o的变换也可以紧接着前面所描述的方法(在图4中未示出)。
在其他实施形式中,也可以考虑的是,设置两个功能单元150a、150b中的仅仅一个,使得根据本发明的变换仅在加密单元140的输入侧或输出侧被实施。然而,防止DPA攻击的最大保护通过以在图1中所绘制的方式设置两个功能单元150a、150b而得到。
对于数字签名应用而言,足够的是,功能单元150a、150b所基于的数学函数分别是单射的,即提供可以推断出唯一的输入数据组的明确的输出数据。由此可以以本身公知的方式验证数字签名的真实性。
针对借助根据本发明的设备100要实施加密和/或解密的情况,要注意的是,功能单元150a、150b所基于的数学函数也是双射的,使得在与根据本发明的解密步骤(图3b)结合的情况下,根据设备100的输出数据“密文”(图3a)也可以明确地推断出输入数据。
其他优选的实施形式设置,部件120、150a、140、110、150b、130(图1)全都被集成在唯一的集成电路IC上,使得尤其是不能简单地从外部访问在部件150a、140与140、150b之间的数据连接。部件120、150a、140、110、150b、130的功能例如可以在微控制器或者数字信号处理器中或者也在ASIC或者FPGA中被实施,其中也考虑借助例如用于加密方法的软件或者用于单元150a、150b的数学函数的软件至少部分地实施。
在另一有利的实施形式中设置,功能单元150a、150b所基于的第一和/或第二确定性方法包括如下变换:在所述变换中,输入数据i或输出数据o'的二进制数字的改变导致经变换的输入数据i'或经变换的输出数据o的多于一个的二进制数字的改变,尤其是经变换的输入数据i'或经变换的输出数据o的多于四个的二进制数字的改变。由此确保了,进行输入数据i与经变换的输入数据i'的充分去相关。同样的情况适用于输出数据o'、o。
第一和/或第二功能单元150a、150b的功能性例如可以通过用于实施非线性置换运算的单元(英语也称作“S-BOX”(substitution box(置换盒)))被实施。非线性置换运算的函数的可能的表示方式通过图5a中的矩阵等式来说明。从图5a中可看到在此总共有八个元素(例如分别为位)b0、...、b7的列向量i1,该列向量i1示例性地表示非线性置换运算的输入数据。列向量i1与矩阵M相乘,并且最终得到的矩阵积M×i1紧接着与另一列向量SV加性地链接,这导向表示非线性置换运算的输出数据的列向量i1'。
有利地,在通过图5a阐明的非线性置换运算中,例如仅仅一个位单元(Bitstelle)b5的输入数据i1的微小改变通常已导致输出数据i1'的显著较大的改变,其中常常涉及多个、优选地多于四个的位单元。
在图5a中绘制的矩阵等式仅示例性地被给出用于阐明S-BOX的原理,并且不仅在元素M、SV的值方面而且在矩阵M或所参与的向量i1、SV的大小方面可以被改变。
特别有利地,根据本发明的功能单元150a和/或150b可被配备有非线性置换运算的在图5a中绘制的功能,其中可考虑的是,根据秘密的第一密钥v1或第二密钥v2来选择部件M、SV中的至少一个或其元素。
带有8×8矩阵的S-BOX的使用已经允许使对根据本发明的设备100的DPA攻击变得显著困难。
对于S-BOX可替换的针对通过功能单元150a、150b的变换的实施方案有利地可以具有线性反馈的移位寄存器LFSR,参见图5b。移位寄存器LFSR有利地可以以如下位串而被初始化:该位串通过在输入数据i与秘密密钥v1之间的异或(XOR)运算来获得。也就是说,i2和v1的XOR逻辑运算的结果起初被写入移位寄存器的单元中。通过移位寄存器的也称作“种子值”的起始值与通常为非恒定的输入数据i的相关性,有利地确保了移位寄存器LFSR的随时间变化的初始化。通常,可考虑不仅恒定的而且可变的种子。
接着,移位寄存器LFSR可以有利地通过可预给定数目的时钟来运行,其中以本身公知的方式改变其状态、即其寄存器单元的位值。在可预给定的数目的时钟之后在移位寄存器LFSR中存在的二进制值有利地被用作用于相关的功能单元150a、150b的输出数据i2'。
在功能单元150a、150b的基于移位寄存器的实施方案上有利的是例如借助CMOS技术的在技术上简单的实施方案和移位寄存器本身也可以以小开销防止DPF攻击具有耐受力(haerten)的事实,使得甚至可以使对功能单元150a、150b本身的攻击困难。
根据本发明所建议的功能单元150a、150b因此可以分别对输送给这些功能单元150a、150b的数据实施变换,所述变换例如可通过相对应的数学函数来描述,参见图5a中的S-BOX和图5b中的移位寄存器LFSR。
特别有利地,为如例如功能单元150a所基于的相对应的数学函数f输送输入量的至少一个二元组、即设备100的输入数据i(图1)和秘密密钥v1。在数学表达上因此适用于函数f的输出值y:y=f(i,v1)。
特别有利地,函数f例如被选择为使得该函数f实现其输入值i、v1的位的足够的“扩散”(英语为:“diffusion”),这例如通过根据图5a、5b的变型来保证。
特别有利地,函数f此外还是单射的,即对于任意i≠j适用f(i,v1)≠f(j,v1)。由此确保了仅对于确定的组的输入数据i(在给定的秘密密钥v1的情况下)获得确定的输出值f(i,v1)。该特性可针对签名目的被充分利用。
为了能够实现数据的加密和解密,依照另一实施形式,函数f此外还应是双射的,即可逆明确的,也就是说在给定的密钥v1的情况下适用:当y=f(i,v1)时,那么也存在函数f-1(),使得适用i=f-1(y,v1)。
图6示出了本发明的一种实施形式的流程图,其中在发送器S中表示明文的输入数据i首先被输送给根据本发明的第一功能单元150a,该第一功能单元150a基于确定性方法实施输入数据i到经变换的输出数据i'的变换,例如在使用S-BOX(图5a)或者线性反馈的移位寄存器(图5b)的情况下实施所述变换。该确定性方法在此通过第一数学函数f1(i,v)来表示。经变换的输出数据i'因此对于i'=f1(i,v)被获得,其中v为秘密密钥。
经变换的输出数据i'=f1(i,v)遭受AES加密110,由此获得经过AES加密的输出数据o=AES(f1(i,v))。这些输出数据被输送给第二功能单元150b,该第二功能单元150b据此基于第二数学函数f2(o,v)形成经变换的输出数据o'=f2(AES(f1(i,v)),v)。经变换的输出数据o'因此根据本发明被加密并且可以由发送器S例如通过不安全的通信信道K来传输。
接收器E接收经变换的输出数据o'并且将所述输出数据o'输送给另一根据本发明的功能单元150a',该功能单元150a'在此实施与第二数学函数f2(o,v)倒置的函数(即反函数)f2 -1()。以这种方式在其他的根据本发明的功能单元150a'的输出端上获得总是还经过AES加密的输出信号o=AES(f1(i,v))。对应于发送器S的AES块110的输出信号的该输出信号o在接收器E中通过接收器E的逆AES块110'而被AES解密,由此获得经过解密的数据i'=f1(i,v)。所述经过AES解密的数据i'由另一功能单元150b'借助反函数f-1()被变换回明文i。
为了进行简化,在前面所描述的实例中在两个单元150a、150b或150a'、150b'中使用同一密钥v。但是,根据对图1的阐述,在150a、150b中也可以使用不同的秘密密钥。
不仅发送器S而且接收器E都通过(多个)功能单元150a、…的根据本发明的原理来有利地具有DPA耐受力。
可考虑的是,根据本发明的设备100(图1)的一种实施形式可以实现两组部件150a、110、150b和150a'、110'、150b'的功能性,使得不仅发送器S而且接收器E都可以拥有相同的根据本发明的设备100,所述根据本发明的设备100根据应用情况(发送、接收)具有不同的运行方式,用于实施相应的功能。
如已经谈及的那样,加密单元140(图1)例如可被构造用于实施诸如分组码之类的加密基元,然而也可能的是实现完整的(例如AES类型的)加密算法或解密算法。
为了攻击加密单元140中的加密基元,攻击者必须首先提取秘密密钥v1、v2,因此成功地攻击功能单元150a、150b所基于的数学函数。只要秘密密钥v1、v2未知,因此根据本发明被处理的量i'、o'不能由攻击者确定,攻击者就不能攻击密钥v1、v2。因而,攻击者也不能开始对加密单元140的成功侧信道攻击。
在另一有利的实施形式中可以设置,设备100拥有附加的逻辑(未示出),该附加的逻辑识别在通过功能单元150a、150b执行确定性方法时的错误并且例如停止加密单元140,因为在该情况下推断出篡改尝试。
根据本发明所建议的功能单元150a、150b可以在其实施方面也与已经公知的具有DPA耐受力(DPA-hardening)方法组合,以便进一步提高安全性。
总之,根据本发明的设备100具有相对于DPA攻击的提高的安全性,因为由于借助(多个)功能单元150a、150b实现的(多个)变换与在常规系统的情况下相比必须在DPA分析的范围中测试多得多的假设。
此外,根据本发明实现的安全性的提高可以有利地非常简单地被缩放,其方式是通过(多个)功能单元150a、150b实现的(多个)变换或所基于的数学函数的“数据宽度”被增大。在函数f1、f2的为128位的数据宽度的情况下,攻击者例如必须测试2^128个DPA假设,这在目前并且至少在不久的将来不能实现可支配的计算性能。
Claims (13)
1.一种用于实施加密方法(110)的设备(100),其中该设备具有用于接收输入数据(i)的输入接口(120)和用于将输出数据(o)输出的输出接口(130),以及该设备具有加密单元(140),用于实施加密方法(110),其特征在于,设置有第一功能单元(150a),该第一功能单元(150a)被构造用于在应用第一确定性方法的情况下将输入数据(i)的至少一部分转化为经变换的输入数据(i'),并且将经变换的输入数据(i')输送给加密单元(140),和/或设置有第二功能单元(150b),所述第二功能单元(150b)被构造用于将加密单元(140)的输出数据(o')的至少一部分在应用第二确定性方法的情况下转化为经变换的输出数据(o),并且将经变换的输出数据(o)输送给输出接口(130)。
2.根据权利要求1所述的设备(100),其中,第一功能单元(150a)被构造用于根据至少一个秘密的第一密钥(v1)实施输入数据(i)的至少一部分的变换。
3.根据权利要求1或2所述的设备(100),其中,第二功能单元(150b)被构造用于根据至少一个秘密的第二密钥(v2)实施输出数据(o')的至少一部分的变换。
4.根据上述权利要求之一所述的设备(100),其中,第一和/或第二确定性方法分别基于数学函数,其中所述数学函数是单射的或者是双射的,并且其中优选地第一确定性方法和第二确定性方法基于同一数学函数。
5.根据上述权利要求之一所述的设备(100),其中,第一和/或第二确定性方法包括变换,其中输入数据(i)和/或输出数据(o')的二进制数字的改变导致经变换的输入数据(i')和/或经变换的输出数据(o)的多于一个的二进制数字的改变,尤其是导致经变换的输入数据(i')和/或经变换的输出数据(o)的多于四个的二进制数字的改变。
6.根据上述权利要求之一所述的设备(100),其中,加密单元(140)和第一功能单元(150a)以及第二功能单元(150b)分别在集成电路(IC)中被实施,优选地在同一集成电路(IC)中被实施。
7.根据上述权利要求之一所述的设备(100),其中,第一功能单元(150a)和/或第二功能单元(150b)分别具有线性反馈的移位寄存器(152)和/或用于实施非线性置换运算(154)的单元。
8.根据上述权利要求之一所述的设备(100),其中,加密单元(140)被构造用于将经变换的输入数据(i')加密和/或解密,尤其是根据高级加密标准AES进行加密和/或解密。
9.一种用于使用于实施加密方法(110)的设备(100)运行的方法,其中,该设备具有用于接收输入数据(i)的输入接口(120)和用于将输出数据(o)输出的输出接口(130),以及该设备具有加密单元(140),用于实施加密方法(110),其特征在于,借助第一功能单元(150a)在应用第一确定性方法的情况下将输入数据(i)的至少一部分转化(400)为经变换的输入数据(i'),并且将经变换的输入数据(i')输送(410)给加密单元(140),和/或借助第二功能单元(150b)在应用第二确定性方法的情况下将加密单元(140)的输出数据(o')的至少一部分转化(420)为经变换的输出数据(o),并且将经变换的输出数据(o)输送(430)给输出接口(130)。
10.根据权利要求9所述的方法,其中,第一功能单元(150a)根据至少一个秘密的第一密钥(v1)实施输入数据(i)的至少一部分的变换。
11.根据权利要求9至10之一所述的方法,其中,第二功能单元(150b)根据至少一个秘密的第二密钥(v2)实施输出数据(o')的至少一部分的变换。
12.根据权利要求9至11之一所述的方法,其中,第一和/或第二确定性方法分别基于数学函数,其中该数学函数是单射的或者是双射的,并且其中优选地第一确定性方法和第二确定性方法基于同一数学函数。
13.根据权利要求9至12之一所述的方法,其中,第一功能单元(150a)和/或第二功能单元(150b)分别使用至少一个线性反馈的移位寄存器(152)和/或用于实施非线性置换运算(154)的单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102012209404A DE102012209404A1 (de) | 2012-06-04 | 2012-06-04 | Vorrichtung zur Ausführung eines kryptographischen Verfahrens und Betriebsverfahren hierfür |
DE102012209404.0 | 2012-06-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103455446A true CN103455446A (zh) | 2013-12-18 |
CN103455446B CN103455446B (zh) | 2019-04-09 |
Family
ID=49579494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310215571.2A Active CN103455446B (zh) | 2012-06-04 | 2013-06-03 | 用于实施加密方法的设备及对此的运行方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9430656B2 (zh) |
CN (1) | CN103455446B (zh) |
DE (1) | DE102012209404A1 (zh) |
FR (1) | FR2991477B1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106169045A (zh) * | 2015-05-19 | 2016-11-30 | 罗伯特·博世有限公司 | 计算装置和对此的运行方法 |
CN106407134A (zh) * | 2016-09-13 | 2017-02-15 | 重庆大学 | 一种提高嵌入式系统固态硬盘存储可信性的方法及系统 |
CN108075926A (zh) * | 2016-11-17 | 2018-05-25 | 西门子公司 | 用于保护数据的传输的保护设备和网络布缆设备 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102014213071A1 (de) | 2014-07-04 | 2016-01-07 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Verarbeitung von Daten |
EP3056706A1 (en) | 2015-02-16 | 2016-08-17 | Honeywell International Inc. | An approach for aftertreatment system modeling and model identification |
EP3125052B1 (en) | 2015-07-31 | 2020-09-02 | Garrett Transportation I Inc. | Quadratic program solver for mpc using variable ordering |
US10272779B2 (en) | 2015-08-05 | 2019-04-30 | Garrett Transportation I Inc. | System and approach for dynamic vehicle speed optimization |
US10124750B2 (en) | 2016-04-26 | 2018-11-13 | Honeywell International Inc. | Vehicle security module system |
US10728249B2 (en) | 2016-04-26 | 2020-07-28 | Garrett Transporation I Inc. | Approach for securing a vehicle access port |
US10036338B2 (en) | 2016-04-26 | 2018-07-31 | Honeywell International Inc. | Condition-based powertrain control system |
CN106548806B (zh) * | 2016-10-13 | 2019-05-24 | 宁波大学 | 一种能够防御dpa攻击的移位寄存器 |
US11199120B2 (en) | 2016-11-29 | 2021-12-14 | Garrett Transportation I, Inc. | Inferential flow sensor |
EP3649558B8 (en) * | 2017-07-06 | 2024-04-17 | Chromaway AB | Method and system for a distributed computing system |
US11057213B2 (en) | 2017-10-13 | 2021-07-06 | Garrett Transportation I, Inc. | Authentication system for electronic control unit on a bus |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1897521A (zh) * | 2006-06-05 | 2007-01-17 | 中国电信股份有限公司 | 用于以太网数据的三重搅动方法 |
CN101196965A (zh) * | 2006-12-07 | 2008-06-11 | 上海安创信息科技有限公司 | 防攻击高级加密标准的加密芯片的算法 |
US20100229005A1 (en) * | 2009-03-04 | 2010-09-09 | Apple Inc. | Data whitening for writing and reading data to and from a non-volatile memory |
CN101877634A (zh) * | 2009-04-28 | 2010-11-03 | 华为技术有限公司 | 以太网无源光网络系统的数据加密和解密方法及设备 |
US20120106732A1 (en) * | 2010-11-02 | 2012-05-03 | Stmicroelectronics (Rousset) Sas | Cryptographic countermeasure method by deriving a secret data |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7587044B2 (en) | 1998-01-02 | 2009-09-08 | Cryptography Research, Inc. | Differential power analysis method and apparatus |
CA2327911A1 (en) * | 2000-12-08 | 2002-06-08 | Cloakware Corporation | Obscuring functions in computer software |
US7383570B2 (en) * | 2002-04-25 | 2008-06-03 | Intertrust Technologies, Corp. | Secure authentication systems and methods |
US7949883B2 (en) * | 2004-06-08 | 2011-05-24 | Hrl Laboratories, Llc | Cryptographic CPU architecture with random instruction masking to thwart differential power analysis |
EP1646174A1 (en) * | 2004-10-07 | 2006-04-12 | Axalto SA | Method and apparatus for generating cryptographic sets of instructions automatically and code generation |
US7826611B2 (en) * | 2005-10-17 | 2010-11-02 | Palo Alto Research Center Incorporated | System and method for exchanging a transformed message with enhanced privacy |
FR2941342B1 (fr) * | 2009-01-20 | 2011-05-20 | Groupe Des Ecoles De Telecommunications Get Ecole Nat Superieure Des Telecommunications Enst | Circuit de cryptographie protege contre les attaques en observation, notamment d'ordre eleve. |
FR2949010A1 (fr) * | 2009-08-05 | 2011-02-11 | St Microelectronics Rousset | Procede de contremesure pour proteger des donnees memorisees |
US20120079281A1 (en) * | 2010-06-28 | 2012-03-29 | Lionstone Capital Corporation | Systems and methods for diversification of encryption algorithms and obfuscation symbols, symbol spaces and/or schemas |
US8862902B2 (en) * | 2011-04-29 | 2014-10-14 | Seagate Technology Llc | Cascaded data encryption dependent on attributes of physical memory |
US9172529B2 (en) * | 2011-09-16 | 2015-10-27 | Certicom Corp. | Hybrid encryption schemes |
US8787564B2 (en) * | 2011-11-30 | 2014-07-22 | Certicom Corp. | Assessing cryptographic entropy |
-
2012
- 2012-06-04 DE DE102012209404A patent/DE102012209404A1/de active Pending
-
2013
- 2013-05-29 US US13/904,518 patent/US9430656B2/en active Active
- 2013-06-03 CN CN201310215571.2A patent/CN103455446B/zh active Active
- 2013-06-03 FR FR1355049A patent/FR2991477B1/fr not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1897521A (zh) * | 2006-06-05 | 2007-01-17 | 中国电信股份有限公司 | 用于以太网数据的三重搅动方法 |
CN101196965A (zh) * | 2006-12-07 | 2008-06-11 | 上海安创信息科技有限公司 | 防攻击高级加密标准的加密芯片的算法 |
US20100229005A1 (en) * | 2009-03-04 | 2010-09-09 | Apple Inc. | Data whitening for writing and reading data to and from a non-volatile memory |
CN101877634A (zh) * | 2009-04-28 | 2010-11-03 | 华为技术有限公司 | 以太网无源光网络系统的数据加密和解密方法及设备 |
US20120106732A1 (en) * | 2010-11-02 | 2012-05-03 | Stmicroelectronics (Rousset) Sas | Cryptographic countermeasure method by deriving a secret data |
Non-Patent Citations (1)
Title |
---|
RALPH C.MERKLE,ET AL: "On the Security of Multiple Encryption", 《COMMUNICATION OF THE ACM》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106169045A (zh) * | 2015-05-19 | 2016-11-30 | 罗伯特·博世有限公司 | 计算装置和对此的运行方法 |
CN106169045B (zh) * | 2015-05-19 | 2021-12-21 | 罗伯特·博世有限公司 | 计算装置和对此的运行方法 |
CN106407134A (zh) * | 2016-09-13 | 2017-02-15 | 重庆大学 | 一种提高嵌入式系统固态硬盘存储可信性的方法及系统 |
CN106407134B (zh) * | 2016-09-13 | 2019-03-29 | 重庆大学 | 一种提高嵌入式系统固态硬盘存储可信性的方法及系统 |
CN108075926A (zh) * | 2016-11-17 | 2018-05-25 | 西门子公司 | 用于保护数据的传输的保护设备和网络布缆设备 |
US11032250B2 (en) | 2016-11-17 | 2021-06-08 | Siemens Aktiengesellschaft | Protective apparatus and network cabling apparatus for the protected transmission of data |
CN108075926B (zh) * | 2016-11-17 | 2021-08-31 | 西门子公司 | 用于保护数据的传输的保护设备和网络布缆设备 |
Also Published As
Publication number | Publication date |
---|---|
US9430656B2 (en) | 2016-08-30 |
FR2991477A1 (fr) | 2013-12-06 |
CN103455446B (zh) | 2019-04-09 |
US20130326232A1 (en) | 2013-12-05 |
FR2991477B1 (fr) | 2018-04-20 |
DE102012209404A1 (de) | 2013-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103455446A (zh) | 用于实施加密方法的设备及对此的运行方法 | |
CN105940439B (zh) | 使用排列应对对密码算法的旁通道攻击的对策 | |
CN104468089B (zh) | 数据保护装置及其方法 | |
EP2290872B1 (en) | Device for generating a message authentication code for authenticating a message | |
KR102383829B1 (ko) | 안전하게 메시지를 교환하기 위한 방법, 이 방법을 구현하기위한 장치 및 시스템 | |
CN102880836A (zh) | 安全装置 | |
CN112906070B (zh) | 具有块密码侧信道攻击减轻的集成电路和IoT设备及相关方法 | |
CN105447394B (zh) | 一种带本地数据加密功能的智能密码钥匙 | |
CN105099652A (zh) | 数据加密、解密方法和装置 | |
CN102598575B (zh) | 用于对密码保护的有效数据单元加速解密的方法和系统 | |
CN104348625A (zh) | 加解密装置及其加解密方法 | |
CN111245808B (zh) | 数据加密、解密方法、装置及计算机设备 | |
CN109804596B (zh) | 具有加掩码的输入的可编程块密码器 | |
Priya et al. | FPGA implementation of efficient AES encryption | |
CN102598014B (zh) | 机密地提供软件组件的方法和系统 | |
EP1625693A2 (en) | A hardware implementation of the mixcolumn / invmixcolumn functions | |
Bajaj et al. | AES algorithm for encryption | |
CN105681023A (zh) | 上位机与单片机动态加密通讯的方法 | |
CN114499825A (zh) | 一种双控密钥管理方法、系统、加密机和存储介质 | |
JP6631989B2 (ja) | 暗号化装置、制御方法、及びプログラム | |
CN104035890A (zh) | 基于静态随机存储器的可编程门阵列芯片加密方法及系统 | |
Alrammahi et al. | Development of Advanced Encryption Standard (AES) Cryptography Algorithm for Wi-Fi Security Protocol | |
CN103475466A (zh) | 一种USBKey总线保护实现方法 | |
Walia et al. | Implementation and Analysis of Triple AES in VHDL | |
CN104778421A (zh) | 数据安全加密方法、用以加密或认证的数据安全系统及数据载体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |