CN101084506A - 数据处理设备及操作这种数据处理设备的方法 - Google Patents
数据处理设备及操作这种数据处理设备的方法 Download PDFInfo
- Publication number
- CN101084506A CN101084506A CNA2005800439041A CN200580043904A CN101084506A CN 101084506 A CN101084506 A CN 101084506A CN A2005800439041 A CNA2005800439041 A CN A2005800439041A CN 200580043904 A CN200580043904 A CN 200580043904A CN 101084506 A CN101084506 A CN 101084506A
- Authority
- CN
- China
- Prior art keywords
- data processing
- original
- specially
- processing equipment
- signal
- 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.)
- Pending
Links
Images
Classifications
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- 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/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/77—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 in smart cards
-
- 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/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/127—Trusted platform modules [TPM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
为了提供一种包括至少一个用于执行具体为密码运算的计算的集成电路的具体为诸如智能卡的嵌入式系统的数据处理设备(100),以及用于操作这种数据处理设备(100)的方法,其中最小化成本、减少对设计复杂度的需要、降低功率损耗、以及增强密码操作的性能,提出了通过隐藏所述计算的功率损耗谱、以及在不同的功率损耗谱之间交替,来保护集成电路(102)使其免于具体为差分功率分析的密码分析,具体是通过引入一个或多个反信号(51;61;71、81),例如相对于平均幅度大致相反的幅度的至少一个或多个信号,其中一个或多个原始或真实信号(50;60;70、80)的对应幅度之和至少可以由一个或多个反信号(51;61;71、81)的对应幅度之和抵消,和/或其中原始或真实信号(50;60;70、80)的数量不必等于反信号(51;61;71、81)的数量,例如平均来说每个原始或真实信号(50;60;70、80)有两个反信号(51;61;71、81)。
Description
技术领域
本发明总体上涉及阻止具体为差分功率分析的密码分析的技术领域。
特别地,本发明涉及一种具体为诸如智能卡的嵌入式系统的数据处理设备及操作这种数据处理设备的方法,该数据处理设备包括至少一个集成电路,该集成电路执行具体为密码运算的计算。
例如,经常将诸如智能卡的嵌入式系统用于与安全性问题相关的领域。将密码运算用于在嵌入式系统和主机之间建立认证,密码运算典型地包括在密码协议中使用密钥,以便向另一方证实一方的身份。
背景技术
在现有技术中(例如,参见现有技术文献US 6 419 159 B1,US 6 625 737 B1,US 6 654 884 B2,WO 99/63696 A1,WO99/67766 A2,WO99/67919 A2,WO 00/19366 A1,WO 00/19367 A1,WO 00/19385 A1,WO 00/19386 A1,WO 00/19608 A2,WO 00/26747 A2,WO 00/26868 A1,WO 00/70761 A1,和WO 01/93192 A1,以及其中的参考),已知,密码运算的物理实施例可能易受到诸如差分功率分析(DPA)的攻击的影响,在差分功率分析中,将处理密钥时的功率损耗的微小差别用于取回密钥或者其部分,由此最终获得对存储在嵌入式设备中的特权数据和信息的未授权访问。这样的攻击通常需要重复的功率损耗测量,以便提高SNR(信噪比),此外对设备相对于这些攻击的恢复力(resilience)的测量是测量次数,即,恢复密钥所需的“功率轨迹”的个数。
在背景技术中,已被理解的是,可以根据以下内容实现对抗:
-共享密码(所谓的“盲”数据)
-将“不可预知的信息”用作随机源,以减小SNR,以及
-根据盲因子,对密钥的更新过程
(参见现有技术文献WO 99/67919 A2)。
在现有技术文献WO 99/63696 A1中,还提出了另一种方法,其中将设备中所产生的附加随机噪声用于降低信噪比。
可选地,可以通过隐藏功率损耗轨迹沿时间轴的相关部分,将随机时钟跳跃用于阻止所述分析。
此外,已经将密码事件的随机排序作为使差分功率分析模糊的手段进行了讨论。
结合“电路匹配”方法,通过适当地对数据和算法的二进制表示进行转换(例如通过使用一个逻辑比特与两个物理比特相对应的双轨(dual-rail)逻辑实施方式),可以实现“常数汉明权重表示”,这也比较不容易受到这种攻击(参见现有技术文献WO 99/67766 A2,US6654884 B2以及US 4563546)的影响。
所有这些方法通常并不旨在使差分功率分析不发生,而是使在这种攻击中所涉及的成本和时间变得过高而使其成为不切实际的。
换言之,用于解决差分功率分析问题的已知方法具有以下缺点:
-功率损耗增加了很多(例如,双轨逻辑实现方式)和/或
-对设计复杂度的要求增长(例如,双轨逻辑实现方式或共享密码的方法),
这转化为设计的物理大小,并因此转化为成本。一些方法通过减缓操作来降低密码运算的性能。
此外,已知方法的重要部分是采用随机数发生器作为产生随机性的工具,这对于设计和检验是很难的。
已知方法的所有这些缺点在诸如智能卡的嵌入式系统中是特别相关的,因为嵌入式系统中成本的最小化是必要的。
由于上述的缺点和不足,并考虑已讨论的现有技术,本发明的目的是进一步发展如权利要求1的前序部分中所述的数据处理设备以及如权利要求5的前序部分中所述的方法,来最小化成本、减少对设计复杂度的要求、降低功率损耗、以及增强密码运算的性能。
发明内容
本发明的目的是通过包括权利要求1的特征的数据处理设备、以及包括权利要求5的特征的操作方法来实现的。在各个附属权利要求中,公开了本发明的有利实施例和有利改进。
本发明总体上涉及一种具体为诸如智能卡的嵌入式系统的数据处理设备,以及通过阻止差分功率分析的方式来操作这种数据处理系统的操作方法。
该设备包括至少一个集成电路,该集成电路根据反声(anti-sound)原理来执行具体为密码运算的有用计算,以便隐藏所述运算的功率损耗谱(profile)。为此,本发明提供了一种方法,用以在不同的功率损耗谱之间交替,其中所述方法由周期信号所驱动。
在本发明中,提出了将反声原理用作产生用于阻止差分功率分析的模糊信号的手段。如现有技术中已知的,差分功率分析根据在执行密码计算时功率损耗的微小差别而得以实施。
基本假设是,相同的密码计算将总是产生相同的微小差别,因此多个类似密码运算的平均将产生完全在噪声电平之上的净信号。
然而,在现有技术领域中,尚未认识到的是,可以主动在硬件层上修改功率损耗谱,以便有意地引入幅度大致相反(相对于平均幅度)的信号,这将在对所有功率轨迹取平均时大致消除了原始(或真实的)信号。在这种情况下,通过有意引入特定反信号来主动地改变信号是比仅仅添加随机噪声更加有效的方法。
现有技术领域中所述的用于均衡汉明权重的方法(例如以双轨逻辑的方式)以时间上同时的方式来做这件事情,即,试图同时最小化每个时间点的泄漏,并且是单独针对每个功率轨迹的。
然而,不需要这种泄漏减少,因为差分功率分析的重要步骤是对多个功率轨迹进行平均。因此,虽然每一个功率轨迹其自身可能是泄漏的,多个功率轨迹的平均并不一定是泄漏的,只要对于每个泄漏信号,有对抗第一信号影响的幅度大致相反的信号。
根据本发明的有利实施例,对抗信号不必在与第一信号相同的密码计算期间产生(虽然是可以的),并因此可以在不同的功率轨迹上共同产生。为了使之起作用,可能的对手并不知道信号是何时翻转的、以及何时没有不翻转是有用的。
原理上,为此使用至少一个随机数发生器,但是根据本发明的优选实施例,这已经足以实现至少一个有限状态机了;在这种情况下,相对小的有限状态机的使用对于随机数发生器的使用是有利的。通过使用这种具有固定周期长度的有限状态机,优选为质数(prime)周期长度,或任意其他适当的周期性单元,可以以有利的方式来控制信号和反信号的顺序。
通过有利地使用这种具有优选为质数的周期长度的周期性逻辑单元,预计攻击者所采取的试验周期长度没有相关性,因为在这种情况下试验周期长度不可能偶然地是实际周期长度的整数分数。
根据本发明的有利但非必须的实施例,可以提供至少一个非易失性存储器,以便存储与有限状态机或周期性单元的例如最终状态或当前状态的至少一个适当状态有关的信息。因此,在设备的(可能强制的)复位之后,通过将存储在非易失性存储器中的信息作为种子,有限状态机不必在有限状态周期的开始处开始;这个选择进一步降低了差分功率分析的有效性。
换言之,根据本发明的具体发明改进,有益地,虽然不是必需地,设备在掉电时保持非易失性存储器处于有限状态机或周期单元的适当状态,因此在给设备加电之后,状态不会始终保持相同,因为这可能便于差分功率分析。
可选地,可以在加电时给有限状态机或周期性单元设置种子。由于以下事实:根据本发明,反信号可以在不同密码计算期间产生,并且不必在原始漏信号的时刻即时地产生,因此与现有技术相比,功率损耗以及芯片面积都大大减小了。
根据本发明的另一个优选实施例,可以将物理特性的至少一个传感器用于为有限状态机提供至少一个种子值。为此,通过使用至少一个模拟/数字转换器,可以将至少一个温度传感器的输出转换成至少一个二进制种子数。
由于在操作电子设备时,温度漂移是非常正常的(并且事实上构成了试图发起差分功率分析的攻击者所要克服的问题之一),可以针对大多数被严格控制的操作环境,预计有限状态机的种子值的合理分布。
根据本发明的优选实施例,可以以如下方式来实现信号的均衡:需要一个以上的反信号来补偿原始或真实信号。在这种情况下,信号幅度之和必须大致地由反信号的幅度之和来均衡。
本发明最后涉及上述至少一个数据处理设备和/或上述方法的使用,用于保护至少一个集成电路的数字部分,具体是增加至少一个集成电路对抗通过具体为差分功率分析的密码分析而进行的未授权访问的安全性。
本发明中所描述的技术不局限于智能卡,而是应用于所有的嵌入式设备,并且实际上应用于所有密码设备,其中可以测量物理量以便将差分密码“功率”分析作为提取存储在该设备中的密码的手段,其中所分析的物理量甚至可以是功率损耗以外的一些其他物理量,诸如电磁辐射。
具体地,本发明中所描述的技术应用于DES(数据加密标准)算法和AES(先进加密标准)算法的硬件实现、以及RSA(Rivest,Shamirand Adleman)和ECC(椭圆曲线密码体制)的实现。
附图说明
如上所述,存在以有利的方式体现以及改进本发明的教益的若干选择。为此,分别参考权利要求1和权利要求5的从属权利要求;下面参考作为示例的优选实施例,并且参考附图,更详细地描述了本发明的其它改进、特征以及优点,在附图中:
图1示意性地示出了在本发明中所使用的数据加密标准算法的周期的实施例;
图2a示意性地示出了以下各个信号的图示:第一类型C1的平均信号<C1>、第二类型C2的平均信号<C2>、以及相关函数D=<C1>-<C2>的信号,每个图都是相对时间绘制的;
图2b示意性地示出了以下各个信号的图示:第一类型C1的平均反信号<C1>、第二类型C2的平均反信号<C2>、以及相关函数D=<C1>-<C2>的反信号,每个图都是相对时间绘制的;
图2c示意性地示出了以下各个信号的图示:第一类型C1的平均混合信号<C1>、第二类型C2的平均混合信号<C2>、以及相关函数D=<C1>-<C2>的混合信号,每个图都是相对时间绘制的;
图3示意性地示出了根据本发明的数据处理设备的实施例,根据本发明的操作方法来对这个数据处理设备进行操作。
具体实施方式
将相同的附图标记用于图1到图3的相应部分。
此后所公开的优选实施例是指DES(数据加密标准)算法,但是本领域的技术人员将理解,所描述的技术适用于但并不受限于诸如AES(先进加密标准)算法、RSA(Rivest Shamirand Adleman)算法、ECC(椭圆曲线密码体制)算法、以及SHA(安全散列算法)算法的其他密码算法。
DES算法属于具有16个轮回(round)的Feistel算法组。在图1中示意性地举证了这些轮回之一(此外,另外的细节可以在BruceSchneier的“Applied Cryptography”的第12章节中找到)。
更详细地,图1示出了这种DES算法轮回的函数的内部结构:首先,通过忽略每第8个比特,将提供给DES的64比特密钥减少到56比特。在提取出56比特之后,对于DES中的16个轮回中的每一个,在轮回密钥发生器30中产生48比特的子密钥。取决于轮回,通过首先将56比特的密钥二等分,然后每半个循环地移位1个或两个比特,从而产生该48比特的子密钥。
在移位后,选择56比特中的48比特。这被称为压缩置换,因为这个选择提供了原始56比特的扰码子集。由于该移位,在给定轮回中所使用的每个子密钥中使用原始密钥比特的不同子集。
此外,在轮回密钥发生器30内提供了额外的逻辑,以便提供适于减小一定范围的选择函数的SNR(信噪比)的反向密钥。
在扩展置换21中,将数据Ri-1的右半部分从32比特扩展到48比特。通过重复某些比特来对这48比特进行扩展,此外还重新排列一些比特,因为这是个置换。扩展置换21的主要目的是使数据Ri-1的右半部分具有与轮回密钥发生器30所提供的密钥相同的大小,即48比特,因为要对数据的两部分进行异或操作。
在该上下文中,在下一个步骤中,第一异或逻辑组件由附图标记40来表示。由于以下两个原因,扩展置换21是重要的:
-首先,由于扩展置换21重复了某些比特,所以扩展置换21允许每个重复比特实现一个以上的替换,因此,输出比特对输入比特的依赖性更快地展开(这被称为雪崩效应,并且是密码学的主要目的之一);以及
-第二个重要作用是,虽然扩展置换21输入了32比特字符串并输出了48比特字符串,每个32比特字符串正好产生一个48比特字符串,即,不存在可由两个不同的32比特字符串产生的48比特字符串。这是重要的,否则在试图对数据进行解密时,将不能够确定知道48比特字符串是从哪个32比特字符串产生的。
然后,利用第一异或逻辑组件40,对扩展置换21的输出和压缩置换的输出进行异或。然后,这个异或操作的48比特结果经过S-box替换函数22。S-box替换22从48比特结果中取出6个比特作为输入,然后输出4个比特。存在8个S-box,这样消耗了输入的所有48比特。每个S-box都是4行6列的表。
表中的每(行,列)对是待输出的4比特数。6个输入比特指定了行和列的值,以查找4比特输出。将输入的第一比特和第六比特进行组合,以便形成十进制值为0到3之间的2比特数。这被用于指定用于查找S-box的行。将第二比特、第三比特、第四比特、第五比特进行组合,以便形成十进制值为0到15之间的4比特数,并对应于要使用的行。
在S-box替换22输出其32比特之后,P-box置换23出现;这个P-box置换23是比特的直接置换。利用第二异或逻辑41,将P-box置换23的结果和初始64比特块的左半部分Li-1(参见附图标记10)进行异或。左半部分和右半部分交换位置,然后另一个轮回开始。
在所有的16个轮回结束之后,输出经过最终置换,最终置换是初始置换的逆运算。进行最终置换的原因是,可以使用同样的算法来对消息进行加密和解密。
一种在差分功率分析中使用的可能的所谓选择函数涉及在DES算法的第一轮回或最后轮回中对R寄存器20进行更新,以便得到作为该R寄存器20中的输入数据以及在轮回密钥发生器30中产生的轮回密钥的函数的新值。
这所基于的思想是,在CMOS(互补对称金属氧化物半导体)技术中,寄存器比特从0到1或者从1到0的转换消耗了与0到0和1到1的其他两种情况不同的功率量,在其他两种情况下没有发生这样的转换。例如,如互联网站
http://www.cryptography.com所描述的,攻击者典型地创建两种类型C1和C2的功率轨迹:
-第一类型C1,其中基于关于轮回密钥的一小部分的假设,选择函数指示了被调查的R寄存器20的目标比特已经改变了其状态;以及
-第二类型C2,其中目标比特没有改变其状态。
关于第一类型C1,其中R寄存器的目标比特进行了转换,所述R寄存器经过参考块Li-1(参见附图标记11)、扩展置换21、第一点(=第一异或逻辑40)、S-box替换22、P-box置换23、以及第二点41(参考块Li;参见附图标记10),从数据Ri-1寄存器(参见附图标记20)更新为数据Ri寄存器(参见附图标记24)。
根据此选择函数,一旦对所有的功率轨迹进行了分类,则得到这两个类型C1、C2的平均<C1>、<C2>之差D=<C1>-<C2>,并对其进行分析(细节参见图2a)。在这个相关函数D=<C1>-<C2>(=第一类型C1的平均<C1>的信号峰值50和第二类型的平均<C2>的信号峰值51之间的差)中,明显峰值52表示选择函数所基于的假设是正确的,并且因此正确地推测了轮回密钥的相应部分。
此时,如果施加到图1中的第一点40处的算法的轮回密钥是位反的(以位取反),功率轨迹的两个类型C1、C2在完全相同的上述假设和选择函数下交换其角色。现在,包括所有其中目标比特已经发生了转换(根据基本假设)的功率轨迹的类型成为其中没有这种转换发生的类型,此外,反之亦然。
因此,与图2a相比,上面所讨论的差分相关函数D=<C1>-<C2>(=第一类型C1的平均<C1>的信号峰值60和第二类型C2的平均<C2>的信号峰值61之间的差)呈现了相反幅度的峰值62(细节参见图2b)。
因此,当底层硬件设计是这样的:例如,在所有情况的50%中,使用轮回密钥的位反来代替正确的轮回密钥,然后将两种类型C1、C2的功率轨迹完全混合,平均起来,将根本不会得到有用的相关信号72和82(=第一类型C1的平均<C1>的信号峰值70、80和第二类型C2的平均<C2>的信号峰值71、81之间的差:细节参见图2c)。
在这种情况下,不得不考虑:在所有计算的50%中,密码结果是错误的,因为使用了错误的轮回密钥。但是,这可以通过要求加密引擎对每个计算都执行两次(参见图2c),一次使用正确的轮回密钥,而另一个使用位反轮回密钥,但是忽略后者的结果,来简单地进行校正。
如果这两种计算的顺序适当地在一个DES计算到下一个DES计算中改变,那么例如反声的平均作用仍继续起作用。需要由至少一个逻辑单元来确定需要何时以及以什么频率交换顺序,以便在平均多个功率轨迹时,尽可能完全地均衡排序。
对于这种均衡排序,不需要使用随机数发生器,因为只要遵守50%规则,则有限状态机或任意其他周期性单元是完全足够的。偏离50%规则会导致对抗的效力降低。
另一方面,存在除了上述之外的其它目的比特以及选择函数,其中每个通常规定了对功率轨迹的单位的不同分割,因此必须分析大量其他可能的攻击以及针对每个这种攻击找到交换产生的两种类型C1、C2功率轨迹的方式。在所有这些情况下同时实现完全均衡通常不可能,并且因此一个必须找到一种折衷,来平等地防止所有的攻击。
在这种情况下,可以理解,不需要两个单独信号完全地相互均衡。本发明仅在两个或多个信号之和与两个或多个反信号之和相抵消时,才能同等地工作。
同样地,可通过允许真实信号与反信号的其他比,来更改50%规则,例如平均来说对每个真实信号有两个反信号。
本发明的优选实施例是基于对所述的反声原理的使用。首先,除了图1以外,提供至少一个控制部分,以便监控对50%规则的遵守。此外,在轮回密钥发生器30内提供至少一个额外逻辑,以便提供适于减少一定范围的选择函数的SNR(信噪比)的反向密钥。
根据图3中的本发明的示例性实施例,以智能卡(=嵌入式系统)为形式的数据处理设备100包括用于执行密码计算以及密码运算的集成电路102。
以如下方式保护这个集成电路102使之不受到具体是差分功率分析的密码分析:
-通过隐藏所述计算和运算的功率损耗谱,以及
-通过在不同的功率损耗谱之间交替。
通过引入具有与平均幅度相反幅度的信号形式的反信号51(参见图2a)、61(参见图2b)、71、81(参见图2c),来完成上述的隐藏以及交替。
在图3中,将有限状态机104(或任意其他周期性单元)分配到集成电路102,以便控制原始的或真实信号50(参见图2a)、60(参见图2b)、70、80(参见图2c)以及所引入的反信号51(参见图2a)、61(参见图2b)、71、81(参见图2c)的顺序。
另外,将非易失性存储器106分配给有限状态机104,并因此被分配给集成电路102,非易失性存储器106用于存储与有限状态机104的适当状态(例如最终状态或当前状态)有关的信息;有限状态机104的适当状态的非易失性存储器106
-可在掉电时被保持,因此在给数据处理设备100加电之后状态并不总是保持相同,或
-可以在加电时给有限状态机104设置种子。
进一步从图3中可知,可以将诸如周围温度的物理特性的传感器单元108分配给有限状态机104,并因此分配给集成电路102,该传感器单元108用于向有限状态机104提供种子值。
可用于产生种子值的其他传感器是用于内部供电电压或外部供电电压的传感器、时钟传感器、或用于监控输入输出信道的动作的传感器。
上述数据处理设备100及操作所述数据处理设备100的方法应用于密码计算以及密码运算,具体是遵守数据加密标准。除此之外,对于AES(先进加密标准)、RSA(Rivest Shamirand Adleman)、ECC(椭圆曲线密码体制)等,可以用适当的方式来改编这种方法,其中上述的简单密钥翻转不必起作用。
100 数据处理设备,具体为诸如智能卡的嵌入式系统
102 集成电路
104 有限状态机或周期性单元
106 非易失存储单元
108 传感器单元
10 初始64比特块的左半部分Li-1
11 初始64比特块的左半部分Li
20 Ri-1寄存器
21 扩展置换
22 S-box替换,具体为S-box替换函数
23 P-box置换
24 Ri寄存器
30 具有至少一个逻辑组件的轮回密钥发生器
40 第一点,具体为第一异或逻辑组件
41 第二点,具体为第二异或逻辑组件
50 第一类型C1的平均<C1>的信号,具体为峰值
51 第一类型C2的平均<C2>的信号,具体为峰值
52 相关函数D的信号,具体为峰值
60 第一类型C1的平均<C1>的反信号,具体为反峰值
61 第二类型C2的平均<C2>的反信号,具体为反峰值
62 相关函数D的反信号,具体为反峰值
70 第一类型C1的平均<C1>的第一信号,具体为第一峰值
71 第二类型C2的平均<C2>的第二信号,具体为第二峰值
72 相关函数D的第一信号
80 第一类型C1的平均<C1>的第二信号,具体为第二峰值
81 第二类型C2的平均<C2>的第二信号,具体为第二峰值
82 相关函数D的第二信号
C1 第一类型
<C1> 第一类型C1的平均
C2 第二类型
<C2> 第一类型C2的平均
D 相关函数(=平均<C1>和平均<C2>之间的差)
T 时间
Claims (10)
1.一种具体为诸如智能卡的嵌入式系统的数据处理设备(100),包括用于执行具体为密码运算的计算的至少一个集成电路(102),所述数据处理设备(100)的特征在于:
通过以下方式保护集成电路(102)使其免于具体为差分功率分析的密码分析,
-隐藏所述计算的功率损耗谱,以及
-在不同的功率损耗谱之间交替,具体是通过引入一个或多个反信号(51;61;71、81),例如相对于平均幅度大致相反的幅度的至少一个或多个信号,其中一个或多个原始或真实信号(50;60;70、80)的对应幅度之和可以至少由一个或多个反信号(51;61;71、81)的对应幅度之和大致抵消,和/或其中原始或真实信号(50;60;70、80)的数量不必等于反信号(51;61;71、81)的数量,例如平均来说每个原始或真实信号(50;60;70、80)有两个反信号(51;61;71、81)。
2.如权利要求1所述的数据处理设备,其特征在于,至少一个有限状态机(104)或至少一个周期性单元用于控制原始或真实信号(50;60;70;80)和所引入的反信号(51;61;71;81)的顺序。
3.如权利要求2所述的数据处理设备,其特征在于,至少一个非易失性存储器(106)用于存储与有限状态机(104)或周期性单元的具体为最终状态或当前状态的至少一个适当状态有关的信息,其中
-有限状态机(104)或周期性单元的适当状态的非易失性存储器(106)可以在掉电时被保持,使得在加电之后数据处理设备(100)的状态并不总是相同的。
-可以在加电时给有限状态机(104)或周期性单元设置种子。
4.如权利要求3所述的数据处理设备,其特征在于,物理特性的至少一个传感器(108)用于为有限状态机(104)或周期性单元提供至少一个种子值。
5.一种方法,用于操作具体为诸如至少一个智能卡的至少一个嵌入式系统的至少一个数据处理设备(100),所述数据处理设备(100)包括至少一个用于执行具体为密码运算的计算的至少一个集成电路(102),所述方法的特征在于,
通过以下方式保护集成电路(102)使之免于具体为差分功率分析的密码分析,
-隐藏所述计算的功率损耗谱,以及
-在不同的功率损耗谱之间交替,具体是通过引入一个或多个反信号(51;61;71、81),例如相对于平均幅度大致相反的幅度的至少一个或多个信号,其中一个或多个原始或真实信号(50;60;70、80)的对应幅度之和至少可以由一个或多个反信号(51;61;71、81)的对应幅度之和大致抵消,和/或其中原始或真实信号(50;60;70、80)的数量不必等于反信号(51;61;71、81)的数量,例如平均来说每个原始或真实信号(50;60;70、80)有两个反信号(51;61;71、81)。
6.如权利要求5所述的方法,其特征在于,反信号(51;61;71、81)是在不同的密码计算过程中产生的,并且不是在原始或真实信号(50;60;70、80)的时刻即时地产生的。
7.如权利要求5或6所述的方法,其特征在于,在对所有功率轨迹取平均时,消除原始或真实信号(50;60;70、80)。
8.如权利要求5到7中的至少一个所述的方法,其特征在于,所述方法是基于:
-数据加密标准算法,
-先进加密标准算法,
-Rivest,Shamir and Adleman RSA算法,
-椭圆曲线密码体制算法,或
-安全散列算法1。
9.如权利要求5到8中的至少一个所述的方法,其特征在于,由至少一个周期信号来驱动。
10.使用如权利要求1到4中的至少一个所述的至少一个数据处理设备(100)和/或如权利要求5到9中的至少一个所述的方法,用于保护至少一个集成电路(102)的数据部分,具体是用于增加至少一个集成电路(102)相对于未授权访问的安全性,例如,所述未授权访问是通过具体为差分功率分析的密码分析进行的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04106722.4 | 2004-12-20 | ||
EP04106722 | 2004-12-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101084506A true CN101084506A (zh) | 2007-12-05 |
Family
ID=36130124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005800439041A Pending CN101084506A (zh) | 2004-12-20 | 2005-12-12 | 数据处理设备及操作这种数据处理设备的方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20120005466A1 (zh) |
EP (1) | EP1831812A1 (zh) |
JP (1) | JP2008524901A (zh) |
CN (1) | CN101084506A (zh) |
WO (1) | WO2006067665A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103679008A (zh) * | 2012-09-03 | 2014-03-26 | 江苏东大集成电路系统工程技术有限公司 | 一种高效的安全芯片功耗攻击测试方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9336160B2 (en) * | 2008-10-30 | 2016-05-10 | Qualcomm Incorporated | Low latency block cipher |
JP4687775B2 (ja) * | 2008-11-20 | 2011-05-25 | ソニー株式会社 | 暗号処理装置 |
US8413906B2 (en) | 2011-05-22 | 2013-04-09 | King Saud University | Countermeasures to secure smart cards |
US9410996B2 (en) * | 2013-06-03 | 2016-08-09 | Eaton Corporation | Method and system employing finite state machine modeling to identify one of a plurality of different electric load types |
WO2017058947A1 (en) | 2015-09-28 | 2017-04-06 | Red Balloon Security, Inc. | Injectable hardware and software attestation of sensory input data |
US11188682B2 (en) * | 2016-06-17 | 2021-11-30 | Arm Limited | Apparatus and method for masking power consumption of a processor |
US10255462B2 (en) * | 2016-06-17 | 2019-04-09 | Arm Limited | Apparatus and method for obfuscating power consumption of a processor |
US10200192B2 (en) * | 2017-04-19 | 2019-02-05 | Seagate Technology Llc | Secure execution environment clock frequency hopping |
CN107223322B (zh) * | 2017-04-25 | 2020-07-24 | 深圳市汇顶科技股份有限公司 | 签名验证的方法、设备和系统 |
CN111352833B (zh) * | 2020-02-24 | 2023-04-25 | 北京百度网讯科技有限公司 | 推荐系统的测试方法、装置、设备和计算机存储介质 |
US11599679B2 (en) * | 2020-06-23 | 2023-03-07 | Arm Limited | Electromagnetic and power noise injection for hardware operation concealment |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6327661B1 (en) | 1998-06-03 | 2001-12-04 | Cryptography Research, Inc. | Using unpredictable information to minimize leakage from smartcards and other cryptosystems |
US6278783B1 (en) | 1998-06-03 | 2001-08-21 | Cryptography Research, Inc. | Des and other cryptographic, processes with leak minimization for smartcards and other cryptosystems |
EP1088295B1 (en) | 1998-06-03 | 2007-08-15 | Cryptography Research Inc. | Balanced cryptographic computational method and apparatus for leak minimization in smartcards and other cryptosystems |
EP1068668B1 (de) | 1998-09-30 | 2005-10-05 | Koninklijke Philips Electronics N.V. | Schaltungsanordnung zum verarbeiten von datensignalen |
DE59914771D1 (de) | 1998-09-30 | 2008-07-10 | Nxp Bv | Datenverarbeitungseinrichtung und verfahren zu deren spannungsversorgung |
DE19845073C2 (de) * | 1998-09-30 | 2001-08-30 | Infineon Technologies Ag | Verfahren zur Absicherung der DES-Verschlüsselung gegen Ausspähung der Schlüssel durch Analyse der Stromaufnahme des Prozessors |
WO2000019367A1 (de) | 1998-09-30 | 2000-04-06 | Koninklijke Philips Electronics N.V. | Datenverarbeitungseinrichtung und verfahren zu dessen betrieb zum verhindern einer differentiellen stromverbrauchanalyse |
EP1046142B1 (de) | 1998-09-30 | 2005-11-16 | Koninklijke Philips Electronics N.V. | Datenverarbeitungseinrichtung und verfahren zu dessen betrieb zum verhindern einer differentiellen stromverbrauchanalyse |
ATE229207T1 (de) | 1998-09-30 | 2002-12-15 | Koninkl Philips Electronics Nv | Datenträgervorrichtung mit datenbus deren energieverbrauch unabhängig ist von den über den datenbus gesendeten daten |
DE19850293A1 (de) | 1998-10-30 | 2000-05-04 | Koninkl Philips Electronics Nv | Datenträger mit Kompromittierungsschutz |
DE19850721A1 (de) | 1998-11-03 | 2000-05-18 | Koninkl Philips Electronics Nv | Datenträger mit Verschleierung des Stromverbrauchs |
GB2345229B (en) * | 1998-12-23 | 2003-12-03 | Motorola Ltd | Method for encrypting data |
FR2790347B1 (fr) * | 1999-02-25 | 2001-10-05 | St Microelectronics Sa | Procede de securisation d'un enchainement d'operations realisees par un circuit electronique dans le cadre de l'execution d'un algorithme |
JP2003500881A (ja) | 1999-05-12 | 2003-01-07 | インフィネオン テクノロジーズ アクチェンゲゼルシャフト | 集積回路の供給電流に電流パルスを発生させる回路アセンブリ |
US6419159B1 (en) | 1999-06-14 | 2002-07-16 | Microsoft Corporation | Integrated circuit device with power analysis protection circuitry |
DE59914370D1 (de) * | 1999-11-03 | 2007-07-19 | Infineon Technologies Ag | Kodiervorrichtung |
DE10000503A1 (de) * | 2000-01-08 | 2001-07-12 | Philips Corp Intellectual Pty | Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb |
WO2001093192A1 (en) | 2000-05-31 | 2001-12-06 | Koninklijke Philips Electronics N.V. | Data carrier for the adaptation of a consumption time interval to the power consumption of the data carrier |
US6625737B1 (en) | 2000-09-20 | 2003-09-23 | Mips Technologies Inc. | System for prediction and control of power consumption in digital system |
JP2003018143A (ja) | 2001-06-28 | 2003-01-17 | Mitsubishi Electric Corp | 情報処理装置 |
DE602004022795D1 (de) * | 2003-04-22 | 2009-10-08 | Nxp Bv | Elektronische schaltung für kryptographische anwendungen |
-
2005
- 2005-12-12 EP EP05824124A patent/EP1831812A1/en not_active Withdrawn
- 2005-12-12 CN CNA2005800439041A patent/CN101084506A/zh active Pending
- 2005-12-12 WO PCT/IB2005/054179 patent/WO2006067665A1/en active Application Filing
- 2005-12-12 JP JP2007546260A patent/JP2008524901A/ja not_active Withdrawn
- 2005-12-12 US US11/722,349 patent/US20120005466A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103679008A (zh) * | 2012-09-03 | 2014-03-26 | 江苏东大集成电路系统工程技术有限公司 | 一种高效的安全芯片功耗攻击测试方法 |
CN103679008B (zh) * | 2012-09-03 | 2018-08-17 | 江苏东大集成电路系统工程技术有限公司 | 一种高效的安全芯片功耗攻击测试方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1831812A1 (en) | 2007-09-12 |
JP2008524901A (ja) | 2008-07-10 |
US20120005466A1 (en) | 2012-01-05 |
WO2006067665A1 (en) | 2006-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101084506A (zh) | 数据处理设备及操作这种数据处理设备的方法 | |
Chen et al. | An efficient image encryption scheme using lookup table-based confusion and diffusion | |
Wong et al. | An efficient diffusion approach for chaos-based image encryption | |
US8369516B2 (en) | Encryption apparatus having common key encryption function and embedded apparatus | |
JP5776113B2 (ja) | 高次の観測攻撃から保護される暗号回路 | |
JP5700128B2 (ja) | 暗号化処理装置および認証方法 | |
US7659837B2 (en) | Operation processing apparatus, operation processing control method, and computer program | |
CN101739889B (zh) | 密码处理装置 | |
CN1989726A (zh) | 用于执行加密计算的方法和装置 | |
CN102970132B (zh) | 一种防止对分组算法进行功耗分析和电磁辐射分析的防护方法 | |
CN103795527A (zh) | 防止基于功耗分析攻击aes算法的软件掩码防护方案 | |
EP3371928A1 (en) | Key sequence generation for cryptographic operations | |
KR100737171B1 (ko) | 아리아에 대한 전력분석공격에 대응하는 저메모리형 마스킹방법 | |
CN104301095A (zh) | Des轮运算方法和电路 | |
Huang et al. | Low area-overhead low-entropy masking scheme (LEMS) against correlation power analysis attack | |
Saha et al. | White-box cryptography based data encryption-decryption scheme for iot environment | |
Ledda et al. | Enhancing IDEA algorithm using circular shift and middle square method | |
Yoshikawa et al. | Efficient random number for the masking method against DPA attacks | |
Karri et al. | Parity-based concurrent error detection in symmetric block ciphers | |
Sun et al. | A lightweight secure protocol for wireless sensor networks | |
KR20190049875A (ko) | 테이블 기반 구현에서의 차수 2 이상의 dca 공격에 대응하는 방법 | |
Fu et al. | Medical image protection using hyperchaos-based encryption | |
Gomathisankaran et al. | Glitch resistant private circuits design using HORNS | |
Goodwin et al. | Advanced encryption standard (AES) implementation with increased DPA resistance and low overhead | |
Hars | Information Security Applications of Bit-Mixers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: NXP CO., LTD. Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V. Effective date: 20080418 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20080418 Address after: Holland Ian Deho Finn Applicant after: Koninkl Philips Electronics NV Address before: Holland Ian Deho Finn Applicant before: Koninklijke Philips Electronics N.V. |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20071205 |