来源:刘玉珍 张焕国 作者:万方数据 发布时间:2008-11-13 11:26:28 字体:[大 中 小]
摘 要:随着一卡多用需求的不断增加,为克服现有的智能卡及其芯片操作系统所存在的安全缺陷,本文提出了一种支持一卡多用和用户下载程序的新型安全智能卡结构,从软硬件两个方面论述 了新型安全智能卡的结构原理和对多个应用区进行A离保护的实现方案,并简要讨论了新型安全智能卡的应用实例。
一、引 言
智能卡(Smart Card)是一种镶嵌有单片机芯片的卡片。由于智能卡内含CPU,硬件资源丰富,而且有芯片操作系统的支持,因而安全性高,它已成为一种重要的安全设备,特别是在电子商务、电子金融和电子政务迅速发展的今天,智能卡将作为身份凭证、电子钱包、电子存折和各种证书以及重要数据的载体,发挥越来越重要的作用。
智能卡正朝着安全、高速、方便的方向迅速发展。随着一卡多用以及用户下载程序的需求不断增加,现有的智能卡及其芯片操作系统就暴露出一些安全缺陷。它们或者不提供用户下载功能,即给所有用户提供固定不变的操作系统,或者允许用户下载程序但只是试图从软件上实现对用户数据及其程序的保护,例如对执行下载用户命令的用户进行身份认证,只有那些拥有某些秘密信息的用户才能下载用户命令。然而仅从软件角度进行安全保护是不够的,仍然存在安全隐患。一方面攻击者可能通过某种渠道获得这些秘密信息,另一方面不能杜绝具有合法下载权限的用户进行恶意破坏。一旦用户命令下载成功,则芯片操作系统就无法对这些下载的用户命令进行监控,因为下载的用户命令和操作系统处于同一级别,用户命令也用CPU的汇编指令来实现,只要是合法指令,CPU就会执行。因为指令是软件的最底层,芯片操作系统也是建立在指令之上的。这样为特定应用下载的命令就可以对其他应用的程序或数据进行访间。如果一个应用下载的命令中含有对另一应用的数据进行篡改的指令,那么芯片操作系统是不能控制其指令的执行的。
为克服上述缺陷,本文提出了一种新型的安全智能卡结构,它具有如下技术特点:
·支持一卡多用,适应面宽,便于携带管理。
·支持用户下载程序,使用灵活方便。
·不同应用程序由物理隔离保护,确保数据安全。
·具有密码协处理器,可大大提高密码运算速度。
·具有 U SB接口,便于实现电子钥匙功能和高速数据传输。
·内部具有看门狗电路,系统可靠性高。
本文首先从软硬件两个方面论述一卡多用安全智能卡的结构原理,以及实现对多个应用区隔离的安全方案,即限制特定用户命令的访间范围,真正达到对多个应用区进行保护的目的,然后讨论这种新型安全智能卡的一种应用实例。
二、新型安全智能卡的硬件结构
新型安全智能卡首先从硬件上为实现多应用的隔离、确保用户程序和数据的安全提供了支持,增加了硬件中断、操作标志,以及内存地址比较寄存器、程序地址比较寄存器和数据地址比较寄存器。新型安全智能卡芯片由CPU、各种存储器(RAM, ROM, EEP-ROM, Flash Memory),密码协处理器、串行通信、地址隔离和中断控制逻辑等部分组成,其硬件结构如图 1所示。
图 1 新型安全智能卡的芯片结构
新型安全智能卡中的CPU主要由时钟逻辑、中断逻辑、定时器逻辑、串行通信、并行I/O、片选逻辑、总线接口、指令逻辑、算术逻辑、寄存器文件等部分组成,CPU可采用 8位或 16位,最好使用RISC技术和流水线技术以提高速度,其硬件结构如图2所示。
图 2 新型安全智能卡的CPU结构
为了支持用户下载程序、一卡多用,同时确保各用户数据安全,必须对多个用户区进行隔离保护。通过地址隔离,把不同的应用限制在不同的区域,从而确保数据的安全。在新型安全智能卡的CPU中增加了操作标志和一个硬件中断。操作标志用以区分当前操作模式是系统模式还是用户模式,新增中断用以在某应用的用户命令访间系统或其他应用的地址空间时通知芯片操作系统以终止该用户命令的执行。进行存储区之间隔离保护的方法之一是对相应的存储区域设立地址比较寄存器,分别有内存地址上、下界地址寄存器,程序地址上、下界寄存器和数据地址上、下界寄存器。在用户模式时,程序的访问要受地址比较寄存器的限制,只有地址比较寄存器所限定的地址空间才可被访问。当处于某一区域的程序执行时,其所访间的存储区地址都要与上、下界寄存器的值比较,如果不越界便可访问,如果越界则不能访问且产生硬件中断,操作系统将终止程序的执行,从而保证特定应用下载的用户命令只能访问其自身的地址空间,而不能对系统或其他应用的用户命令或数据进行访问,实现存储区之间的隔离保护。而在系统模式时,程序的访问不受任何限制,可以访问整个地址空间。
上、下界寄存器的值是软件可设置的,由芯片操作系统对其进行管理,灵活方便。而且每一类比较寄存器只需要一对上、下界寄存器就可实现多个应用存储区的隔离保护。
随着网络技术的普及与应用,由于Internet所固有的开放性、无国界、自由性的特点,网络安全尤其是网络信息交互时出现的身份鉴别、电子签名、数据加密等间题已经成为人们关注的一个焦点。新型安全智能卡中设计了USB接口,以便于实现电子钥匙(Electronic Key)功能和高速数据传输。
在新型安全智能卡中,ROM空间用于存储COs和一些固定数据。RAM空间用于存放中断向量、系统栈以及中间数据等,EEPROM/Flash Memory用于存放系统数据、用户程序或用户数据。
为了确保数据安全,智能卡中必须实现数字签名。数字签名可通过公开密钥密码RSA和ECC来实现。无论是RSA还是ECC,其运算都是极复杂的。完全依靠8位或16位CPU来软件实现RSA和ECC,其速度将是很慢的。为了提高速度,必须采用硬件支持。因此,在智能卡中设计了密码硬件协处理器,以适合智能卡的应用。
串行通信逻辑支持各种协议的智能卡通信。CPU提供一个全双工双向通信控制器,其逻辑结构如图 3所示。
图3 串行通信控制器结构
由于CPU内部结构合理,主要寄存器都是软件可编程的,因此使得通信程序的编写将变得十分容易。
三、新型安全智能卡的芯片操作系统结构
智能卡的操作系统(简称为COS)是智能卡资源的管理者和安全保密的基础。它由传输管理、文件管理、安全管理、命令处理四个功能模块组成,如图4所示。
图4 芯片操作系统逻辑结构图
传愉管理模块:按 ISO 7816-3标准实现智能卡与读写设备之间的通信、保证命令和数据的正确传枯。根据用户的要求可选择宇符传箱协议T=0 或块传输协议T=1。
推荐文章
论坛热帖