基于RFID的移動小額支付可信交易系統(tǒng)研發(fā)
移動支付的安全及可信問題是消費者使用業(yè)務的最大疑慮。特別是針對移動小額支付而言,由于交易額小,支付交易頻繁,所以要求較高的處理效率,如存儲盡量少的信息、處理速度盡量快和通信量盡可能少等,因此有時即使出現(xiàn)交易差錯也容易被忽略或遺漏。另一方面,由于移動小額支付應用場合眾多、環(huán)境惡劣、應用規(guī)范、不同廠家的技術水平參差不齊等等,經(jīng)常曝露出一系列問題:誤扣款、丟記錄、不平賬、數(shù)據(jù)不安全等。本文提出了一種可信交易的方案。
1 基于RFID的移動小額支付系統(tǒng)組成及原理
本系統(tǒng)的移動小額支付交易系統(tǒng)由RFID移動設備、收費機、后臺軟件組成。RFID移動設備通過射頻感應喚醒與收費機器進行數(shù)據(jù)交換,智能卡通過射頻感應從收費機處獲取能量和交換數(shù)據(jù);收費機,連接智能卡與應用系統(tǒng)的橋梁,承擔信息的識別、傳送、處理任務。后臺應用軟件,負責信息的整理與加工,產(chǎn)生便于人工識別的報表等信息。
2 系統(tǒng)不可信交易原因分析
筆者通過網(wǎng)絡,走訪用戶,以及對不同廠家的收費終端進行測試,歸納出現(xiàn)不可信交易的可能原因,從RFID卡、機具、交易流程、系統(tǒng),每一個環(huán)節(jié)的故障都可能帶來交易可信度的問題。
(1)關于從卡內扣錢,那就先從卡和設備的數(shù)據(jù)交換看,可以歸結為兩步。第1步:刷卡→設備(讀到卡內余額);第2步:寫卡←設備(計算新余額,從卡片扣款)。
RFID卡的能量來源是由讀卡設備向卡發(fā)送的固定頻率電磁波與卡內LC串聯(lián)諧振產(chǎn)生的電荷,當卡正在消費機感應臨界區(qū)進行讀寫操作時,突然離開感應區(qū)而沒電了,那肯定會造成讀寫卡異常。
其中RFID卡經(jīng)過磁場感應區(qū)的典型的運動軌跡有垂直運動和水平運動2種,如圖1所示。因為磁場分布的物理特性,RFID卡動態(tài)經(jīng)過磁場區(qū)域,可能導致能讀卡,但寫卡失敗,從而出現(xiàn)誤寫卡,甚至寫壞卡的情況。
(2)機具,射頻電路的設計不好,也可能容易導致讀寫卡異常。
硬件的PCB(印制電路板)“體質”是非常重要的,因為很多廠家的產(chǎn)品讀卡性能可靠性差,而且這種產(chǎn)品的比率還很大,基本占了市場上80%的份額。主要表現(xiàn)在讀卡性能,存在讀卡死區(qū),有距離,沒有可靠完整讀寫區(qū)域。
(3)從系統(tǒng)的角度看,存在設計漏洞或者缺陷。
整個系統(tǒng)的數(shù)據(jù)完整性,對系統(tǒng)正常運作是非常重要的。不少的系統(tǒng)存在記錄丟失的可能,或者通訊過程存在安全隱患,比如沒有加密機制,通訊介質異常缺少冗余機制,數(shù)據(jù)人為損壞,缺少補采或者記錄恢復機制,后臺處理沒有按流水而時間異常導致統(tǒng)計數(shù)據(jù)錯誤等等。
3 實現(xiàn)可信交易應該采取的手段
綜合應用針對RFID、硬件、嵌入式軟件及后臺軟件的整體方案,設計系統(tǒng)的硬件、軟件和后臺管理平臺,確保整個小額支付收費系統(tǒng)閉環(huán)的流程可靠性、數(shù)據(jù)安全性,從而實現(xiàn)可信交易的有效結果(如圖2)。
1)RFID卡關鍵數(shù)據(jù)雙備份技術
從RFID卡工作狀態(tài)機制,分析出現(xiàn)異常的可能原因,采用卡數(shù)據(jù)組織結構的雙備份機制,配合嵌入式軟件來達到寫卡異常時的處理機制,如下所描述。
(2)可能引起錯誤寫卡的原因分析
RFID卡經(jīng)過讀卡設備基站芯片的磁場感應區(qū)時,對RFID卡進行充電,當電壓達到2V左右,基站芯片與RFID卡之間進行數(shù)據(jù)交換通訊,從而實現(xiàn)小額支付的交易過程。
卡進入感應區(qū),執(zhí)行卡請求,防碰撞,卡認證,讀塊,寫塊等過程。其中,卡請求及碰撞,大約需要4ms;卡認證,大約需要2ms;讀塊,大約需要2.5ms;寫塊,大約需要6ms。影響卡上數(shù)據(jù)變化的只有寫卡過程,而該過程需要分兩步執(zhí)行,第1步:向M1卡發(fā)送待寫的塊號信息;第2步:向M1卡發(fā)送待寫的l6字節(jié)塊數(shù)據(jù)。當卡執(zhí)行完第1步后,正在執(zhí)行第2步的瞬間,已經(jīng)離開感應區(qū),這時,基站芯片就無從知道是否成功將16字節(jié)寫成功。
為此,我們采用雙備份的方式設計RFID卡上數(shù)據(jù)存儲格式,當系統(tǒng)寫卡出現(xiàn)異常時,利用備用區(qū)的數(shù)據(jù)對寫卡異常的區(qū)塊進行恢復,從而實現(xiàn)數(shù)據(jù)安全。
(3)卡關鍵數(shù)據(jù)的雙備份格式
常見的M1卡分為16個扇區(qū),每個扇區(qū)由4塊(塊0、塊1、塊2、塊3)組成,我們也將16個扇區(qū)的64個塊按絕對地址編號為0~63,存儲結構如圖3所示。
涉及小額支付的關鍵數(shù)據(jù),一般使用其中一個扇區(qū),其數(shù)據(jù)組織格式的備份方式如表1所描述。
其中,錢包主數(shù)據(jù)塊DataA如在刷卡交易過程受到異常干擾,出現(xiàn)寫錯,則可以利用錢包備份數(shù)據(jù)塊DataB來進行恢復。而寫卡動作標志F用來監(jiān)控錢包主數(shù)據(jù)塊DataA的讀寫過程。
2)讀寫機具的射頻電路抗干擾技術
射頻電路采用專用集成電路,配合EMC感應線圈設計,增加濾波處理,減少高次諧波的干擾,防止感應存在死區(qū)(無法讀卡的區(qū)域),減少交易過程出現(xiàn)異常的幾率(圖4)。
(1)射頻電路芯片電路設計
天線線圈的電感:
L:天線線圈的長度
N:天線線圈的圈數(shù),一般為4圈
D:天線線圈的直徑或者導體的寬度
p:由天線的技術而定的N的指數(shù)因子,如表2所描述。
天線的品質因數(shù)Qcoil:
一般天線的品質因數(shù) 30
實際中,品質因數(shù)Qcoil>30的增加量,對RFID卡的操作距離無明顯幫助。品質因數(shù)必須Qcoil<60,以確保數(shù)據(jù)通訊的穩(wěn)定可靠,否則天線的有效工作距離范圍內存在死區(qū)。
本系統(tǒng)的射頻部分關鍵電阻采用1%精度,關鍵電容采用NPO材料電容,保證系統(tǒng)溫度穩(wěn)定性和刷卡感應區(qū)場強性能的一致性。同時品質因數(shù)控制在30~40之間。
3)嵌入式交易控制流程技術
系統(tǒng)根據(jù)卡的數(shù)據(jù)存儲格式,設計嵌入式交易控制流程,對異常數(shù)據(jù)進行自動糾正和恢復處理,實現(xiàn)異常扣款過程的自動恢復。流程如圖5所示。
系統(tǒng)根據(jù)卡的數(shù)據(jù)存儲格式,設計嵌入式交易控制流程,對異常數(shù)據(jù)進行自動糾正和恢復處理,實現(xiàn)異??劭钸^程的自動恢復。交易控制流程圖流程如圖6所示。
非接觸卡在進入和離開感應區(qū)的時間是隨機的,當其離開感應區(qū)的時刻及其對各數(shù)據(jù)塊和標志的影響情況,如表3。
流程以DataA為基準,對DataA的修改是否有效,由flag來判定。
參照失敗原因及系統(tǒng)寫卡流程,做如下幾點分析:解決了寫卡與讀卡距離的差異。因為寫數(shù)據(jù)塊前,先起用寫標志,這樣,寫數(shù)據(jù)塊的時間,卡已經(jīng)處于可寫卡的感應區(qū)范圍內;解決了卡運動軌跡不規(guī)范帶來的寫卡異常。一次寫卡命令需要6ms。根據(jù)流程,完整寫一次卡需要3次寫卡命令,2次寫標志,1次寫數(shù)據(jù)。前面2次寫卡失敗都可以在流程中得到自動恢復,只要最后一寫標志的時間處于感應區(qū)就可以完成正確的寫卡動作,有效消耗時間是6ms。這樣,無論卡從何種空間位置穿過感應區(qū),都可以有效完成正確的寫卡動作。
4)網(wǎng)絡通訊加密機制
如圖6所示。
5)模塊化設計技術
系統(tǒng)硬件采用模塊化設計,將整體硬件平臺分解為讀卡基站模塊、交互的顯示模塊、鍵盤模塊、語音模塊、數(shù)據(jù)通訊模塊、數(shù)據(jù)存儲模塊、以及電源模塊組成(圖7),確保整個系統(tǒng)的穩(wěn)定可靠性。
● CPU模塊:采用ARM Cortex-M3內核的MCU——STM32F07C,主頻最高72MHz,結合FLASH實現(xiàn)數(shù)據(jù)和字庫信息的存儲,利用PHY網(wǎng)絡接口芯片,實現(xiàn)有線的Ethernet通訊。
● FM1702讀卡模塊:與IC卡進行數(shù)據(jù)交互的物理接口芯片,由主MCU進行控制讀取IC卡相應信息。
● Txt2wave模塊:采用XFS3031CN實現(xiàn)文字轉語音,實現(xiàn)全語音的功能。
● GPRS通訊模塊:SIM900A專用GPRS通訊技術實現(xiàn)數(shù)據(jù)無線遠傳。
● 觸摸鍵盤模塊:STC12C5201AD獨立處理qt1084實現(xiàn)電容式觸摸鍵盤。
● GPS定位模塊:GMS668專用衛(wèi)星定位模塊。
● 電源處理模塊:MP24943:最大輸入電壓 55V,最大負載電流3A。
● LCD顯示模塊:lcd128x64點陣液晶。
6)流水號分析技術
以“記錄流水號”作為可信交易依據(jù),流水號從1開始編碼,最大支持65535,不管是消費機刷卡消費,還是用發(fā)卡器充值退款,針對任何寫卡操作,都會先讀出RFID卡中流水號,然后加1寫入卡中,最后再次讀出卡流水號進行比較驗證,確保整個交易寫卡過程的準確性。針對交易異常記錄,系統(tǒng)提供自動查帳、人工處理方式,系統(tǒng)僅查出交易異常記錄,用不同顏色著重標識區(qū)分,以便人工糾正。如圖8所示。
4 工程應用及結論
本系統(tǒng)通過數(shù)據(jù)雙備份技術,實現(xiàn)交易數(shù)據(jù)的可靠性;通過嵌入式交易控制流程技術,解決交易過程誤寫卡問題,保證交易過程的正確性;通過通訊加密機制,解決采集交易記錄的準確性;同時采用流水號分析技術,進一步防止錯誤交易流程的產(chǎn)生,實現(xiàn)交易流程的穩(wěn)定性。
本系統(tǒng)成功應用于中國電信一卡通系統(tǒng),運行穩(wěn)定可靠,交易可信。系統(tǒng)結合NFC (Near Field Communication)及pboc2.0(《中國金融集成電路(IC)卡規(guī)范》(JR/T 0025-2005)(業(yè)內簡稱pboc2.0)),應用前景將更廣闊。