APP下载

金融USIM卡多应用加载的安全性和互操作性研究

2012-07-12联通兴业通信技术有限公司王俊清

电子世界 2012年19期
关键词:互操作性智能卡SIM卡

联通兴业通信技术有限公司 王俊清

金融USIM卡多应用加载的安全性和互操作性研究

联通兴业通信技术有限公司 王俊清

在USIM卡上加载金融应用是当前的热门话题,但由于电信卡本身因为多角色带来的安全性管理问题,联通目前的USIM卡互操作性与理想状态还有一定距离。无论是对前期的资源节约还是对后期的升级扩展和管理都带来了一定的困难和挑战。本文从规范、技术和管理几方面入手,分析联通金融USIM卡多应用加载的安全性和互操作性现状,并针对存在的问题提出了一些可供参考的解决办法。

USIM;SWP;PBOC;JAVA;安全;互操作性

1.金融USIM卡的业务需求和目标

各种银行卡、积分卡,在皮包中越积越多,购物时拿出一摞卡来寻找,已经不是陌生的场面。因此,支持多种移动电子商务应用(如多银行卡手机钱包、一卡通等),使得应用能够灵活获取和升级,无需用户换卡,降低业务营销成本,最终达到用手机吸纳众多卡,即USIM卡承担包含金融卡功能在内的多种卡片功能不仅是业务需求,也是移动电子商务业务发展的目标。

一卡多应用的加载包含发卡时预置和后期加载两种,由于商业利益分配和前期推广及后期业务发展的需求,后期加载无疑是最有发展前景并符合市场的。需要解决的主要问题有两个:安全问题和互操作性问题。

2.联通金融USIM卡的业务现状和局限性

互操作性用来衡量一个系统信息共享和使用效率的能力,广义讲,互操作性是指不同的计算机系统、网络、操作系统和应用程序一起工作并共享信息的能力。而此处我们研究的金融应用的互操作性是指同一个金融应用可以在联通所有同规格卡上运行的能力。

目前,联通3G卡是高性能的JAVA卡,但潜能还远未发挥出来,没有超越过去Native卡的功能。完成的任务依然是过去Native卡所能实现的STK菜单,具体应用大都采用预置方式提前写入。

另外,联通目前的USIM卡互操作性很差。联通供卡商们要负责各自应用的编写,即本来是一个应用,如果采用12家卡商的卡需要12家根据各自的卡编写12个应用程序。这就是说JAVA卡本身所具备的良好的扩展性和互操作性优势完全没有发挥出来,不仅浪费卡商人力物力,而且为了下载准确,手机端和系统端都要浪费资源去管理和维护,至于实现第三方应用编程和统一管理就更不可能了。

3.联通金融USIM卡多应用后加载的安全性和互操作性分析

3.1 联通金融USIM卡对相关国际规范的支持状况及规范简介

联通金融USIM卡是符合JAVA和GP平台规范的含有USIM应用和PBOC应用的SWP卡。主要遵循七部分规范:UICC规范、USIM规范、JAVA卡规范、GP规范、SWP卡规范、HCI规范和PBOC2.0规范。

UICC规范、SWP卡规范和HCI规范都是由欧洲电信标准化协会ETSI的EP SCP小组制定。UICC规范主要描绘UICC平台的物理和电气特性、文件系统、命令、访问条件,PIN系统。SWP接口是一种UICC卡与非接前端之间面向比特流、点对点的通讯协议。定义了非接前端(CLF)与UICC卡在物理和数据链路层接口特性。HCI规范定义了非接前端(CLF)与UICC卡的主机控制接口。

USIM是UICC上的一个电信应用,其标准是由3GPP制定的,主要描述UMTS文件列表、安全机制及流程、电话本和USIM应用开发包。

JAVA卡标准是由JCF组织制定的,是根据智能卡的特点在传统JAVA基础上精简和改造的。包括JCVM(java卡虚拟机)、JCRE(java卡运行环境)和JAVA卡API三部分。

GP规范是GP组织制定的,GP组织是一个由支付与商业领域的知名公司、政府部门以及相关团体主导的组织,它是第一个促成跨不同行业的智能卡应用规范的组织。它的目标就是减少智能卡在跨不同行业,不同应用之间的潜在障碍。GP为卡发行商定义了灵活而强大的参考规范,使得卡发行商能够利用多应用的芯片操作系统来满足商业需求的不断发展。规范允许卡发行商选择当下使用的卡技术并且支持迁移,对于将来选择的不同技术在结构上也避免产生重要影响。如此,智能卡发行商将有在各种卡、终端及后台系统中选择的自由。

PBOC2.0规范即JR/T 0025《中国金融集成电路(IC)卡规范》,分为13个部分:是2005年3月13日,由人民银行发布的规范。本规范补充完善电子钱包/存折应用;增加了与EMV标准兼容的借/贷记应用;增加非接触式IC卡物理特性标准;增加电子钱包扩展应用指南、借/贷记应用个人化指南等内容。该标准将为我国银行卡芯片化奠定标准基础,确保我国银行卡芯片化实现联网通用和安全,并有效指导实施。

这些规范提供了公共安全和卡管理框架的协议,也提供了后加载的通道和指令。遵循这些规范的金融USIM卡拥有一卡多应用后加载的使用条件。

3.2 联通金融USIM卡的多应用安全保证

联通多应用智能卡架构如图1所示。

联通多应用SWP智能卡引用了UICC最大特点----多应用平台的概念,实现了多个应用同时运行的多通道机制,同时具有java卡的互操作性、可移植性和安全性。USIM卡同时遵循GP规范,拥有一个主安全域(ISD)和多个辅助安全域。

主安全域,作为中国联通对卡片内容进行管理时的操作代理,联通多应用框架SIM卡必须实现此安全域应用。中国联通可以利用主安全域授权程序加载、安装、迁移、删除中国联通或其他应用提供方的应用。

辅助安全域可以被动态创建、删除和更新。

安全域对用户不可见,安全域的创建只能由平台发起。安全域就是一个个独立的黑匣子,将各种应用安全存放,使得各个应用彼此完全独立。安全域密钥作为访问控制权限的一种表现方式,可以在安全域创建的时候设置好,也可以在必要的时候动态更新。密钥更新操作只能由平台主动发起。遵循GP规范的安全域拥有安全级别。

图1 联通多应用SWP智能卡架构图

3.3 联通金融USIM卡互操作性现状分析及建议

3.3.1 联通金融USIM卡互操作性现状分析

互操作性差,不仅加大发卡商对卡片的管理难度,还会使得后续应用开发成本加大,当卡片到用户手中后,就更不利于扩展应用的加载。

鉴于联通智能卡是拥有GP标准平台的java卡,我们可以分析一下导致同一个金融应用不能在各家卡上兼容的原因:

(1)JAVA卡规范、GP规范、SWP规范、HCI规范、NFC API规范,版本众多,彼此不统一。任何一个规范版本的差异都将带来相应产品实现的差别并造成卡片的互操作性问题。

联通规范的制定从时间上落后于卡商产品的开发,版本确定往往也没有采纳制定规范时相应的国际规范最高版本。卡商产品的版本五花八门:一些国外卡商的产品成熟度高,但是因为内部机制以及本地化研发不足造成响应速度较慢;一些国内卡商虽是后起之秀并且所遵循的版本也高但缺乏成熟度。紧急状况时,可供采购的卡遵循的规范版本或高于联通规范或低于联通规范。甚至还可能出现多次采购不同批次的卡遵行不同的版本规范。总之,规范的版本和实际采购情况的不吻合不仅为产品检测带来困难,更为未来卡的管理和标准应用的编写以及后加载带来挑战,成为卡片互操作性的隐患。

(2)一些NATIVE指令造成了兼容性问题:私有指令不是必须的,而是为了编程的简单和快捷,所以卡商根据自己的硬件性能等扩展了一些对应用编程更容易实现的API,从而造成了含有私有API的应用程序在各家卡上不兼容或根本无法装载成功。

(3)为了满足客户应用的特殊需求:每个JAVA APPLET之间有防火墙,需要由shareable interface在不同的APPLET间进行沟通和数据共享,所以当需要业务需求一个STK程序同时完成查询卡上的几家银行账户或电子现金余额时,统一的shareable接口函数是必须的,但是卡商在实现时却常使用私有的接口函数来完成,这便带来了不兼容隐患。为了满足应用在各家卡上的互操作,宜制定联通的规范来完成这部分功能。这样既能最大限度的保证安全性也能确保满足现有的应用需求。

(4)硬件性能差异造成应用程序兼容性差:由于芯片内存大小、CPU运算速度差异、一些加密算法是硬件运算还是软件运算等造成了同样的JAVA卡应用程序在性能差的芯片上难以正常运行,性能差的卡不仅带来可能的兼容性问题,还造成很差的用户体验,甚至会因为耗电增加减少手机的待机时间,给用户带来频繁更换电池的损失。(比如运行同样的IMSI重置脚本,使用不同芯片的卡用时分别为20.2秒和163.3秒,速度相差近8倍)。

3.3.2 提升卡互操作性建议

3.3.2.1 互操作性良好所需条件

联通金融USIM卡到底需要怎样的条件才能拥有好的互操作性呢?

首先,互操作性好的智能卡都要遵照相同版本的规范:如联通金融USIM卡遵循的JAVA规范、GP规范、SWP规范、HCI规范、NFC API规范的版本一定要一致。其次,卡片的应用一定是使用规范描述的标准API写成的标准应用。最后,芯片硬件处理能力也应有最低指标要求,对于关键算法和核心API的性能设定统一的参考基准。

3.3.2.2 保证卡片互操作性良好的手段

需要怎样的手段来保证卡片的互操作性良好呢?

第一,加强检测,在卡片一致性检测脚本中,增加检测PBOC应用是否为标准应用的测试项(目前的卡片一致性检测脚本中只有JCPM(Java Card Portal Module)、OTA(Over The Air)应用预置菜单的检验)。

第二,强化第三方认证测试作用,使其严格遵循标准规范流程。为保证卡商提交给银行卡检测中心的卡和最终提交给联通的卡为相同的卡,并且避免由于加载项增多后造成的问题,联通应抽检购买的成品卡并再次委托银行卡检测中心进行PBOC全功能检测。

第三,强制开发联通规范支持的标准的JAVA卡应用,在业务定义和确定应用需求环节尽量参照标准的API,避免开发标准API不能实现的功能。

第四,在卡片采购中增加对芯片硬件性能指标的要求,并将对厂家的芯片性能测试结果列入招投标项目中,按照一定权重参与评分。

第五,综合考虑卡商的相关产品的技术稳定性和版本的先进性,如果稳定性大同小异,版本就高不就低。不到万不得已,不宜轻易升级卡的软件版本。

第六,当用户的需求超过了现有标准卡的处理能力,而一些卡商的卡所具备的非标准能力可以实现用户需求时,要综合考虑商业利益和互操作性之间的平衡!

[1]3GPP TS 33.102 V6.1.0(2004-06)“3rd Generation Partnership Project;Technical Specif i cation Group Services and System Aspects;3G Security;Security architecture(Release 6)”.

[2]3GPP TS 35.205 V8.0.0(2008-12)“3rd Generation Partnership Project;Technical Specif i cation Group Services and System Aspects;3G Security;Specif i cation of the MILENAGE Algorithm Set:An example algorithm set for the 3GPP authentication and key generation functions f1,f1*,f2,f3,f4,f5 and f5*;Document 1:General(Release 8)”.

[3]3GPP TS 31.115 V8.0.1(2009-03)“3rd Generation Partnership Project;Technical Specification Group Core Network and Terminals;Secured packet structure for(Universal)Subscriber Identity Module(U)SIM Toolkit applications(Release 8)”.

[4]Java Card(TM)Specif ication.

[5]Global Platform Card Specif i cation.

[6]ETSI TS 102 613《Smart Cards;UICC-Contactless Front-end(CLF)Interface;Part 1:Physical and data link layer characteristics》.

[7]ETSI TS 102 622《Smart Cards;UICC-Contactless Frontend(CLF)Interface;Host Controller Interface(HCI)》.

[8]JR/T 0025《中国金融集成电路(IC)卡规范》.

[9]《中国联通GSM/WCDMA数字蜂窝移动通信网UICC卡技术规范》.

[10]《中国联通GSM/WCDMA数字蜂窝移动通信网USIM卡技术规范》.

[11]《中国联通GSM/WCDMA数字蜂窝移动通信网USAT卡技术规范》.

[12]《中国联通基于UICC平台的Java卡互操作性技术规范》.

[13]《中国联通GSM/WCDMA数字蜂窝移动通信网UICC卡测试规范》.

[14]《中国联通GSM/WCDMA数字蜂窝移动通信网USIM卡测试规范》.

[15]《中国联通GSM/WCDMA数字蜂窝移动通信网USAT卡测试规范》.

[16]《中国联通基于UICC平台的Java卡互操作性测试规范》.

[17]《中国联通GSM/WCDMA数字蜂窝移动通信网支持近场通信的用户卡技术规范》.

[18]《中国联通GSM/WCDMA数字蜂窝移动通信网支持近场通信的用户卡测试规范》.

[19]《中国联通电信智能卡SWP卡技术规范v2.0》.

王俊清,联通兴业通信技术有限公司工程师,主要从事智能卡COS编写工作。

猜你喜欢

互操作性智能卡SIM卡
军机维修保障互操作性评价技术研究
杀伤链动态重构中的互操作性浅析
SIM卡防盗很关键 小喻教你如何给它“上保险”
铁路GSM-R SIM卡读写次数测试方法研究
东方磁卡李晓东:进击的智能卡研发巨子
SIM卡的“减肥史”
基于STC89 单片机的非接触智能卡读写机设计
韩军武器系统互操作性现状及未来发展
临沂机顶盒智能卡升级方案介绍
智能卡领域首个国家工程建设标准发布