论文部分内容阅读
我们生活中使用的智能卡只有很少的硬件平台.它的存储空间也许只相当于1 K的RAM,16K的EEPROM和24K的ROM.所以Java卡技术设计的最大挑战是在保留足够的应用空间后将Java系统软件固化在智能卡中.其解决方案是用是用具有普通Java语言的子集和分布的模型来实现Java卡虚拟机.Java卡虚拟机分成两部分,一部分离卡(Off一Card)运行,另一部分在卡(On一Card)运行.许多处理任务,如类装载、字节编码校验、分解和连接以及优化等,并不限制在运行时执行,因此可以安排在卡外的虚拟机部分,而此时通常不需关注资源的占用.Java卡除了提供Java语言支持外,Java卡技术还定义了一个运行环境,此运行环境支持智能卡存储器、智能卡通信、智能卡加密以及执行方式的应用等.此外Java卡的运行环境必须遵守智能卡国际标准ISO 7816.Java卡运行环境的最大特点是智能卡系统和其应用之间的划分很清楚.运行环境封装了智能卡系统的复杂性,其应用只需用高级语言编程好的接口调用系统服务和资源便可.可以说Java卡技术基本上定义的是一个平台,在此平台上,用Java语言编写的应用程序可以在智能卡上运行.为Java卡平台编写的应用程序称为Applet.Java卡的虚拟机是分布的结构,由在卡上运行的解释器部分和读卡机或PC机上的程序组成.综上,Java卡系统结构由下面三个部分组成:●Java卡2.1虚拟机(Java Card and Virtual Machine)定义了Java编程语言和适合智能卡应用程序的虚拟机的一个子集.●Java卡2.1运行环境JCRE(Java Card Runtime Environment)描述了Java卡运行的行为,包括存储器管理、Applet管理和其他运行特征.●Java卡2.1应用编程接口.API(Application Programming Interface)描述了编程智能卡应用程序的Java包和类的核心和扩展.该论文主要介绍了Java卡虚拟机以及Java卡运行环境的设计方案和实现细节,并对Java卡应用中最重要的部分——安全机制的实现过程进行了详细描述,在该文的最后作者对所实现的Java卡项目进行了总结,并展望了Java卡系统实现垃圾收集机制的可能性.