教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 实用文档 >

Java 卡关键技术的研究及实现

来源:网络收集 时间:2026-02-03
导读: 文章编号:1001-9081(2006)03-0742-04 Java卡关键技术的研究及实现 李彦超,吕丽民,胡新建 (浙江工业大学信息工程学院,浙江杭州310014) (lyc@http://doc.guandang.net) 根据最新Java卡规范,对Java卡的关键技术进行了深入研究和分析,提供了Java卡系

文章编号:1001-9081(2006)03-0742-04

Java卡关键技术的研究及实现

李彦超,吕丽民,胡新建

(浙江工业大学信息工程学院,浙江杭州310014)

(lyc@http://doc.guandang.net)

根据最新Java卡规范,对Java卡的关键技术进行了深入研究和分析,提供了Java卡系统摘 要:

在AT90SC智能卡上的一种具体实施。详细描述了Java卡实施所采用的系统构架和工作流程,深入

并讨论了为提高Java卡虚拟机执行效率所采取的策略。测试分析Java卡虚拟机和API等关键技术,

结果表明,该Java卡系统能够正确高效地解释及执行Java卡应用程序。

关键词:Java卡;智能卡;JCRE;JCVM;applet;API中图分类号:TP368.1 文献标识码:A

StudyandimplementationofJavacardkeytechnology

LIYan-chao,LüLi-min,HUXin-jian

(CollegeofInformationEngineering,ZhejiangUniversityofTechnology,HangzhouZhejiang310014,China)Abstract:AccordingtothelatestspecificationsofJavacard,thekeytechnologyofJavacardwasanalyzedindepth.ArealimplementationofJavacardsysteminAT90SCsmartcardwasprovided.Thesystemarchitectureandworkflowoftheimplementationweredescribed.SuchkeytechnologyasJavacardvirtualmachineandAPIwereanalyzed.ThepolicyofimprovingexecutingefficiencyofJavacardvirtualmachinewasdiscussed.ThetestingresultsshowthattheJavacardsystemcaninterpretandexecutetheJavacardappletscorrectlyandefficiently.

Keywords:Javacard;smartcard;JCRE;JCVM;applet;API

场正开始起步。在台湾和香港已经使用了相关的Java卡产品,如台湾的保健卡和香港的八达通卡等。但是,从总体上看,国内Java卡的研究和发展速度相对比较缓慢。在国内市场上,缺少具有自主知识产权的Java卡系统。

本文根据Sun公司公布的JavaCard2.2.1规范,提供了Java卡系统的一种具体实施方案。文章详细描述了Java卡系统实施所采用的整体方案,深入分析了Java卡虚拟机和API等关键技术。Java卡实施采用了ATMEL公司的AT90SC6464C智能卡,其硬件环境为:16位CPU,64K的FLASH,1K的RAM和64K的EEPROM。

0 引言

[1]

Java卡是一种可以运行Java程序的智能卡。它充分

利用了Java的平台无关性,使得Java技术“一次编写,随处运行”的思想在智能卡上得以实现。1996年,Sun公司公布了Java卡技术规范,目前Java卡规范的最新版本是2.2.1。

传统智能卡应用一般都是在专用开发环境,使用汇编或C语言进行开发。由于不同卡生产商对其智能卡定义了独特的指令集和编程接口,开发人员需要花费大量的时间熟悉底层通信接口协议、内存管理等智能卡硬件细节。此外,由于不同智能卡的开发环境不通用,使得应用在不同生产商的卡上进行移植变得非常复杂。

与传统的智能卡相比,Java卡有许多优点:

第一,平台无关性。符合Java卡规范的应用程序可以在不同制造商发行的Java卡中运行。

第二,支持一卡多用和重用。Java卡允许多个应用程序安全地运行在同一卡上。而且可以在不更换卡片的情况下,根据需要动态添加或删除卡中的应用。

第三,灵活性。Java语言的面向对象特性使得编程极为灵活,可利用通用的Java开发工具进行应用的开发。

第四,安全性。Java卡继承了Java语言的安全特性,包括原子事务、应用防火墙等。由于其独特的优势,Java卡技术已经成为智能卡的主流发展趋势。

国外对Java卡的研究较早,如今Java卡已广泛运用于用户身份识别、交通、通讯及金融等领域。在国内,Java卡的市

1 Java卡系统整体方案

1.1 Java

卡系统构架

收稿日期:2005-10-26 修订日期:2005-12-29

浙江省重大基础软件产品专项(2004C11052);浙江省科学技术厅重点科研工业项目(2005C21030) 基金项目:

作者简介:李彦超(1980-),男,江西南昌人,硕士研究生,主要研究方向:嵌入式系统、信息安全; 吕丽民(1961-),男,浙江缙云人,副教

胡新建(1980-),男,浙江临海人,硕士研究生,主要研究方向:嵌入式系统、信息安全.授,硕士,主要研究方向:计算机智能技术、信息安全;

AppletINSTALLER,JCAPI(JavaCardApplicationProgrammingInterface)及扩展API。

在系统构架图中,位于底层的COS主要负责对智能卡的RAM、EEPROM、串口及中断等硬件资源进行管理。JCRE是Java卡的核心部分,处于中间层,主要用于维护Java卡系统运行时的环境,负责Java卡Applet的执行及卡内Applet的安全。其中,JCNM是JCRE与COS的接口。JCVM则主要完成Java语言字节码的解析及执行任务。Java卡应用编程接口JCAPI,为Java卡应用提供了核心类库。JavaCardAppletINSTALLER负责Java卡应用的下载、安装及卸载等工作。Java卡应用开发商或其他Java卡开发商开发的通用型API,可以作为JCRE的扩展API。位于Java卡系统构架顶部的是Java卡Applet。从图中可以看出,Java卡允许多个应用程序同时存在于同一张智能卡上。当然,卡上的Applet不一定都处于工作状态,只有被选中后才进入工作状态。按照ISO7816规范,智能卡上最多允许四个应用处于工作状态。同时,在某一时刻只可能有一个当前Applet,即只有一个Applet处于运行状态,其他Applet处于等待状态。1.2 Java卡系统工作流程

Java卡系统是一个以处理APDU(ApplicationProtocolDataUnit)指令流为中心的系统。COS的核心处理部分是一个等待/分发APDU指令的无限循环。Java卡接收CAD(CardAcceptanceDevice,也称为读卡器)发出的APDU请求指令,分析并分发给相应模块进行处理,并将APDU响应指令返回给CAD,实现与CAD

的交互。

Context访问当前对象。对象类型则用来区分类对象与数组对象。对于数组对象,可进一步区分为boolean,byte,short和reference数组对象。对象所属类Context与所属类的引用可以定位该对象的类定义。数组可以看成是类http://doc.guandang.netng.Object的对象。临时对象标志用于区分对象是否是临时对象(TransientObject)。所谓临时对象,是指该对象的数据内容(实例域或数组数据),在卡断电后不需要保存,但对象本身需要保存。在Java卡重新上电或应用被取消选定后,临时对

[3]象的数据内容清空成默认值(0,false或null)。因此,JCVM

具体的编译器,一般来说采用这种结构,代码平均定位时间较长。此外,JCVM的解释函数代码长度过长,在运行时,容易产生缺页中断。KVM(KilobyteVirtualMachine,一个手持式设采用的便是这种解释方式。而查表备上使用的Java虚拟机)

解释方式,则首先为每个操作码建立一个相应处理函数,然后定义一个函数指针数组,该数组保存操作码处理函数的地址。函数地址在该数组中的偏移量与函数相应的操作码值对应。在解释执行阶段,以字节码的操作码值作为偏移量,便可直接定位到该字节码的相应处理函数,如图4所示。采用查表解释执行方式,代码定位时间均衡且较短,但增加了一定的程序空间消耗。经过对测试数据进行仔细比较,发现查表解释方临时对象的数据内容可以存放在RAM里,而不需要存放在EEPROM中。由于智能卡写EEPROM操作的耗时远远大于写RAM操作,所以,在编写Java卡应用程序时,应尽量将那些不需要永久保存数据内容的对象创建为临时对象。2.4 异常处理及异常对象全局化

Java卡虚拟机和Java虚拟机 …… 此处隐藏:6717字,全部文档内容请下载后查看。喜欢就下载吧 ……

Java 卡关键技术的研究及实现.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1804114.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)