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