本发明属于光支付技术领域,特别涉及一种带可见光与条码双向公钥体制认证的在线支付装置。
背景技术:
可见光通信(Visible Light Communication,简称VLC)技术是利用高频且人眼无法感知到的闪烁灯光作为信息载体,在数据发送端用LED的高频闪烁来携带信号,在接收端用高速响应的感光元件采集信号,从而实现无线通信的方法。
“扫码”是时下很流行的信息获取方式,通常是采用智能手机的摄像头拍摄条形码,并从中识别出信息。
“扫码支付”则是在“扫码”技术和微信、支付宝等技术的基础上发展起来的线上支付方式手段。 “扫码支付”的支付手段,就如同传统的非现金交易手段一样,都属于在线交易,原有的磁卡系统就是典型的在线交易系统。
公钥密码体制是现代密码学中一个重要的分支,广泛用于电子签名、认证等领域,在电子商务、电子政务上都得到了应用实践。
本发明得到VLC技术、“扫码支付”等方式的启发,借助智能手机、平板电脑这类有LED闪光灯和摄像头的智能设备,提出了一个在线支付的装置,装置中采用公钥密码体制进行了交易信息的双向认证方法,使得本发明的装置交易过程更加安全。
技术实现要素:
本发明的目的在于提供一种带可见光与条码双向公钥体制认证的在线支付装置。
本发明是这样实现的:一种带可见光与条码双向公钥体制认证的在线支付装置,包括:电子钱包、消费机和服务器。
电子钱包,包括:可见光发射模块、条码扫描模块、控制模块、输入模块、显示模块、密码处理模块和数据接口;控制模块分别与可见光发射模块、条码扫描模块、输入模块、显示模块、密码处理模块和数据接口电连接;可见光发射模块,用于根据控制模块输入的信息,生成并发送可见光信号;条码扫描模块,用于扫描识别条码,并将识别的结果输出给控制模块;控制模块,用于:1、将待发送的信息进行处理,生成数据包,并输出给可见光发射模块,驱动可见光发射模块发送可见光信号;2、接收条码扫描模块的扫描结果输出,并对扫描结果进行验证;3、与服务器进行消费、充值、余额查询、操作日志信息的读写操作;4、根据收到的信息和生成的支付信息,生成需要通过可见光发射模块的信息;5、能够通过数据接口与服务器进行数据交互;输入模块,用于向控制模块输入包括支付金额、查询密码、支付密码、操作指令在内的信息;显示模块,用于显示支付金额、密码输入界面、操作指令以及提示信息;密码处理模块,用于保存消费机的公钥环,电子钱包自身的私有密钥,以及对输入的信息,根据模块内置的密码处理单元,采用公开密钥或者私有密钥进行加密,以及采用公开密钥或者私有密钥进行解密;并输出加密或者解密后的信息;数据接口,用于提供电子钱包的联网功能,提供与服务器连接并进行数据交换、数据维护和升级的功能。
消费机,包括:可见光接收模块、条码显示模块、读写控制模块、键盘模块、显示器、密码协处理器和通信模块;读写控制模块分别与可见光接收模块、条码显示模块、键盘模块、显示器、密码协处理器和通信模块电连接;可见光接收模块,用于接收可见光信号,并处理还原成对应的数字信号,还原成数据包;条码显示模块,用于根据读写控制模块的输入信息,生成并显示出条码;读写控制模块,用于:1、接收可见光接收模块的输出,并予以认证;2、将待发送的信息进行处理,输出给条码显示模块;3、与服务器进行消费、充值、余额查询、操作日志信息的读写操作;4、提供数据接口,通过通信模块与服务器进行信息的上传和下载;键盘模块,用于向读写控制模块输入交易金额、交易密码、操作指令;显示器,用于显示交易金额、密码输入界面、操作指令以及提示信息;密码协处理器,用于:1、保存电子钱包的公钥环,消费机自身的私有密钥;2、对输入的信息,根据密码协处理器内置的密码处理单元,采用公开密钥或者私有密钥进行加密,以及采用公开密钥或者私有密钥进行解密;并输出加密或者解密后的信息;通信模块,用于通过有线或者无线的方式,连接上位机或者接入网络,从而与服务器相连。
服务器,用于:1、与消费机通过通信模块建立上传、下载的数据连接;2、与电子钱包通过数据接口建立上传、下载的数据连接;3、提供本在线支付装置的后台服务支持;4、提供整个在线支付装置与金融系统的资金流动的接口;5、为消费机、电子钱包发放或取消授权,提供包括:密钥更新、算法更新和升级、使用权限调整、有效期调整、电子钱包充值、消费机缴款在内的服务;6、保存包括:授权用户清单、黑名单、操作日志汇总、消费机清单在内的信息;授权用户清单,用于保存包括:已经授权可以进行在线支付的电子钱包身份标识、使用权限、有效期、电子钱包持有者的身份信息、各个电子钱包的公开密钥;黑名单,用于保存授权用户清单中,因欠费、挂失、有不正当使用记录而被拒绝支付交易的那部分用户信息;支付接口,用于提供整个在线支付装置与金融系统的资金流动的接口;操作日志汇总,用于保存包括所有消费机、电子钱包的查询、充值、消费的操作的时间、支付金额、支付过程数据参数在内的信息;消费机清单,用于保存包括:已经授权可以进行在线支付交易的消费机身份标识、使用权限、有效期、各个消费机的公开密钥。
服务器用于给包括上述消费机的模块及其功能的设备发放权限,使其具备接受装置内的电子钱包进行支付的功能;服务器用于给包括上述电子钱包的模块以及功能的设备发放权限,使其具备向装置内的消费机进行支付的功能;同时由服务器给用户发放一个授权,授权方式是发放一个授权实体硬件设备,或者是为已有设备的用户提供一个授权号;并为设备充值,写入电子钱包身份标识、使用权限、有效期、电子钱包的支付密码和查询密码、电子钱包持有者的身份信息。
消费机和电子钱包内的加密解密采用同一个公钥密码算法;消费机和电子钱包的发行和授权,由一个单位、组织或者一个联合机构负责实施,从而保证:1、所有经过授权的消费机上的公钥环包含所有经过授权的电子钱包的公开密钥;2、所有经过授权的电子钱包的公钥环包含所有经过授权的消费机的公开密钥;3、每个消费机都有各自唯一的私有密钥, 每个电子钱包都有各自唯一的私有密钥;4、所有经过授权的电子钱包和消费机都可以在联网时,升级或者扩展公钥环上的公开密钥;5、电子钱包和消费机都可以在联网时,升级或者扩展本身的私有密钥;电子钱包根据公钥密码算法的加密算法fun(),能够用其私有密钥S加密的信息m得到的密文M,同时能够由消费机利用公钥环上的相对应的该电子钱包的公开密钥G和公钥密码算法的解密算法gun(),解密密文M得到信息m;但消费机不能通过采用公钥环上的任何一个公开密钥或者其他除电子钱包的私有密钥之外的其他密钥对同一个信息m加密而得到电子钱包用私有密钥加密得到的密文M。
在该在线支付装置中,用一个授权的电子钱包向一个授权的消费机进行支付,支付由消费机发起,支付流程处理包括如下:
GY1,消费机向电子钱包发出支付邀请,生成一个未加密的邀请码ZFYQ1,并由显示器生成条码显示出来;邀请码ZFYQ1包括:购买产品标识SP1、消费机身份标识XID1、待收款金额DFK1。
GY2,电子钱包扫描显示器上的条码,识别出邀请码ZFYQ2,并提取出购买产品标识SP2、消费机身份标识XID2、待收款金额DFK2,并通过显示模块显示出来;电子钱包确认是否同意进行本次支付,如果同意,则进入GY3,否则就退出支付流程。
GY3,连接服务器查询电子钱包的余额,如果余额充足,则进入GY4;否则,退出支付流程,提示余额不足。
GY4,电子钱包生成一个支付随机码ZFR4,并生成一个支付码ZFM4,支付码ZFM4包括:支付随机码ZFR4、支付金额ZFK4、消费机身份标识XID4、购买产品标识SP4、邀请码ZFYQ4,采用电子钱包的私有密钥QS和加密算法fun()对支付码ZFM4进行加密得到密文dsZFM4;再用消费机的公开密钥XG和加密算法fun()对密文dsZFM4 和电子钱包身份标识QID4进行加密得到密文xgdsZFMQID4,并将密文xgdsZFMQID4发送出去。
GY5,消费机收到密文xgdsZFMQID5,进入GY5.1。
GY5.1,用消费机的私有密钥XS和解密算法gun()解密xgdsZFMQID5,如果得到dsZFM5和电子钱包身份标识QID5,则解密成功,进入GY5.2;如果解密无法进行,表示解密失败,则退出支付流程;由此保证,有且只有发出支付邀请且得到电子钱包认可的消费机,才能进入后面的支付流程,才能收到款,避免消费机的伪造或者在支付过程中,被其他非法的消费机替换。
GY5.2,再根据电子钱包身份标识QID5,选择该电子钱包的公有密钥QS5用解密算法gun()解密密文dsZFM5,并从中提取出支付随机码ZFR5、支付金额ZFK5、消费机身份标识XID5、购买产品标识SP5、邀请码ZFYQ5,并进行进入GY5.3;由此保证,有且只有身份标识为QID5的电子钱包,才可能生成密文,并进行后续的支付流程,确认了在支付流程中,参与支付的是身份标识为QID5的电子钱包。
GY5.3,进行如下对比验证:
1)对比GY1中消费机生成的邀请码ZFYQ1和从G5.2中解密密文中提取的邀请码ZFYQ5。
2)对比GY1中消费机生成的待收款金额DFK1和从G5.2中解密密文中提取的支付金额ZFK1。
3)对比GY1中消费机身份标识XID1和从G5.2中解密密文提取出的消费机身份标识XID5。
4)对比GY1中消费机生成的购买产品标识SP1和从G5.2中解密密文中提取的购买产品标识SP5。
当以上4个对比都分别一致时,消费机进入GY5.4,否则提示对比验证,并退出支付流程。
GY5.4,消费机完成GY5.3中的验证后,生成一个收款确认码SKQR5,并生成收款码SKM5包括: 支付随机码ZFR5、支付金额ZFK5、消费机XID5、购买产品标识SP5、邀请码ZFYQ5和收款确认码SKQR5,由该消费机的私有密钥XS用加密算法fun()加密SKM5得到密文xsSKM5,再由该电子钱包的公开密钥QG加密xsSKM5和消费机身份标识XID5,得到dgxsSKMXID5,再生成一个条码,显示在条码显示模块上。
GY6,电子钱包扫描条码显示模块上的条码,收到密文dgxsSKMXID6,进入GY6.1。
GY6.1,采用电子钱包的私有密钥QS和解密算法gun()对密文dgxsSKMXID6进行解密,如果解密可以得到xsSKM6和消费机身份标识XID6,则解密成功,进入GY6.2;如果解密无法进行,表示解密失败,则退出支付流程;由此保证,有且只有生成并发出密文dgxsSKMXID6的电子钱包,才能进入后面的支付流程,避免电子钱包的伪造或者在支付过程中,被其他非法的电子钱包替换。
GY6.2,再用电子钱包里的根据消费机XID6选择该消费机的公开密钥XG6对密文xsSKM6进行解密,并从中提取出支付随机码ZFR6、支付金额ZFK6、消费机XID6-1、购买产品标识SP6、邀请码ZFYQ6和收款确认码SKQR6。
GY6.3,进行如下对比验证:
1)对比GY4中电子钱包生成的支付随机码ZFR4和在GY6.2中提取的支付随机码ZFR6。
2)对比GY4中电子钱包生成的支付金额ZFK4和在GY6.2中提取的支付金额ZFK6。
3)对比GY4中电子钱包收到的消费机身份标识XID4、在GY6.2中提取的消费机身份标识XID6-1以及在GY6.1中解密得到的消费机身份标识XID6。
4)对比GY4中电子钱包收到的购买产品标识SP4和在GY6.2中提取的购买产品标识SP6。
当以上4个对比都分别一致时,消费机进入GY6.4,否则提示对比验证,并退出支付流程,并通过显示模块显示对比不一致的提示信息。
GY6.4,服务器更新电子钱包的钱包余额,用操作时间SJ、收款确认码SKQR6、支付金额ZFK6、消费机身份标识XID6、购买产品标识SP6、邀请码ZFYQ6、支付随机码ZFR6生成操作日志,并通过显示模块显示付款成功的提示信息,再通过可见光发射模块发送一个完成支付的确认码QRM6,确认码QRM6包括:邀请码ZFYQ6和收款确认码SKQR6。
GY7,消费机收到邀请码ZFYQ7和收款确认码SKQR7;并进行如下对比验证:
1)对比GY1中消费机生成的邀请码ZFYQ1和在GY9中收到的邀请码ZFYQ7;
2)对比GY6中消费机生成的收款确认码SKQR1和在GY7中收到的收款确认码SKQR7。
当以上2个对比都分别一致时,服务器用本次支付的操作时间SSJ、电子钱包身份标识QID5、支付随机码ZFR5、购买产品标识SP5、支付金额ZFK5、邀请码ZFYQ7和收款确认码SKQR7生成操作日志,并由消费机生成一个流程成功完成的标识,显示在显示器上。
在支付流程中,从电子钱包接收消费机发送的数据,以及从消费机接收电子钱包发送的数据, 都可能在收发过程中存在无法识别的可能,所以在支付流程中,对于无法识别的数据,以及因为无法接收数据而导致无法识别的情况,装置都会在一个设定的等待时间超时后,单方面结束支付流程。
在支付流程中,从电子钱包向消费机发送的数据,以及从消费机向电子钱包发送的数据, 可能在收发过程中存在数据的丢失、被篡改、伪造的风险,因此在支付流程中,对每次收到的关键数据,都假定当前收到的数据与支付流程的前面的步骤生成的或者接收到的数据不一样,需要对比验证,由此保证收发数据的真实、完整。
本发明是利用可见光通信技术和条码扫描识别技术两者相结合,把智能手机、平板电脑等设备,作为电子钱包的载体,在消费机和电子钱包之间采用公钥密码体制进行身份以及交易信息的彼此的验证,有效的提高了该在线支付装置的安全性,交易双方的不可抵赖性。本发明用一个人们随身携带的设备实现了在线支付,让人们出行更加方便,同时也一定程度提高了在线支付的安全性。
附图说明
图1 是本发明的结构示意图。
图2 是本发明的实施例中装置的结构图。
图中标记:1-电子钱包;2-消费机;3-服务器;11-控制模块;12-输入模块;13-显示模块;14-数据接口;15-条码扫描模块; 17-可见光发射模块;18-密码处理模块;21-读写控制模块;22-条码显示模块; 24-可见光接收模块;25-键盘模块;26-显示器;27-通信模块;28-密码协处理器。
具体实施方式
实施例:
一种带可见光与条码双向公钥体制认证的在线支付装置,包括:电子钱包1、消费机2、服务器3。
电子钱包1,包括:控制模块11、输入模块12、显示模块13、数据接口14、条码扫描模块15、可见光发射模块17、密码处理模块18;控制模块11分别与输入模块12、显示模块13、数据接口14、条码扫描模块15、可见光发射模块17、密码处理模块18电连接。
可见光发射模块17,用于根据控制模块11输入的信息,生成并发送可见光信号。
条码扫描模块15,用于扫描识别条码,并将识别的结果输出给控制模块11。
控制模块11,用于:1、将待发送的信息进行处理,生成数据包,并输出给可见光发射模块17,驱动可见光发射模块17发送可见光信号;2、接收条码扫描模块15的扫描结果输出,并对扫描结果进行验证;3、与服务器3连接,进行消费、充值、余额查询、操作日志信息的读写操作;4、根据收到的信息和生成的支付信息,生成需要通过可见光发射模块17发送的信息;5、能够通过数据接口14与服务器3进行数据交互。
输入模块12,用于向控制模块11输入包括支付金额、查询密码、支付密码、操作指令在内的信息。
显示模块13,用于显示支付金额、密码输入界面、操作指令以及提示信息。
密码处理模块18,用于保存消费机的公钥环,电子钱包自身的私有密钥,以及对输入的信息,根据模块内置的密码处理单元,采用公开密钥或者私有密钥进行加密,以及采用公开密钥或者私有密钥进行解密;并输出加密或者解密后的信息。
数据接口14,用于提供电子钱包1的联网功能,提供与服务器3连接并进行数据交换、数据维护和升级的功能。
电子钱包1采用配置了闪光灯和摄像头的智能手机实现。
消费机2,包括:可见光接收模块24、条码显示模块22、读写控制模块21、键盘模块25、显示器26、通信模块27、密码协处理器28;读写控制模块21分别与可见光接收模块24、条码显示模块22、键盘模块25、显示器26、通信模块27、密码协处理器28电连接。
可见光接收模块24,用于接收可见光信号,并处理还原成对应的数字信号,还原成数据包。
条码显示模块22,用于根据读写控制模块21的输入信息,生成并显示出条码。
读写控制模块21,用于:1、接收可见光接收模块24的输出,并予以认证;2、将待发送的信息进行处理,输出给条码显示模块22;3、与服务器3进行包括消费、充值、余额查询、操作日志在内的信息的读写操作;4、提供通信接口,通过通信模块27与服务器3进行信息的上传和下载。
收银箱模块23,用于保存包括:操作日志、收款消费权限、黑名单、收银余额、操作密码、有效期、生产发行机构在内的信息。
键盘模块25,用于向读写控制模块21输入交易金额、交易密码、操作指令。
显示器26,用于显示交易金额、密码输入界面、操作指令以及提示信息。
密码协处理器18,用于保存电子钱包1的公钥环,消费机1自身的私有密钥,以及对输入的信息,根据密码协处理器18内置的密码处理单元,采用公开密钥或者私有密钥进行加密,以及采用公开密钥或者私有密钥进行解密;并输出加密或者解密后的信息。
通信模块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内的加密解密采用同一个公钥密码算法。
消费机2和电子钱包1的发行和授权,由一个单位负责实施,从而保证:1、所有经过授权的消费机上的公钥环包含所有经过授权的电子钱包的公开密钥;2、所有经过授权的电子钱包的公钥环包含所有经过授权的消费机的公开密钥;3、每个消费机都有各自唯一的私有密钥, 每个电子钱包都有各自唯一的私有密钥;4、所有经过授权的电子钱包和消费机都可以在联网时,升级或者扩展公钥环上的公开密钥;5、电子钱包1和消费机2都可以在联网时,升级或者扩展本身的私有密钥。
任何一个电子钱包根据公钥密码算法的加密算法fun(),都可以用其私有密钥S加密的信息m得到的密文M,同时可以由消费机利用公钥环上的相对应的该电子钱包的公开密钥G和公钥密码算法的解密算法gun(),解密密文M得到信息m;但消费机不能通过采用公钥环上的任何一个公开密钥或者其他除电子钱包的私有密钥之外的其他密钥对同一个信息m加密而得到电子钱包用私有密钥加密得到的密文M。
在本实施例中,用一个授权的电子钱包1向一个授权的消费机2进行支付,支付由消费机2发起,支付流程处理包括如下:
GY1,消费机2向电子钱包1发出支付邀请,生成一个未加密的邀请码ZFYQ1,并由显示器26生成条码显示出来;邀请码ZFYQ1包括:购买产品标识SP1、消费机身份标识XID1、待收款金额DFK1。
GY2,电子钱包1扫描显示器26上的条码,识别出邀请码ZFYQ2,并提取出购买产品标识SP2、消费机身份标识XID2、待收款金额DFK2,并通过显示模块13显示出来;电子钱包1确认是否同意进行本次支付,如果同意,则进入GY3,否则就退出支付流程。
GY3,连接服务器查询电子钱包的余额,如果余额充足,则进入GY4;否则,退出支付流程,提示余额不足。
GY4,电子钱包1生成一个支付随机码ZFR4,并生成一个支付码ZFM4,支付码ZFM4包括:支付随机码ZFR4、支付金额ZFK4、消费机身份标识XID4、购买产品标识SP4、邀请码ZFYQ4,采用电子钱包1的私有密钥QS和加密算法fun()对支付码ZFM4进行加密得到密文dsZFM4;再用消费机2的公开密钥XG和加密算法fun()对密文dsZFM4 和电子钱包身份标识QID4进行加密得到密文xgdsZFMQID4,并将密文xgdsZFMQID4发送出去。
GY5,消费机2收到密文xgdsZFMQID5,进入GY5.1。
GY5.1,用消费机2的私有密钥XS和解密算法gun()解密xgdsZFMQID5,如果得到dsZFM5和电子钱包身份标识QID5, 则解密成功,进入GY5.2;如果解密无法进行,表示解密失败,则退出支付流程;由此保证,有且只有发出支付邀请且得到电子钱包1认可的消费机2,才能进入后面的支付流程,才能收到款,避免消费机的伪造或者在支付过程中,被其他非法的消费机替换。
GY5.2,再根据电子钱包身份标识QID5,选择该电子钱包1的公有密钥QS5用解密算法gun()解密密文dsZFM5,并从中提取出支付随机码ZFR5、支付金额ZFK5、消费机身份标识XID5、购买产品标识SP5、邀请码ZFYQ5,并进行进入GY5.3;由此保证,有且只有身份标识为QID5的电子钱包1,才可能生成密文,并进行后续的支付流程,确认了在支付流程中,参与支付的是身份标识为QID5的电子钱包1。
GY5.3,进行如下对比验证:
1)对比GY1中消费机2生成的邀请码ZFYQ1和从G5.2中解密密文中提取的邀请码ZFYQ5。
2)对比GY1中消费机2生成的待收款金额DFK1和从G5.2中解密密文中提取的支付金额ZFK1。
3)对比GY1中消费机身份标识XID1和从G5.2中解密密文提取出的消费机身份标识XID5。
4)对比GY1中消费机2生成的购买产品标识SP1和从G5.2中解密密文中提取的购买产品标识SP5。
当以上4个对比都分别一致时,消费机2进入GY5.4,否则提示对比验证,并退出支付流程。
GY5.4,消费机2完成GY5.3中的验证后,生成一个收款确认码SKQR5,并生成收款码SKM5包括: 支付随机码ZFR5、支付金额ZFK5、消费机XID5、购买产品标识SP5、邀请码ZFYQ5和收款确认码SKQR5,选择该消费机2的私有密钥XS用加密算法fun()加密SKM5得到密文xsSKM5,再由该电子钱包1的公开密钥QG加密xsSKM5和消费机身份标识XID5,得到dgxsSKMXID5,再生成一个条码,显示在条码显示模块22上。
GY6,电子钱包1扫描条码显示模块22上的条码,收到密文dgxsSKMXID6,进入GY6.1。
GY6.1,采用电子钱包1的私有密钥QS和解密算法gun()对密文dgxsSKMXID6进行解密,如果解密可以得到xsSKM6和消费机身份标识XID6,则解密成功,进入GY6.2;如果解密无法进行,表示解密失败,则退出支付流程;由此保证,有且只有生成并发出密文dgxsSKMXID6的电子钱包1,才能进入后面的支付流程,避免电子钱包的伪造或者在支付过程中,被其他非法的电子钱包替换。
GY6.2,电子钱包1里的根据消费机XID6选择该消费机2的公开密钥XG6对密文xsSKM6进行解密,并从中提取出支付随机码ZFR6、支付金额ZFK6、消费机XID6-1、购买产品标识SP6、邀请码ZFYQ6和收款确认码SKQR6。
GY6.3,进行如下对比验证:
1)对比GY4中电子钱包1生成的支付随机码ZFR4和在GY6.2中提取的支付随机码ZFR6。
2)对比GY4中电子钱包1生成的支付金额ZFK4和在GY6.2中提取的支付金额ZFK6。
3)对比GY4中电子钱包1收到的消费机身份标识XID4、在GY6.2中提取的消费机身份标识XID6-1以及在GY6.1中解密得到的消费机身份标识XID6。
4)对比GY4中电子钱包1收到的购买产品标识SP4和在GY6.2中提取的购买产品标识SP6。
当以上4个对比都分别一致时,消费机2进入GY6.4,否则提示对比验证,并退出支付流程,并通过显示模块13显示对比不一致的提示信息。
GY6.4,服务器3更新电子钱包的余额,用操作时间SJ、收款确认码SKQR6、支付金额ZFK6、消费机身份标识XID6、购买产品标识SP6、邀请码ZFYQ6、支付随机码ZFR6生成操作日志,并通过显示模块显示付款成功的提示信息,再通过可见光发射模块17发送一个完成支付的确认码QRM6,确认码QRM6包括:邀请码ZFYQ6和收款确认码SKQR6。
GY7,消费机2收到邀请码ZFYQ7和收款确认码SKQR7;并进行如下对比验证:
1)对比GY1中消费机2生成的邀请码ZFYQ1和在GY9中收到的邀请码ZFYQ7。
2)对比GY6中消费机2生成的收款确认码SKQR1和在GY7中收到的收款确认码SKQR7。
当以上2个对比都分别一致时,消费机2连接服务器,用本次支付的操作时间SSJ、电子钱包身份标识QID5、支付随机码ZFR5、购买产品标识SP5、支付金额ZFK5、邀请码ZFYQ7和收款确认码SKQR7生成操作日志,消费机2生成一个流程成功完成的标识,显示在显示器26上。