Java Card

关于 JAVA CARD 技术


该页面概要介绍 Java Card 技术。


Java 徽标

红色三角形  JAVA CARD 技术概述

目录

简介
行业
优点
组件
许可

简介

Java Card 技术使智能卡以及其他内存非常有限的设备能够运行使用 Java 技术的小型应用程序(称作小程序)。它为智能卡制造商提供了一个安全、可互操作的执行平台,可以在一台设备上存储和更新多个应用程序。Java Card 技术与现有的智能卡标准兼容。

开发人员可以使用该技术快速、安全地构建、测试和部署应用程序和服务。这个加速的过程降低了开发成本、增加了产品特色、提高了对客户的价值。作为对 Java 2 Platform Standard Edition、Enterprise Edition 和 Mobile Edition 的补充,Java Card 技术可以很轻松地将安全令牌集成到完整的 Java 软件解决方案中。

行业

几乎所有类型的智能卡都能从 Java Card 技术中获益:
  • 用户身份模块 (SIM) 卡,用于大多数无线网络上的移动电话中
  • 支持在线和离线交易的金融卡
  • 政府和医疗保健身份证
  • 提供对企业资源的逻辑访问和物理访问的卡
  • 公共交通智能票卡
在大多数移动电话网络上,用户使用一张智能卡(通常被称作 SIM 卡)激活电话。该卡验证用户的身份,并提供数字语音传输的加密密钥。采用了 Java Card 技术之后,SIM 卡还可以提供远程银行和票务等交易服务。数亿张基于 Java Card 技术的 SIM 卡已经在移动电话中助力创新服务。

在银行业,智能卡让用户可以安全访问大量联网的金融服务,包括提款机、支付账单和过桥费。利用 Java Card 技术,一张单独的智能卡上可以安装多个财务应用程序,并且可以提供油耗管理程序或安全的网上交易等第三方服务。

在对安全性和身份验证要求很高的场合,如需要限制对安全设施或医疗记录访问的场合,Java Card 技术也有着广泛的应用。

Java Card 技术将通过一系列连接的设备增强客户对新的、电子商务服务的访问。现在大多数产品已经包括智能卡阅读器,移动电话和付费电视设备就是此类市场的代表。

优点

智能卡供应商和发卡机构可从 Java Card 技术的一些独特特性中受益,这些特性包括:
  • 可互操作: 使用 Java Card 技术开发的小程序将运行在所有支持 Java Card 技术的智能卡上,与卡供应商和底层硬件无关。
  • 安全: Java Card 技术依赖于 Java 编程语言固有的安全性来提供一个安全的执行环境。通过一个开放的过程进行设计,平台久经考验的部署和安全性评估确保了发卡机构能够从当今最有能力、最安全的技术中受益。
  • 支持多应用程序: Java Card 技术允许多个应用程序安全地共存在一张智能卡上。
  • 动态:发卡之后可以安全地安装应用程序,这就使发卡机构能够动态响应客户不断变化的需求。
  • 与现有标准兼容: Java Card API 与智能卡的国际标准(如 ISO7816 或 EMV)兼容。主要行业特定的标准(如 Global Platform 和 ETSI)都参考它。
创建 Java Card 应用程序的开发人员能够享受使用 Java 编程语言工作的所有优势:
  • 面向对象的编程可以带来更大的代码模块化和可重用性,从而提高编程效率。
  • Java 编程语言特有的保护特性同样适用于 Java Card 小程序,实施强类型和保护属性。
  • 强大的现成开发工具随时可用。

组件

Oracle 发布了 Java Card 平台规范Java Card Development Kit,后者包括一个基于规范的参考实现。规范 2.2.2 版提供了跨平台和跨供应商的小程序互操作性的基础,包括三个文档:
  • Java Card 虚拟机规范定义了 Java Card 技术实现必须支持的特性、服务和行为。它包括 Java Card 虚拟机 (VM) 的指令集、Java 语言受支持的子集,以及用于将小程序和库安装到智能卡和其他支持 Java Card 技术的设备的文件格式。
  • Java Card 运行时环境规范定义了在 Java Card 技术的任何实现中运行时环境 (RE) 必需的行为,其中必须包括 Java Card 虚拟机的实现、Java Card API 类,以及运行时支持服务(如选择和取消选择小程序)。
  • Java Card 平台 API 作为对 Java Card 运行时环境规范的补充,介绍了 Java Card 技术的应用程序编程接口。API 与正式的国际标准和行业特定标准兼容。它包含支持 Java Card VM 和 Java Card RE 所需的类定义。

Java Card Development Kit 是一组用于设计 Java Card 技术的实现和基于 Java Card API 规范开发小程序的工具:
  • C-JCRE 是 Java Card 运行时环境一个用 C 编程语言编写的参考实现。它还包括 Java Card 虚拟机解释器。
  • Java Card ConverterJava Card Verifier 等卡外平台组件与 C-JCRE 相辅相成,提供了一个完整的开发链。
  • 其他设计和测试工具使开发人员能够创建应用程序原型和测试应用程序。

许可

Java Card 技术授权现在代表全球 90% 以上的智能卡制造能力的公司使用。此外,它还跨多个行业为原始设备制造商及他们的合作伙伴提供各种新机会。尤其是,Java Card 技术提供的小程序互操作性使发卡机构能够混搭第三方应用程序,包括标准支付、储值、计算机授权、数据管理等。

Java Card 技术被许可方还可以获得 Java Card Technology Compatibility Kit (TCK) 的许可,该许可可用于认证特定平台上的 Java Card 实现。

Oracle 还不时向被许可方社区提供独家交付,如 Java Card Toolkit 或 Java Card Protection Profile。工具包是一个 Java Card 模拟器和调试器,是为集成到第三方集成开发环境中而设计的。它在被许可方的 Java Card 开发环境中为其提供了一个逼真的模拟和调试环境。Java Card Protection Profile 减少了 Java Card 被许可方在 IT 安全评估通用标准下完成安全评估所需的时间和成本。它提供了一组特定于 Java Card 平台的可重用的安全性要求。根据通用标准评估 Java Card 产品的机会可以让被许可方在严格的、得到广泛认可的标准的保护下进行安全评估,满足银行、政府和其他发卡机构日益增加的需求。

有关许可条款的信息,请联系当地的 Oracle 销售代表