基于移动支付的NFC燃气表设计
扫描二维码
随时随地手机看文章
引言
燃气是目前跟老百姓生活密切相关的主要能源,而现在燃气表的管理主要采用卡式预付费方式,这种管理方式存在步骤繁琐、费时费力等弊端,很有必要将近场通信NFC技术、移动终端、3G、移动支付等技术应用到燃气费付费过程,以满足方便快捷的付费需求。
NFC(NearFieldCommunication,近场通信)是在无线射频识别(RFID)和互联技术的基础上融合演变而来的新技术,是一种短距离无线通信技术标准。这种技术是由飞利浦公司发起,由诺基亚、索尼等著名厂商联合主推的一项近距离无线通信技术,它在单一芯片上集成了非接触式读卡器、非接触式智能卡和点对点通信的功能,运行在13.56MHz的频率范围内,能在大约10cm范围内建立设备之间的连接,传输速率可达106Kb/s、212Kb/s、424Kb/s,未来可提高到848Kb/s以上。它提供了一种简单、触控式的解决方案,可以让客户简单直观地交换信息、访问内容与服务。
本文设计并实现一个基于RFID的移动支付终端系统,用一台带有NFC功能的手机读取具有RFID标签的燃气表中的数据,并通过手机将数据传送到燃气公司后台,达到远程抄表的目的,用户还可以通过手机与燃气公司后台进行交互,实现远程支付和燃气量查询等操作。
1基于RFID模拟接口的移动支付
燃气表的RFID模拟接口中集成了微处理器,只读存储器,随机存储器,电可擦除存储器,I/O驱动几大部分。其中微处理器是整个芯片的核心,完成计算任务;只读存储器用于存放预置的程序代码,一般为微操作系统;随机存储器是作为运算时的暂存数据,存放如命令参数、返回结果、临时工作密钥等数据;电可擦除存储器则完成用户数据的存储,如用户私钥等叫具有快速运算、存储量大、安全性高以及难以破译和伪造等特点。
RFID模拟接口将采用自主研发的“一卡一密”措施,以加强系统的安全性。该技术方案能对每一张智能卡提供一个唯一密码,不仅保证不同客户的RFID卡读写机具相互不可串用,即使某张智能卡或某台智能卡读写机具有的访问密码被意外泄露或被恶意破译,仍然无法知道其它智能卡的访问密码。
非接触CPU智能卡与非接触逻辑加密卡相比,拥有独立的CPU处理器和芯片操作系统,所以可以更灵活的支持各种不同的应用需求,更安全的设计交易流程。但与非接触逻辑加密卡系统相比,非接触CPU智能卡的系统更为复杂,需要进行更多的系统改造,比如密钥管理、交易流程、PSAM卡以及卡片个人化等。密钥通常分为充值密钥(ISAM卡),减值密钥(PSAM卡),身份认证密钥(SAM卡)。
非接触CPU智能卡可以通过内外部认证的机制,例如电子钱包的交易流程,高可靠地满足不同的业务流程对安全和密钥管理的需求。对电子钱包圈存可以使用圈存密钥,消费可以使用消费密钥,清算可以使用TAC密钥,更新数据可以使用卡片应用维护密钥,卡片个人化过程中可以使用卡片传输密钥、卡片主控密钥、应用主控密钥等,真正做到一钥一用。
2应用场景
在采用本项目所研究的技术之后,用户有望更加方便地获得移动支付的便利,具体应用场景如图1所示。
用户通过下载相应智能手机客户端的支付中间件,可直接在手机上进行操作,随时随地完成对自己用气的充值、余额查询、详单查询等功能,足不出户办理燃气费缴纳业务。
另外,在指定的地点,通过自助终端(手机)的方式,用户也可以将银行账户的资金转入到NFC手机中,用于到家中向电表进行充值。
综合实现以上两点之后,下一步可以研究使用NFC手机实现手机支付随时随地从银行划款购水电气,支付成功之后加密数据自动存入手机;然后将手机靠近燃气表(带RFID模拟接口),实现预付费储值。
3系统设计
3.1系统整体结构
基于移动支付的NFC燃气表系统整体结构如图2所示。系统正常运行时,燃气表的MCU将燃气表燃气量信息写入到ST33芯片已经定义好的燃气表信息文件中。当用手机靠近燃气表时,ST33芯片进入NFC适配器的磁场,接收手机发出的射频信号,凭借感应电流所获得的能量发送出存储在燃气表信息文件中的信息,再通过我们编写的移动支付终端软件通过Web将燃气表信息发送到燃气公司后台进行处理。燃气公司后台收到手机传来的信息并解密后会主动将解密的燃气表信息回传给手机,用户也可以通过手机终端软件主动发送查询并得到燃气公司后台的响应。用户、银行、燃气公司之间还可以建立安全支付的通信信道,满足用户的远程支付需求。
3.2NFC燃气表的内部结构
NFC燃气表在原有预付费燃气表的基础上,增加了一个NFC通信接口,去掉了原来的卡座,其内部结构如图3所示。
NFC单元包括NFC控制器和NFC安全单元。NFC控制单元的主要功能是通过天线与外界的NFC手机通信,负责控制与NFC手机、NFC安全单元和主控MCU之间的信息交互。NFC安全单元主要负责执行与安全相关的算法,存储关键数据,并输出计算结果给NFC控制单元。通信接口主要包括SWP、I2C、7816接口。
3.3移动支付终端系统的结构模块
移动支付终端系统主要包括NFC手机接口调用、RFID卡识别、移动终端与RFID卡的数据传输、燃气公司对用户RFID燃气表的管理、用户的远程支付等结构模块。
手机接口调用模块主要用来实现移动支付终端软件与手机NFC适配器的连接与数据通信[6]。通过对Android系统提供的android.nfcpackage和android.nfc.techpackage两个API的调用实现移动支付终端客户端软件和手机NFC适配器之间的连接与访问。我们所使用燃气表中的RFID电子标签支持的是ISO-DEP(ISO14443-4)技术标准,因此可以先通过对android.nfcpackage的调用实现客户端与适配器之间的连接。再调用android.nfc.techpackage提供的相应的IsoDep类创建相应的对象,以实现对该tag即燃气表中RFID电子标签的访问。
为防止RFID电子标签内容的泄露,保证仅有授权实体才可以读取和处理相关标签上的信息,必须建立相应的访问控制机制,确保读写器的安全性。在设计访问控制机制时,要充分考虑标签自身的计算能力和数据存储能力。为防止电子标签的伪造和标签内容被滥用,NFC手机必须在通信之前对RFID电子标签的身份进行认证。传统的身份认证机制是使用基于公钥的数字签名技术,这种技术不适用于计算能力严重受限的RFID标签。在该系统中采用了典型的三轮密码认证协议,该协议的认证流程如图4所示。
认证的流程可以分成以下几个步骤:
(1)应用程序通过RFID读写器向RFID电子标签发送认证请求;
(2)RFID标签收到请求后向读写器发送一个随机数B;
(3)读写器收到随机数B后向RFID电子标签发送使用要验证的密钥加密B的数据包,其中包含了读写器生成的另一个随机数A;
(4)RFID电子标签收到数据包后,使用芯片内部存储的密钥进行解密,解出随机数B并校验与之发出的随机数B是否一致;
(5)如果是一致的,则RFID使用芯片内部存储的密钥对A进行加密并发送给读写器;
(6)读写器收到此数据包后,进行解密,解出A并与前述的A比较是否一致;
如果上述的每一个环节都成功,则验证成功;否则验证失败。这种验证方式可以说是非常安全的,破解的难度也非常大。
4NFC燃气表的优势
NFC技术作为一种非接触式的短距离传输技术应用在燃气表中,相对传统的预付费卡表、有线远传燃气表和无线远传燃气表,具有明显的优势:
燃气表与NFC手机之间信息交换的安全、便捷。
由于NFC燃气表与NFC手机之间是非接触式通信方式,因此使用十分便捷;另外由于NFC燃气表和NFC手机中都引入了NFC安全单元,在数据交换的过程中将进行一系列的加解密、签名和验证签名的操作,因此两者之间的通信是安全的。
燃气表与主站之间信息交互的私密性、完整性和新鲜性。
燃气表与主站之间共享私有密钥,对所交互的信息进行加解密和签名操作,可以保证两者之间所交互信息是未被篡改的,从而保证了数据的私密性和完整性。通过在交互信息中插入与时间有关的变化量,可以保证信息的新鲜性,从而防止重放攻击。对应到燃气缴费应用中,以上三种安全性可防止恶意用户窃听、篡改缴费金额或多次使用同一个缴费信息进行充值。
降低了燃气公司的运营成本。
燃气公司可以采用预付费模式来对NFC燃气表进行控制。由于缴费和预存功能都是由客户自己完成,所以燃气公司可以大幅度减少柜台营业人员,降低运营成本。
实现了燃气费抄缴过程的一体化,方便了用户。
该燃气表支持用户手机本地抄表远程支付模式,用户可以“足不出户”地使用NFC手机完成燃气费的预付费或后付费功能,对于用户来说十分方便。
5结语
由于手机在中国的普及,对于普通消费者来说,利用具有NFC功能的手机设备进行支付时,只需将手机靠近燃气表即可完成支付,这样支付的便利性对于一般的消费者来说是很有吸引力的,容易得到时尚一族的热捧。
20211121_619a2cb3846cb__基于移动支付的NFC燃气表设计