方法与应用
Method and Application
文章编号:1005-8451(2017)06-0043-04 基于NFC技术的移动支付系统实现方案
吴宇婷1,刘瑛祺2
(1.中国移动通信集团 辽宁有限公司沈阳分公司,沈阳 110000;
2.沈阳新松机器人自动化股份有限公司, 沈阳 110168)
摘 要:介绍NFC移动支付当前主流的技术,给出基于NFC-SWP技术的多应用移动支付实现方案,提供一种后向兼容的多应用卡片规划设计,终端软件设计和平台架构设计。在终端软件设计上,使用过程文件保障交易健壮性;在平台架构设计上,基于容器技术的微服务架构。实践证明,该方案在解决多种支付业务共存的大型复杂业务系统的持续部署和应用扩展方面极具参考价值。 关键词:NFC-SWP;移动支付;过程文件;容器;微服务架构 中图分类号:U285.2∶TP39 文献标识码:A
Implementation scheme of mobile payment system based
on NFC technology
( 1. China Mobile Communications Corporation Liaoning Co. Ltd., Shenyang 110000, China; 2. Intelligent Transit Dept, SIASUN Robot & Automation Co., Shenyang 110168, China )
Abstract: This article introduced the current mainstream technology of mobile payment with NFC, presented the implementation scheme of mobile payment based on NFC-SWP technology, provided an innovative, backward compatible, multi application card planning design, introduced the terminal software design and platform architecture design. In the terminal software design, the process file was used to ensure the robustness of the transaction. On the platform architecture design, the microservice architecture based on container technology was given.
The practice showed that the scheme was of great reference value in solving the continuous deployment and application expansion of large and complex business systems with the coexistence of multiple payment services.Keywords: NFC-SWP; mobile payment; process file; container; microservice architecture
WU Yuting1, LIU Yingqi2
目前,存在3种主流NFC手机支付技术方案,即基于主机的卡模拟(HCE)方案、SIMPass技术方案、NFC-SWP技术方案。
(1)HCE方案是使用手机的NFC功能控制芯片和天线,使用软件或手机的安全芯片(SE)实现卡模拟功能;
(2)SIMPass卡是双界面多应用智能卡,具有非接触和接触两个界面,接触界面实现SIM卡通信功能,非接触界面支持各种非接触应用,由于缺少手机与SIM卡的交互能力,SIMPass作为一种过渡技术,逐步被淘汰;
(3)NFC-SWP方案是基于SIM卡的近场通信(NFC)技术方案,采用NFC手机与NFC-SWP SIM相结合的实现方式,手机的NFC控制器通过单
收稿日期:2017-01-22
作者简介:吴宇婷,工程师;刘瑛祺,工程师。
线协议(SWP)与SIM卡通信,SIM卡充当支付过程中的SE功能。本文主要讨论的是基于NFC-SWP技术的手机支付应用系统解决方案,涵盖从卡片结构规划到支付平台系统设计。
1 技术介绍
1.1 NFC
近场通信(NFC,Near Field Communication)即近距离无线通信技术,工作频率在13.56 MHz,一般在10 cm距离内传输,传输速度可达423 kbit/s。NFC工作方式较为灵活,具有卡模拟、读卡器和点对点3种工作方式。由于工作距离较短、建立连接速度快、芯片成本相对较低,安全机制强大,使得NFC技术大规模应用于身份识别和电子支付。
1.2 SWP
单线协议(SWP,Single Wire Protocol),是用
RCA2017.8总第245期43方法与应用铁 路 计 算 机 应 用2017年8月
于非接触通信模块(CLF)与 USIM卡间传输信息的一种接口协议,SWP 协议定义了 CLF 模块和 USIM卡内的 SE芯片传输信息的物理连接形式和底层信号传输要求等(包括物理层、数据链路层)。SWP协议规定通信端存在主从之分,主端先发送数据给从端,从端响应之后将响应的数据回传给主端,完成一次完整的通信过程。通信过程是面向比特流的点对点模式,通过电压与电流之间的关系,调节电压的高低变化,产生电势差来控制电流的流向,这样SWP协议实现了在一根单线上支持全双工数字传输。
1.3 NFC-SWP卡
NFC-SWP 卡通过SWP 协议与NFC 手机射频芯片连接,其优点是:
(1)机卡适配性优良:SWP 卡片不带天线,由NFC 手机自带的射频芯片和天线实现射频功能,解决了双界面卡带天线导致机卡适配性差的问题。
(2)用户界面友好:SWP 卡提供SIM Alliance-OpenMobileAPI V2 接口,使得手机客户端能够访问SWP 卡,解决了双界面卡只能通过UTK 菜单访问的体验性差的问题。
(3)卡应用承载多样化:SWP 卡遵循Java Card、GlobalPlatform 两大规范,使得卡片可以承载多种卡应用,并提供卡应用的动态更新,即不需要换卡即可升级卡片里的应用。
2 卡片规划
移动支付SIM卡结构规划参考中国人民银行(PBOC)金融规范[1]及住建部城市互联互通应用规范[2-3],整个应用存储空间组织为一个树型的文件系统,规划参考,如图1所示。
MF(3F00)手机支付卡金融应用ADF1城市互联互通应用ADF2专有应用ADF3计次应用ADF4预留应用兼容M1空间 图 1 SIM卡应用规划
442017.8总第245期RCA主控文件(MF)位于整个文件系统的顶层,是通用存储空间的入口,在其下可以建立各种基本文件(EF)和目录文件(DF)。通用存储应用MF中具有自己密钥,并维护全局的应用列表信息,同时也对PIN 的验证状态、DF 状态等进行维护。卡片内金融应用文件布局遵循PBOC金融应用规范,提供标准借贷记与电子现金应用;城市互联互通应用文件布局符合住建部或交通部城市互联互通规范,提供统一规范的城市一卡通应用卡片接口,同时可创建其他应用定义文件(ADF),用于卡片的应用规划,以满足不同需求;M1兼容空间可供传统的基于M1卡的校园一卡通系统使用。
3 方案设计及应用
基于NFC-SWP SIM的手机支付方案是银联和运营商认可的主流模式。以SIM卡为银行卡账户载体,借助移动通信网络,输出手机NFC支付服务能力。基于NFC-SWP技术的移动支付业务标准系统结构如图2所示。
商圈平台移动终端终端用户客户端银联插件 移动支付平台终端外设银联平台 图 2 NFC-SWP移动支付业务标准结构
从图2可以看出:移动终端指智能手机,向终端用户提供空中圈存软件;终端外设是集成读卡器的相关业务设备,如圈存领款机、商户POS机等。终端外设与移动终端进行交互,实现移动终端的离线交易业务;银联平台是银联面向移动互联网应用输出的金融业务接口,提供控件合作模式、加盟银联商圈模式、网购订单合作模式3种商户合作模式[4]。根据NFC-SWP终端软件产品特点,使用控件合作模式更加方便快捷。移动终端内的银联插件作为银联平台的客户端代理,负责与银联平台通信,支持移动终端完成基于NFC-SWP的在线圈存业务。
3.1 移动终端设计
基于NFC-SWP的移动支付是建立在借记/贷记应用基础上的具备脱机小额支付功能的产品。移动终
第26卷第8期吴宇婷等:基于NFC技术的移动支付系统实现方案方法与应用
端的APP软件主要是向用户提供空中圈存界面,通过用户线上支付一定金额,增加NFC-SWP SIM卡中电子钱包应用的余额;支付方式可以是银行卡、商家发行的代金券、积分券等。
资金转移过程即为电子钱包充值过程,电子钱包充值流程,如图3所示。
移动支付空中圈存模型终端APPAPP入口移动支付平台银行支付信息、卡信息、卡片COS指令执行信息,通过过程文件,可以将应用状态、平台状态、发卡方加密机服务状态三者无缝的结合,为业务健壮性、容错智能性、交易安全性提供了保障。与图3对应的过程文件有限状态机,如图4所示。
开始已下单支付结束已取MAC1已发送取MAC2请求完成已发TAC已获TAC已写MAC2已收到MAC2图4 过程文件有限状态机
1.选择交易金额向平台发起圈存请求通知APP扣款完成PBOCInit_for_loadPBOCCredit_for_load上送交易认证码TACTACMAC1签约认证扣款3.2 平台结构设计及部署
调用直连银行提供的下单接口下单API传统企业级应用平台多倾向于单体组件式结构,易于部署,但当应用发生变化,此结构缺陷明显。
(1)持续部署问题:更新某个组件,需要重新部署整个应用,会导致中断与更新组件无关的关键后台任务,可能引发应用的周边影响,部署风险高;
(2)应用扩展困难:单体结构只能进行一维伸缩;(3)不利于规模化开发:微服务结构是一种能够解决单体组件式结构各种局限的有效方案。
微服务结构是面向服务结构(SOA)思想的一种实现,目标是将功能分解,形成离散的服务群,以实现对大型复杂业务系统的解耦。微服务结构采用一组服务的方式来构建一个应用。服务可独立进行部署及扩展伸缩,每个服务定义了明确的边界,有利于规模化开发。
采用微服务的移动支付平台设计,将需求按功能拆分为一组互相协作的服务,每个服务实现一组特定、相关的功能,服务间通信采用消息网关,如图5所示。接入网关Web接口商户管理系统配置报表中心门户Web Portal 移动支付业务平台用户管理数据中心结算管理账户管理客服中心交易管理审计管理支付网关交易接口对账接口第三方对账系统清算接口虚拟券接口虚拟券/积分系统金融机构扣款完成通知银行扣款计算圈存认证数据MAC2交易完成图3 电子钱包充值流程
在卡片钱包充值过程中,卡片与支付平台交互认证是业务流设计核心,过程上采用信息认证码(MAC)和交易认证码(TAC)来保证过程安全可靠。在金融扣款明确成功前提下,卡片COS系统计算充值请求第一步的信息认证码(MAC1),并发送给支付平台,支付平台向发卡方加密机验证卡片基本信息及上送的MAC1,完成MAC1校验后,加密机计算出充值认证码(MAC2),并将MAC2作为请求响应返回终端;终端使用MAC2向卡片COS系统发起充值写卡指令(增加电子钱包余额),并由卡片COS系统返回TAC;终端上送TAC到支付平台,完成充值流程。
为了保证电子钱包充值过程业务健壮性,客户端软件采用过程文件进行交易跟踪。过程文件包含整体过程状态信息、
POS汇聚平台OTA平台短信网关互联网ISMG接口OTA接口BOSS接口POS接口移动BOSS系统移动支付引擎 API消息网关 图5 移动支付平台架构RCA2017.8总第245期45方法与应用铁 路 计 算 机 应 用2017年8月
根据移动支付领域业务特点将平台分解,使得整个系统由消息网关、接入网关、支付网关、移动支付业务平台、移动支付引擎及门户Portal应用构成。而每个应用又分解为独立的、可交互的微服务。一个微服务一般完成某个特定的功能,比如下单管理、订单查询等。每一个微服务都是平台功能应用,都有自己的业务逻辑和运行容器。部分微服务还会发布接口给其它微服务和应用客户端使用。例如:接入网关的 Web服务接口,对外提供空中圈存业务接口,向终端软件输出空圈能力;第三方访问接口用于满足第三方平台访问的需求。系统内应用不直接相互通信,而是通过消息网关API实现消息队列化,API消息网关负责负载均衡、缓存、访问控制、关键业务参数(如交易量)监控等任务。
将移动支付平台设计为微服务后,平台部署将成为解决方案的关键环节。由于微服务结构固有的分布式特性,因此微服务结构的部署存在一定的复杂性。容器技术的出现,可以很大程度上缓解这种分布式特性带来的部署复杂性。Docker是目前流行的容器技术,基于LXC 容器技术的一种实现[5]。在实际应用中,将消息网关、接入网关、支付网关、移动支付业务平台、移动支付引擎及门户Portal应用分别构建了各自的容器镜像,微服务部署到各自应用的容器内。平台上线初期,独立启动应用容器。随着业务量的上升,系统出现不均衡点位的压力,通过监控容器I/O压力及各个微服务业务压力,按需进行资源调整。平台的消息网关在上线初期,由于业务规模小,其工作一直处于警戒负荷下,在推广期间,用户激增,导致其成为平台性能瓶颈,最终通过消息网关的容器集群,以在线的方式解决局部压力导致的平台性能瓶颈,处理过程中未停止平台服务。
462017.8总第245期RCA4 结束语
在移动互联网时代,移动终端的通信能力已经被弱化,转而其增值服务能力逐渐被社会所接受。移动支付是近年来出现的一种新的交易方式,由于移动支付具有便捷、即时的优势,所以移动支付成为一种支付方式是一个必然趋势。伴随着可介入消费领域的成熟、用户消费习惯的形成和基础设施的完备,移动支付业务在未来几年将进入产业规模快速增长的拐点。
目前,国内移动支付产业还处于多种技术解决方案并行的发展状态。本文从多应用卡片规划、移动终端软件健壮性设计、移动支付平台微服务架构设计,给出了基于NFC-SWP SIM的移动支付解决方案。该方案在沈阳NFC手机盛京通应用中得以应用,目前已支撑近10万NFC用户的公交、地铁刷卡消费和空中充值,且还在持续增长中。
参考文献:
[1] 中国人民银行.JR/T 0025.中国金融集成电路(IC)卡规范
V3.0[S]. 北京:中国人民银行,2010.
[2] 中华人民共和国住房和城乡建设部.城市公用事业互联互通
卡通用技术要求:CJ/T 331-2010[S]. 北京:中华人民共和国住房和城乡建设部,2010.
[3] 中华人民共和国住房和城乡建设部.城市公用事业互联互通
卡密钥及安全技术要求:CJ/T 333-2010[S]. 北京:中华人民共和国住房和城乡建设部,2010.
[4] 中国银联.商户合作模式[EBOL].[2016-9-12]. http://mobile.
unionpay. com/preference/
[5] 伍 阳.基于Docker 的虚拟化技术研究[J].信息技术,2016(1):121.
责任编辑 徐侃春
因篇幅问题不能全部显示,请点此查看更多更全内容