Java Card的技术特点及其应用分析
2018-04-26李智聪凌力
李智聪, 凌力
(复旦大学 通信科学与工程系, 上海 200433)
0 引言
智能卡(Smart Card)是内嵌集成电路芯片的卡片的通称,广泛应用于金融、电信、公安、交通、税务、电子政务等领域[1]。传统的Native卡的操作系统(Chip Operating System,COS)和硬件平台紧密相关,应用的开发和底层COS密不可分。由Sun公司主导的Java智能卡则与之不同,卡片具有通用的API接口,应用的开发与硬件平台无关,通用性更好。虽然国内市场仍然是Native卡占据主导地位,但在国外,Java智能卡已经广泛应用于用户身份识别、交通、数字内容发行、通讯以及金融等领域。下文将对Java Card技术进行详细的探讨,并着重分析Java Card技术在移动支付领域的潜在应用优势。
1 Java Card平台简介
Java Card是基于Java语言的智能卡技术,在传统的智能卡平台上实现了一个Java程序安装和运行的软硬件环境,与传统的智能卡相比,Java智能卡具有以下的优点:
(1)平台无关性。符合Java Card规范的Java Card应用程序可以运行在不同的芯片设计或者不同制造商的智能卡上。
(2)多应用支持和动态性[2,3]。同一服务提供商或者不同服务提供商的多个应用可以安全地运行在同一张卡上,并且在片发行后,支持应用的动态下载、更新和删除,更具多用途性和灵活性。
(3)开放性和通用性。Java Card技术规范兼容ISO 7816、EMV等智能卡国际标准和GP(Global Platform)、ETSI(European Telecommunications Standards Institute)等工业规范。
(4)安全性[4]。既继承了Java语言的安全特性,又具备如事务、防火墙、字节码验证、分离的Java虚拟机等Java Card平台独有的安全特性,在Java Card 3平台中,安全性又得到了进一步的加强。
1.1 Java Card平台的系统结构
1.1.1 Java Card硬件系统
主要包括智能卡CPU与各种协处理器、存储器(ROM、RAM、EEPROM)和IO模块,硬件的各项指标需要符合ISO/IEC 7816国际标准。……
