基于web 技术的多应用智能卡的研究 - 中国一卡通网
用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

基于web 技术的多应用智能卡的研究

来源:中国一卡通网  作者:苗壮,邓中亮  发布时间:2010-06-17 15:39:19  字体:[ ]

关键字:web  web  技术  智能卡  芯片  

摘   要:由于智能卡技术的飞速发展,智能卡的处理速度和存储空间都有较大幅度的提高,传统的单应用智能卡已经不能满足时代的需求,而现存的多应用智能卡的专利费用相对较高,因此研究新的多应用智能卡技术成为智能卡行业的研究热点。web 服务器的功能就包括提供在线的各种应用逻辑服务,而web 服务器的技术也是基于请求响应模式,因此可以设想把web 技术引入到智能卡中,借助web 服务器功能实现动态多应用智能卡。本文介绍了动态多应用智能卡以及web 服务器技术的基本概念,提出了以web 技术实现动态多应用智能卡的技术方案,对智能卡和web 技术融合的部分技术难题的解决给出了指导性方案。

    1 引言

    随着芯片技术日新月异的发展,智能卡作为一种新兴的应用平台,在诸多领域都有非常广泛的应用。智能卡的出现是微电子、计算机和信息安全等多学科技术综合的复合技术成果。作为一种相对成熟的高技术产品,智能卡的广泛应用将会从多方面提高行业应用水平。当前,智能卡主要分为单应用智能卡,静态多应用智能卡和动态多应用智能卡三种类型。单应用智能卡卡内只有一个应用,它的应用是固化在智能卡内的,不可改变的,静态多应用智能卡在
发卡前将多个应用固化在卡内,卡上的应用不能增加,也不能删除的。动态多应用智能卡内有多个应用,能够在发卡后在卡上动态的删除,安装,更新应用。与前两种智能卡相比,动态多应用智能卡无论是在技术上,还是在商业上都有着较大的优势。

    动态多应用智能卡以其平台移植性好,安全性高,动态多应用等技术特点,以及能提高智能卡应用系统效率,降低发卡成本等市场潜在优势成为了智能卡技术发展的热门。本文以多应用智能卡为依托,web 技术为导向,结合了智能卡与互联网技术,提出了以web 服务器技术实现动态多应用智能卡的方案,并研究了基于web 技术的动态多应用智能卡需要解决的一些技术问题,给出了基本理论方案。

    2 web 技术分析及智能卡实现的可行性

    2.1 web 服务器技术分析

    web 服务器的主要功能是提供互联网上的应用服务。它起源于二十世纪八十年代,由欧洲量子物理实验室所发展出来的主从结构分布式超媒体系统。通过互联网的web 服务器,使用者只需简单的通过浏览器的点击,就可以很迅速方便运行远程应用,获得相关服务和信息。

    web 服务器采用的是客户/服务器结构。服务器整理和储存各种应用信息和数据,通过响应客户端软件的请求,执行应用逻辑流程或者是把客户所需的资源从服务器传送到客户端的平台上。

    web 服务器通过和客户浏览器间的交互就可以运行商业逻辑,并且传送页面到客户浏览器可以浏览。web 服务器同浏览器交互使用http 协议,服务器具有解析http 协议的功能。当用户通过远程浏览器链接到服务器时会发送http 请求,web 服务器接收到这个请求时,根据请求的内容进行相应的处理后会返回一个http 响应,比如送回一个HTML 页面。其中服务器对请求的处理分为很多种,可能是读取返回一个静态页面或图片,也可能需要更多的处理,服务器一般包含各种处理模块处理各种动态情况,比如处理ASP 脚本,CGI 脚本,servlets,JSP 脚本等,这些模块通过对请求的实时处理生产动态的结果再提交各web 服务器返回。最终web 服务器将产生一个HTML 的响应发回供浏览器浏览。

    2.2 智能卡实现web 服务器分析

    根据传统web 服务器的协议栈结构及对应功能,在协议的最上层为应用层协议HTTP协议,智能卡的客户端与传统web 应用的客户端相同,即为标准浏览器,完全支持HTTP协议,服务器端即智能卡本身的处理能力也完全可以支撑HTTP 协议的解析;传输层方面,由于智能卡结构限制,它不能作为一个独立的通信端连接到网络,需要依附于终端共同作为为网络上的一个节点,终端与网络直接的连接等同于传统web 服务器的连接,终端通过智能卡CAT 相关协议与智能卡连接,两部分都满足传输层的可靠连接要求;网络层方面,终端与智能卡作为一个整体使用终端在网络上的IP 地址,作为一个网络节点与传统网络使用相同的IP 协议;数据链路层方面,终端和网络间使用传统网络协议,终端与卡之间通过ISO7816-4 协议交互数据;物理层方面,终端与网络间使用无线或双绞线连接,终端与智能卡之间使用ISO7816-3 中定义的接口连接。综上,在web 服务器协议栈的各个层次上均能有效的解决数据传输与处理功能,故智能卡上实现web 服务器是可行的。

    3 智能卡web 服务器架构设计及实现

    3.1 总体设计

    根据传统web 服务器的组成结构, web 服务器需与网络具有有效连接,即需要有网卡设备,这点智能卡本身的物理结构是无法具备的,即智能卡本身无法独立作为网络上的节点连接网络。所以需要为智能卡提供一个宿主设备,借用宿主设备的能力连接到网络中,宿主设备可以使PC,POS,手机或者其他嵌入式设备。连接结构为智能卡与宿主设备连接,设备与外部网络连接,智能卡和终端设备作为整体的一个网络节点,终端提供数据转发,协议转换等功能,智能卡提供实际的web 服务器功能。终端与网络的连接跟传统互联网连接相同,这里不再赘述;智能卡与终端的连接根据智能卡相关协议设计协议栈,具体见图1。

图1 智能卡web 服务器体系架构

    3.2 代理设计

    终端作为网络上的节点,首先需要具有网卡设备连接网络,如果需要本地访问服务器还需内嵌标准或剪裁的浏览器,作为连接智能卡设备需要安装有PCSC 相关驱动,最后,由于智能卡结构限制,智能卡采用的协议栈跟传统网络协议栈不同,这样终端需要安装代理软件。代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站。在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,须送出Request 信号来得到回答,然后对方再把信息以bit 方式传送回来。代理服务器是介于浏览器和Web 服务器之间的一台服务器,有了它之后,浏览器不是直接到Web 服务器去取回网页而是向代理服务器发出请求,Request 信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器[5]。

    通用的代理服务器主要实现的是缓冲和存储功能,而这里的智能卡代理服务器跟通用的代理服务器有一些区别,主要是应用了代理服务器的基本定义,及智能卡服务器所需要的一些附加功能。作为实际的服务器智能卡和浏览器中间的桥梁,代理服务器转接了两边传递的有效信息,这就需要代理服务器既能有效的和浏览器交互,也能有效的和智能卡进行交互,此外,根据智能卡web 服务器的一些特点,需要给终端的代理服务器添加一些特定的功能。

    3.3 卡端服务器设计

    首先从层次结构上来讲,智能卡的最低层就是其硬件构成,处理器,存储器等,然后是硬件及接口的驱动程序[6];接下来就是智能卡的操作系统,即COS,COS 向上层屏蔽了底层的硬件实现,支撑了智能卡的文件系统调度,上层协议和应用等;再上层,就分为传统的智能卡应用和本文中的web 服务器应用两个分支,对于要研究web 服务器这一分支,智能卡COS 上实现了一个web server,通过web server 支持上层的具体智能卡web 应用,整体层次如图2 所示:

图 2 web 服务器智能卡层次结构图

    对于智能卡web 服务器功能,首先需要设计智能卡操作系统对web server 的支撑研究及智能卡web server 的模块组成,实现模式,数据收发等内容。首先需要实现跟外界交互,这就需要有通信协议栈。通过通信接口收发进来的数据通过状态机分发给http 引擎处理http层的数据,http 引擎对应的支撑部分由http 请求解析器,处理机,CGI 解析器,配置器,数据库支撑等,各部分根据职责分别处理不同方面的内容,并统一的由智能卡操作系统和文件系统共同支撑。

    4 web 智能卡动态多应用技术实现

    4.1 多应用技术实现

    web 服务器的应用是通过应用层的网页和程序资源静态或动态调用实现的,通过不同的逻辑调用和分离具有先天的多应用性,一系列资源文件的组合就可以构成一个应用,服务器只需完成不同应用间的逻辑和安全性隔离以及开发对应的应用入口即可实现。

    在智能卡中实现设计如下。每个ADF 对应一个web 应用,ADF 下包含了该应用所拥有的所有DF 和EF。任何情况下,通过使用ADF 的AID 访问一个ADF 马上能将该ADF 选为当前应用,ADF 的根目录为当前目录。这样通过ADF 实现对不同应用资源序列的逻辑隔离,通过ADF 在MF 索引文件中的注册提供应用的逻辑入口。在安全方面,ADF 是应用的根目录,这样它能利用智能卡文件系统的上的PIN 索引指定了该应用的安全属性, 存取该ADF下的目录DF 和普通文件EF 需要验证这个PIN,利于同一应用的安全管理和不同应用间的安全隔离。主目录通过应用管理文件管理卡上web 应用,每个web 应用对应一个ADF 结构存储,拥有相对独立的文件结构和安全属性等[7]。

    4.2 动态技术实现

    动态应用智能卡是指能够在发卡后在卡上动态的删除,安装,更新应用。传统的单应用智能卡不具备动态技术是因为其应用是以底层的c 语言程序的形式同智能卡COS 绑定到一起共同下载到智能卡上的,这种下载时下载转换后的二进制码实现的,直接由智能卡处理器解析,这种应用不具备动态性。要实现动态的智能卡应用,就需要使应用逻辑动态执行,把有处理器执行应用逻辑的功能剥离出来由上层框架模块实现。直接的解决办法就是设计智能卡能够支持的服务器脚本,并设计开发相应的脚本解析器,通过解析器对脚本的动态解析实现随时加入的应用逻辑运行。这就实现了动态应用的最基本的问题,此外,动态技术能够在发卡后动态的删除,安装,更新web 应用,这部分功能可以借助APDU 指令,直接把上层的web 应用资源文件转化为APDU 指令序列,写入智能卡文件系统实现动态安装,删除和更新也可类似实现[8]。

    5 总结

    本文通过对动态多应用智能卡和web 技术的研究,提出了以web 技术实现动态多应用智能卡的技术方案。通过在智能卡上实现轻量级的web 服务器,借助web 服务器的概念和功能,提供web 应用层的多应用,并提出了基于web 技术的动态多应用智能卡的重要技术问题的解决办法。对多应用智能卡研究的新方法有一定指导意义,并且扩充了智能卡应用的广度与实现形式。但本框架目前仍存在着不足之处, 智能卡应用的层次被提升到web 应用层,直接的影响会带来应用数据量的加大,一方面原因是由于协议层次增加造成附加数据,另一方面是web 应用本身就需要各种大容量资源,这会对智能卡的存储能力提出一定挑战,需要进一步的研究以待解决;另外现有的智能卡接口传输速度还相对较低,在面对web 应用的大数据量传输会造成应用响应时间较长,发展到可接受的范围之内尚需硬件技术上的进一步提高。但这一定程度上也会加速智能卡技术的进一步发展。

更多

新闻投稿合作邮箱:yktchina-admin@163.com    字体[ ] [收藏] [进入论坛]

推荐文章

论坛热帖