《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > UICC卡非接觸應(yīng)用隱式選擇識(shí)別技術(shù)研究
UICC卡非接觸應(yīng)用隱式選擇識(shí)別技術(shù)研究
2016年微型機(jī)與應(yīng)用第21期
黃健文,黃健,,蔡秋艷,李俊磊,,嚴(yán)冬
廣州電信研究院,廣東 廣州 510630
摘要: 以GP、Javacard、UICC多應(yīng)用管理技術(shù)為理論知識(shí)基礎(chǔ),,提出了一種UICC卡非接觸應(yīng)用識(shí)別技術(shù)方案,解決了NFC行業(yè)POS非接觸默認(rèn)隱式選擇與UICC卡多個(gè)應(yīng)用默認(rèn)設(shè)置間的兼容性問(wèn)題,。提出的非接觸應(yīng)用識(shí)別技術(shù)使得UICC可支持多個(gè)非接觸應(yīng)用在非接觸通道上的隱式選擇,經(jīng)實(shí)際商用驗(yàn)證可支持多個(gè)公交應(yīng)用在UICC卡上的共存問(wèn)題,,并免除公交 POS終端的改造,,推動(dòng)了NFC在公交等第三方行業(yè)的發(fā)展。
Abstract:
Key words :

  黃健文,,黃健,,蔡秋艷,李俊磊,嚴(yán)冬

  (廣州電信研究院,,廣東 廣州 510630)

       摘要:GP,、Javacard、UICC多應(yīng)用管理技術(shù)為理論知識(shí)基礎(chǔ),,提出了一種UICC卡非接觸應(yīng)用識(shí)別技術(shù)方案,,解決了NFC行業(yè)POS非接觸默認(rèn)隱式選擇與UICC卡多個(gè)應(yīng)用默認(rèn)設(shè)置間的兼容性問(wèn)題。提出的非接觸應(yīng)用識(shí)別技術(shù)使得UICC可支持多個(gè)非接觸應(yīng)用在非接觸通道上的隱式選擇,,經(jīng)實(shí)際商用驗(yàn)證可支持多個(gè)公交應(yīng)用在UICC卡上的共存問(wèn)題,,并免除公交 POS終端的改造,推動(dòng)了NFC在公交等第三方行業(yè)的發(fā)展,。

  關(guān)鍵詞:隱式選擇;顯式選擇;默認(rèn)應(yīng)用;GP;UICC;Javacard

0引言

  2012年以來(lái),,NFC技術(shù)及其應(yīng)用在國(guó)內(nèi)取得巨大發(fā)展。在電信運(yùn)營(yíng)商UICC卡上內(nèi)置Se安全模塊的NFCSWP技術(shù)方案是國(guó)內(nèi)NFC技術(shù)發(fā)展的最主要的方向之一[1],,主要涉及銀行,、公交等行業(yè)應(yīng)用。在NFC推廣過(guò)程中,,由于行業(yè)POS終端與UICC卡之間的標(biāo)準(zhǔn)化差異產(chǎn)生的應(yīng)用選擇識(shí)別兼容性問(wèn)題,,已成為NFC發(fā)展過(guò)程中的最大阻力。兼容性問(wèn)題主要體現(xiàn)為:(1)已布放公交等第三方行業(yè)POS要求上電執(zhí)行非接觸默認(rèn)應(yīng)用隱式選擇,;(2)UICC卡現(xiàn)行技術(shù)標(biāo)準(zhǔn)只允許在非接觸通道設(shè)置一個(gè)默認(rèn)應(yīng)用,,如果要將新的應(yīng)用設(shè)置為非接觸通道默認(rèn)應(yīng)用,要求取消UICC原有非接觸默認(rèn)應(yīng)用設(shè)置,;(3)現(xiàn)有技術(shù)標(biāo)準(zhǔn)中UICC卡不具備默認(rèn)應(yīng)用反饋機(jī)制,,無(wú)法向卡外實(shí)體反饋當(dāng)前的卡上默認(rèn)應(yīng)用。目前住建部正在推行公交行業(yè)應(yīng)用的互聯(lián)互通,,在同一張UICC卡上,,很大程度上將下載兩個(gè)或兩個(gè)以上公交應(yīng)用,此兼容性問(wèn)題將導(dǎo)致部分應(yīng)用不能被正確使用或正確安裝,。

  隱式選擇與多個(gè)應(yīng)用的默認(rèn)應(yīng)用設(shè)置兼容性問(wèn)題的解決方式有兩種:(1)按照現(xiàn)有技術(shù)標(biāo)準(zhǔn),,將行業(yè)POS應(yīng)用選擇方式升級(jí)為應(yīng)用顯式選擇。升級(jí)后可精確選擇到UICC卡的所有應(yīng)用,,但存在升級(jí)費(fèi)用高昂的問(wèn)題,,并且由于POS已經(jīng)布放,此方式被大多POS擁有方拒絕,。(2)改進(jìn)UICC卡,,使現(xiàn)有非接觸應(yīng)用檢索方式支持對(duì)更多的應(yīng)用進(jìn)行隱式選擇。本文針對(duì)次兼容性問(wèn)題,,在GP及UICC技術(shù)理論基礎(chǔ)上提出了非接觸應(yīng)用字符串匹配識(shí)別方案,,解決了此兼容性問(wèn)題,。

1GP UICC 技術(shù)

  GP(Global Platform)技術(shù)架構(gòu)是GP組織定義的一套智能卡應(yīng)用管理標(biāo)準(zhǔn)體系,包括GlobalPlatform Card Specification Version 2.2.1和GlobalPlatform Card Contactless Services Card Specification v2.2mendment C Version 1.0.1等主要標(biāo)準(zhǔn),。GP技術(shù)通常和Javacard,、UICC技術(shù)共同使用,實(shí)現(xiàn)對(duì)Javacard應(yīng)用程序的安全動(dòng)態(tài)管理,。使用GP技術(shù)可在安全環(huán)境下,,對(duì)Javacard非接觸和接觸應(yīng)用安全加載、安裝,、數(shù)據(jù)個(gè)人化,、刪除等管理。遵循GP,、Javacard,、UICC技術(shù)標(biāo)準(zhǔn)的通用智能卡模型架構(gòu)如圖1所示。

圖像 006.png

  圖1模型架構(gòu)中,,UICC提供上層Javacard虛擬運(yùn)行環(huán)境,、GP及卡應(yīng)用必需的硬件支持,包括CPU,、內(nèi)存及相關(guān)加密算法硬件加速器,、接觸式和非接觸式通信接口。

  Javacard提供虛擬跨平臺(tái)運(yùn)行環(huán)境及相關(guān)應(yīng)用接口體系,,它提供了一種將應(yīng)用和運(yùn)行環(huán)境獨(dú)立開發(fā)的機(jī)制,。由第三方開發(fā)的遵循Javacard架構(gòu)體系的應(yīng)用可下載到任意Javacard平臺(tái)上運(yùn)行。

  GP在模型架構(gòu)中起安全保障作用,,GP通過(guò)安全域分級(jí),、權(quán)限控制、生命周期控制,、安全信道及相關(guān)密鑰體系等技術(shù)手段實(shí)現(xiàn)對(duì)上層Java應(yīng)用的安全流程管理,。OPEN在GP架構(gòu)中處于核心管理角色,負(fù)責(zé)卡生命周期維護(hù),、注冊(cè)表維護(hù),、應(yīng)用選擇、命令轉(zhuǎn)發(fā)等,。本文提出的非接觸應(yīng)用識(shí)別技術(shù)主要基于OPEN對(duì)注冊(cè)表的維護(hù)實(shí)現(xiàn),。

2非接觸應(yīng)用安裝與選擇

  2.1非接觸應(yīng)用安裝

  在GP管理架構(gòu)下,Javacard應(yīng)用程序代碼要加載到Javacard上分兩個(gè)過(guò)程執(zhí)行,。首先需在PC上將Java代碼編譯為可在UICC卡運(yùn)行的可執(zhí)行文件,,并使用GP相關(guān)加載、安裝流程指令通過(guò)UICC卡 ISO7816接口加載到UICC上,。其次需對(duì)加載到UICC卡上的可執(zhí)行代碼文件,,進(jìn)行實(shí)例化創(chuàng)建、應(yīng)用個(gè)人化參數(shù)流程分配等,。

  非接觸應(yīng)用程序安裝也需符合上述安裝加載流程,。針對(duì)大部分公交系統(tǒng),在UICC卡不支持字符串識(shí)別情況下,,應(yīng)設(shè)置為非接觸默認(rèn)應(yīng)用,。對(duì)于應(yīng)用可執(zhí)行加載文件AID為6170706C65745465737431及應(yīng)用AID為 6170706C657454657374315F4131的應(yīng)用,在應(yīng)用安裝過(guò)程中設(shè)置非接觸默認(rèn)應(yīng)用CF配置參數(shù)指令流程如下:

 ?。?)install for load

  8XE60200XX0B6170706C65745465737431XX…. XX

 ?。?)可執(zhí)行文件加載多條load指令

  8XE80000FFXXXXXXXXXXXXXXXXXXXX….. XX

  8XE80001FFXXXXXXXXXXXXXXXXXXXX….. XX

  …

  8XE8800LNNXXXXXXXXXXXXXXXXXXXX…. XX

  (3)install for install

  安裝命令:8XE60C00XX

  可執(zhí)行加載文件AID:0B6170706C65745465737431

  可執(zhí)行模塊AID:0E6170706C657454657374315F4131

  應(yīng)用AID:0E6170706C657454657374315F4131

  權(quán)限:0100

  隱式選擇默認(rèn)參數(shù):XXEFXX..XXCF0180

  2.2非接觸應(yīng)用選擇

  在GP架構(gòu)下,,應(yīng)用選擇有兩種方式即顯式選擇和隱式選擇,。顯式選擇指在UICC卡上電后POS終端第一條指令使用帶應(yīng)用AID的GP SELECT ( by name)指令進(jìn)行應(yīng)用選擇。GP OPEN接收到SELECT指令后,,將查詢卡內(nèi)GP注冊(cè)表,,根據(jù)SELECT命令中帶的AID參數(shù)找到目標(biāo)應(yīng)用。在OPEN找到目標(biāo)應(yīng)用后,,所有POS終端發(fā)送的指令OPEN將不做處理,,直接轉(zhuǎn)發(fā)給目標(biāo)應(yīng)用。金融行業(yè)POS終端一般使用顯式選擇方式進(jìn)行應(yīng)用選擇,。

  隱式選擇指非接觸通道打開后,,卡片收到的第一條指令不是帶AID的SELECT指令,在卡片不支持非接觸算法識(shí)別的情況下,,OPEN將直接把非接觸指令轉(zhuǎn)發(fā)給非接觸通道上的默認(rèn)應(yīng)用進(jìn)行處理,。隱式選擇默認(rèn)應(yīng)用設(shè)置采用GP指令I(lǐng)nstall for install對(duì)非接觸應(yīng)用安裝參數(shù)中的CF參數(shù)進(jìn)行配置。

3基于指令字符串檢索方式的應(yīng)用識(shí)別

  UICC 卡除支持非接觸應(yīng)用顯式選擇及默認(rèn)應(yīng)用隱式選擇外,,本文采用字符串匹配選擇方式,,對(duì)非接觸應(yīng)用選擇進(jìn)行了改進(jìn)擴(kuò)展。

  3.1非接觸應(yīng)用字符串匹配參數(shù)定義

  GP架構(gòu)下,,非接觸應(yīng)用字符串匹配參數(shù)通過(guò)GP Install[for install]指令在應(yīng)用實(shí)例化安裝時(shí)進(jìn)行設(shè)置,,安裝參數(shù)采用TLV結(jié)構(gòu)進(jìn)行嵌套定義。本文針對(duì)公交行業(yè)POS的復(fù)雜性,、多樣性,,對(duì)字符串匹配安裝標(biāo)簽參數(shù)進(jìn)行了擴(kuò)展改進(jìn),對(duì)每個(gè)非接觸應(yīng)用允許匹配多個(gè)非接觸字符串匹配標(biāo)簽,,并對(duì)非接觸標(biāo)簽更新流程,、獲取流程進(jìn)行了定義。

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

圖像 009.png

  應(yīng)用安裝參數(shù)數(shù)據(jù)域定義如表2[3] ,。

圖像 010.png

以上安裝參數(shù)定義符合非接觸和接觸應(yīng)用安裝定義,,針對(duì)非接觸應(yīng)用字符串匹配參數(shù)定義如圖2。

圖像 007.png

  3.2非接觸應(yīng)用字符串參數(shù)配置

  對(duì)于AID為A000000011應(yīng)用A的指令檢索字符串假設(shè)為:A0A40000023F00,。AID為A000000012應(yīng)用B的指令檢索字符串有兩個(gè):A0A40000023F01,,A0A40000023F02。則使用GP install for install指令對(duì)應(yīng)用A,、B在安裝過(guò)程中進(jìn)行字符串匹配參數(shù)配置指令過(guò)程如下:

 ?。?)install for load A\\B應(yīng)用

  (2)load A\\B應(yīng)用

 ?。?)install for install A應(yīng)用安裝及字符串參數(shù)匹配

  安裝命令:8XE60C00XX

  可執(zhí)行加載文件AID: A00000011XX…XX

  可執(zhí)行模塊AID: A00000011XX…XX

  應(yīng)用AID:0A A000000011

  權(quán)限:0100

  字符串參數(shù)配置:XXEF..XXA0..8307A0A40000023F00

 ?。?)install for install B應(yīng)用安裝及字符串參數(shù)匹配

  安裝命令:8XE60C00XX

  可執(zhí)行加載文件AID: A00000012XX…XX

  可執(zhí)行模塊AID: A00000012XX…XX

  應(yīng)用AID:0A A000000012

  權(quán)限:0100

  字符串參數(shù)配置:

  XXEF..XXA0..8307A0A40000023F018307A0A400000 23F02

  當(dāng)應(yīng)用已經(jīng)安裝到卡上后,可使用GP install [registry update ]指令進(jìn)行更新字符串匹配參數(shù),,使用如下指令為應(yīng)用A追加字符串匹配參數(shù)A0A40000023F03:

  注冊(cè)更新安裝命令:8XE64000XX

  可執(zhí)行加載文件AID: A00000011XX…XX

  可執(zhí)行模塊AID: A00000011XX…XX

  應(yīng)用AID:0A A000000011

  權(quán)限:0100

  字符串參數(shù)配置:

  XXEF..XXA0..8307A0A40000023F008307A0A400000 23F03

  3.3非接觸應(yīng)用字符串匹配選擇過(guò)程

  當(dāng)UICC卡具有非接觸通道上字符串匹配檢索能力時(shí),,選擇方式在卡內(nèi)部的執(zhí)行順序?yàn)轱@式選擇、字符串匹配,、隱式默認(rèn)應(yīng)用選擇,。當(dāng)UICC卡與非接觸POS間完成非接觸初始化通信后,POS發(fā)出第一條應(yīng)用指令,,當(dāng)指令為顯式選擇SELECT BY AID時(shí),,GP OPEN將直接定位應(yīng)用注冊(cè)表入口。當(dāng)?shù)谝粭l指令為隱式選擇時(shí),,本文GP OPEN執(zhí)行如下流程進(jìn)行應(yīng)用隱式選擇:

 ?。?)OPEN根據(jù)POS第一條指令進(jìn)行字符串匹配檢索;

 ?。?)OPEN檢索到目標(biāo)應(yīng)用,,取出優(yōu)先級(jí)最高的非接觸應(yīng)用;

 ?。?)檢查目標(biāo)應(yīng)用的生命周期狀態(tài)是否可選,,如應(yīng)用位于可選狀態(tài),則定位目標(biāo)應(yīng)用,。如果生命周期狀態(tài)不可選,,則繼續(xù)執(zhí)行流程(1)~(3)進(jìn)行字符串匹配檢索;

 ?。?)如果流程(1)~(3)無(wú)法正確定位目標(biāo)應(yīng)用,,則進(jìn)行非接觸默認(rèn)應(yīng)用CF參數(shù)匹配檢測(cè);

 ?。?)如果流程(1)~(4)均不能定位目標(biāo)應(yīng)用,,則OPEN將POS第一條指令轉(zhuǎn)發(fā)給卡ISD主安全域應(yīng)用進(jìn)行處理;

 ?。?)若以上流程均不能正確匹配目標(biāo)應(yīng)用則目標(biāo)應(yīng)用定位失敗,。

  定位目標(biāo)應(yīng)用成功后,,后續(xù)的應(yīng)用交互指令將直接交給目標(biāo)應(yīng)用進(jìn)行處理,不再執(zhí)行匹配檢索流程,。目標(biāo)應(yīng)用定位失敗后,,OPEN將返回錯(cuò)誤信息。指令字符串匹配檢索處理流程如圖3所示,。

4結(jié)束語(yǔ)

  本文以Javacard 技術(shù)與GP多應(yīng)用安全管理架構(gòu)為基礎(chǔ),針對(duì)NFC業(yè)務(wù)推廣過(guò)程中出現(xiàn)的多個(gè)公交應(yīng)用默認(rèn)設(shè)置切換問(wèn)題,,提出了一種基于GP非接觸應(yīng)用指令字符串匹配檢索的方法實(shí)現(xiàn)POS對(duì)目標(biāo)應(yīng)用的匹配,,經(jīng)實(shí)際商用證明可有效解決現(xiàn)有UICC多應(yīng)用卡中下載多個(gè)公交應(yīng)用的匹配檢索問(wèn)題。本文提出的字符串匹配檢索方法,,在NFC業(yè)務(wù)商用過(guò)程中可免除公交等行業(yè)POS的升級(jí)改造,,將有效推進(jìn)NFC公交的互聯(lián)互通。

圖像 008.png

  參考文獻(xiàn)

 ?。?] 王篤炎,肖海,,何平.基于NFCSWP技術(shù)的移動(dòng)支付方案設(shè)計(jì)[J].移動(dòng)通信,2013,37(5):18 22.

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

 ?。?] GlobalPlatform Inc.GlobalPlatform Card UICC ConfigurationContactless Extension Version 1.0[Z]. 2012.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。