摘要:本文主要描述了智能卡系统中探测传感器的设计方法和设计思路。首先,分析芯片、探测传感器和工艺之间的相互约束关系,给出智能卡系统中设计探测传感器的指导方法。其次,分析两个实际案例中存在的问题,给出了合理的解决方案。最后,强调了探测传感器在智能卡安全设计中的重要作用。
关键字:智能卡系统;探测传感器
1.引言
近年来智能卡市场呈现出以几何级数增长的态势。智能卡以其特有的安全可靠性,被广泛应用于从单个器件到大型复杂系统的安全解决方案。然而随着智能卡的日益普及,针对智能卡的各种专用攻击技术也在同步发展。分析智能卡面临的安全攻击,研究相应的防范策略,对于保证整个智能卡应用系统的安全性有重大的意义。
本文对工作环境异常探测模块怎样更有效发挥作用进行深入的理论分析,给出探测模块和系统设计有效配合的条件。从中得到最根本的设计原则:“探测传感器作为一项安全防护措施,不仅要保证在自己的设计范围之内正确工作,也要保证能够和整个系统的安全架构配合起来,起到有效的保护作用”。最后通过两个工艺线的案例分析,找到目前系统设计普遍存在的问题,结合安全设计要求,提出相应的解决方案。
本文主要由以下几个章节组成,智能卡安全概述,强调故障分析攻击的普遍性和防故障分析攻击的必要性;探测传感器,通过分析系统设计中如何设计探测传感器和两个案例,提出防故障分析攻击的具体解决方案;结束语,再次强调智能卡安全的重要性。
2.智能卡安全概述
随着智能卡应用的不断发展,来自于外部的安全威胁也越来越多,智能卡芯片面临的安全挑战日益凸显出来。故障分析攻击(DFA)是最普遍最容易进行的攻击手段,只要有一个电压源、频率源或加热器(制冷器)即可,而且攻击成本和技术难度的要求都不高。因此,智能卡有效地防御故障分析攻击如电压/频率/温度异常攻击,成为了智能卡安全设计的基本要求。
本文主要从探测模块怎样更有效发挥作用的理论分析出发,讨论两个案例,最终达到为芯片设计过程中如何考虑探测传感器提供参考的目的。
3.探测传感器
探测传感器作为一个安全防护线,不仅仅是在自己的设计范围之内正确工作,也要和整个系统的安全架构配合起来,起到有效的保护作用。
3.1系统中如何考虑探测传感器
本章由三个部分的内容组成,第一部分,主要是定义几个概念为后续的分析作准备;第二部分,详细分析探测模块在系统设计中如何考虑;第三部分,对探测模块在设计中的可控性方面给出一个简短结论。
3.1.1芯片、探测传感器的规格(SPEC)、工艺有效工作条件
把芯片工作电压(V)、工作频率(F)、工作温度(T)的设计目标定义为以下的范围,即芯片设计规格(SPEC)为:
电压:V∈Ⅳ1,V2]
频率:F∈[F1,F2]
温度:T E rrl,T2]
把芯片电压检测模块(VD)的设计目标定义为以下范围,即VD设计SPEC为:
低电压探测值标记为VDL
高电压探测值标记为VDH
高低电压检测点的设计偏差为±a%
把芯片频率检测模块(FD)的设计目标定义为以下范围,即FD设计SPEC为:
低频探测值标记为FDL
高频探测值标记为FDH
高低频检测点的设计偏差为±a%
把芯片温度检测模块(TD)的设计目标定义为以下范围,即TD设计SPEC为:
低温探测值标记为TDL
高温探测值标记为TDH
高低温检测点的设计偏差为±a%
智能卡生产工艺本身也对其芯片的工作电压(V)、工作频率(F)、工作温度(T)等有一定的约束,即工艺对v、F、T的约束定义为:
工艺支持电压:Vp∈[Vpl,Vp2]
工艺支持频率:Fp∈[0,Fp2]
工艺支持温度:rrp∈[Tpl,Tp2]
本节中的电压、频率、温度范围按照A∈A1,A2]格式描述,A为具体描述项,[A1,A2]表示其变化范围,A1是下限,A2是上限。
3.1.2设计中如何考虑上述规范的配合
为了芯片能够在设计SPEC的范围之内正常工作,并且探测模块能够起到有效的保护作用,必须满足以下两个条件。
1)条件1,传感器SPEC对芯片SPEC和工艺:
VDL(1-a%)≥Vpl&VDH(1+a%)≤Vp2
FDL(1-a%)≥F1&FDH(1+a%)≤F2
TDL(1-a%)≥Tpl&TDH(1+a%)≤Tp2
如果不满足上述条件,这些安全探测功能不能够为芯片提供足够的安全保障。
图1~图3中S1、S2、S4、S5是探测传感器偏差a%后的移动范围。
假设VDL(1-a%)
假设FDH(1+a%)>Fp2,如图2所示FDH的变化超出了s5的范围,当给芯片提供频率范围Fac!∈(Fp2,FDH(1+a%))时,芯片可能工作不正常,而且频率检测模块(FD)又可能没有产生复位,因此在这个频率范围之内芯片容易受到攻击并且FD无法起到保护作用。当FDL(1-a%)小于芯片规定的最小工作频率时也可以得出同样的结论,有点区别就是此时芯片功能出错的概率较低一些,即只有一些异步处理电路可能出错。图可以看到TDH的变化超出了S5的范围,也可以得出同样的结论。
2)条件2,芯片SPEC对工艺
电压:V∈[Vpl,Vp2]
频率:F∈[0,Fp2]
温度:T∈O'p1,Tp2]
很显然不满足条件2时,无法保证芯片正常工作。目前的芯片都是基于工艺库设计的,并且设计过程中所有先进的验证手段都是基于工艺模型。因此,芯片的工作条件是工艺库工作条件的子集。
通过上面的分析可以知道,芯片手册中的工作条件根据是否打开探测模块来区分成两种。
1)工作条件1:
如果应用没有打开探测模块,用户手册中的工作条件和芯片的SPEC一致,即:
电压:Vwork∈[Vpl,Vp2]
频率:[b1]Fwork∈[FDL(1-a%),FDH(1+a%)]
温度:Twork∈[r11pl,rrp2]
2)工作条件2:
如果应用打开了探测模块,用户手册中的工作条件和下面的范围一致,即:
电压:Vwork∈[VDL(1+a%)
,VDH-(1 a%)]
频率:Fwork∈[FDL(1+a%),FDH(1-a%)1
温度:Twork∈[TDL(1+a%),TDH(1-a%)1
从上面的两种工作条件可知,当探测传感器打开时芯片的工作范围相应的变窄。
3.1.3可控性分析
芯片的频率特性和速度由设计者控制,因此FD和整个芯片系统的配合,完全由芯片设计者来掌握。
VD和TD的设计跟工艺库的工作电压和温度密切相关,因此VD、TD和整个芯片系统的配合,需要由工艺厂商和IP设计者配合才能完全掌控。
3.2案例分析
本章也是由三个部分的内容组成,前两个部分主要分析两个案例,思路是先列出特定IP的SPEC,然后对探测模块和这些IP的配合情况进行分析;第三部分提出对现有问题的解决方案。由于设计者可以完全掌握FD与系统的配合,在下面的案例分析中只对VD和TD进行分析。
3.2.1某工艺厂商0.13um工艺
电压调整器(Voltage Regulator,VR)设计SPEC如下:
输入1.62-5.5V
输出1.6-1.98V
TD设计SPEC如表1:表1 TD的SPEC(CTRL0=I,CTRLl=0 TD-IBlAs=2.4uA)VD设计SPEC如表2:
工艺对电压、温度的约束如表3。
1)分析VD有效性
从VR的SPEC中可以得到,当VR的输入电压1.62~5.5V时输出为1.6-1.98V;并且VD的低压检测范围1.6-2.1V,高压检测范围5.6-6.4V。
注:Vpl、Vp2的值取决于最严格的那个IP,对与工艺的温度范围也是如此。
VDL风险:如图4所示,ROM的工作最低电压1.62V(Vpl),VDL的最小值是1.6V,电压在1.6-1.62V时存在风险,在这个区间ROM不能正常工作,但是VDL可能还没有复位,此区间VDL没有起到保护作用。
VDH风险:如图4所示,VDH的范围已超出Vp2(1.98V),外部电压在5.5~6.4V时存在风险,在这个区间时VR的输出还能保证是在1.6-1.98V范围吗?如果不能那么怎么保证所有时序模型的准确性?在这个区间所有的电路都有可能出现错误动作,并且VDH有可能还没有复位。