一、引 言
智能卡(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结构
|