摘 要: 為了進(jìn)一步提高移動(dòng)智能終端在移動(dòng)電子支付通信服務(wù)方面的高效性、應(yīng)用性與安全性,以JavaCard智能卡技術(shù)原理與NFC移動(dòng)智能技術(shù)理論知識(shí)為前提,首先提出了一種基于JavaCard和NFC技術(shù)的移動(dòng)智能支付應(yīng)用系統(tǒng)的模型框架,在該模型中設(shè)計(jì)了移動(dòng)智能終端支付銀行選擇模塊,其次針對多標(biāo)簽情況下的應(yīng)用支付碰撞問題設(shè)計(jì)了一種改進(jìn)的動(dòng)態(tài)二進(jìn)制防碰撞算法。研究表明,應(yīng)用支付模型框架與防碰撞安全算法在移動(dòng)電子支付通信服務(wù)方面均達(dá)到了次優(yōu)化的應(yīng)用與安全效果。
關(guān)鍵詞: 移動(dòng)智能;JavaCard;NFC;安全模型;防碰撞
0 引言
近幾年來,隨著移動(dòng)智能科學(xué)技術(shù)的不斷發(fā)展,移動(dòng)智能終端具有廣泛應(yīng)用于各大行業(yè)領(lǐng)域的潛力,移動(dòng)電子支付通信服務(wù)領(lǐng)域也不例外[1]。移動(dòng)智能電子支付市場沒有被完全開拓,主要包括以下幾個(gè)方面的原因[2]:(1)移動(dòng)智能電子支付應(yīng)用效率低,支付流程復(fù)雜;(2)電子支付安全性無法保證,其核心技術(shù)不成熟;(3)遠(yuǎn)程移動(dòng)電子支付服務(wù)單一、支付內(nèi)容不豐富;(4)移動(dòng)智能電子支付的利益機(jī)制尚不完善等。這些都對移動(dòng)智能電子支付的市場推廣產(chǎn)生一定影響,因此,移動(dòng)智能電子支付在中國的推行受到了諸多限制[3]。
針對上述存在的各種問題,為了進(jìn)一步改善與提高移動(dòng)智能終端在移動(dòng)電子支付通信服務(wù)方面的高效性、應(yīng)用性與安全性,本文在深入分析JavaCard和NFC技術(shù)的理論基礎(chǔ)上[4],從移動(dòng)智能電子支付核心技術(shù)機(jī)制出發(fā),提出了一種以JavaCard智能卡技術(shù)原理與NFC移動(dòng)智能技術(shù)的理論知識(shí)為前提的移動(dòng)智能支付應(yīng)用系統(tǒng)模型框架,提高了移動(dòng)智能電子支付過程的便攜性、應(yīng)用性;并且針對多標(biāo)簽情況下的碰撞問題設(shè)計(jì)了一種基于動(dòng)態(tài)二進(jìn)制防碰撞算法的應(yīng)用支付安全方案,確保了移動(dòng)智能電子支付過程中的安全性[5]。
1 JavaCard智能卡技術(shù)
JavaCard是Java平臺(tái)中最小的 subset開發(fā)平臺(tái),其設(shè)定的執(zhí)行環(huán)境為SmartCard上的晶片或是有嚴(yán)格硬體限制的環(huán)境[6]。JavaCard的問世,一方面是為了推展Java的應(yīng)用層次,另一方面是為了將Java平臺(tái)的特性以及JavaCard的優(yōu)勢帶到SmartCard上,這些優(yōu)勢主要有:
(1)Platform-Indep endent:使得JavaCard applets (在JavaCard上執(zhí)行的程式)能夠在不同卡片的JCAE(JavaCard Application Environment)上執(zhí)行,即通過JavaVM機(jī)制來達(dá)到跨平臺(tái)的能力;
?。?)Multi-Application Capable:在同一個(gè)Java- Card中能夠存放多個(gè)JavaCard applets,并且也能夠通過下載方式來獲取必要的applets 而達(dá)到一卡多用的目的,使得卡的使用能夠更有彈性;
?。?)Compatible with Existing Smart Card Standar- ds:JavaCard智能卡能與國際標(biāo)準(zhǔn)ISO7816(SmartCard標(biāo)準(zhǔn))以及工業(yè)界標(biāo)準(zhǔn)如 Europay/Master Card/Visa (EMV)相容。所以,在未來JavaCard不但能夠取代SmartCard的功能,更能夠發(fā)展出多樣化的應(yīng)用,其中移動(dòng)智能電子支付就是其中之一,甚至能將許多不同的應(yīng)用程序集合于一張卡上,使得這些隨身的軟件能夠更小更實(shí)用。
2 基于JavaCard的NFC移動(dòng)智能應(yīng)用系統(tǒng)
2.1 NFC移動(dòng)智能生態(tài)模型的構(gòu)建
NFC移動(dòng)智能生態(tài)系統(tǒng)是基于RFID技術(shù)發(fā)展的一種非接觸式的移動(dòng)智能電子應(yīng)用系統(tǒng)原型,其主要包括移動(dòng)智能終端用戶群體、移動(dòng)運(yùn)營機(jī)構(gòu)、銀行金融機(jī)構(gòu)、相關(guān)服務(wù)提供廠商、NFC移動(dòng)智能終端制造廠商等,如圖1所示。
2.2 移動(dòng)智能應(yīng)用系統(tǒng)模型
?。?)模型框架描述
基于JavaCard的NFC移動(dòng)智能應(yīng)用系統(tǒng)模型主要包含兩大部分:電子支付應(yīng)用與非電子支付應(yīng)用。如圖2所示。
從模型設(shè)計(jì)中可知,非電子支付應(yīng)用環(huán)節(jié)一般由娛樂、防偽、私人門禁等方面組成,移動(dòng)智能終端用戶需通過計(jì)算機(jī)網(wǎng)絡(luò)與備份數(shù)據(jù)信息庫對電子產(chǎn)品做進(jìn)一步防偽認(rèn)證。其電子支付應(yīng)用環(huán)節(jié)一般由移動(dòng)智能終端用戶、制造廠商/產(chǎn)品提供廠商、移動(dòng)網(wǎng)絡(luò)運(yùn)營機(jī)構(gòu)和金融機(jī)構(gòu)等組成。
(2)移動(dòng)智能終端支付銀行選擇模塊
現(xiàn)有的移動(dòng)智能電子支付應(yīng)用系統(tǒng)中在銀行卡的選取方面較為固定,不能動(dòng)態(tài)地對其綁定的銀行電子支付手段與方式進(jìn)行選擇,因此,本文在基于JavaCard的NFC移動(dòng)智能應(yīng)用系統(tǒng)模型的設(shè)計(jì)中特別添加了移動(dòng)智能終端支付銀行選擇模塊,實(shí)現(xiàn)電子支付過程中的動(dòng)態(tài)與便捷。如圖3所示。
具體選擇流程如下:⑴選取多戶銀行并進(jìn)行開戶業(yè)務(wù),包括移動(dòng)電子支付業(yè)務(wù);⑵通過移動(dòng)智能終端獲取其應(yīng)用系統(tǒng)APP;⑶第一次使用時(shí)進(jìn)行設(shè)置,包括默認(rèn)設(shè)置,如設(shè)置默認(rèn)銀行卡號、綁定默認(rèn)聯(lián)系方式等,或者依據(jù)添加時(shí)間的先后對銀行卡的選取進(jìn)行管理,默認(rèn)銀行卡是第一支付選擇的卡號,余下銀行卡添加到備選銀行卡清單之中;⑷若默認(rèn)或當(dāng)前選取的銀行卡無法進(jìn)行支付操作,將自動(dòng)提示選取下一個(gè)鄰近時(shí)間點(diǎn)的銀行卡作為支付銀行卡,依次類推,直到支付成功為止。
3 改進(jìn)的動(dòng)態(tài)二進(jìn)制防碰撞算法設(shè)計(jì)
為了滿足移動(dòng)智能電子支付應(yīng)用系統(tǒng)的安全需求,本文對傳統(tǒng)二進(jìn)制搜索算法進(jìn)行改進(jìn)。接下來將對改進(jìn)的動(dòng)態(tài)二進(jìn)制防碰撞算法進(jìn)行詳細(xì)分析。
?。?)基本指令描述
為了描述這個(gè)算法,假設(shè)標(biāo)簽標(biāo)識(shí)號NFCID的位數(shù)為n,即從高位到低位分別為Dn-1Dn-2...D1D0,出現(xiàn)多標(biāo)簽沖突的位數(shù)為m(0≤m<n),還引入一組命令:
①SEL_REQ(x, Dm):讀卡器傳輸一個(gè)數(shù)值x(x屬于1或者0)給相關(guān)范圍內(nèi)的標(biāo)簽申請回復(fù),若標(biāo)簽號出現(xiàn)沖突的最后一位到第一位這m個(gè)數(shù)值中有一個(gè)或多個(gè)數(shù)值位與滿足要求的標(biāo)簽回復(fù)相一致(以便于降低初始化標(biāo)簽區(qū)域面積大小,做出相應(yīng)優(yōu)化)。說明:第1次詢問時(shí),x=n,使用NULL表示標(biāo)簽號無數(shù)值,即空值,所以申請回復(fù)指令是:SEL_REQ(NULL, Dn-1)。
?、赟EL RES(m):獲取到余下沖突位置的數(shù)據(jù)(第m-1至第1位),記錄未出現(xiàn)沖突位置的數(shù)據(jù)。
③SR_DATA:選取滿足條件的標(biāo)簽,且獲取其數(shù)值信息:對符合條件的標(biāo)簽,將其存儲(chǔ)的相關(guān)數(shù)值信息傳輸給讀卡器等相關(guān)設(shè)備。
?、躑nsel:將多個(gè)預(yù)定選取中的一個(gè)標(biāo)簽進(jìn)行取消操作,此標(biāo)簽轉(zhuǎn)換到“無聲”狀態(tài)。此時(shí)這個(gè)標(biāo)簽處于未被激活狀態(tài),對其步驟③中的申請指令SEL_REQ不作出任何答復(fù)。當(dāng)遠(yuǎn)離讀卡器感應(yīng)操作區(qū)域之外時(shí),才能進(jìn)行標(biāo)簽復(fù)位操作,這樣使得標(biāo)簽?zāi)軌蛑匦卤患せ睢?/p>
(2)改進(jìn)算法原理
若NFCID為8 bit,則讀卡器作用區(qū)域內(nèi)有多個(gè)標(biāo)簽,這里以5個(gè)為實(shí)例,標(biāo)簽分別為:11100101、10100110、11010100、1000011、10101110。讀卡器將利用該算法來識(shí)別它們。初始化階段,讀卡器對區(qū)域內(nèi)標(biāo)簽處于未知狀態(tài),所以發(fā)送SEL_REQ(NULL, 8)命令,要求作用范圍內(nèi)任何一個(gè)標(biāo)簽做出應(yīng)答信息。詳細(xì)執(zhí)行過程如圖4所示。
4 結(jié)束語
本文以JavaCard智能卡技術(shù)原理與NFC移動(dòng)智能技術(shù)的理論知識(shí)為前提,首先提出了一種基于JavaCard和NFC技術(shù)的移動(dòng)智能支付應(yīng)用系統(tǒng)的模型框架,并在該模型中設(shè)計(jì)了移動(dòng)智能終端支付銀行選擇模塊;其次針對多標(biāo)簽情況下的應(yīng)用支付碰撞問題設(shè)計(jì)了一種改進(jìn)的動(dòng)態(tài)二進(jìn)制防碰撞算法。研究分析表明,應(yīng)用支付模型框架與防碰撞安全算法在移動(dòng)電子支付通信服務(wù)方面均達(dá)到了次優(yōu)化的應(yīng)用與安全效果。
參考文獻(xiàn)
[1] Naoya S, Masakazu U, Yasuhiro T. Design technigues to reduce power consumption for ARM946E-S core[J]. Oki Tekunikaru Rebyu, 2005, 72(3): 52-55.
[2] 張德學(xué), 郭立, 傅忠謙. 面積優(yōu)化與低功耗設(shè)計(jì)的JavaCard處理器[J]. 中國科學(xué)技術(shù)大學(xué)學(xué)報(bào), 2008, (38)3: 289-292.
[3] 李翅. 基于JavaCard和NFC技術(shù)的手機(jī)錢包關(guān)鍵技術(shù)研究[D]. 長沙:湖南師范大學(xué),2009.
[4] 林龍, 張果, 王劍平,等.基于NFC技術(shù)的標(biāo)簽?zāi)J皆O(shè)計(jì)[J]. 微處理機(jī), 2013, 3(3): 31-36.
[5] ETSI. TS 102 622 v7.6.0, 2010.04, Smart Cards, UICC- Contactless Front-end (CLF) Interface; Host Controller Interface (HCI) (Release 7) [S]. Prepared by the European Telecommunications Standards Institute, 2010.
[6] 宋海燕. 基于Android的NFC文件傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 北京: 北京郵電大學(xué), 2012.