[0054] 实施例:
[0055] 本发明的一种带隐藏信道的光认证快速离线支付方法,具体实施步骤如下:
[0056] 建立一套带隐藏信道的光认证快速离线消费装置,包括:电子钱包1、消费机2、服务器3。
[0057] 电子钱包1,包括:可见光发射模块17、条码扫描模块15、控制模块11、钱包模块16、输入模块12、显示模块13、数据接口14、钱包光接收模块18。
[0058] 可见光发射模块17,用于根据控制模块11输入的信息,生成并发送可见光信号。
[0059] 条码扫描模块15,用于扫描识别条码,并将识别的结果输出给控制模块11。
[0060] 控制模块11,用于:1、将待发送的信息进行处理,生成数据包,并输出给可见光发射模块17,驱动可见光发射模块17发送可见光信号;2、接收条码扫描模块15的扫描结果输出,并对扫描结果进行验证;3、与钱包模块16进行消费、充值、余额查询和操作日志信息的读写操作;4、根据收到的信息和生成的支付信息,生成需要通过可见光发射模块17发送的信息;5、能够通过数据接口14与服务器3进行数据交互;6、接收钱包光接收模块18的结果输出,并予以识别、认证。
[0061] 钱包模块16,用于保存包括:用户账号信息、钱包余额、消费权限、查询密码、支付密码、操作日志、生产发行机构在内的信息;并可以验证输入的密码是否与钱包密码模块内保存的密码一致。
[0062] 输入模块12,用于向控制模块11输入支付金额、查询密码、支付密码、操作指令。
[0063] 显示模块13,用于显示支付金额、密码输入界面、操作指令以及提示信息。
[0064] 数据接口14,用于提供电子钱包1的联网功能,提供与服务器3连接,并进行数据交换、数据维护和升级的功能。
[0065] 钱包光接收模块18,用于接收背光模块26发送的可见光背光信号。
[0066] 电子钱包1采用配置了闪光灯、光电感知器件和摄像头的智能手机实现。
[0067] 钱包模块16使用手机sim卡实现。
[0068] 消费机2,包括:可见光接收模块24、读写控制模块21、收银箱模块23、键盘模块25、条码显示模块22、通信模块27、背光模块26。
[0069] 可见光接收模块24,用于接收可见光信号,并将可见光信号处理还原成对应的数字信号,再将数字信号还原成数据包。
[0070] 条码显示模块22,用于:1、根据读写控制模块21的输入信息,生成并显示出条码;2、显示交易金额、密码输入界面、操作指令以及提示信息。
[0071] 读写控制模块21,用于:1、接收可见光接收模块24的输出,并予以认证;2、将待发送的信息进行处理,输出给条码显示模块22;3、与收银箱模块23进行消费、充值、余额查询和操作日志信息的读写操作;4、提供通信接口,通过通信模块27与服务器3进行信息的上传和下载;5、将需要通过光信号形式发送的信息进行处理,生成数据包,并输出给背光模块26,驱动背光模块26发送可见光信号。
[0072] 收银箱模块23,用于保存包括:操作日志、收款消费权限、黑名单、收银余额、操作密码、有效期、生产发行机构在内的信息。
[0073] 键盘模块25,用于向读写控制模块21输入交易金额、交易密码和操作指令。
[0074] 通信模块27,用于通过有线或者无线的方式,连接上位机或者接入网络,从而与服务器相连。
[0075] 背光模块26,用于为条码显示模块22提供显示的照明背光,同时利用背光发送可见光背光信号。
[0076] 服务器3,用于:1、与消费机2通过通信模块27建立上传、下载的数据连接;2、与电子钱包1通过数据接口14建立上传、下载的数据连接;3、提供本离线支付方法的后台服务支持;4、提供整个离线支付装置与金融系统的资金流动的接口;5、为消费机2、电子钱包1发放或取消授权,提供包括:密钥更新、算法更新和升级、使用权限调整、有效期调整、电子钱包充值、消费机缴款、电子钱包和消费机公开信息查询在内的服务;6、保存包括:授权用户清单、黑名单、操作日志、消费机清单在内的信息。
[0077] 授权用户清单,用于保存包括:已经授权可以进行离线支付的电子钱包的身份标识、使用权限、有效期、电子钱包持有者的身份信息。
[0078] 黑名单,用于保存授权用户清单中,因欠费、挂失、有不正当使用记录而被拒绝支付交易的那部分电子钱包的身份标识信息。
[0079] 支付接口,用于提供整个离线支付装置与金融系统的资金流动的接口。
[0080] 操作日志汇总,用于保存包括所有消费机、电子钱包的查询、充值、消费的操作的时间、支付金额、支付过程数据参数在内的信息。
[0081] 消费机清单,用于保存已经授权可以进行离线支付交易的消费机终端的信息、使用权限、有效期。
[0082] 电子钱包的发行过程包括:由服务器给用户发放一个授权,授权方式可以是发放一个授权实体硬件设备,也可以是为用户已有的配备本发明的设备提供一个授权号;服务器用于为授权的实体硬件设备或是提供授权号的用户已有设备进行充值,并写入电子钱包身份标识、使用权限、有效期、电子钱包的支付密码和查询密码、电子钱包持有者的身份信息。
[0083] 在以上的装置中,由电子钱包1向消费机2发起支付,支付流程包括以下步骤:
[0084] ZF1,电子钱包生1成一个支付请求码QQM1,支付请求码QQM1包括:电子钱包身份标识QID1、支付随机码QRD1、支付金额ZFR1,并由可见光发射模块17采用可见光信号的方式向消费机2发送支付请求码QQM1。
[0085] ZF2,消费机2通过可见光接收模块接收24可见光信号形式的支付请求码QQM2,从中提取出电子钱包身份标识QID2、支付随机码QRD2、支付金额ZFR2;消费机2生成一个应答随机码YDR2、一个光随机码GRD2,根据支付请求码QQM2、应答随机码YDR2、光随机码GRD2,运算得到收款应答码SKYD2,并生成收款码SKM2,收款码SKM2包括:收款金额SJR2、消费机身份标识SID2、收款应答码SKYD2、支付请求码QQM2、支付随机码QRD2。
[0086] ZF2.1,消费机2将收款码SKM2生成条码,通过条码显示模块22显示出来;并通过背光模块26,将光随机码GRD2以可见光信号的方式向电子钱包1发送出去。
[0087] ZF3,由电子钱包1扫描消费机2的条码显示模块22显示的条码得到收款码SKM3,电子钱包1利用钱包光接收模块18接收光随机码GRD3;从收款码SKM3提取出收款金额SJR3、消费机身份标识SID3、收款应答码SKYD3、支付随机码QRD3;并根据收款应答码SKYD3、光随机码GRD3,运算得到支付请求码QQM3、应答随机码YDR3。
[0088] ZF3.1,进行以下的对比验证:
[0089] 1)ZF1中电子钱包1生成的支付请求码QQM1和ZF3中运算得到的支付请求码QQM3。
[0090] 2)ZF1中电子钱包1生成的支付金额ZFR1和ZF3中接收并从收款码中提取得到的收款金额SJR3。
[0091] 3)ZF1中电子钱包1生成的支付随机码QRD1和ZF3中接收并从收款码中提取得到的支付随机码QRD3。
[0092] 如果以上有一个不一致则退出支付流程,并在显示模块13上显示支付请求错误的提示信息;如果一致就进入ZF3.2。
[0093] ZF3.2,电子钱包1根据收款金额SJR3、消费机身份标识SID3、收款应答码SKYD3、支付随机码QRD3以及应答随机码YDR3、光随机码GRD3,运算得到支付确认码FKQR3,并生成支付码ZFM3,支付码ZFM3包括:收款码SKM3、电子钱包身份标识FID1、支付金额FJR1、支付确认码FKQR3,再将支付码ZFM3以可见光信号的形式,由可见光发射模块17发送出去。
[0094] ZF4,消费机2通过可见光接收模块24接收可见光信号形式的信号,得到支付码ZFM4,从中提取出收款码SKM4、电子钱包身份标识QID4、支付金额FJR4、支付确认码FKQR4,从SKM4提取出收款金额SJR4、消费机身份标识SID4、收款应答码SKYD4、收款金额SJR3、支付随机码QRD4;从支付确认码FKQR4运算得到收款应答码SKYD4、应答随机码YDR4、光随机码GRD4。
[0095] ZF4.1,进行至少以下的对比验证:
[0096] 1)对比ZF2运算得到的收款应答码SKM2和ZF4中提取出的收款码SKM4。
[0097] 2)对比ZF2中生成的应答随机码YDR2和ZF4中运算得到的应答随机码YDR4。
[0098] 3)对比ZF2中生成的光随机码GRD2和ZF4中运算得到的光随机码GRD4。
[0099] 4)对比ZF2中提取到的电子钱包身份标识QID2和ZF4中从ZFM4提取出的电子钱包身份标识QID4。
[0100] 5)对比ZF2中得到的支付金额ZFR2、收款金额SJR2和ZF4中从ZFM4提取出的收款金额SJR4。
[0101] 6)对比ZF2中得到的支付随机码QRD2和ZF4中从ZFM4提取出的支付随机码QRD4。
[0102] 如果以上6个对比都分别一致,就进入ZF4.2;否则就退出支付流程,并在条码显示模块13上显示验证出错的提示信息。
[0103] ZF4.2,消费机2生成一个光确认码GQR4,并根据电子钱包身份标识QID4、支付金额FJR4、消费机身份标识SID4、收款应答码SKYD4、应答随机码YDR4、光确认码GQR4、支付随机码QRD4,运算得到收款确认码SKQR4。
[0104] ZF4.3,消费机2将收款确认码SKQR4生成条码,通过条码显示模块22显示出来;并通过背光模块26,将光确认码GQR4以可见光信号的方式向电子钱包1发送出去。
[0105] ZF5,电子钱包1扫描消费机2的条码显示模块22显示的条码得到收款确认码SKQR5,电子钱包1利用钱包光接收模块24接收光确认码GQR5;根据光确认码GQR5、收款确认码SKQR5,运算得到电子钱包身份标识QID5、支付金额FJR5、消费机身份标识SID5、收款应答码SKYD5、应答随机码YDR5、支付随机码QRD5。
[0106] ZF5.1,进行至少以下的对比验证:
[0107] 1)对比电子钱包身份标识QID1和从ZF5中运算得到的电子钱包身份标识QID5。
[0108] 2)对比ZF1生成的支付金额ZFR1和从ZF5中运算得到的支付金额FJR5。
[0109] 3)对比ZF1生成的支付随机码QRD1和从ZF5中运算得到的支付随机码QRD5。
[0110] 4)对比ZF3得到的消费机身份标识SID3和从ZF5中运算得到的消费机身份标识SID5。
[0111] 5)对比ZF3生成的收款应答码SKYD3和从ZF5中运算得到的收款应答码SKYD5。
[0112] 6)对比ZF3生成的应答随机码YDR3和从ZF5中运算得到的应答随机码YDR5。
[0113] 如果以上有一个对比不一致则退出支付流程,并在显示模块13上显示验证错误的提示信息;如果一致就进入ZF5.2。
[0114] ZF5.2,电子钱包1根据光确认码GQR5、收款确认码SKQR5以可见光信号的形式,由可见光发射模块17发送出去。
[0115] ZF5.3,更新钱包模块16的钱包余额,用操作时间SJ、支付金额FJR5、消费机身份标识SID5、收款应答码SKYD5生成操作日志,并通过显示模块13显示付款成功的提示信息。
[0116] ZF6,消费机2通过可见光接收模块24接收可见光形式的信号,从中提取出光确认码GQR5、收款确认码SKQR5,将该操作时间SJ、电子钱包身份标识FID6、支付金额FJR6、支付码ZFM6、收款码SKM6写入收款箱模块23,生成操作日志,并更新收款箱模块23的余额信息,并通过条码显示模块22显示收款成功的提示信息。