老师布置的某作业,截取一些,具体想了解请看参考文献
移动支付也称为手机支付,就是允许用户使用其移动终端(通常是手机)对所消费的商品或服务进行账务支付的一种服务方式。单位或个人通过移动设备、互联网或者近距离传感直接或间接向银行金融机构发送支付指令产生货币支付与资金转移行为,从而实现移动支付功能。移动支付将终端设备、互联网、应用提供商以及金融机构相融合,为用户提供货币支付、缴费等金融业务。
移动支付根据实现方式不同主要分为近场支付和远程支付两种。所谓近场支付,就是用手机刷卡的方式坐车、买东西等,很便利。远程支付是指:通过发送支付指令(如网银、电话银行、手机支付等)或借助支付工具(如通过邮寄、汇款)进行的支付方式。
移动支付系统组成示意图如图1所示。
图1、移动支付系统组成示意图
NFC 是由非接触式射频识别(RFID)技术发展而来的,它是由飞利浦公司发起并联合多个大型公司主推的一种近场无线通信技术,这项技术最初只是将 RFID和网络技术进行简单的融合。根据 NFC 技术能够在短距离内与其接口设备相互进行识别,并完成数据交换的原理,NFC 支付就是指用户使用带有 NFC 功能的终端,与支付设备使用 NFC来完成数字支付。
NFC 支付硬件结构有两个重要组成部分:NFC 模拟前端和安全元素。NFC 模拟前端是由 NFC 控制器和 NFC 天线组成,NFC 模拟前端能够接受和发送 NFC 格式的数据,并对收到的数据转发到相应的安全元素中去进行处理;安全元素可以有不同的实现形式,可以是 SIM 卡形式的、外置 SD 卡形式的、嵌入式形式或其它芯片形式。安全元素能够对交易数据进行认证和加密,保证了交易的安全性。如图2。
图2、NFC支付的硬件结构图
NFC在线移动支付流程描述如下:
1)商家NFC POS机器读取客户所选商品信息,生成商品订单,并将订单信息通过NFC链路传递给用户手机;
2) NFC手机验证商家的证书,并核对订单信息;
3)订单确认之后,手机用户需输入PIN码,验证通过后,向移动支付平台提交支付请求;
4)移动支付平台验证用户信息,根据其账户金额余额确认支付请求的有效性;
5)移动支付平台将支付请求传给商家;
6)商家确认交易有效,交易完成。
为了更详细地分析NFC手机完成一次移动支付交易的具体过程,需对NFC手机支付系统的支付交易构建数据流图。首先,明确移动支付业务所有参与方, 主要包括:NFC手机用户、商家前端NFCPOS机、商家后台服务器、第三方支付平台、移动运营商。然后,按照交易流程,分析NFL手机支付交易的数据流图如图3所示。
图3、NFC手机支付系统数据流图
NFC支付密码认证
在保障移动支付安全过程中除了确保设备终端的唯一性还需要保证使用终端的人是合法的,考虑到支付环境的复杂性,我们在使用动态口令时都需要与后台服务器的不断通信,而受限于移动信号的不连续性,我们常常会因为手机信号屏蔽而无法与服务器通信,造成支付无法完成。所以在确认用户的合法时才用静态密码这种最常见方式,在 POS 机与手机终端通讯后,输入静态密码与服务器数据库中密码相匹配,从而验证用户的合法性。 通过终端的身份认证和密码认证,搭建双重的安全认证,保证终端的唯一性和用户的合法性,认证流程如下图:
图4、密码认证
通过身份认证和支付密码认证,为移动支付提供了良好的安全保障,即满足快速便捷的移动支付,也尽最大可能降低风险,保护用户和商家财产安全。
传统的NFC卡模拟有三种模式:点对点,读卡器和卡模拟。前两种技术使用比较广泛,比如两个手机对对碰后可以传输文件采用的是点对点模式,而把公交卡贴在手机背面就可以读出余额和交易记录采用的即是读卡器模式。卡模拟模式则是我们所说的将手机模拟成为一张卡片,基于这种技术,NFC 结合增强安全机制能够在手机等移动设备上使用“虚拟化”智能卡。
NFC 的传统卡模拟是基于安全芯片SE 的卡模拟,一个带有安全芯片 SE 的NFC 卡模拟设备,当一个用户用设备靠近 NFC 终端读卡器时,设备上的 NFC 控制器直接将所有的数据送至安全芯片中。如图5。
图5、使用SE的NFC卡模拟
安全芯片执行与 NFC 终端的通信,没有应用程序参与到交易中来。当交易完成后,应用程序能够查询安全芯片 SE 的交易状态,并能把交易的结果通知给用户。
传统的 NFC 卡模拟的是基于安全元素的卡模拟,即存在一个安全芯片 SE,能够确保敏感信息存储和使用的安全性。但同时也在卡的发行运营方面增加了移动支付的复杂性。
2013年底,安卓操作系统4.4以上版本支持了HCE(host-based card emulation,主机卡模拟)技术,该技术使基于操作系统应用软件直接实现卡模拟技术成为可能,不再要求手机中必须存在安全单元。
在NFC移动设备中存在一个NFC控制器,该芯片的作用是来做路由的决定的,NFC 控制器中存在一个路由表,可以根据消息中的 AID进行判断把数据送至相应的安全芯片中。在含有安全芯片的 NFC 卡模拟中,信息是被直接送到安全芯片中。HCE 改变了这种传统的路由方式,命令可以被 NFC 控制器路由到CPU中的 HCE 服务上,这就脱离了 SE 对 NFC 卡模拟的限制,使得 CPU 中一个可以调用 HCE 服务的应用程序就可以作为 SE 来处理读卡器命令。 当一个 NFC 卡模拟设备使用 HCE 时,数据直接由 NFC 控制器交给终端设备的 CPU,而不是传统的通过 NFC 控制器把数据转发给安全芯片,因此在主机卡模拟系统中就完全的脱离了SE 的限制。如图6。
图6、主机卡模拟消息图
目前很多非接触式智能卡的通信协议,NFC 标准都对其提供了支持,Android 4.4 系统也对这些非接触通信协议提供了支持,因此使用 Android 手机可以进行不同种类的卡模拟。同样很多非接触式读卡器终端也支持这些协议,包括用一部Android 设备作为 NFC 读卡器。
图7、Android HCE协议栈
在没有安全模块的情况下,HCE 支付方案保存芯片卡个人化数据的方式有两种 :一种是完全以软件的加密算法来保存 ;另一种是将个人化数据保存在外部。万事达卡与 Visa 都不约而同地选择了后者,采用将安全模块“云化”,也就是将个人化数据保存在云端,手机客户端仅提供指令传输平台的方式。
基于云的 HCE 支付方案的支付流程如下 :用户打开应用,在通过身份验证后选择想要模拟的芯片卡卡号 ;之后,支付应用通过HCE 技术模拟成一张普通的芯片卡。用户消费时与使用普通非接触芯片卡的过程是相同的。本质上说,云 HCE 支付应用只是一个“路由”——每次交易时,应用会先尝试与服务器建立一个安全可信的通信信道,然后将 POS 传来的交易信息加密后传送至云端处理,其只负责保持云端与 POS 终端的安全通信。云端与客户端的基本支付模块如图 8所示。
图8、云端与客户端的基本支付模块
HCE 云支付卡的实施,可以给商家和客户带来更好的服务和体验,实现合作商家、持卡人、商业银行三方受益的目标。
站在合作商家角度,HCE 云支付卡将带来借力发展的机遇 :一是大幅提高商户收银效率,目前银行卡刷卡输密等支付过程大约需要 12 秒的时间,而 HCE云支付可在 2 秒内完成支付,极大地提高了刷卡收银效率、提升客户购物体验。二是为受理商户带来更多商业机会和年轻时尚的客户群。工行通过 HCE 云支付把一批消费活跃、信用良好、移动互联网应用频繁的时尚客户群吸引到合作商户,不仅在线下可通过商户提供的非接 POS,实现近场挥卡支付,HCE 云支付还能直接绑定线上商户和电商网站,通过 HCE 线上一键支付等功能,帮助电商企业争揽更多线上支付客户,为商户带来巨大的发展商机。三是促进手机厂商的产品销售。只要具备 NFC 功能的安卓手机都可以使用 HCE 云支付,拓展了智能手机的金融应用功能,进一步增强了客户对智能手机的依赖度和对手机品牌的粘性,将有力促进手机销售。
1.基于NFC技术的Android移动支付终端的设计与实现_苏晓燕
2.基于NFC技术的移动支付系统设计与实现_戴尔俶
3.HCE_移动支付里程碑_栾建胜
4.HCE技术在移动支付中的应用研究_张博
5.HCE技术在移动支付中的应用与安全分析_李伟
6.HCE_移动支付领域的革新_胡骁杰