CN111178896B - 乘车支付方法、装置及存储介质 - Google Patents
乘车支付方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111178896B CN111178896B CN201911232100.6A CN201911232100A CN111178896B CN 111178896 B CN111178896 B CN 111178896B CN 201911232100 A CN201911232100 A CN 201911232100A CN 111178896 B CN111178896 B CN 111178896B
- Authority
- CN
- China
- Prior art keywords
- card
- payment
- virtual
- signature
- equipment
- 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/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
- G06Q20/4014—Identity check for transactions
-
- 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/3278—RFID or NFC payments by means of M-devices
-
- 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/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
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)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提供了一种乘车支付方法、装置、电子设备及存储介质;方法包括:响应于针对虚拟乘车卡的支付请求,获取所述虚拟乘车卡对应的支付设备的设备标识、及所述虚拟乘车卡对应的第一密钥;基于所述支付设备的设备标识及所述第一密钥,生成对应所述虚拟乘车卡的第一卡数据签名;获取对应所述虚拟乘车卡的第二卡数据签名,所述第二卡数据签名为在所述虚拟乘车卡与授权设备绑定成功后,基于所述授权设备的设备标识及所述第一密钥生成得到;基于所述第二卡数据签名对所述第一卡数据签名进行校验,得到校验结果;当所述校验结果表征校验通过时,基于所述虚拟乘车卡进行乘车支付;通过本发明,能够提高虚拟乘车卡支付的安全性。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种乘车支付方法、装置、电子设备及存储介质。
背景技术
随着互联网技术的发展,乘车支付方式也逐渐多样化。相关技术中,通过近距离无线通信技术(Near Field Communication,NFC),以手机终端模拟实体乘车卡的方式完成乘车支付。但是在交易过程中,会涉及多方之间的数据交互,而由于虚拟乘车卡与手机终端之间并不存在关联性,使得虚拟乘车卡的相关信息在不慎泄露后,其他任意终端都可以盗用该虚拟乘车卡,从而引发财产安全问题。
发明内容
本发明实施例提供一种乘车支付方法、装置、电子设备及存储介质,能够提高虚拟乘车卡支付的安全性。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种乘车支付方法,包括:
响应于针对虚拟乘车卡的支付请求,获取所述虚拟乘车卡对应的支付设备的设备标识、及所述虚拟乘车卡对应的第一密钥;
基于所述支付设备的设备标识及所述第一密钥,生成对应所述虚拟乘车卡的第一卡数据签名;
获取对应所述虚拟乘车卡的第二卡数据签名,所述第二卡数据签名为在所述虚拟乘车卡与授权设备绑定成功后,基于所述授权设备的设备标识及所述第一密钥生成得到;
基于所述第二卡数据签名对所述第一卡数据签名进行校验,得到校验结果;
当所述校验结果表征校验通过时,基于所述虚拟乘车卡进行乘车支付。
本发明实施例还提供一种乘车支付装置,包括:
第一获取模块,用于响应于针对虚拟乘车卡的支付请求,获取所述虚拟乘车卡对应的支付设备的设备标识、及所述虚拟乘车卡对应的第一密钥;
生成模块,用于基于所述支付设备的设备标识及所述第一密钥,生成对应所述虚拟乘车卡的第一卡数据签名;
第二获取模块,用于获取对应所述虚拟乘车卡的第二卡数据签名,所述第二卡数据签名为在所述虚拟乘车卡与授权设备绑定成功后,基于所述授权设备的设备标识及所述第一密钥生成得到;
校验模块,用于基于所述第二卡数据签名对所述第一卡数据签名进行校验,得到校验结果;
支付模块,用于当所述校验结果表征校验通过时,基于所述虚拟乘车卡进行乘车支付。
上述方案中,所述装置还包括:
接收模块,接收到针对所述虚拟乘车卡的卡数据读取请求;
返回所述虚拟乘车卡的卡数据及所述第一密钥,以基于所述卡数据及所述第一密钥生成第一交易签名;
所述校验模块还用于当所述支付请求中携带所述第一交易签名时,基于所述卡数据及所述第一密钥,生成第二交易签名;
基于所述第二交易签名对所述第一交易签名进行校验。
上述方案中,所述生成模块,还用于获取对应所述虚拟乘车卡的交易数据;
基于所述交易数据及所述第一密钥生成第一交易数据签名;
所述第一交易数据签名,用于供对所述第一交易数据签名验证后确认所述乘车支付对应的支付状态。
上述方案中,所述生成模块,还用于基于所述交易数据、所述支付设备的设备标识及所述第一密钥,生成第二交易数据签名;
发送所述交易数据及所述第二交易数据签名,以对所述第二交易数据签名进行校验,并基于校验结果确定所述虚拟乘车卡的风险状态。
上述方案中,所述装置还包括:
发送模块,用于发送所述虚拟乘车卡的卡数据获取请求;
接收返回的用于验证用户信息的通知消息,所述通知消息为基于所述卡数据获取请求,在所述风险状态表征所述虚拟乘车卡存在数据泄露风险时所返回。
上述方案中,所述装置还包括:
提示模块,用于当所述校验结果表征校验不通过时,返回表征乘车支付失败的提示信息。
上述方案中,所述发送模块,还用于发送对应待授权设备的授权请求,所述授权请求携带所述待授权设备的设备标识、所述待授权设备对应的用户信息及所述用户信息对应的虚拟乘车卡标识,以使在对所述用户信息及所述虚拟乘车卡标识校验通过后,建立所述虚拟乘车卡标识与所述待授权设备的设备标识之间的关联关系,以实现所述虚拟乘车卡与授权设备的绑定;
接收返回的所述待授权设备已授权成功的通知信息。
上述方案中,所述生成模块,还用于基于所述支付设备的设备标识、及所述支付设备对应的第二密钥,生成对应所述支付设备的设备签名;
发送所述虚拟乘车卡的卡数据获取请求,所述获取请求携带所述支付设备的设备标识及所述设备签名,以使对所述设备签名校验通过且所述支付设备的设备标识与所述授权设备的设备标识一致时,返回所述虚拟乘车卡的卡数据;
接收返回的所述虚拟乘车卡的卡数据。
本发明实施例还提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的乘车支付方法。
本发明实施例还提供一种存储介质,存储有可执行指令,所述可执行指令被处理器执行时,实现本发明实施例提供的乘车支付方法。
本发明实施例具有以下有益效果:
基于获取的支付设备的设备标识及虚拟乘车卡的第一密钥,生成第一卡数据签名,终端通过从服务器获取的虚拟乘车卡的第二卡数据签名、对第一卡数据签名进行自行校验,只有在校验结果为验证通过时,才基于该虚拟乘车卡进行乘车支付;由于第二卡数据签名是在虚拟乘车卡与授权设备绑定成功后,服务器基于授权设备的设备标识及第一密钥生成的,终端基于第二卡数据签名对第一卡数据签名进行校验则确定了当前持有该虚拟乘车卡的支付设备即为授权设备,进而提高了虚拟乘车卡支付的安全性。
附图说明
图1是本发明实施例提供的乘车支付系统的架构示意图;
图2是本发明实施例提供的电子设备的结构示意图;
图3是本发明实施例提供的乘车支付方法的流程示意图;
图4是本发明实施例提供的区块链网络的应用架构示意图;
图5是本发明实施例提供的区块链网络80中区块链的结构示意图;
图6是本发明实施例提供的区块链网络80的功能架构示意图;
图7是本发明实施例提供的虚拟乘车卡与授权设备绑定方法的流程示意图;
图8是本发明实施例提供的虚拟乘车卡的卡数据获取方法的流程示意图;
图9是本发明实施例提供的乘车支付方法的流程示意图;
图10是本发明实施例提供的乘车支付装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)签名,即数字签名,只有信息的发送者才能产生的、别人无法伪造的一段数字串,同时也是对信息的发送者发送信息真实性的有效证明;数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证,是非对称密钥加密技术与数字摘要技术的应用。
2)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
3)交易(Transaction),等同于计算机术语“事务”,交易包括了需要提交到区块链网络执行的操作,并非单指商业语境中的交易,鉴于在区块链技术中约定俗成地使用了“交易”这一术语,本发明实施例遵循了这一习惯。
例如,部署(Deploy)交易用于向区块链网络中的节点安装指定的智能合约并准备好被调用;调用(Invoke)交易用于通过调用智能合约在区块链中追加交易的记录,并对区块链的状态数据库进行操作,包括更新操作(包括增加、删除和修改状态数据库中的键值对)和查询操作(即查询状态数据库中的键值对)。
4)区块链(Blockchain),是由区块(Block)形成的加密的、链式的交易的存储结构。
5)区块链网络(Blockchain Network),通过共识的方式将新区块纳入区块链的一系列的节点的集合。
6)账本(Ledger),是区块链(也称为账本数据)和与区块链同步的状态数据库的统称。其中,区块链是以文件系统中的文件的形式来记录交易;状态数据库是以不同类型的键(Key)值(Value)对的形式来记录区块链中的交易,用于支持对区块链中交易的快速查询。
7)智能合约(Smart Contracts),也称为链码(Chaincode)或应用代码,部署在区块链网络的节点中的程序,节点执行接收的交易中所调用的智能合约,来对状态数据库的键值对数据进行更新或查询的操作。
8)共识(Consensus),是区块链网络中的一个过程,用于在涉及的多个节点之间对区块中的交易达成一致,达成一致的区块将被追加到区块链的尾部,实现共识的机制包括工作量证明(PoW,Proof of Work)、权益证明(PoS,Proof of Stake)、股份授权证明(DPoS,Delegated Proof-of-Stake)、消逝时间量证明(PoET,Proof of Elapsed Time)等。
基于上述对本发明实施例中涉及的名词和术语的解释,下面说明本发明实施例提供的乘车支付系统,参见图1,图1是本发明实施例提供的乘车支付系统的架构示意图,为实现支撑一个示例性应用,终端(包括终端200-1和终端200-2)通过网络300连接服务器100,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线或有线链路实现数据传输。
终端(如终端200-1),用于响应于针对虚拟乘车卡的支付请求,获取虚拟乘车卡对应的支付设备的设备标识、及虚拟乘车卡对应的第一密钥;基于支付设备的设备标识及第一密钥,生成对应虚拟乘车卡的第一卡数据签名;向服务器发送对应虚拟乘车卡的第二卡数据签名的获取请求,该第二卡数据签名为在虚拟乘车卡与授权设备绑定成功后,基于授权设备的设备标识及第一密钥生成得到;
服务器100,用于响应于第二卡数据的获取请求,返回第二卡数据签名给终端;
终端(如终端200-1),用于基于第二卡数据签名对第一卡数据签名进行校验,得到校验结果;当校验结果表征校验通过时,基于虚拟乘车卡进行乘车支付。
在实际应用中,服务器100既可以为单独配置的支持各种业务的一个服务器,亦可以配置为一个服务器集群;终端(如终端200-1)可以为智能手机、平板电脑、笔记本电脑等各种类型的用户终端,还可以为可穿戴计算设备、个人数字助理(PDA)、台式计算机、蜂窝电话、媒体播放器、导航设备、游戏机、电视机、或者这些数据处理设备或其他数据处理设备中任意两个或多个的组合。另外,终端(如终端200-1)可以设置有虚拟乘车卡客户端,以实现基于虚拟乘车卡进行乘车支付。
下面对本发明实施例提供的乘车支付方法的电子设备的硬件结构做详细说明,参见图2,图2是本发明实施例提供的电子设备的结构示意图,图2所示的电子设备200包括:至少一个处理器210、存储器250、至少一个网络接口220和用户接口230。电子设备200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统240。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口230包括使得能够呈现媒体内容的一个或多个输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口230还包括一个或多个输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器250旨在包括任意适合类型的存储器。
在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块253,用于经由一个或多个与用户接口230相关联的输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块254,用于对一个或多个来自一个或多个输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的乘车支付装置可以采用软件方式实现,图2示出了存储在存储器250中的乘车支付装置255,其可以是程序和插件等形式的软件,包括以下软件模块:第一获取模块2551、生成模块2552、第二获取模块2553、校验模块2554和支付模块2555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的乘车支付装置可以采用软硬件结合的方式实现,作为示例,本发明实施例提供的乘车支付装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的乘车支付方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
基于上述对本发明实施例的乘车支付系统及电子设备的说明,下面说明本发明实施例提供的乘车支付方法。参见图3,图3是本发明实施例提供的乘车支付方法的流程示意图;在一些实施例中,该乘车支付方法可由终端实施,或由服务器及终端协同实施,以终端实施为例,本发明实施例提供的乘车支付方法包括:
步骤301:终端响应于针对虚拟乘车卡的支付请求,获取虚拟乘车卡对应的支付设备的设备标识、及虚拟乘车卡对应的第一密钥。
这里,在实际应用中,由于基于虚拟乘车卡进行乘车支付需要终端具备NFC功能,因此,在使用虚拟乘车卡之前需要对终端的NFC功能进行检测,以判断终端是否具备NFC功能,具体地,终端检测近场通信接口,得到检测结果,当检测结果表征检测到近场通信接口时,视为终端具备NFC功能。在实际实施时中,可以通过以下两种方式、在具备NFC功能的终端实现实体乘车卡的模拟,得到虚拟乘车卡:一种是基于硬件的,称为虚拟卡模式;另一种是基于软件的,称为主机卡模式。
在一些实施例中,基于软件来实现时,终端上可以设置有虚拟乘车卡客户端,通过运行虚拟乘车卡客户端,完成虚拟乘车卡的开通,进而用户在进行乘车支付时,基于虚拟乘车卡客户端接收刷卡设备(比如闸机)的支付请求,以完成此次乘车的消费扣款。
当支付设备上设置有虚拟乘车卡客户端时,用户可通过将支付设备靠近刷卡设备的刷卡区域进行乘车支付。当刷卡设备(闸机)感应到有已开通虚拟乘车卡的支付设备靠近刷卡区域时,针对该虚拟乘车卡,发送支付请求,该支付请求中可以携带消费金额、消费时间、闸机标识等。
当支付设备接收到上述针对虚拟乘车卡的支付请求后,响应于该支付请求,进行乘车支付。在本发明实施例中,进行乘车支付之前,需要对持有该虚拟乘车卡的支付设备进行安全验证,以保证虚拟乘车卡的数据安全。
在一些实施例中,可以通过以下方式进行安全验证。首先,虚拟乘车卡客户端获取该虚拟乘车卡当前对应的支付设备的设备标识、及虚拟乘车卡对应的第一密钥,该第一密钥可以是虚拟乘车卡的消费密钥。
步骤302:基于支付设备的设备标识及所述第一密钥,生成对应虚拟乘车卡的第一卡数据签名。
在获取到上述支付设备的设备标识和第一密钥之后,基于该支付设备的设备密钥及第一密钥,生成虚拟乘车卡对应的第一卡数据签名。在实际应用中,可以通过哈希算法,对支付设备的设备标识进行哈希计算,得到哈希值,然后用第一密钥对该哈希值进行加密,得到第一卡数据签名。
这里,第一卡数据签名是基于支付设备的设备标识生成的,在一些实施例中,针对虚拟乘车卡设置有对应的授权设备,为确保该支付设备即为与虚拟乘车卡绑定的授权设备,需要对该第一卡数据签名进行校验。
步骤303:获取对应虚拟乘车卡的第二卡数据签名,该第二卡数据签名为在虚拟乘车卡与授权设备绑定成功后,基于授权设备的设备标识及第一密钥生成得到。
在一些实施例中,对上述第一卡数据签名进行校验时,需要获取虚拟乘车卡对应的第二卡数据签名。该第二卡数据签名即为基于授权设备的设备标识生成的;具体地,当后台服务器对该虚拟乘车卡和授权设备绑定成功后,针对该虚拟乘车卡,基于授权设备的设备标识、虚拟乘车卡对应的第一密钥,通过哈希算法及密钥加密算法生成第二卡数据签名。
这里,支付设备上设置的虚拟乘车卡客户端可以向服务器发送获取该虚拟乘车卡对应的第二卡数据签名的请求,以得到该基于授权设备的设备标识生成的第二卡数据签名。
步骤304:基于第二卡数据签名对第一卡数据签名进行校验,得到校验结果。
在实际应用中,通过判断第二卡数据签名与第一卡数据签名之间的一致性,得到校验结果。
步骤305:当校验结果表征校验通过时,基于虚拟乘车卡进行乘车支付。
当确定第二卡数据签名与第一卡数据签名一致时,则校验结果表征校验通过,此时允许使用该虚拟乘车卡进行乘车支付,进而从该虚拟乘车卡对应的余额中扣除此次乘车消费金额。
在一些实施例中,当确定第二卡数据签名与第一卡数据签名不一致时,则校验结果表征校验不通过,此时拦截使用该虚拟乘车卡进行乘车支付,并向刷卡设备(闸机)返回表征乘车支付失败的提示信息。
刷卡设备接收到该提示信息之后,可以通过“请重新刷卡”等语音提示用户支付失败,请重新支付。
在一些实施例中,支付设备设置的虚拟乘车卡还可以呈现支付失败的通知信息。示例性地,可以在支付设备的视图界面呈现“支付失败”的弹窗。
在一些实施例中,由于刷卡设备需要获取虚拟乘车卡的卡数据、以生成针对该虚拟乘车卡的支付请求,因此终端在接收到支付请求之前,还会接收到针对虚拟乘车卡的卡数据读取请求;返回虚拟乘车卡的卡数据及第一密钥,以基于卡数据及第一密钥生成第一交易签名。
这里,当刷卡设备检测到有携带虚拟乘车卡的终端靠近刷卡区域时,向该终端发送虚拟乘车卡的卡数据读取请求。
终端接收到该卡数据读取请求之后,向刷卡设备返回虚拟乘车卡的卡数据和第一密钥。刷卡设备在接收卡数据该第一密钥之后,通过哈希算法及第一密钥加密,生成第一交易签名。
在另外一些实施例中,终端可以只向刷卡设备发送卡数据。此时,刷卡设备可以基于卡数据,生成对应虚拟乘车卡的第一密钥,进而基于卡数据及第一密钥生成第一交易签名。
在一些实施例中,刷卡设备发送的支付请求中可以携带上述第一交易签名,以进一步提高支付过程的安全性。当终端接收的支付请求中携带该第一交易签名时,基于卡数据及第一密钥,生成第二交易签名;基于第二交易签名对第一交易签名进行校验。
当终端接收到的支付请求中携带第一交易签名时,对该第一交易签名进行校验。具体地,通过卡数据及第一密钥,对卡数据进行签名,得到第二交易签名,基于该第二交易签名对第一交易签名进行校验,判断第二交易签名与第一交易签名是否一致。只有第二交易签名与第一交易签名一致时,即第二交易签名对第一交易签名校验通过,才允许基于该虚拟乘车卡进行乘车支付,以完成扣款。
在一些实施例中,完成乘车支付之后,终端可以通过如下方式向刷卡设备同步此次交易的支付状态:获取对应虚拟乘车卡的交易数据;基于交易数据及第一密钥生成第一交易数据签名;该第一交易数据签名,用于供对第一交易数据签名验证后确认乘车支付对应的支付状态。
在上述基于虚拟乘车卡支付成功后,获取支付过程中产生的交易数据,该交易数据可以包括消费金额、消费时间、乘车路线、支付设备的设备标识、刷卡设备标识等。
通过哈希算法,对该交易数据进行哈希计算得到哈希结果,采用第一密钥对哈希结果进行加密,生成第一交易数据签名,将该交易数据及第一交易数据签名发送给刷卡设备。
刷卡设备接收到第一交易数据签名,对该第一交易数据签名进行验证,以确认此次乘车支付对应的支付状态。当刷卡设备对第一交易数据签名验证通过后,则确定此次乘车支付对应的支付状态为交易成功。
在一些实施例中,终端还可以通过如下方式对上述交易过程中产生的交易数据进行验证,以保证下次乘车支付的安全性:基于交易数据、支付设备的设备标识及第一密钥,生成第二交易数据签名;发送交易数据及第二交易数据签名,以对第二交易数据签名进行校验,并基于校验结果确定虚拟乘车卡的风险状态。
在实际应用中,通过哈希算法,对上述交易数据、支付设备的设备标识进行哈希计算,得到对应的哈希值,采用第一密钥对该哈希值进行加密,生成第二交易数据签名;将该第二交易数据签名和交易数据发送给后台服务器。
后台服务器接收到第二交易数据签名和交易数据之后,对该第二交易数据签名进行校验。具体地,服务器对虚拟乘车卡绑定的授权设备的设备标识、交易数据进行哈希计算,得到对应的哈希值,通过第一密钥对该哈希值进行加密得到基于授权设备的设备标识的交易数据签名,通过该交易数据签名对第二交易数据签名进行校验,得到校验结果。
进一步地,服务器基于校验结果确定虚拟乘车卡当前的风险状态。具体地,当该校验结果表征对第二交易数据签名验证通过时,则虚拟乘车卡处于无风险的状态;当该校验结果表征对第二交易数据签名验证不通过时,则虚拟乘车卡处于存在数据泄露的风险。当服务器确定了虚拟乘车卡可能存在的风险之后,当检测有用户再次使用该虚拟乘车卡进行乘车支付时,即接收到用户获取卡数据的请求时,执行预设的风控措施,以保证数据的安全性。
在一些实施例中,可以通过如下方式,基于上述风险状态控制卡数据的获取:发送虚拟乘车卡的卡数据获取请求;接收返回的用于验证用户信息的通知消息,该通知消息为基于卡数据获取请求,在风险状态表征虚拟乘车卡存在数据泄露风险时所返回。
当用户通过终端设置的虚拟乘车卡客户端再次使用该虚拟乘车卡时,向服务器发送卡数据获取请求。
服务器接收到该卡数据获取请求之后,确定上述确定的该虚拟乘车卡对应的风险状态。当该风险状态表征虚拟乘车卡存在数据泄露风险时,可以执行预设的风控措施,具体可以向终端发送验证用户信息的通知消息。
终端接收到该通知消息之后,通过视图界面呈现输入用户信息的提示信息,进而再次对输入的用户进行验证。仅在验证通过时,才能继续获取该虚拟乘车卡的卡数据。
在一些实施例中,终端可通过如下方式实现虚拟乘车卡与授权设备的绑定:发送对应待授权设备的授权请求,该授权请求携带待授权设备的设备标识、待授权设备对应的用户信息及用户信息对应的虚拟乘车卡标识,以使在对用户信息及虚拟乘车卡标识校验通过后,建立虚拟乘车卡标识与待授权设备的设备标识之间的关联关系,以实现虚拟乘车卡与授权设备的绑定;接收返回的待授权设备已授权成功的通知信息。
在一些实施例中,需将虚拟乘车卡与授权设备绑定,以进一步提高虚拟乘车卡支付的安全性。终端可通过视图界面呈现提示用户绑定虚拟乘车卡至授权设备的提示信息,当终端接收到用户执行的绑定虚拟乘车卡的操作之后,获取待授权设备的设备标识,并向服务器发送对应授权设备的授权请求。该授权请求中可以携带待授权设备的标识、用户信息及用户信息对应的虚拟乘车卡标识。
服务器接收到该授权请求后,获取其中携带的待授权设备的标识信息、用户信息和对应的虚拟乘车卡标识。进而对用户信息及虚拟乘车卡标识进行校验,即对用户的登陆名、密码进行验证,在验证通过后,继续验证虚拟乘车卡标识对应的虚拟乘车卡是否属于上述用户信息对应的用户。只有在对用户信息及虚拟乘车卡标识都验证通过后,才建立虚拟乘车卡标识与待授权设备的设备标识之间的关联关系,将待授权设备确定为授权设备,从而实现虚拟乘车卡与授权设备的绑定。服务器在确定绑定成功后,向终端发送待授权设备已授权成功的通知信息。
终端接收到该通知信息后,则可以基于该授权设备及对应的虚拟乘车卡进行乘车支付。
在一些实施例中,终端可通过如下方式获取虚拟乘车卡的卡数据:基于支付设备的设备标识、及支付设备对应的第二密钥,生成对应支付设备的设备签名;发送虚拟乘车卡的卡数据获取请求,该获取请求携带支付设备的设备标识及设备签名,以使对设备签名校验通过且支付设备的设备标识与授权设备的设备标识一致时,返回虚拟乘车卡的卡数据;接收返回的虚拟乘车卡的卡数据。
在上述实施例中,服务器在进行授权设备与虚拟乘车卡的绑定时,在绑定成功后,会记录授权设备的设备标识,以便后续在虚拟乘车卡使用过程中发放对应的卡数据。
当用户使用虚拟乘车卡进行乘车支付之前,终端需要先获取对应的卡数据。首先,终端(即支付设备)基于支付设备的设备标识、支付设备对应的第二密钥,生成该支付设备的设备签名,具体地,同样可以采用上述哈希算法以及密钥加密的方式,生成该设备签名。然后终端将支付设备的设备标识、及该设备签名携带在卡数据获取请求中,将该卡数据获取请求发送给服务器。
服务器接收到该卡数据获取请求之后,解析该卡数据获取请求得到携带的支付设备的设备标识和设备签名。进而首先对该设备签名进行校验,具体地,服务器中存储有终端的设备标识及对应的终端密钥,从而可以基于支付设备的设备标识,查找到支付设备对应的第二密钥,基于该第二密钥和支付设备的设备标识,在服务器侧生成用于校验的校验设备签名,通过该校验设备签名对接收的设备签名进行校验,当校验结果表示该校验设备签名与接收的设备签名一致时,则表示校验通过。
服务器在对设备签名校验通过后,判断该支付设备的设备标识是否与授权设备的设备标识一致,只有在一致时,向该支付设备返回虚拟乘车卡的卡数据。
如果服务器判断该支付设备的设备标识与授权设备的设备标识不一致,则不向该支付设备发送卡数据,以拦截该支付设备使用虚拟乘车卡进行乘车支付。
应用本发明上述实施例,基于获取的支付设备的设备标识及虚拟乘车卡的第一密钥,生成第一卡数据签名,终端通过从服务器获取的虚拟乘车卡的第二卡数据签名、对第一卡数据签名进行自行校验,只有在校验结果为验证通过时,才基于该虚拟乘车卡进行乘车支付;由于第二卡数据签名是在虚拟乘车卡与授权设备绑定成功后,服务器基于授权设备的设备标识及第一密钥生成的,终端基于第二卡数据签名对第一卡数据签名进行校验则确定了当前持有该虚拟乘车卡的支付设备即为授权设备,进而提高了虚拟乘车卡支付的安全性。
在一些实施例中,服务器在基于授权设备的设备标识及第一密钥生成虚拟乘车卡的第二卡数据签名后,还可以结合区块链技术,将第二卡数据签名存储至区块链网络,以使终端在对第一卡数据签名进行校验时,能够直接从区块链网络获取虚拟乘车卡的第二卡数据签名。
这里,服务器在基于授权设备的设备标识及第一密钥生成虚拟乘车卡的第二卡数据签名后,生成用于存储第二卡数据签名的交易,并发送生成的交易至区块链网络的节点,以使节点对交易共识后将第二卡数据签名存储至区块链网络;终端在对第一卡数据签名进行校验时,从区块链网络获取虚拟乘车卡的第二卡数据签名,基于第二卡数据签名对第一卡数据签名进行一致性校验,得到校验结果,当校验结果表征校验通过时,基于虚拟乘车卡进行乘车支付。
接下来对本发明实施例中的区块链网络进行说明。图4为本发明实施例提供的区块链网络的应用架构示意图,包括业务主体50、认证中心70,区块链网络80(示例性示出了共识节点81-1至共识节点81-3),下面分别说明。
区块链网络80的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何业务主体的电子设备例如用户终端和服务器,都可以在不需要授权的情况下接入区块链网络80;以联盟链为例,业务主体在获得授权后其下辖的电子设备(例如终端/服务器)可以接入区块链网络80,此时,成为区块链网络80中的客户端节点。
在一些实施例中,客户端节点可以只作为区块链网络80的观察者,即提供支持业务主体发起交易(例如,用于上链存储数据或查询链上数据)功能,对于区块链网络80的共识节点81的功能,例如排序功能、共识服务和账本功能等,客户端节点可以缺省或者有选择性(例如,取决于业务主体的具体业务需求)地实施。从而,可以将业务主体的数据和业务处理逻辑最大程度迁移到区块链网络80中,通过区块链网络80实现数据和业务处理过程的可信和可追溯。
区块链网络80中的共识节点接收来自不同业务主体(如业务主体50)的客户端节点(如归属于业务主体50的客户端节点51)提交的交易,执行交易以更新账本或者查询账本,执行交易的各种中间结果或最终结果可以返回至业务主体的客户端节点中显示。
下面以业务主体接入区块链网络以实现第二卡数据签名的获取为例说明区块链的示例性应用。
参见图4,乘车支付涉及的业务主体50,从认证中心70进行登记注册获得数字证书,数字证书中包括业务主体的公钥、以及认证中心70对业务主体的公钥和身份信息签署的数字签名,用来与业务主体针对交易的数字签名一起附加到交易中,并被发送到区块链网络,以供区块链网络从交易中取出数字证书和签名,验证消息的可靠性(即是否未经篡改)和发送消息的业务主体的身份信息,区块链网络会根据身份进行验证,例如是否具有发起交易的权限。业务主体下辖的电子设备(例如终端或者服务器)运行的客户端都可以向区块链网络80请求接入而成为客户端节点。
业务主体50的客户端节点51用于在对第一卡数据签名进行校验时,生成用于获取区块链中存储的第二卡数据签名的交易,在交易中指定了实现第二卡数据签名的获取操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了客户端51的数字证书、签署的数字签名(例如,使用客户端51的数字证书中的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络80中的共识节点。
区块链网络80中的共识节点接收交易时,对交易携带的数字证书和数字签名进行验证,验证成功后,根据交易中携带的业务主体50的身份,确认业务主体50是否是具有交易权限,数字签名和权限验证中的任何一个验证判断都将导致交易失败。验证成功后签署节点自己的数字签名(例如,使用节点81-1的私钥对交易的摘要进行加密得到),并继续在区块链网络80中广播。
区块链网络80中的共识节点接收验证成功的交易后,将交易填充到新的区块中,并进行广播。区块链网络80中的共识节点广播的新区块时,会对新区块进行共识过程,如果共识成功,则将新区块追加到自身所存储的区块链的尾部,并根据交易的结果更新状态数据库,执行新区块中的交易:对于提交的获取第二卡数据签名的交易,从状态数据库中查询第二卡数据签名对应的键值对,并返回交易结果。
作为区块链的示例,参见图5,图5是本发明实施例提供的区块链网络80中区块链的结构示意图,每个区块的头部既可以包括区块中所有交易的哈希值,同时也包含前一个区块中所有交易的哈希值,新产生的交易的记录被填充到区块并经过区块链网络中节点的共识后,会被追加到区块链的尾部从而形成链式的增长,区块之间基于哈希值的链式结构保证了区块中交易的防篡改和防伪造。
下面说明本发明实施例提供的区块链网络的示例性的功能架构,参见图6,图6本发明实施例提供的区块链网络80的功能架构示意图,包括应用层1、共识层2、网络层3、数据层4和资源层5,下面分别进行说明。
资源层5封装了实现区块链网路80中的各个节点81的计算资源、存储资源和通信资源。
数据层4封装了实现账本的各种数据结构,包括以文件系统中的文件实现的区块链,键值型的状态数据库和存在性证明(例如区块中交易的哈希树)。
网络层3封装了点对点(P2P,Point to Point)网络协议、数据传播机制和数据验证机制、接入认证机制和业务主体身份管理的功能。
其中,P2P网络协议实现区块链网络80中节点81之间的通信,数据传播机制保证了交易在区块链网络80中的传播,数据验证机制用于基于加密学方法(例如数字证书、数字签名、公/私钥对)实现节点81之间传输数据的可靠性;接入认证机制用于根据实际的业务场景对加入区块链网络80的业务主体的身份进行认证,并在认证通过时赋予业务主体接入区块链网络80的权限;业务主体身份管理用于存储允许接入区块链网络80的业务主体的身份、以及权限(例如能够发起的交易的类型)。
共识层2封装了区块链网络80中的节点81对区块达成一致性的机制(即共识机制)、交易管理和账本管理的功能。共识机制包括POS、POW和DPOS等共识算法,支持共识算法的可插拔。
交易管理用于验证节点81接收的交易中携带的数字签名,验证业务主体的身份信息,并根据身份信息判断确认其是否具有权限进行交易(从业务主体身份管理读取相关信息);对于获得接入区块链网络80的授权的业务主体而言,均拥有认证中心颁发的数字证书,业务主体利用自己的数字证书中的私钥对提交的交易进行签名,从而声明自己的合法身份。
账本管理用于维护区块链和状态数据库。对于取得共识的区块,追加到区块链的尾部;执行取得共识的区块中的交易,当交易包括更新操作时更新状态数据库中的键值对,当交易包括查询操作时查询状态数据库中的键值对并向业务主体的客户端节点返回查询结果。支持对状态数据库的多种维度的查询操作,包括:根据区块序列号(例如交易的哈希值)查询区块;根据区块哈希值查询区块;根据交易序列号查询区块;根据交易序列号查询交易;根据业务主体的账号(序列号)查询业务主体的账号数据;根据通道名称查询通道中的区块链。
应用层1封装了区块链网络能够实现的各种业务,包括交易的溯源、存证和验证等。
接下来以虚拟乘车卡客户端实现乘车支付为例,继续对本发明实施例提供的乘车支付方法进行说明。参见图7,图7为本发明实施例提供的虚拟乘车卡与授权设备绑定方法的流程示意图,本发明实施例提供的虚拟乘车卡与授权设备绑定方法包括:
步骤701:虚拟乘车卡客户端获取待授权设备的设备标识。
这里,在实际实施时,终端具备NFC功能,并设置有虚拟乘车卡客户端,通过视图界面呈现提示用户绑定虚拟乘车卡的提示信息。当虚拟乘车卡客户端检测到用户触发了该绑定功能时,获取待授权设备的设备标识。
步骤702:发送携带待授权设备的设备标识的授权请求。
步骤703:服务器基于授权请求,返回执行密码验证功能的操作指令。
步骤704:虚拟乘车卡客户端响应于执行密码验证功能的操作指令,呈现提示用户输入用户信息的界面。
步骤705:虚拟乘车卡客户端获取用户输入的用户信息。
这里,用户信息可以包括用户名、用户密码等。
步骤706:发送携带用户信息的授权请求。
这里,授权请求还携带有该用户信息对应的虚拟乘车卡标识。
步骤707:服务器对用户信息进行验证。
步骤708:验证通过后,绑定虚拟乘车卡与授权设备。
这里,服务器绑定虚拟乘车卡与授权设备具体是:建立待授权设备的标识设备与虚拟乘车卡标识的关联关系,以确定待授权设备为授权设备,实现虚拟乘车卡与授权设备的绑定。
步骤709:服务器发送授权设备绑定成功的通知消息。
继续以虚拟乘车卡客户端实现乘车支付为例,继续对本发明实施例提供的乘车支付方法进行说明。参见图8,图8为本发明实施例提供的虚拟乘车卡的卡数据获取方法的流程示意图,本发明实施例提供的虚拟乘车卡的卡数据获取方法包括:
步骤801:虚拟乘车卡客户端获取支付设备的设备标识。
这里,支付设备上设置有虚拟乘车卡客户端,当用户存在乘车支付需求时,在支付之前,需要获取虚拟乘车卡的卡数据以完成支付功能。
步骤802:基于支付设备的设备标识及支付设备的密钥生成设备签名。
这里,可以通过哈希算法对支付设备的设备标识进行哈希计算,得到哈希值,采用支付设备的密钥对该哈希值进行加密,生成设备签名。
步骤803:发送虚拟乘车卡的卡数据获取请求至服务器。
这里,卡数获取请求中携带有支付设备的设备标识、及生成的设备签名。
步骤804:服务器解析卡数据获取请求,得到支付设备的设备签名。
步骤805:校验支付设备的设备签名。
步骤806:设备签名校验通过后,校验支付设备的设备标识是否与授权设备的设备标识一致。
步骤807:当支付设备的设备标识与授权设备的设备标识一致时,返回虚拟乘车卡的卡数据。
步骤808:当支付设备的设备标识与授权设备的设备标识不一致时,拦截支付设备获取卡数据。
继续以虚拟乘车卡客户端实现乘车支付为例,继续对本发明实施例提供的乘车支付方法进行说明。参见图9,图9为本发明实施例提供的乘车支付方法的流程示意图,本发明实施例提供的乘车支付方法包括:
步骤901:刷卡设备发送虚拟乘车卡的卡数据读取请求。
这里,当刷卡设备检测到设置有虚拟乘车卡客户端的终端靠近刷卡区域时,通过NFC向终端发送卡数据读取请求。
步骤902:虚拟乘车卡客户端返回虚拟乘车卡的卡数据。
这里,卡数据可以包含虚拟乘车卡的消费密钥,也可以不包含。
步骤903:刷卡设备基于卡数据及虚拟乘车卡的密钥生成第一交易签名,发送携带第一交易签名的支付请求给终端。
这里,如果卡数据中不包含虚拟乘车卡的消费密钥时,刷卡设备可以基于卡数据,采用对应的密钥生成算法,生成虚拟乘车卡的密钥。
这里,支付请求还可以携带消费金额、消费时间、刷卡设备标识等。
步骤904:虚拟乘车卡客户端响应于支付请求,获取支付设备的设备标识及虚拟乘车卡对应的密钥。
步骤905:基于支付设备的设备标识及虚拟乘车卡对应的密钥生成第一卡数据签名。
步骤906:读取虚拟乘车卡对应的第二卡数据签名,基于第二卡数据签名对第一卡数据签名进行校验。
这里,第二卡数据签名是在虚拟乘车卡与授权设备绑定成功后,基于授权设备的设备标识及虚拟乘车卡对应的密钥生成得到的。
步骤907:当对第一卡数据签名校验不通过时,拦截支付设备基于虚拟乘车卡进行乘车支付,返回表征乘车支付失败的提示信息。
步骤908:当对第一卡数据签名校验通过时,基于虚拟乘车卡进行乘车支付。
步骤909:校验第一交易签名,从虚拟乘车卡对应的余额中扣除相应的支付金额。
步骤910:虚拟乘车卡客户端生成交易数据,基于交易数据及卡密钥生成第一交易数据签名。
步骤911:发送交易数据及第一交易数据签名给刷卡设备。
步骤912:刷卡设备校验第一交易签名,验证通过后,确认此次乘车支付交易成功。
步骤913:虚拟乘车卡客户端基于交易数据、支付设备的设备标识及卡密钥,生成第二交易数据签名,发送交易数据和第二交易数据签名给服务器。
步骤914:服务器获取虚拟乘车卡对应的授权设备的设备标识。
步骤915:基于授权设备的设备标识、交易数据和卡密钥,校验第二交易数据签名。
步骤916:当对第二交易数据签名验证不通过时,确认虚拟乘车卡的风险状态。
步骤917:支付设备再次发送虚拟乘车卡的卡数据获取请求。
步骤918:当风险状态表征虚拟乘车卡存在数据泄露风险时,返回提示虚拟乘车卡客户端验证用户信息的通知消息。
下面继续说明本发明实施例提供的乘车支付装置255,在一些实施例中,乘车支付装置可采用软件模块的方式实现。参见图10,图10是本发明实施例提供的乘车支付装置255的结构示意图,本发明实施例提供的乘车支付装置255包括:
第一获取模块2551,用于响应于针对虚拟乘车卡的支付请求,获取所述虚拟乘车卡对应的支付设备的设备标识、及所述虚拟乘车卡对应的第一密钥;
生成模块2552,用于基于所述支付设备的设备标识及所述第一密钥,生成对应所述虚拟乘车卡的第一卡数据签名;
第二获取模块2553,用于获取对应所述虚拟乘车卡的第二卡数据签名,所述第二卡数据签名为在所述虚拟乘车卡与授权设备绑定成功后,基于所述授权设备的设备标识及所述第一密钥生成得到;
校验模块2554,用于基于所述第二卡数据签名对所述第一卡数据签名进行校验,得到校验结果;
支付模块2555,用于当所述校验结果表征校验通过时,基于所述虚拟乘车卡进行乘车支付。
在一些实施例中,所述装置还包括:
接收模块,接收到针对所述虚拟乘车卡的卡数据读取请求;
返回所述虚拟乘车卡的卡数据及所述第一密钥,以基于所述卡数据及所述第一密钥生成第一交易签名;
所述校验模块2554还用于当所述支付请求中携带所述第一交易签名时,基于所述卡数据及所述第一密钥,生成第二交易签名;
基于所述第二交易签名对所述第一交易签名进行校验。
在一些实施例中,所述生成模块2552,还用于获取对应所述虚拟乘车卡的交易数据;
基于所述交易数据及所述第一密钥生成第一交易数据签名;
所述第一交易数据签名,用于供对所述第一交易数据签名验证后确认所述乘车支付对应的支付状态。
在一些实施例中,所述生成模块2552,还用于基于所述交易数据、所述支付设备的设备标识及所述第一密钥,生成第二交易数据签名;
发送所述交易数据及所述第二交易数据签名,以对所述第二交易数据签名进行校验,并基于校验结果确定所述虚拟乘车卡的风险状态。
在一些实施例中,所述装置还包括:
发送模块,用于发送所述虚拟乘车卡的卡数据获取请求;
接收返回的用于验证用户信息的通知消息,所述通知消息为基于所述卡数据获取请求,在所述风险状态表征所述虚拟乘车卡存在数据泄露风险时所返回。
在一些实施例中,所述装置还包括:
提示模块,用于当所述校验结果表征校验不通过时,返回表征乘车支付失败的提示信息。
在一些实施例中,所述发送模块,还用于发送对应待授权设备的授权请求,所述授权请求携带所述待授权设备的设备标识、所述待授权设备对应的用户信息及所述用户信息对应的虚拟乘车卡标识,以使在对所述用户信息及所述虚拟乘车卡标识校验通过后,建立所述虚拟乘车卡标识与所述待授权设备的设备标识之间的关联关系,以实现所述虚拟乘车卡与授权设备的绑定;
接收返回的所述待授权设备已授权成功的通知信息。
在一些实施例中,所述生成模块2552,还用于基于所述支付设备的设备标识、及所述支付设备对应的第二密钥,生成对应所述支付设备的设备签名;
发送所述虚拟乘车卡的卡数据获取请求,所述获取请求携带所述支付设备的设备标识及所述设备签名,以使对所述设备签名校验通过且所述支付设备的设备标识与所述授权设备的设备标识一致时,返回所述虚拟乘车卡的卡数据;
接收返回的所述虚拟乘车卡的卡数据。
本发明实施例还提供一种电子设备,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的乘车支付方法。
本发明实施例还提供一种存储介质,存储有可执行指令,所述可执行指令被处理器执行时,实现本发明实施例提供的乘车支付方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (10)
1.一种乘车支付方法,其特征在于,所述方法包括:
响应于针对虚拟乘车卡的支付请求,获取所述虚拟乘车卡对应的支付设备的设备标识、及所述虚拟乘车卡对应的第一密钥;
基于所述支付设备的设备标识及所述第一密钥,生成对应所述虚拟乘车卡的第一卡数据签名;
获取对应所述虚拟乘车卡的第二卡数据签名,所述第二卡数据签名为在所述虚拟乘车卡与授权设备绑定成功后,基于所述授权设备的设备标识及所述第一密钥生成得到;
基于所述第二卡数据签名对所述第一卡数据签名进行校验,得到校验结果;
当所述校验结果表征校验通过时,基于所述虚拟乘车卡进行乘车支付;
获取对应所述虚拟乘车卡的交易数据;
基于所述交易数据、所述支付设备的设备标识及所述第一密钥,生成第二交易数据签名;
发送所述交易数据及所述第二交易数据签名,以对所述第二交易数据签名进行校验,并基于校验结果确定所述虚拟乘车卡的风险状态。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收到针对所述虚拟乘车卡的卡数据读取请求;
返回所述虚拟乘车卡的卡数据及所述第一密钥,以基于所述卡数据及所述第一密钥生成第一交易签名;
当所述支付请求中携带所述第一交易签名时,基于所述卡数据及所述第一密钥,生成第二交易签名;
基于所述第二交易签名对所述第一交易签名进行校验。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述交易数据及所述第一密钥生成第一交易数据签名;
所述第一交易数据签名,用于供对所述第一交易数据签名验证后确认所述乘车支付对应的支付状态。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
发送所述虚拟乘车卡的卡数据获取请求;
接收返回的用于验证用户信息的通知消息,所述通知消息为基于所述卡数据获取请求,在所述风险状态表征所述虚拟乘车卡存在数据泄露风险时所返回。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述校验结果表征校验不通过时,返回表征乘车支付失败的提示信息。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
发送对应待授权设备的授权请求,所述授权请求携带所述待授权设备的设备标识、所述待授权设备对应的用户信息及所述用户信息对应的虚拟乘车卡标识,以使在对所述用户信息及所述虚拟乘车卡标识校验通过后,建立所述虚拟乘车卡标识与所述待授权设备的设备标识之间的关联关系,以实现所述虚拟乘车卡与授权设备的绑定;
接收返回的所述待授权设备已授权成功的通知信息。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述支付设备的设备标识、及所述支付设备对应的第二密钥,生成对应所述支付设备的设备签名;
发送所述虚拟乘车卡的卡数据获取请求,所述获取请求携带所述支付设备的设备标识及所述设备签名,以使对所述设备签名校验通过且所述支付设备的设备标识与所述授权设备的设备标识一致时,返回所述虚拟乘车卡的卡数据;
接收返回的所述虚拟乘车卡的卡数据。
8.一种乘车支付装置,其特征在于,所述装置包括:
第一获取模块,用于响应于针对虚拟乘车卡的支付请求,获取所述虚拟乘车卡对应的支付设备的设备标识、及所述虚拟乘车卡对应的第一密钥;
生成模块,用于基于所述支付设备的设备标识及所述第一密钥,生成对应所述虚拟乘车卡的第一卡数据签名;
第二获取模块,用于获取对应所述虚拟乘车卡的第二卡数据签名,所述第二卡数据签名为在所述虚拟乘车卡与授权设备绑定成功后,基于所述授权设备的设备标识及所述第一密钥生成得到;
校验模块,用于基于所述第二卡数据签名对所述第一卡数据签名进行校验,得到校验结果;
支付模块,用于当所述校验结果表征校验通过时,基于所述虚拟乘车卡进行乘车支付;
所述生成模块,还用于获取对应所述虚拟乘车卡的交易数据;
基于所述交易数据、所述支付设备的设备标识及所述第一密钥,生成第二交易数据签名;
发送所述交易数据及所述第二交易数据签名,以对所述第二交易数据签名进行校验,并基于校验结果确定所述虚拟乘车卡的风险状态。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现如权利要求1至7任一项所述的乘车支付方法。
10.一种计算机可读存储介质,其特征在于,存储有可执行指令,所述可执行指令被处理器执行时,实现如权利要求1至7任一项所述的乘车支付方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911232100.6A CN111178896B (zh) | 2019-12-05 | 2019-12-05 | 乘车支付方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911232100.6A CN111178896B (zh) | 2019-12-05 | 2019-12-05 | 乘车支付方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111178896A CN111178896A (zh) | 2020-05-19 |
CN111178896B true CN111178896B (zh) | 2021-09-21 |
Family
ID=70657233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911232100.6A Active CN111178896B (zh) | 2019-12-05 | 2019-12-05 | 乘车支付方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111178896B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112036861B (zh) * | 2020-08-31 | 2024-05-10 | 百富计算机技术(深圳)有限公司 | 一种安全设备 |
CN112733191A (zh) * | 2021-01-21 | 2021-04-30 | 广西师范大学 | 一种基于区块链技术的nfc安全设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102243739A (zh) * | 2011-07-04 | 2011-11-16 | 中国建设银行股份有限公司 | 基于二维码的手机银行支付方法、系统及客户端 |
CN104767613A (zh) * | 2014-01-02 | 2015-07-08 | 腾讯科技(深圳)有限公司 | 签名验证方法、装置及系统 |
CN104850990A (zh) * | 2015-05-27 | 2015-08-19 | 拉卡拉支付有限公司 | 一种支付方法及系统、key终端和key支撑系统 |
CN108881000A (zh) * | 2017-05-08 | 2018-11-23 | 国民技术股份有限公司 | 网关设备、第三方平台、支付系统及方法 |
CN109951524A (zh) * | 2019-02-15 | 2019-06-28 | 飞天诚信科技股份有限公司 | 密钥设备激活方法、电子设备及计算机可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105427106B (zh) * | 2014-09-17 | 2021-07-20 | 苏州海博智能系统有限公司 | 电子现金数据的授权处理方法、支付处理方法及虚拟卡 |
US9508071B2 (en) * | 2015-03-03 | 2016-11-29 | Mastercard International Incorporated | User authentication method and device for credentials back-up service to mobile devices |
CN105933338A (zh) * | 2016-06-24 | 2016-09-07 | 收付宝科技有限公司 | 一种用于进行虚拟卡交易的方法和装置 |
-
2019
- 2019-12-05 CN CN201911232100.6A patent/CN111178896B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102243739A (zh) * | 2011-07-04 | 2011-11-16 | 中国建设银行股份有限公司 | 基于二维码的手机银行支付方法、系统及客户端 |
CN104767613A (zh) * | 2014-01-02 | 2015-07-08 | 腾讯科技(深圳)有限公司 | 签名验证方法、装置及系统 |
CN104850990A (zh) * | 2015-05-27 | 2015-08-19 | 拉卡拉支付有限公司 | 一种支付方法及系统、key终端和key支撑系统 |
CN108881000A (zh) * | 2017-05-08 | 2018-11-23 | 国民技术股份有限公司 | 网关设备、第三方平台、支付系统及方法 |
CN109951524A (zh) * | 2019-02-15 | 2019-06-28 | 飞天诚信科技股份有限公司 | 密钥设备激活方法、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111178896A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110493007B (zh) | 一种基于区块链的信息验证方法、装置、设备及存储介质 | |
CN108898389B (zh) | 基于区块链的内容验证方法及装置、电子设备 | |
US20200274859A1 (en) | User authentication system with self-signed certificate and identity verification with offline root certificate storage | |
US11170092B1 (en) | Document authentication certification with blockchain and distributed ledger techniques | |
KR101883156B1 (ko) | 인증 시스템 및 방법과 이를 수행하기 위한 사용자 단말, 인증 서버 및 서비스 서버 | |
US11405207B2 (en) | Dynamic implementation and management of hash-based consent and permissioning protocols | |
CN111213350A (zh) | 用于创建去中心化标识的系统和方法 | |
CN110569658B (zh) | 基于区块链网络的用户信息处理方法、装置、电子设备及存储介质 | |
WO2021169107A1 (zh) | 一种网络身份保护方法、装置及电子设备和存储介质 | |
CN107493291B (zh) | 一种基于安全元件se的身份认证方法和装置 | |
JP2020509475A (ja) | 信頼できるログイン方法、サーバ、およびシステム | |
CN110569674A (zh) | 基于区块链网络的认证方法及装置 | |
KR102116235B1 (ko) | 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말 | |
CN110177124B (zh) | 基于区块链的身份认证方法及相关设备 | |
CN113474774A (zh) | 用于认可新验证器的系统和方法 | |
US20230275762A1 (en) | Did system using browser-based security pin authentication, and control method thereof | |
KR102118962B1 (ko) | 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말 | |
JP7318108B2 (ja) | 装置への安全な資格情報転送を認証するための方法およびシステム | |
EP3867849B1 (en) | Secure digital wallet processing system | |
CN110569643A (zh) | 一种基于区块链网络的交通管理方法及装置 | |
KR20220011165A (ko) | 컴퓨터 구현 시스템 및 방법 | |
CN108496323B (zh) | 一种证书导入方法及终端 | |
CN110599697A (zh) | 基于区块链的车辆共享方法、装置、设备及存储介质 | |
CN111292174A (zh) | 一种纳税信息处理方法、装置及计算机可读存储介质 | |
KR102118935B1 (ko) | 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말 |
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 |