葉飛
DOI:10.16644/j.cnki.cn33-1094/tp.2016.09.004
摘 要: 針對現(xiàn)行的移動支付在公共交通領(lǐng)域近場支付的方案和產(chǎn)品的不足,提出了一種全新的基于小額擴(kuò)展應(yīng)用額度的思路和解決方案,詳細(xì)地說明了業(yè)務(wù)流程和技術(shù)實現(xiàn)的要點。該方案具有通用性強,技術(shù)成熟,用戶體驗佳等特點,具有很高的市場推廣價值。
關(guān)鍵詞: 移動支付; 近場支付; 小額支付; NFC
中圖分類號:TP399 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2016)09-13-05
A new solution of mobile proximity payment applied to public transportation
Ye Fei
(China Unionpay Co., Ltd, Shanghai 200135, China)
Abstract: In order to solve the drawbacks of current mobile proximity payment solutions applied in public transportation, this article proposes a new idea based on contactless low-value payment application including the detailed business scenarios and technical solution. The new solution is technically simple and more practicable with good user experience and will be more acceptable by all business parties involved.
Key words: mobile payment; proximity payment; low-value payment; NFC
0 引言
移動支付[1]一直是金融和互聯(lián)網(wǎng)行業(yè)發(fā)展的一個熱點和重點。移動支付已經(jīng)逐漸滲入百姓的日常生活,出門只帶一部手機是金融支付行業(yè)的一個愿景,也正逐漸成為現(xiàn)實。將移動支付方式應(yīng)用于公共交通領(lǐng)域一直是一個研究的熱點,市場上也有一些此類的產(chǎn)品和方案,但這些產(chǎn)品和方案尚沒有得到市場的認(rèn)可,普遍處于試驗階段[2]。本文試圖提出一種新的思路和應(yīng)用方案,以解決當(dāng)前應(yīng)用中的一些短板和問題。
1 電子現(xiàn)金方案及其局限性
當(dāng)前將移動支付應(yīng)用于公共交通近場支付主要是通過基于PBOC標(biāo)準(zhǔn)的電子現(xiàn)金應(yīng)用實現(xiàn)。將PBOC應(yīng)用下載、安裝到移動終端的安全域中并進(jìn)行個人化,移動終端就變成一張交通卡,用戶使用具有NFC[3]通信功能的手機在地鐵閘機或者公交讀卡器上通過非接觸的方式“刷”手機,就可以進(jìn)出閘機和完成付款。中國銀聯(lián)聯(lián)合中國移動和商業(yè)銀行在上海、寧波、合肥、湖南等地推出了此類產(chǎn)品。
由于此類產(chǎn)品是基于電子現(xiàn)金應(yīng)用,所以電子現(xiàn)金的缺點也成為此類產(chǎn)品的局限,主要有兩點。
一是閃卡。所謂閃卡是指,用戶在受理終端上通過非接觸式進(jìn)行脫機消費時,電子現(xiàn)金已經(jīng)完成扣款,而受理終端還沒有完成交易,無法打單,造成用戶短款。對于閃卡,目前的處理流程是要求持卡人前往發(fā)卡銀行的網(wǎng)點,將發(fā)生閃卡問題的銀行卡交給銀行,銀行將該卡留存到發(fā)生閃卡問題之后的20天,核對這20天當(dāng)中上送的脫機交易后確認(rèn)是否發(fā)生閃卡,如銀行確認(rèn),銀行進(jìn)行調(diào)賬并通知用戶,用戶再次前往銀行網(wǎng)點取回銀行卡。這里所說的20天是業(yè)務(wù)規(guī)則所定,原則上要求受理電子現(xiàn)金的商戶必須在20天以內(nèi)將所有電子現(xiàn)金的交易上送。這個解決流程是比較復(fù)雜的,用戶需前往發(fā)卡機構(gòu)營業(yè)廳兩次,并將銀行卡留給銀行處理。在移動支付中,這個業(yè)務(wù)流程實際上是不具備可操作性的。由于銀行卡數(shù)據(jù)存儲在手機的安全域中,用戶必須將手機留給銀行處理,而絕大多數(shù)用戶不愿將手機留給銀行,以致閃卡問題難以解決。
二是余額處理難。電子現(xiàn)金不同于銀行借貸記賬戶的脫機賬戶,電子現(xiàn)金余額是寫在銀行卡片中的。電子現(xiàn)金的余額只有通過圈提才能返回銀行主賬戶,但根據(jù)銀行的業(yè)務(wù)規(guī)則規(guī)定,圈提只能在電子現(xiàn)金銷戶時進(jìn)行,而且很多銀行規(guī)定必須到柜面操作。這實際上增加了處理門檻,給用戶帶來不便。
2 基于小額擴(kuò)展應(yīng)用額度的方案
基于小額擴(kuò)展應(yīng)用額度的方案是根據(jù)小額擴(kuò)展應(yīng)用技術(shù)規(guī)范,復(fù)用電子現(xiàn)金余額(標(biāo)記為9F79)作為交易額度(如果支持押金抵扣和分段計費,需要同時支持DF62和DF63,即分段扣費抵扣限額和分段扣費已抵扣金額),但是取消電子現(xiàn)金脫機賬戶,取消用戶電子現(xiàn)金賬戶圈存過程。采用額度進(jìn)行風(fēng)險控制,每日清算直接從用戶聯(lián)機主賬戶扣款。
2.1 業(yè)務(wù)流程
以乘坐地鐵為業(yè)務(wù)場景,其流程如圖1、圖2和圖3所示。
2.1.1 開通業(yè)務(wù)
⑴ 用戶在手機上向發(fā)卡行發(fā)起業(yè)務(wù)申請,要求開通乘坐地鐵等業(yè)務(wù);
⑵ 發(fā)卡行審核后批準(zhǔn)用戶申請并下發(fā)開通指令;
⑶ 用戶手機接收到業(yè)務(wù)開通指令后,對手機安全域中的銀行卡個人數(shù)據(jù)(TAG9F79,即電子現(xiàn)金余額)進(jìn)行更新,設(shè)置此業(yè)務(wù)可用的額度金額,比如50元。
2.1.2 支付和清算
⑴ 用戶在地鐵入站閘機口刷手機;
⑵ 閘機驗證額度之后,允許用戶進(jìn)站;
⑶ 用戶在地鐵出站閘機口刷手機;
⑷ 閘機完成對手機上可用額度的扣減,允許用戶出站;
⑸ 地鐵系統(tǒng)在在T日上將脫機交易文件上送銀聯(lián)轉(zhuǎn)接清算網(wǎng)絡(luò);
⑹ 銀聯(lián)在T+1工作日進(jìn)行軋差清算,將消費金額結(jié)算給地鐵運營方;
⑺ 銀聯(lián)轉(zhuǎn)接清算網(wǎng)絡(luò)的發(fā)卡行發(fā)送清算文件,清算文件包含每筆交易信息;
⑻ 銀行根據(jù)銀聯(lián)發(fā)送的清算文件,對該用戶的銀行賬戶進(jìn)行扣款。
2.1.3 額度恢復(fù)
⑴ 發(fā)卡行根據(jù)銀聯(lián)轉(zhuǎn)接網(wǎng)絡(luò)發(fā)送的交易,對用戶的可用額度進(jìn)行監(jiān)控,當(dāng)可用額度低于某一個閾值時,比如5元,向用戶手機發(fā)送指令,進(jìn)行額度恢復(fù);
⑵ 用戶手機根據(jù)指令對手機安全域中的銀行卡數(shù)據(jù)進(jìn)行更新,恢復(fù)可用額度;
⑶ 用戶手機恢復(fù)可用額度后回復(fù)發(fā)卡行。
2.2.1 Applet支持小額支付擴(kuò)展應(yīng)用交易
Applet應(yīng)該支持小額擴(kuò)展應(yīng)用交易并符合如下要求:
⑴ 應(yīng)允許閘機在選擇應(yīng)用后直接使用00B2指令讀取SFI為0x1E的循環(huán)記錄文件,以便發(fā)生爭議讀取客戶進(jìn)出站交易記錄;
⑵ 應(yīng)支持?jǐn)U展應(yīng)用Get Trans Prove指令,以便閘機在“閃卡”時重取交易憑證;
⑶ 應(yīng)允許直接將電子現(xiàn)金余額(9F79)和分段扣費抵扣限額(DF62)個人化成非0值。
由于本方案中的額度只用于乘坐地鐵等特定業(yè)務(wù),不能用于其他行業(yè),所以需要防止開通了小額支付擴(kuò)展應(yīng)用和復(fù)用了標(biāo)簽9F79后,電子現(xiàn)金在一般商戶終端可以使用的風(fēng)險,Applet通過如下方式進(jìn)行控制防止電子現(xiàn)金交易在普通POS終端上被使用。
卡片收到GPO指令后,應(yīng)按以下邏輯進(jìn)行判斷:
如果卡片返回的PDOL中不包含終端支持的擴(kuò)展應(yīng)用交易類型(DF60),那么表示卡片不支持?jǐn)U展應(yīng)用。此時,無論電子現(xiàn)金余額(9F79)是否為0,均不執(zhí)行脫機消費流程,卡片默認(rèn)按返回聯(lián)機ARQC流程處理。如果卡片返回的PDOL中包含DF60,那么首先判斷終端在GPO指令中送給卡片的DF60取值,如果取值為0,表示終端不支持?jǐn)U展應(yīng)用。此時,無論電子現(xiàn)金余額(9F79)是否為0,均不執(zhí)行脫機消費流程,卡片默認(rèn)按返回聯(lián)機ARQC流程處理。如果取值為1,表示終端支持?jǐn)U展應(yīng)用。此時,新增卡片判別GPO之前是否有收到READ CAPP DATA指令。如果沒有收到,那么卡片GPO之后拒絕交易,以避免終端錯誤設(shè)置DF60的情況發(fā)生。如果已收到,那么卡片執(zhí)行小額支付擴(kuò)展應(yīng)用脫機消費流程。如圖4所示。
行業(yè)終端與卡片交互處理流程如圖5所示。
2.2.2 發(fā)卡行主動推送腳本修改卡片數(shù)據(jù)[4]
按現(xiàn)有規(guī)范流程,如果要修改卡片數(shù)據(jù),就需要前臺先執(zhí)行選擇應(yīng)用、GPO、Read Record、Gen AC并將交易數(shù)據(jù)聯(lián)機上送后臺之后,后臺才能下發(fā)發(fā)卡行腳本來修改卡片數(shù)據(jù)。本方案中額度恢復(fù)由銀行后臺進(jìn)行判斷是否低于額度閾值,當(dāng)?shù)陀陂撝禃r,銀行將主動推送腳本更新卡片中的交易額度。
該后臺推送腳本機制,無須前臺預(yù)先執(zhí)行相應(yīng)操作,即可通過后臺直接向卡片推送發(fā)卡行腳本來修改卡片數(shù)據(jù)。
該腳本推送機制:①卡片應(yīng)能夠認(rèn)證發(fā)卡行,以防止非授權(quán)第三方修改卡片數(shù)據(jù);②應(yīng)防止使用同一個發(fā)卡行腳本對卡片進(jìn)行重放攻擊。
2.2.2.1 Push Put Data
卡片中的專有基本數(shù)據(jù)對象允許使用設(shè)置數(shù)據(jù)(PUT DATA)命令修改,遠(yuǎn)程額度更新復(fù)用PUT DATA指令。目前只有9F79、9F6B等基本數(shù)據(jù)對象才允許使用此命令修改。
⑴ 定義及范圍
[編碼\&值\&CLA\&“04”\&INS\&“DA”\&P1 P2\&“00”(使用00,標(biāo)準(zhǔn)PUT DATA指令P1P2取值不會出現(xiàn)00。)\&Lc\&數(shù)據(jù)域字節(jié)數(shù)\&數(shù)據(jù)域\&Push ATC(2個字節(jié))、修改的數(shù)據(jù)對象的新值(TLV結(jié)構(gòu))和MAC數(shù)據(jù)\&Le\&不存在\&]
命令數(shù)據(jù)域中包括的是要修改的數(shù)據(jù)對象的TLV結(jié)構(gòu)數(shù)值,后面加一個4到8字節(jié)的MAC。MAC算法所使用的過程密鑰由卡片MAC子密鑰經(jīng)Push ATC分散得到,計算MAC的數(shù)據(jù)源由CLA、INS、P1、P2、Lc、Push ATC、數(shù)據(jù)對象的新值依次拼接得到。
⑵ 功能及實現(xiàn)
卡片新增數(shù)據(jù)對象Last Push ATC(卡片內(nèi)部數(shù)據(jù)),長度為兩字節(jié),初始值為0。
Push ATC由發(fā)卡行后臺維護(hù),發(fā)卡行應(yīng)保證每次Push Data指令所使用的Push ATC大于之前Push Data指令中所使用的值。
執(zhí)行該指令時,卡片按以下邏輯進(jìn)行判斷:①檢查指令中Push ATC是否大于卡片內(nèi)部數(shù)據(jù)Last Push ATC,如果Push ATC值小于或等于Last Push ATC,表示可能是重放攻擊,卡片返回失敗(錯誤碼6982)。②校驗MAC,如果失敗則返回錯誤(MAC算法所使用的過程密鑰由卡片MAC子密鑰經(jīng)Push ATC分散得到,計算MAC的數(shù)據(jù)源由CLA、INS、P1、P2、Lc、Push ATC、數(shù)據(jù)對象的新值依次拼接得到)。
將P1、P2指定數(shù)據(jù)對象設(shè)置成新值,同時將Last Push ATC修改成指令中的Push ATC,返回成功9000。
⑶ 響應(yīng)報文返回的處理狀態(tài)
“9000”編碼表示命令成功執(zhí)行。
[SW1\&SW2\&含義\&62\&00\&沒有信息返回\&62\&81\&數(shù)據(jù)可能被破壞\&64\&00\&沒有準(zhǔn)確診斷\&65\&81\&內(nèi)存失?。?amp;67\&00\&長度錯誤\&68\&82\&不支持安全報文\&69\&82\&安全狀態(tài)不滿足\&69\&86\&命令不允許\&69\&87\&安全報文數(shù)據(jù)對象丟失\&69\&88\&安全報文數(shù)據(jù)對象不正確\&6A\&80\&錯誤的參數(shù)\&6A\&81\&功能不支持\&6A\&84\&文件中沒有足夠空間\&6A\&85\&Lc 和 TLV TLV結(jié)構(gòu)不一致\&]
2.2.2.2 Push Put Data前建立安全通道
Push Put Data指令前需要建立安全通道,基于現(xiàn)有Put PendingCommand接口提出如下解決方案:
⑴ 發(fā)卡銀行發(fā)送額度恢復(fù)請求;
⑵ 發(fā)卡銀行向前端用戶客戶端推送SELECT指令,客戶端向發(fā)卡銀行返回應(yīng)答;
⑶ 客戶端向移動終端中的安全芯片發(fā)送SELECT指令,安全芯片執(zhí)行SELECT命令后向客戶端返回處理結(jié)果,客戶端將返回結(jié)果發(fā)送給銀行,銀行解析得到sc,組SELECT+INIT_UPDATE+EXT_AUTH+PUTDATA指令,推送給客戶端;
⑷ 客戶端根據(jù)發(fā)卡銀行指令要求不斷地向安全芯片發(fā)送指令,安全芯片執(zhí)行指令后向銀行返回額度恢復(fù)操作結(jié)果通知。
3 優(yōu)缺點分析
基于小額擴(kuò)展應(yīng)用額度的方案突破了傳統(tǒng)電子現(xiàn)金的局限,優(yōu)點十分明顯,一是規(guī)避了電子現(xiàn)金圈存的問題,用戶無須事先圈存就可以使用;二是由于采用可用額度,如果出現(xiàn)閃卡,只是扣減了額度,不影響用戶賬戶的資金,用戶不必進(jìn)行任何處理;三是由于使用前沒有圈存,所以也不涉及用戶電子現(xiàn)金資金余額,用戶無需處理余額;四是依然采用脫機交易,交易速度快,用戶體驗好。
本方案也有缺點,其也在于額度,發(fā)卡銀行在收到交易請求后再對個人銀行賬戶進(jìn)行扣款。如果賬戶已經(jīng)失效或者賬戶里沒有足夠的資金,則發(fā)卡銀行存在一定的資金風(fēng)險。針對這個風(fēng)險,建議在信用卡上開展此業(yè)務(wù),將該業(yè)務(wù)可用額度作為信用卡額度的一部分。
4 結(jié)束語
針對移動支付在公共交通近場支付的應(yīng)用場景,本文提出了一種全新的方案,該方案既保留了現(xiàn)有產(chǎn)品的優(yōu)點,同時有效地解決了現(xiàn)有產(chǎn)品的缺點,具有較高的應(yīng)用價值。此方案雖然以公共交通行業(yè)作為應(yīng)用的切入點,但實際上此方案具備普遍適用性,不僅適用于公共交通行業(yè),也可應(yīng)用于其他行業(yè)或領(lǐng)域。 此方案也利用了移動終端具有的計算和網(wǎng)絡(luò)傳輸?shù)哪芰Γ鴤鹘y(tǒng)的實體卡片由于不具備此能力,所以不能簡單應(yīng)用,必須結(jié)合其他終端(比如自助終端、讀卡器等)進(jìn)行使用,由于實體卡片有更多的使用人群,因此,將此方案延展到實體卡片將成為后續(xù)進(jìn)一步研究的方向[5]。
參考文獻(xiàn)(References):
[1] 王永紅.銀行卡與移動支付發(fā)展路徑[J].中國金融,2016.1:
76-78
[2] 陳元志,陳勁.移動支付產(chǎn)業(yè)的商業(yè)模式研究[J].企業(yè)經(jīng)濟(jì),
2012.8:99-104
[3] 孫堅.基于NFC技術(shù)的移動支付應(yīng)用探索[J].移動信息,
2016.4:64-64
[4] JR/T 0025.14.中國金融集成電路(IC)卡規(guī)范[S]. [國際、國
家標(biāo)準(zhǔn)]
[5] 劉健.NFC技術(shù)應(yīng)用于城市一卡通的前景研究[J].企業(yè)科技
與發(fā)展,2014.6:24-25