两种智能卡应用框架OCF与PC/SC的对比
文章出处:http://www.singbon.com 作者:刘刚 李峥 杨先文 时向卫 王简瑜 人气: 发表时间:2011年09月23日
由于Internet在电子商务和人类生活中占有越来越重要的地位,人们对认证和安全交易的要求也就越来越高。智能卡具有体积小、轻便易携带、可以自行存储和处理数据并能执行加密解密操作等优点,与网络服务相结合,使它成为一个可以方便地存储用户密钥和下载保密数据的设备。智能卡中包含有CPU、RAM、EEPROM、ROM和I/O,就像一部规模较小的电脑。智能卡的软件结构由COS(Chip Operating System)系统、智能卡应用框架及具体应用程序构成,如图1所示。在此结构中,最底层的COS系统负责底层硬件的管理;智能卡应用框架定义了一整套编程接口类,提供应用程序所需要的统一的应用环境;应用程序提供具体的智能卡服务。
图1智能卡软件结构
1OCF与PC/SC概述
PC /SC (Personal Computer / Smart Card )是Windows平台上智能卡访问的标准框架,其目的是减轻智能卡应用程序在PC机上的开发难度。PC/SC的主要优点是:应用程序与智能卡进行通信时不必考虑智能卡读卡器的具体细节,即只要智能卡读卡器遵从PC/SC标准,应用程序就能通过智能卡读卡器正常行使功能。PC/SC体系结构如图2所示。其中,智能卡就是Integrated Circuit Card,智能卡读写器就是Tnterface Devices。智能卡插人读写器后,通过智能卡读写器与驱动程序的智能卡读写控制器(IFD Handler)通信。智能卡资源管理器(ICC Resource Manager)管理各种不同的智能卡读写器和智能卡资源。每一种智能卡读写器都通过各自的智能卡读写控制器接口函数与智能卡资源管理器通信,智能卡资源管理器根据上层软件的要求,将上层软件发来的命令分别发到相应的智能卡读写控制器,再通过它发给智能卡读写器和智能卡。
图2 PC/SC体系结构
OCF( Open Card Framework)是一个用于实现智能卡解决方案和智能卡服务的易于使用的标准框架。OCF充分利用Java跨平台、多用途的特性,为实现智能卡解决方案和智能卡服务提供一个开放的架构和一套通用的应用程序(APIs)。OCF的体系结构如图3所示。其中,智能卡服务(Cardservice)是一个抽象类,其意义是卡上的服务,它的子类通过包装一系列APDUs(Application Protocol Data Units)提供具体的服务内容;智能卡服务标识(Card Serves Factory)同智能卡终端标识(Card Terminal Factory)功能相似,应用服务商提供自己的智能卡服务标识代表其自身,由智能卡服务标识产生它们的各种服务,即一些智能卡服务实例;智能卡服务管理(Card service Registry)管理卡上的所有智能卡服务对象;智能卡服务通信管理器(Card servces shcduler)为服务所需的通信安排通道,给智能卡服务对象提供一个逻辑通道以便发送接收命令完成任务;智能卡终端(Card Terminal)从各种智能卡终端抽象出来可被继承的类,由其对应的智能卡终端标识(Card Terminal Factory)生产得到;智能卡终端管理(Card Terminal Registry)管理应用系统中安装的所有智能卡终端,可对智能卡终端进行实例注册、注销等操作;智能卡终端标识同特定的工厂生产的产品一样,不同的智能卡终端制造商提供具体的智能卡终端标识子类,由这些子类产生对应的智能卡终端实例。
图3 OCF体系结构
2 OCF与PC/SC的联系
OCF 与 PC/SC均提供智能卡与各种计算机的访问标准,它们在概念与机制方面存在着共同点。通过对比它们的构成,可发现它们之间的共同点与不同点。
(1) OCF与 PC/SC结构上的共同点
PC /SC 中的智能卡服务提供者提供智能卡服务,与其相对应OCF中由智能卡服务来提供;OCF中的智能卡终端与PC/SC中的智能卡读写器系统(Inte月五CeDevice Subsystem)相对应。因此,OCF与PC/SC有很多共同点。具体如图4所示。
全文下载:http://www.yktchina.com/bbs/Read-b3-t4213-p1.htm