设为首页   在线评论   推广技巧   发布求购   免费注册   激活帐号
一卡通世界
当前位置:一卡通世界 >> 技术文章 >> 移动支付 >> NFC近场支付系统的设计与实现

NFC近场支付系统的设计与实现

来源:一卡通世界网      作者:刘俊丰 范春晓      2014-10-13 15:36:53

  摘要:近年来移动支付发展迅速,用户数和交易规模快速增长。随着带近场支付功能的手机和读卡器逐渐普及,用户在现场通过手机向商家进行支付(即近场支付)的需求也越来越强烈。本文综合比较了三种NFC 近场支付的实现方案,最终选择了基于SIM 卡实现的卡模拟方案,设计并实现了一种NFC 近场支付系统。该系统利用SIM 卡实现应用和数据的安全存储,运用SOCKET 技术完成POS机与模拟银行支付平台的通信,进而实现数据传输及交易过程的安全性。本系统成功实现了在线交易、离线交易、圈存、圈提、交易退款等各种交易过程并利用模拟银行支付平台进行了各种交易功能的测试,结果表明方案可行、易操作。最后,分析了基于HCE 实现近场支付的方案并与该系统进行了比较。

  0 引言

  移动支付是指移动用户使用其手机对所消费的商品或者服务进行账务支付的一种服务方式。移动支付这种付费方式因其方便快捷的优势,用户数和交易规模均增长迅速。据Gartner 数据,2013 年全球移动支付用户总数达2.45 亿,同比增长22%,预计2017 年将达4.50 亿。2013 年全球移动支付交易规模同比增长44%,达2354 亿美元,预计2017 年将增长至7214 亿美元。

  NFC 近场支付是指移动终端通过近距离通信技术向商家的消费终端发出支付信息,通过消费终端与内置智能芯片进行账户和密码信息交换完成移动支付。近场支付由于技术模式和商业模式仍不成熟,发展相对缓慢。但随着带近场支付功能的手机和读卡器逐渐普及,近场支付将会持续快速发展。

  本文设计并实现了一种NFC 近场支付系统,利用SIM 卡实现应用和数据的安全存储,通过手机NFC 控制器与商家POS 机进行通信,运用SOCKET 技术完成POS机与模拟银行支付平台的数据交换,进而实现数据传输及交易过程的安全性,成功实现了在线交易、离线交易、圈存、圈提、交易退款等各种交易过程。

  1 系统设计

  1.1 实现方案比较

  根据支付账户载体的不同,利用NFC 技术实现近场支付的的解决方案主要包NFC-SD、NFC-SIM、NFC 全终端方案三种。

  NFC-SD 方案是将安全模块置于SD 卡中,在手机SD 卡上加载金融账户,劣势是SD卡的发放运营等环节由各行业掌控,无法绑定用户。NFC 全终端方案是指将金融账户直接植入手机,利用内置于手机的 NFC 芯片和金融账户芯片实现近场非接支付,缺点是对手机要求很高,需要用户更换手机。NFC-SIM 方案是指在手机SIM 卡上加载金融账户,支付时调用SIM 卡芯片上的金融账户信息,优点是机卡分离应用,管理更灵活;用户更换手机不影响业务。三种方案的比较如图1 所示[3],综合比较三种方案之后,最终选择了管理更灵活、实现更简洁的NFC-SIM 卡方案。

NFC 近场支付技术方案比较

图1 三类NFC 近场支付技术方案比较

  1.2 系统结构

  本文实现的NFC 移动支付系统的系统结构图如图2 所示,主要包括商户POS 机、POS机接入管理系统、模拟银行支付平台、卡应用下载管理平台。

系统结构图

图2 系统结构图

  1.3 数据库设计

  数据库也是整个近场支付系统的核心之一,所有的系统用户、手机用户、商户信息、POS机信息、银行账号信息以及交易记录都会在近场支付系统的数据库中存储并供系统调用。根据近场支付系统的功能设计了系统用户表、系统用户组表、系统权限表、消费者/商户信息表、POS机信息表、银行账号表、交易记录表以及一些日志记录等表格。数据库设计如图3所示:

数据库设计E-R 图

图3 数据库设计E-R 图

  2 系统实现及测试

  2.1 技术介绍

  为了使前台页面风格统一、实现简便,使用了JQuery EasyUI框架。JQuery EasyUI是一组基于JQuery的用户界面插件集合,它在优化了Ajax使用接口的同时,为Web开发提供了一系列的常用UI组件,包括菜单、对话框、布局、窗帘、表格、表单等等。它是一个优 秀的跨浏览器的JavaScript框架,开发者不需要编写复杂的Javascript代码,也不需要对css样式有深入的了解,只需要了解一些简单的 html标签,就可以轻松地打造出功能丰富并且布局清晰美观的用户界面。通过使用EasyUI框架,开发者将更专注于程序逻辑结构及功能的实现。

  为了使后台代码简洁易维护,选择了Spring MVC和Hibernate框架。Spring MVC在模型,视图和控制器3方面提供非常清晰的划分,灵活的配置功能使其使用极其方便,该框架的主要优势是其良好的设计和分层架构。而Hibernate框架使数据的持久化操作变得简单方便,可以按照面向对象的方法进行数据库的操作。这两个框架之间有很好的相互支持,Spring MVC框架专门为集成Hibernate提供了接口,通过在Spring MVC的配置文件中配置一个SessionFactory实例来实现Spring MVC和Hibernate的集成。

  2.2 POS接入管理系统的实现

  POS接入管理系统主要实现了商户信息管理、商户POS机管理、交易请求转发三大功能,其中交易请求转发为核心功能模块。

  交易请求转发模块作为POS机和模拟银行支付平台的“路由”,当系统进行在线交易、在线交易退款、离线交易退款、圈存、圈提、同步交易记录时,从POS机传来的交易请求到达POS接入管理系统,POS接入管理系统再将交易请求转发给模拟银行支付平台,从模拟银行支付平台传来交易响应时,将交易响应转发到 POS机。这样的目的是为了解决POS机与模拟银行支付平台的接口不一致问题,缓解了POS机和模拟银行支付平台的数据处理压力。由于POS机数据处理能力较弱,只能运用Socket技术进行通信,所以与POS机之间的接口成为了问题的重点,下面做详细介绍:

  考虑到数据的完整接收,在一个TCP连接上只能发送一组命令/响应报文,发送完成后自动断开连接。命令消息发送后等待T秒后未收到响应,应立即重发,再连续发送N-1次后仍未得到响应则停发此消息。参数T、N应可以配置,取值为:T=60秒,N=3。

  消息结构由消息头、消息体以及四个字节的校验位组成,如表1所示。其中消息头包括消息类型、版本、消息总长度、消息流水号四部分,结构如表2所示。消息体包含交易过程中的各种参数,以在线交易为例介绍消息体的结构,如表3所示。

  表1 消息结构

  表2 消息头结构

  表3 消息体结构

  2.3 模拟银行支付平台的实现

  模拟银行支付平台主要实现了银行账户管理、交易请求处理、交易记录管理三大模块。

  其中交易记录管理模块主要是对过往交易进行查询、生成报表文件等功能,可以根据消费者、商户、交易时间、交易类型等信息进行相应交易记录的查询,也可以生成季度、年度交易报表等文件。

  交易请求处理模块主要是处理POS接入管理系统发来的各种交易请求,并给与响应,以在线交易为例,介绍实现方法。在线交易请求采用http接口,传递参数包括交易流水号、交易类型、消费者银行账号、商户银行账号、交易金额等信息,其中敏感信息要采用加密的方式进行传递。而返回的相应信息采用xml文件,文件格式如下:

  <tsn>交易流水号</tsn>

  <status>0或1</status>

  其中status表示在线交易响应状态,0表示在线交易失败,1表示在线交易成功。

  2.4 系统测试

  实现系统功能之后,通过模拟一个用户使用本系统进行各种交易的过程,测试该系统的可行性以及易用性。下面以电子钱包交易为例,介绍测试过程,首先在POS 机上选择电子钱包交易,输入交易金额,然后将安装有电子钱包卡应用的手机放入POS机的识别范围, 从而完成交易过程,操作流程如图4所示。其中进行交易前后电子钱包余额状况对比如图5所示,交易前后余额减少了相应的消费金额,结果表明电子钱包交易成功。

电子钱包交易操过程图

图4 电子钱包交易操作过程图

电子钱包余额对比

图5 电子钱包余额对比图

  通过利用模拟银行支付平台对本系统进行测试,在线交易、电子钱包交易、圈存、圈提、交易退款等功能运行正常,结果表明该方案可行、易操作。

  3 HCE技术

  本文设计实现的近场支付系统是通过SIM卡作为安全模块提供对敏感信息的安全存储并对交易事务提供一个安全的执行环境。当使用安全模块(SIM卡)来提供卡模拟时,安全模块通过NFC芯片中的非接触前端与外部读写设备进行通信,数据的存储和处理都在安全模块中。用户将手机放入NFC终端的识别范围,NFC控制器将从外部读写器接收到的所有数据直接转发到手机内部的安全模块,由安全模块处理,然后再通过NFC控制器将响应数据发送给外部读写终端。

  2013年9月,谷歌公布的安卓4.4 版本采用了一项新的技术HCE(Host-card emulation)160 主机卡模拟——用手机的运算能力来模拟芯片卡。在主机卡模拟模式下,不需要提供安全模块,而是由在手机中运行的一个应用或云端的服务器完成安全模块的功能,绕过了手机内置安全模块的限制。

  与本文设计实现的系统相比,HCE技术提供了一种安全性稍差但是部署起来非常方便的NFC服务解决方案。HCE技术最大优势是不需要安全模块,而 HCE技术面临的最大难题是其安全性问题,没有本文利用安全模块(SIM卡)设计实现的系统硬件级别的安全性高。当然SIM卡安全模块与HCE支持的 NFC支付两种技术并不是对立的,将两种技术结合起来可适用于不同的市场与应用,最有效的解决方案可能为混合模式。

  4 结论

  随着移动支付的迅速发展,用户数和交易规模快速增长,用户急需一种快捷方便的近场支付方式。针对这一需求,本文采用基于SIM卡实现的卡模拟方案,设计并实现了一种NFC移动支付系统。该系统利用SIM卡实现应用和数据的安全存储,通过手机NFC控制器与商家POS机进行通信,利用SOCKET技术完成 POS机与模拟银行支付平台的数据交换,进而实现数据传输及交易过程的安全性。本系统成功实现了在线交易、离线交易、圈存、圈提、交易退款等各种交易过程并进行了测试,结果表明方案可行、易操作。最后,分析了用于实现移动支付的新技术HCE并与本文设计实现的系统进行了比较,这两种技术并不是对立的,将两种技术结合起来可适用于不同的市场与应用。

  作者简介:刘俊丰(1990-),男,学生,Java EE 及信息安全

  通信联系人:范春晓(1962-),女,教授,移动数据安全、数据挖掘、电信网管、物联网等. E-mail:fcx100@gmail.com

  [参考文献]

  [1] 邓煜熙,李清莲,张敏. 2013年全球电信市场回顾 开拓新兴业务 运营商加速转型[J]. 通信世界,2014,08:18-22.

  [2] 袁琦. 移动支付技术方案与标准进展[J]. 信息通信技术,2012,06:34-39.

  [3] 边延风,王建民,曹宁. 移动近场支付系统构建与业务开发实践[J]. 电信技术,2014,02:66-70.

  [4] 熊惠敏. 基于SSH+EasyUI的信用卡资金监管系统的设计与实现[D].厦门大学,2014.

  [5] 韩森,邓停东,张占强. Spring MVC+Hibernate框架的应用研究[J]. 软件导刊,2009,06:44-45.

  [6] Steve Pannifer, Dick Clark, Dave Birch. HCE and SIM Secure Element:It's not black and white[R].British:Consult Hyperion,2014.

  [7] 若水. NFC支付方案并非二选一[N]. 人民邮电,2014-06-17005.

  NFC日报(微信号:nfcdaily)NFC产业第一微信公众平台。

分享到新浪微博      分享到腾讯微博         责任编辑:苏洁   投稿邮箱:editor@yktworld.com
关于 NFC近场支付  移动支付  近场支付 的文章
  • 基于智能卡的移动支付终端分析与研究
  • 智能卡移动支付发展浅析
  • 三种非接触式移动支付技术标准比较
  • 实现移动支付普及的重要因素是安全问题
  • 非接触式移动支付NFC和SIMpass对比
  • 移动支付NFC技术的应用与分析
  • 跨平台NFC软件栈的研究与架构设计
    跨平台NFC软件栈的研究与架构设计
    基于NFC技术的智能引导系统概述、架构及设计
    基于NFC技术的智能引导系统概述、架构及设计
    NFC手机通过CCID接口完成近场通信的方法和原理
    NFC手机通过CCID接口完成近场通信的方法和原理
    基于NFC技术的智能化网络管理应用部署策略
    基于NFC技术的智能化网络管理应用部署策略
    一周点击热点
    相关产品
    最新收录
    新闻   产品   企业   招标   求购
    技术   方案   下载
    关于我们
    网站介绍   广告服务   会员分类   联系方式
    企业推广   产品推广
    Copyright © 一卡通世界网 (粤ICP备11061396号)