智能IC卡的安全机制、攻击方法以及防范策略
文章出处:http://www.singbon.com 作者:未知 人气: 发表时间:2012年01月23日
1 智能卡简介
智能卡又名IC卡、智慧卡、聪明卡,它是由一个或多个集成电路芯片组成,并封装成便于人们携带的卡片,在集成电路中具有微电脑CPU和存储器。随着超大规模集成电路技术、计算机技术和信息安全技术等的发展,智能卡技术也更成熟,目前已广泛应用到银行、电信、交通、社会保险、电子商务等领域。
2 智能卡的安全机制
与磁条卡相比较,智能卡的优势不仅在于存储容量的大幅度提高、应用功能的加强和扩充,更重要的是CPU所提供的安全机制。其中安全机制可以归纳为:认证操作、存取权限控制和数据加密三个方面。
2. 1 认证操作。认证操作包括持卡人的认证、卡的认证和终端的认证三个方面。持卡人的认证一般采用提交密码的方法,也就是由持卡人通过输入设备输入只有本人知晓的特殊字符串,然后由操作系统对其进行核对。卡的认证和终端的认证多采用某种加密算法,被认证方用事先约定的密码对随机数进行加密,由认证方解密后进行核对。
2. 2 存取权限控制。存取权限控制主要是对涉及被保护存储区的操作进行权限限制,包括对用户资格、权限加以审查和限制,防止非法用户存取数据或合法用户越权存取数据等。每个被保护存储区都设置有读、写、擦除的操作存取权限值,当用户对存储区进行操作时,操作系统会对操作的合法性进行检验。
2. 3 数据加密技术。加密技术是为了提高信息系统和通讯数据的安全性及保密性,防止秘密数据被外部破析而采取的技术手段。数据加密技术按照密钥的公开与否可以分为对称加密算法和不对称加密算法两种。
3 智能卡的攻击方法
对智能卡的攻击可分为三种基本类型:物理攻击、逻辑攻击和边频攻击。下面就这三种攻击技术的具体实施方式加以分析。
3. 1 物理攻击。物理攻击主要是分析或更改智能卡硬件。用于实现物理攻击的手段和工具包括化学溶剂、蚀刻与着色材料、显微镜、亚微米探针台以及粒子束F IB等。用于实施物理攻击的主要方法包括:
①微探针技术:攻击者通常在去除芯片封装之后,通过恢复芯片功能焊盘与外界的电气连接,最后可以使用微探针获取感兴趣的信号,从而分析出智能卡的有关设计信息和存储结构,甚至直接读取出存储器的信息进行分析。
②版图重构:利用高倍光学及射电显微镜研究电路的连接模式,可以迅速识别芯片上的一些基本结构,如数据线和地址线。
3. 2 逻辑攻击。逻辑攻击是软件的执行过程中插入窃听程序。智能卡及其COS中存在多种潜在的逻辑缺陷,诸如潜藏的命令、不良参数与缓冲器溢出、文件存取、恶意进程、通信协议、加密协议等。逻辑攻击者利用这些缺陷诱骗卡主泄露机密数据或允许非期望的数据修改。
3. 3 边频攻击。边频攻击是通过观察电路中的某些物理量,如能量消耗、电磁辐射、时间等的变化规律,来分析智能卡的加密数据;或通过干扰电路中的某些物理量,如电压、电磁辐射、温度、光和X射线、频率等,来操纵智能卡的行为。
4 智能卡的防范策略
针对智能卡的以上种种攻击方法,下面我们来分析一下应对各种攻击的防范策略。
4. 1 物理攻击的防范策略
①减小形体尺寸:使攻击者无法使用光学显微镜来分析芯片的电路结构,但仍无法抵制高倍显微镜。
②多层电路设计:将包含敏感数据的层隐藏在较不敏感的层之下,使得微探针技术的使用受到一定限制。
③顶层传感器保护网:在芯片的表面加上一层格状的带有保护信号的激活网络,当入侵行为发生时,该信号中断,使内存的内容清零。
④锁存电路:在智能卡的处理器中设置锁存位。当出现异常情况时,它会发出锁存信号,立即清除芯片中的敏感数据。
4. 2 逻辑攻击的防范策略
①结构化设计:以小的功能模块构建软件,使程序易于理解和校验
②正规的校验:使用数学模型进行功能校验
③测试:对软件的运行情况进行测试
4. 3 DPA攻击的防范策略
应对DPA攻击的安全策略基本分为三个层面:硬件、软件和应用层面:
(1)硬件层面的防范措施:
①采用平衡电路降低信号能量,以及设置金属防护以抑制电磁发射。
②执行并行随机处理来加大幅值噪声水平。
③随时处理中断引入的时间噪声和不同的时钟频率。对差分轨迹进行计算机处理的基础是轨迹可排列。在加入轨迹之前处理器的工作步骤应是同步的。时间噪声会防止或至少妨碍轨迹很好地排列。
(2)软件层面的防范措施:
①采用随机处理顺序来减少相关的信号。例如,算法中的平行置换(诸如DES中的S盒)可依随机的顺序来完成,置换的数目重新排序,则可将一次置换产生的信号分解。
②利用随机延时和改变路径来增加计时噪声。计时噪声会妨碍轨迹的排列,并降低差分轨迹的质量。
(3)应用层面的防范措施:
①设置计数器,用于限制攻击者试探的次数。连续三次P IN校验失败后自锁是防范差分能量分析的有效方法。
②限制加密算法中输入输出的控制和可见度。如果只能选择部分输入,或只有部分算法的结果返回,攻击者就无法完成差分能量分析。
5 结束语
智能卡应用系统的安全环境很复杂,智能卡攻击方法的有效性以攻击者所获得的效益高于其耗费的时间、精力、经费等作为标准,防范措施的技巧多在于增加攻击成功的难度和成本。然而这些防范措施将增加设计的复杂程度和成本。因此在具体应用时必须根据系统所要求的安全级别,来探索在降低安全威胁与增加安全成本之间寻找最佳平衡点的安全设计策略。