欢迎您访问郑州兴邦电子股份有限公司官方网站!
阿里巴巴诚信通企业
全国咨询热线:40000-63966
兴邦电子,中国水控机第一品牌

联系兴邦电子

全国咨询热线:40000-63966

售后:0371-55132951/55132952

工厂:河南省 郑州市 高新区莲花街电子电器产业园

一卡多用安全智能卡结构研究与应用

文章出处:http://www.singbon.com 作者:万方数据   人气: 发表时间:2011年09月26日

[文章内容简介]:随着一卡多用需求的不断增加,为克服现有的智能卡及其芯片操作系统所存在的安全缺陷,本文提出了一种支持一卡多用和用户下载程序的新型安全智能卡结构,从软硬件两个方面论述 了新型安全智能卡的结构原理和对多个应用区进行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所示。 

新型安全智能卡的CPU结构

图 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。 

第1页第2页

    命令处理模块:主要对卡接收的命令的可执行性进行判断,根据接收到的命令检查各项参数是否正确等,在此基础上执行相应的操作和数据处理。文件管理模块:将用户数据按照设计的文件结构格式存储在EEPROM或Flash Memory中,并根据安全访问策略和机制,确保存储数据的安全和文件访问的快速便捷。
 
    安全管理模块:是智能卡操作系统的核心和基础,用来实现卡与读写设备之间的相互认证、持卡人的身份认证、文件访间权限控制、安全报文传翰、数据加解密、数字签名等安全保密功能。对卡与读写设备之间的通信采取密码保护,防止卡与终端之间的通信数据被非法窃取和篡改。 

    特别,为了支持一卡多用的安全使用,允许多个应用在智能卡中下载其特殊用户命令,实现多个应用的隔离,使得每一应用只能访问其自身的数据或用户命令,而不能访问其他应用的数据或命令,新型安全智能卡在增加硬件支持的同时,还为芯片操作系统实现多个应用的隔离保护提供相应支持。 

    ·两种操作模式:为区分当前执行的是系统程序还是用户程序,新型安全智能卡将操作模式分为系统模式和用户模式,由特殊的状态标志位来决定是用户模式还是系统模式。
    ·新增指令:为实现系统模式和用户模式间的相互转换,在CPU 中增加若干新指令。同时将指令分为普遍指令和特殊指令。用户命令只能使用普通指令,而系统程序可使用普通指令和特殊指令。 
    ·模式切换:应用通过操作系统执行特殊的模式中断指令来执行用户命令。应用初始化时首先应在系统模式下识别该用户命令,然后通过特殊的模式中断指令,将应用程序的地址和必要的参数存于寄存器中,清除所有其他未使用的寄存器和工作内存,将操作标志和返回地址入栈,改变状态标志,执行应用程序,从而实现从系统模式到用户模式的切换;当从用户命令返回时应使用相应的特殊返回指令,将返回地址和操作标志出栈,返回至系统调用处,从而实现从用户模式到系统模式的切换口为方便特殊的用户命令的开发,系统应为用户提供若干例程供用户命令调用。用户命令通过系统程序中断来调用系统例程,将请求地址存于寄存器中,并将操作标志和应用程序返回地址入栈,改变操作标志,从而由用户模式切换到系统模式;当从系统例程返回到用户命令时使用相应的特殊的返回指令,清除除返回结果外的所有不必要的寄存器和工作内存,并从栈中取出操作标志和返回地址以返回到应用程序,从而由系统模式切换到用户模式。在模式切换中断指今或模式切换中断返回指令执行期间应关闭硬件中断,当指令执行完成后立即开放硬件中断。
    ·异常中断:若用户程序试图访问地址比较寄存器范围以外的地址空间,或试图访问地址比较寄存器,则引起硬件中断,并且程序被异常终止。硬件中断服务程序负责将出错信息存于状态字中并传送给外部接口设备,同时复位CPU,清除所有的寄存器和工作内存。 

    四、新型安全智能卡的应用

    新型安全智能卡采用了多个应用区之间的物理隔离保护技术,克服了现有智能卡只注意了对芯片操作系统区的保护,而不能对多个应用区进行隔离保护,用户为某一应用而下载的程序可能危害另一应用的数据安全的缺点。它具有支持用户下载程序、一卡多用,能对多个用户区进行隔离保护的安全特性,从而使其系统资源和安全性与普通智能卡相比有很大的提高,特别适合当今电子商务、电子金融、电子政务、电子身份证等重要应用领域。 

    新型安全智能卡可应用于嵌入式密码计算机中。嵌入式密码计算机是我们为适应信息安全的需求而专门设计的一种新型安全PC机,从主板硬件、BIOS、操作系统安全增强、虚拟专用网络(VPN),密码系统、密钥管理等几方面进行安全设计和管理,从而使其安全性达到很高的程度。在嵌入式密码计算机中,新型安全智能卡为确保系统的信息安全发挥了重要作用,成为这一安全平台的一个不可缺少的重要组成部分。
嵌入式密码计算机采用新型安全智能卡作为用户的身份凭证和权限凭证,同时还作为用户的电子钱包、电子存折和密钥证书,其系统结构如图5所示。 

 嵌入式密码计算机的系统结构

图 5 嵌入式密码计算机的系统结构

    新型安全智能卡与嵌入式密码计算机的连接通过嵌入式安全模块(Embedded Security Module)接入计算机系统。在嵌入式安全模块中CPU通过智能卡控制芯片对智能卡进行读写操作。 

    新型安全智能卡在嵌人式密码计算机系统中作用有: 

    ·作为用户的身份识别凭证。
    ·作为用户的权限凭证。
    ·作为用户的密钥证书。
    ·作为用户的电子钱包和电子存折。
    ·其他应用。 

    由于智能卡的上述应用对其安全性要求很高,现有普通智能卡很难胜任,所以我们采用新型安全智能卡。 

    由于嵌入式密码计算机是一种安全计算机,为了确保系统安全,只有对合法用户计算机才向他提供服务,而且只提供与其权限相适应的服务。它采用新型智能卡作为用户的身份识别凭证和权限凭证。智能卡上记录有用户的身份特征和权限特征,经过计算机识别后,由操作系统确定是否向他提供服务以及提供什么服务,这在嵌入式密码计算机的启动过程中由智能卡所标识的信息所确定。在嵌人式密码计算机工作过程中,系统始终通过智能卡监视用户的身份与权限的真实性。如果用户的身份与权限是真实的,则嵌入式密码计算机向用户提供各种服务,如果发现用户的身份与权限的不真实,则立刻封锁计算机的所有操作。例如,一旦发现计算机中无合法智能卡或用户的身份、权限不符时,则立刻封锁计算机的所有操作。从而确保只有合法用户才能使用计算机,并且只能得到与用户权限相符的服务。 

    新型安全智能卡的另一重要应用是作为电子钥匙。随着电子商务的迅速发展,客户端迫切需要一种具有良好性能、操作简单、便于使用的安全设备保护个体敏感数据和网上交互信息 新型智能卡作为电子钥匙,可通过 USB接口与计算机终端相连,具有安全、实用、小巧、方便等特点。新型安全智能卡中集成了硬件密码协处理器,能提供高强度的认证能力和数据加密能力,可用于要求个体识别、身份认证、数据加密的应用环境中。同时由于采用硬件物理隔离技术,以及芯片操作系统对存放的数据采用严格的访问控制技术,它也可作为个体敏感信息存储和密钥管理的载体。

    五、结束语

    本文介绍了一卡多用新型安全智能卡的特点和关键技术,它从硬件和软件两个方面对系统和用户安全提供保证,能方便地支待应用下载其特定的用户程序,并且确保用户下载的程序不能危及系统或其他应用的安全。新型安全智能卡可广泛用于要求提供认证和保密的应用环境中。

第1页第2页

本文关键词:一卡多用,智能卡结构,智能卡安全,智能卡
回到顶部