电子电路和遮蔽电子电路的电流要求的方法

文档序号:7941837阅读:180来源:国知局
专利名称:电子电路和遮蔽电子电路的电流要求的方法
技术领域
本发明涉及一种电子电路,具体地,涉及一种包含微控制器或硬连接线 (hardwired)逻辑电路(例如,状态机)的安全装置。本发明还涉及一种遮蔽(masking)电 子电路的电流要求的方法。另外,本发明涉及一种程序元件。最后,本发明涉及一种计算机 可读介质。
背景技术
使用诸如智能卡之类的装置上微处理器和相关逻辑电路或者使用硬连接线逻辑 电路和(秘密)协处理器实现了许多密码装置。一般需要确保在智能卡上存储的重要数据 保持安全,例如秘密密钥等。已经公布了许多电流/功率分析技术,来促使从在正常输入和 输出操作中安全加密的智能卡中获得数据。具体地,可以将执行加密或解密操作的逻辑电 路的电流/功率消耗的分析用于找到在加密或解密操作中使用的轮密钥(round key)。这就是例如智能卡、电子护照、电子票、无钥匙访问授权以及所谓的安全NFC之类 的每一种安全应用不得不总是提供改进方式来保护应用程序的敏感数据抵抗黑客攻击的 原因。为了确保这种保护,在硬件侧和软件侧两者中显著的努力是必要的,以便达到所需要 的系统安全级别。对于电子电路或智能卡芯片的每一个操作条件,(针对所述操作条件)强制实行 理想地固定并且恒定的相应电流/功率消耗,以便覆盖在所述可操作条件中涉及的硬件模 块的实际消耗。这就是所谓的电流源原理,对于每一个操作条件,向外部世界示出了恒定的 电流吸收。为了遮蔽例如智能卡的电子电路的电流/功率要求,并且因此减小对于智能卡的 黑客攻击或破解的成功尝试的可能性,已知的是保持流入到智能卡中的电流恒定,而与电 子电路执行何种操作无关、或者随机地执行电流/功率电平变化。然而实际上,这种“遮蔽”从来都不是理想的,例如按照获得与外部世界通信的重 要元素(例如公钥)的方式受到差分功率分析(DPA)攻击的攻击,所述DPA攻击通过放大 其缺陷来作用。

发明内容
本发明的一个目的是提供一种可选的电子电路,以及一种遮蔽电子电路的电流要 求的可选方法,所述方法具有遮蔽电流要求的改进能力,由此能够增强系统抵抗差分功率 分析(DPA)攻击的硬件安全等级。为了实现上述目的,提供了根据独立权利要求的一种电子电路、一种遮蔽电子电 路的电流要求的方法、一种程序元件和一种计算机可读介质。根据本发明典型实施例的方面,提出了一种遮蔽电子电路的电流要求的方法,其 中所述方法包括以下步骤确定电子电路对于电子电路的正确工作所要求的电流电平和当 所述电子电路要求电流电平时相应的时间点;选择等于或高于所确定的电流电平的电流电平;以及在偏离所确定的时间点的时刻,将提供给所述电子电路/所述电子电路消耗的电 流电平切换到选定的电流电平。根据本发明的另一个典型方面,提出了一种电子电路,所述电子电路包括确定单 元,适用于确定电子电路对于电子电路的正确工作所要求的电流电平和当所述电子电路要 求电流电平时相应的时间点;选择单元,适用于选择等于或高于所确定的电流电平的电流 电平;以及切换单元,适用于在偏离所确定的时间点的时刻,将提供给所述电子电路/所述 电子电路消耗的电流电平切换到选定的电流电平。具体地,所述电子电路还可以包括随机 数发生器,适用于产生随机时间偏移值,其中所述切换单元可以利用所述随机时间偏移以 便确定所述时刻。根据本发明的另一个典型方面,提供了一种程序元件,所述程序元件适用于当由 处理器执行时,控制或执行根据本发明典型方面的方法。根据本发明的另一个典型方面,提出了一种计算机可读介质,在所述计算机可读 介质中存储了计算机程序,所述程序适用于当由处理器执行时,控制或执行根据本发明典 型方面的方法。在该申请中,术语“电子电路”可以具体表示任意类型的电子电路,例如集成电路 或芯片,在接触式应用和未接触式应用中,所述电子电路在安全装置中实现,例如微控制 器、协处理器和存储器。这种安全装置可以是可能具有双接口或三接口的智能卡、所谓的安 全NFC、或电子护照(或e_护照)。具体地,所述电子电路可以包括微控制器或CPU和协处理器。因此,根据该典型方面,提供了一种方法,所述方法在与实际时间点不同的时刻处 切换电流电平,此时新的电流或电流电平对于在智能卡中实现的电子电路必要的。因此,遮 蔽了智能卡的电子电路(例如密码协处理器)的激活的实际时间点,从而减小了 DPA攻击 的可能性。具体地,要求特定电流电平的时间点和实际切换电流电平的时刻之间的差是可 变的,并且可以对于每一次切换随机地设定。因此,可以忽略现有技术的缺点,即,典型是在 电子电路(或模块)请求开始操作与电流源端口值的相应更新之间的恒定时间,以及对于 模块开始工作的必然让步。由于该恒定时间促使在潜在的DPA攻击期间触发了监测动作, 该恒定时间代表了现有技术系统的潜在弱点。可以通过各种装置切换电流电平,例如能够切换不同电流电平的电流源,其中将 当前没有用于电子电路的正确工作的过剩电流或功率馈送至电阻器,电阻器将所述过剩功 率转换为热。然而,可以设想通过恒压源或恒流源向电子电路供电。在这种情况下,可以通 过其电阻值能够被设定的电阻器来“消耗”过剩的热。在这种情况下,可以容易地设想能够 使用晶体管来代替电阻器,晶体管更易于在集成电路中实现。可以通过计一种算机程序来实现根据本发明典型方面的方法,即通过软件,或者 通过使用硬件形式的一个或更多个专用电子优化电路或者通过软件部件和硬件部件的混 合方式。在有利的实施例中,通过在给出特定电流要求的时间点和电流源切换至与所述特 定电流要求相对应的电流电平的时刻之间引入可变和/或随机时间间隔,来遮蔽电子电路 或模块的实际电流要求。因此,遮蔽了电子电路(例如密码协处理器)开始操作的实际时 间点,从而阻碍了可能的DPA攻击。应该注意的是,在一些切换动作中,时间偏离可以是0,即,也可以在不得不改变提供给电子电路/电子电路消耗的电流电平的时间点处执行所述 切换,然而根据本发明的典型实施例,所述时刻可以与所述时间点不同。此外,为了遮蔽所 述切换时间,可以随机地选择所提供的电流电平。然而应该注意的是,所选择的电流电平应 该确保电子电路或整个安全装置(例如智能卡)是可操作的。接下来描述遮蔽电流要求的方法的另一典型实施例。然而,这些实施例也可以应 用于电子电路、程序元件和计算机可读介质。根据典型实施例,所述方法还包括以下步骤向所述电子电路供应与所选择的电 流电平相对应的电流。具体地,可以通过电流源将所述电流供应给电子电路,所述电流源适 用于在不同的电流电平之间切换,例如高电流电平和低电流电平。当讨论智能卡时,该电流 源可以位于智能卡内,所述智能卡包括本发明的电子电路;或者该电流源可以位于插入了 所述智能卡的终端中。然而,电流源的位置不局限于智能卡或终端。根据所述方法的另一典型实施例,随机地选择所述时间偏离。具体地,可以利用随 机数发生器(RNG)来选择或确定所述时间偏离。RNG的使用可以确保所述时间偏离或时间 偏移,并且因此真正随机地选择切换时刻,这意味着在电子电路请求电流电平的时间点和 给出实际切换时间的时间点之间没有恒定的时间。因此,降低了成功的DPA攻击的可能性。 例如,所述时间偏移可以具有正值、负值或者可以是零,并且可以通过将电子电路要求所述 电子电平的时间点和所述偏移时间相加来确定切换的时刻。具体地,执行切换的时刻可以 是在比将电流或电流电平切换至更高电平情况下(例如从低电平切换至高电平)所确定的 时间点更早的时间,而执行切换的时刻可以是在比在将电流或电流电平切换至较低电平情 况下(例如从高电平到切换至低电平)所确定的时间点更晚的时间。如已经描述的,可以 偶然性地选择零时间偏离/偏移。然而,与已知方法相反,可能的黑客不会依赖于不存在时 间偏移这一事实,从而阻碍了可能的DPA攻击。根据所述方法的典型实施例,随机地选择选定的电流电平。通过确定随机选择的 电流电平或电流偏移,使得能够实现额外的遮蔽电流要求。例如,对于电流电平的每一次切 换,可以选择不同的电流偏移,使得成功的DPA攻击变为不可能。与接触式应用相结合,这 种电流偏移可能特别有利,例如在用电池或电源向电子电路供电的应用中,例如机顶盒或 移动电话。最后,如果使用功率电平来代替电流电平,所述方法尤其有利。具体地,如果电子 电路的电源电压有波动,可以确定、选择和切换功率电平来代替电流电平。按照这种方式, 可以遮蔽本发明的电子电路的功耗。通常,经由电流和电压来测量功率。然而,也应该注意 到可以只使用电阻器的电压降(功率U除以R)来测量功率。在这种情况中,隐含地测量了 电流(U除以R)。根据下文所述的实施例示例,本发明的上述方面和典型实施例以及另外方面将变 得显而易见,并且将参考实施例的这些示例进行解释。应该注意的是结合一个典型实施例 或典型方面描述的特征可以与其他典型实施例和其他典型方面结合。


下文中将参考示例实施例详细地描述本发明,但是本发明不局限于此。图1示意性地示出了智能卡,所述智能卡适用于执行根据典型实施例的方法。
5
图2示意性地示出了电流电平的时序图。
具体实施例方式附图中的说明是示意性的。在不同的图中,类似或相同的元件配置有类似或相同 的参考符号。图1示意性地示出了智能卡(IC、或电子电路)100,包括CPU 101、密码协处理器 102、非易失性存储器103和电流源106。另外,示意性地描述了电流输入路径104和输出路 径105。在图IA中所示的操作状态中,只有CPU 101是激活的,密码协处理器102是非激活 的,而在图IB中所示的工作状态中,密码协处理器102也是激活的。CPU可以包括或者可以 形成确定单元,适用于确定电子电路所要求的电流电平和电子电路要求所述电流电平时 的相应时间点;选择单元,适用于选择与等于或高于所要求的电流电平相对应的电流电平; 以及切换单元。可以通过在CPU中实现的以及在非易失性存储器存储的软件、硬件连线电 路或混合来形成这些单元,。图2示意性地示出了与不同方法和操作状态相对应的时序图。图2A示出了与图 IA中所示的操作状态相对应的时序图。图2A中对于操作状态的时序图示出了根据已知方 法的电流遮蔽。图2A在第一行中示出了 CPUlOl随时间所要求的电流,在第二行中示出了密 码协处理器102所要求的电流,在第三行中示出了经由电流输入路径104由电流源106提 供的电流。因为只有CPU 101是激活的,只有CPU 101要求例如ImA的峰值电流。为了具有 安全余量,将电流源106设定至1. 5mA。应该注意的是实际上存在消耗能量、而CPU 101不 需要的部件,因此保持从电源焊接点吸收的电流理想地恒定在1. 5mA。为了简洁起见,在图 1中并未示出这些部件(例如,为了“消耗”过剩能量并且与CPU 101并联开关的电阻器或 晶体管)。因此在图IA和2A中所示的工作状态,理想上黑客只能看见触点或端子处1. 5mA 的恒定电流。图2B示出了与使用已知方法的公知智能卡的图IB中所示的工作状态相对应的时 序图,即在第一行示出了 CPU 101随时间所要求的电流,在第二行示出了密码协处理器102 所要求的电流,以及第三行示出了经由电流输入路径104通过电流源106提供电流。由于 CPU 101和密码协处理器102两者均是激活的,密码协处理器102要求例如另一个2. 5mA的 峰值电流。为了具有安全余量,将电流源106设置为4. 0mA。具体地,在给定示例中的非常 短时间内,这种已知智能卡要求从1. 5mA的电流Il到4. OmA的电流12的迅速更新。通常, 所述时间在约1ns,或者小于电流源寄存器的典型地固定时间窗口,例如在0.5和1.5个时 钟周期之间。无论何时协处理器或存储器模块请求CPU(或者更简单的情况下请求状态机) 开始工作,就会发生这种更新和相应切换。为了说明性目的,图2B中示出了一些特定的时 间点。智能卡100变成激活的时间点(即激活CPU 101的时间点)由虚线201表示。协处 理器变成激活的时间点由虚线202表示,而虚线230表示协处理器再次变为非激活的时间 点,以及虚线204表示智能卡100再次变为非激活的时间点。图2C示出了与在实现根据典型实施例的本发明方法的智能卡的图IB中所示的工 作状态相对应的时序图。图2C中所示的时序图与图2B中所示的时序图类似。然而,在不 同的时间点进行切换。具体地,引入额外时间间隔,用于确定电流源切换到另一个电流电平 的时刻。在有利的实施例中,限制所述时间间隔使得存在时间跨度205、206、207和208,在
6此期间可以进行随机切换。时间跨度205表示当电流源106开始向CPUlOl提供足够电流的时刻范围,并因此 激活智能卡100。图2c清楚了示出了与如虚线201所示实际上当CPU 101变为激活时的时 刻不同的时刻。这意味着CPU 101的激活不必与电流源106的切换相一致。时间宽度206 表示当电流源106开始向CPUlOl和协处理器102提供足够电流的时刻范围。再次,所述时 刻与如虚线202所示实际上协处理器102变为激活的时间点不同。因为协处理器102再次 变为非激活,时间跨度207表示当电源106开始仅向CPU 101提供足够电流的时刻范围,。 该时刻与虚线203所示协处理器102实际上变为非激活的时间点不同。最后,时间跨度208 表示当电源106停止向智能卡100供应电流的时刻范围,其中所述时刻与虚线204所示智 能卡100实际上变为非激活的时间点不同。应该注意的是可以随机地选择切换时间。然而,应该确保总是将所要求的电流 电平提供给智能卡,即所提供的电流电平至少匹配智能卡的所有部件的电流要求,这在特 定的时间点是必须的(例如,通过选择覆盖具有上述合理安全余量的峰值消耗的恒定电流 值)。最后应该注意的是,上述实施例是说明而不是限制本发明,并且本领域普通技术 人员在不脱离所附权利要求所限定的本发明范围的情况下,能够设计许多替代实施例。在 权利要求中,括号中放置的任意参考符号不应该解释为限制权利要求。总体上,词语“包括” 及其变形不排除存在除了在任意权利要求或说明书中所列举的元件或步骤之外的元件或 步骤的存在。单数形式的元件部排除多个这种元件,反之亦然。在枚举了几种装置的设备 权利要求中,这些装置的几个可以由一个条目或相同条目来实现。唯一的事实在于在相互 不同的独立权利要求中引用的特定措施不表示不可以有利的使用这些措施的组合。
权利要求
一种遮蔽电子电路(100)的电流要求的方法,所述方法包括以下步骤确定电子电路(100)对于电子电路的正确工作所要求的电流电平和当所述电子电路(100)要求所述电流电平时相应的时间点;选择等于或高于所确定的电流电平的电流电平;以及在偏离所确定的时间点的时刻,将提供给所述电子电路(100)/由所述电子电路(100)消耗的电流电平切换到选定的电流电平。
2.根据权利要求1所述的方法,还包括以下步骤向所述电子电路(100)提供与所述 选定的电流电平相对应的电流。
3.根据权利要求1所述的方法,其中随机地选择时间偏离。
4.根据权利要求1所述的方法,其中随机地选择所述选定的电流电平。
5.根据权利要求1-4中任一项所述的方法,其中使用功率电平来代替电流电平。
6.一种电子电路(100),包括确定单元,适用于确定电子电路对于电子电路的正确工作所要求的电流电平和当所述 电子电路(100)要求电流电平时相应的时间点;选择单元,适用于选择等于或高于所确定的电流电平的电流电平;以及切换单元,适用于在偏离所确定的时间点的时刻,将提供给所述电子电路/由所述电 子电路消耗的电流电平切换到选定的电流电平。
7.根据权利要求6所述的电子电路(100),还包括随机数发生器,适用于产生随机时间 偏移值。
8.一种程序元件,所述程序元件适用于当由处理器执行时,控制或执行权利要求1所 述的方法。
9.一种计算机可读介质,在所述计算机可读介质中存储了计算机程序,所述计算机程 序适用于当由处理器执行时,控制或执行根据权利要求1所述的方法。
全文摘要
提出了一种遮蔽电子电路(100)的电流要求的方法,其中所述方法包括以下步骤确定电子电路(100)所要求的电流电平和当所述电子电路(100)要求电流电平时相应的时间点;选择与等于或高于所确定的电流电平相对应的电流电平;以及在偏离所确定的时间点的时刻,将提供给所述电子电路(100)/所述电子电路(100)消耗的电流电平切换到选定的电流电平。
文档编号H04L9/06GK101897148SQ200880120254
公开日2010年11月24日 申请日期2008年12月4日 优先权日2007年12月13日
发明者哈拉德·威斯汀, 米歇尔·巴卡罗 申请人:Nxp股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1