本发明涉及一种近场通信移动终端的安全支付系统及方法,属于移动支付技术领域。
背景技术:
随着移动通信和电子商务技术的迅速发展,利用移动终端进行各种线上、线下的非现金交易已经广泛普及,应用场景包括商户收单、个人转账、银行交易管理、公共交通等领域,极大的提高了人们的生活便利性。
现有的非接触式移动支付方式主要包括两种:一种是基于近场通信技术,付款方移动终端(配置有nfc芯片的近场通信移动终端)与收款方pos机具通过近场通信实现交易数据的交互过程,支付过程中,用户需于pos机具上输入支付密码,验证通过,支付完成;另一种是通过扫描付款方的付款二维码,实现交易数据的交互过程,支付过程中,用户需于其移动终端输入支付密码,验证通过,支付完成。
上述两种支付方式,第一种对于线下受理环境要求较高,必须配置非接触受理设备(如pos机具)才能应用,且主要应用于商户收单,使用场景较为单一;第二种目前还不属于国家监管部门认可的金融支付方式,在安全性上存在一定风险,一旦二维码中植入木马等将造成用户资金损失。
本申请人北京银联金卡科技有限公司长期致力于研究移动支付领域的信息安全技术,具有深厚的经验积累和深入的技术研究。为保证近场通信移动终端的数据安全、实现安全支付过程,防止不法分子利用本专利申请提出的近场通信移动终端的安全支付系统及方法,解码出近场通信移动终端之间、及近场通信移动终端与第三方支付平台之间的通信数据,本专利申请请求保密审查,不公开本专利申请的技术内容。
技术实现要素:
鉴于上述原因,本发明的目的在于提供一种近场通信移动终端的安全支付系统及方法,通过交易双方与第三方支付平台之间的保密通信,实现安全支付过程,提高了交易双方的数据安全性,同时保证了用户体验。
为实现上述目的,本发明采用以下技术方案:
一种近场通信移动终端的安全支付方法,包括以下步骤:
s1:收款方移动终端与付款方移动终端协商、确定交易序列号;
s2:付款方移动终端生成第一对称密钥,利用第三方支付平台的公钥对该第一对称密钥加密,将得到的密文第一对称密钥传输至第三方支付平台,第三方支付平台利用其私钥将密文第一对称密钥解密得到第一对称密钥;
s3:收款方移动终端向付款方移动终端发送包括交易金额的交易指令消息,以获取交易数据;
s4:收款方移动终端生成第二对称密钥,利用第三方支付平台的公钥对该第二对称密钥加密,将得到的密文第二对称密钥传输至第三方支付平台,第三方支付平台利用其私钥将密文第二对称密钥解密得到第二对称密钥;
s5:收款方移动终端向第三方支付平台发送密文收款请求消息,该密文收款请求消息是包括交易数据的收款请求消息经第二对称密钥加密生成;
s6:第三方支付平台接收密文收款请求消息,利用第二对称密钥解密得到收款请求消息,然后向付款方移动终端发送经第一对称密钥加密的密文认证请求消息;
s7:付款方移动终端接收密文认证请求消息,利用第一对称密钥解密得到认证请求消息,获取认证信息;
s8:付款方移动终端向第三方支付平台发送密文认证响应消息,该密文认证响应消息是包括认证信息的认证响应消息经第一对称密钥加密生成;
s9:第三方支付平台接收密文认证响应消息,利用第一对称密钥解密得到认证响应消息;
s10:第三方支付平台向清算系统发送包括认证信息的收单请求消息;清算系统向第三方支付平台发送收单响应消息,通知其交易结果。
进一步的,
所述收款请求消息包括根据所述交易数据计算得到的mac值,所述第三方支付平台解密得到所述收款请求消息后,计算其中的交易数据的mac值,并将计算得到的mac值与所述收款请求消息中携带的mac值进行比对,以进行完整性验证。
所述认证请求消息包括第一随机数,所述认证响应消息包括第二随机数,所述第三方支付平台解密得到所述认证响应消息后,将第一随机数与第二随机数进行比较,以进行一致性验证。
所述清算系统生成对称密钥,将该对称密钥发送至所述第三方支付平台,所述第三方支付平台利用该对称密钥对所述认证信息进行加密生成密文认证信息,所述第三方支付平台向清算系统发送包括该密文认证信息的收单请求消息,所述清算系统利用该对称密钥对该密文认证信息进行解密生成所述认证信息,对所述认证信息进行验证。
所述清算系统对所述认证信息进行验证,验证通过后,向所述第三方支付平台发送所述收单响应消息。
收款方移动终端与付款方移动终端之间的交互数据,及收款方、付款方与第三方支付平台之间的交互数据均符合中国金融集成电路(ic)卡规范系列标准。
所述步骤s1中,所述收款方移动终端向付款方移动终端发送包括交易序列号与校验方法的初始交易消息,所述付款方移动终端根据该校验方法对该初始交易消息数据进行相应的校验。
所述认证信息是用户的交易密码。
一种近场通信移动终端的安全支付系统,包括:
付款方移动终端,用于生成第一对称密钥,将该第一对称密钥利用第三方支付平台生成的公钥加密后传输至第三方支付平台,第三方支付平台利用其私钥解密出该第一对称密钥;付款方移动终端向第三方支付平台发送的消息利用该第一对称密钥进行加密然后传输,第三方支付平台收到该消息后利用该第一对称密钥进行解密,第三方支付平台向付款方移动终端发送的消息利用该第一对称密钥进行加密后传输,付款方移动终端收到该消息后利用该第一对称密钥进行解密;
收款方移动终端,用于生成第二对称密钥,将该第一对称密钥利用第三方支付平台生成的公钥加密后传输至第三方支付平台,第三方支付平台利用其私钥解密出该第二对称密钥;收款方移动终端向第三方支付平台发送的消息利用该第二对称密钥进行加密然后传输,第三方支付平台收到该消息后利用该第二对称密钥进行解密,第三方支付平台向收款方移动终端发送的消息利用该第二对称密钥进行加密后传输,收款方移动终端收到该消息后利用该第二对称密钥进行解密;
付款方移动终端与收款方移动终端基于nfc通讯模块实现交易数据的交互,该交易数据包括交易金额数据。
近场通信移动终端的安全支付系统,还包括清算系统,该清算系统将生成的对称密钥发送至所述第三方支付平台,所述第三方支付平台将用户的认证信息经该对称密钥加密后传输至该清算系统,该清算系统利用该对称密钥解密出该认证信息,对该认证信息进行验证。
所述收款方移动终端向所述第三方支付平台发送经所述第二对称密钥加密的收款请求消息,该收款请求消息包括所述交易数据及根据所述交易数据计算得到的mac值,所述第三方支付平台利用所述第二对称密钥解密出该收款请求消息,根据所述交易数据计算mac值,将该mac值与与该收款请求消息中携带的mac值进行比较,以进行完整性验证。
所述第三方支付平台向所述付款方移动终端发送经第一对称密钥加密的认证请求消息,该认证请求消息包括第一随机数,所述付款方移动终端返回经第一对称密钥加密的认证响应消息,该认证响应消息包括第二随机数,所述第三方支付平台解密得到该认证响应消息后,将该第一随机数与第二随机数进行比较,以进行一致性验证。
所述认证信息是用户的交易密码。
本发明的优点是:
1、本发明可实现近场通讯移动终端与第三方支付平台之间的保密通信,通过加解密处理、完整性验证、防重放攻击等技术手段,有效保护用户的敏感信息不被窃取和篡改;
2、系统支持基于jr/t0025中国金融集成电路(ic)卡规范系列标准的快速支付功能,安全可靠性高;
3、本发明可实现近场通信移动终端之间的收单、转账等支付功能,且只要于近场通信移动终端中安装钱包安全应用即可,无需额外配备pos机,提高用户体验,对应用场景无限制,适于推广应用。
附图说明
图1是本发明的安全支付系统的组成框图。
图2是本发明的安全支付方法的流程示意图。
图3a-3d是本发明的安全支付方法的信号流向示意图。
具体实施方式
以下结合附图和实施例对本发明作进一步详细的说明。
如图1所示,本发明公开的近场通信移动终端的安全支付系统,包括收款方移动终端、付款方移动终端、第三方支付平台及清算系统,其中,收款方移动终端与付款方移动终端均为配置有nfc(nearfieldcommunication)通讯模块的近场通信移动终端,收款方移动终端与付款方移动终端分别安装有具有安全支付功能的钱包安全应用,第三方支付平台配置有与该钱包安全应用相对应的安全支付服务器,收款方移动终端与付款方移动终端分别通过网络与第三方支付平台相连接,实现数据交互,收款方移动终端与付款方移动终端之间通过近场通信技术实现数据交互过程。
钱包安全应用包括指令交互控制模块、键盘输入模块、密钥及算法处理模块、报文交互模块;
指令交互控制模块:基于nfc通讯模块,实现交易双方移动终端之间非接触指令的收发,通过组织基于jr/t0025中国金融集成电路(ic)卡规范系列标准的金融指令,实现满足国家监管部门相关功能和安全要求的金融指令交互。
键盘输入模块,对于收款方移动终端,通过该模块输入交易金额;对于付款方移动终端,通过该模块输入认证信息,该认证信息例如是交易密码等用户身份确认信息。
密钥及算法处理模块,用于生成对称密钥,利用第三方支付平台的公钥对生成的对称密钥进行加密处理,利用对称密钥对发送、接收的数据进行加、解密处理,数据完整性验证等。
报文交互模块,生成近场通信移动终端与第三方支付平台之间的各种交互数据消息。
第三方支付平台包括密钥管理模块、报文交互模块、账户管理模块和日志管理模块;
与钱包安全应用的报文交互模块相对应的,第三方支付平台的报文交互模块用于生成第三方支付平台与近场通信移动终端之间的各种交互数据消息。
密钥管理模块,用于生成非对称的公钥、私钥对,管理各近场通信移动终端的对称密钥等。
账户管理模块用于管理各支付账户;日志管理模块用于管理交易日志。
如图2所示,基于上述安全支付系统,本发明公开的近场通信移动终端的安全支付方法,包括以下步骤:
s1:收款方移动终端与付款方移动终端协商同一笔交易的交易序列号;
具体包括:收款方移动终端向付款方移动终端发送初始交易消息(initialtransaction命令),该初始交易消息包括协商的交易序列号与校验方法,付款方移动终端收到该初始交易消息,根据其中的校验方法对初始交易消息数据进行相应的校验过程,校验通过,将初始交易消息中的交易序列号作为交易双方进行该笔交易的交易序列号,后续通过交易序列号同步、识别交易双方同一笔交易的交易数据包;若校验不通过,付款方移动终端向收款方移动终端发送初始交易错误消息,请求重新发送初始交易消息,收款方移动终端收到该初始交易错误消息后,重新与付款方移动终端协商交易序列号。
其中,校验方法可以是奇偶校验法等用于识别数据传输错误的校验方法。
s2:付款方移动终端生成第一对称密钥,该第一对称密钥经加密后传输至第三方支付平台;
第三方支付平台生成公钥和私钥对,近场通信移动终端初始安装钱包安全应用时,第三方支付平台将生成的公钥发送至近场通信移动终端。
付款方移动终端利用其密钥及算法处理模块生成第一对称密钥,并利用第三方支付平台的公钥对该第一对称密钥进行加密,将加密后的密文第一对称密钥发送至第三方支付平台,第三方支付平台收到该密文第一对称密钥,利用其私钥对密文第一对称密钥进行解密得到第一对称密钥,通过密钥管理模块对第一对称密钥进行存储和管理。
第一对称密钥可通过随机生成一组长度固定的随机数确定,密钥长度根据实际风控需要设定。
s3:收款方移动终端向付款方移动终端发送包括交易金额的交易指令消息,以获取交易数据;
具体包括:收款方移动终端通过其键盘输入模块获取交易金额,然后利用其指令交互控制模块通过其nfc通讯模块向付款方移动终端发送交易指令消息,该交易指令消息包括获取交易金额、终端交易属性、交易货币代码等交易数据的命令,该交易指令消息包括符合人民银行颁布的中国金融集成电路(ic)卡规范的selectppse命令、selectaid命令、gpo命令等;
付款方移动终端通过其nfc通讯模块、指令交互控制模块接收到该交易指令消息,按照中国金融集成电路(ic)卡规范对该消息进行解析,然后将相应的交易数据以交易指令响应消息返回至收款方移动终端;该交易指令响应消息为符合人民银行颁布的中国金融集成电路(ic)卡规范的命令响应消息;
收款方移动终端根据接收的交易指令响应消息,解析出交易数据,该交易数据包括交易金额、终端交易属性、交易货币代码等数据。
s4:收款方移动终端生成第二对称密钥,该第二对称密钥经加密后传输至第三方支付平台;
收款方移动终端利用其密钥及算法处理模块生成第二对称密钥,并利用第三方支付平台的公钥对该第二对称密钥进行加密,将加密后的密文第二对称密钥发送至第三方支付平台,第三方支付平台收到该密文第二对称密钥,利用其私钥对密文第二对称密钥进行解密得到第二对称密钥,通过密钥管理模块对第二对称密钥进行存储和管理。
第二对称密钥可通过随机生成一组长度固定的随机数确定,密钥长度根据实际风控需要设定。
s5:收款方移动终端向第三方支付平台发送包括交易数据的收款请求消息;
收款方移动终端按照中国金融集成电路(ic)卡规范的要求,检查交易数据的完整性,若完整性校验错误,则停止后续交易过程。
收款方移动终端计算交易数据的mac值作为完整性校验码,然后通过其报文交互模块生成包括交易序列号、交易数据、完整性校验码的收款请求消息,对该收款请求消息经第二对称密钥加密,将加密后的密文收款请求消息发送至第三方支付平台。
s6:第三方支付平台接收收款请求消息,对交易数据进行验证,验证通过后向付款方移动终端发送认证请求消息;
第三方支付平台收到密文收款请求消息后,利用其保存的第二对称密钥解密得到明文的收款请求消息,计算交易数据的mac值,并将该mac值与收款请求消息中携带的mac值进行比较,若一致,则数据完整性验证通过,若不一致,数据完整性被破坏,停止后续交易过程。
数据完整性验证通过后,第三方支付平台按照中国金融集成电路(ic)卡规范的要求检查收款请求消息的数据格式,以确保数据合法性;检查通过后,记录交易双方账户本次交易的交易数据,生成交易流水号,并将交易流水号与收款方、付款方移动终端进行关联;
收款请求消息的完整性、合法性检查通过后,第三方支付平台生成一校验随机数,利用其报文交互模块生成包括交易序列号、校验随机数、交易金额、收款方信息等信息的认证请求消息,然后利用付款方的第一对称密钥对认证请求消息进行加密,将密文认证请求消息发送至付款方移动终端。
s7:付款方移动终端接收认证请求消息,获取认证信息,然后向第三方支付平台发送认证响应消息;
付款方移动终端收到密文认证请求消息,利用第一对称密钥解密出明文的认证请求消息,然后按照中国金融集成电路(ic)卡规范的要求检查该认证请求消息的合法性,确保交易相关数据的完整性和一致性;
认证请求消息合法性检查通过后,付款方移动终端通过其键盘输入模块获取认证信息,该认证信息包括用户的交易密码或指纹等生物识别特征。
付款方移动终端利用第一对称密钥对包括交易序列号、认证信息、校验随机数的认证响应消息进行加密,将密文认证响应消息发送至第三方支付平台。
s8:第三方支付平台接收认证响应消息,进行一致性验证;
第三方支付平台收到密文认证响应消息,利用第一对称密钥解密得到明文的认证响应消息,按照中国金融集成电路(ic)卡规范的要求检查认证响应消息的合法性,确保交易相关数据的完整性和一致性;
认证响应消息的合法性检查通过后,第三方支付平台将其保存的校验随机数与认证响应消息中的校验随机数进行比较,若二者一致,则一致性验证通过,若不一致,则验证不通过,停止后续交易过程。该验证过程可有效防止重放攻击。
s9:第三方支付平台向清算系统发送收单请求消息;
清算系统生成对称密钥,并将对称密钥发送至第三方支付平台由其保存。
随机数一致性验证通过后,第三方支付平台利用该对称密钥对认证信息进行加密,生成密文认证信息,按照清算系统的相关规范要求(如银联的销售点终端应用规范)计算特定数据段的mac值作为完整性鉴别码,将交易流水号与一报文凭证号相关联(用于识别交易的移动终端),向清算系统发送收单请求消息,该收单请求消息包括密文认证信息、完整性鉴别码等用于清算及确认交易所需的所有数据,收单请求消息的数据内容及格式符合清算系统的相关规范要求。
s10:清算系统向第三方支付平台发送收单响应消息,通知其交易结果;
清算系统根据收到的收单请求消息,利用其保存的对称密钥解密出认证信息,对该认证信息进行验证,验证通过后,按照清算系统的相关规范要求,利用完整性鉴别码验证交易相关数据的完整性,然后对交易双方账户的交易数据进行记录、更新处理;完成后,清算系统向第三方支付平台发送收单响应消息,通知其交易结果。
s11:第三方支付平台向收款方、付款方移动终端返回交易结果消息,同时进行交易日志管理。
第三方支付平台收到清算系统的收单响应消息后,向收款方、付款方移动终端发送交易结果消息,将交易结果通知交易双方,交易双方的交易结束。
第三方支付平台通过其日志管理模块记录、管理交易双方的交易日志,并加密保存。
本发明的近场通信移动终端的安全支付系统及方法,交易双方移动终端将各自的对称密钥发送至第三方支付平台进行保存,后续交易双方移动终端与第三方支付平台之间交互的数据均使用相应的对称密钥进行加解密,实现了交易双方移动终端与第三方支付平台之间的保密通信,同时,支付过程中付款方在其移动终端上完成持卡人认证操作,安全可靠。此外,通过对交易数据进行完整性验证,对用户的认证信息通过随机数进行验证以避免重放攻击,进一步加强了整个支付过程的安全可靠性;支付系统支持基于jr/t0025中国金融集成电路(ic)卡规范系列标准的快速支付功能,安全性高;而且,仅需于近场通信移动终端安装钱包安全应用即可完成收单、转账等支付功能,提高了用户体验,应用场景不受限,适于推广应用。
以上所述是本发明的较佳实施例及其所运用的技术原理,对于本领域的技术人员来说,在不背离本发明的精神和范围的情况下,任何基于本发明技术方案基础上的等效变换、简单替换等显而易见的改变,均属于本发明保护范围之内。