李煜平
(上海儀電物聯(lián)技術股份有限公司, 200233, 上?!胃呒壒こ處?
二維碼又稱QR Code,是近年來流行的一種移動終端編碼方式。二維碼比傳統(tǒng)的條形碼能保存更多的信息,也能表示更多的數(shù)據(jù)類型,具有高信息含量、高可靠性、低成本的優(yōu)勢,并且可表示各種不同的信息(數(shù)字、文字、聲音及圖像等)[1]。隨著移動支付的蓬勃發(fā)展,二維碼支付技術在現(xiàn)代信息社會中發(fā)揮著越來越重要的作用。
目前,國內(nèi)城市軌道交通已投產(chǎn)使用的二維碼支付應用主要有二維碼購票(云購票機)和二維碼進出站(云閘機)2種模式。
二維碼購票主要過程為:通過手機APP(第三方應用程序)或關注公共服務號,在手機端完成購票支付后,憑生成的二維碼到車站的“云購票機”取票進閘乘車。其過程類似于通過手機APP完成火車票購票及支付,再通過自動取票機取票并乘車。采用該模式乘客本質(zhì)上還是憑單程票乘車,雖簡化了購票過程,但仍未省去排隊取票的煩惱。二維碼購票模式產(chǎn)生的交易數(shù)據(jù)及客流數(shù)據(jù)能實時匯集到城市軌道交通自動售檢票(AFC)系統(tǒng)中。
二維碼進出站(云閘機)的主要過程為:通過手機APP或關注公共服務號,在手機端支付成功后,憑系統(tǒng)生成的二維碼即可刷碼進出閘機。
云閘機模式需閘機讀寫器直接與外網(wǎng)相連,從而完成進出站二維碼與云端的聯(lián)機認證。其閘機讀寫器獨立于處理單程票和交通卡等原系統(tǒng)票種的讀寫器,故乘客需走特定的閘機通道或在閘機特殊區(qū)域掃碼才能進出站。為保障安全而采用的聯(lián)機認證方式,對乘客通行效率也會有一定影響。此外,由于進出站信息上傳至云端,故地鐵原AFC系統(tǒng)不能實時掌握客流信息;采用后付費模式的云閘機還需在云端完成乘客進出站的交易配對,以確定扣款金額;由于數(shù)據(jù)的原因,還會存在一定數(shù)量的配對不成功交易,從而影響地鐵公司票款收入。
本文探索一種新的應用方案,將二維碼支付安全有效地與城市軌道交通原AFC系統(tǒng)融合在一起。乘客可通過手機APP生成的二維碼直接進出站,其閘機讀寫器能同時兼容處理單程票、交通卡等所有原有票種,二維碼交易數(shù)據(jù)能實時上傳至地鐵AFC系統(tǒng)。不僅給乘客帶來更大方便,地鐵公司也能實時掌握客流信息,而且由于地鐵新線可全部采用支持二維碼的讀寫器,故二維碼乘客不需走專用通道。
二維碼支付應用系統(tǒng)總體架構圖如圖1所示。由圖1可見,新方案未改變AFC系統(tǒng)的5層架構模式,而是將二維碼交易融合在原體系之中。二維碼與單程票、交通卡同處于AFC系統(tǒng)的第1層。
圖1 二維碼支付應用總體架構圖
乘客通過下載安裝手機APP,注冊成功后可以選擇支付渠道為綁定支付寶或綁定銀聯(lián)卡(為避免后續(xù)扣帳混亂,二者只能選其一,若需要更換,必須解綁當前綁定)。支付寶根據(jù)芝麻信用(滿足一定的信用分才能綁定)控制透支風險,銀聯(lián)卡通過帳戶可用余額控制透支風險。這些功能在地鐵寶系統(tǒng)和手機APP端實現(xiàn),不是本文討論的重點。
成功綁定支付渠道后乘客即可隨時用手機APP生成乘坐地鐵二維碼。進出站時,閘機讀寫器掃描手機二維碼并檢驗合法性,同時與手機以藍牙通信的方式完成信息交互;手機獲取閘機的車站代碼等信息,并在進出站成功后向地鐵寶系統(tǒng)發(fā)送交易信息。
地鐵AFC系統(tǒng)按照5層架構模式,將交易信息逐級上送。最終由清分中心匯總全路網(wǎng)的交易數(shù)據(jù),并以準實時的方式將二維碼交易數(shù)據(jù)發(fā)送地鐵寶系統(tǒng)。地鐵寶系統(tǒng)可選擇以清分中心發(fā)送的數(shù)據(jù)為準,也可選擇以手機APP發(fā)送的數(shù)據(jù)為準,準實時(略有延時)從簽約帳戶的可用余額中扣減票款。
運營結束后,由地鐵清分中心完成與地鐵寶系統(tǒng)交易數(shù)據(jù)的對帳及資金清算。乘客帳戶的實際扣款以地鐵清分中心與地鐵寶系統(tǒng)對帳結果為準。
2.2.1 進站
乘客完成APP安裝及注冊后,即可在手機APP上生成進出站二維碼。手機APP根據(jù)上次交易標志,在二維碼中標記進站或出站。乘客將手機二維碼置于閘機二維碼掃描區(qū)域,待掃描成功后即可進站。由于掃描過程中閘機讀寫器需與手機完成信息交互,因此,乘客需將手機藍牙打開。進站過程主要處理步驟如下:
(1) 閘機讀卡器驅(qū)動二維碼掃描器,通過二維碼掃描器獲取二維碼信息。
(2) 閘機讀卡器驗證讀取的二維碼數(shù)據(jù)的合法性并檢驗進出站標志。驗證通過后,讀卡器驅(qū)動藍牙模塊與二維碼中指定的藍牙進行通信,并向手機發(fā)送進站車站及進站時間等數(shù)據(jù)。
(3) 手機收到閘機讀卡器發(fā)送的信息后,緩存相關數(shù)據(jù)信息,并向閘機讀卡器發(fā)送成功應答。
(4) 閘機讀卡器收到手機的成功應答后,向閘機發(fā)送進站放行指令。
(5) 閘機向車站計算機系統(tǒng)上送進站交易數(shù)據(jù),交易數(shù)據(jù)經(jīng)線路中央計算機系統(tǒng)匯總到地鐵清分中心。
(6) 手機APP向地鐵寶系統(tǒng)上送進站交易數(shù)據(jù)。
2.2.2 出站
乘客出站時,在手機APP上生成二維碼,手機APP根據(jù)上次交易標志,在二維碼中標記出站標記、進站車站。乘客將手機二維碼置于閘機二維碼掃描區(qū)域,掃描成功后即可出站,出站過程主要處理步驟如下:
(2) 閘機讀卡器驗證讀取的二維碼數(shù)據(jù)的合法性并檢驗進出站標志是否為出站,若驗證通過,則根據(jù)讀取的二維碼進站車站代碼,獲取票價信息。
(3) 讀卡器驅(qū)動藍牙模塊與二維碼中指定的藍牙進行通信,向手機發(fā)送出站車站、出站時間、交易金額等數(shù)據(jù)。
(4) 手機收到閘機讀卡器發(fā)送的信息后,緩存相關數(shù)據(jù)信息,并向閘機讀卡器發(fā)送成功應答。
(5) 閘機讀卡器收到手機的成功應答后,向閘機發(fā)送出站放行指令。
(6) 閘機向車站計算機系統(tǒng)上送出站交易數(shù)據(jù),交易數(shù)據(jù)經(jīng)線路中央計算機系統(tǒng)匯總到地鐵清分中心。
(7) 手機APP向地鐵寶系統(tǒng)上送出站交易數(shù)據(jù)。
2.2.3 交易更新
當生成的二維碼由于進出站標志混亂或超時而導致乘客不能正常進出站時,需在人工售票機(BOM)上進行交易更新。交易更新包含進站更新、出站更新及超時更新。
毛細管色譜柱:ZB-5MSI 5%苯基二甲聚硅氧烷毛細管柱(30 m×0.25 mm×0.25 μm);柱溫40 ℃(保留2 min),以5 ℃/min程序升溫至255 ℃,運行時間45 min,汽化室溫度250 ℃,載氣為高純He(99.999%),柱前壓7.62 psi,載氣流量1.0 mL/min,不分流進樣,溶劑延遲時間為1 min。
(1) 進站更新:如由于乘客非正常進站或其他原因,而使乘客不能憑生成的二維碼出站,則需人工在收費區(qū)BOM上補寫進站交易記錄。其處理過程同進站,且進站站點由操作人員指定。
(2) 出站更新:如由于乘客非正常出站或其他原因,而使乘客不能憑生成的二維碼進站,則需在非收費區(qū)BOM上補扣費用,并將帳戶狀態(tài)改寫為正常出站。該處理過程同出站,且扣款金額根據(jù)運營規(guī)定執(zhí)行。
(3) 超時更新:如由于乘客在收費區(qū)內(nèi)停留時間超過運營規(guī)定時間,則乘客出站時需補扣部分費用。超時更新處理過程同出站,但BOM讀寫器向手機發(fā)送的交易金額不同。
2.2.4 參數(shù)下發(fā)及交易查詢
城市軌道交通清分中心可將二維碼作為1種新票種,并將票種參數(shù)下發(fā)到各車站設備。所有改造后的閘機或BOM收到該參數(shù)后,即可受理二維碼交易。
乘客可通過手機APP聯(lián)機查詢自己的二維碼乘車交易明細。交易明細記錄由地鐵寶系統(tǒng)提供。
(1) 交易數(shù)據(jù)生成。地鐵閘機將二維碼交易數(shù)據(jù)按照AFC線網(wǎng)規(guī)范打包,并將打包后的數(shù)據(jù)以脫機文件或報文方式發(fā)送到車站計算機系統(tǒng)。人工售票機交易數(shù)據(jù)生成方式與閘機相同。
(2) 文件傳送。脫機交易數(shù)據(jù)傳送流程為:地鐵閘機、BOM→車站計算機系統(tǒng)→線路中央計算機系統(tǒng)→清分中心→地鐵寶。手機APP同時也可將交易數(shù)據(jù)直接上傳至地鐵寶系統(tǒng)。
(3) 交易對帳。每日運營結束后,地鐵清分中心與地鐵寶系統(tǒng)完成交易數(shù)據(jù)的對帳處理。對帳直接依據(jù)為地鐵清分中心發(fā)送到地鐵寶系統(tǒng)的交易數(shù)據(jù)明細。地鐵寶系統(tǒng)通過手機APP收到的交易數(shù)據(jù)明細作為參考及備查依據(jù)。由于地鐵清分中心以脫機方式匯集全路網(wǎng)的交易數(shù)據(jù)。部分數(shù)據(jù)可能未在運營結束當日匯集到清分中心,而體現(xiàn)在后續(xù)的對帳明細中。
(4) 客流統(tǒng)計。乘客憑二維碼進出站或更新時,閘機或BOM寄存器作相應數(shù)據(jù)累加,同時將寄存器數(shù)據(jù)以脫機方式逐級匯總到清分中心。清分中心根據(jù)接收到的數(shù)據(jù)完成全路網(wǎng)的實時客流統(tǒng)計和斷面客流分析。
每日運營結束后,地鐵清分中心完成與地鐵寶的資金清算,地鐵寶完成與用戶帳戶的資金清算。
地鐵清分中心與地鐵寶系統(tǒng)對帳完成后,生成的交易匯總金額為地鐵公司向地鐵寶資金清算的依據(jù)。同時,交易明細為地鐵寶向支付寶帳戶或銀聯(lián)帳戶扣款的依據(jù)。
二維碼在地鐵的支付應用安全策略采用對稱密鑰體系。用戶通過手機APP生成進出站二維碼時,以聯(lián)機方式獲取本次進出站唯一認證碼。當用戶進出站掃描二維碼時,讀卡器讀取二維碼信息,并通過閘機PSAM(消費安全存取模塊)驗證認證碼合法性。安全認證過程以脫機方式完成,類似于其他票種,使整個二維碼交易過程能快速完成,確保了閘機通道的通行效率。
地鐵二維碼應用的MAC/TAC(報文鑒別代碼/交易認證碼)計算方法遵循JR/T 0025.2—2010《中國金融集成電路(IC)卡規(guī)范》的規(guī)定。過程密鑰的生產(chǎn)方法見圖2。
第一步:將1個8個字節(jié)長的初始值(Initial Vector)設定為16進制的“0x 00 00 00 00 00 00 00 00”。
第二步:將所有的輸入數(shù)據(jù)按指定順序串聯(lián)成1個數(shù)據(jù)塊。
第三步:將串聯(lián)成的數(shù)據(jù)塊分割為8字節(jié)長的數(shù)據(jù)塊組,標識為D1、D2、D3與D4等。分割到最后,余下的字節(jié)組成1個長度小于等于8字節(jié)的最后一塊數(shù)據(jù)塊。
第四步:如果最后1個數(shù)據(jù)塊長度為8字節(jié),則在此數(shù)據(jù)塊后附加1個8字節(jié)長的數(shù)據(jù)塊,附加的數(shù)據(jù)塊為16進制的“0x 80 00 00 00 00 00 00 00”。如果最后1個數(shù)據(jù)塊長度小于8字節(jié),則該數(shù)據(jù)塊的最后填補1個值為16進制“0x80”的字節(jié)。如果填補之后的數(shù)據(jù)塊長度等于8字節(jié),則跳至第五步。如果填補之后的數(shù)據(jù)塊長度仍小于8字節(jié),則在數(shù)據(jù)塊后填補16進制“0x0”的字節(jié)至數(shù)據(jù)塊長度為8字節(jié)。
第五步:MAC的產(chǎn)生是通過上述方法產(chǎn)生的數(shù)據(jù)塊組,由過程密鑰進行加密運算,過程密鑰的產(chǎn)生方法見下圖。TAC的產(chǎn)生是通過上述方法產(chǎn)生的數(shù)據(jù)塊組,由DTK(開發(fā)工具包)密鑰左右8位字節(jié)進行異或運算的結果進行加密運算。
第六步:最終值的左4字節(jié)為MAC或TAC[2]
注:DEC為數(shù)據(jù)加密標準;DPK為雙倍長過程密鑰
為了統(tǒng)一地鐵售檢票系統(tǒng)五層架構中各種設備及應用軟件之間的功能及接口,各城市軌道交通公司都制定了相關的技術標準。二維碼支付作為一種新的支付方式,若要實現(xiàn)地鐵全路網(wǎng)覆蓋使用,則必需修訂原技術標準,增加二維碼應用部分的相關定義及報文接口,使既有線路按照新標準作相應改造,新建線路按照新標準建設,從而實現(xiàn)二維碼支付的全路網(wǎng)覆蓋。
上海軌道交通建設起步較早,目前已形成一定線網(wǎng)規(guī)模。為實現(xiàn)二維碼支付在上海軌道交通中的應用,主要工作內(nèi)容如下:
(1) 修訂《城市軌道交通自動售檢票系統(tǒng)通用技術規(guī)范》,增加二維碼支付相關規(guī)范。
(2) 研發(fā)能同時受理二維碼、單程票、交通卡及其他票種的閘機及BOM讀寫器,完成地鐵寶系統(tǒng)的建設及手機APP的開發(fā)。
(3) 完成既有線路地鐵閘機、票房售票機的讀卡器改造及其他相關系統(tǒng)的改造。
目前上海已開通運營的車站有366個。這些車站的閘機讀寫器原來都沒有掃描二維碼的功能,如果更換所有閘機的全部讀寫器,則工作量很大且耗資巨大。為降低改造成本、減少工程施工難度,現(xiàn)僅改造每個既有車站的部分進站及出站閘機,確保乘客在每個車站都可以憑二維碼進站或出站。同時,由于AFC標準已修訂,增加了二維碼支付的相關規(guī)范,故新線建設應按照新標準執(zhí)行,所有閘機都應具備受理二維碼交易的功能,其乘客可在新線的所有閘機通道刷二維碼進站或出站。
(1) 通過相關系統(tǒng)的建設及舊系統(tǒng)改造,二維碼支付可以安全、有效地融合應用于城市軌道交通AFC系統(tǒng)中,給乘客出行帶來更大的便利。
(2) 通過研發(fā)新的讀寫器產(chǎn)品,使閘機、BOM能兼容受理單程票、交通卡、二維碼等所有票種業(yè)務。
(3) 通過標準的修訂及執(zhí)行,可實現(xiàn)二維碼支付的全線網(wǎng)應用。
[1] 舒賢華. 基于Android平臺的手機Web地圖服務設計[D]. 大連:大連海事大學, 2009.
[2] 中國人民銀行. 中國金融集成電路(IC)卡規(guī)范第2 部分:電子錢包/電子存折應用規(guī)范:JR/T0025.2—2013[S].北京:中國金融出版社,2013.