掌桥专利:专业的专利平台
掌桥专利
首页

一种双离线交易方法及服务平台

文献发布时间:2023-06-19 11:19:16


一种双离线交易方法及服务平台

技术领域

本发明涉及一种双离线交易方法及服务平台,属于离线扫码交易技术领域。

背景技术

双离线是指介质和受理终端都离线的情况下完成业务的一个过程,最典型的就是支付业务和核实身份。对支付业务来说,它通过交易完成之后的延期请款来完成闭环交易的过程,其核心是能够快速准确的核实身份,核身后确定该用户的信用额度,再完成支付记账,最后在联网时进行对该用户账户的扣款申请。

这个过程当中,最终要的环节就是身份的核实,需要在终端和介质之间建立一个信任机制,因此介质的身份信息需要向受终端信任的人(身份认证机构,支付平台)来注册申请,而在双离线的环境下,终端无法向平台核验介质的身份,就需要通过对数字签名验签的方式,确保介质的身份信息确由受信平台发放。同时,终端在交易过程中,还需要确认介质的交易信息(如二维码)是由受信的软件或APP生成。因此,在交易过程中,双离线交易采用的是双签名方案,用户身份信息由受信平台签名,交易信息的生成由交易介质(手机等移动端)对交易内容(与本次交易相关的业务数据)进行签名。交易中需要2个签名以及公钥通过反扫二维码等方式传递给终端,再加上交易数据,通过扫码传递的数据量可能会超过200字节(公钥和签名都达到64字节的大小),这对终端扫码解码的要求很高(目前多数支付终端的扫码设备无法解码200字节以上的二维码),提高了对支付终端的硬件要求,增加了终端的成本,降低了支付时扫码识别的速度和成功率。

发明内容

本发明的目的是提供一种双离线交易方法及服务平台,用以解决双离线支付中介质和终端之间交互数据量大导致终端成本高,支付效率低的问题。

为实现上述目的,本发明的方案包括:

本发明的一种双离线交易方法,包括如下步骤:

1)移动端向平台端申请用户授权信息;

2)平台端构建用户授权信息;并通过业务密钥对用户授权信息加密,得到用户授权信息密文,并将用户授权信息密文下发给对应移动端;

3)移动端接受用户授权信息密文并储存;

在交易时,移动端使用用户私钥对数据域进行签名,移动端将数据域、签名、用户公钥生成可识别信息;所述数据域包括当前移动端的用户授权信息密文;

终端获取并解析可识别信息,使用用户公钥进行签名验证;终端验签成功后通过获得的业务密钥解密用户授权信息密文得到用户授权信息,用户授权信息验证通过后进行交易流程。

进一步的,步骤2)中,所述平台端对用户授权信息加密的方法为,平台端随机选择一个密钥索引,根据该密钥索引从业务密钥列表中选出对应的业务密钥,通过该业务密钥对用户授权信息加密;平台端还将该密钥索引作为业务数据发送给移动端。

进一步的,在交易时,所述终端获得业务密钥的方法为,移动端将平台端发来的密钥索引作为业务数据放入数据域中,由终端解析所述可识别信息获得。

进一步的,步骤2)中,所述平台端对用户授权信息加密的方法为,平台端按照设定规则获得一个密钥索引,根据该密钥索引从业务密钥列表中选出对应的业务密钥,通过该业务密钥对用户授权信息加密;所述设定规则的自变量仅与移动端身份相关。

进一步的,在交易时,所述终端获得业务密钥的方法为,终端按照所述设定规则获得与平台端相同的密钥索引,根据该密钥索引从业务密钥列表中选出对应业务密钥。

区别于传统的双签方案,交易过程中,终端在验身时不采用身份验证惯用的数字签名验签的方式,本发明平台端核发的用户授权信息通过服务端密钥平台进行加密,终端验身时采用硬件加密模块进行解密,从而实现用户授权信息核发平台的身份核对。本发明采用采用单签+服务端密钥平台+硬件安全模块的密钥安全机制;密钥分为用户密钥、业务密钥,各自安全独立维护;其中用户密钥用来对交易时的交互数据进行签名和验签,业务密钥用来对授权信息加解密;实现一种新型的高安全级别的双离线短码密钥应用,有效降低了交易时终端和移动端之间的交互数据量,在用于扫码交易时,有效降低了对终端扫码设备识别精度的要求,降低了终端硬件成本。

进一步的,移动端生成用户公钥和用户私钥,移动端使用用户公钥和用户唯一标识向平台端申请用户授权信息。

进一步的,所述用户授权信息在设定时间内有效,超出设定时间后,移动端重新向平台端申请用户授权信息。

用户授权信息采用有效期机制,周期内失效,需要重新交互申请,提高了离线交易的安全性。

本发明的一种双离线交易服务平台,收到移动端发来的用户授权信息申请后,使用用户唯一标识构建用户授权信息;并通过业务密钥对用户授权信息加密,得到用户授权信息密文,并将用户授权信息密文下发给对应移动端。

进一步的,对用户授权信息加密的方法为,平台端随机选择一个密钥索引,根据该密钥索引从业务密钥列表中选出对应的业务密钥,通过该业务密钥对用户授权信息加密;平台端还将该索引值作为业务数据发送给移动端。

进一步的,对用户授权信息加密的方法为,平台端按照设定规则获得一个密钥索引,根据该密钥索引从业务密钥列表中选出对应的业务密钥,通过该业务密钥对用户授权信息加密;所述设定规则的自变量仅与移动端身份相关。

进一步的,根据密钥索引选出业务密钥的方法为,通过密钥索引从密码运算逻辑模块中选出一条密钥作为业务密钥;或者,使用密码运算逻辑模块中的一条固定密钥对密钥索引执行加密算法或分散算法,得到的结果作为业务密钥。交易过程中在终端,采用相同的方式根据密钥索引获得业务密钥。

附图说明

图1是本发明双离线交易方法交互示意图。

具体实施方式

下面结合附图对本发明做进一步详细的说明。

方法实施例1:

本发明的一种双离线交易方法,具体公开了一种基于二维码应用场景下的双离线短码密钥的实现方法,主要应用于一卡通双离线二维码业务中的平台端(受信服务平台,互联网可信站点服务云平台、一卡通平台、密钥平台等交互平台)、移动端(交易中支付方的支付设备软硬件,例如手机上的APP程序,包括安卓、IOS系统的APP)、终端(交易收款方的收款设备软硬件,安卓类终端、IOS类终端、平板类终端等)之间的密钥安全,实现短码交互,支持终端和移动端短期离线交易业务。

如图1所示,该方法的主要工作原理及交互过程如下:

在平时联网环境下:

S1:移动端生成一对用户公、私钥并安全存储;

S2:移动端使用用户公钥、用户唯一标识请求平台端,申请用户授权信息;

S3:平台端接收到移动端用户授权申请请求,使用用户公钥、用户唯一标识、业务数据,构建用户授权信息(一般16字节,可扩展)。其中业务数据包含但不限于用户授权信息有效期、客户标识、信用额度、数据校验等。然后随机选取一个密钥索引(密钥索引一般是0~255,可扩展),调用服务端密钥平台以该密钥索引唯一对应的业务密钥对用户授权信息进行加密,生成用户授权信息密文,并将用户授权信息密文和随机选取的密钥索引下发给移动端;

S4:移动端收到用户授权信息密文和对应的密钥索引后,安全存储,授权到期后重新执行S1~S3,更新用户密钥,重新申请用户授权信息。

在离线状态下需要交易时(终端离线验证过程):

S5:移动端使用用户私钥对数据域(用户授权信息密文+交易业务数据)进行签名,用数据域+签名+用户公钥生成离线二维码,并展示。其中交易业务数据包含但不限于二维码版本、与用户授权信息密文对应的密钥索引、交易时间、交易序号、二维码有效期等交易业务信息;

S6:终端反扫离线二维码后,获得用户授权信息密文、业务数据、签名和用户公钥,终端使用用户公钥验签,失败退出,成功则继续;终端从交易业务数据中获取密钥索引,进而获得对应的业务密钥(密钥索引从平台端获得,因此得到的业务密钥与平台端加密用户授权信息时的业务密钥相同),使用硬件加密模块解密用户授权密文信息,验证用户授权信息是否正确、是否过期,失败退出,成功则继续;此步骤中,若使用从移动端获得的密钥索引在密钥列表中检索出的密钥能够成功解密用户授权信息密文,密钥列表为终端处安全存储的与平台端约定好或者是从受信的平台端获得的(可定时更新),因此可保证用户授权信息密文的来源以及用户授权信息的合法性;

S7:用户授权信息验证通过后,继续验证用户授权信息中的业务数据的合法性,失败退出,成功则继续;

S8:验证成功时,可以继续其他业务流程(例如输入金额进行记账交易),流程结束;否则返回失败信息给移动端和终端,流程结束。

本发明的双离线交易方法采用单签+服务端密钥平台+硬件安全模块的密钥安全机制,交易过程中,终端反扫移动端二维码仅需解码获取一套移动端签名和密钥,移动端仅需将平台端下发的密钥索引传给终端,终端即可完成用户授权信息的认证(通过解密实现认证),大大缩小了离线二维码的尺寸(其大小可缩小近一半,传统双签密钥方案至少160字节,本方案可优化到96字节)。解决了终端设备解码精度的适配问题,减少对高精度扫码设备的依赖性,大大降低了终端成本。

本发明中,移动端单签部分采用SM2但不限于RSA、SM2、ECC等非对称算法;服务端密钥平台,采用加密机设备但不限于加密机设备、加密卡、加密狗、加密软件等密码运算逻辑模块;硬件安全模块部分,采用PSAM卡但不限于PSAM卡、ESAM卡等安全芯片模块。

本发明中所用密钥分为用户密钥、业务密钥,各自安全独立维护;其中用户密钥用来对码数据进行签名和验签,业务密钥用来对授权信息加解密。

本发明用户授权信息采用有效期机制,周期内失效,需要重新交互申请;提高了安全性。

作为其他实施例,终端与移动端离线交互方式除了反扫移动端生成的二维码外,还可以采用NFC近场通信等方式,移动端仅需将交易时的数据域、签名、用户公钥传输给终端即可,采用本发明的方案,能够有效减少交互时的传输数据量,提高终端交易过程中的响应速度。

方法实施例2:

本实施例与实施例1的区别在于,平台端对用户授权信息加密用的业务密钥获得方法,及终端获得该业务密钥的获得方法不同。实施例1中,平台端随机获得密钥索引,基于该密钥索引在密钥列表中获得用户密钥,同时将该随机获得的密钥索引随用户授权信息密文发给移动端,在反扫过程中终端获得该密钥索引,并在与平台端相同的密钥列表中获得业务密钥用于用户授权信息密文的解密。本实施例的方法具体如下:

在平时联网环境下:

S1:移动端生成一对用户公、私钥并安全存储。

S2:移动端使用用户公钥、用户唯一标识请求平台端,申请用户授权信息。

S3:平台端接收到移动端用户授权申请请求,使用用户公钥、用户唯一标识、业务数据,构建用户授权信息(一般16字节,可扩展)。其中业务数据包含但不限于用户授权信息有效期、客户标识、信用额度、数据校验等。然后通过I=f(U)计算密钥索引I,U为移动端明文标识或代码,f(x)为与用户明文标识或代码相关的算法,得到密钥索引I后在密钥列表或密钥数据库中找出唯一对应的业务密钥,调用服务端密钥平台以该密钥索引对应的业务密钥对用户授权信息进行加密,生成用户授权信息密文,并将用户授权信息密文下发给移动端。

S4:移动端收到用户授权信息密文后,安全存储,授权到期后重新执行S1~S3,更新用户密钥,重新申请用户授权信息。

在离线状态下需要交易时(终端离线验证过程):

S5:移动端使用用户私钥对数据域(用户授权信息密文+交易业务数据)进行签名,用数据域+签名+用户公钥生成离线二维码,并展示。其中交易业务数据包含但不限于二维码版本、交易时间、交易序号、二维码有效期等交易业务信息;本实施例中,离线二维码中无需包含与用户授权信息加密相关的(业务密钥、密钥索引等)任何信息。

S6:终端反扫离线二维码后,获得用户授权信息密文、业务数据、签名和用户公钥,终端使用用户公钥验签,失败退出,成功则继续;终端同时获得移动端明文标识或代码U,终端代入U执行算法f(x),得到密钥索引I=f(U)。算法f(x)为终端与平台端预先约定,可定期更新。通过计算出的密钥索引从密钥列表获得对应的业务密钥(密钥列表从平台端获得,基于相同的用户信息明文,采用与平台端相同的算法,因此得到的业务密钥与平台端加密用户授权信息时的业务密钥相同),使用硬件加密模块解密用户授权密文信息,验证用户授权信息是否正确、是否过期,失败退出,成功则继续;此步骤中,若使用约定好的算法计算得到的密钥索引在密钥列表中检索出的密钥能够成功解密用户授权信息密文,密钥列表为终端处安全存储的与平台端约定好的,或者是从受信的平台端获得的,因此可保证用户授权信息密文的来源以及用户授权信息的合法性;

S7:用户授权信息验证通过后,继续验证用户授权信息中的业务数据的合法性,失败退出,成功则继续;

S8:验证成功时,可以继续其他业务流程(例如输入金额进行记账交易),流程结束;否则返回失败信息给移动端和终端,流程结束。

本实施例中,终端根据用户信息计算获得密钥索引,因此在交易扫码中,无需传递任何与用户授权信息加密相关的内容,进一步缩小二维码,降低终端扫码设备的精度要求,降低成本。

平台实施例:

本发明的一种双离线交易服务平台,具体为一种双离线二维码业务中的受信服务平台,例如可以是互联网可信站点服务云平台、一卡通平台、密钥平台等。本发明的双离线交易服务平台作为平台端,实现如方法实施例1、2中的交易方法和过程,具体交互过程已经在方法实施例中介绍的足够清楚,此处不再赘述。

相关技术
  • 一种双离线交易方法及服务平台
  • 一种适用于双离线交易的身份核实方法及终端
技术分类

06120112879710