CN110751477A - 离线支付方法、服务器、移动终端及装置 - Google Patents

离线支付方法、服务器、移动终端及装置 Download PDF

Info

Publication number
CN110751477A
CN110751477A CN201910809392.9A CN201910809392A CN110751477A CN 110751477 A CN110751477 A CN 110751477A CN 201910809392 A CN201910809392 A CN 201910809392A CN 110751477 A CN110751477 A CN 110751477A
Authority
CN
China
Prior art keywords
key
mobile terminal
server
dispersion
ciphertext
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.)
Pending
Application number
CN201910809392.9A
Other languages
English (en)
Inventor
李晓云
戴友平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Vfuchong Technology Co Ltd
Original Assignee
Shenzhen Vfuchong Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Vfuchong Technology Co Ltd filed Critical Shenzhen Vfuchong Technology Co Ltd
Priority to CN201910809392.9A priority Critical patent/CN110751477A/zh
Publication of CN110751477A publication Critical patent/CN110751477A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • G06Q20/3278RFID or NFC payments by means of M-devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请提供了离线支付方法、服务器、移动终端及具有存储功能的装置。该离线方法包括:服务器接收移动终端获取第一密钥的请求;服务器采用与移动终端有关的第一分散因子和与服务器有关的第二分散因子进行分散运算得到分散密钥;服务器采用分散密钥对第一密钥进行加密,得到第一密钥的密文;服务器向移动终端发送第一密钥的密文,以使得移动终端存储第一密钥并利用第一密钥进行离线支付。通过上述方式,本申请能够实现安全离线支付。

Description

离线支付方法、服务器、移动终端及装置
技术领域
本申请涉及移动支付技术领域,特别是涉及离线支付方法、服务器、移动终端及具有存储功能的装置。
背景技术
近年来,随着智能设备和互联网的发展,线下移动支付变得更加便捷高效。使用移动设备中的二维码、NFC虚拟卡等进行支付,减少了现金、各类证卡的使用量,为人们提供轻松、便捷的支付体验,移动支付已成为大众的主流选择。
发明内容
本申请主要解决的技术问题是提供离线支付方法、服务器、移动终端及具有存储功能的装置,能够实现安全离线支付。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种离线支付方法,该方法包括:服务器接收移动终端获取第一密钥的请求;服务器采用与移动终端有关的第一分散因子和与服务器有关的第二分散因子进行分散运算得到分散密钥;服务器采用分散密钥对第一密钥进行加密,得到第一密钥的密文;服务器向移动终端发送第一密钥的密文,以使得移动终端存储第一密钥并利用第一密钥进行离线支付。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种离线支付方法,该方法包括:移动终端接收来自扣费终端的扣费指令,扣费指令携带验证信息;移动终端响应扣费指令,采用与移动终端有关的第一分散因子和与服务器有关的第二分散因子进行分散运算得到分散密钥;移动终端使用分散密钥解密第一密钥的密文,得到第一密钥的明文,其中,第一密钥的密文是服务器加密第一密钥的明文后发送到移动终端的;移动终端使用第一密钥的明文对验证信息进行验证;移动终端根据验证结果进行后续支付流程。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种服务器,包括处理器、存储器和通信电路,处理器耦接存储器、通信电路,在工作时执行指令,以配合存储器、通信电路实现上述的离线支付方法。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种移动终端,包括处理器、NFC器件和通信电路,处理器耦接NFC器件和通信电路,在工作时执行指令,以配合NFC器件和通信电路实现上述的离线支付方法。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种具有存储功能的装置,其特征在于,具有存储功能的装置存储有程序,程序被执行时实现上述的离线支付方法。
本申请的有益效果是:区别于现有技术,本申请通过对与移动终端有关的分散因子与服务器有关的分散因子进行分散运算,得到分散密钥,使用分散密钥加密移动终端请求的第一密钥,使得只有在与分散因子有关的移动终端上才能解密和使用第一密钥,加密后的第一密钥即使被中间人窃取,也无法解密和使用第一密钥,保障了第一密钥的安全性,保证了用户的资金安全。移动终端存储有第一密钥,支付时可使用存储的第一密钥实现安全离线支付,提高了用户体验。
附图说明
图1是本申请实施例中离线支付***的结构示意图;
图2是本申请离线支付方法第一实施例的流程示意图;
图3是本申请离线支付方法第二实施例的流程示意图;
图4是本申请离线支付方法第三实施例的交互流程示意图;
图5是本申请离线支付方法第四实施例的流程示意图;
图6是本申请离线支付方法第五实施例的交互流程示意图;
图7是本申请服务器一实施例的结构示意图;
图8是本申请移动终端一实施例的结构示意图;
图9是本申请具有存储功能的装置一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
目前的日常生活中,在公共交通、商超等线下支付场景中,大众无需随身携带银行卡、现金等,只需智能设备就能进行线上支付,例如在智能终端上出示付款二维码,或者利用手机的近场通信(Near Field Communication,NFC)功能模拟出一张可用于支付的虚拟卡,扣费终端直接扫描二维码或者近距离感应即可完成扣费。本申请的发明人发现,使用智能设备进行线上支付必须保证网络畅通,若信号不佳则会影响支付的效率,甚至不能完成支付。若将用于支付的密钥直接以明文形式存储于移动终端,以期实现离线支付,则会增加密钥的泄露风险,给用户带来损失。为了解决上述技术问题,本申请提供如下实施例。
请参阅图1,图1是本申请提供的离线支付***的结构示意图。
其中,移动支付***10包括服务器11、移动终端12及扣费终端13。其中,服务器11可以是高性能计算机等设备。移动终端12可以是移动电话、智能电话、平板电脑、个人数字助理(PDA,Personal Digital Assistant)、可穿戴设备等。扣费终端13可以是闸机、POS机、扫描枪、读卡器、移动电话和智能电话等设备。进一步地,服务器11可以用于加密移动支付所需的第一密钥,移动终端12可以用于解密加密后的第一密钥、使用第一密钥验证来自扣费终端13的扣费指令,移动终端12与扣费终端13可以通过NFC等方式建立通信连接。
具体地,移动终端12向服务器11请求用于验证扣费指令的第一密钥,服务器11采用与移动终端12有关的分散因子和与服务器11有关的分散因子进行分散运算,得到分散密钥。服务器11使用分散密钥加密第一密钥后,发送至移动终端12。移动终端12接收服务器11发送的被加密的第一密钥并存储在移动终端12本地。
支付时,移动终端12靠近扣费终端13建立通信连接,例如是NFC通信,扣费终端13发送扣费指令到移动终端12,扣费指令携带有验证信息。移动终端12使用与服务器11生成分散密钥采用的方式,在移动终端12生成分散密钥,并使用分散密钥解密被加密的第一密钥,得到第一密钥的明文。移动终端12使用第一密钥的明文验证扣费指令中携带的验证信息,若验证通过,则根据扣费指令修改交易数据,完成扣费。
对于上述离线支付***具体的支付过程将在下面的实时例中详细描述。
请参阅图2,图2是本申请离线支付方法第一实施例的流程示意图。
本实施例包括如下步骤:
S101:服务器接收移动终端获取第一密钥的请求。
服务器接收来自移动终端发送的获取第一密钥的请求。其中,第一密钥例如是消费密钥。在移动支付时,移动终端使用第一密钥进行相关运算和比对,以验证扣费信息是否合法。
具体地,移动终端与服务器建立通信连接,向服务器发送获取第一密钥的请求。移动终端与服务器之间的通信连接例如采用超文本传输安全协议(https协议),通过https传输的数据是经过加密的密文,即使被恶意窃取,也很难破解,同时,https协议对数据进行摘要处理,即使被篡改也能够被感知。采用https协议能够保障用户的传输的数据的安全性和完整性。当然,移动终端与服务器间的通信连接还可以是其他方式,在此不做限制。
S102:服务器采用与移动终端有关的第一分散因子和与服务器有关的第二分散因子进行分散运算得到分散密钥。
其中,与移动终端有关的第一分散因子例如是移动终端的硬件唯一标识,包括MAC(Media Access Control,介质访问控制,用来定义网络设备的位置,MAC集成在网卡,由48位的16进制的数值组成)地址,EMMC ID(Embedded Multi Media Card Identity,嵌入式多媒体卡标识号,是EMMC Flash的全球唯一硬件标识号,为32位的16进制数值)、ME ID(Mobile Equipment Identifier Identity,移动终端标识号,是全球唯一的56位移动终端标识号)或IMEI(International Mobile Equipment Identity,国际移动设备身份标识)等。第一分散因子还可以包括IP地址标识(Internet Protocol Address,互联网协议地址)等。与服务器有关的第二分散因子例如是用户相关信息,包括用户唯一标识,用户手机号码,用户账号。第二分散因子还可以是后台特征信息,例如服务器生成的随机数等。在一些实施方式中,服务器可以对分散因子进行截短或散列运算等处理,将分散因子处理成为长度一致的字符。
在一些实施方式中,服务器中的第一分散因子是用户在移动终端注册时,移动终端将用户信息与移动终端的唯一标识绑定,发送到服务器,服务器接收移动终端的唯一标识并保存的。因此在服务器中存储有与移动终端有关的第一分散因子。当然,在一些其他的实施方式中,也可以时移动终端向服务器发送获取第一密钥请求的时候,携带移动终端的相关唯一标识。
用于分散运算的第一分散因子和第二分散因子的数量各至少一个,例如一个第一分散因子和一个第二分散因子,或者一个分散因子和多个第二分散因子,或者多个第一分散因子和一个第二分散因子,或者多个第一分散因子和多个第二分散因子。用于分散运算的分散因子越多,得到的分散密钥安全性越高。
服务器对至少一个第一分散因子和至少一个第二分散因子进行计算的方式有多种。例如服务器可以使用第二密钥对至少一个第一分散因子和至少一个第二分散因子进行分层分散运算。例如,服务器使用第二密钥对第一分散因子1进行分散运算,得到分散密钥1;使用分散密钥1对第二分散因子1进行分散运算,得到分散密钥2;使用分散密钥2对第一分散因子2进行分散运算,得到分散密钥3。分散密钥3作为最终用于加密第一密钥的分散密钥。以上分散运算只是举例说明,第一分散因子和第二分散因子的数量和分散运算中的顺序,在此不做限制。其中,第二密钥可以是随机数,也可以是对分散因子截短或取反等操作得到的,还可以是与移动终端事先约定好的一串字符。
在一些其他的实施方式中,服务器还可以是先对至少一个第一分散因子和至少一个第二分散因子进行异或运算或哈希运算,得到复合分散因子,然后服务器使用第二密钥对复合分散因子进行分散运算,得到分散密钥。
在一些实施方式中,分散密钥的数量可以是一个或多个,例如是1个,2个,5个等,在此不做限制。以下2个分散密钥为例描述获得分散密钥的过程。
服务器获取第一组分散因子,其中,第一组分散因子包括至少一个第一分散因子和至少一个第二分散因子。服务器对第一组分散因子进行分散运算,得到第一分散密钥。
服务器获取第二组分散因子,其中,第二组分散因子包括至少一个第一分散因子和至少一个第二分散因子。服务器对第二组分散因子进行分散运算,得到第二分散密钥。
需要说明的是,第一组分散因子和第二组分散因子中的分散因子可以部分相同,还可以完全不同。分散因子不同可以增加获得分散密钥的复杂度,从而提高分散密钥的安全性,避免破解风险。当然,第一组分散银子和第二组分散因子中的分散因子也可以相同,在进行分散运算时可以改变分散因子的先后顺序,以使得第一分散密钥与第二分散密钥不同。
S103:服务器采用分散密钥对第一密钥进行加密,得到第一密钥的密文。
为保证第一密钥的安全性,服务器使用S102中分散得到的分散密钥对第一密钥进行加密,得到第一密钥的密文。
S104:服务器向移动终端发送第一密钥的密文,以使得移动终端存储第一密钥并利用第一密钥进行离线支付。
服务器对第一密钥加密得到第一密钥的密文后,向移动终端发送第一密钥的密文。移动终端接收第一密钥的密文并保存,待支付时解密第一密钥的密文后,用于验证来自扣费终端的扣费指令。
本实施例通过对与移动终端有关的分散因子与服务器有关的分散因子进行分散运算,得到分散密钥,使用分散密钥加密移动终端请求的第一密钥,只有在与分散因子有关的移动终端上才能解密和使用第一密钥,加密后的第一密钥即使被中间人窃取,也无法解密和使用第一密钥,保障了第一密钥的安全性,使得移动终端能够安全使用第一密钥进行离线支付。
在一些例中,为了增加第一密钥的安全性,可以对第一密钥进行分解处理。请参阅图3,图3是本申请离线支付方法第二实施例的流程示意图,本实施例基于第一实施例,相同的实施步骤在此不再赘述。本实施例包括如下步骤:
S201:服务器接收移动终端获取第一密钥的请求。
S202:服务器采用与移动终端有关的第一分散因子和与服务器有关的第二分散因子进行分散运算得到分散密钥。
服务器对至少一组分散密钥进行计算,得到至少一个分散密钥。其中,一组分散密钥包括至少一个第一分散因子和至少一个第二分散因子。
S203:服务器采用分散密钥对第一密钥进行加密,得到第一密钥的密文。
在本实施例中,当分散密钥数量为1时,服务器采用分散密钥对第一分散密钥进行一次加密后得到第一分散密钥的密文。当分散密钥的数量多个(大于等于2)时,服务器采用多个分散密钥对第一密钥进行连续加密。以下以服务器采用2个分散密钥对第一密钥加密得到分散密钥的密文为例,当分散密钥数量大于2时,以此类推:
服务器采用第一分散密钥对第一密钥进行加密,得到第一密钥的中间密文。服务器采用第二分散密钥对第一密钥的中间密文进行加密,得到第一密钥的密文。
S204:服务器将第一密钥的密文分解成m个数据块,得到分解后的第一密钥的密文。
服务器使用分解算法将第一个密钥的密文分解成m(m大于等于2)个数据块,m个数据块的长度可以相同,也可以部分相同,还可以全部不相同。
S205:服务器向移动终端发送分解后的第一密钥的密文,以使得移动终端利用第一密钥进行离线支付。
具体地,服务器与移动终端建立通信连接,将分解后的第一密钥的密文,即m个数据块发送到移动终端,以使得移动终端存储第一密钥的密文,支付时移动终端解密第一密钥的密文从而利用第一密钥进行离线支付。
在一些实施方式中,服务器可以一次性将m个数据块发送到移动终端,移动终端可以更加快速地获得第一密钥。
在一些其他的实施方式中,服务器也可以分多次将m个数据块发送到移动终端,例如分m次每次发送1个数据块到移动终端,也可以是m/2次将m个数据块发送到移动终端,每次发送的数据块数量可以相同也可以不同。具体发送数据块的次数和每次发送数据块的数量的情况有多种,在此不做限制。分次发送m个数据块使得即使部分数据块被窃取,也无法复原出第一密钥的密文,增强了第一密钥的传输和存储的安全性。
本实施例中,通过对与移动终端有关的分散因子与服务器有关的分散因子进行分散运算,得到分散密钥,使用分散密钥加密移动终端请求的第一密钥,只有在与分散因子有关的移动终端上才能解密和使用第一密钥,加密后的第一密钥即使被中间人窃取,也无法解密和使用第一密钥,保障了第一密钥的安全性,使得移动终端能够安全使用第一密钥进行离线支付。同时,将第一密钥的密文分解成多个数据块,分次发送数据块到移动终端中,进一步增强了第一密钥的安全性。
在另一些实施例中,分解第一密钥的密文成m个数据块后,还可以对m个数据块分别加密。请参阅图4,图4是本申请离线支付方法第三实施例的交互示意图,本实施例基于第一实施例,相同的实施步骤在此不再赘述。本实施例包括如下步骤:
移动终端生成获取第一密钥的请求,发送至服务器。服务器接收移动终端获取第一密钥的请求后,采用与移动终端有关的第一分散因子和与服务器有关的第二分散因子进行分散运算得到分散密钥。本实施例以2个分散密钥为例,即服务器生成第一分散密钥和第二分散密钥,具体生成分散密钥的过程参考第一实施例S102,在此不再赘述。
服务器采用第一分散密钥对第一密钥进行加密,得到第一密钥的中间密文。服务器将第一密钥的中间密文分解成m个数据块,其中,m大于等于2。服务器采用第二分散密钥分别对m个数据块进行加密,得到分解后的第一密钥的密文。
当然,在一些其他的实施方式中,还可以是先将第一密钥的明文分解成m个数据块后,再使用分散密钥对m个数据块进行加密。
服务器发送加密后的m个数据块(即分解后的第一密钥的密文)到移动终端,以发送第一密钥的密文到移动终端。具体发送过程参考第二实施例S205,在此不再赘述。
移动终端接收并存储加密后的m个数据块,以使得移动终端利用第一密钥进行离线支付。
在一些实施方式中,在发送加密后的m个数据块到移动终端之前,服务器对m个数据块设置有有效使用时间和/或有效使用次数,只能在有效时间和/或有效次数内使用。超过有效使用时间和/或有效使用次数则失效,则需要移动终端重新向服务器请求第一密钥,以避免第一密钥在移动终端中长期或永久有效,而导致的第一密钥的密文被窃取和破解的风险,提高了第一密钥的安全性。
请参阅图5,图5是本申请离线支付方法第四实施例的流程示意图。
本实施例包括如下步骤:
S401:移动终端接收来自扣费终端的扣费指令,扣费指令携带验证信息。
移动终端与扣费终端建立连接,例如是通过NFC建立通信连接,移动终端接收扣费终端带有验证信息的扣费指令,启动支付流程。
以NFC支付为例,支付时,扣费终端生成扣费指令。用户持移动终端靠近扣费终端,使得移动终端通过扣费终端提供的射频场建立与扣费终端NFC通信连接,并通过移动终端的NFC器件接收扣费终端发送的扣费指令。
S402:移动终端响应扣费指令,采用与移动终端有关的第一分散因子和与服务器有关的第二分散因子进行分散运算得到分散密钥。
移动终端响应于接收到的扣费指令,获取与移动终端有关的第一分散因子和与服务器有关的第二分散因子,按照与服务器获得分散密钥相同的规则,对第一分散因子和第二分散因子进行分散运算,得到分散密钥。
移动终端获取与移动终端有关的第一分散因子可以是移动终端读取本地硬件标识或IP地址标识而获取的,从而保证了分散密钥只能在指定的移动终端(即与分散因子有关的移动终端)上被合成,使得第一密钥的密文即使被窃取,也无法被解密和使用,保证了第一密钥的安全性。
移动终端获得分散密钥的具体方法步骤与服务器获得分散密钥的方法步骤相同,请参阅S102,估在此不再赘述。
S403:移动终端使用分散密钥解密第一密钥的密文,得到第一密钥的明文。
其中,第一密钥的密文是服务器加密第一密钥的明文后发送到移动终端的。移动终端采用S402获得的分散密钥对第一密钥的密文进行解密,得到第一密钥的明文。
S404:移动终端使用第一密钥的明文对验证信息进行验证。
其中,验证信息例如是报文鉴别码(MAC1),MAC1是扣费终端生成的用于移动终端验证扣费终端是否合法及接收到的消息是否正确完整的摘要消息。
第一密钥例如是消费密钥,用于支付时通过消费密钥和预设算法对支付过程中的交易参数进行运算,运算获得的结果与MAC1进行比对,从而验证扣费信息的合法性和正确完整性。
若使用第一密钥的明文对相关交易参数进行计算获得的结果与扣费终端发送的验证信息相同,则验证通过;若不相同,则验证不通过。
S405:移动终端根据验证结果进行后续支付流程。
移动终端对验证信息进行验证,得到验证结果。验证结果有两种:验证通过与验证不通过。移动终端根据不同的验证结果进行后续支付流程。
当验证结果为验证通过时,移动终端修改交易数据,完成扣费。具体地,移动终端本地存储有用户账户的用于移动支付交易数据,包括交易计数器、交易记录、账户余额数据等。移动终端对扣费指令中携带的验证信息验证通过后,根据扣费指令修改交易数据。例如账户余额数据减掉此次交易金额、交易记录增加此次交易事件地点金额、交易计数器加1等。修改交易数据后,移动终端完成了扣费,交易结束。
当验证结果为验证不通过时,交易结束。
本实施例中,通过存储第一密钥的密文在移动终端,使得移动终端可以在进行支付时,解密第一密钥的密文从而实现离线支付,提高了用户体验。在进行离线支付时,移动终端通过采用与移动终端有关的第一分散因子和与服务器有关的第二分散因子进行分散运算得到分散密钥,保证了分散密钥是在与分散因子有关的移动终端上运算生成的,从而保证了第一密钥的在移动终端中存储的安全性,保障了用户账户的资金安全。
在另一些实施例中,为了进一步增强第一密钥的安全性,可以将第一密钥分解成多个数据块。请参阅图6,图6是本申请离线支付方法第五实施例的交互流程示意图。本实施例包括如下步骤:
移动终端向服务器发送获取第一密钥的请求,在一些实施方式中,移动终端提前向服务器发送获取第一密钥的请求,以保存第一密钥在移动终端本地,待支付时使用本地存储的第一密钥实现离线支付。相比于在线支付,不需要受支付时的网络限制。当然,在一些其他的实施方式中,移动终端也可以是在进行移动支付时向服务器请求获取第一密钥。
服务器接收移动终端发送的获取第一密钥的请求。响应于该请求,服务器采用与移动终端有关的第一分散因子和与服务器有关的第二分散因子进行分散运算得到分散密钥,分散密钥的数量可以是1个或多个。
服务器采用分散密钥对第一密钥的明文进行加密,得到第一密钥的密文。在一些实施方式中,为了进一步增强第一密钥的存储和传输的安全性,服务器将第一密钥的密文分解成m个数据块,形成分解后的第一密钥的密文。在一些其他的实施方式中,也可以是将第一密钥的明文分解成m个数据块后再用分散密钥分别对m个数据块进行加密。在又一些实施方式中,还可以是服务器将第一密钥的明文加密形成第一密钥的密文,将第一密钥的密文分解成m个数据块之后,采用与加密第一密钥的明文不同的分散密钥,对m个数据块分别进行加密。
服务器将第一密钥的密文分解成m个数据块之后,分次发送m个数据块到移动终端,避免了第一密钥被一次性全部窃取的可能,提高了第一密钥传输的安全性。
移动终端接收服务器发送的第一密钥的密文。在一些实施方式中,当移动终端接收到的第一密钥的密文是第一密钥的密文的m个数据块时,移动终端将m个数据块分别存储于互不连续的存储区域,以提高密钥在移动终端中存储的安全性。当然,m个数据块不限定于存储于m个存储区域中,每个存储区域数据块的数量可以相同也可以不同,存储区域的数量和每个存储区域中存储的数据块的数量有多种可能,在此不做限制。
移动终端与扣费终端建立通信连接,扣费终端带有验证信息的扣费指令,启动支付流程。以移动终端与扣费终端建立NFC通信连接为例,支付时,扣费终端生成扣费指令。用户持移动终端靠近扣费终端,使得移动终端通过扣费终端提供的射频场建立与扣费终端NFC通信连接,并通过移动终端的NFC器件接收扣费终端传输的扣费指令。
移动终端响应于扣费指令,解密第一密钥的密文得到第一密钥的明文,使用第一密钥的明文验证接收到的扣费指令是否合法。
具体地,移动终端采用与服务器采用的相同的与移动终端有关的第一分散因子和与服务器有关的第二分散因子,使用相同的运算规则,获得分散密钥。移动终端使用分散密钥解密第一密钥的密文,得到第一密钥的明文。
在一些实施方式中,移动终端存储的第一密钥的密文是分解后的m个数据块,在解密第一密钥的密文前,需要先将m个数据块恢复成第一密钥的密文。具体地,移动终端提取存储在不同存储区域中的m个数据块,合并m个数据块以恢复第一密钥的密文。当然,当m个数据块是使用分散密钥加密过的,则需要先对m个数据块进行解密,再合并恢复第一密钥的密文。移动终端使用分散密钥解密第一密钥的密文,得到第一密钥的明文。
在另一些实施方式中,当数据块是第一密钥的明文分解后再进行加密的,那么先使用分散密钥解密m个数据块,再合并恢复得到第一密钥的明文。
在一些实施方式中,服务器对m个数据块设置有有效使用时间和/或有效使用次数,m个数据块只能在有效时间和/或有效次数内使用。超过有效使用时间和/或有效使用次数则m个数据块失效,需要重新向服务器请求第一密钥,以避免第一密钥长期或永久有效,而导致的第一密钥的密文被破解的风险,提高了第一密钥的安全性。因此,移动终端在合并m个数据块恢复第一密钥的密文前,先验证m个数据块的使用期限和/或使用次数是否在有效期限和/或有效使用次数内。若m个数据块的使用期限和/或使用次数在有效期限和/或有效使用次数内,则继续合并m个数据块以恢复第一密钥的密文;若不在有效期限和/或有效使用次数内,则删除m个数据块,并向服务器发送获取第一密钥的请求。
移动终端解密第一密钥的密文得到第一密钥的明文后,使用第一密钥的明文对验证信息进行验证。若验证通过,则修改交易数据,完成扣费。
进一步地,移动终端使用第一密钥的明文对验证信息完成验证后,即删除移动终端中的第一密钥的明文,避免了第一密钥的明文在移动终端中长时间存储而导致的泄露风险,增强了第一密钥的安全性。
进一步地,移动终端完成扣费后,分别向扣费终端和服务器发送扣费成功信息,以同步交易数据。
申请还提供一种服务器用于实现上述离线支付方法,具体请参阅图7,图7是本申请服务器一实施例的结构示意图。在该实施例中,该服务器包括处理器701、存储器702和通信电路703,处理器701耦接存储器702和通信电路703。
处理器701在工作时执行指令,以配合存储器702和通信电路703实现如下步骤:
服务器接收移动终端获取第一密钥的请求;服务器采用与移动终端有关的第一分散因子和与服务器有关的第二分散因子进行分散运算得到分散密钥;服务器采用分散密钥对第一密钥进行加密,得到第一密钥的密文;服务器向移动终端发送第一密钥的密文,以使得移动终端存储第一密钥并利用第一密钥进行离线支付。
需要说明的是,本实施例的服务器所执行的方法步骤是基于上述任一方法实施例的,其实施原理和步骤类似。因此,服务器在被处理器执行时,还可以实现上述任一实施例中的其他方法步骤,在此不再赘述。
本申请还提供一种移动终端用于实现上述离线支付方法,具体请参阅8,图8是本申请移动终端一实施例的结构示意图。
本实施例的移动终端可以是手机、平板电脑,可穿戴设备等具有NFC器件的装置。其中,移动终端包括处理器801、NFC器件802和通信电路803,处理器801耦接NFC器件802和通信电路803。
处理器801在工作时执行指令,以配合NFC器件802和通信电路803实现如下方法步骤:
移动终端接收来自扣费终端的扣费指令,扣费指令携带验证信息;移动终端响应扣费指令,采用与移动终端有关的第一分散因子和与服务器有关的第二分散因子进行分散运算得到分散密钥;移动终端使用分散密钥解密第一密钥的密文,得到第一密钥的明文,其中,第一密钥的密文是服务器加密第一密钥的明文后发送到移动终端的;移动终端使用第一密钥的明文对验证信息进行验证;移动终端根据验证结果进行后续支付流程。
需要说明的是,本实施例的移动终端是基于上述任一方法实施例的一实体终端,其实施原理和步骤类似,在此不再赘述。因此,计算机程序在被处理器801执行时,还可以实现上述任一实施例中的其他方法步骤,在此不再赘述。
参阅图9,图9是本申请提供的计算机存储介质一实施例的结构示意图。
本实施例的计算机存储介质100用于存储计算机程序1001,计算机程序1001被处理器执行以实现如下方法步骤:
移动终端接收来自扣费终端的扣费指令,扣费指令携带有第一验证信息;移动终端使用存储于缓存的虚拟卡密钥对第一验证信息进行验证;若验证通过,则移动终端对虚拟卡数据进行读写,完成扣费。
需要说明的是,本实施例的计算机程序1001所执行的方法步骤是基于上述任一方法实施例的,其实施原理和步骤类似。因此,计算机程序1001在被处理器执行时,还可以实现上述任一实施例中的其他方法步骤,在此不再赘述。
本申请的实施例以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (13)

1.一种离线支付方法,其特征在于,所述方法包括:
服务器接收移动终端获取第一密钥的请求;
所述服务器采用与所述移动终端有关的第一分散因子和与所述服务器有关的第二分散因子进行分散运算得到分散密钥;
所述服务器采用所述分散密钥对所述第一密钥进行加密,得到所述第一密钥的密文;
所述服务器向所述移动终端发送所述第一密钥的密文,以使得所述移动终端存储所述第一密钥并利用所述第一密钥进行离线支付。
2.根据权利要求1所述的方法,其特征在于,所述服务器采用与所述移动终端有关的第一分散因子和与所述服务器有关的第二分散因子进行分散运算得到分散密钥包括:
所述服务器获取第一组分散因子,其中,所述第一组分散因子包括至少一个所述第一分散因子和至少一个所述第二分散因子;
所述服务器使用第二密钥对所述第一组分散因子中的分散因子进行分散运算,得到第一分散密钥;
所述服务器获取不同于所述第一组分散因子的第二组分散因子,其中,所述第二组分散因子包括至少一个所述第一分散因子和至少一个所述第二分散因子;
所述服务器使用所述第二密钥对所述第二组分散因子中的分散因子进行分散运算,得到第二分散密钥。
3.根据权利要求2所述的方法,其特征在于,所述服务器采用所述分散密钥对所述第一密钥进行加密,得到所述第一密钥的密文包括:
所述服务器采用所述第一分散密钥对所述第一密钥进行加密,得到所述第一密钥的中间密文;
所述服务器采用所述第二分散密钥对所述中间密文进行加密,得到所述第一密钥的密文。
4.根据权利要求2所述的方法,其特征在于,所述服务器采用所述分散密钥对所述第一密钥进行加密,得到所述第一密钥的密文包括:
所述服务器采用所述第一分散密钥对所述第一密钥进行加密,得到所述第一密钥的中间密文;
所述服务器将所述第一密钥的中间密文分解成m个数据块,其中,m大于等于2;
所述服务器采用所述第二分散密钥分别对所述m个数据块进行加密,得到分解后的所述第一密钥的密文。
5.根据权利要求1所述的方法,其特征在于,所述服务器向所述移动终端发送所述第一密钥的密文之前,包括:
所述服务器将所述第一密钥的密文分解成m个数据块,得到分解后的所述第一密钥的密文。
6.根据权利要求4或5任一项所述的方法,其特征在于,所述服务器向所述移动终端发送所述第一密钥的密文包括:
所述服务器与所述移动终端建立通信连接;
所述服务器分次发送所述m个数据块到所述移动终端,以发送所述第一密钥的密文到移动终端。
7.一种离线支付方法,其特征在于,所述方法包括:
移动终端接收来自扣费终端的扣费指令,所述扣费指令携带验证信息;
所述移动终端响应所述扣费指令,采用与所述移动终端有关的第一分散因子和与所述服务器有关的第二分散因子进行分散运算得到分散密钥;
所述移动终端使用所述分散密钥解密第一密钥的密文,得到所述第一密钥的明文,其中,所述第一密钥的密文是服务器加密所述第一密钥的明文后发送到所述移动终端的;
所述移动终端使用所述第一密钥的明文对所述验证信息进行验证;
所述移动终端根据验证结果进行后续支付流程。
8.根据权利要求7所述的方法,其特征在于,所述移动终端使用所述分散密钥解密所述第一密钥的密文之前,包括:
所述移动终端向所述服务器发送获取所述第一密钥的请求;
所述移动终端接收所述服务器发送的m个数据块,其中,所述m个数据块是所述服务器使用所述分散密钥对所述第一密钥进行加密后分解得到的;
所述移动终端将所述m个数据块分别存储于互不连续的存储区域。
9.根据权利要求8所述的方法,其特征在于,所述移动终端使用所述分散密钥解密所述第一密钥的密文之前,包括:
所述移动终端提取所述第一密钥的密文的所述m个数据块;
所述移动终端合并所述m个数据块,以恢复所述第一密钥的密文。
10.根据权利要求7至9任一项所述的方法,其特征在于,所述移动终端使用所述第一密钥的明文对所述验证信息进行验证之后,删除所述第一密钥的明文。
11.一种服务器,其特征在于,所述服务器包括处理器、存储器和通信电路,所述处理器耦接所述存储器、通信电路,在工作时执行指令,以配合所述存储器、通信电路实现权利要求1至6任一项所述的离线支付方法。
12.一种移动终端,其特征在于,所述移动终端包括处理器、NFC器件和通信电路,所述处理器耦接所述NFC器件和通信电路,在工作时执行指令,以配合所述NFC器件和通信电路实现权利要求7至10任一项所述的方法。
13.一种具有存储功能的装置,其特征在于,所述具有存储功能的装置存储有程序,所述程序被执行时实现权利要求1至10任一项所述的方法。
CN201910809392.9A 2019-08-29 2019-08-29 离线支付方法、服务器、移动终端及装置 Pending CN110751477A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910809392.9A CN110751477A (zh) 2019-08-29 2019-08-29 离线支付方法、服务器、移动终端及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910809392.9A CN110751477A (zh) 2019-08-29 2019-08-29 离线支付方法、服务器、移动终端及装置

Publications (1)

Publication Number Publication Date
CN110751477A true CN110751477A (zh) 2020-02-04

Family

ID=69275984

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910809392.9A Pending CN110751477A (zh) 2019-08-29 2019-08-29 离线支付方法、服务器、移动终端及装置

Country Status (1)

Country Link
CN (1) CN110751477A (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101098225A (zh) * 2006-06-29 2008-01-02 ***股份有限公司 安全数据传输方法及支付方法、支付终端和支付服务器
CN105635168A (zh) * 2016-01-25 2016-06-01 恒宝股份有限公司 一种脱机交易装置及其安全密钥的使用方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101098225A (zh) * 2006-06-29 2008-01-02 ***股份有限公司 安全数据传输方法及支付方法、支付终端和支付服务器
CN105635168A (zh) * 2016-01-25 2016-06-01 恒宝股份有限公司 一种脱机交易装置及其安全密钥的使用方法

Similar Documents

Publication Publication Date Title
US10666428B2 (en) Efficient methods for protecting identity in authenticated transmissions
US20220116745A1 (en) Methods and systems for asset obfuscation
EP3661120B1 (en) Method and apparatus for security authentication
CN111314056B (zh) 基于身份加密体制的天地一体化网络匿名接入认证方法
CN111552935B (zh) 一种区块链数据授权访问方法及装置
WO2019001061A1 (zh) 支付验证的方法、***及移动设备和安全认证设备
CN111404664B (zh) 基于秘密共享和多个移动设备的量子保密通信身份认证***和方法
CN111130798B (zh) 一种请求鉴权方法及相关设备
CN105553654A (zh) 密钥信息查询处理方法和装置、密钥信息管理***
CN112232814A (zh) 支付密钥的加密和解密方法、支付认证方法及终端设备
CN113507372A (zh) 一种接口请求的双向认证方法
CN111416712B (zh) 基于多个移动设备的量子保密通信身份认证***及方法
CN110212991B (zh) 量子无线网络通信***
CN110401531B (zh) 一种基于sm9算法的协同签名和解密***
CN110176989B (zh) 基于非对称密钥池的量子通信服务站身份认证方法和***
CN110519222B (zh) 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和***
CN102693478A (zh) 一种招投标过程中的投标保证金交易方法及***
CN111901335B (zh) 基于中台的区块链数据传输管理方法及***
CN110266483B (zh) 基于非对称密钥池对和qkd的量子通信服务站密钥协商方法、***、设备
CN110677253B (zh) 基于非对称密钥池和ecc的抗量子计算rfid认证方法及***
Kisore et al. A secure SMS protocol for implementing digital cash system
EP4283549A1 (en) Payment service implementation method and device
CN105812136A (zh) 一种更新方法及***、安全认证设备
CN111277411B (zh) 基于秘密共享和多个移动设备的抗量子计算车载网身份认证***及其方法
CN110751477A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200204

RJ01 Rejection of invention patent application after publication