李杭彩 謝宇威


摘? 要: 校園卡二維碼作為身份認證和支付手段在校園內越來越普及。但是傳統二維碼必須聯機才能進行身份認證和支付,若出現任何網絡、服務器或其他問題導致終端脫機,都將無法完成身份認證和支付,既影響師生的正常使用和體驗感,也不利于移動端身份認證和支付模式的進一步推廣。文章提出將校園卡系統的二維碼升級為聯機和脫機雙模自動切換二維碼,從而保障掃碼終端脫機時師生也能正常地使用移動端進行身份認證和支付。
關鍵詞: 校園卡; 身份認證; 支付; 二維碼
中圖分類號:TP311? ? ? ? ? 文獻標識嗎:A? ? ?文章編號:1006-8228(2021)05-49-04
Application of dual mode automatic switching QR Code in campus card system
Li Hangcai, Xie Yuwei
(Information Technology Center, Zhejiang University, Hangzhou, Zhejiang 310028, China)
Abstract: As a means of identity authentication and payment, campus card QR code is becoming more and more popular in campus. However, the traditional QR code must be online to carry out identity authentication and/or payment. If any problem of network, server or other causes the terminal offline, the identity authentication or payment will not be able to complete, which not only affects the normal use and the experience of teachers and students, but also is not conducive to the further promoting the mode of mobile identity authentication and payment. This paper proposes to upgrade the QR code of campus card system to online and offline dual-mode automatic switching QR code, so as to ensure that teachers and students can also use the mobile terminal for identity authentication and/or payment when the terminal for code scanning is offline.
Key words: campus card; identity authentication; payment; QR code
1 背景
高校的校園卡系統是智慧校園的重要組成部分,伴隨信息化建設的深入和服務理念的變革,校園卡的應用日益廣泛,為了給學校的管理和師生的科研、學習、生活等方面提供極大的便利,浙江大學一直推陳出新,2007年上線校園卡系統,2009年上線電子支付平臺開通電子賬戶[1-2],2017年浙江大學上線基于電子賬戶的在線支付系統,同時推出基于移動端的二維碼身份認證和支付的校園寶APP。新的校園卡體系建立在云架構和云服務上,通過終端機具掃碼完成用戶移動端的在線認證和支付,實現了校園卡應用的移動化、無卡化和多介質化[3]。
二維碼技術被融入校園卡系統后,實體卡在很多場景中被逐漸淡化,移動認證和支付以其獨特的優勢被師生廣泛接受,使用范圍也越來越廣,同時孕育出新的用戶需求和新的應用場景[4]。為滿足應用場景中對校園卡身份認證和支付的移動性要求以及應對弱網、斷網等情形,需升級現有校園卡架構體系中二維碼身份認證和支付功能,引入二維碼的脫機支付和脫機身份認證,提出了聯機和脫機雙模自動切換二維碼在校園卡系統中的認證和支付模式,即移動端APP提供二維碼、掃碼終端掃碼完成身份認證和支付的模式。在單脫(移動端APP、掃碼終端其中之一脫機),或雙脫(移動端APP、掃碼終端同時脫機)情況下都能完成二維碼的相關業務。
2 雙模自動切換二維碼
傳統二維碼的模式是服務器端存放賬戶信息,所以必須聯機。這種模式簡單且技術已經非常成熟,但是它對網絡的穩定性和可靠性要求較高。從實體卡的脫機認證和支付形式看,二維碼脫機即移動端APP生成二維碼和掃碼終端驗證二維碼,都可以脫離網絡環境的支持,即無需服務器進行實時的驗證[5]。本文提出的雙模自動切換二維碼即移動端APP生成聯機/脫機狀態的組合二維碼;掃碼終端自動識別自身的網絡狀態以及與服務器的連接狀態,按實際環境條件切換聯機、脫機狀態驗證移動端的二維碼。
2.1 移動端APP展示二維碼
當移動端APP聯機時,直接從服務器端獲取生成組合二維碼的數據在移動端展示,二維碼中包含脫機時可使用的證書、密鑰、余額等信息同時將這些信息緩存到本地,掃碼終端通過讀寫器掃描獲取數據并根據自身的狀態本地驗證數據或者提交至服務器驗證。當移動端APP無法與服務器通訊時,即處于脫機狀態,移動端APP根據緩存在本地的最后一次聯機時從服務器獲得的信息生成和展示二維碼。為了保證脫機狀態下二維碼的安全性,采用脫機與聯機互補的方式,二維碼中嵌入最后一次聯機時的余額、時間戳、證書生成時間、證書有效時長、透支額度、密鑰等,此時二維碼的使用次數受到限制。若使用次數達到限值或者消費額度超限或者證書超期都將無法再生成和展示二維碼,使用者必須聯機強制更新移動端APP的證書、密鑰、余額等信息。掃碼終端或服務器驗證消費額度、移動端APP證書的合法性和有效性等,當驗證通過則允許用戶此次的交易操作。移動端APP二維碼生成的流程,如圖1所示。
2.2 掃碼終端主掃
當掃碼終端聯機時,掃描識別用戶展示的二維碼并將數據上傳至服務器,交由服務器端實時驗證。服務器將結果返回給掃碼終端和移動端APP,若移動端APP聯機則能實時收到結果。當掃碼終端脫機時,終端必須同實體卡脫機刷卡一樣采用脫機狀態下的記賬模式。掃碼終端聯機時,服務器端每天將名單下發至終端,同時每天產生一個密鑰,通過接口協議下發密鑰,防止其他掃碼終端偽造交易信息以及保證終端脫機時能準確校對用戶的數據。掃碼終端脫機時,若移動端APP展示的二維碼通過終端的身份驗證并符合系統制定的支付規則,則終端允許用戶的認證和支付行為并記錄保存交易信息。掃碼終端將采用延時上傳數據的方法,在聯機狀態下才將數據上傳至服務器,服務器后臺再對用戶賬戶進行實際的操作。終端保存的交易流水須在約定的時間內上傳,超過預定時間,上傳的流水將轉至待處理賬戶。掃碼終端掃碼的流程,如圖2所示。
3 技術難點
聯機時,移動端APP的二維碼信息直接從服務器獲得生成,掃碼終端將識別的二維碼信息上傳至服務器驗證,構成了一個閉環處理。聯機時可實時根據支付信息對用戶的賬戶余額進行更新,但是脫機時,不管是單脫機還是雙脫機,信息都會以單向的方式傳遞,即移動端APP上的二維碼單向傳遞給掃碼終端,此時存在較大的風險。例如:移動端APP聯機、終端脫機時對移動端二維碼的驗證問題;脫機時,掃碼終端對透支額度的控制難度較大;移動端APP的二維碼存在被偽造、盜取和重用的可能[6-8]。
針對上述存在的問題,從下面五個方面提出了解決思路。
⑴ 移動端APP聯機時生成的是聯機碼和脫機碼組合的二維碼,掃碼終端聯機則識別二維碼中聯機碼部分的信息并上傳到服務器,由服務器對用戶的數據進行驗證;掃碼終端脫機則識別二維碼中脫機碼部分的信息,在終端上進行數據驗證,完成支付,終端設備聯機后上傳流水到服務器,服務器后臺再對用戶賬戶進行實際的操作。
⑵ 掃碼終端聯機時,直接將二維碼的信息上傳到服務器,由服務器按照認證和支付規范,對用戶的數據進行驗證。掃碼終端聯機時,服務器端每天產生一個密鑰,并通過接口協議下發密鑰,以保證終端脫機時能準確校對用戶的數據。掃碼終端必須在更新周期內更新驗證密鑰,移動端APP也必須在更新周期內更新驗證密鑰,以實現終端對交易有效性的驗證。為了保障終端脫機時交易流水穩定的上傳服務器,更新周期暫定為一天。
⑶ 采用脫機與聯機互補的方式,當移動端APP處于脫機狀態時,限制移動端生成二維碼的次數,并且在二維碼中嵌入最后一次聯機時的余額、時間戳、證書生成時間、證書有效時長、透支額度等。掃碼終端或服務器認證交易時,都需要驗證用戶證書的有效性、二維碼的有效性,同時獲取余額、透支額度等信息。證書無效或者二維碼生成次數為零則用戶必須進行聯機更新,聯機更新的周期為一天,也可根據實際使用情況來配置。通過合理設置聯機更新周期,可以降低脫機時二維碼被盜用的風險。限制二維碼的生成次數和透支額度,可以解決掃碼終端脫機時控制透支額度難的問題。
⑷ 聯機時移動端APP端的二維碼是動態生成的,能夠有效防止二維碼被重用和盜用。為了降低脫機狀態下的風險,二維碼將采用靜態認證與動態認證相結合的方式。移動端APP端證書采用靜態認證,聯機時從服務器獲取,證書過期則認證失敗。動態認證數據是移動端APP在生成二維碼時嵌入產生時的時間戳和二維碼展示的有效時長。
⑸ 服務器端監控移動端脫機交易流水,及時發現和處理異常流水情況,增加一個監控模塊,實時查詢系統出現異常的記錄,對異常的賬戶進行標注,交由人工核對,必要時可以對異常賬戶進行干預處理。
4 結束語
目前移動支付被師生廣泛接受和使用,在未來,校園卡去卡化符合信息化發展的大方向,大勢所趨。為了順應時代潮流,支持師生的移動化要求,節約師生寶貴的時間,應對校內高峰時段無網弱網情況,保障校園卡的相關業務,在現有校園卡架構體系中,升級二維碼為聯機和脫機雙模自動切換二維碼具有一定的實際價值。目前,浙江大學已完成校園卡移動APP、終端機具和服務器端的升級工作,我們將堅定移動化、無卡化的方向,有序地擴大聯機和脫機雙模自動切換二維碼的應用范圍和應用校區,該方案的科學性、合理性將在實踐中進一步得到論證和完善。
參考文獻(References):
[1] 葉鎰娟,徐鋒,程艷旗.基于電子帳戶的新一代校園卡支付體系設計[J].華東師范大學學報(自然科學版),2015.S1:534-540
[2] 徐鋒,鄭章財,葉益娟等.校園卡在線支付模式的實踐及研究[J].華中師范大學學報(自然科學版),2017.S1:187-190
[3] 徐鋒,葉益娟.移動互聯網背景下校園卡支付體系設計與實踐[J].浙江大學學報(理學版),2018.45(1):60-64
[4] 王興建,符佳佳,田小萍等.虛擬校園卡在高校應用探索與分析[J].華中科技大學學報(自然科學版),2017.S1:114-117
[5] 謝振東,程夢琪,顧裕波等.羊城通二維碼脫機+聯機支付解決方案的研究[J].自動化應用,2019.7:82-84
[6] 謝振東,程夢琪,顧裕波,等.基于離線支付的羊城通二維碼技術研究[J].眾創空間,2019.22:32-34
[7] 張慧琳,梁思率,佟秋利.校園CPU卡脫機消費問題分析及處理機制研究[J].華中科技大學學報(自然科學版),2016.44:124-126
[8] 宋秉麟.基于二維碼的公交脫機支付認證技術研究[D].華南理工大學,2018.