论文部分内容阅读
Java智能卡技术制订了一种安全、便捷且多功能的智能卡平台规范,已经成为智能卡的主流发展趋势。随着我国信息化建设的不断推进和信息技术的持续发展,Java卡已在身份认证、电子支付和信息安全领域得到了广泛的应用。此外,Java智能卡目前已经从单一设备转化为一个复杂、多应用环境的平台,提供电子钱包、身份识别和数据保护等功能。现已广泛应用于金融、公益事业、医疗卫生、社会保险、工商税务、电信、交通管理等领域。作为一种能运行Java语言程序的智能卡,它以其多应用的支持、良好的安全特性、面向对象的编程环境、应用程序动态下载等众多优点成为智能卡技术在网络时代的主流应用,同时也使这一技术成为智能卡领域研究和发展的热点。Java智能卡技术主要由Java智能卡API、Java智能卡的运行环境和Java智能卡虚拟机三部分组成。其中,Java智能卡API类库为Applet的开发提供了标准的接口,降低了智能卡应用程序开发的复杂程度,简化了开发过程,真正实现了Java设计者宣称的“一次编写,到处运行”的理念。从而使Java智能卡成为了真正意义上的一卡多用型智能卡。SUN公司发布的Java Card规范是目前用于构建Java智能卡的主要技术规范。但该规范只给出了构建Java智能卡所需的整体框架,是一份纲领性的文件。该规范没有给出构建Java智能卡的细节,需要设计方根据自己的需求和所拥有的条件等因素自行设计。本文主要研究如何以Sun公司提出的Java智能卡规范构建符合自身需求的Java智能卡平台。按照Sun给出的Java智能卡规范,构建一个完整的Java智能卡需要实现Java智能卡运行环境、虚拟机以及Java智能卡内库。本文结合自己的工作重点讨论Java智能卡运行环境与Java智能卡虚拟机的设计与实现方法。其中整个设计与实现方案将采用相对较为成熟的Java智能卡技术规范2.2。本文的研究内容主要包括两部分,即Java智能卡运行环境(其中包括Java Applet的下载与安装、注册表结构及其访问和维护操作、逻辑通道的管理与调度,以及Applet间的共享资源访问机制等关键技术。)与虚拟机技术(其中包括Java栈、解释器以及防火墙机制、异常机制的设计与实现等。)的研究,以及两者的设计与实现,是开发具有自主知识产权的Java智能卡产品的一次有益的尝试,也可为我国Java智能卡技术的进一步深入研究和应用提供和积累相关的经验和资料。本文首先简要介绍了Java智能卡的发展、研究背景和基本概况,重点分析了运行环境和解释器结构、作用、以及调度和解析流程。接下来给出了一套符合Sun公司Java智能卡规范2.2.2的Java智能卡运行环境和卡内虚拟机设计方案,最后按照该方案在资源有限的智能卡芯片中,使用标准C语言开发了一套Java智能卡软件平台。该软件平台经测试,实现了Java智能卡规范2.2.2所规定的主要功能。