金融IC卡中Native卡替代Java卡的可行性探析

(整期优先)网络出版时间:2022-09-05
/ 2

金融IC卡中Native卡替代Java卡的可行性探析

殷智胜

中国银联

摘要:从卡片操作系统分,金融IC卡主要包括Java卡和Native卡两类。目前,在金融IC卡等智能卡领域,Java卡已经成为应用最为广泛的智能卡通用平台技术,几乎没有Native卡的身影。

通过对Java卡和Native卡的技术分析和比较,本文认为Native卡具备全面替代Java卡的可行性,并提出替代的工作建议。

关键词:金融IC卡、Java卡、Native卡、操作系统

引言:随着金融IC卡的广泛应用和卡片市场价格的逐年降低,卡片成本成为银行卡产业持续健康发展的关键因素。Native卡作为一种资源利用更有效、使用成本更低的卡片类型,重新得到产业重视。如何发挥Native卡技术优势,规避技术短板,从而全面替代Java卡,成为产业重点关注和讨论的热点。

一、金融IC卡主要类型

金融IC卡又称为芯片银行卡,是以芯片作为介质的银行卡。金融IC卡可以存储密钥、数字证书、指纹等信息,其工作原理类似于微型计算机,能够同时处理多种功能,为持卡人提供一卡多用的便利。

从芯片介质分,金融IC卡可分为纯芯片卡和磁条芯片复合卡。从通信方式分,金融IC卡可分为接触式卡、非接触式卡和接触+非接触的双界面卡。从卡片操作系统分,金融IC卡主要包括Java卡和Native卡两类。

Java卡是一种通用平台智能IC卡,其主要特点是基于Java技术,在底层硬件与上层应用软件之间定义一个通用的软件系统平台和接口规范,应用开发者可以基于Java语言、统一的应用接口和软件工具,开发通用的Java应用程序,运行在不同硬件配置的Java卡上,如图1所示。Java卡体系架构及相关技术方案最早由Sun公司拥有并推出,Sun公司被收购后,现相关知识产权由Oracle公司拥有,使用Java卡技术需向Oracle公司缴纳一定的授权费用。

Java卡架构

图1 Java卡技术架构

Native卡是一种通过卡片操作系统(COS)实现所有功能的智能IC卡,其主要特点是基于汇编语言和标准C语言开发,针对特定的卡片硬件配置完成适配,并将应用程序整体打包写入COS中完成编译,如图2所示。Native卡开发速度较慢,但运行速度快,效率高。Native卡的开发与卡片个人化流程由不同生产厂商各自定义,暂无统一规范。Native卡在社保、交通等行业卡中被大量应用。

Native卡架构

图2 Native卡技术架构

二、Java卡与Native卡的技术比较

Java卡相比Native卡具备统一的技术规范、较高的应用开发效率、较好的应用代码可复用性和应用后下载灵活性,但在硬件配置、应用运行性能、安全性和使用成本上等方面相对处于劣势,具体对比如下表:

Java

Native

硬件配置

芯片平台:通常采用高端芯片平台,频率高,处理速度快,成本高。

内存空间:通常为20K,36K,72K或者更大,便于对于多应用的支持。

芯片平台:一般采用中低端芯片平台,根据应用需求量体裁衣 ,成本低。

内存空间:通常为8K,16K或者32K,36K,便于节约成本。

安全性

较低,存在所有Native 卡的安全性问题, Java 平台的复杂性及应用后下载等特性,引入更多安全性问题。

较高,没有后下载功能,避免安装应用引入安全性问题。

应用运行性能

较低,应用运行需要Java 虚拟机对每条Java 指令进行解释后执行。

较高,直接执行芯片CPU指令。

应用后下载灵活性

较高,灵活支持应用后下载功能,应用所需资源由Java平台负责分配。

较低,一般采取打补丁的形式提供后下载功能,要求应用开发者对COS充分 了解,在资源使用上避免冲突。

应用开发效率

较高,应用基于统一开放API 开发,熟悉开发接口可提高开发效率。

较低,应用的开发接口非标准,需一定的学习成本。

应用可复用性

较高,与底层硬件隔离,跨平台移植较容易。

较低,应用绝大部分逻辑可复用,跨平台时需要做相应的适配移植工作。

使用成本

硬件配置高及额外授权费用造成总体成本较高。

硬件配置低,无授权费用,总体成本较低。

三、金融IC卡行业现状

目前,在金融IC卡等智能卡领域,Java卡已经成为应用最为广泛的智能卡通用平台技术,特别是在移动支付应用中,Java卡技术与GP规范相结合成为实现多应用需求的主流智能卡技术,国内金融IC卡已几乎没有Native卡的身影。

当初金融IC卡选择Java卡技术路线的主要原因是卡片在发行后能够灵活下载、安装和删除应用,不需要提前规划并掩膜卡片应用。然而,从多年实际使用情况来看,大多数银行要求金融IC卡应用掩膜在卡片中,很少在发行后再更新应用。Java卡的技术优势没有得到充分利用,反而由于其对硬件配置要求较高,造成卡片有限资源的浪费。

四、Native卡全面替代Java卡的可行性

基于上述比较和分析,若Native卡补足相对于Java卡的技术短板并发挥相对于Java卡的技术优势,Native卡具备全面替代Java卡的可行性。

首先,要由银行卡产业权威的标准组织制定统一的Native卡技术规范,定义统一的Native卡技术架构和应用开发接口。统一的技术架构指导Native卡COS开发方遵循一致的分层运行协作机制,如在应用层执行具体业务交易指令,在系统服务层处理通讯协议,在硬件适配层完成与底层芯片的交互等,从而降低系统的耦合度和复杂性,提升系统的健壮性和可维护性。统一的应用开发接口可为应用开发方带来较高的应用开发效率,提升应用代码的可复用性和应用移植的效率。

其次,要基于统一的技术规范建立配套的检测认证服务,为产业提供对产品的标准符合性验证手段,加快标准规范的落地实施。金融IC卡涉及金融机构和持卡人的金融数据和个人敏感信息,必须在得到充分的检测验证并获得行业权威的认证后才能规模化试点和应用。通过标准、检测和认证三个环节的有效衔接和持续迭代优化,快速提高Native卡在金融IC卡中的应用数量和比例。

最后,要充分发挥Native卡实现相同功能代码量小、运行速度快、效率高等技术特点,在与Java卡的竞争中形成比较优势,加快Native卡的规模化应用和替代。Native卡量身定做的硬件配置可进一步降低金融IC卡整体成本,为产业降本增效。Native卡支持各种通讯协议,能够兼容已有的各种终端设备,无需对受理侧进行额外改造。金融IC卡个人化流程无需因为卡片类型改变而调整生产流程和效率。Native卡的替换不会对产业现有生产模式造成额外成本,部署推广的动力大、阻力小,能够驱动产业各方加快完成替代。

五、结语

    通过分析和比较Native卡和Java卡的技术特点,Native卡具备全面替代Java卡的可行性。为降低产业成本,提升产业效率,银行卡产业需要制定统一的Native卡技术规范,建立权威的检测认证服务项目,引导和推动Native卡的落地应用,从而为产业带来更多的社会经济效益,促进产业长期健康发展。