APP下载

UICC卡非接触应用隐式选择识别技术研究

2016-12-02黄健文蔡秋艳李俊磊

网络安全与数据管理 2016年21期
关键词:字符串公交指令

黄健文,黄 健,蔡秋艳,李俊磊,严 冬

(广州电信研究院,广东 广州 510630)



UICC卡非接触应用隐式选择识别技术研究

黄健文,黄 健,蔡秋艳,李俊磊,严 冬

(广州电信研究院,广东 广州 510630)

以GP、Javacard、UICC多应用管理技术为理论知识基础,提出了一种UICC卡非接触应用识别技术方案,解决了NFC行业POS非接触默认隐式选择与UICC卡多个应用默认设置间的兼容性问题。提出的非接触应用识别技术使得UICC可支持多个非接触应用在非接触通道上的隐式选择,经实际商用验证可支持多个公交应用在UICC卡上的共存问题,并免除公交 POS终端的改造,推动了NFC在公交等第三方行业的发展。

隐式选择;显式选择;默认应用;GP;UICC;Javacard

0 引言

2012年以来,NFC技术及其应用在国内取得巨大发展。在电信运营商UICC卡上内置Se安全模块的NFC-SWP技术方案是国内NFC技术发展的最主要的方向之一[1],主要涉及银行、公交等行业应用。在NFC推广过程中,由于行业POS终端与UICC卡之间的标准化差异产生的应用选择识别兼容性问题,已成为NFC发展过程中的最大阻力。兼容性问题主要体现为:(1)已布放公交等第三方行业POS要求上电执行非接触默认应用隐式选择;(2)UICC卡现行技术标准只允许在非接触通道设置一个默认应用,如果要将新的应用设置为非接触通道默认应用,要求取消UICC原有非接触默认应用设置;(3)现有技术标准中UICC卡不具备默认应用反馈机制,无法向卡外实体反馈当前的卡上默认应用。目前住建部正在推行公交行业应用的互联互通,在同一张UICC卡上,很大程度上将下载两个或两个以上公交应用,此兼容性问题将导致部分应用不能被正确使用或正确安装。

隐式选择与多个应用的默认应用设置兼容性问题的解决方式有两种:(1)按照现有技术标准,将行业POS应用选择方式升级为应用显式选择。升级后可精确选择到UICC卡的所有应用,但存在升级费用高昂的问题,并且由于POS已经布放,此方式被大多POS拥有方拒绝。(2)改进UICC卡,使现有非接触应用检索方式支持对更多的应用进行隐式选择。本文针对次兼容性问题,在GP及UICC技术理论基础上提出了非接触应用字符串匹配识别方案,解决了此兼容性问题。

1 GP UICC 技术

GP(Global Platform)技术架构是GP组织定义的一套智能卡应用管理标准体系,包括GlobalPlatform Card Specification Version 2.2.1和GlobalPlatform Card Contactless Services Card Specification v2.2-mendment C Version 1.0.1等主要标准。GP技术通常和Javacard、UICC技术共同使用,实现对Javacard应用程序的安全动态管理。使用GP技术可在安全环境下,对Javacard非接触和接触应用安全加载、安装、数据个人化、删除等管理。遵循GP、Javacard、UICC技术标准的通用智能卡模型架构如图1所示。

图1 UICC卡通用模型架构

图1模型架构中,UICC提供上层Javacard虚拟运行环境、GP及卡应用必需的硬件支持,包括CPU、内存及相关加密算法硬件加速器、接触式和非接触式通信接口。

Javacard提供虚拟跨平台运行环境及相关应用接口体系,它提供了一种将应用和运行环境独立开发的机制。由第三方开发的遵循Javacard架构体系的应用可下载到任意Javacard平台上运行。

GP在模型架构中起安全保障作用,GP通过安全域分级、权限控制、生命周期控制、安全信道及相关密钥体系等技术手段实现对上层Java应用的安全流程管理。OPEN在GP架构中处于核心管理角色,负责卡生命周期维护、注册表维护、应用选择、命令转发等。本文提出的非接触应用识别技术主要基于OPEN对注册表的维护实现。

2 非接触应用安装与选择

2.1 非接触应用安装

在GP管理架构下,Javacard应用程序代码要加载到Javacard上分两个过程执行。首先需在PC上将Java代码编译为可在UICC卡运行的可执行文件,并使用GP相关加载、安装流程指令通过UICC卡 ISO7816接口加载到UICC上。其次需对加载到UICC卡上的可执行代码文件,进行实例化创建、应用个人化参数流程分配等。

非接触应用程序安装也需符合上述安装加载流程。针对大部分公交系统,在UICC卡不支持字符串识别情况下,应设置为非接触默认应用。对于应用可执行加载文件AID为6170706C65745465737431及应用AID为 6170706C657454657374315F4131的应用,在应用安装过程中设置非接触默认应用CF配置参数指令流程如下:

(1)install for load

8XE60200XX0B6170706C65745465737431XX…. XX

(2)可执行文件加载多条load指令

8XE80000FFXXXXXXXXXXXXXXXXXXXX….. XX

8XE80001FFXXXXXXXXXXXXXXXXXXXX….. XX

8XE8800LNNXXXXXXXXXXXXXXXXXXXX…. XX

(3)install for install

安装命令:8XE60C00XX

可执行加载文件AID:0B6170706C65745465737431

可执行模块AID:0E6170706C657454657374315F4131

应用AID:0E6170706C657454657374315F4131

权限:0100

隐式选择默认参数:XXEFXX..XXCF0180

2.2 非接触应用选择

在GP架构下,应用选择有两种方式即显式选择和隐式选择。显式选择指在UICC卡上电后POS终端第一条指令使用带应用AID的GP SELECT ( by name)指令进行应用选择。GP OPEN接收到SELECT指令后,将查询卡内GP注册表,根据SELECT命令中带的AID参数找到目标应用。在OPEN找到目标应用后,所有POS终端发送的指令OPEN将不做处理,直接转发给目标应用。金融行业POS终端一般使用显式选择方式进行应用选择。

隐式选择指非接触通道打开后,卡片收到的第一条指令不是带AID的SELECT指令,在卡片不支持非接触算法识别的情况下,OPEN将直接把非接触指令转发给非接触通道上的默认应用进行处理。隐式选择默认应用设置采用GP指令Install for install对非接触应用安装参数中的CF参数进行配置。

3 基于指令字符串检索方式的应用识别

UICC 卡除支持非接触应用显式选择及默认应用隐式选择外,本文采用字符串匹配选择方式,对非接触应用选择进行了改进扩展。

3.1 非接触应用字符串匹配参数定义

GP架构下,非接触应用字符串匹配参数通过GP Install[for install]指令在应用实例化安装时进行设置,安装参数采用TLV结构进行嵌套定义。本文针对公交行业POS的复杂性、多样性,对字符串匹配安装标签参数进行了扩展改进,对每个非接触应用允许匹配多个非接触字符串匹配标签,并对非接触标签更新流程、获取流程进行了定义。

曾经我们班有一个学生,因为家庭困难、父母知识浅薄、教育无方造成他性格古、怪脾气暴躁,且经常不完成作业,学习一直不尽人意,可是在一次大扫除中,我们班被轮为扫厕所,其他同学都闲脏,不愿意干,只有他提着水桶不断地冲洗。看着他干得满头大汗、还满脸微笑。我情不自禁把他搂入怀中,称机给他一点鼓励。他听后不断地点头。从那以后他自己也变得活泼开朗了,见了老师总是打招呼,后来我又因势利导,鼓励他前面发展,鼓足干劲,力争上进。结果,在老师和同学的帮助下,他的成绩有了起色。

GP install [for install]指令定义如表1[2]。

表1 GP install指令结构

应用安装参数数据域定义如表2[3]。

表2 应用安装参数数据域

以上安装参数定义符合非接触和接触应用安装定义,针对非接触应用字符串匹配参数定义如图2。

图2 字符串检索识别83参数

3.2 非接触应用字符串参数配置

对于AID为A000000011应用A的指令检索字符串假设为:A0A40000023F00。AID为A000000012应用B的指令检索字符串有两个:A0A40000023F01,A0A40000023F02。则使用GP install for install指令对应用A、B在安装过程中进行字符串匹配参数配置指令过程如下:

(1)install for load AB应用

(2)load AB应用

(3)install for install A应用安装及字符串参数匹配

可执行加载文件AID: A00000011XX…XX

可执行模块AID: A00000011XX…XX

应用AID:0A A000000011

权限:0100

字符串参数配置:XXEF..XXA0..8307A0A40000023F00

(4)install for install B应用安装及字符串参数匹配

安装命令:8XE60C00XX

可执行加载文件AID: A00000012XX…XX

可执行模块AID: A00000012XX…XX

应用AID:0A A000000012

权限:0100

字符串参数配置:

XXEF..XXA0..8307A0A40000023F018307A0A400000 23F02

当应用已经安装到卡上后,可使用GP install [registry update ]指令进行更新字符串匹配参数,使用如下指令为应用A追加字符串匹配参数A0A40000023F03:

注册更新安装命令:8XE64000XX

可执行加载文件AID: A00000011XX…XX

可执行模块AID: A00000011XX…XX

应用AID:0A A000000011

权限:0100

字符串参数配置:

XXEF..XXA0..8307A0A40000023F008307A0A400000 23F03

3.3 非接触应用字符串匹配选择过程

当UICC卡具有非接触通道上字符串匹配检索能力时,选择方式在卡内部的执行顺序为显式选择、字符串匹配、隐式默认应用选择。当UICC卡与非接触POS间完成非接触初始化通信后,POS发出第一条应用指令,当指令为显式选择SELECT BY AID时,GP OPEN将直接定位应用注册表入口。当第一条指令为隐式选择时,本文GP OPEN执行如下流程进行应用隐式选择:

(1)OPEN根据POS第一条指令进行字符串匹配检索;

(2)OPEN检索到目标应用,取出优先级最高的非接触应用;

(3)检查目标应用的生命周期状态是否可选,如应用位于可选状态,则定位目标应用。如果生命周期状态不可选,则继续执行流程(1)~(3)进行字符串匹配检索;

(4)如果流程(1)~(3)无法正确定位目标应用,则进行非接触默认应用CF参数匹配检测;

(5)如果流程(1)~(4)均不能定位目标应用,则OPEN将POS第一条指令转发给卡ISD主安全域应用进行处理;

(6)若以上流程均不能正确匹配目标应用则目标应用定位失败。

定位目标应用成功后,后续的应用交互指令将直接交给目标应用进行处理,不再执行匹配检索流程。目标应用定位失败后,OPEN将返回错误信息。指令字符串匹配检索处理流程如图3所示。

4 结束语

本文以Javacard 技术与GP多应用安全管理架构为基础,针对NFC业务推广过程中出现的多个公交应用默认设置切换问题,提出了一种基于GP非接触应用指令字符串匹配检索的方法实现POS对目标应用的匹配,经实际商用证明可有效解决现有UICC多应用卡中下载多个公交应用的匹配检索问题。本文提出的字符串匹配检索方法,在NFC业务商用过程中可免除公交等行业POS的升级改造,将有效推进NFC公交的互联互通。

图3 指令字符串匹配检索流程

[1] 王笃炎,肖海,何平.基于NFC-SWP技术的移动支付方案设计[J].移动通信,2013,37(5):18-22.

[2] GlobalPlatform Inc.GlobalPlatform Card Specification Version 2.2.1[Z].2011.

[3] GlobalPlatform Inc.GlobalPlatform Card UICC Configuration-Contactless Extension Version 1.0[Z]. 2012.

The research of non-contact applet implicit selection recognition technology based on UICC card

Huang Jianwen,Huang Jian,Cai Qiuyan,Li Junlei,Yan Dong

(Guangzhou Research Institute of China Telecom, Guangzhou 510630, China)

Based on GP, Javacard and UICC application management technology as the foundation of theoretical knowledge, this paper proposes a UICC card application recognition technology to be used in non-contact channel, to solve compatibility issues between the NFC industry POS implicit selection and UICC card multiple application default settings. In this paper, non-contact recognition technology makes the UICC can support multiple non-contact implicit selection on non-contact channel, it has been verified by the actual commercial which can solve the coexistence problem of multiple bus application in UICC card, and avoid modification of the bus POS terminals. It has promoted the development of NFC in the bus industry.

implicit selection;explicit selection;default application;GP;UICC;Javacard

TP393

A

10.19358/j.issn.1674- 7720.2016.21.023

黄健文,黄健,蔡秋艳,等. UICC卡非接触应用隐式选择识别技术研究[J].微型机与应用,2016,35(21):75-78.

2016-07-14)

黄健文(1972-),男,工程师,主要研究方向:通信智能卡相关产品开发与测试。

猜你喜欢

字符串公交指令
一元公交开进太行深处
基于文本挖掘的语词典研究
等公交
杀毒软件中指令虚拟机的脆弱性分析
最简单的排序算法(续)
中断与跳转操作对指令串的影响
一种基于滑窗的余度指令判别算法
MAC指令推动制冷剂行业发展
一种新的基于对称性的字符串相似性处理算法
高效的top-k相似字符串查询算法