一种基于二维码的脱机支付方法与流程

文档序号:11287969阅读:1254来源:国知局

本发明涉及二维码支付方法,具体说是一种基于二维码的脱机支付方法。



背景技术:

随着智能手机的逐渐普及,二维码作为一种成熟的图像数据编码识别技术,具有手机硬件要求低、识别速度快、可支持用户量大的优点,获得越来越广的应用。而传统的公交行业还停留在刷卡或投币的方式,因此市民对二维码支付在公交行业应用提出了需求。

由于车辆移动、电磁干扰、人流密集以及站台地理位置等因素的影响,公交车辆联网网络存在稳定性差、可靠性低的问题,完全依靠网络的二维码联机支付模式不具备可行性。由此,对二维码脱机支付提出了需求。

二维码脱机支付应满足安全性和便携性的要求。目前,支付代理服务市场处于多家竞争的局面,对终端受理支持提出了开放性和公平竞争的需求:1、实现二维码支付流程的安全性和有效性;2、实现支付交易数据的完整性和不可抵赖性;3、实现多账户发行方接入机制。



技术实现要素:

本发明提供了一种基于二维码的脱机支付方法,可解决上述背景要求。

本发明一种基于二维码的脱机支付方法,包括以下步骤:

1)账户发行方服务器产生用于证书签名的非对称密钥,并将包含有非对称密钥对的公钥和账户发行方信息的账户发行方信息列表以及黑名单发布给终端服务器,将用私钥签名的用户证书发送到通过账户申请的手机客户端;

2)终端服务器生成终端运营方时间戳主密钥,以特定的算法和分散因子分散得到终端运营方时间戳子密钥并发送到账户发行方服务器;同时账户发行方服务器获取终端服务器系统时钟完成时间同步,生成账户发行方时间戳主密钥,同样以特定的算法和分散因子分散得到账号发行方时间戳子密钥;

3)联网状态下手机客户端通过服务接口从账户发行方获取终端运营方时间戳子密钥、账户发行方时间戳子密钥和系统时钟,在脱机支付时根据本地时间和系统时钟的时间偏差计算正确的系统时间,同时根据终端运营方时间戳子密钥和账户发行方时间戳子密钥分别获取终端运营方时间戳和账户发行方时间戳,并将用户证书、系统时间、终端运营方时间戳和账户发行方时间戳作为二维码数据合成二维码;

4)终端在联网状态下与终端服务器完成时钟同步,并通过服务端口获取用以扫码验证数据的系统时钟、黑名单、终端时间戳主密钥和账号发行方信息列表,在脱机状态下完成扫码验证;

5)支付验证通过后,终端将相关的交易数据保存,联网时发送到终端服务器,再由终端服务器形成交易订单提交给账户发行方服务器,账户发行方服务器利用账户发行方时间戳主密钥验证交易订单账户发行方时间戳,验证通过则应予支付,完成交易订单;否则拒绝支付,交易订单作废。

进一步地,所述的非对称密钥采用sm2算法密钥。

进一步地,步骤1)中的所述的用户证书包括用户信息和证书有效期。

进一步地,步骤2)中所述的终端运营方时间戳主密钥和账户发行方时间戳主密钥均为按日周期产生的对称密钥,可由固定密钥对时间数据分散产生或由随机数构成。

进一步地,步骤2)中所述的分散因子包括用户账户信息和证书有效期。

进一步地,步骤4)中扫码验证分为以下步骤:

s1、终端扫描手机客户端生成的二维码,获取二维码数据;

s2、终端使用账户发行方信息列表中的公钥信息判断用户证书签名的有效性,通过进行下一步s3,不通过跳转s7;

s3、终端使用运营方时间戳主密钥按照相同的算法和分散因子计算终端运营方时间戳子密钥,验证二维码数据的终端运营方时间戳的有效性,通过进行下一步s4,不通过跳转s7;

s4、终端验证用户证书有效期的有效性,通过进行下一步s5,不通过跳转s7;

s5、终端验证二维码展示有限期的有效性,通过进行下一步s6,不通过跳转s7;

s6、终端判断用户是否属于黑名单,“是”进行下一步s7,“否”跳转到s8;

s7、交易终止,终端不记录交易数据,跳转s1;

s8、终端认可交易,显示交易成功,并记录交易数据;

s9、终端检测联网信号,若与终端服务器通讯畅通,则终端启动另一线程将交易数据上传到终端服务器,完成后进行下一步s10;否则直接跳转s10;

s10、跳转s1,终端主线程循环上述步骤。

进一步地,步骤5)中验证通过后,账户发行方服务器利用风控系统对拒绝支付的用户判断是否拉入黑名单。

本方法针对公交行业二维码应用的要求和现状提出脱机交易的机制,解决脱机支付的安全性问题:

1、采用非对称密钥签发证书,杜绝用户身份信息被伪造和纂改;

2、非对称密钥由帐户发行方管理,确保帐户发行方的安全权益,终端采用动态更新公钥列表的方式,实现对多个帐户发行方的支持,并保持程序的简单和不变;

3、非对称密钥选取国密sm2标准算法,在保障密钥强度的前提下,减少签名数据长度,从而提高二维码的数据容量,提高识别率;

4、使用时间戳机制,二维码含有时间信息及对时间信息加密计算的时间戳,终端依靠对时间戳的认证,限制二维码脱机使用的时间范围,可使二维码在数秒后永久失效,解决二维码被复制重发的安全问题;

5、采用服务器时钟同步接口,手机客户端和终端统一到服务器进行时钟同步,并使用记录的时间偏移进行纠正,减少终端盒手机客户端的时钟误差。

6、采用双时间戳机制,其中一个时间戳密钥由终端运营方控制,用于防止复制重发,另一个由帐户发行方控制,用于防止终端运营方伪造交易。

7、采用紧急黑名单机制,解决用户恶意透支及用户手机客户端被黑客攻击导致透支额及频度异常的问题。

附图说明

图1是本发明的支付流程图;

具体实施方式

以下结合附图对本发明的实施例作详细描述,以下仅为本发明较佳的实施例,并非用于限制本发明。

如图1,基于二维码的脱机支付,首先需要系统进行初始化,账户发行方服务器采用sm2算法生成以日周期形式更新的非对称密钥;终端服务器定期更新账户发行方信息列表和用户黑名单,账户发行方信息列表包括账户发行方信息和非对称密钥的公钥信息;账户发行方服务器对用户进行信用评估,对用户提供小额支付信用担保,用户通过手机客户端向账号发行方服务器发出账号申请,获得相应以非对称密钥对的私钥签名的用户证书,用户证书包括有用户信息和证书有效期信息。

终端以日周期进行初始化,初始化时会通过服务器接口与终端服务器联网完成时钟同步并下载最新的账户发行方列表和黑名单;终端服务器生成当前日期对应的终端运营方时间戳主密钥,一天对应一条,可一次生成当前日期之后多天的密钥,同时终端通过服务器接口下载运营方时间戳主密钥,可一次下载当前日期之后多天的密钥;终端运营方时间戳主密钥以用户信息和证书有效期作为分散因子,分散获得的终端运营方时间戳子密钥发送到账户发行方服务器。

手机客户端也会按日周期进行初始化,通过服务接口向账户发行方服务器获取系统时钟、账户发行方时间戳子密钥和终端运营方子密钥;账户发行方子密钥由账户发行方服务器以日周期生成的账户发行方时间戳主密钥以用户证书和证书有效期作为分散因子所获得的。

公交车是移动的,无法使用有线网络,站点的无线信号不稳定,终端与终端服务器通讯不畅通;客流量峰值大,人流密集,导致用户端的网络不稳定。公交支付对交易速度和交易稳定性要求高,而联机交易速度慢且依赖网络,环境要求高,只有采取终端和手机客户端全脱机验证的方式。

在脱机状态下,手机根据系统时钟和本地时间的时间偏差计算正确的系统时间,由运营方时间戳子密钥和账户发行方时间戳子密钥获取运营方时间戳和账户发行方时间戳,并以用户证书、系统时间、运营方时间戳和账号发行方时间戳作为二维码数据合成二维码;终端对二维码进行扫码,获取二维码数据,利用事先下载好的系统时钟、黑名单、终端运营方时间戳主密钥和账户发行方列表对二维码进行验证,具体步骤如下:

s1、终端扫描手机客户端生成的二维码,获取二维码数据;

s2、终端使用账户发行方信息列表中的公钥信息判断用户证书签名的有效性,通过进行下一步s3,不通过跳转s7;

s3、终端使用运营方时间戳主密钥按照相同的算法和分散因子计算终端运营方时间戳子密钥,验证二维码数据的终端运营方时间戳的有效性,通过进行下一步s4,不通过跳转s7;

s4、终端验证用户证书有效期的有效性,通过进行下一步s5,不通过跳转s7;

s5、终端验证二维码展示有限期的有效性,通过进行下一步s6,不通过跳转s7;

s6、终端判断用户是否属于黑名单,“是”进行下一步s7,“否”跳转到s8;

s7、交易终止,终端不记录交易数据,跳转s1;

s8、终端认可交易,显示交易成功,并记录交易数据;

s9、终端检测联网信号,若与终端服务器通讯畅通,则终端启动另一线程将交易数据上传到终端服务器,完成后进行下一步s10;否则直接跳转s10;

s10、跳转s1,终端主线程循环上述步骤。

支付验证通过后,终端将相关的交易数据保存,联网时发送到终端服务器,再由终端服务器形成交易订单提交给账户发行方服务器,账户发行方服务器利用账户发行方时间戳主密钥验证交易订单账户发行方时间戳,验证通过则应予支付,完成交易订单;否则拒绝支付,交易订单作废。交易订单通过后,用户可能通过不同途径产生止付操作,账户发行方服务器可通过风控系统分析交易行为产生黑名单。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1