智能卡应用框架的研究及应用
文章出处:http://www.singbon.com 作者:刘刚 李峥 杨先文 时向卫 王简瑜 人气: 发表时间:2011年09月26日
0 引 言
随着Internet在电子商务和人类生活中占有越来越重要的地位,人们对认证和安全交易的要求也越来越高。智能卡具有体积小、轻便易携带、可以自行存储和处理数据并执行加密解密操作等优点,与网络服务的结合还使它成为一个可以方便地存储用户密钥和下载保密数据的设备。智能卡中包含 CPU、RAM、EEPROM、ROM和I/O,如同一部规模较小的电脑。智能卡的软件结构 由COS(chipoperating system)系统、智能卡应用框架及其具体应用服务程序所构成,如图1所示。在此结构中,最底层的COS系统负责底层硬件的管理;智能卡应用框架定义了一整套编程接口类,提供应用程序需要的统一的应用环境;应用程序提供具体的智能卡服务。
图1 智能卡软件结构
1 OCF与PC/SC概述
PC/SC⋯(personal computer/smart card)是Windows平台上智能卡访问的标准框架,它的目的是减轻在PC上开发智能卡应用程序的难度。PC/SC的主要优点是:应用程序与智能卡进行通信时不必考虑智能卡读卡器的具体细节,即只要智能卡读卡器遵从PC/SC标准,应用程序就能通过智能卡读卡器正常行使功能。PC/SC体系结构如图2所示 其中,ICC就是IntegratedCircuit Card,即IC卡。IFD就是Interface Devices,即IC卡读写器。IC卡插入读写器后,通过IC卡读写器IFD与驱动程序的IFD Handler层通信。ICC Resource Manager层管理各种不同的IC卡读写器和IC卡资源。每一种IC卡读写器通过各自的IFDHandler接口函数与ICCResourceManager层通信,ICC Resource Manager层根据上层软件的要求,将上层软件发来的命令分别发到相应的IFDHandler,再通过它发给IC卡读写器和IC卡。
图2 PC/SC体系结构
.....................................
2 OCF与PC/SC的联系
OCF与PC/SC均提供智能卡与各种计算机的访问标准,它们在概念与机制方面存在着共同点。通过对比它们的构成,我们发现了这些关系。
2.1 OCF与PC/SC结构上的共同点
PC/SC中的ICC ServiceProvider提供智能卡服务,与其相对应OCF中由CardService来提供;OCF中的CardTerminal与PC/SC中的Interface Device Subsystem 相对应。因此,OCF与PC/SC有很多的共同点。具体如图4所示。
2.2 OCF与PC/SC的不同点
当进一步分析后发现,OCF与PC/SC的内部结构有很大的不同。例如,OCF未提供对CardTerminal更进一步的结构划分,而PC/SC中Interface Device Subsystem由IFD与IFD Handler组成。详细对比如表1所示。
OCF与PC/SC的密码服务框架不同,PC/SC定义了一个密码服务接口Crypto Service Provider,而OCF将其封装在内部,没有定义专门的接口。
OCF与PC/SC最重要的区别是:OCF比PC/SC有更详细的结构划分,OCF对智能卡服务(CardService)与智能卡服务程序管理ApplicationManagementCardService)有严格的区分。在Windows平台Java语占环境下,OCF与PC/SC出现重叠。具体如表2所示。
2.3 OCF与PC/SC的共存
PC机上不同的应用程序可能有的使用OCF,有的使用PC/SC,它们之间会出现冲突吗?不会,OCF与PC/SC协会对两者共用有详细的规定,以保证两者共存而不产生冲突。例如:OCF支持现有的PC/SC接口设备,OCF还提供了一个到PC/SC的接口,使得开发者得以使用现有Win32平台的设备;OCF对card operating system、application.·specific card services与app1ication management的详细定义可以作为对PC/SC的扩展。
3 应用实例
在OCF与PC/SC框架下,实现了自动识别JavaCard、USB Key并自动连接与之相应的密码服务接口的安全电子邮件系统开发,保证了密钥等机密信息的安全,通过对邮件进行加密、解密和签名,有效地解决了邮件在存储和传输过程中的安全性问题,取得了比较满意的效果。具体系统结构如图5所示。
4 结束语
智能卡应用框架的提出给应用程序开发者、智能卡和智能卡终端投资商等带来了极大的方便。使得智能卡的应用实现了从“一对一”到“多对多” 的转换,并为开放式智能卡应用构造了一个统一标准框架。①对于遵循智能卡应用框架的应用程序,可以适用于任何一张开放式智能卡,应用程序不需重复开发,开发费用大大减少;②对于遵循智能卡应用框架开发的智能卡,不仅可装载不同组织提供的多个应用程序,且一旦运用环境变化,可方便地装载和卸载来更换卡上的应用程序。像其它许多新技术一样,关于智能卡有许许多多令人眼花缭乱的技术标准。本文仅简要介绍了两种智能卡应用框架OCF与PC/SC,并对它们进行了对比分析,并进行了一些简单的应用开发。通过此实例,可以举一反三地将其应用在其它网络安全产品上,如网上证券、网上银行、税务管理等。
由于部分文字无法转换,请下载全文阅读:http://www.yktchina.com/bbs/Read-b3-t5322-p10.htm