1、公共交通移動支付現狀
移動支付是我國先進的電子支付方式,我國移動支付行業發展迅速,在移動支付發展的幾年時間里,多種移動支付技術也不斷地被研究創新出來,例如NFC支付、二維碼支付、基于生物識別技術的移動支付等。
以前,在城市公共交通中,城市居民在進行交通支付時主要使用零錢現金支付、車票、交通儲值卡刷卡的方式,在出行時需要隨時攜帶錢包和交通卡儲值卡等。
隨著第三方移動快捷支付近年來發展迅猛,人們對城市公共交通領域的移動支付產生了迫切的希望。目前,全國各地的交通支付企業,也在積極探索采用移動支付技術來完成城市公共交通領域的付費。
2、公共交通移動支付的需求分析
在城市公共交通領域應用移動支付,首先就要認識到以下問題:
。1)城市中交通支付需求人數十分龐大,且使用時間比較集中,上下班及節假日時間是使用峰值時間,消費頻率可達到每秒萬次。
。2)使用者對調用時的速度尤為看重,若跳轉步驟麻煩、接入支付渠道較單一、掃碼認證速度和成功率受網絡影響等問題,會使用戶滿意度大打折扣,導致用戶群流失。
。3)因此城市公共交通領域付費的高頻性、集中性、快捷性、穩定性,成為移動支付在城市公共交通領域應用中亟待解決的問題。但在目前各地試水的公交二維碼支付應用中,例如深圳公交二維碼,采用的是掃碼聯機交易模式,未充分考慮公交運營中的網絡受限風險及其造成的影響,存在運行隱患。
3、羊城通二維碼離線支付特點
3.1 功能簡述
為滿足交通行業對于支付的移動性和快速性的要求以及網絡不穩定的環境,二維碼采用全脫機支付模式,即APP生成二維碼和終端驗證二維碼的過程不需要網絡的支持,通過預置在APP及終端的密鑰實現對信息的保護和驗證安全。
全脫機模式決定終端必須采取脫機記賬模式,因此二維碼脫機支付是基于用戶信用體系基礎之上的。在該模式下,二維碼驗證通過后,如果符合支付規則,終端記錄交易信息并立即許可支付。終端采取延期上傳的方式將交易數據上傳到服務器。
圖1 羊城通二維碼在城市公共交通中的應用
3.2脫機安全性機制
在脫機模式下,二維碼讀取與IC卡讀寫不同,屬于單項信息傳遞,即二維碼單向向終端傳遞,當需要反向傳遞到APP時,則需要連機。單項的傳輸特點使二維碼脫機支付存在較大風險,存在的風險主要為:
圖2 羊城通二維碼項目安全交易詳細流程
。1)二維碼可能被偽造。
。2)二維碼可能被竊取和重用。
。3)終端實時控制透支額度的難度較大。
為使二維碼脫機支付的安全性和便利性平衡并具備可行性,方案采用以下技術實現:
。1)脫機與聯機結合
用戶交易時采取脫機模式,但需要定期進行聯機更新信用證書。聯機的的最小周期為1天,最大周期為5天,賬戶終端將檢查信用證書的時間有效性。設置聯機周期可降低全脫機模式下用戶二維碼被盜用以及用戶惡意透支的風險。
。2)靜態認證與動態認證結合
用戶的信用證書采用靜態認證的模式,信用證書在當日內有效,靜態認證數據為聯機產生。為了進一步降低盜用風險,在靜態認證的基礎上增加動態認證,與靜態認證數據不同,動態認證數據由APP定期產生的時間戳,刷新的周期為1分鐘,考慮到用戶手機時鐘的偏差率,終端驗證的時間有效性在終端規則要求的動態認證周期參數要求內。
。3)非對稱密鑰體系與對稱密鑰體系結合
非對稱密鑰體系相對于對稱密鑰體系可降低密鑰的傳輸與存儲成本,但非對稱密鑰的數據傳輸量較大,而二維碼的數據量太大會導致識別率和速度的降低。方案在用戶靜態認證采用基于非對稱密鑰體系的數字證書,非對稱密鑰可降低終端密鑰泄漏導致的風險。動態認證則采用對稱密鑰。終端在動態密鑰更新周期內更新驗證主密鑰,用戶在動態密鑰更新周期內更新分散的驗證主密鑰。
4、羊城通二維碼離線支付實現方案
4.1 交易流程
羊城通二維碼項目安全交易詳細流程如圖2所示。
。1)賬戶發行方
賬戶發行方即用戶賬戶的注冊服務商,也是終端支付的資金結算方。其有獨立的密鑰系統用于簽發自有賬戶的用戶證書。
。2)終端運營方
終端接入終端結算方服務器,終端密鑰下載和交易數據上傳通過終端結算方轉到證書簽發方;終端結算方可連接多個證書簽發方,結算時作為證書簽發方的二清機構,將結算資金匯總后再結算給商戶。
。3)商戶終端
具備二維碼掃描能力的車載設備,終端掃描用戶二維碼并檢查合法性和有效性,根據支付規則判斷是否記賬支付;終端定時將脫機記賬交易數據通過標準協議上送到終端結算方服務;終端定時下載可受理的證書簽發方密鑰信息,包括賬戶發行方公鑰和時間戳根密鑰。
。4)用戶APP手機客戶端
生成二維碼需要APP聯機向賬戶發行方申請信用證書和時間戳子密鑰。證書及密鑰申請成功后保存在手機安全區域中。證書過期時,APP提示用戶需要聯機更新證書后再顯示二維碼。APP在網絡可用條件下向終端結算方同步時鐘,并記錄時鐘偏差值,當時鐘偏差太大時,提示用戶修改系統時鐘和可能存在的二維碼認證失敗問題。
4.2 生成碼、解碼以及清算結算體系
二維碼生成體系和掃碼解碼密鑰體系在二維碼生成的過程中自動植入高安全性的密鑰,再由綁定方(銀行和第三方支付平臺)封裝,二維碼信息包括密鑰信息、綁定方信息、生成時間、賬戶ID信息、賬戶余額信息等。在車載和閘機掃碼終端設備上設置專門密鑰,對專屬二維碼進行掃碼讀取交易,實現一終端一密鑰。終端設備讀取二維碼信息和交易信息定期上傳至系統后臺(延遲聯機),手機二維碼被讀取后信息定期上傳至綁定方后臺(延遲聯機),交易數據以終端設備信息為準。圖3所示為二維碼的生成體系及掃碼解碼體系。
圖3 羊城通二維碼的生成體系及掃碼解碼體系
清算時清算系統接收到終端設備上傳的二維碼信息和交易信息后,分別對公交、地鐵等公司進行實時清算。如果采用賬戶余額進行交易則可直接進行結算扣款,如果是采用信用擔保進行交易,則通過向綁定方發起請款結算請求,綁定方在收到請款結算請求后,實時對信用余額進行交易結算, 并將交易款實時結算到賬戶。圖4所示為該平臺的清算結算體系。
圖4 平臺的清算結算體系
圖5 受理終端驗證二維碼流程
5、羊城通二維碼數據加密與驗證體系
5.1 二維碼數據加密流程
。1)使用證書管理中心私鑰為發卡機構簽發發卡機構公鑰證書。
。2)使用發卡機構私鑰對二維碼原始數據進行簽名生成二維碼發卡機構授權簽名數據。
。3)使用支付賬戶用戶私鑰對二維碼一次簽名數據進行簽名生成支付賬戶用戶私鑰簽名數據。
完整的二維碼數據包括發卡機構公鑰證書、二維碼業務數據、發卡機構授權簽名數據以及支付賬戶用戶私鑰簽名數據。
5.2 受理終端驗證二維碼流程(如圖5)
6、結束語
羊城通二維碼產品首創二維碼脫機支付模式,采用數字證書和雙時間戳的雙重安全驗證機制,很好地解決了交易過程對網絡的依賴,避免了大規模支付失敗對通勤的影響,還可以防止數據復制重發、防止偽造交易,有效杜絕身份信息的偽造或篡改,進一步提高支付的安全性、防抵賴性。
本產品上線后,在廣州市的公交支付上已十分普及,羊城通二維碼的用戶量已達1800萬,平日羊城通二維碼日成功交易筆數達到150萬。使用時的安全快速啟動,消除了用戶的等待時間,也受到使用者的一致好評。