[发明专利]在使用一种密钥动态加密算法的电子元件中的对抗方法无效
申请号: | 00810258.9 | 申请日: | 2000-05-11 |
公开(公告)号: | CN1360715A | 公开(公告)日: | 2002-07-24 |
发明(设计)人: | D·纳卡彻 | 申请(专利权)人: | 格姆普拉斯公司 |
主分类号: | G07F7/10 | 分类号: | G07F7/10 |
代理公司: | 中国专利代理(香港)有限公司 | 代理人: | 王勇,张志醒 |
地址: | 法国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 一种 密钥 动态 加密算法 电子元件 中的 对抗 方法 | ||
本发明涉及在一个使用一种密钥加密算法的电子元件中的一种对抗方法。这种元件在严格控制对服务或数据的访问的应用中使用。它们具有一个在微处理器和存储器附近形成的、包含一个具有密钥的程序存储器的体系结构。
这些元件特别使用在智能卡中,用于其中的某些应用。举例来说,涉及访问某些数据库的应用、金融应用、或例如用于电视、汽油分配或高速公路通行费的远程支付应用。
这些元件或卡因此使用一种密钥加密算法,其中最公知的一种算法是DES(在英国和美国文献中,意思是数据加密标准)算法。还存在其它的密钥算法,诸如RC5算法或COMP128算法。当然这个列表没有穷举。
概括和简洁地来说,这些算法的作用是从用作一主机系统(服务器、银行分配器等等)的一个(到该卡的)输入的一个信息和包含在该卡中的密钥计算一个加密信息,并接下来将这个加密信息提供给该主机系统,例如该加密信息使得该主机系统能够验证该元件或卡、交换数据等等。
然而,很清楚这些元件或卡容易受到包含对电流消耗的一个差值分析的攻击,这使有不良企图的第三方能够发现该密钥。这些攻击被称为DPA攻击,是差值能力分析的英语缩写。
这些DPA攻击的原理基于以下事实:微处理器执行指令的电流消耗依据正被操作的数据而变化。
特别地,微处理器操作一个数据位的一条指令,取决于该位是等于“1”或“0”而产生两个不同的电流特征。通常,如果该指令正操作一个“0”,则在执行的这个时刻消耗电流的第一数值,而且如果该指令正操作一个“1”,则消耗该电流的不同于第一数值的第二数值。
已知这些加密算法的如下特征:进行的计算、使用的参数。唯一未知的是包含在该程序存储器中的密钥。这不能完全从对用作一个输入的该信息和反过来提供的该加密信息的认识中推导出。
然而,在一个加密算法中,某些计算的数据完全依赖于在该卡的输入端以明码形式应用的信息以及包含在该卡中的该密钥。在该算法中计算的其它数据因此能完全从该加密信息(通常在从该卡到该主机系统的输出端上以明码形式提供)和包含在该卡中的该密钥再计算出来。更确切地说,这些特定数据的每一位能够从输入或输出信息、以及该密钥有限数目的特定位中确定。
因此,一个特定数据项的每一位对应于由该密钥的一组特定位形成的一个子密钥。
能够被推算的这些特定数据位以下简称为目标位。
因此,DPA攻击的基本思想是:取决于它正操作的是“1”还是“0”、以及从一个已知的输入或输出信息和在相应子密钥上的一个假设通过该算法的指令计算一个目标位的可能性,使用在一条指令的电流消耗特征中的差值。
因此,DPA攻击的原则是测试一个给定的、应用于大量电流测定曲线的子密钥假设、和一个布尔选择函数,其中每一电流测定曲线都与攻击者的一个已知输入信息有关,且该布尔选择函数是依据该子密钥假设,使用为一个目标位而推算的值为每一曲线定义的。
通过在有关的子密钥上形成一个假设,推算这个目标位将为一个给定的输入或输出信息而使用的值为“0”或“1”在实际上是可能的。
然后,就有可能作为一个布尔选择函数,为所讨论的该子密钥假设应用该目标位预测的值“0”或“1”,以便将这些曲线分类形成以下两个信息包:依据该子密钥假设,第一个信息包包含已经知道在“0”上对该目标位进行操作的曲线,而第二个信息包包含已经知道在“1”上对该目标位进行操作的曲线。通过在每个信息包中采用平均电流消耗,就获得了一个用于第一个信息包的平均消耗曲线M0(t)以及一个用于第二个信息包的平均消耗曲线M1(t)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于格姆普拉斯公司,未经格姆普拉斯公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/00810258.9/2.html,转载请声明来源钻瓜专利网。