保护密码设备对抗实现攻击的制作方法_4

文档序号:9648864阅读:来源:国知局
0081]本公开减少对密钥随机性的需要。允许基于任何常数的加密。通过改变输入向量的值,最终的已更新密钥230k也发生变化。此外,对于每个密钥来说只存在一个输入,并因此只存在单个功率测量。因此,统计方式的边信道攻击(如差分功耗攻击)是低效的。
[0082]本公开描述了逐比特地处理输入。因此,针对任意长度输入的输出将会是η个比特的输出。一般而言,使用密钥来加密常数。在本示例中使用了 0值,然而输入可以具有任意长度和任意值。在使用密钥对常数进行加密之后,对输入因子进行细分,并将其用于逐步地修改密钥。这针对密钥创建了树状的结构。这还创建了伪随机函数。
[0083]密钥更新模块260的密钥更新函数可以应用到任何加密协议。通过针对每个密钥只产生单个功率痕迹,防止了边信道攻击。此外,不存在从外部不能控制的随机性。可以对每个交易进行相同的重放。如果提供的输入向量270相同,则最终的已更新密钥230k也将会是相同的。
[0084]不同于其它加密密钥更新方法,不存在会话密钥。相反,针对输入向量的比特值的每个迭代,对先前的密钥进行重写。因此,不可能根据会话密钥来确定或重新创建先前的密钥,并且因此主密钥对于攻击而言并不脆弱。
[0085]本公开的另一个应用可以在认证中。参照图2,临近集成电路芯片能够在客户端存储器146中存储主密钥230。在客户端设备140与主机设备120之间的接触期间,标准认证协议可被用于确定主机和客户端两者之间是相互可信任的。客户端设备140可以应用上述的伪随机函数,该伪随机函数使用从主机设备120接收的输入向量以生成输出。在这个阶段,该输出可以被看做是消息认证码(MAC),并且然后可以通过I/O和卡接口 134、142向主机设备传递。
[0086]通过阅读本公开,其它变化和修改对于本领域技术人员来说将会是显而易见的。这样的变化和修改可以包括等同物和其它特征,该等同物和其它特征在密码领域中是已知的,并且可以使用来替代或附加本文已经公开的特征。
[0087]虽然附带的权利要求针对特征的特定组合,但是应该理解的是,本发明的公开范围还包括这里明确或隐含公开的或由此归纳的任何新特征或特征的任何新组合,不管其是否涉及与任何权利要求中当前所要求保护的发明相同的发明或是否如本发明一样解决了部分或全部的相同技术问题。
[0088]分离的实施方式的上下文中描述的特征也可在单个实施方式中组合提供。反过来,为了简明而在单个实施方式的上下文中描述的各个特征也可被分别提供或以任何适当的子组合来提供。
[0089]申请人在这里注明,可在本申请或由此导出的任何进一步申请的答辩过程中对这种特征或特征的组合构成新的权利要求。
[0090]为了完整起见,还注明术语“包括”不排除其他元素或步骤,术语“一”不排除多个,单个处理器或其它单元可实现权利要求中所记载的若干装置的功能,而且权利要求中的参考符号不应被理解为限制权利要求的范围。
【主权项】
1.一种用于保护密码设备对抗实现攻击的方法,所述方法包括: a)从所述密码设备的存储器中获得密钥; b)向加密模块提供所述密钥和恒定输入; c)使用所述加密模块导出加密数据比特的输出; d)向密钥更新模块提供所述输出、所述密钥和输入向量; e)基于所述输入向量的至少一部分,使用所述密钥更新模块来修改所述密钥以导出已更新密钥。2.根据权利要求1所述的方法,还包括以下步骤: f)向所述加密模块提供所述已更新密钥和所述恒定输入;以及 g)使用所述加密模块导出已更新输出。3.根据权利要求2所述的方法,还包括以下步骤: h)向所述密钥更新模块提供所述已更新输出、所述已更新密钥和所述输入向量;以及 i)基于所述输入向量的至少第二部分,使用所述密钥更新模块修改所述已更新密钥。4.根据权利要求3所述的方法,其中,所述输入向量包括两个或两个以上部分,以及针对所述输入向量的每个部分重复方法步骤f)到i),使得所述方法形成伪随机函数,以及所述方法还包括以下步骤: 借助所述伪随机函数导出伪随机输出。5.根据权利要求4所述的方法,还包括以下步骤: 提供一个或多个附加输入向量; 使用所述伪随机函数导出针对每个附加输入向量的伪随机输出;以及 级联所述伪随机输出,以形成更大的伪随机输出。6.根据前述权利要求中任一项所述的方法,其中,所述输入向量的所述部分是所述输入向量的至少一个比特的值。7.根据前述权利要求中任一项所述的方法,其中,所述密钥更新模块使用压缩、展开或排列操作中的一个或多个来修改所述密钥或先前更新的密钥。8.根据权利要求7所述的方法,其中,根据向所述密钥更新模块提供的所述输入向量的至少一部分的值来选择用于修改所述密钥或所述已更新密钥的操作。9.根据权利要求2到8中任一项所述的方法,其中,所述已更新密钥是所述密钥或先前更新的密钥的至少一部分与所述已更新输出的至少一部分的级联。10.根据前述权利要求中任一项所述的方法,其中,所述密钥更新模块将所述输出或所述已更新输出的与所述密钥或所述已更新密钥的部分相级联的部分循环多个比特。11.根据权利要求10所述的方法,其中,所述比特的数量取决于所述输入向量的至少一部分的值。12.—种在客户端设备与主机设备之间提供安全的数据通信的方法,所述方法包括: 向客户端设备提供客户端微处理器和客户端存储器,其中所述客户端设备包括存储在所述客户端存储器中的密钥; 向主机设备提供主机微处理器和主机存储器; 在所述主机设备与所述客户端设备之间建立安全连接; 从所述主机设备向所述客户端设备提供至少一个输入向量; 使用权利要求2到11中任一项的方法,基于所述输入向量导出至少一个已更新密钥和至少一个已更新输出;以及 通过使用所述已更新输出作为密钥流,使用所述已更新输出来加密所述客户端设备与所述主机设备之间的通信。13.根据前述权利要求中任一项所述的方法,其中,所述加密模块是根据任何加密算法的分组密码器,所述加密算法例如是PRESENT算法或高级加密标准算法。14.一种用于密码设备的集成电路,所述集成电路包括微处理器和存储器,其中所述设备包括存储在所述存储器中的密钥、加密模块和密钥更新模块,从而所述集成电路被配置为执行前述权利要求中任一项的方法。15.一种消息认证码生成方法,所述方法包括: 向密码设备提供根据权利要求14所述的集成电路; 向所述设备提供输入向量; 向所述设备提供恒定输入; 基于所述输入向量,使用权利要求2或其任一从属权利要求所述的方法,导出已更新密钥和已更新输出;以及 使用所述已更新输出作为消息认证码。
【专利摘要】描述了保护密码设备对抗实现攻击的方法。公开的方法包括以下步骤:从密码设备的存储器获得密钥(230);向加密模块(240)提供密钥和恒定输入(210);使用加密模块(240)导出加密数据比特的输出(250);向密钥更新模块(260)提供输出(250)、密钥(230)和输入向量(270);以及使用所述密钥更新模块(260)基于输入向量(270)的至少一部分(270a)修改密钥以导出已更新密钥(230a)。这防止使用已更新密钥或者通过使用边信道攻击来导出密钥的值,因为输入对于所有的密钥而言是恒定的。此外,通过改变输入向量,已更新密钥也发生了改变。
【IPC分类】H04L9/00
【公开号】CN105406957
【申请号】CN201510497587
【发明人】马塞尔·梅德韦德, 马丁·费尔德霍弗, 韦茨斯拉夫·尼科夫
【申请人】恩智浦有限公司
【公开日】2016年3月16日
【申请日】2015年8月13日
【公告号】EP2996277A1, US20160072779
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1