首页> 中国专利> 具有防止功率分析攻击保护电路的智能卡及其操作方法

具有防止功率分析攻击保护电路的智能卡及其操作方法

摘要

本发明涉及一种包括具有安全信息的集成电路装置的智能卡。在智能卡中提供了保护电路。这种保护电路被配置用来通过防止使用功率分析技术对安全信息未经授权的检索来保护集成电路装置。这是通过在集成电路装置工作时把电连接到集成电路装置的至少一个电源线维持在基本恒定的电压而实现的。这个恒定电压的作用是用来屏蔽由集成电路装置执行的操作,并且从而对可能被设计用于支持功率分析技术的外部硬件掩蔽这些操作。具体来说,提供了一个可变电容器以向电源线和集成电路提供位移电流,同时以适当的速率逐渐减小电容器的电容量以支持在电源线上恒定的电源电压。

著录项

  • 公开/公告号CN1525392A

    专利类型发明专利

  • 公开/公告日2004-09-01

    原文格式PDF

  • 申请/专利权人 三星电子株式会社;

    申请/专利号CN200410003870.0

  • 发明设计人 金瑞规;

    申请日2004-02-06

  • 分类号G06K19/073;

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人马莹;邵亚丽

  • 地址 韩国京畿道

  • 入库时间 2023-12-17 15:34:51

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-04-18

    未缴年费专利权终止 IPC(主分类):G06K19/073 授权公告日:20080416 终止日期:20110206 申请日:20040206

    专利权的终止

  • 2008-04-16

    授权

    授权

  • 2005-12-14

    实质审查的生效

    实质审查的生效

  • 2004-09-01

    公开

    公开

说明书

技术领域

本发明涉及智能卡装置及其操作方法。

背景技术

集成电路智能卡已经经常用在信用卡、银行卡和身份证卡应用和需要安全数据交易的其他基于卡的应用。智能卡典型地包括一个嵌入式集成电路,该电路包括微处理器部件和非易失性存储器,而非易失性存储器可以存储安全信息(如,密钥码、密码、口令等)和其它微处理器可能会使用的信息。密码的使用使得智能卡能够在它们被用于和智能卡读取器或其它兼容装置一同使用时执行安全密码计算或通信。

已经开发了多种技术来非法获取存储在智能卡中的安全信息。其中,这类技术中的一些包括密码分析破译技术,其通常可以被分为两类。这些类型包括被动攻击技术和主动攻击技术。在被动攻击技术中,通常在智能卡正常工作时执行操作以测量智能卡的外部电气特性。例如,可以测量由智能卡产生的或由智能卡接收的外部电流和电压信号以提取内部安全信息,而无需损伤或毁坏智能卡或其内部部件。反之,在主动攻击技术中,可以通过损伤或毁坏智能卡的一个或多个内部部件并使智能卡不能用于其原来用途的试探方式来提取安全信息。

某些被动攻击可以在智能卡执行加密操作时分析智能卡的功率消耗曲线。这种类型的被动攻击包括简单的功率分析(SPA)攻击和差分功率分析(DPA)攻击。在SPA攻击中,攻击者估计单一的功率消耗曲线并从该曲线确定指令的身份或可能从智能卡读取或写入智能卡的数据字的加重平均(Hamming)加权。然而,在DPA攻击中,攻击者可能估计多个功率消耗曲线。这些被动攻击在A.Shamir的题为“Protecting Smart Cards from PassivePower analysis with Detached Power supplies(使用分离式电源保护智能卡免受被动攻击)”,Crytographic Hardware and Embedded Systems(加密硬件和嵌入式系统,CHES),LNCS 1965(200),pp.71-77的文章中有更全面的描述。

图1-2示出了对包含集成电路(IC)芯片1的智能卡执行SPA攻击的操作。所述芯片1在W.Rankl和W.Effing题为Smart Card Handbook(智能卡手册),John Wiley & Sons,Ltd.(ISBN 0 471 98875 8)2000的教材第420-424页有更全面的描述。如所示的那样,包括微处理器和存储器部件2的IC芯片1具有6个接线端。这些接线端包括一个电源端(VCC)、一个接地参考端(GND)、一个用于接收复位信号的复位端、一个用于接收时钟信号的时钟端(CLK)、一个被配置用来输出和接收命令和/或数据(DATA)的I/O端和一个保留用途(RFU)端。电源端VCC接收外部电压(以Vx示出)。还提供了一个电表(A)用于测量提供给IC芯片1的电流信号Ix的大小和方向。本领域的技术人员会理解,当外部电压VX施加给IC芯片1并且微处理器和存储器部件2进行操作时,由电表(A)测量的电流可能反映所执行的操作的本质。这样,如图2所示,电流信号Ix可能形成一个能识别IC芯片1究竟是经历非操作(NOP)、多项操作(MUL)或是跳操作(JMP)的波形。此外,通过作为时间的一个函数来截取电流波形,密码分析可以执行SPA攻击,并且借此提取由存储器部件保存的密码。图1中的IC芯片1还易受DPA攻击,该DPA攻击可以估计差分输入电流的大小和方向。

授予Shamir的美国专利No.6507913公布了一种用于在智能卡被插入卡读取器时保护智能卡免受SPA和DPA攻击的装置。如图1所示的913号专利所示出的,该装置包括两个嵌入在智能卡的衬底中(例如塑料卡)的电容器3和4。电容器3和4被以前后顺序切换使得在任何给定时间其中一个被外部电源充电而另一个被智能卡的芯片1放电。这样,在智能卡10的操作期间,外部电源保持和智能卡芯片1断开。尽管如此,由于在电容器3和4上的电压在每个切换间隔期间会被降低一个与该芯片所消耗的电流量成比例的量,因此通过对在电容器3和4在每个周期被部分放电后提供给它们的外部脉冲电源波形进行估计,仍然有可能间接地检测芯片1的电流消耗概要。因此,虽然专利913的装置提供了附加的保护,SPA和DPA攻击仍有可能进行。

发明内容

本发明的实施方式包括具有降低的易受被动和主动攻击可能性的集成电路安全系统。在某些实施方式中,智能卡作为安全系统操作并且智能卡包括在其中具有安全信息的集成电路装置。在智能卡中还配备了保护电路。这种保护电路被配置用来通过防止使用功率分析技术对安全信息未经授权的检索来保护集成电路装置。这是通过在集成电路装置操作时把至少一个和集成电路装置电连接的电源线维持在一个基本恒定(uniform)的电压来实现的。这个恒定的电压的作用是用来屏蔽集成电路装置的操作,并且借此使这些操作在可能被指定用来支持被动攻击或主动攻击的外部或内部硬件前隐蔽起来。具体来说,提供了一个可变电容器以向电源线和集成电路提供正位移(displacement)电流,同时该可变电容器的电容量被以适当的速率逐渐降低以支持电源线上的恒定电源电压。

根据本实施方式的优选方面,所述保护电路包括一个控制电路。该控制电路被配置来根据检测到电源线的电压的升高而增大可变电容器的值,以及被配置来根据检测到电源线的电压的降低而减小可变电容器的值。通过这种方式,电压调节关系可以在具有足够长的持续时间的工作时间间隔中得到维持以便使得集成电路能够执行其预定的功能。

所述控制电路可以包括一被配置来进行电源线的电压和参考电压的比较的比较器,所述参考电压可以由一个芯片中电池维持。还可以提供一个电连接到比较器输出的上/下计数器。这个上/下计数器在电源线的电压升高到超过参考电压时可以操作以产生降序计数信号。这种电源线的电压升高在智能卡被连接到外部电源时可能发生。或者,计数器在当电源线的电压在操作时间间隔降低到低于参考电压时可以操作以产生升序计数信号。在某些实施方式中,还可以提供一个数模转换器(DAC)以把数字技术信号转换成能够驱动可变电容器的控制端的模拟信号。通过这种方式,在工作时间周期,比较器、计数器、转换器和可变电容器共同起作用,作为优选的电压调节器来维持电源线电压基本恒定的值。

本发明的另一个实施方式还包括由在其中具有集成电路装置的衬底形成的智能卡。在衬底中还配备有保护电路。该保护电路被配置用来通过把至少一个电连接到所述集成电路装置的电源线维持在基本恒定的电源电压(VS)来法防止对集成电路装置的密码分析。这种保护电路包括具有和CV相等的电容值的可变电容器和电连接到电源线的第一端子。该保护电路在其中还包括连接到可变电容器的控制端的电路部件和电源线。这些部件作为变动控制端的装置起作用,以便在集成电路装置在操作时并且可变电容器正在向集成电路装置提供正位移电流时在放电时间间隔(t1到t2)期间维持下面关系的有效性。

∫Iddt=VS(CV(t1)-CV(t2))

其中,VS代表电源线上的恒定电源电压,Id代表提供给电源线的正位移电流(positive displacement current)。CV(t2)代表在时刻t2可变电容器的电容量,CV(t1)代表在时刻t1可变电容器的电容量并且CV(t1)大于CV(t2)。

在本发明的另一个实施方式中,可以将保护电路配置成,在集成电路装置工作时通过使用一个被配置成向信号线提供充电的可变能量存储部件将和集成电路电连接的信号线维持在大约第一电压来防止对该集成电路装置进行密码分析破译。这种可变能量存储部件可以从包括可变电容器,可变电感器及其组合的组中选择。

附图说明

图1示出了根据现有技术的智能卡芯片;

图2示出了当对图1中的智能卡执行攻击时可能被估计的电流波形;

图3是根据本发明的一个实施方式的智能卡的方框图;

图4是图3中的控制电路的电路示意图;

图5是图3中的上/下计数器的电路示意图;

图6A-6D是说明图3中的保护电路操作的时序波形;

图7是示出根据模拟信号具有相互间互相移动的平行盘的可变电容器的示意图。

具体实施方式

现在将参照附图对本发明进行全面说明,这些附图示出了本发明的优选实施方式。然而,本发明可以用多种不同的形式实施并且不应当被解释为受这里所提出的实施方式的限制。相反,提供这些实施方式子以使本公布能够更全面和完整,并且能更全面地向本领域的技术人员传达本发明的范围。同样的附图标记自始至终指向相同的部件,并且其上的信号线和信号由相同的参考字符表示。信号还可以被同步和/或经历小的(minor)布尔操作(如反向)而无需被视为不同的信号。

现在参考图3,说明根据本发明的一个实施方式的智能卡10。智能卡10包括一个在其中具有智能卡芯片12的衬底11。该智能卡芯片12被表示为包括集成电路装置14和保护电路16,保护电路16电连接到电源线28。如所示出的,电源线28电连接到集成电路装置14的电源端(称为VS)和保护电路16的一个输入端。集成电路装置14可以是执行各种智能卡操作和保存安全信息的传统计算装置。集成电路装置14被表示为包括微处理器装置18和被配置用来从微处理器装置18接收/向微处理器装置18提供安全信息的存储器装置20(例如非易失性存储器装置)。在某些其他的实施方式中,集成电路装置14还可进一步由附加和/或不同于图3中所示出的集成电路部件所限定。

电源线28可以连接到智能卡10的电源端。在包括那些有关把智能卡10插入到卡读取器或其他装置的正常工作期间,电源端可以从外部电压源VX接收电流IX。如所示出的,外部开关SW10被提供来控制向智能卡10提供电源。

智能卡芯片12可以包括电连接到电源线28的过压保护电路26。这个过压保护电路26被表示为包括二极管D10和电阻器R10,它们彼此电串联连接。本领域的技术人员会理解,在电压浪涌可能响应周期性地开关外部开关SW10而发生时,该过压保护电路26将起作用以保护集成电路14和保护电路16免受过度电压浪涌破坏。

保护电路16被表示为包括控制电路22、可变电容器24(CV)和时钟发生器25。如所示出的,可变电容器24被配置用来当外部开关SW10是断开时向电源线28提供正位移电流而当外部开关SW10是闭合并且可变电容器24被充电时向电源线28提供负位移电流。通过增大或减小被标记为SC的控制信号的模拟值来变动由可变电容器24提供的电容量的大小。这个控制信号SC在控制电路22的一个输出端产生。可变电容器24的电容量可以和控制信号SC的模拟值在成反比。因此,控制信号SC的减弱可以导致可变电容器24电容量的增大,而控制信号SC的增强可以导致可变电容器24电容量的减小。

如图7所示出,可变电容器24可以由一对被配置用来响应控制信号SC而相对移动的平行电极所限定。提供了顶电极44和底电极。顶电极44可以被认为和从节点42接收的相对高的电压(如5伏)电连接。底电极包括接收控制信号SC的外部电极部分46,以及电连接到地参考电势(GND)的内部电极部分45。当控制信号SC的电压升高,在电极间的电压VC降低,并且随着响应由弹簧13(F=kx,其中,k是弹簧常数,而x代表顶电极44的迁移距离)提供的向上的力F导致顶电极44的向上移动而距离“d”也增加。由于可变电容器24的电容量和表达式C=εA/d相关,其中,A代表电极区而ε代表一个介电常数。随着d的增加电容量将减少,反之亦然。因此,可以通过控制在控制信号SC的模拟值中的波动来变动可变电容器24的电容量。对于传统的可变电容器的说明还可以在下列US专利5173835、5192871、5965912、6278158、6400550和6441449中找到。在替代实施方式中,保护电路16可以利用从包括可变电容器、可变电感器及其组合的组中选择的可变存储部件。

如图4所示,控制电路22可以包括被配置来比较电源线28上的电源电压(VS)和以Vref示出的参考电压的电压比较器30。在某些情况下,该参考电压可以由电池36产生。参考电压Vref的值可以被设置为比外部电压源VX略小的电平(例如Vref=5.0伏特,而VX=5.1伏特)。基于所示出的比较器30的结构,每当VS>Vref时数字输出信号CR被设置为逻辑0,而每当VS<Vref时数字输出信号CR被设置为逻辑1。这个数字输出信号CR被用作上/下计数器32的输入。

图5示出了计数器32的例子。具体来说,所示出的计数器32包括3个触发器(TFF0-TFF2)、4个AND门电路(AN1-AN4)、两个OR门电路(OR1-OR2)和反相器INV1。所述3个触发器被表示为T型触发器。计数器32产生和时钟信号CLK同步增减的多比特计数信号。本领域的技术人员应当理解,T型触发器可以通过把J-K主从触发器的J和K两个输入端连接起来从J-K主从触发器中构造。通过这种方式,T=1的输入将导致和时钟信号同步切换的真输出Q,而T=0的输入将导致响应时钟信号而保持不变的真输出。因此,如果数字输出信号CR被设置为逻辑1的值,则多比特计数信号S2-S0将从最小值S2,S1,S0=(0,0,0)在每个周期递增一个比特直到达到最大值S2,S1,S0=(1,1,1)。在另一方面,如果数字输出信号CR被设置为逻辑0的值,则多比特计数信号S2-S0将在每个周期递减一个比特直到达到最小值S2,S1,S0=(0,0,0)。多比特计数信号S2-S0变化的速率是时钟信号CLK的频率的函数。

参照图4,提供多比特计数信号S2-S0到数字模拟转换器(DAC)34,该数字模拟转换器(DAC)34产生一个其大小根据多比特计数信号S2-S0的增强而增强和根据多比特计数信号S2-S0的减弱而减弱的模拟输出信号SC。因此,每当电源电压VS的值大于Vref(并且CR=0)时,模拟输出信号SC的大小将和时钟信号CLK同步而逐渐减小。相反,每当电源电压VS的值小于Vref(并且CR=1)时,模拟输出信号SC的大小将和时钟信号CLK同步而逐渐增大。

可变电容器CV24的电容量被配置用来根据输出信号SC的增强而减小以及根据输出信号SC的减弱而增大。具体来说,控制电路22和可变电容器24被配置用来使得下列的关系在从t0到t1的整个充电时间间隔中都有效,在此期间外部开关SW10被闭合并且可变电容器24由外部电压源VX所充电:

-∫Id(t)dt=VS(CV(t1)-CV(t0))                   (1)

其中,VS代表在电源线28上的基本恒定电压,Id代表从可变电容器24向电源线28提供的位移电流,CV(t1)代表在充电时间间隔的终点(当再次断开外部开关SW10时)可变电容器24的电容量,而CV(t0)代表当外部开关SW10被闭合时可变电容器24的电容量。当在时间间隔t0到t1之间开关SW10被闭合时,位移电流Id会是负的。

控制电路22和可变电容器24还被这样配置,即使得在从t1到t2的整个放电时间间隔内保持下面的关系的有效,在此期间外部开关SW10被断开并且可变电容器24向集成电路装置14提供正位移电流。

∫Id(t)dt=VS(CV(t1)-CV(t2))                    (2)

其中,VS代表在电源线28上的基本恒定电压,Id代表提供给电源线28的正位移电流,CV(t2)代表在工作时间间隔的终点(外部开关SW10从断开到闭合)时可变电容器24的电容量,而CV(t1)代表当外部开关SW10第一次断开时可变电容器24的电容量。

现在参照图6A,提供了一个表示在外部开关SW10是断开并且可变电容器24被集成电路装置14放电期间输入电流Ix和时间的关系的时序图。在图6B中,提供了一个说明作为时间的函数的在可变电容器24上的电荷量Q的时序图。在图6C中,提供了一个说明为了维持在电源线28上的恒定电压VS可变电容器24的电容是如何被充电的时序图。当闭合外部开关SW10时,可变电容器24以一个足够维持恒定电源电压VS的速率增大其电容量;而当断开外部开关SW10时,可变电容器24以一个足够维持恒定电源电压VS的速率减小其电容量。这样,如图6D所示,恒定电源电压VS可以被维持在一个恒定的电平,该恒定电平由加在电压比较器30正极的参考电压(Vref)的值来确定。

在附图和说明书中公开了本发明的典型的优选实施方式,并且,虽然采用的特定的术语,它们仅仅是用于通用和说明的目的而不是为了限制在权利要求中所阐明的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号