基于RFID的移動小額支付可信交易系統研發
移動支付的安全及可信問題是消費者使用業務的最大疑慮。特別是針對移動小額支付而言,由于交易額小,支付交易頻繁,所以要求較高的處理效率,如存儲盡量少的信息、處理速度盡量快和通信量盡可能少等,因此有時即使出現交易差錯也容易被忽略或遺漏。另一方面,由于移動小額支付應用場合眾多、環境惡劣、應用規范、不同廠家的技術水平參差不齊等等,經常曝露出一系列問題:誤扣款、丟記錄、不平賬、數據不安全等。本文提出了一種可信交易的方案。
1 基于RFID的移動小額支付系統組成及原理
本系統的移動小額支付交易系統由RFID移動設備、收費機、后臺軟件組成。RFID移動設備通過射頻感應喚醒與收費機器進行數據交換,智能卡通過射頻感應從收費機處獲取能量和交換數據;收費機,連接智能卡與應用系統的橋梁,承擔信息的識別、傳送、處理任務。后臺應用軟件,負責信息的整理與加工,產生便于人工識別的報表等信息。

2 系統不可信交易原因分析
筆者通過網絡,走訪用戶,以及對不同廠家的收費終端進行測試,歸納出現不可信交易的可能原因,從RFID卡、機具、交易流程、系統,每一個環節的故障都可能帶來交易可信度的問題。
(1)關于從卡內扣錢,那就先從卡和設備的數據交換看,可以歸結為兩步。第1步:刷卡→設備(讀到卡內余額);第2步:寫卡←設備(計算新余額,從卡片扣款)。
RFID卡的能量來源是由讀卡設備向卡發送的固定頻率電磁波與卡內LC串聯諧振產生的電荷,當卡正在消費機感應臨界區進行讀寫操作時,突然離開感應區而沒電了,那肯定會造成讀寫卡異常。
其中RFID卡經過磁場感應區的典型的運動軌跡有垂直運動和水平運動2種,如圖1所示。因為磁場分布的物理特性,RFID卡動態經過磁場區域,可能導致能讀卡,但寫卡失敗,從而出現誤寫卡,甚至寫壞卡的情況。
(2)機具,射頻電路的設計不好,也可能容易導致讀寫卡異常。
硬件的PCB(印制電路板)“體質”是非常重要的,因為很多廠家的產品讀卡性能可靠性差,而且這種產品的比率還很大,基本占了市場上80%的份額。主要表現在讀卡性能,存在讀卡死區,有距離,沒有可靠完整讀寫區域。
(3)從系統的角度看,存在設計漏洞或者缺陷。
整個系統的數據完整性,對系統正常運作是非常重要的。不少的系統存在記錄丟失的可能,或者通訊過程存在安全隱患,比如沒有加密機制,通訊介質異常缺少冗余機制,數據人為損壞,缺少補采或者記錄恢復機制,后臺處理沒有按流水而時間異常導致統計數據錯誤等等。
3 實現可信交易應該采取的手段
綜合應用針對RFID、硬件、嵌入式軟件及后臺軟件的整體方案,設計系統的硬件、軟件和后臺管理平臺,確保整個小額支付收費系統閉環的流程可靠性、數據安全性,從而實現可信交易的有效結果(如圖2)。

1)RFID卡關鍵數據雙備份技術
從RFID卡工作狀態機制,分析出現異常的可能原因,采用卡數據組織結構的雙備份機制,配合嵌入式軟件來達到寫卡異常時的處理機制,如下所描述。
(2)可能引起錯誤寫卡的原因分析
RFID卡經過讀卡設備基站芯片的磁場感應區時,對RFID卡進行充電,當電壓達到2V左右,基站芯片與RFID卡之間進行數據交換通訊,從而實現小額支付的交易過程。
卡進入感應區,執行卡請求,防碰撞,卡認證,讀塊,寫塊等過程。其中,卡請求及碰撞,大約需要4ms;卡認證,大約需要2ms;讀塊,大約需要2.5ms;寫塊,大約需要6ms。影響卡上數據變化的只有寫卡過程,而該過程需要分兩步執行,第1步:向M1卡發送待寫的塊號信息;第2步:向M1卡發送待寫的l6字節塊數據。當卡執行完第1步后,正在執行第2步的瞬間,已經離開感應區,這時,基站芯片就無從知道是否成功將16字節寫成功。
為此,我們采用雙備份的方式設計RFID卡上數據存儲格式,當系統寫卡出現異常時,利用備用區的數據對寫卡異常的區塊進行恢復,從而實現數據安全。
(3)卡關鍵數據的雙備份格式
常見的M1卡分為16個扇區,每個扇區由4塊(塊0、塊1、塊2、塊3)組成,我們也將16個扇區的64個塊按絕對地址編號為0~63,存儲結構如圖3所示。

涉及小額支付的關鍵數據,一般使用其中一個扇區,其數據組織格式的備份方式如表1所描述。

其中,錢包主數據塊DataA如在刷卡交易過程受到異常干擾,出現寫錯,則可以利用錢包備份數據塊DataB來進行恢復。而寫卡動作標志F用來監控錢包主數據塊DataA的讀寫過程。
2)讀寫機具的射頻電路抗干擾技術
射頻電路采用專用集成電路,配合EMC感應線圈設計,增加濾波處理,減少高次諧波的干擾,防止感應存在死區(無法讀卡的區域),減少交易過程出現異常的幾率(圖4)。

(1)射頻電路芯片電路設計
天線線圈的電感:
L:天線線圈的長度
N:天線線圈的圈數,一般為4圈
D:天線線圈的直徑或者導體的寬度
p:由天線的技術而定的N的指數因子,如表2所描述。

天線的品質因數Qcoil:
一般天線的品質因數 30
實際中,品質因數Qcoil>30的增加量,對RFID卡的操作距離無明顯幫助。品質因數必須Qcoil<60,以確保數據通訊的穩定可靠,否則天線的有效工作距離范圍內存在死區。
本系統的射頻部分關鍵電阻采用1%精度,關鍵電容采用NPO材料電容,保證系統溫度穩定性和刷卡感應區場強性能的一致性。同時品質因數控制在30~40之間。
3)嵌入式交易控制流程技術
系統根據卡的數據存儲格式,設計嵌入式交易控制流程,對異常數據進行自動糾正和恢復處理,實現異常扣款過程的自動恢復。流程如圖5所示。

系統根據卡的數據存儲格式,設計嵌入式交易控制流程,對異常數據進行自動糾正和恢復處理,實現異常扣款過程的自動恢復。交易控制流程圖流程如圖6所示。
非接觸卡在進入和離開感應區的時間是隨機的,當其離開感應區的時刻及其對各數據塊和標志的影響情況,如表3。

流程以DataA為基準,對DataA的修改是否有效,由flag來判定。
參照失敗原因及系統寫卡流程,做如下幾點分析:解決了寫卡與讀卡距離的差異。因為寫數據塊前,先起用寫標志,這樣,寫數據塊的時間,卡已經處于可寫卡的感應區范圍內;解決了卡運動軌跡不規范帶來的寫卡異常。一次寫卡命令需要6ms。根據流程,完整寫一次卡需要3次寫卡命令,2次寫標志,1次寫數據。前面2次寫卡失敗都可以在流程中得到自動恢復,只要最后一寫標志的時間處于感應區就可以完成正確的寫卡動作,有效消耗時間是6ms。這樣,無論卡從何種空間位置穿過感應區,都可以有效完成正確的寫卡動作。
4)網絡通訊加密機制
如圖6所示。

5)模塊化設計技術
系統硬件采用模塊化設計,將整體硬件平臺分解為讀卡基站模塊、交互的顯示模塊、鍵盤模塊、語音模塊、數據通訊模塊、數據存儲模塊、以及電源模塊組成(圖7),確保整個系統的穩定可靠性。

● CPU模塊:采用ARM Cortex-M3內核的MCU——STM32F07C,主頻最高72MHz,結合FLASH實現數據和字庫信息的存儲,利用PHY網絡接口芯片,實現有線的Ethernet通訊。
● FM1702讀卡模塊:與IC卡進行數據交互的物理接口芯片,由主MCU進行控制讀取IC卡相應信息。
● Txt2wave模塊:采用XFS3031CN實現文字轉語音,實現全語音的功能。
● GPRS通訊模塊:SIM900A專用GPRS通訊技術實現數據無線遠傳。
● 觸摸鍵盤模塊:STC12C5201AD獨立處理qt1084實現電容式觸摸鍵盤。
● GPS定位模塊:GMS668專用衛星定位模塊。
● 電源處理模塊:MP24943:最大輸入電壓 55V,最大負載電流3A。
● LCD顯示模塊:lcd128x64點陣液晶。
6)流水號分析技術
以“記錄流水號”作為可信交易依據,流水號從1開始編碼,最大支持65535,不管是消費機刷卡消費,還是用發卡器充值退款,針對任何寫卡操作,都會先讀出RFID卡中流水號,然后加1寫入卡中,最后再次讀出卡流水號進行比較驗證,確保整個交易寫卡過程的準確性。針對交易異常記錄,系統提供自動查帳、人工處理方式,系統僅查出交易異常記錄,用不同顏色著重標識區分,以便人工糾正。如圖8所示。

4 工程應用及結論
本系統通過數據雙備份技術,實現交易數據的可靠性;通過嵌入式交易控制流程技術,解決交易過程誤寫卡問題,保證交易過程的正確性;通過通訊加密機制,解決采集交易記錄的準確性;同時采用流水號分析技術,進一步防止錯誤交易流程的產生,實現交易流程的穩定性。
本系統成功應用于中國電信一卡通系統,運行穩定可靠,交易可信。系統結合NFC (Near Field Communication)及pboc2.0(《中國金融集成電路(IC)卡規范》(JR/T 0025-2005)(業內簡稱pboc2.0)),應用前景將更廣闊。