移动支付的安全性和可信性是消费者使用服务时最大的顾虑,尤其对于移动小额支付,由于交易金额小、支付交易频繁,对处理效率的要求更高,如尽可能少的信息存储、尽可能快的处理、尽可能少的通信等,因此即使出现交易错误也容易被忽略或漏报。另一方面,由于移动小额支付应用数量众多、环境恶劣、应用规范、不同厂商技术水平参差不齐,经常会暴露出一系列问题:错扣、丢失记录、账户不平衡、数据不安全等。本文提出了一种可信交易的解决方案。
1 基于RFID的移动小额支付系统组成及原理
本系统的移动小额支付交易系统由RFID移动设备、收费机具、后台软件组成。RFID移动设备通过射频感应唤醒与收费机具进行数据交换,智能卡通过射频感应从收费机具获取能量并进行数据交换;收费机具是连接智能卡与应用系统的桥梁,负责信息的识别、传输和处理。后台应用软件负责信息的组织和处理,生成便于人工识别的报表等信息。
620)this..=620;" =0 alt=基于RFID的移动小额支付可信交易系统的开发 src="">
2 系统内失信交易原因分析
笔者通过网络、走访用户、测试不同厂商的充电终端等方式,总结出交易不可信的可能原因,从RFID卡、机具、交易流程到系统,任何一个环节出现故障,都可能带来交易可信度的问题。
(1)关于卡上扣钱,我们先来看卡和设备之间的数据交互,可以概括为两个步骤。第一步:刷卡→设备(读取卡上余额);第二步:写卡←设备(计算新余额并从卡上扣钱)。
RFID卡的能量来源是读卡器向卡片发出的定频电磁波与卡片内部LC串联谐振产生的电荷。当卡片正在消费机感应关键区域进行读写操作时,突然离开感应区域,电量耗尽,势必会造成卡片的读写异常。
RFID卡片经过磁场感应区域的典型运动轨迹为垂直运动与水平运动,如图1所示。由于磁场分布的物理特性,当RFID卡片动态经过磁场区域时,可能会出现读卡但无法写卡的情况,造成误写卡片,甚至损坏卡片的情况。
(2)设备及射频电路设计不良,也容易造成读写卡异常。
硬件PCB(印刷电路板)“体质”很重要,因为很多厂家的产品读卡性能、可靠性较差,这类产品占比还很大,基本占据了80%的市场份额。主要表现在读卡性能上,存在读卡盲区、距离,没有可靠完整的读写区域。
(3)从制度角度看,存在设计漏洞或缺陷。
整个系统的数据完整性对于系统的正常运行至关重要,很多系统都存在记录丢失的可能,或者在通讯过程中存在安全隐患,如无加密机制、通讯媒介异常缺乏冗余机制、人为数据损坏、缺乏补采或记录恢复机制、后台处理不按照流量和时间异常导致统计数据错误等。
3. 实现可信交易的措施
该系统通过综合应用RFID整体解决方案、硬件、嵌入式软件和后台软件,设计系统的硬件、软件和后台管理平台,保证整个闭环小额支付收费系统的流程可靠性和数据安全性,从而达到可信交易的有效效果(如图2所示)。
620)this..=620;" =0 alt=基于RFID的移动小额支付可信交易系统开发src="">
1)RFID卡关键数据双备份技术
基于RFID卡的工作状态机制,分析可能出现异常的原因,采用卡片数据组织结构双备份机制,结合嵌入式软件实现写卡异常的处理机制,如下所述。
(2)写卡错误可能原因分析
当RFID卡经过读卡设备基站芯片的磁场感应区域时,RFID卡就会产生充电现象,当电压达到2V左右时,基站芯片与RFID卡之间就会进行数据交换和通讯,从而实现小额支付的交易过程。
卡片进入感应区域后,执行卡片请求、防冲突、卡片认证、块读取、块写入等过程。其中,卡片请求及冲突约需4ms;卡片认证约需2ms;块读取约需2.5ms;块写入约需6ms。唯一影响卡片上数据变化的过程就是写卡过程,需要分两步执行:步骤1:将需要写入的块号信息发送给M1卡;步骤2:将需要写入的16字节块数据发送给M1卡。当卡片完成步骤1,正在执行步骤2时,已经离开感应区域,此时基站芯片无法得知16个字节是否已经写入成功。
为此,我们采用双备份的方式设计RFID卡上的数据存储格式,当系统写入卡片时出现异常时,利用备用区中的数据对异常块进行恢复,从而实现数据安全。
(3)钥匙卡数据双重备份格式
常见的M1卡分为16个扇区,每个扇区由4个块组成(块0,块1,块2,块3)。我们也将16个扇区的64个块按照绝对地址编号为0~63。存储结构如图3所示。
620)this..=620;" =0 alt=基于RFID的移动小额支付可信交易系统开发src="">
涉及小额支付的关键数据一般使用其中一个扇区,其数据组织格式的备份方法如表1所示。
620)this..=620;" =0 alt=基于RFID的移动小额支付可信交易系统开发src="">
如果在刷卡交易过程中钱包主数据块受到异常扰动,发生写入错误,可以通过钱包备份数据块进行恢复,通过写卡动作标志位F来监控钱包主数据块的读写过程。
2)读写设备射频电路抗干扰技术
射频电路采用专用集成电路,结合EMC感应线圈设计,增加滤波处理,降低高次谐波的干扰,防止存在感应死区(无法读卡的区域),降低交易过程中出现异常的概率(图4)。
620)this..=620;" =0 alt=基于RFID的移动小额支付可信交易系统开发src="">
(1)射频电路芯片的电路设计
天线线圈的电感:
L:天线线圈的长度
N:天线线圈的匝数,通常为4匝
D:天线线圈的直径或导体的宽度

p: 取决于天线技术的N的指数因子,如表2所述。
620)this..=620;" =0 alt=基于RFID的移动小额支付可信交易系统开发src="">
天线的品质因数:
典型天线的品质因数为 30
实际上,品质因数增加 > 30 并不能显著改善 RFID 卡的操作距离。
本系统射频部分关键电阻采用1%精度,关键电容采用NPO材料电容,保证系统的温度稳定性和刷卡感应区场强性能的一致性,同时品质因数控制在30~40之间。
3)嵌入式事务控制流程技术
系统根据卡数据存储格式,设计内嵌交易控制流程,自动纠正、恢复异常数据,实现扣费异常流程的自动恢复,流程如图5所示。
620)this..=620;" =0 alt=基于RFID的移动小额支付可信交易系统开发src="">
系统根据卡数据存储格式,设计内嵌交易控制流程,自动纠正、恢复异常数据,实现扣费异常流程的自动恢复,交易控制流程图如图6所示。
非接触式卡进入和离开感应区域的时间是随机的,其离开感应区域的时间及其对各数据块和标志位的影响如表3所示。
620)this..=620;" =0 alt=基于RFID的移动小额支付可信交易系统开发src="">
以进程为基准,通过flag来判断修改是否有效。
参照故障原因及系统写卡流程,分析如下:解决了写卡与读卡距离的差异问题。由于写标记是在写数据块之前使用的,所以在写数据块的时候,卡片已经在可写卡片的感应区内;解决了卡片运动轨迹不规则导致的写卡异常。一次写卡命令耗时6ms,按照流程,一次完整的写卡需要3次写卡命令,2次写标记,1次写数据。在此过程中可以自动恢复前面2次写卡故障。只要最后一次写标记的时间在感应区内,就可以完成正确的写卡动作,有效时间消耗为6ms。这样,无论卡片经过感应区的哪个位置,都可以有效的完成正确的写卡动作。
4)网络通信加密机制
如图6所示。
620)this..=620;" =0 alt=基于RFID的移动小额支付可信交易系统开发src="">
5)模块化设计技术
系统硬件采用模块化设计,将整体硬件平台分解为读卡基站模块、交互显示模块、键盘模块、语音模块、数据通讯模块、数据存储模块、电源模块(图7),保证了整个系统的稳定性和可靠性。
620)this..=620;" =0 alt=基于RFID的移动小额支付可信交易系统开发src="">
● CPU模块:采用最高主频的ARM-M3核心MCU,结合数据及字库信息的存储,并使用PHY网络接口芯片实现有线通讯。
● 读卡器模块:与IC卡交互的物理接口芯片,受主MCU控制,读取IC卡相应信息。
● 模块:用于实现文本转语音,实现完整的语音功能。
● GPRS通讯模块:采用专用的GPRS通讯技术,实现数据的无线传输。
● 触摸键盘模块:独立处理实现电容式触摸键盘。
● GPS定位模块:专用卫星定位模块。
● 电源处理模块:最大输入电压55V,最大负载电流3A。
● LCD显示模块:点阵液晶。
6)序列号分析技术
“记录序列号”作为可信交易的依据,序列号从1开始编码,最大支持1000次,无论是在消费机刷卡,还是到发卡机构充值、退款,任何一次写卡操作,都会先读取RFID卡内的序列号,然后加1写入卡内,最后再读取卡序列号进行比对验证,确保整个交易写卡流程的准确性。对于异常交易记录,系统提供自动审核和人工处理,系统只发现异常交易记录,用不同颜色区分,以便人工纠正。如图8所示。
620)this..=620;" =0 alt=基于RFID的移动小额支付可信交易系统开发src="">
4 工程应用及结论
本系统通过数据双备份技术实现了交易数据的可靠性;通过嵌入式交易控制流程技术解决了交易过程中的误写卡问题,保证了交易流程的正确性;通过通讯加密机制解决了采集交易记录的准确性;并采用序列号分析技术,进一步杜绝错误交易流程的发生,实现了交易流程的稳定性。
本系统已成功应用于中国电信一卡通系统,运行稳定可靠,交易可信。该系统结合了NFC(Near)和.0(《中国金融集成电路(IC)卡规范(JR/T 0025-2005)(业内简称.0)》,应用前景将更加广阔。