CN110097370B - 脱机支付方法、装置、服务器及介质 - Google Patents
脱机支付方法、装置、服务器及介质 Download PDFInfo
- Publication number
- CN110097370B CN110097370B CN201910253015.1A CN201910253015A CN110097370B CN 110097370 B CN110097370 B CN 110097370B CN 201910253015 A CN201910253015 A CN 201910253015A CN 110097370 B CN110097370 B CN 110097370B
- Authority
- CN
- China
- Prior art keywords
- account
- message information
- payment
- amount
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
- G06Q20/327—Short range or proximity payments by means of M-devices
- G06Q20/3274—Short range or proximity payments by means of M-devices using a pictured code, e.g. barcode or QR-code, being displayed on the M-device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
Abstract
本发明实施例公开了一种脱机支付方法、装置、服务器及介质,方法应用于支付服务器,支付服务器用于存储与第一设备对应的第一账户和与第二设备对应的第二账户;方法包括:接收第二设备发送的第二报文信息;验证第二报文信息的有效性,其中,第二报文信息包括第一报文信息和收款金额,第一报文信息由第一设备在离线状态下,根据预设操作生成;若第二报文信息有效,则根据收款金额,分别更新第一账户中的第一金额和第二账户中的第二金额,以及通知第二设备支付成功。本发明实施例能够实现完全脱机支付。
Description
技术领域
本发明实施例涉及支付技术领域,尤其涉及一种脱机支付方法、装置、服务器及介质。
背景技术
目前,二维码消费交易大部分采用联机交易,即付款设备和收款设备在交易过程中均需要在有网的情况下,才能完成交易,对网络环境依赖性高的同时也存在重放攻击;只是,极少部分在有网时预先保留几个有效的二维码,从而在脱机时可以做数目有限的几次支付;数目有限的几次支付是由设置在付款设备中的时间部件,例如晶振来设置二维码的有效时间。一方面不能从根本解决在线二维码支付时存在的重放攻击,另一方面还会增加制造成本。
发明内容
本发明实施例提供一种脱机支付方法、装置、服务器及介质,目的是为了不能完全脱机支付的问题。
第一方面,本发明实施例提供了脱机支付方法,方法应用于支付服务器,支付服务器用于存储与第一设备对应的第一账户和与第二设备对应的第二账户,方法包括:接收第二设备发送的报文信息;验证报文信息的有效性;其中,报文信息包括第一报文信息和收款金额,第一报文信息由第一设备在离线状态下,根据预设操作生成;若报文信息有效,则根据收款金额,分别更新第一账户中的第一金额和第二账户中的第二金额,以及通知第二设备支付成功。
第二方面,本发明实施例提供了一种脱机支付装置,包括:存储模块,用于存储与第一设备对应的第一账户和与第二设备对应的第二账户;接收模块,用于接收第二设备发送的报文信息;验证模块,用于验证报文信息的有效性;其中,报文信息包括第一报文信息和收款金额,第一报文信息由第一设备在离线状态下,根据预设操作生成;处理模块,用于当报文信息有效时,根据收款金额,分别更新第一账户中的第一金额和第二账户中的第二金额;通知模块,用于通知第二设备支付成功。
第三方面,本发明实施例提供了一种服务器,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现如上述实施方式中第一方面的方法。
第四方面,本发明实施例提供了一种计算机存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。
本发明实施例根据在离线状态下生成的第一报文信息得到第二报文信息,并验证第二报文信息的有效性,以及在第二报文信息为有效时,根据收款金额,分别更新第一金额和第二金额,以及通知第二设备支付成功。第一设备完全不需要联网,就可以生成第一报文信息,降低环境依赖性的同时,也降低了成本,另外,通过该第一报文信息能够实现完全脱机支付。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供了一种脱机支付方法的流程图;
图2为本发明实施例提供了另一种脱机支付方法的流程图;
图3为本发明实施例提供了一种脱机支付装置的示意图;
图4为本发明实施例提供了一种服务器的示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了更好地理解本发明,下面结合图1对本发明实施例的脱机支付方法进行详细描述。
图1位本发明实施例提供了一种脱机支付方法的流程图。如图1所示,该脱机支付方法应用于支付服务器,该支付服务器存储与第一设备对应的第一账户和与第二设备对应的第二账户,该脱机支付方法可包括:
步骤S101:接收第二设备发送的第二报文信息;
步骤S102:验证第二报文信息的有效性;其中,第二报文信息包括第一报文信息和收款金额,第一报文信息由第一设备在离线状态下,根据预设操作生成。
步骤S103:若第二报文信息有效,则根据收款金额,分别更新第一账户中的第一金额和第二账户中的第二金额,以及通知第二设备支付成功。
本发明实施例根据第一报文信息(第一报文信息在离线状态下生成的)得到第二报文信息,并验证第二报文信息的有效性,以及在第二报文信息为有效时,根据收款金额,分别更新第一金额和第二金额,以及通知第二设备支付成功。第一设备完全不需要联网,就可以生成第一报文信息,降低环境依赖性的同时,也降低了成本,另外,通过该第一报文信息能够实现完全脱机支付。
本发明实施例中,步骤S102的验证第二报文信息的有效性,包括:分别验证第一数字签名和第二数字签名的有效性;验证第一编号是否大于或等于第一账户中的报文最小编号;以及,验证第一金额是否大于或等于收款金额。另外,第二报文信息,还包括:第二数字签名;第一报文信息包括第一数字签名和第一编号。
本发明实施例中,步骤S103的当第二报文信息有效时,根据收款金额,分别更新第一账户中的第一金额和第二账户中的第二金额,以及通知第二设备支付成功,具体包括:
若第二报文信息有效,根据收款金额,分别更新第一账户中的第一金额和第二账户中的收款金额,并将报文最小编号加1,以及通知第二设备支付成功
其中,第一报文信息还包括:支付限额;步骤S102的验证第二报文信息的有效性,还包括:验证收款金额的数值是否大于或等于支付限额的数值。
其中,第二报文信息还包括:报文生成时间;步骤S102的验证第二报文信息的有效性,还包括:验证报文生成时间与当前时间之间的差值的绝对值是否小于预设值。
在本发明实施例中,步骤S102的分别验证第一数字签名和第二数字签名的有效性,包括:利用基于身份的密码学(identity-Base Cryptography,IBC)算法中的验签函数,对第一设备的账户名进行处理,以验证第一数字签名的有效性;以及利用IBC算法中的验签函数,对第一设备的账户名进行处理,以验证第二数字签名的有效性。
其中,第一数字签名由第一设备利用IBC算法中的数字签名函数,对第一设备的账户名、第一报文编号和支付限额进行处理得到。
其中,第二数字签名由第二设备利用IBC算法中的数字签名函数,对第二设备的账户名、第一报文信息和收款金额进行处理得到。
在本发明实施例中,在步骤S101之前,该脱机支付方法还包括:分别生成第一账户和第二账户对应的私钥;将第一账户和第一账户对应的私钥写入第一设备中,以及将第二账户和第二账户对应的私钥写入第二设备中;以及将第一账户中的报文最小编号置零。
其中,分别生成第一账户和第二账户对应的私钥,包括:利用IBC算法中的私钥生成函数,对主密钥、第一设备的账户名和公共参数进行处理,得到第一账户对应的私钥;以及利用IBC算法中的私钥生成函数,对主密钥、第二设备的账户名和公共参数进行处理,得到第二账户对应的私钥。
在本发明实施例中,在分别生成第一账户和第二账户对应的私钥之前,该脱机支付方法还包括:分别获得主密钥和公共参数。
其中,分别获得主密钥和公共参数,包括:利用IBC算法中的初始化函数,分别获得主密钥和公共参数。
本发明实施例根据第一报文信息(第一报文信息在离线状态下生成的)得到第二报文信息,并验证第二报文信息的有效性,以及在第二报文信息有效时,根据收款金额,分别更新第一金额和第二金额,以及通知第二设备支付成功。第一设备完全不需要联网,就可以生成第一报文信息,降低环境依赖性的同时,也降低了成本,另外,基于第一报文信息能够实现完全脱机支付,扩展了应用场景。
图2为本发明实施例提供了另一种脱机支付方法的流程图。如图2所示,该脱机支付方法可包括:
第一步:准备阶段;
监管方选择一种IBC算法,调用该算法的初始化函数,得到一个主密钥和公共参数。监管方秘密保存主密钥,同时将公共参数公开。
本发明实施例根据IBC体系中的一个权威方——私钥生成器(PKG)。PKG进行初始化:
(IBC_Master_Key,IBC_Common_Para)=IBC_Setup();
初始化阶段产生一个主密钥(IBC_Master_Key)和一组公共参数(IBC_Common_Para)。主密钥由管理员保存,不可泄露,并将公共参数公开。
需要说明的是,监管方同时管理支付服务器、付款设备(即第一设备)和收款设备(即第二设备)。其中,支付服务器存储帐户,例如第一账户和第二账户,第一账户包括第一设备的账户名,第二账户包括第二设备的账户名;付款设备为脱机设备,与第一账户对应,可以显示二维条形码和/或条形码,还可以具有键盘输入,验证使用者身份的功能,以及具有一个支付报文编号计数器;收款设备为联机设备,与第二账户对应,具备扫描二维码功能,能与支付服务器通信。此外,监管方也可以是一个服务器,监管方和支付服务器可以是同一个服务器,也可以是不同的两个服务器。
本发明实施例通过使用IBC算法,可以让支付服务器不需要存储数字证书的同时,极大压缩脱机支付报文的数据量,使得二维码显示更为方便。其中,IBC是一种新兴的非对称密码学。其特点是用户公钥与用户身份天然相关,不需要再用额外的机制(如数字证书等)来检验这一点。
第二步:设备发行阶段;
(1)、监管方以付款设备的账户名或收款设备的账户名为ID,使用主密钥,调用IBC算法的私钥生成函数,分别得到第一账户对应的私钥和第二账户对应的私钥。
其中,生成第一账户对应的私钥和第二账户对应的私钥包括:
Private_KeyID=IBC_PKG(IBC_Master_Key,ID,IBC_Common_Para);
管理员操作PKG,输入IBC_Master_Key和ID(签名方标识信息)以及IBC_Common_Para,为该用户生成私钥(Private_KeyID)。然后通过可信且保密的手段,将第一账户对应的私钥送到付款设备中,以及将第二账户对应的私钥送到收款设备中。
(2)、监管方将第一账户和第一账户对应的私钥通过保密途径,例如加密或安全通道写入付款设备中;以及监管方将第二账户和第二账户对应的私钥通过保密途径,例如加密或安全通道写入收款设备中。
(3)、监管方将第一账户和第二账户的脱机支付报文最小编号(即报文最小编号)置零。
(4)、监管方将付款设备的支付报文计数器置零。
此后,付款设备和收款设备可以发行至对应的使用者手中。
需要说明的是,第一步和第二步是在付款设备和收款设备未下发到用户手中之前进行操作;第一步和第二步的操作主要是由监管方来进行实施。
第三步:支付阶段;
(1)、使用者操作(即预设操作,触发应用程序)付款设备中的应用程序(具有支付功能的应用程序),生成脱机支付报文(即第一报文信息),其结构如下:
其中,支付报文编号(即报文编号)为付款设备当前支付报文计数器的值;脱机支付报文,还可包括:支付限额,支付限额为预设值或者由付款设备的使用者预先输入的。
第一数字签名为付款设备使用第一账户对应的私钥,调用IBC算法中的数字签名函数,对付款设备的账户名、支付报文编号(即第一编号)和支付限额进行签名得到。付款设备将脱机支付报文以二维条形码和/或条形码的形式显示出来。
在生成脱机支付报文之后,付款设备将其支付报文计数器自加1。
(2)、收款设备扫码付款设备上显示的二维码信息,得到脱机支付报文。
(3)、收款设备生成收款报文(即第二报文信息),其结构如下:
其中,收款报文,还可包括收款报文生成时间。
第二数字签名:收款设备使用第二账户对应的私钥,调用IBC算法中的数字签名函数,对第二设备的账户名、脱机支付报文、收款金额(即收款金额)和收款报文生成时间(即报文生成时间)签名,得到。
第四步:收款设备将收款报文发送给支付服务器。
第五步:支付服务器验证收款报文的有效性。
(1)、支付服务器以收款设备的账户名为ID,调用IBC算法中的验签函数验证第二数字签名的有效性。若无效,则通知收款设备支付失败。
(2)、支付服务器根据脱机支付报文中的付款设备的账户名为ID,调用IBC算法中的验签函数验证收款报文中的脱机支付报文的第一数字签名的有效性。若无效,则通知收款设备支付失败。
(3)、支付服务器通过收款报文中的脱机支付报文的付款设备的账户名检索出第一账户。支付服务器验证脱机支付报文的支付报文编号是否大于或等于第一账户的脱机支付报文最小编号,若否,则通知收款设备支付失败。
(4)、如果脱机支付报文中存在支付限额,则支付服务器验证还需要验证收款报文中的收款金额是否小于或等于支付限额,若否,则通知收款设备支付失败。
(5)、如果收款报文中存在收款报文生成时间,支付服务器还需要验证收款报文生成时间与当前时间之间的差值的绝对值是否小于一个预设的许可值,若否,则通知收款设备支付失败。其中,许可值可以为银行根据安全策略设置的数值。
(6)、支付服务器验证第一账户中的可收款金额(即第一金额)是否大于或等于收款报文中的收款金额,若否,则通知收款设备支付失败。
第六步:若上述验证都通过,支付服务器通过收款报文中的收款设备的账户名检索出第二账户,将第二账户的可收款金额增加收款报文中的收款金额,同时将第一账户的可收款金额减少收款报文中的收款金额,并将第一账户的脱机支付报文最小编号自加1。
第七步:支付服务器通知收款设备支付成功。
需要说明的是,第三步-第七步,是在付款设备和收款设备交付到用户手中之后进行的操作;第五步则是由支付服务器对第三步中生成的收款报文的有效性进行验证,第六步则是在验证成功之后更新第一账户和第二账户中的金额,以及将脱机支付报文最小编号自加1。其中,付款设备和收款设备之间的对应关系,可以是一对一,也可以一对多,也可以多对多,在此不再赘述。
在上文中提到,监管方和支付服务器,可以为不同的服务器;上文中第一步-第二步是由监管方来执行,第四步-第七步由支付服务器来执行。
图3为本发明实施例提供了一种脱机支付装置的示意图。如图3所示,该脱机支付装置包括:
存储模块301,用于存储与第一设备对应的第一账户和与第二设备对应的第二账户;
接收模块302,用于接收第二设备发送的第二报文信息;
验证模块303,用于验证第二报文信息的有效性;其中,第二报文信息包括第一报文信息和收款金额,第一报文信息为第一设备在离线状态下,根据预设操作生成的;
处理模块304,用于当第二报文信息有效时,根据收款金额,分别更新第一账户中的第一金额和第二账户中的第二金额;
通知模块305,用于通知第二设备支付成功。
本发明实施例根据第一报文信息(第一报文信息在离线状态下生成的)得到第二报文信息,并验证第二报文信息的有效性,以及在第二报文信息有效时,根据收款金额,分别更新第一金额和第二金额,以及通知第二设备支付成功。第一设备完全不需要联网,就可以生成第一报文信息,降低环境依赖性的同时,也降低了成本,另外,基于第一报文信息能够实现完全脱机支付,扩展了应用场景。
其中,第一报文信息包括:第一数字签名、第一编号和第一设备的账户名;第二报文信息还包括:第二数字签名;
验证模块303,具体用于:
分别验证第一数字签名和第二数字签名的有效性;
验证第一编号是否大于或等于第一账户中的报文最小编号;以及,
验证第一金额是否大于或等于收款金额。
可选的,处理模块304,还用于:若第二报文信息有效,根据收款金额,分别更新第一账户中的第一金额和第二账户中的收款金额,并将报文最小编号加1。
其中,第一报文信息还包括:支付限额;
验证模块303,还用于:
验证收款金额的数值是否大于或等于支付限额的数值。
其中,第二报文信息还包括:报文生成时间;
验证模块303,还用于:
验证报文生成时间与当前时间之间的差值的绝对值是否小于预设值。
可选的,验证模块303,具体用于:
利用基于身份的密码学IBC算法中的验签函数,对第一设备的账户名进行处理,以验证第一数字签名的有效性;以及
利用IBC算法中的验签函数,对第二设备的账户名进行处理,以验证第二数字签名的有效性。
其中,第一数字签名由第一设备利用IBC算法中的数字签名函数,对第一设备的账户名、第一编号和支付限额进行处理得到。
其中,第二数字签名由第二设备利用IBC算法中的数字签名函数,对第二设备的账户名、第一报文信息和收款金额进行处理得到。
可选的,该脱机支付装置,还包括:
生成模块,用于分别生成第一账户和第二账户对应的私钥;
写入模块,用于将第一账户和第一账户对应的私钥写入第一设备中,以及将第二账户和第二账户对应的私钥写入第二设备中;以及
置零模块,用于将第一账户中的报文最小编号置零。
可选的,生成模块,具体用于:利用IBC算法中的私钥生成函数,对主密钥、第一设备的账户名和公共参数进行处理,得到第一账户对应的私钥;以及利用IBC算法中的私钥生成函数,对主密钥、第二设备的账户名和公共参数进行处理,得到第二账户对应的私钥。
可选的,该脱机支付装置,还包括:
获得模块,用于分别获得主密钥和公共参数。
可选的,获得模块,具体用于:利用IBC算法中的初始化函数,分别获得主密钥和公共参数。
图4为本发明实施例提供了一种服务器的示意图。如图4所示,该服务器40包括:处理器401,存储器402,以及存储在所述存储器402上并可由所述处理器401执行的计算机程序。
所述处理器401在执行存储在所述存储器402上的计算机程序时实现上述任一方法实施例提供的脱机支付方法。
本发明实施例根据第一报文信息(第一报文信息在离线状态下生成的)得到第二报文信息,并验证第二报文信息的有效性,以及在第二报文信息有效时,根据收款金额,分别更新第一金额和第二金额,以及通知第二设备支付成功。第一设备完全不需要联网,就可以生成第一报文信息,降低环境依赖性的同时,也降低了成本,另外,基于第一报文信息能够实现完全脱机支付,扩展了应用场景。
另外,本发明实施例还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例提供的方法。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (12)
1.一种脱机支付方法,其特征在于,所述方法应用于支付服务器,所述支付服务器用于存储与第一设备对应的第一账户和与第二设备对应的第二账户;
所述方法包括:
接收所述第二设备发送的第二报文信息;
验证所述第二报文信息的有效性;其中,所述第二报文信息包括第一报文信息和收款金额,所述第一报文信息由所述第一设备在离线状态下,根据预设操作生成;
若所述第二报文信息有效,则根据所述收款金额,分别更新所述第一账户中的第一金额和所述第二账户中的第二金额,并通知所述第二设备支付成功;
所述第一报文信息包括:第一数字签名、第一编号和第一设备的账户名;所述第二报文信息还包括:第二数字签名;
所述验证所述第二报文信息的有效性,包括:
分别验证第一数字签名和第二数字签名的有效性;
验证所述第一编号是否大于或等于所述第一账户中的报文最小编号;以及,
验证所述第一金额是否大于或等于所述收款金额;
在分别更新所述第一账户中的第一金额和所述第二账户中的收款金额之后,还包括:
若所述第二报文信息有效,根据所述收款金额,分别更新所述第一账户中的第一金额和所述第二账户中的收款金额,并将所述第一账户中的报文最小编号加1,以及通知所述第二设备支付成功;
接收第二设备发送的第二报文信息之前,所述方法还包括:
分别生成所述第一账户和所述第二账户对应的私钥;
将所述第一账户和所述第一账户对应的私钥写入第一设备中,以及将所述第二账户和所述第二账户对应的私钥写入第二设备中;以及
将所述第一账户中的报文最小编号置零。
2.根据权利要求1所述的方法,其特征在于,所述第一报文信息还包括:支付限额;
所述验证所述第二报文信息的有效性,还包括:
验证所述收款金额的数值是否大于或等于所述支付限额的数值。
3.根据权利要求1所述的方法,其特征在于,所述第二报文信息还包括:报文生成时间;
所述验证所述第二报文信息的有效性,还包括:
验证所述报文生成时间与当前时间之间的差值的绝对值是否小于预设值。
4.根据权利要求2所述的方法,其特征在于,分别验证第一数字签名和第二数字签名的有效性,包括:
利用基于身份的密码学IBC算法中的验签函数,对第一设备的账户名进行处理,以验证所述第一数字签名的有效性;以及
利用IBC算法中的验签函数,对第二设备的账户名进行处理,以验证所述第二数字签名的有效性。
5.根据权利要求4所述的方法,其特征在于,其中,
所述第一数字签名由所述第一设备利用IBC算法中的数字签名函数,对第一设备的账户名、第一编号和支付限额进行处理得到。
6.根据权利要求4所述的方法,其特征在于,其中,
所述第二数字签名由所述第二设备利用IBC算法中的数字签名函数,对第二设备的账户名、第一报文信息和收款金额进行处理得到。
7.根据权利要求1所述的方法,其特征在于,所述分别生成所述第一账户和所述第二账户对应的私钥,包括:
利用IBC算法中的私钥生成函数,对主密钥、第一设备的账户名和公共参数进行处理,得到第一账户对应的私钥;以及
利用IBC算法中的私钥生成函数,对主密钥、第二设备的账户名和公共参数进行处理,得到第二账户对应的私钥。
8.根据权利要求7所述的方法,其特征在于,分别生成所述第一账户和所述第二账户对应的私钥之前,还包括:
分别获得主密钥和公共参数。
9.根据权利要求8所述的方法,其特征在于,所述分别获得主密钥和公共参数,包括:
利用IBC算法中的初始化函数,分别获得主密钥和公共参数。
10.一种脱机支付装置,其特征在于,包括:
存储模块,用于存储与第一设备对应的第一账户和与第二设备对应的第二账户;
接收模块,用于接收所述第二设备发送的第二报文信息;
验证模块,用于验证所述第二报文信息的有效性;其中,所述第二报文信息包括第一报文信息和收款金额,所述第一报文信息由所述第一设备在离线状态下,根据预设操作生成;
处理模块,用于当所述第二报文信息有效时,则根据所述收款金额,分别更新所述第一账户中的第一金额和所述第二账户中的第二金额;
通知模块,用于通知所述第二设备支付成功;
所述第一报文信息包括:第一数字签名、第一编号和第一设备的账户名;所述第二报文信息还包括:第二数字签名;
所述验证模块,具体用于:
分别验证第一数字签名和第二数字签名的有效性;
验证所述第一编号是否大于或等于所述第一账户中的报文最小编号;以及,
验证所述第一金额是否大于或等于所述收款金额;
所述处理模块,还用于在分别更新所述第一账户中的第一金额和所述第二账户中的收款金额之后,若所述第二报文信息有效,根据所述收款金额,分别更新所述第一账户中的第一金额和所述第二账户中的收款金额,并将所述第一账户中的报文最小编号加1,以及通知所述第二设备支付成功;
生成模块,用于在接收第二设备发送的第二报文信息之前,分别生成第一账户和第二账户对应的私钥;
写入模块,用于将第一账户和第一账户对应的私钥写入第一设备中,以及将第二账户和第二账户对应的私钥写入第二设备中;
置零模块,用于将第一账户中的报文最小编号置零。
11.一种服务器,其特征在于,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现如权利要求1-9中任一项所述的脱机支付方法。
12.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现如权利要求1-9中任一项所述的脱机支付方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910253015.1A CN110097370B (zh) | 2019-03-29 | 2019-03-29 | 脱机支付方法、装置、服务器及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910253015.1A CN110097370B (zh) | 2019-03-29 | 2019-03-29 | 脱机支付方法、装置、服务器及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110097370A CN110097370A (zh) | 2019-08-06 |
CN110097370B true CN110097370B (zh) | 2022-03-04 |
Family
ID=67444099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910253015.1A Active CN110097370B (zh) | 2019-03-29 | 2019-03-29 | 脱机支付方法、装置、服务器及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110097370B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112785290B (zh) * | 2021-01-28 | 2023-01-03 | 杉德银卡通信息服务有限公司 | 智能金融收款系统及方法 |
CN113256287B (zh) * | 2021-07-05 | 2021-10-15 | 深圳市深圳通有限公司 | 脱机消费管理方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106877996A (zh) * | 2017-02-16 | 2017-06-20 | 西南交通大学 | Pki域内的用户访问ibc域内的资源的认证密钥协商方法 |
CN107194694A (zh) * | 2017-04-14 | 2017-09-22 | 广州羊城通有限公司 | 一种基于二维码的脱机支付方法 |
CN107665427A (zh) * | 2017-08-22 | 2018-02-06 | 阿里巴巴集团控股有限公司 | 一种离线支付、业务处理、支付处理的方法及装置 |
CN108768635A (zh) * | 2018-06-01 | 2018-11-06 | 武汉珈港科技有限公司 | 一种适用于物联网系统的密码标识管理模型及方法 |
CN108985928A (zh) * | 2018-06-07 | 2018-12-11 | 捷德(中国)信息科技有限公司 | 数字货币交易方法、装置、系统及移动终端 |
CN109493016A (zh) * | 2018-10-24 | 2019-03-19 | 中国工商银行股份有限公司 | 基于数字货币的离线支付方法、终端及代理投放设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104376455A (zh) * | 2014-12-04 | 2015-02-25 | 苏州海博智能系统有限公司 | 一种银行卡转账支付的方法 |
CN108805551B (zh) * | 2018-06-06 | 2020-06-30 | 北京航空航天大学 | 一种安全的细粒度预支付方法及装置 |
-
2019
- 2019-03-29 CN CN201910253015.1A patent/CN110097370B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106877996A (zh) * | 2017-02-16 | 2017-06-20 | 西南交通大学 | Pki域内的用户访问ibc域内的资源的认证密钥协商方法 |
CN107194694A (zh) * | 2017-04-14 | 2017-09-22 | 广州羊城通有限公司 | 一种基于二维码的脱机支付方法 |
CN107665427A (zh) * | 2017-08-22 | 2018-02-06 | 阿里巴巴集团控股有限公司 | 一种离线支付、业务处理、支付处理的方法及装置 |
CN108768635A (zh) * | 2018-06-01 | 2018-11-06 | 武汉珈港科技有限公司 | 一种适用于物联网系统的密码标识管理模型及方法 |
CN108985928A (zh) * | 2018-06-07 | 2018-12-11 | 捷德(中国)信息科技有限公司 | 数字货币交易方法、装置、系统及移动终端 |
CN109493016A (zh) * | 2018-10-24 | 2019-03-19 | 中国工商银行股份有限公司 | 基于数字货币的离线支付方法、终端及代理投放设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110097370A (zh) | 2019-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1582024B1 (en) | System, apparatus and method for replacing a cryptographic key | |
CN109194465B (zh) | 用于管理密钥的方法、用户设备、管理设备、存储介质 | |
JP4879176B2 (ja) | ワンタイム秘密鍵を用いたデジタル署名を実装するためのシステムおよび方法 | |
EP3462667A1 (en) | Blockchain based joint blind key escrow | |
US9882890B2 (en) | Reissue of cryptographic credentials | |
US20030163701A1 (en) | Method and apparatus for public key cryptosystem | |
Bicakci et al. | Infinite length hash chains and their applications | |
CN106789033B (zh) | 一种基于无证书签密的电子合同签署方法 | |
CN111191218A (zh) | 一种授权认证方法及装置 | |
CN109981565A (zh) | 基于Meta-BFT共识机制的区块链平台及实现方法 | |
WO2019174402A1 (zh) | 一种群组数字签名的群组成员发布方法和设备 | |
CN111641605B (zh) | 基于动态口令的电子签章方法及系统 | |
CN110097370B (zh) | 脱机支付方法、装置、服务器及介质 | |
CN111355591A (zh) | 一种基于实名认证技术的区块链账号安全的管理方法 | |
CN110690957A (zh) | 基于联盟链和隐式证书的抗量子计算私钥备份、挂失及恢复方法及系统 | |
CN108683506B (zh) | 一种数字证书申请方法、系统、雾节点和证书授权中心 | |
KR101253683B1 (ko) | 연쇄 해시에 의한 전자서명 시스템 및 방법 | |
CN112398658A (zh) | 一种分布式数字证书管理方法和系统、设备及存储介质 | |
CN113051540A (zh) | 一种应用程序接口安全分级治理方法 | |
CN116389111A (zh) | 基于标识的强权限控制模式下联盟链身份认证方式 | |
CN108737103B (zh) | 一种应用于cs架构的sm2算法签名方法 | |
CN110929872B (zh) | 抗量子计算私钥备份、挂失及恢复方法及系统 | |
CN111224776B (zh) | 基于联盟链的私钥备份、挂失及恢复方法及系统 | |
CN116915416B (zh) | 一种证书签名方法、装置以及一种证书获取方法、装置 | |
CN115883096A (zh) | 数据处理方法、系统及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 330096 No. 399 torch street, hi tech Development Zone, Jiangxi, Nanchang Patentee after: Jiede (China) Technology Co.,Ltd. Address before: 330096 No. 399 torch street, hi tech Development Zone, Jiangxi, Nanchang Patentee before: Jiede (China) Information Technology Co.,Ltd. |