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

文档序号:9648864阅读:来源:国知局
级联。如上所述,向密钥更新模块提供加密模块的输出以及密钥和输入向量。因此,为了生成长度足够的已更新密钥,先前的密钥可被压缩或分成单独的部分(例如左部分和右部分,这基于比特的数量),并且与输出或已更新输出相组合以生成已更新密钥。在处理输入的一部分并且因此对已更新密钥进行更新之前,如果输出长度/密钥长度比允许,还可以使用输出对密钥的完全替换。可以设想到的是,还可以使用用于生成已更新密钥的备选技术,例如使用盐(salt)来填充输出或已更新输出以及先前密钥中的一个或多个的一些或全部,以生成已更新密钥。
[0028]所描述的方案提供了不依赖于各方之间的密钥协定的泄露弹性类型方案。这允许再现和/或验证先前的交易或消息认证码。此外,不同于通过继续沿着输入向量的值发展或通过提供新的输入向量来针对每一个实例生成已更新密钥,当前的方法只使用一次临时的或已更新的密钥(本质上不存在会话密钥)。
[0029]在第二方案中,提供了在客户端设备与主机设备之间提供数据安全通信的方法,所述方法包括:
[0030]向客户端设备提供客户端微处理器和客户端存储器,其中,客户端设备包括存储在客户端存储器中的密钥;
[0031]向主机设备提供主机微处理器和主机存储器;
[0032]在主机设备与客户端设备之间建立安全连接;
[0033]从主机设备向客户端设备提供至少一个输入向量;
[0034]基于输入向量,使用第一方案的方法的至少一部分来导出至少一个已更新密钥和至少一个已更新输出;以及
[0035]通过使用所述已更新输出作为密钥流,使用所述已更新输出来加密客户端设备与主机设备之间的通信。
[0036]该方案可以有利于临近耦合设备和邻近集成电路芯片之间的通信协议。智能卡连同RFID设备是这种芯片的一个示例。这样的设备需要主机设备与客户端设备之间的认证。此外,这样的设备允许客户端设备基于主机设备提供的输入向量来向主机设备提供拥有密钥的证据。
[0037]在上述方案中,加密模块可以是根据任何加密算法的分组密码器。这样的加密算法包括PRESENT算法或者高级加密标准算法。使用还可在设备上提供备选功能的现有分组密码允许所描述的密码密钥生成的门等效(ge)元件封装(footprint)保持最小。这使得设备可低成本。
[0038]在另一个相关方案中,提供了对数据进行加密的方法,所述方法包括:
[0039]向密码设备提供微处理器和存储器,其中该设备包括存储在存储器中的密钥以及加密模块;
[0040]向设备提供输入向量;
[0041]基于输入向量和伪随机输出,使用第一方案的至少一部分方法来导出已更新密钥;
[0042]提供将要加密的数据;以及
[0043]使用已更新密钥对数据进行加密。
[0044]在另一个实施例中,加密模块可以用于认证协议,使得协议对于DPA攻击不脆弱。这提高了这样的认证协议的安全性。
[0045]另一个方案可以涉及用于密码设备的集成电路,该密码设备包括微处理器和存储器,其中该设备包括存储在存储器中的密钥、加密模块和密钥更新模块,从而集成电路被配置为执行任何前述方案的方法。
[0046]该方案提供了保护密码设备对抗实现攻击(例如边信道攻击)的安全性。
[0047]在另一方案中,提供了消息认证码生成方法,所述方法包括:
[0048]向密码设备提供根据上述集成电路方案的集成电路;
[0049]向该设备提供输入向量和恒定输入;
[0050]基于输入向量,使用第一方案的至少一部分方法来导出已更新密钥和已更新输出;以及
[0051 ] 使用已更新输出作为消息认证码。
[0052]此外,输入向量可以与计数器级联,以产生若干输入并且由此产生更长的输出。
[0053]在实施例中,加密模块可以是解密模块或者是加密解密模块。
[0054]使用标准加密模块(例如对称分组密码器)以及如上所述的方法提供了加密密钥,该加密密钥使得在分组密码实现本身中,在没有任何特殊对策(除了以并行方式(parallelism)阻止简单功率分析以外)的情况下,不能发生如差分功耗分析和故障攻击等的实现攻击。通过重复地执行分组密码并同时使数据输入保持恒定(例如全部是0、全部是1),从原始密码密钥开始,基于输入向量来修改密钥。这允许在没有昂贵的对策并且不需要详细的边信道分析的情况下具有“通过设计得到的安全”方法。本公开可以在例如认证协议中替换标准分组密码。
[0055]可以提供计算机程序,当在计算机上运行该程序时,导致计算机配置包括本文公开的电路、控制器、传感器、滤波器或设备的任何装置,或者执行本文公开的任何方法。该计算机程序可以是软件实现,并且该计算机可以看做是任何合适的硬件,包括数字信号处理器、微控制器以及在只读存储器(ROM)、可擦可编程只读存储器(EPR0M)或电可擦除可编程只读存储器(EEPR0M)(作为非限制示例)中的实现。软件实现可以是汇编程序。
[0056]计算机程序可以在计算机可读介质上提供,该计算机可读介质可以是物理计算机可读介质,例如磁盘或存储设备,或者可以表现为瞬态信号。这样的瞬态信号可以是包括因特网下载的网络下载。
【附图说明】
[0057]现在将参照附图对本公开进行描述,其中类似的附图标记用来表示类似的元素:
[0058]图1是现有技术安全服务的框图;
[0059]图2是主机设计与客户端设备之间通信的框图;
[0060]图3是根据本发明的密码术基本要素;
[0061]图4是图3的密码术基本要素的流程图;并且
[0062]图5是图3的密码术基本要素的备选流程图。
[0063]应当注意的是,附图是概略图并且未按比例绘制。为了在附图中清楚和方便,这些附图的部分的相对尺寸和比例已经在尺寸上扩大或缩小地示出。一般使用相同的附图标记在修改实施例和不同实施例中表示对应或类似的特征。
【具体实施方式】
[0064]图1示出了具有输入IV(输入向量)20、密钥(K) 30、分组密码器40和输出50的现有技术安全服务10。这样的现有技术安全服务的操作是:使用密钥30对输入向量20进行加密,以提供已加密的密文或输出50。分组密码器40提供如何使用密钥来对输入进行加?£?的指令。
[0065]攻击方法是检查分组密码器的内部代码,例如S-box。进行该活动的一种方法是使用边信道攻击。例如,通过分析电磁功率消耗和使用统计,可以确定S-box的结构。这样的攻击通常被称为差分功耗分析攻击。
[0066]例如图1中示出的安全服务可以用在用于读取并且与无源设备(例如射频识别(RFID)标签)通信的服务器或主机上,例如计算机或临近耦合设备。
[0067]图2示出了主机120和客户端无源设备140的示例。在示出的示例中,主机120可以是临近耦合设备(PCD),并且客户端设备140可以是临近集成电路芯片(PICC),例如适于用在根据本公开的密钥分布协议中的RFID标签或智能卡140。在该实施例中,主机120是计算机,其中包括处理器130、存储器132和卡接口 134。智能卡140包括输入/输出接口142、处理器144和存储器146。主机120通过卡接口 134和输入/输出接口 142与智能卡140通信。处理器144可以是被配置为提供如下文更加详细描述的密码处理操作的微处理器或有限状态机。卡140的存储器146可以是电子静态或动态随机存取存储器(RAM)、磁性存储器或信息存储元件的其它合适的布局。卡接口 134和输入/输出接口 142可以与标准
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1