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

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

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

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

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

0引言

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

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

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ù)共同使用,,實現(xiàn)對Javacard應(yīng)用程序的安全動態(tài)管理。使用GP技術(shù)可在安全環(huán)境下,,對Javacard非接觸和接觸應(yīng)用安全加載,、安裝、數(shù)據(jù)個人化,、刪除等管理,。遵循GP、Javacard,、UICC技術(shù)標(biāo)準(zhǔn)的通用智能卡模型架構(gòu)如圖1所示,。

圖像 006.png

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

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

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

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

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

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

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

  (1)install for load

  8XE60200XX0B6170706C65745465737431XX…. XX

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

  8XE80000FFXXXXXXXXXXXXXXXXXXXX….. XX

  8XE80001FFXXXXXXXXXXXXXXXXXXXX….. XX

  …

  8XE8800LNNXXXXXXXXXXXXXXXXXXXX…. XX

 ?。?)install for install

  安裝命令:8XE60C00XX

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

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

  應(yīng)用AID:0E6170706C657454657374315F4131

  權(quán)限:0100

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

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

  在GP架構(gòu)下,應(yīng)用選擇有兩種方式即顯式選擇和隱式選擇,。顯式選擇指在UICC卡上電后POS終端第一條指令使用帶應(yīng)用AID的GP SELECT ( by name)指令進行應(yīng)用選擇,。GP OPEN接收到SELECT指令后,將查詢卡內(nèi)GP注冊表,,根據(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終端一般使用顯式選擇方式進行應(yīng)用選擇。

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

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

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

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

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

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

圖像 009.png

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

圖像 010.png

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

圖像 007.png

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

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

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

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

  (3)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 ]指令進行更新字符串匹配參數(shù),使用如下指令為應(yīng)用A追加字符串匹配參數(shù)A0A40000023F03:

  注冊更新安裝命令: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)用字符串匹配選擇過程

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

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

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

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

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

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

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

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

4結(jié)束語

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

圖像 008.png

  參考文獻

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

 ?。?] 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.


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