《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > UICC卡非接觸應(yīng)用隱式選擇識別技術(shù)研究
UICC卡非接觸應(yīng)用隱式選擇識別技術(shù)研究
2016年微型機與應(yīng)用第21期
黃健文,黃健,蔡秋艷,李俊磊,嚴冬
廣州電信研究院,廣東 廣州 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 :

  黃健文,黃健,蔡秋艷,李俊磊,嚴冬

  (廣州電信研究院,廣東 廣州 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卡之間的標準化差異產(chǎn)生的應(yīng)用選擇識別兼容性問題,已成為NFC發(fā)展過程中的最大阻力。兼容性問題主要體現(xiàn)為:(1)已布放公交等第三方行業(yè)POS要求上電執(zhí)行非接觸默認應(yīng)用隱式選擇;(2)UICC卡現(xiàn)行技術(shù)標準只允許在非接觸通道設(shè)置一個默認應(yīng)用,如果要將新的應(yīng)用設(shè)置為非接觸通道默認應(yīng)用,要求取消UICC原有非接觸默認應(yīng)用設(shè)置;(3)現(xiàn)有技術(shù)標準中UICC卡不具備默認應(yīng)用反饋機制,無法向卡外實體反饋當前的卡上默認應(yīng)用。目前住建部正在推行公交行業(yè)應(yīng)用的互聯(lián)互通,在同一張UICC卡上,很大程度上將下載兩個或兩個以上公交應(yīng)用,此兼容性問題將導致部分應(yīng)用不能被正確使用或正確安裝。

  隱式選擇與多個應(yīng)用的默認應(yīng)用設(shè)置兼容性問題的解決方式有兩種:(1)按照現(xiàn)有技術(shù)標準,將行業(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)用管理標準體系,包括GlobalPlatform Card Specification Version 2.2.1和GlobalPlatform Card Contactless Services Card Specification v2.2mendment C Version 1.0.1等主要標準。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ù)標準的通用智能卡模型架構(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)中處于核心管理角色,負責卡生命周期維護、注冊表維護、應(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ù)指令流程如下:

 ?。?)install for load

  8XE60200XX0B6170706C65745465737431XX…. XX

  (2)可執(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ù)找到目標應(yīng)用。在OPEN找到目標應(yīng)用后,所有POS終端發(fā)送的指令OPEN將不做處理,直接轉(zhuǎn)發(fā)給目標應(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的復雜性、多樣性,對字符串匹配安裝標簽參數(shù)進行了擴展改進,對每個非接觸應(yīng)用允許匹配多個非接觸字符串匹配標簽,并對非接觸標簽更新流程、獲取流程進行了定義。

  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)用

 ?。?)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

  當應(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)用字符串匹配選擇過程

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

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

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

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

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

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

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

  定位目標應(yīng)用成功后,后續(xù)的應(yīng)用交互指令將直接交給目標應(yīng)用進行處理,不再執(zhí)行匹配檢索流程。目標應(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對目標應(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.

 ?。?] 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)載。