防电流攻击的受保护微控制器的制作方法

文档序号:6846450阅读:169来源:国知局
专利名称:防电流攻击的受保护微控制器的制作方法
技术领域
本发明涉及打算并入可携带物中,尤其是通常被称为智能卡的以卡的形式的物体中的微控制器。
智能卡一般用在机密数据的安全存储和处理等最重要的应用中。尤其是,它们的目的是用于健康领域的应用、付费电视的应用、或银行方面的应用,例如,电子钱包。
微控制器是以集成电路的形式生产的已被编程的自动机。它们通过输入/输出触片把一系列逻辑指令作用于来自它们的内部存储器或来自外部的数据。
一般来说,智能卡微处理器是利用SMC技术设计的。利用这种技术,可以把微控制器的操作所需的部件集成在同一电路中,具体地说,这些部件是中央处理单元(CPU)、像ROM(只读存储器)那样的非易失性不可重写的只读存储器、像闪速存储器、EEPROM(电可擦除可编程只读存储器)或FRAM(铁磁性随机访问存储器)那样的非易失性可重写存储器、和RAM(随机访问存储器)易失性存储器。
诈骗者已经开发出了“电流”攻击技术,以便获取微控制器管理的机密数据和,例如,其目的是用于实现诸如DES(数据加密标准)或RSA(RivestShamir Adelman(里维斯特沙米尔阿德尔曼))算法之类的、用在微控制器中的加密算法的密钥。
这些攻击技术是基于下述原理的即在时间时隔T内执行作用于操作对象OPE的指令INS时微控制器所消耗的能量EcμC总是相同的,并且代表一种特征(signature)。换言之EcμC(T;INS;OPE)=常数请注意,在上面的关系中,以及在本说明书的如下关系中,符号“=”的意思是“近似等于”。
为了实施电流攻击,诈骗者具体地把低值电阻R,具体地说为1Ω的电阻,串联在微控制器电源VμC与它的电源触片VCC之间。然后,他们利用与例如数字示波器相连接的计算机,显示电压RIcc(t)随根据作用于基本相同或不同操作对象的数百个或甚至数千个指令的执行获得的时间的变化,数字示波器的作用是放大这些变化,取样它们,和诊断为以后分析用而获取的结果。
这种非破坏性的攻击是极为危险的。
因此,微控制器的制造者和电路板的制造者已经开发出了保护微控制器免遭这些攻击的方法。
这些方法的大多数依赖于涉及到伪随机次数的触发操作的程序的使用,或涉及到在微控制器正在执行指令的同时,生成带有相当多随机或不正确信息的噪声的操作的程序的使用。
但是,这些方法存在着许多缺点。程序执行时间太长。需要相当大的存储空间。最后,由于来源于指令执行结果的电信号仍然存在,因此,不能保护机密数据免遭诈骗者进行的深入分析。
在本请求的优先权日前未加公开的法国专利申请第9801305号所述的另一种方法建议,用低通滤波器元件滤波电流。这种方法只不过削弱了电特征,通过仔细分析它们,仍然可以访问某些机密数据。
鉴于上面情况,本发明打算解决的技术问题是保护将被并入像智能卡那样的可携带物中的微控制器免遭电流攻击,所述可携带物至少包括-把电流供应给所述微控制器的触片;-数据输入和/或输出触片;-有效数据处理部分;和-机密数据。
本发明对这个问题的解决方案涉及到这样的微控制器,其特征在于,它还包括-改变有效数据处理部分的电源电压的装置,所述装置能够保护所述机密数据免遭电流攻击。
在可以认为所述有效数据处理部分的能耗与它的电源电压的平方成正比的条件下,这个电压的变化干扰了电特征,致使难以或甚至不可能分析电特征。
最好,用于改变有效数据处理部分的电源电压的装置包括-与微控制器电源触片串联的随时间而改变的电阻,这个可变电阻是,例如,在时间间隔Toff期间断开和在时间间隔Ton期间闭合的开关,循环比Toff/(Ton+Toff)随时间而改变,并且周期(Ton+Toff)随时间而改变。
并且,用于改变有效数据处理部分的电源电压的装置最好包括脉冲发生器,这个脉冲发生器包括跨接在有效数据处理部分两端的阈电压跨接同步电路。
最后,用于改变有效数据处理部分的电源电压的装置最好还包括电容器,这个电容器是,例如,其电容大于0.1毫微法的电容器。
在本发明的某些优选实施模式中,微控制器包括由硅晶体制成的主层,主层包括电路和支承触片的有效面通过密封层与附加保护层隔离开,改变有效数据处理部分的电源电压的装置位于附加保护层上。
通过阅读参照附图写成的如下非限制性说明,可以更加容易理解本发明,在附图中,

图1显示了根据本发明的智能卡的透视图;图2显示了根据本发明的智能卡的剖视图;图3显示了根据本发明的智能卡的触片的前视图;图4显示了根据本发明的微控制器的透视图;图5示意性地显示了根据本发明的微控制器的各个组成部分;图6A表示图4所示的、根据本发明的微控制器的有效层;图6B表示图4所示的、根据本发明的微控制器的附加层;图7示意性地显示了根据本发明的微控制器的有效数据处理部分的SMC倒相器;图8显示了图7所示的SMC倒相器的命令信号Ve、电源电流icc和输出信号Vs随时间的变化;图9是根据本发明的微控制器的线路连接图;图10A至10D分别显示了根据本发明的微控制器的信号S、电流ICAP、电压VμCE和电源电流ICC随时间的变化;图11是对处在现有技术状态下的微控制器(特征A),以及对根据本发明得到保护的微控制器(特征B)中,电流ICC随时间变化的可比记录;图12是根据本发明的微控制器的特定实施模式的线路连接图;和图13显示了有关与图12所示的实现模式相对应的微控制器的、信号S1、S2、和S3随时间的变化。
根据本发明的可携带物是在标准ISO7816的各节中具体定义的标准化物体,把标准ISO7816的内容包括在本说明中,以供参考。在图1、2、和3所示的实施模式中,这样的物体采取大体长方形的薄卡1的形式,薄卡1包括与电子模块3集成在一起的主体2。
卡的主体2由,例如,5个塑料层状落片20、21、22、23和24组成,并且包括容纳模块3的空腔25。
模块3包括微控制器30,微控制器30的触片300通过导线31电连接到与卡主体2的表面齐平的触盘32。这些触盘32倚靠在环氧玻璃型绝缘材料的厚向33上。部件微控制器30和导线31用保护树脂34覆盖着。
在图4所示4的实施模式中,微控制器30采取厚度为大约180μm和面积为大约10mm2的正平行六面体的形式。
这个微控制器30包括由硅晶体制成的主层301,主层301包括电路和支承触片300的有效面通过利用密封层303与由硅晶体制成的附加保护层302隔离开。这个附加层302含有开孔304,开孔304位于触片300的反面,以便触片300可以与触板32相连接。
在实际中,存在五个触片300。它们是分别与模块3的触板VCC、RST、CLK、I/O和GND相连接的触片VCC、RST、CLK、I/O和GND。电源触片VCC的用途是向微控制器供电。复位触片RST的用途是向微控制器发送复位信号,时钟触片CLK的用途是向微控制器发送时钟信号,输入/输出触片I/O的用途是能够在微控制器与外部交换逻辑数据,和接地触片GND用于把微控制器与地相连接。
根据本发明的微控制器30的集成电路包括几个有效部分。具体地说,存在着图5所示的接口微控制器部分μCI和有效数据处理部分μCE。
接口微控制器部分或接口微控制器μCI最好只包括消耗不可能暴露与微控制器处理的机密数据有关的信息的能量的装置。在实际中,接口微控制器μCI,包括例如,加载泵或与触片RST、CLK、和I/O相联系的接口电路。触片RST主要涉及检测初始化信号的装置和初始化微控制器的相关装置。触片CLK涉及检测上限与下限之间的频率的装置。最后,触片I/O涉及通过从输入模式切换到输出模式或反之使微控制器能够通信的装置。
有效数据处理部分或有效微控制器μCE是微控制器30发一部分包括其倒相器的用途是处理机密数据的元件的部分。因此,它代表微控制器可能把有关这个机密数据的信息提供给诈骗者的部分。在实际中,它包括中央处理单元(CPU)、可能存在的与这个单元相联系的密码处理器、数据和地址总线命令电路,以及RAM、ROM、和EEPROM存储器,或所有其它类型的存储器。
根据本发明的微控制器30还包括脉冲发生器GEN、电容器CAP和开关COM。脉冲发生器、电容器和开关是用于改变有效微控制器的电源电压的装置。
脉冲发生器GEN包括,例如,两个振荡器,每个振荡器由在输入电路上存在磁滞的施密特(Schmitt)倒相器构成;电容器,连接在倒相器输入端与地之间;和电阻,连接在这个倒相器的输出端与它的输出端之间,所述两个振荡器通过电阻耦合在一起,形成调频信号源。另外,脉冲发生器GEN最好包括有关跨接在有效微控制器两端的电压VμCE的阈电压Vthreshold的电压跨接同步电路。这个电路可以由电压比较器构成,电压比较器的正输入端与参考电压,电压Vthreshold相连接,它的负输入端与跨接在有效微控制器两端的电压相连接,并且它的输出端与通过来自调频信号源的同步信号同步化的触发器的输入端D相连接。
电容器CAP具有大于大约0.1毫微法的电容,具体地说,在大约1毫微法至大约10毫微法之间,例如,6毫微法的量级。请注意,1.5毫微法电容器的电极具有大约1mm2的面积。而且,6毫微法电容器的电极具有大约4mm2的面积。
在本发明中,开关COM可以由与微控制器电源触片VCC串联的随时间变化的电阻来取代。
在本发明中,触片I/O、RST和CLK通过电连接线与接口微控制器μCI相连接。触片GND通过电连接线与脉冲发生器GEN、与电容器CAP、与有效微控制器μCE和与接口微控制器μCI相连接。另外,触片VCC通过电连接线与脉冲发生器GEN、与开关COM、和与接口微控制器μCI相连接。并且,开关COM通过电连接线与脉冲发生器GEN和电容器CAP相连接。最后,电连接线把有效微控制器μCE与把电容器CAP、与开关COM相连接的电连接线和把脉冲发生器GEN与这最后一条线相连接的电连接线相连接,以便监视电压VμCE,将其与电压Vthreshold相比较。
至于图4所示那种类型的微控制器,上述各个部分如图6A和6B所示那样排列,在图6A和6B中,附加层302(图6B)包括脉冲发生器GEN、电容器CAP和开关COM,和支承触片的主层301(图6A)包括有效微控制器部分μCE和接口微控制器μCI。
另外,主层301包括三个互连触片P1、P2和P3,第一触片P1与触片VCC相连接,第二触片P2与有效微控制器相连接,和第三触片P3与触片GND相连接。
类似地,附加层302也包括三个互连触片P1′、P2′和P3′,在微控制器中,它们处在触片P1、P2和P3的反面上和分别在触片P1、P2和P3的垂直上方。第一触片P1′先与开关COM相连接,再与脉冲发生器GEN相连接,第二触片P2′与开关COM和电容器CAP之间的公共点相连接,和第三触片P3′先与电容器CAP相连接,再与脉冲发生器GEN相连接。
在图4所示的微控制器30中,触片P1、P2和P3通过导电凸部分别与触片P1′、P2′和P3′电连接。
显然,上述微控制器只代表根据本发明的一种实施模式,完全可以设计出微控制器的其它实施模式,它们没有多层结构,而是具有把上述各个部分触片、接口和有效微控制器、电容器、脉冲发生器和开关集成在不用附加层覆盖的硅基底的单层中的更传统结构。
根据本发明的微控制器消耗的能量EcμC等于分别由接口微控制器、有效微控制器和脉冲发生器/电容器/开关组件消耗的能量ECμCI、ECμCE和ECM之和。
EcμC=EcμCI+EcμCE+EcM接口微控制器消耗的能量EcμCI不暴露微控制器30执行的指令,因此,不暴露在执行所述指令期间处理的机密数据。
有效微控制器的基本门是图7所示的倒相器40。这些倒相器40由与N型晶体管402串联的P型晶体管401构成。电压VμCE施加到P型晶体管上,并且N型晶体管与地GND相连接。电容器Ci与每个倒相器40相联系。这个电容器Ci的电容等效于倒相器互连线的物理电容以及形成可能连接在图7所示的倒相器的下面的倒相器的P和N型晶体管的栅极的电容。
从功能的观点来看,P和N型晶体管受与倒相器的输入电压相对应的公共命令信号Ve控制。当这个信号携带逻辑0(Ve=GND)时,P型晶体管接通和N型晶体管断开,致使在输出端(Vs=VμCE)上获得逻辑1,并且电容器Ci充电。但是,当这个信号携带逻辑1(Ve=VμCE)时,P型晶体管截止和N型晶体管导通,致使在输出端(Vs=GND)上获得逻辑0,并且电容器Ci放电。
图8显示了当倒相器的工作频率等于FμCE时,命令信号Ve、电源电流icc和输出信号Vs随时间的变化,FμCE一般来说是终端通过触片CLK施加的时钟频率,但是,如果微控制器可以产生内部时钟信号,那么它可以具有特殊频率。
当电压Vs是常数时,P和N型晶体管都截止,和在周期1/FμCE上平均值是If的、图8未示出的漏电流穿过倒相器40。那么,消耗的能量,或静态能量Es等于Es=VμCEIf/FμCE当电压Ve发生变化,致使倒相器输入端上的信号从逻辑1改变成逻辑0或反之时,电流icc如图8所示那样变化。
倒相器消耗短路能量Ecc,等于Ecc=VμCEISC/FμCE此处,ISC是短路电流在周期1/FμCE上的平均值。
此外,当电压Ve发生变化,致使倒相器输入端上的信号从逻辑1改变成逻辑0时,电容器Ci充电,直到它达到电压VμCE为止,由此消耗的动态能量Ed等于作为静电能存储在电容器Ci中的能量与充电电路(在这种情况中,P型晶体管)的有限等效电阻中消耗的能量之和,即Ed=1/2CiV2μCE+1/2CiV2μCE=CiV2μCE最后,当电压Ve发生变化,致使倒相器输入端上的信号从逻辑0改变成逻辑1时,电容器Ci穿过N型晶体管放电,消耗以前存储的和等于1/2CiV2μCE的能量。
对于利用SMC技术生产的倒相器,Ecc小于Ed的20%,和Es比Ed小得多。因此,由倒相器i消耗的能量Ec主要是动态的,我们认为Ec大体上等于Ed。
因此,当把电压VμCE施加到有效微控制器上时,所述有效微控制器在一个时钟脉冲跨度上消耗的能量大体上等于EcμCE=Σi=1i=NαiCiVμCE2]]>此处,当倒相器i在这个跨度期间,具体进行开关操作而消耗能量时,αi=1,和当倒相器i在这个跨度期间,不具体进行开关操作而不消耗能量时,αi=0,和此处,N是有效微控制器中倒相器的个数。
因此,有效微控制器消耗的能量随它的电源电压VμCE的平方而变化。
通过本发明的装置消耗的能量EcM等于脉冲发生器GEN消耗的能量EcGEN加上开关COM消耗的能量EcCOM和电容器CAP消耗的能量EcCAP。因此,EcM=EcGEN+EcCOM+EcCAP脉冲发生器GEN消耗的能量EcGEN与接口微控制器消耗的能量具有相同的类型。事实上,它不给出与执行指令时处理的机密数据有关的指示。
开关COM消耗的能量EcCOM事实上是电容器CAP充电时这个开关消耗的能量。因此当充电时,EcCOM=EcCAP电容器CAP消耗的能量EcCAP取决于开关COM的状态,断开还是闭合。开关COM的断开或闭合状态由脉冲发生器GEN来控制。事实上,这个发生器发送断开或闭合开关COM的命令信号S。根据接收的信号S,断开或闭合这个开关COM。在时间间隔Ton期间闭合开关COM,而在时间间隔Toff期间断开开关COM。
在时间间隔Toff期间,电容器放电,和它消耗的能量等于EcCAP(Toff),致使EcCAP(Toff)=-1/2CΔV2此处,ΔV代表在Toff期间跨接在电容器两端的电压变化。
在时间间隔Ton期间,电流ICC供应的电容器充电,并且它消耗的能量EcCAP(Ton)等于EcCAP(Ton)=1/2CΔV2此处,ΔV代表在Ton期间跨接在电容器两端的电压变化。
诈骗者只接触到微控制器的总电源电流,因此,只接触到微控制器消耗的总能量。
在时间间隔Toff期间,微控制器消耗的能量等于接口微控制器消耗的能量。事实上,有效微控制器是由正在放电的电容器CAP供电的。因此,在Toff中EcμC=EcμCI正如以前已知的,EcμCI不暴露与开关有效微控制器倒相器有关的任何信息,因此,不暴露与所处理的机密数据有关的任何信息。这样,借助于本发明,诈骗者在时间间隔Toff期间,不能访问所述数据。
但是,在时间间隔Ton期间,微控制器消耗的能量等于接口微控制器消耗的能量,加上根据本发明的装置消耗的能量,再加上有效微控制器消耗的能量。因此EcμC=EcμCI+EcμCE+EcM假设指令INS作用于同一操作对象OPE和由根据本发明的微控制器执行。在实际中,这个指令INS是在几个时钟脉冲跨度上执行。在每个时钟脉冲跨度上,执行指令INS的一部分,和有效微控制器的N个倒相器的一些为此改变状态。
有效微控制器在这样的跨度期间消耗的能量与跨接在所述微控制器两端的电压VμCE的平方成正比。
由于电容器CAP与有效微控制器并联,因此,跨接在有效微控制器两端的电压VμCE与跨接在电容器CAP的两端的电压VCAP相同。因此,跨接在有效微控制器两端的电压不断变化。
这样,执行指令INS的一部分消耗的能量未必总是相同的,对于所有指令INS,情况尤其如此。
事实上,在相同的指令作用于相同的操作对象的情况下,有效微控制器消耗的能量之间的差值甚至更大,因此它们与这个微控制器的电源电压VμCE的平方相关。
作为上述的结果,在本说明书的前言中提到的、据此EcμC(T;INS;OPE)=常数原理在本发明中不再成立,因此,诈骗者不能访问机密信息。
图10A至10D分别显示了信号S、电容器CAP提供的电流ICAP、有效微控制器的电源电压VμCE和微控制器的电源电流ICC随时间t的变化。
如图10A所示,时间间隔Toff和Ton从一个周期Ts-Toff+Ton到另一个周期是不同的。因此,循环比Toff/(Ton+Toff)随时间而变化,并且随机地发生变化,这正是本发明的优点,由此使诈骗者无法预测。此外,由于不是在跨接在电容器两端的电压达到阈值Vthreshold时的那一时刻上,而是在这个时刻之后时钟第一次发出滴答声时闭合开关COM,和由于所述时刻与所述时钟第一次滴答声之间的时间间隔是可变的,因此Ts=1/Fs的值随机地发生变化。除了如上所述的原因使Ts发生变化之外,由于制造脉冲发生器的方式不同也会使Ts发生变化,脉冲发生器包括带有施密特型倒相器的两个耦合振荡器。
此外,如图10B所示,在电容器充电的时间间隔Ton期间,电容器CAP提供的电流ICAP是正的。但是,在这些间隔中ICAP逐渐减少,直到ICAP(t)=0为止。因此,当开关断开时,电容器拥有它最大的电荷量。并且,在电容器放电,向有效微控制器供电的时间间隔Toff期间,电流ICAP是负的。
如图10C所示,有效微控制器的电源电压VμCE在时间间隔Ton期间逐渐增加,而在时间间隔Toff期间逐渐减少。ΔV代表跨接在电容器两端的电压的调制深度。
最后,如图10D所示,微控制器的电源电流ICC在Toff期间等于IμCI,然后在Ton逐渐增加,此时,它等于IμCI+ICAP+IμCE。
图11是显示了对处在现有技术状态下的微控制器(特征A),以及对根据本发明的相同微控制器(特征B),执行作用于相同操作对象的相同指令时,电流ICC随时间t的变化。尽管这些指令在同一时间以相同的方式得到执行,但曲线却完全不同。在第一条曲线上看到的电流峰位在第二条曲线上并不出现。第二条曲线上时间间隔Toff和Ton清晰可见。因此,极难从第二条曲线中确定与机密数据相关的任何细节。
显然,上述本发明的实施模式的描述不限制必须广义理解的本发明。其它更复杂的实施模式或许能提供让人极感兴趣的结果。这可以参照,例如,图12所述的实施模式,图12显示了配备了两个电容器CAP1和CAP2、三个开关COM1、COM2和COM3、和分别断开和闭合三个开关COM1、COM2和COM3的三个命令信号S1、S2和S3的微控制器。在这种实施模式中,在通过开关COM1重新充电,而开关COM2和COM3断开之前,电容器CAP1通过开关COM3,放电至参考电压,例如,GND,而开关COM1和COM2断开。电容器CAP1一旦通过开关COM1得到充电,就通过开关COM2,向与有效微控制器μCE并联的电容器CAP2放电,而开关COM1和COM3断开。图13显示了信号S1、S2、和S3随时间的变化。该实施模式提供了与μCE的活动无关地保持能耗不变的装置。这样通过分析电流ICC不能获得机密信息。这种实施模式使有效微控制器的能耗增加。
权利要求
1.一种打算并入像智能卡那样的可携带物(1)中的微控制器(30),所述可携带物(1)至少包括把电流供应给所述微控制器(30)的触片(VCC);数据输入和/或输出触片(I/O);有效数据处理部分(μCE);和机密数据;其特征在于,它还包括改变有效数据处理部分(μCE)的电源电压的装置(GEN、CAP、COM),所述装置能够保护所述机密数据免遭电流攻击。
2.根据权利要求1所述的微控制器(30),其特征在于,用于改变有效数据处理部分(μCE)的电源电压的装置包括与微控制器(30)电源触片(VCC)串联的随时间而改变的电阻。
3.根据权利要求2所述的微控制器(30),其特征在于,所述可变电阻是在时间间隔Toff期间断开和在时间间隔Ton期间闭合的开关(COM)。
4.根据权利要求3所述的微控制器(30),其特征在于,循环比Toff/(Ton+Toff)随时间而改变。
5.根据权利要求3或4所述的微控制器(30),其特征在于,周期(Ton+Toff)随时间而改变。
6.根据前面权利要求的任一权利要求所述的微控制器(30),其特征在于,用于改变有效数据处理部分(μCE)的电源电压的装置包括脉冲发生器(GEN)。
7.根据权利要求6所述的微控制器(30),其特征在于,所述脉冲发生器(GEN)包括跨接在有效数据处理部分(μCE)两端的阈电压跨接同步电路。
8.根据前面权利要求的任一权利要求所述的微控制器(30),其特征在于,用于改变有效数据处理部分(μCE)的电源电压的装置包括调节器(condenser)。
9.根据权利要求8所述的微控制器(30),其特征在于,所述调节器是电容器(CAP)。
10.根据权利要求8或9所述的微控制器(30),其特征在于,所述电容器具有大于0.1毫微法的电容。
11.根据前面权利要求的任一权利要求所述的微控制器(30),其特征在于,它包括由硅晶体制成的主层(301),主层(301)包括电路和支承触片(300)的有效面通过密封层(303)与附加保护层(302)隔离开。
12.根据权利要求11所述的微控制器(30),其特征在于,用于改变有效数据处理部分(μCE)的电源电压的装置(COM、CAP、GEN)位于附加保护层(302)上。
全文摘要
本发明涉及一种打算并入像智能卡那样的可携带物中的微控制器(30),所述微控制器(30)至少包括:把电能供应给所述微控制器(30)的触片(VCC);数据输入和/或输出触片(I/O);有效数据处理部分(μCE);和机密数据;根据本发明,微控制器还包括:改变有效数据处理部分(μCE)的电源电压的装置(GEN、CAP、COM),所述装置能够保护所述机密数据免遭基于电流消耗值分析的攻击。
文档编号H01L23/58GK1372676SQ0081247
公开日2002年10月2日 申请日期2000年7月17日 优先权日1999年7月22日
发明者罗伯特·莱迪尔 申请人:施蓝姆伯格系统公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1