当前位置:首页 > 专题范文 > 公文范文 >

智能卡脆弱性测试技术研究

时间:2022-10-29 15:40:03 来源:网友投稿

zoޛ)j馟_i:?דR报告,并在此基础上,增加或者完备国内有关智能卡的标准,并对于重要功能,提出新的安全指标;知识库主要是收集针对智能卡的攻击技术,包括物理攻击、旁路攻击、逻辑攻击等,相关攻击技术形成测试工具箱,降低评估的时间和难度。另外,在评估过程中,应结合智能卡产品使用的网络环境、系统边界等进行综合分析。

3.1 知识库

3.1.1 物理攻击

智能卡所有的功能模块均封装在一块物理芯片中,因此确保芯片的物理安全至关重要。目前,已经存在多种针对智能卡芯片的逆向工程方法。当前的芯片制作工艺是利用多层制卡技术,表面覆盖环氧树脂保护层、金属保护层、硅保护层等,不同的材料需要利用不同的化学试剂将其溶解,特别是部分制剂具有较强的腐蚀性和危险性,需要专业人士进行操作。

在智能卡芯片经过化学处理暴露出其内部结构时,可利用光学显微镜或者电子显微镜进行逆向工程或者源码分析。尽管智能卡芯片尺寸通常以微米计算,但是在光学显微镜下,可直接观察到内部硬件连接,并且利用专用自动化工具,可重建集成电路或者读取ROM中芯片操作系统的01代码;电子显微镜能够分析正在执行响应的智能卡芯片,例如可通过电压比对分析出正在激活的程序或者数据。

利用探针台,可将微探针置于裸露芯片的数据总线上,以此监听芯片CPU和内存之间的数据交互;通过结合逻辑分析,可进一步获取算法KEY等敏感数据。同时,可发送指令或者数据到数据总线,达到改变处理逻辑的目的。

由于探针台的局限性,无法对智能卡芯片进行修改或者重构操作。目前存在聚焦离子束显微镜(Focused Ion Beam,FIB),不仅能够查看到芯片详细的电路,而且能够对电路进行更改,包括创建连接线、绝缘体甚至是半导体。图2是利用FIB将芯片内两条连接线连接起来,从而达到改变处理逻辑的目的。

尽管物理攻击功能非常强大,适用于所有的智能卡芯片。但是,其缺陷也是显而易见的。首先,物理攻击是一种浸入式和破坏性的攻击,而且部分攻击方式无法重复使用;另外,相关检测设备价格较为昂贵,同时涉及化学、物理、计算机等多学科内容,操作过程较为复杂。

3.1.2 旁路攻击

旁路攻击又称为侧信道攻击,是一种非侵入式攻击方式,不需要破坏智能卡,通过在智能卡运行过程中,分析其运行电压、功耗、电磁信号、时延、温度、光线、频率等物理参数,以此过滤出信号中的敏感信息。目前常见的旁路攻击方法包括差分功耗分析和功耗毛刺(Power Glitching)两种。

差分功耗分析(Differential Power Analysis,DPA)最先于1996年由Paul Kocher提出,该技术的基本原理是处理数据的大小和芯片功耗的高低存在一定的关联,通过收集和分析多次的功耗轨迹,以此获取加密算法使用的KEY。攻击者仅需要知道输入的明文数据和输出的加密数据,通过多次采集射频功耗曲线,并进行滤波、压缩以及对齐操作,过滤出实际加解密功耗曲线;然后进行信号分析处理,包括压缩去噪、静态对齐等,通过百万次重复加解密操作,以此分析出芯片算法中使用的密钥。

功耗毛刺是指通过在智能卡执行事务过程中,通过在指定时间增加或者减少输入电压,导致当前电压高于或者低于判决门限值。由于瞬时电压的改变,会导致正常的判决结果出现反转,从而达到影响结果的目的。由于智能卡芯片采用的加密算法比较固定,可采用差分故障分析(Differential Fault Analysis ,DFA),比较正确的加密流程和错误的加密流程的实时功率,分析出PIN码校验的时间点,然后通过改变功率,达到更改判定结果的目的。

国内外研究机构针对智能卡已研制出多种自动化测试工具,如Riscure公司开发的旁路攻击和故障注入测试软件inspector;国内相关厂商也针对国外算法以及国内专用加密算法研制了一些测试工具。

3.1.3 逻辑攻击

智能卡利用串行单通道与智能卡读卡器进行数据交换。数据交换的格式是APDU请求/响应命令,由于APDU命令的复杂性和智能卡开发周期等因素,导致部分厂商在实现软件功能时存在功能缺陷或者漏洞,通过利用智能卡暴露出来的漏洞,可实现获取敏感数据或者修改智能卡响应行为的目的。

智能卡操作系统可以识别超过65000种不同的命令,实际上经常使用的命令仅仅是上述的很少一部分;部分命令仅用于智能卡初始化阶段或者某个特定的应用程序。如果在设计中存在命令滥用或者在发布后未关闭相关调试命令的话,就可能导致数据泄漏。

智能卡请求命令一般会携带一组参数,智能卡通常会拒绝携带错误的参数值或者长度值的APDU命令,但是也有部分智能卡会接受请求命令,并回复意想不到的响应。

智能卡加密算法在执行加解密操作时,必须确保在一个事务周期中完成。如果加密协议的设计或者代码实现存在问题,比如回退方法的设计存在问题。攻击者可通过执行回放操作,获取或者劫持交易流程。另外,根据我国现行的密码管理制度,许多加密算法为专利算法或者保密算法,算法的不公开在一定程度上缓解了恶意攻击者针对算法的漏洞分析,但是由于相关管理制度或者其他方面的疏漏,保密加密算法仍然存在泄漏的风险,那么算法本身存在漏洞也同样被攻击者利用。

相比于其他攻击方式,逻辑攻击对攻击设备的要求不高,仅需要一张智能卡、一个读卡器、普通PC以及相关标准;另外,由于相关攻击方式没有破坏性,可重新执行。

3.2 信息库

信息库的主要目的是收集智能卡的相关标准、研究报告以及其他信息,为知识库提供数据支撑,如图3所示。目前智能卡厂商以及智能卡种类非常繁多,相关的设计和实现方法不尽相同,因此有必要收集各个厂商的相关技术文档,给后续的渗透测试提供相关技术资料;另外,智能卡包括Java智能卡、电子护照、医保卡等,不同领域采用不同的实现技术和加密算法,因此,每种智能卡均需制定个性化的渗透性测试方法,相应地需要收集不同的渗透测试研究报告。

4 结束语

针对智能卡的攻击手段和方法种类繁多,如何全面、系统的评价智能卡的安全是一个亟待解决的问题。相关的厂商和研究者在实施脆弱性评估时,往往采用国外的工具和技术,比如物理攻击相关的测评仪器大部分由国外垄断,旁路攻击采用Riscure公司开发的Inspector平台等,对外依赖度较高。智能卡安全评估能力的提升需要政府、厂商、相关检验机构等多方面的努力,一方面要加快评估工具的研发,特别是针对指定智能卡产品的测评工具;同时加强智能卡芯片人才的培养,进一步提高对国内重要信息系统的安全保障能力。

参考文献

[1] 张大伟,靳伟.智能卡原理与应用开发[M].北京:电子工业出版社,2008.

[2] 刘倩.智能卡COS的安全性测试研究[J].现代计算机,2011(04).

[3] 王卓人,王峰.智能卡大全[M].北京:电子工业出版社,2002.

[4] 周国强,陆炜,曾庆凯.信息安全评估模型的研究与实现[J].计算机应用与软件,2007,24(11).

[5] 李守鹏,曾岩.信息技术安全评估通用准则(CC)的主要特征[J].网络安全与应用,2002(1).

[6] Surender Reddy Adavalli Smart Card Solution: Highly secured Card Technology[J].2001.

[7] Marc Witteman Advances in Smartcard Security[J].Information Security Bulletin,2002,11-22.

[8] 王喆,周建锁,郑晓光,刘剑峰.非接触式智能卡安全攻击方法研究[J].成都信息工程学院学报,2013,28(5).

作者简介:

田晓鹏(1984-),男,河南洛阳人,北京邮电大学,硕士研究生,公安部第三研究所检测中心,中级检测员,研究实习员;主要研究方向和关注领域:信息安全产品和系统及相关检测技术。

洪珂一(1978-),男;主要研究方向和关注领域:信息安全。

推荐访问:智能卡 技术研究 测试 脆弱性