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