智能卡穿透性测试研究与示范应用

时间:2022-04-25 10:10:12

智能卡穿透性测试研究与示范应用

摘要:随着智能卡应用范围的不断扩大,应用环境的日趋复杂,智能卡面临着越来越多的安全威胁,需要对其进行穿透性测试。本文综述了智能卡的穿透性测试技术、在此基础上提出了穿透性测试的评估方法,并通过一个实际的智能卡穿透性测试案例对穿透性测试技术和评估方法的有效性进行了验证,表明该方法可以为实施智能卡穿透性测试提供指导。

关键词:智能卡;穿透性测试;非侵入式攻击;半侵入式攻击;侵入式攻击

中图分类号:TP274

智能卡也称CPU卡,具有较强的数据处理能力,其应用范围日趋广泛,2012年全球智能卡发行量约为70亿张。但智能卡在实际应用中却频频遭受破解,针对Mifare卡和英飞凌SLE66芯片的攻击实例表明,对于智能卡,不仅需要通过数学模型来证明其算法的安全性、通过功能测试来评估其安全功能实现的准确性,同时必须通过穿透性测试验证智能卡的实际安全。

对于智能卡穿透性测试的研究已经进行了一段时间,国内对各种攻击手段已开展相应分析,但缺少系统性的穿透性测试种类和测试方法的研究,亟待建立评估方法模型。本文在已有研究工作和成果的基础上,总结智能卡的穿透性测试技术,提出智能卡的穿透性测试评估方法,并通过示范应用实例对技术方法的有效性进行了分析验证。

1 智能卡的穿透性测试技术

近年来,对智能卡的穿透性测试手段越来越多,常用的大致分为三类:非侵入式攻击、半侵入式攻击和侵入式攻击。

1.1 非侵入式攻击,不需要打开智能卡芯片的封装,攻击者通过观察电路中的某些物理量如能量消耗、电磁辐射、时间等的变化规律来分析智能卡的加密数据。包括简单能量攻击,对密码算法执行过程中所采集到的能量消耗信息进行直接分析;差分能量攻击,通过使用大量的密文和能量迹,分析固定时刻设备的能量消耗,使用统计分析技术提取密钥信息;电磁辐射攻击,通过电磁辐射信号查找算法泄露位置,并通过对电磁信号的统计分析提取密钥信息[1]。

1.2 半侵入式攻击,需要打开智能卡芯片的封装来访问芯片表面。由于智能卡控制器的集成电路芯片是由硅制成的,其电性能会随不同的环境参数而改变。如异常温度、光照,可能导致程序执行错误;故障注入攻击,在智能卡密码算法运行的过程中注入电压毛刺和时钟毛刺,使得芯片产生错误结果,或直接将高能量的激光或放射线注入芯片表面,借此在特定的运算过程中引入错误[2]。

1.3 侵入式攻击,先对其进行反向工程,攻击者使用切割研磨机、电子显微镜等设备,进行重构版图,并通过干刻、湿刻、染色、总线探测等技术,获取存储器中各单元的信息;攻击者在反向工程后,使用聚焦离子束、微探针、激光切割器等设备对总线进行修改;对存储单元进行覆盖和改变,对各安全模块进行修改和破坏。从而尝试获取密钥信息[3]。

2 智能卡的穿透性测试评估方法

对于任何智能卡,都必须通过穿透性测试证明:智能卡安全功能完备合理、实现准确;安全数据无法获取、不可篡改。国际大多依据通用准则(Common Criteria)实施信息技术产品安全性评估与认证,国内则基于GB/T 18336-2008(等同采用通用准则2.3版)实施。本文在已有研究工作和成果的基础上,研究认为,智能卡穿透性测试评估可以采用离散的定量设计方法,通过计算攻击潜力分值,结合通用准则的评分要求来定量分析脆弱性。本文制定出智能卡穿透性测试的评估方法如下:

(1)每个攻击场景均由非侵入式、半侵入式、侵入式攻击进行选择或组合,并可以根据需要进行扩展、裁剪、循环,以达到攻击目标。

(2)设定每一个攻击场景均包含了2个攻击阶段:分析阶段、攻击阶段。在分析阶段,攻击者创建各种攻击思路,并论证攻击思路的可行性,包括设计攻击设备;在攻击阶段,攻击者利用分析阶段设计的攻击设备、攻击脚本来完成具体攻击测试。

(3)针对每个攻击场景,均设定6个关键评估因素:攻击时间、人员水平、芯片资料、样本数、攻击设备、开放样本;对6个评估因素的评分规则参见表1。

(4)攻击者设计出一个攻击场景后,首先对分析阶段和攻击阶段分别进行6个因素的评分,然后依据表1查表分别计算出分析阶段和攻击阶段的攻击分值,最后将分析阶段攻击分值和攻击阶段攻击分析相加,得到总攻击分值。

(5)根据通用准则要求,智能卡应至少“抵御中等攻击潜力的攻击者发起的攻击”。即计算得到的总攻击分值应大于等于25分[4]。如针对某测试案例设计的攻击场景的总攻击分值超过25分,表示该测试案例符合安全要求。否则表明智能卡无法抵御该项穿透性测试,应有针对性的制定合理有效的软硬件防护策略,以增加其安全性。

3 智能卡穿透性测试实例

为了验证基于上文的穿透性测试技术和评估结算方法,设计了一个实验穿透性测评环境,系统由上位机、读卡器、开发板和一系列穿透性测试工具组成,包括信号发生器、智能卡检测仪、高低温冲击试验箱、能量攻击测试平台、激光攻击测试平台、微探针台等。攻击者拟通过各种穿透性测试技术,对某款智能卡实施攻击和评估,以获得卡片保密数据。

3.1 非侵入式攻击

针对该款智能卡,使用示波器采集该智能卡密码运算时的功耗信息,使用电磁探头采集电磁信号。通过频谱分析、滤波、重采样、对齐、相关性分析等工作,可以判断加密精确位置,对该位置进行能量和电磁分析,由于该智能卡采用了随机掩码技术,所有中间变量均被随机S盒掩膜,不存在明显的信息泄露,非侵入式分析无法获获得密钥。

3.2 半侵入式/侵入式攻击

使用去层设备、对智能卡芯片进行物理去层,通过显微镜观察智能卡芯片,通过分析,可知该款智能卡采用了金属屏蔽层,无法通过芯片表面进行攻击,但背面缺乏相应防御措施,在版图重构获取算法逻辑区位置后,尝试从背面进行激光攻击。

与芯片建立通信,分析波形并计算DES故障注入时间,使用1064nm波长的激光重点扫描芯片背面相应的算法逻辑区,随机注入激光毛刺,使芯片工作异常,产生密码运算输出结果错误,对输入错误进行分析,可以成功获得DES密钥。

3.3 穿透性测试评估计算

非侵入式攻击结果表明,某智能卡采用的时钟加扰、随机掩码等措施合理有效,通过1个月的实际攻击,证明该智能卡可以对非侵入式测试实施有效防御。非侵入式攻击打分结果如表2所示,对能量攻击、电磁攻击的穿透性测试最终评分在25分以上,证明智能卡可以抵御具有中等攻击潜力的攻击者发起的非侵入式攻击。

而半侵入式和侵入式攻击结果表明,虽然某智能卡采用了安全传感器、金属屏蔽层等安全措施,但测试者通过深入分析智能卡安全机制和各逻辑区域位置,从芯片背面对芯片成功实施激光注入攻击,破解了智能卡密钥。证明其无法抵御半侵入式和侵入式攻击,建议智能卡设计商对芯片关键逻辑单元实施完整性校验、对关键的程序流向以及加密运算结果实施故障监测、通过多次比较检测密码运算输出结果的有效性,从而有效防护此类攻击事件。

4 展望

智能卡的安全问题正日益引起人们的关注,智能卡穿透性测试技术已经日益显现出其重要性,把各种先进的穿透性测试技术引入智能卡领域,以保证智能卡应用系统的安全,正成为一个重要的课题。本文研究了针对智能卡的穿透性测试技术,提出了智能卡穿透性测试评估计算方法,通过示范应用实例对技术方法的有效性进行了验证。测试结果将为国内智能卡提供穿透性测试指导,有助于提高智能卡企业和用户对智能卡安全的重视程度、有助于提高智能卡检测认证综合水平,具有十分重要的现实意义。

参考文献:

[1]P Kocher,J Jae and B Jun,Dierential Power Analysis,In M. Wiener,editor,Advances in Cryptology:Proceedings of CRYPTO’99[J].Santa Barbara,CA,USA.LNCS,Springer-Verlag,1999:388-397.

[2]S.Skorobogatov,R.Anderson,Optical fault induction attacks,Cryptographic Hardware and Embedded Systems Workshop(CHES-2002) [J],LNCS 2523:2-12.

[3]C Ajluni,Two New Imaging Techniques Promise To Improve IC Defect Identication[J].in Electronic Design (vol.43 no.14)10 July,1995:37-38.

[4]ISO/IEC 18045-2008,Common Methodology for Information Technology Security Evaluation[S]

作者简介:张俊彦(1978.1-),男,江苏人,本科,学士学位,工程师,主要研究方向:信息安全。

作者单位:上海市信息安全测评认证中心,上海 200011

基金项目:质检公益性行业科研专项经费资助(201310033)。

上一篇:计算机智能管理技术在县级电视台的应用 下一篇:在C#中结合OpenGL实现MIT―MTT套损检测三维成...