公钥体制下的双介质双认证快速离线支付方法与流程

文档序号:12804332阅读:502来源:国知局
公钥体制下的双介质双认证快速离线支付方法与流程

本发明属于可见光支付领域,特别涉及一种公钥体制下的双介质双认证快速离线支付方法。



背景技术:

公钥密码体制也被称为非对称密码体制,是现代密码学中一个重要的分支,在公钥体制下,提供了公开密钥和私有密钥,通信双方加密解密分别采用不同的密钥进行,公钥密码体制没有密钥分配的安全性问题,该方式广泛用于电子签名、数字证书等电子认证相关领域,在电子商务、电子政务上都得到了应用实践。

离线支付是一种每次交易都可以脱离网络的限制和服务器的在线核验,而只需要消费机和电子钱包就可以完成的交易支付手段。在支付过程中,对收款和付款双方的身份的真实、有效、完整性要求就很高,需要在双方进行充分的认证才可以得到保证。

“扫码”是时下很流行的信息获取方式,通常是采用智能手机的摄像头拍摄条形码(barcode),并从中识别出信息。“扫码支付”则是在“扫码”技术和微信、支付宝等技术的基础上发展起来的线上支付方式手段。“扫码支付”的支付手段,就如同传统的非现金交易手段一样,都属于在线交易,原有的磁卡系统就是典型的在线交易系统。然而,这些方法都是离不开网络的在线支付方式,当网络、gprs、3g、4g等通讯中断时,支付就无法进行,因此我们希望有一种能够实现线下交易的支付手段——离线支付,用于解决网络通讯中断时无法完成支付的问题。

可见光通信(visiblelightcommunication,简称vlc)技术是利用高频且人眼无法感知到的闪烁灯光作为信息载体,在数据发送端用led的高频闪烁来携带信号,在接收端用高速响应的感光元件采集信号,从而实现无线通信的方法。

本发明把vlc技术和“扫码识别”两个方式结合,借助智能手机、平板电脑这类有led闪光灯和摄像头的智能设备,以两种信息载体作为介质,采用公钥密码体制进行了交易信息的双向认证,提供了一种安全快捷的公钥体制下的双介质双认证快速离线支付方法。



技术实现要素:

本发明的目的在于提供一种公钥体制下的双介质双认证快速离线支付方法。

具体步骤为:

(1)建立一套vlc和barcode公钥体制双介质离线支付装置,包括:电子钱包、消费机和服务器。

电子钱包,包括:可见光发射模块、条码扫描模块、控制模块、钱包模块、输入模块、显示模块、密码处理模块和数据接口;可见光发射模块,用于根据控制模块输入的信息,生成并发送可见光信号;条码扫描模块,用于扫描识别条码,并将识别的结果输出给控制模块;控制模块,用于:1、将待发送的信息进行处理,生成数据包,并输出给可见光发射模块,驱动可见光发射模块发送可见光信号;2、接收条码扫描模块的扫描结果输出,并对扫描结果进行验证;3、与钱包模块进行消费、充值、余额查询、操作日志信息的读写操作;4、根据收到的信息和生成的支付信息,生成需要通过可见光发射模块的信息;5、能够通过数据接口与服务器进行数据交互;钱包模块,用于保存包括:用户账号信息、钱包余额、消费权限、查询密码、支付密码、操作日志、生产发行机构在内的信息;并可以验证输入的密码是否与钱包密码模块内保存的密码一致;每一条操作日志,对应一项支付金额或者一项充值金额;该模块能够使用包括手机sim卡、nfc在内的介质作为钱包模块的载体;输入模块,用于向控制模块输入包括支付金额、查询密码、支付密码、操作指令在内的信息;显示模块,用于显示支付金额、密码输入界面、操作指令以及提示信息;密码处理模块,用于保存消费机的公钥环,电子钱包自身的私有密钥,以及对输入的信息,根据模块内置的密码处理单元,采用公开密钥或者私有密钥进行加密,以及采用公开密钥或者私有密钥进行解密;并输出加密或者解密后的信息;数据接口,用于提供电子钱包的联网功能,提供与服务器连接并进行数据交换、数据维护和升级的功能。

消费机,包括:可见光接收模块、条码显示模块、读写控制模块、收银箱模块、键盘模块、显示器、密码协处理器和通信模块;可见光接收模块,用于接收可见光信号,并处理还原成对应的数字信号,还原成数据包;条码显示模块,用于根据读写控制模块的输入信息,生成并显示出条码;读写控制模块,用于:1、接收可见光接收模块的输出,并予以认证;2、将待发送的信息进行处理,输出给条码显示模块;3、与收银箱模块进行消费、充值、余额查询、操作日志信息的读写操作;4、提供数据接口,通过通信模块与服务器进行包括交易信息、电子钱包信息、消费机信息在内的数据的上传和下载;收银箱模块,用于保存包括:操作日志、收款消费权限、黑名单、收银余额、操作密码、有效期、生产发行机构在内的信息;每一条操作日志,对应一项收款金额;键盘模块,用于向读写控制模块输入交易金额、交易密码、操作指令;显示器,用于显示交易金额、密码输入界面、操作指令以及提示信息;密码协处理器,用于:1、保存电子钱包的公钥环,消费机自身的私有密钥;2、对输入的信息,根据密码协处理器内置的密码处理单元,采用公开密钥或者私有密钥进行加密,以及采用公开密钥或者私有密钥进行解密;并输出加密或者解密后的信息;通信模块,用于通过有线或者无线的方式,连接上位机或者接入网络,从而与服务器相连。

服务器,用于:1、与消费机通过通信模块建立上传、下载的数据连接;2、与电子钱包通过数据接口建立上传、下载的数据连接;3、提供本离线支付方法的后台服务支持;4、提供整个离线支付装置与金融系统的资金流动的接口;5、为消费机、电子钱包发放或取消授权,提供包括:密钥更新、算法更新和升级、使用权限调整、有效期调整、电子钱包充值、消费机缴款在内的服务;6、保存包括:授权用户清单、黑名单、操作日志汇总、消费机清单在内的信息;7、以电子货币的形式,保存有本装置中,服务器存管的资金;8、保存有本装置中,所有电子钱包的可用资金额度数;9、在消费机连接上服务器时,收缴消费机收取的各个电子钱包的资金;10、在电子钱包连接上服务器时,核对电子钱包内的余额和服务器上保存的该电子钱包记录的可用资金数,当两者不一致时,进行支付流程仲裁,避免因为消费机或电子钱包的故障、非正常操作、伪造、支付信息篡改造成的损失;11、冻结黑名单中列出的电子钱包,以及电子钱包有故障、非正常操作、伪造、支付信息篡改情况。

授权用户清单,用于保存包括:已经授权可以进行离线支付的电子钱包身份标识、使用权限、有效期、电子钱包持有者的身份信息、各个电子钱包的公开密钥;黑名单,用于保存授权用户清单中,因欠费、挂失、有不正当使用记录而被拒绝支付交易的那部分用户信息;支付接口,用于提供整个离线支付装置与金融系统的资金流动的接口;操作日志汇总,用于保存包括所有消费机、电子钱包进行查询、充值、消费的操作日志在内的操作记录信息;消费机清单,用于保存包括:已经授权可以进行离线支付交易的消费机身份标识、使用权限、有效期、各个消费机的公开密钥。

服务器用于给充值消费机发放权限,使其具备接受装置内的电子钱包进行支付的功能;服务器用于给电子钱包发放权限,使其具备向装置内的消费机进行支付的功能;由服务器给用户发放一个授权,授权方式是发放一个授权实体硬件设备,或者是为已有设备的用户提供一个授权号;并为设备充值,写入电子钱包身份标识、使用权限、有效期、电子钱包的支付密码和查询密码、电子钱包持有者的身份信息;消费机和电子钱包内的加密解密采用同一个公钥密码算法;消费机和电子钱包的发行和授权,由一个单位、组织或者一个联合机构负责实施,从而保证:1、消费机上的公钥环包含所有电子钱包的公开密钥;2、每一个电子钱包的公钥环包含所有消费机的公开密钥;3、每个消费机都有各自唯一的私有密钥,每个电子钱包都有各自唯一的私有密钥;4、电子钱包和消费机都可以在联网时,升级或者扩展公钥环上的公开密钥;5、电子钱包和消费机都可以在联网时,升级或者扩展本身的私有密钥。

电子钱包根据公钥密码算法的加密算法fun(),能够用其私有密钥s加密的信息m得到的密文m,同时能够由消费机利用公钥环上的相对应的该电子钱包的公开密钥g和公钥密码算法的解密算法gun(),解密密文m得到信息m;但消费机不能通过采用公钥环上的任何一个公开密钥或者其他除电子钱包的私有密钥之外的其他密钥对同一个信息m加密而得到电子钱包用私有密钥加密得到的密文m。

(2)在步骤(1)建立的vlc和barcode公钥体制双介质离线支付装置中,用一个授权的电子钱包向一个授权的消费机进行支付,支付由电子钱包主动发起,支付流程处理包括如下:

zd1,在电子钱包,输入支付金额和支付密码,并进入zd1.1。

zd1.1,钱包模块验证支付密码是否正确,如果正确则进入zd1.2;如果不正确,则退出支付流程,并在显示模块上显示密码错误的提示。

zd1.2,电子钱包查询钱包模块的余额,如果余额充足,则进入zd1.3;否则,退出流程,提示余额不足。

zd1.3,电子钱包生成支付邀请码yqm1,支付邀请码yqm1包括:支付随机码zfr1、支付金额zfk1、电子钱包身份标识qid1;并采用电子钱包的私有密钥qs和加密算法fun()对支付邀请码yqm1进行加密得到密文qsyqm1;再将密文qsyqm1和qid1发送出去。

zd2,消费机收到密文qsyqm2和qid2,根据电子钱包身份标识qid2,选择该电子钱包的公有密钥qs2和解密算法gun()解密密文qsyqm2,如果通过解密qsyqm2得到支付邀请码yqm2,并从中提取出支付随机码zfr2、支付金额zfk2、电子钱包身份标识qid2-1,则解密成功,进入zd2.1;如果解密无法进行,表示解密失败,则退出支付流程,并在显示器上显示处理失败的提示信息。

zd2.1,对比消费机收到的qid2和解密qsyqm2提取出的电子钱包身份标识qid2-1,如果一致则进入zd2.2;如果不一致,则退出支付流程,并在显示器上显示电子钱包身份标识错误的提示。

zd2.2,消费机提供两种操作,可以在使用前设定好:1、在显示器上显示支付金额zfk2,并提供是否同意接收支付的选择,如果选择同意就进入zd2.3,如果不同意就退出支付;2、不需要确认支付金额zfk2,默认接收,直接进入zd2.3。

zd2.3,消费机生成一个收款随机码skr2和收款确认码skm2,收款确认码skm2包括:收款随机码skr2、支付邀请码yqm2、消费机身份标识xid2;由该消费机的私有密钥xs和加密算法fun(),加密skm2得到密文xsskm2,再由身份标识为qid2的电子钱包的公开密钥qg加密xsskm2和消费机身份标识xid2,得到密文qgxsskmxid2,再根据密文qgxsskmxid2生成一个条码,显示在条码显示模块上。

zd3,电子钱包扫描条码显示模块上的条码,识别得到qgxsskmxid3,并进入zd3.1。

zd3.1,电子钱包用其私有密钥qs和解密算法gun()对qgxsskmxid3进行解密,如果解密得到xsskm3和消费机身份标识xid3;则解密成功,进入zd3.2;如果解密无法进行,表示解密失败,则退出支付流程;由此保证,有且只有发出支付邀请,且身份标识为qid1的电子钱包,才能进入后面的支付流程,避免电子钱包的伪造或者在支付过程中,被其他非法的电子钱包替换。

zd3.2,再根据身份标识xid3,用电子钱包里的该消费机的公开密钥xg3对密文xsskm3进行解密,如果解密得到skm3,并能从中提取出收款随机码skr3、支付邀请码yqm3、消费机身份标识xid3,则解密成功,进入zd3.3;如果解密无法进行,表示解密失败,则退出支付流程;由此保证,有且只有身份标识为xid3的消费机,才能对xsskm3进行解密,并能够进入后面的支付流程。

zd3.3,对比zd1.3中电子钱包生成的支付邀请码yqm1和在zd3.2中提取的支付邀请码yqm3,当分别一致时,消费机进入zd4,否则提示对比验证,并退出支付流程。

zd4,电子钱包更新钱包模块的钱包余额,用操作时间sj、支付金额zfk1、支付邀请码yqm3、收款确认码skm3生成操作日志,并通过显示模块显示付款成功的提示信息。

zd4.1,电子钱包生成一个完成支付的确认码qrm4,确认码qrm4包括:收款确认码skm3、支付金额zfk1、支付邀请码yqm3。

zd4.2,由该电子钱包的私有密钥xs和加密算法fun(),加密qrm3得到密文xsqrm3,再使用身份标识为xid2的消费机的公开密钥qg和加密算法fun(),加密xsqrm3和电子钱包身份标识qid1,得到密文qgxsqrmqid3,再根据密文qgxsqrmqid3生成一个可见光通信号,通过可见光发射模块发送出去。

zd5,消费机收到密文qgxsqrmqid5;由消费机的公开密钥qg和解密算法gun()解密密文qgxsqrmqid5,如果通过解密qgxsqrmqid5得到xsqrm5和电子钱包身份标识qid5,则解密成功,进入zd5.1;如果解密无法进行,表示解密失败,则退出支付流程,并在显示器上显示处理失败的提示信息。

zd5.2,根据电子钱包身份标识qid5,选择该电子钱包的公有密钥qs5,用解密算法gun()解密密文xsqrm5,如果解密xsqrm5,并从中提取出收款确认码skm5、支付金额zfk5、支付邀请码yqm5,则解密成功,进入zd5.3;如果解密无法进行,表示解密失败,则退出支付流程,并在显示器上显示处理失败的提示信息。

zd5.3,消费机进行如下对比验证:

1)对比zd2.3中消费机生成的收款确认码skm2和在zd5.2中收到并解密得到的收款确认码skm5。

2)对比zd2中消费机从qsyqm2解密得到的支付金额zfk2和在zd5.2中收到并解密得到的支付金额zfk5。

3)对比zd2中消费机从qsyqm2解密得到的支付邀请码yqm2和在zd5.2中收到并解密得到的支付邀请码yqm5。

当以上3个对比都分别一致时,消费机生成一个流程成功完成的标识,显示在显示器上。

消费机更新收款箱模块的余额,用本次支付的操作时间ssj、收款确认码skm5、支付邀请码yqm5生成操作日志,消费机生成一个流程成功完成的标识,显示在显示器上。

(3)服务器给每一台消费机设定一个有效期,如果超出有效期则无法使用,无法完成支付;有效期过后,要求消费机必须连接服务器,向服务器上传操作日志、收款金额,并再次由服务器为消费机重新延展有效期。

在支付流程中,从电子钱包接收消费机发送的数据,以及从消费机接收电子钱包发送的数据,都可能在收发过程中存在无法识别的可能,所以在支付流程中,对于无法识别的数据,以及因为无法接收数据而导致无法识别的情况,装置都会在一个设定的等待时间超时后,单方面结束支付流程。

在支付流程中,从电子钱包向消费机发送的数据,以及从消费机向电子钱包发送的数据,可能在收发过程中存在数据的丢失、被篡改、伪造的风险,因此在支付流程中,对每次收到的关键数据,都假定当前收到的数据与支付流程的前面的步骤生成的或者接收到的数据不一样,需要对比验证,由此保证收发数据的真实、完整。

本发明是利用可见光通信技术和条码扫描识别技术两者相结合,把智能手机、平板电脑等设备,作为电子钱包的载体,在消费机和电子钱包之间采用公钥密码体制进行身份以及交易信息的彼此的验证,有效的提高了该离线支付方法的安全性,交易双方的不可抵赖性。本发明解决了线上支付无法脱离网络的弊端,用一个人们随身携带的设备实现了离线支付,让人们出行更加方便,同时也一定程度提高了离线支付的安全性。

附图说明

图1是本发明方法的结构示意图。

图2是本发明的实施例中装置的结构图。

图中标记:1-电子钱包;2-消费机;3-服务器;11-控制模块;12-输入模块;13-显示模块;14-数据接口;15-条码扫描模块;16-钱包模块;17-可见光发射模块;18-密码处理模块;21-读写控制模块;22-条码显示模块;23-收银箱模块;24-可见光接收模块;25-键盘模块;26-显示器;27-通信模块;28-密码协处理器。

具体实施方式

实施例:

本发明的一种公钥体制下的双介质双认证快速离线支付方法,具体实施步骤如下:

建立一套vlc和barcode公钥体制双介质离线支付装置,包括:电子钱包1、消费机2、服务器3。

电子钱包1,包括:控制模块11、输入模块12、显示模块13、数据接口14、条码扫描模块15、钱包模块16、可见光发射模块17、密码处理模块18。

可见光发射模块17,用于根据控制模块11输入的信息,生成并发送可见光信号。

条码扫描模块15,用于扫描识别条码,并将识别的结果输出给控制模块11。

控制模块11,用于:1、将待发送的信息进行处理,生成数据包,并输出给可见光发射模块17,驱动可见光发射模块17发送可见光信号;2、接收条码扫描模块15的扫描结果输出,并对扫描结果进行验证;3、与钱包模块16进行消费、充值、余额查询、操作日志信息的读写操作;4、根据收到的信息和生成的支付信息,生成需要通过可见光发射模块17发送的信息;5、能够通过数据接口14与服务器3进行数据交互。

钱包模块16,用于保存包括:用户账号信息、钱包余额、消费权限、查询密码、支付密码、操作日志、生产发行机构在内的信息;并可以验证输入的密码是否与钱包密码模块内保存的密码一致;该模块使用手机sim卡实现。

输入模块12,用于向控制模块11输入支付金额、查询密码、支付密码、操作指令。

显示模块13,用于显示支付金额、密码输入界面、操作指令以及提示信息。

密码处理模块18,用于保存消费机的公钥环,电子钱包自身的私有密钥,以及对输入的信息,根据模块内置的密码处理单元,采用公开密钥或者私有密钥进行加密,以及采用公开密钥或者私有密钥进行解密;并输出加密或者解密后的信息。

数据接口14,用于提供电子钱包1的联网功能,提供与服务器3连接并进行数据交换、数据维护和升级的功能。

电子钱包1采用配置了闪光灯和摄像头的智能手机实现。

消费机2,包括:可见光接收模块24、条码显示模块22、读写控制模块21、收银箱模块23、键盘模块25、显示器26、通信模块27、密码协处理器28。

可见光接收模块24,用于接收可见光信号,并处理还原成对应的数字信号,还原成数据包。

条码显示模块22,用于根据读写控制模块21的输入信息,生成并显示出条码。

读写控制模块21,用于:1、接收可见光接收模块24的输出,并予以认证;2、将待发送的信息进行处理,输出给条码显示模块22;3、与收银箱模块23进行消费、充值、余额查询、操作日志信息的读写操作;4、提供通信接口,通过通信模块27与服务器3进行交易信息、用户信息的上传和下载。

收银箱模块23,用于保存包括:操作日志、收款消费权限、黑名单、收银余额、操作密码、有效期、生产发行机构在内的信息。

键盘模块25,用于向读写控制模块21输入交易金额、交易密码、操作指令。

显示器26,用于显示交易金额、密码输入界面、操作指令以及提示信息。

密码协处理器,用于保存电子钱包的公钥环,消费机自身的私有密钥,以及对输入的信息,根据密码协处理器内置的密码处理单元,采用公开密钥或者私有密钥进行加密,以及采用公开密钥或者私有密钥进行解密;并输出加密或者解密后的信息。

通信模块27,用于通过有线或者无线的方式,连接上位机或者接入网络,从而与服务器相连。

服务器3,用于:1、与消费机2通过通信模块27建立上传、下载的数据连接;2、与电子钱包1通过数据接口14建立上传、下载的数据连接;3、提供本离线支付方法的后台服务支持;4、提供整个离线支付装置与金融系统的资金流动的接口;5、为消费机2、电子钱包1发放或取消授权,提供包括:密钥更新、算法更新和升级、使用权限调整、有效期调整、电子钱包充值、消费机缴款在内的服务;6、保存包括:授权用户清单、黑名单、操作日志汇总、消费机清单在内的信息。

授权用户清单,用于保存包括:已经授权可以进行离线支付的电子钱包身份标识、使用权限、有效期、电子钱包持有者的身份信息、各个电子钱包的公开密钥。

黑名单,用于保存授权用户清单中,因欠费、挂失、有不正当使用记录而被拒绝支付交易的那部分用户信息。

支付接口,用于提供整个离线支付装置与金融系统的资金流动的接口。

操作日志汇总,用于保存包括所有消费机、电子钱包的查询、充值、消费的操作的时间、支付金额、支付过程数据参数在内的信息。

消费机清单,用于保存包括:已经授权可以进行离线支付交易的消费机身份标识、使用权限、有效期、各个消费机的公开密钥。

一组服务器3、不少于一个消费机2、不少于一个电子钱包1,共同组成一个完整的离线支付装置系统;服务器3可以给包括本发明中消费机2的模块及其功能的设备发放权限,使其可以具备接受装置内的电子钱包1进行支付的功能;服务器3可以给包括本发明中电子钱包1的模块以及功能的设备发放权限,使其可以具备向装置内的消费机2进行支付的功能。

电子钱包1的发行过程包括:由服务器3给用户发放一个授权,授权方式可以是发放一个授权实体硬件设备,也可以是为用户已有的配备本发明的设备提供一个授权号;并为设备充值,写入电子钱包身份标识、使用权限、有效期、电子钱包的支付密码和查询密码、电子钱包持有者的身份信息。

消费机2和电子钱包1的发行和授权,由一个单位负责实施,从而保证:1、所有经过授权的消费机上的公钥环包含所有经过授权的电子钱包的公开密钥;2、所有经过授权的电子钱包的公钥环包含所有经过授权的消费机的公开密钥;3、每个消费机都有各自唯一的私有密钥,每个电子钱包都有各自唯一的私有密钥;4、所有经过授权的电子钱包和消费机都可以在联网时,升级或者扩展公钥环上的公开密钥;5、电子钱包1和消费机2都可以在联网时,升级或者扩展本身的私有密钥。

任何一个电子钱包根据公钥密码算法的加密算法fun(),都可以用其私有密钥s加密的信息m得到的密文m,同时可以由消费机利用公钥环上的相对应的该电子钱包的公开密钥g和公钥密码算法的解密算法gun(),解密密文m得到信息m;但消费机不能通过采用公钥环上的任何一个公开密钥或者其他除电子钱包的私有密钥之外的其他密钥对同一个信息m加密而得到电子钱包用私有密钥加密得到的密文m。

在本实施例中,用一个授权的电子钱包1向一个授权的消费机2进行支付,支付由电子钱包1主动发起,支付流程处理包括如下:

zd1,在电子钱包1,输入支付金额和支付密码,并进入zd1.1。

zd1.1,钱包模块16验证支付密码是否正确,如果正确则进入zd1.2;如果不正确,则退出支付流程,并在显示模块13上显示密码错误的提示。

zd1.2,电子钱包1查询钱包模块16的余额,如果余额充足,则进入zd1.3;否则,退出流程,提示余额不足。

zd1.3,电子钱包1生成支付邀请码yqm1,支付邀请码yqm1包括:支付随机码zfr1、支付金额zfk1、电子钱包身份标识qid1;并采用电子钱包私有密钥qs和加密算法fun()对支付邀请码yqm1进行加密得到密文qsyqm1;再将密文qsyqm1和qid1发送出去。

zd2,消费机2收到密文qsyqm2和qid2,根据电子钱包身份标识qid2,选择该电子钱包公有密钥qs2和解密算法gun()解密密文qsyqm2,如果通过解密qsyqm2得到支付邀请码yqm2,并从中提取出支付随机码zfr2、支付金额zfk2、电子钱包身份标识qid2-1,则解密成功,进入zd2.1;如果解密无法进行,表示解密失败,则退出支付流程,并在显示器26上显示处理失败的提示信息。

zd2.1,对比消费机2收到的qid2和解密qsyqm2提取出的电子钱包身份标识qid2-1,如果一致则进入zd2.2;如果不一致,则退出支付流程,并在显示器26上显示电子钱包身份标识错误的提示。

zd2.2,消费机2提供两种操作,可以在使用前设定好:1、在显示器26上显示支付金额zfk2,并提供是否同意接收支付的选择,如果选择同意就进入zd2.3,如果不同意就退出支付;2、不需要确认支付金额zfk2,默认接收,直接进入zd2.3。

zd2.3,消费机2生成一个收款随机码skr2和收款确认码skm2,收款确认码skm2包括:收款随机码skr2、支付邀请码yqm2、消费机身份标识xid2;由该消费机的私有密钥xs和加密算法fun(),加密skm2得到密文xsskm2,再由身份标识为qid2的电子钱包的公开密钥qg加密xsskm2和消费机身份标识xid2,得到密文qgxsskmxid2,再根据密文qgxsskmxid2生成一个条码,显示在显示器26上。

zd3,电子钱包1扫描显示器26上的条码,识别得到qgxsskmxid3,并进入zd3.1。

zd3.1,电子钱包1用其私有密钥qs和解密算法gun()对qgxsskmxid3进行解密,如果解密得到xsskm3和消费机身份标识xid3;则解密成功,进入zd3.2;如果解密无法进行,表示解密失败,则退出支付流程;由此保证,有且只有发出支付邀请,且身份标识为qid1的电子钱包,才能进入后面的支付流程,避免电子钱包的伪造或者在支付过程中,被其他非法的电子钱包替换。

zd3.2,再根据身份标识xid3,用电子钱包里的该消费机的公开密钥xg3对密文xsskm3进行解密,如果解密得到skm3,并能从中提取出收款随机码skr3、支付邀请码yqm3、消费机身份标识xid3,则解密成功,进入zd3.3;如果解密无法进行,表示解密失败,则退出支付流程;由此保证,有且只有身份标识为xid3的消费机,才能对xsskm3进行解密,并能够进入后面的支付流程。

zd3.3,对比zd1.3中电子钱包1生成的支付邀请码yqm1和在zd3.2中提取的支付邀请码yqm3,当分别一致时,消费机进入zd4,否则提示对比验证,并退出支付流程。

zd4,电子钱包1更新钱包模块16的钱包余额,用操作时间sj、支付金额zfk1、支付邀请码yqm3、收款确认码skm3生成操作日志,并通过显示模块显示付款成功的提示信息。

zd4.1,电子钱包1生成一个完成支付的确认码qrm4,确认码qrm4包括:收款确认码skm3、支付金额zfk1、支付邀请码yqm3。

zd4.2,由该电子钱包私有密钥xs和加密算法fun(),加密qrm3得到密文xsqrm3,再使用身份标识为xid2的消费机的公开密钥qg和加密算法fun(),加密xsqrm3和电子钱包身份标识qid1,得到密文qgxsqrmqid3,再根据密文qgxsqrmqid3生成一个可见光通信号,通过可见光发射模块17发送出去。

zd5,消费机2收到密文qgxsqrmqid5;由消费机公开密钥qg和解密算法gun()解密密文qgxsqrmqid5,如果通过解密qgxsqrmqid5得到xsqrm5和电子钱包身份标识qid5,则解密成功,进入zd5.1;如果解密无法进行,表示解密失败,则退出支付流程,并在显示器26上显示处理失败的提示信息。

zd5.2,根据电子钱包身份标识qid5,选择该电子钱包的公有密钥qs5,用解密算法gun()解密密文xsqrm5,如果解密xsqrm5,并从中提取出收款确认码skm5、支付金额zfk5、支付邀请码yqm5,则解密成功,进入zd5.3;如果解密无法进行,表示解密失败,则退出支付流程,并在显示器26上显示处理失败的提示信息。

zd5.3,消费机2进行如下对比验证:

1)对比zd2.3中消费机2生成的收款确认码skm2和在zd5.2中收到并解密得到的收款确认码skm5。

2)对比zd2中消费机2从qsyqm2解密得到的支付金额zfk2和在zd5.2中收到并解密得到的支付金额zfk5。

3)对比zd2中消费机2从qsyqm2解密得到的支付邀请码yqm2和在zd5.2中收到并解密得到的支付邀请码yqm5。

当以上3个对比都分别一致时,消费机2生成一个流程成功完成的标识,显示在显示器26上。

消费机2更新收款箱模块23的余额,用本次支付的操作时间ssj、收款确认码skm5、支付邀请码yqm5生成操作日志,消费机2生成一个流程成功完成的标识,显示在显示器26上。

在支付流程中,从电子钱包1接收消费机2发送的数据,以及从消费机2接收电子钱包1发送的数据,都可能在收发过程中存在无法识别的可能,在支付流程中,对于无法识别的数据,以及因为无法接收数据而导致无法识别的情况,装置都会在一个设定的等待时间超时后,单方面结束支付流程。

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