黃健文,黃 健,蔡秋艷,李俊磊,嚴 冬
(廣州電信研究院,廣東 廣州 510630)
?
UICC卡非接觸應用隱式選擇識別技術研究
黃健文,黃 健,蔡秋艷,李俊磊,嚴 冬
(廣州電信研究院,廣東 廣州 510630)
以GP、Javacard、UICC多應用管理技術為理論知識基礎,提出了一種UICC卡非接觸應用識別技術方案,解決了NFC行業POS非接觸默認隱式選擇與UICC卡多個應用默認設置間的兼容性問題。提出的非接觸應用識別技術使得UICC可支持多個非接觸應用在非接觸通道上的隱式選擇,經實際商用驗證可支持多個公交應用在UICC卡上的共存問題,并免除公交 POS終端的改造,推動了NFC在公交等第三方行業的發展。
隱式選擇;顯式選擇;默認應用;GP;UICC;Javacard
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技術理論基礎上提出了非接觸應用字符串匹配識別方案,解決了此兼容性問題。
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.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參數進行配置。
UICC 卡除支持非接觸應用顯式選擇及默認應用隱式選擇外,本文采用字符串匹配選擇方式,對非接觸應用選擇進行了改進擴展。
3.1 非接觸應用字符串匹配參數定義
GP架構下,非接觸應用字符串匹配參數通過GP Install[for install]指令在應用實例化安裝時進行設置,安裝參數采用TLV結構進行嵌套定義。本文針對公交行業POS的復雜性、多樣性,對字符串匹配安裝標簽參數進行了擴展改進,對每個非接觸應用允許匹配多個非接觸字符串匹配標簽,并對非接觸標簽更新流程、獲取流程進行了定義。
曾經我們班有一個學生,因為家庭困難、父母知識淺薄、教育無方造成他性格古、怪脾氣暴躁,且經常不完成作業,學習一直不盡人意,可是在一次大掃除中,我們班被輪為掃廁所,其他同學都閑臟,不愿意干,只有他提著水桶不斷地沖洗??粗傻脻M頭大汗、還滿臉微笑。我情不自禁把他摟入懷中,稱機給他一點鼓勵。他聽后不斷地點頭。從那以后他自己也變得活潑開朗了,見了老師總是打招呼,后來我又因勢利導,鼓勵他前面發展,鼓足干勁,力爭上進。結果,在老師和同學的幫助下,他的成績有了起色。
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所示。
本文以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-),男,工程師,主要研究方向:通信智能卡相關產品開發與測試。