CN108062668A - 基于后台图片加密识别的二维码支付方法与系统 - Google Patents

基于后台图片加密识别的二维码支付方法与系统 Download PDF

Info

Publication number
CN108062668A
CN108062668A CN201710991679.9A CN201710991679A CN108062668A CN 108062668 A CN108062668 A CN 108062668A CN 201710991679 A CN201710991679 A CN 201710991679A CN 108062668 A CN108062668 A CN 108062668A
Authority
CN
China
Prior art keywords
picture
quick response
response code
payment
generation
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.)
Granted
Application number
CN201710991679.9A
Other languages
English (en)
Other versions
CN108062668B (zh
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.)
China Unionpay Co Ltd
Original Assignee
China Unionpay 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 China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN201710991679.9A priority Critical patent/CN108062668B/zh
Publication of CN108062668A publication Critical patent/CN108062668A/zh
Application granted granted Critical
Publication of CN108062668B publication Critical patent/CN108062668B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/3274Short range or proximity payments by means of M-devices using a pictured code, e.g. barcode or QR-code, being displayed on the M-device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Finance (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及一种二维码的生成方法以及生成装置、二维码的支付方法以及系统。该二维码支付方法具备:二维码生成步骤,根据来自用户终端的支付请求生成支付第一支付Token并暂存第一支付Token将所述第一支付Token中的一部分或者全部的字符串转换成图片并且基于所述图片和所述被处理数据中的剩余的字符串生成二维码并且将生成的二维码返回到用户终端;二维码读取步骤,商户读取用户终端提供的二维码并转发到后台系统;图片识别解析步骤,后台系统利用图像识别模型识别收到的二维码中的图片并解析得到第二支付Token;以及信息验证步骤,比较第二支付Token和第一支付Token是否一致,在一致的情况下允许支付请求。根据本发明的二维码的生成方法以及生成装置,能够提供一种安全性更高的二维码。

Description

基于后台图片加密识别的二维码支付方法与系统
技术领域
本发明涉及网络安全技术,更具体地涉及一种二维码生成装置和方法、以及基于后台图片加密识别的二维码支付系统和支付方法。
背景技术
在如今二维码扫码的过程中,主流的实现原理就是URL支付:手机客户端上的二维码经过解码之后,其实就是一个网址,该网址包含了支付相关的请求信息。从信息传送来说,二维码身份识别都是单方面一次上送二维码信息,这不但是二维码的先天属性所决定(没有交互机制),而且为确保交易便捷,支付机构也不情愿增加认证通道。前期相关调研表明,目前二维码不管是从其技术本身还是外部环境,都存在信息被非法获取、篡改和劫持的风险。比如,在扫码支付业务拓展期,支付机构普遍都降低了商户准入门槛,留档要求越来越低,费率也一降再降,滋生了相当数量的洗钱、套现甚至诈骗事件,且更不易侦测。
从二维码支付流程来看,支付客户端App和支付接入系统之间存在多次数据交换,这些数据可能与用户的身份、支付指令、支付凭证有关,属于交易过程的敏感信息,一旦泄露就有可能被用于违法交易,使二维码支付系统使用者个人身份信息泄露或资金遭受损失。
为了缓解信息泄露的问题,银联等机构定义的二维码标准采用支付标记化(Tokenization)技术对账户敏感信息进行加密保护,确保账户信息在存储、处理和传输过程中的安全性,防止发生账户信息泄露的风险。此外一些产品在客户被扫模式引入了短时间定时更换的策略。但这些策略并不能解决作案者根据截获Token进行伪造二维码欺诈的风险。
前面提到的Token等加密方式仅仅是防止发生账户信息泄露的风险。即截获者难以破解该条Token所包含账号、密码等信息。但是如果作案者知道二维码编码规则,则他们不需要知道该条Token所包含账号、密码究竟是什么,他们只需要将截获的Token根据二维码生成规则重新伪造新的二维码,导致欺诈交易。典型场景是商户合谋,利用已知的二维码生成规则,利用机器批量伪造二维码,导致大量的洗钱或者套现等欺诈交易。
如上所述,当前的二维码支付仍然具有较大的洗钱、套现等欺诈风险。需要提出一种能够进一步保障交易安全性的基于二维码的支付方案。
发明内容
鉴于所述问题,本发明旨在提供一种不容易被非法者截获及伪造的二维码生成方法和二维码生成装置、以及基于二维码的支付方法及其支付系统。
本发明的二维码的生成方法,其特征在于,具备下述步骤:
图片生成规则定义步骤,定义被处理数据中的部分或者全部字符串为需要转换成图片的部分;
图片生成步骤,将所述被处理数据中由所述图片生成规则定义步骤所定义部分的字符串转换为图片;以及
二维码生成步骤,基于所述图片和所述被处理数据中的剩余的字符串生成二维码。
优选地,在所述图片生成步骤和所述二维码生成步骤之间进一步具备:
图片加密步骤,对所述图片生成步骤生成的图片进行规定的加密处理以提供给所述二维码生成步骤。
优选地,所述规定的加密处理包括倾斜、扭曲、噪音以及干扰线中的一种或者多种。
本发明的基于二维码的支付方法,其特征在于,具备下述步骤:
二维码生成步骤,后台系统根据来自用户终端的支付请求生成支付第一支付Token并暂存第一支付Token,后台系统将所述第一支付 Token中的一部分或者全部的字符串转换成图片并且基于所述图片和所述第一支付Token中的剩余的字符串生成二维码并且将生成的二维码返回到用户终端;
二维码读取步骤,商户终端读取用户终端提供的二维码并转发到后台系统;
图片识别解析步骤,后台系统利用预先训练好的图像识别模型识别收到的二维码中的图片并解析得到第二支付Token;以及
信息验证步骤,比较所述第二支付Token和所述第一支付Token 是否一致,在一致的情况下允许支付请求,否则拒绝支付请求。
本发明的基于二维码的支付方法,其特征在于,
在所述二维码生成步骤中,包括下述子步骤:
后台系统根据来自用户终端的支付请求生成第一支付Token并暂存第一支付Token;
后台系统将所述第一支付Token中的一部分或者全部的字符串转换成图片;
后台系统对于转换后的图片进行规定的加密处理;以及
后台系统基于经过所述规定的加密处理的图片和所述被处理数据中的剩余的字符串生成二维码并且将生成的二维码返回到用户终端。
优选地,所述规定的加密处理包括倾斜、扭曲、噪音以及干扰线中的一种或者多种。
优选地,所述台系统利用预先训练好的图像识别模型识别收到从下述的商户终端转送来的二维码中的图片包括:
利用第一个深度学习模型获得图片中字符的位数,结合空白切分或者聚类切分法对图片进行切割后;以及
利用第二个深度学习模型对单个字符进行逐个识别,最终得到图片中的信息。
本发明的二维码生成装置,其特征在于,具备:
图片生成规则定义模块,用于定义被处理数据中的部分或者全部字符串为需要转换成图片的部分;
图片生成模块,用于将所述被处理数据中由所述图片生成规则定义模块所定义部分的字符串转换为图片;以及
二维码生成模块,用于基于所述图片和所述被处理数据中的剩余的字符串生成二维码。
优选地,本发明的二维码生成装置,进一步具备:
图片加密模块,对所述图片生成模块生成的图片进行规定的加密处理以提供给所述二维码生成模块。
优选地,所述图片加密模块执行的规定的加密处理包括倾斜、扭曲、噪音以及干扰线中的一种或者多种。
本发明的基于二维码的支付系统,其特征在于,具备:
用户终端,用于发出支付请求,并且用于展示从下述后台系统获取的二维码;
后台系统,用于根据所述支付请求生成支付第一支付Token并暂存第一支付Token,所述后台系统将所述第一支付Token中的一部分或者全部的字符串转换成图片并且基于所述图片和所述第一支付 Token中的剩余的字符串生成二维码并且将生成的二维码返回到用户终端,并且另一方面,所述台系统利用预先训练好的图像识别模型识别收到从下述的商户终端转送来的二维码中的图片并解析得到第二支付Token,比较所述第二支付Token和所述第一支付Token是否一致,在一致的情况下允许支付请求,否则拒绝支付请求;以及
商户终端,用于读取用户终端展示的所述二维码并转发到所述后台系统;
优选地,所述后台系统具备:
Token生成模块,根据来自用户终端的支付请求生成第一支付 Token并暂存第一支付Token;
图片生成规则定义模块,用于定义所述第一支付Token中的部分或者全部字符串为需要转换成图片的部分;
图片生成模块,用于将所述第一支付Token中由所述图片生成规则定义模块定义的一部分或者全部的字符串转换成图片;
图片加密模块,用于对于由所述图片生成模块转换后的图片进行规定的加密处理;
二维码生成模块,用于基于经所述图片加密模块进行规定的加密处理后的图片和所述第一支付Token中的剩余的字符串生成二维码并且将生成的二维码返回到用户终端;以及
二维码识别模块,用于利用预先训练好的图像识别模型识别收到从商户终端转送来的二维码中的图片并解析得到第二支付Token,比较所述第二支付Token和所述第一支付Token是否一致,在一致的情况下允许支付请求,否则拒绝支付请求。
优选地,所述图片加密模块执行的规定的加密处理包括倾斜、扭曲、噪音以及干扰线中的一种或者多种。
优选地,所述台系统利用预先训练好的图像识别模型识别收到从下述的商户终端转送来的二维码中的图片包括:
利用第一个深度学习模型获得图片中字符的位数,结合空白切分或者聚类切分法对图片进行切割后;以及
利用第二个深度学习模型对单个字符进行逐个识别,最终得到图片中的信息。
本发明的计算机可读介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现任意一项的上述方法的步骤。
本发明的计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现任意一项的上述方法的步骤。
根据本发明,将相关支付凭证重要信息在后台系统生成扭曲或者干扰后的图片,扫描二维码后获取的信息以“字符串+图片”或者纯图片的形式返回到后台系统,非法者难以使用一般的机器算法自动准确获取图片中的信息,即难以获得完整的凭证信息,由此就能够避免快速地批量伪造二维码进行欺诈。
进一步,根据本发明,可以对随机位数的字符进行图片加密。而且,在本发明中采用了二次深度学习的方法,第一个深度学习模型可以获得图片中字符的位数,结合空白切分或者聚类切分法对图片进行切割后,使用第二个深度学习模型对单个字符进行逐个识别,最终得到图片中的信息。该方法极大地提升了该类复杂图片的识别率。
附图说明
图1是表示本发明的二维码生成方法的流程图。
图2是表示本发明的二维码生成装置的构造框图。
图3是表示本发明的基于二维码的支付方法的流程图。
图4是表示本发明的一实施方式的基于二维码的支付方法的具体流程图。
图5是表示本发明的一实施方式的基于二维码的支付系统的构造框图。
图6(a)~(e)是表示在训练图像识别模型过程中的图像处理的示意图。
图7(a)~(f)是表示图像处理过程中的图片。
具体实施方式
下面介绍的是本发明的多个实施例中的一些,旨在提供对本发明的基本了解。并不旨在确认本发明的关键或决定性的要素或限定所要保护的范围。
图1是表示本发明的二维码生成方法的流程图。
如图1所示,本发明的二维码生成方法包括下述步骤:
图片生成规则定义步骤S10:定义被处理数据中的部分或者全部字符串为需要转换成图片的部分;
图片生成步骤S20,将所述被处理数据中的由所述图片生成规则定义步骤S10所定义部分的字符串转换为图片;以及
图片加密步骤S30:对所述图片生成步骤S20生成的图片进行规定的加密处理骤;以及
二维码生成步骤S40:基于所述图片和所述被处理数据中的剩余的字符串生成二维码。
其中,所述图片加密步骤S30是优选步骤,也可以不经过图片加密步骤S30而直接基于图片生成步骤S20生成的图片生成二维码。
在所述图片加密步骤S30中,所述规定的加密处理包括倾斜、扭曲、噪音以及干扰线中的一种或者多种。
接着,对于本发明的二维码生成装置进行说明。
图2是表示本发明的二维码生成装置的构造框图。
本发明的二维码生成装置具备:
图片生成规则定义模块10,用于定义被处理数据中的部分或者全部字符串为需要转换成图片的部分;
图片生成模块20,用于将所述被处理数据中由所述图片生成规则定义模块10所定义部分的字符串转换为图片;以及
图片加密模块30,对所述图片生成模块20生成的图片进行规定的加密处理;以及
二维码生成模块40,用于基于所述经过规定的加密处理的图片和所述被处理数据中的剩余的字符串生成二维码。
其中,图片加密模块30是优选模块,也可以不需要图片加密模块 30而直接基于图片生成模块20生成的图片生成二维码。
其中,所述图片加密模块30执行的规定的加密处理包括倾斜、扭曲、噪音以及干扰线中的一种或者多种。
根据上述本发明的一实施方式的二维码生成系统以及二维码生成装置,将例如将相关支付凭证作为被处理数据,将其转换成扭曲或者干扰后的图片并基于此生成二维码。这样,在扫描二维码后获取的信息以“字符串+图片”或者纯图片的形式,非法者难以使用一般的机器算法自动准确获取图片中的信息,即难以获得完整的凭证信息,由此就能够避免非法者快速批量伪造二维码进行欺诈。
接着,对于本发明的基于二维码的支付方法进行说明。
图3是表示本发明的基于二维码的支付方法的流程图。
图3所示,本发明的一实施方式的基于二维码的支付方法具备下述步骤:
二维码生成步骤S100:后台系统根据来自用户终端的支付请求生成支付第一支付Token并暂存第一支付Token,后台系统将所述第一支付Token中的一部分或者全部的字符串转换成图片并且基于所述图片和所述被处理数据中的剩余的字符串生成二维码并且将生成的二维码返回到用户终端;
二维码读取步骤S200:商户读取用户终端提供的二维码并转发到后台系统;
图片识别解析步骤S300:后台系统利用预先训练好的图像识别模型识别收到的二维码中的图片并解析得到第二支付Token;以及
信息验证步骤S400:后台系统比较所述第二支付Token和所述第一支付Token是否一致,在一致的情况下允许支付请求,否则拒绝支付请求。
其中,所述二维码生成步骤S200中,包括下述子步骤:
后台系统根据来自用户终端的支付请求生成第一支付Token并暂存第一支付Token;
后台系统将所述第一支付Token中的一部分或者全部的字符串转换成图片;
后台系统对于转换后的图片进行规定的加密处理;以及
后台系统基于经过所述规定的加密处理的图片和所述被处理数据中的剩余的字符串生成二维码并且将生成的二维码返回到用户终端。
图4是表示本发明的一实施方式的基于二维码的支付方法的具体流程图。
该实施方式的基于二维码的支付方时由用户终端100(在图4中采用“手机”作为示例)、后台系统200(在图4中也简称为“后台”) 以及商户终端300(在图4中也简称为“商家”)来实现的。
如图4所示,在步骤1中,用户终端100向后台系统200发起支付请求。
在步骤2中,后台系统200根据账号、授权等信息,根据一定的加密算法,生成初始的支付Token编码并且后台系统200将该支付Token 编码作为待验证信息_A暂存。并且,后台系统200根据一定的图片生成规则,将支付Token编码中的部分或全部重要字符串转换为图片生成相应的二维码。
在步骤3中,后台系统200将生成的二维码返回到用户终端100;
在步骤4中,用户终端100展示二维码,商户终端300通过扫描等方式获取该二维码;
在步骤5中,商户终端300获得的信息是“字符串+图片”或者单纯的“图片”这样的信息,这些信息在商户终端300中无法被读出和识别;
在步骤6中,商户终端30将上述带有图片的支付口令或者凭证发送到后台系统200;
在步骤7中,后台系统200利用先前训练好的图像识别模型对图片识别;
在步骤8中,后台系统200根据解析出的图片内容,根据规定的规则,解析得到信息_B,将先前暂存的信息_A与信息_B进行对比验证;
在步骤9中,如果解析得到的信息_B和信息_A验证成功,则后台系统200则通过支付请求,如果图片识别错误,那么解析得到的信息_B与信息_A就不匹配,那么验证失败,后台系统200拒绝支付请求。
可以看到,在现有技术中的纯字符串Token方式中,如果非法者知道编码规则,那么根据截获的Token就有可能重新伪造二维码。与此相对,利用上述的本发明的基于二维码的支付方法,通过利用将 Token转换成字符串+图片”或者单纯的“图片”(由于一般机器无法快速准确识别图片中的信息),所以就难以还原得到一个详细的字符凭证,这样就难以在短时间内自动伪造二维码。
图5是表示本发明的一实施方式的基于二维码的支付系统的构造框图。
如图5所示,本发明的一实施方式的基于二维码的支付系统具备:
用户终端100,用于发出支付请求,并且用于展示从下述后台系统获取的二维码;
后台系统200,用于根据所述支付请求生成支付第一支付Token 并暂存第一支付Token,所述后台系统将所述第一支付Token中的一部分或者全部的字符串转换成图片并且基于所述图片和所述被处理数据中的剩余的字符串生成二维码并且将生成的二维码返回到用户终端,并且另一方面,所述台系统利用预先训练好的图像识别模型识别收到从下述的商户终端转送来的二维码中的图片并解析得到第二支付Token,比较所述第二支付Token和所述第一支付Token是否一致,在一致的情况下允许支付请求,否则拒绝支付请求;以及
商户终端300,用于读取用户终端100展示的所述二维码并转发到所述后台系统;
其中,后台系统200具备:
Token生成模块210,根据来自用户终端100的支付请求生成第一支付Token并暂存第一支付Token;
图片生成规则定义模块220,用于定义所述第一支付Token中的部分或者全部字符串为需要转换成图片的部分;
图片生成模块230,用于将所述第一支付Token中由所述图片生成规则定义模块定义的一部分或者全部的字符串转换成图片;
图片加密模块240,用于对于由所述图片生成模块转换后的图片进行规定的加密处理;
二维码生成模块250,用于基于经所述图片加密模块进行规定的加密处理后的图片和所述第一支付Token中的剩余的字符串生成二维码并且将生成的二维码返回到用户终端;以及
二维码识别模块260,用于利用预先训练好的图像识别模型识别收到从商户终端转送来的二维码中的图片并解析得到第二支付Token,比较所述第二支付Token和所述第一支付Token是否一致,在一致的情况下允许支付请求,否则拒绝支付请求。
其中,图片加密模块240进行的所述规定的加密处理包括倾斜、扭曲、噪音以及干扰线中的一种或者多种。
接着,对于二维码识别模块260所利用图像识别模型进行说明。
图6(a)~(e)是表示在训练图像识别模型过程中的图像处理的示意图。
训练图像识别模型例如可以是利用卷积神经网络(CNN)、图像去噪、字符切分等算法,对海量带标签样本进行训练,得到一个能准确识别依据该类规则生成的图片,识别准确率尽量准确。例如包括下述步骤:
a)生成样本图片并标记
根据规则,利用程序随机生成海量图片。这些图片都是带有标签的,标签即为图像中字符串的内容。
b)图像预处理
对图像进行一定的预处理,例如降噪,二值化等,使得后续训练图像识别模型变得可能。
c)训练“预测长度”模型
由于图片的长度可能随机,所以在图片切分之前需要知道包含字符的个数。这里使用深度学习的卷积神经网络(CNN)等算法训练模型,使得该模型能够预测图片中字符的个数。
d)图片切分
将图片中的字符进行切分,然后对切分后的单个字符进行逐一识别。
e)训练“单字符识别”模型
对切分后的图片进行单字符识别。训练模型仍然是利用卷积神经网络等深度学习算法进行有监督学习。模型训练好之后,我们得到了一个单字符识别模型。利用该模型即可预测分割后单张图片对应的字符。
接着,对于利用上述本发明的基于二维码的支付系统实现的支付方法的一个具体实施方式进行说明。
(一)定义图像生成规则
首先,后台系统200定义支付Token中哪些信息是需要进行图片加密的。这些支付Token已经经过加密算法编码为相应的Token,比如18位长度的字符串。我们可以定义对其中某一子字符串进行图片加密。例如,可以规定从第6位开始连续4或5或6个字符的子串转换为图片。比如初始加密过的Token是ADFJF0adpk83fdk8JA,将其中“0adpk”的部分转换为图片。
此外,后台系统200还需规定图片的加密方法,这些图片可能经过倾斜、扭曲、噪音、干扰线等多种方式的加密处理,使得普通的字符识别技术难以准确识别图片中的内容。例如图7(a)所示格式。
(二)训练图像识别模型
a)生成样本图片并标记
根据规则,利用程序随机生成海量图片。这些图片都市带有标签的,如图7(b)所示的标签就0adpk,如图7(c)所示的图片的标签为 0eht,如图7(d)所示的标签为1Q0UI8等。
对训练图片统一格式,例如二值化后转为黑白图片,对应的一个图片其实就对应一个矩阵,矩阵上的每一个位置上非1即0,如图6 (a)示。
在生成图片的同时对样本进行标记。如图7(e)所示的图片的文件名是0adpk_********.jpg。其中********代表一个随机的8位字符串。这么做为了多张对应字符是0adpk的图片能放在同一个文件夹下。图片存放目录:图片字符的长度可能随机为4、5、6不定长度,因此我们在PicForLength文件夹下建立Len4、Len5、Len6这3个文件夹,然后将样本图片存放到对应字符长度的文件夹下。例如, 0adpk_********.jpg放到Len4文件夹下,0B1iD_********.jpg放到 Len5文件夹下,1Q0uI8放到Len6文件夹下。文件夹名中包含的数字即为文件夹内图片的长度标签。
b)训练“预测长度”模型
由于图片的长度可能随机为4或5或6个,所以在图片切分之前需要知道包含字符的个数。这里使用深度学习的卷积神经网络(CNN) 算法训练模型,使得该模型能够预测图片中字符的个数。使用多层神经网络。其中每层神经网络经过{卷积→池化→Dropout}。其中,卷积是为了把数据通过一个卷积核变化成特征,便于后面的分离。池化层是对输入的特征图进行压缩,一方面使特征图变小,简化网络计算复杂度;一方面进行特征压缩,提取主要特征。Dropout是指在模型训练时随机让网络某些隐含层节点的权重暂时不工作,该方法可以有效防止过拟合,提高模型准确率。
整体的卷及神经网络的结构如下所示:
输入→N*{卷积→池化→Dropout}→全连接层→Dropout→Softmax 输出
最后一层输出为3,代表图片中包含的支付数可能的个数有3种: 4或5或6个。
特别的,输出采用one-hot表示法,001表示第1类(长度为4), 010表示第2类(长度为5),100表示第3类(长度为6)。
特别的,这里使用平均池化,目的是获取图片的整体特性。
c)图片切分
目标是将图片中的字符进行切分,然后对切分后的单个支付进行逐一识别。
特别的,可以采用两种切分方法:
(1)空白切分法
对于字符间存在明显分割的图片,可以采用该方法。统计每一列上像素不为0的个数,如果小于阈值,则认为该列属于无字符列。将所有无字符列置为空白列,并获得这些空白列的边界,左空白列的右边界和右空白列的左边界之间即是一个字符区域。例如下图,将阈值设为5,将上图中每列1的个数小于5的列全部归零之后,效果如下图6(b)所示。
接着就可以进行切分,如图6(c)所示。
(2)聚类切分法
使用Kmeans聚类算法。类别个数设置为图片中字符的个数。假设字符个数为n个,我们计算得到n个初始中心点,作为聚类的初始中心点。将图片转为二值化的矩阵,提取出所有像素点不为0的点的坐标(x,y)作为样本点,这样所有不为0的像素点的坐标对所组成的样本集合即为待聚类的样本集。聚类完成后,每个样本点都会有一个对应的类别标号,我们将某张图片样本的聚类后的样本点作图,每个类别用一种颜色表示。
在远离交界列的地方,每一列中的类别都是很纯净的。在两个类别的交界列周围附近,会存在两种情况:
·两个类别的交界列周围附近会存在一列中存在多个类别的情况,
·第i列的类别与第i+1列的类别完全不一样。
对上面这两种类型的列,我们都认为其是分界列。找出分界列边界最后,我们便能跟上面一样,划分出字符对应的列。
字符列区域规划好之后,我们发现字符会存在上下位置不一致的情况。如果图片没有噪音点,那么我们可以根据在每一个字符宽度的区域内,对每一行的非0像素点个数进行统计,个数小于阈值的行我们认为是空白。因此,字符的高度范围就限定在连续的非空白行之间,效果如图6(d)所示。
特别的,对于有噪音的图片来说,我们可以预先使用中值滤波对噪音点进行处理,如果一次效果不好,可以尝试多次中值滤波,如图 6(e)所示。
d)训练“单字符识别”模型
CNN模型如预测长度模型中描述类似,所不同的是这里的样本的标签有62个类别,分别是数字0~9,小写字母a~z,大写字母A~Z。将样本切割后的小图片根据标记样本进行训练。特别的,在训练调参的时候,刚开始学习率可以放得较大,这样有助于快速收敛,等到准确率上升速度较慢的时候,可以尝试降低学习率,这样有助于训练准确率的提升。模型训练好之后,我们得到了一个单字符识别模型。利用该模型即可预测分割后单张图片对应的字符。
(三)发起二维码支付流程
1.用户终端100向后台系统200发起支付请求
后台系统200根据账号、授权等信息,根据一定的加密算法,生成初始的支付凭证编码Token。可能类似如下:ADFJF0ehtk83fdk8JA,并按一定的规则成相应的二维码。后台系统200先暂存待验证信息_A (这里就是ADFJF0ehtk83fdk8JA)。
2.图片加密信息
后台系统200根据一定的图片生成规则,将支付凭证编码中的部分或全部重要字符串转换为图片。例如,将上图中的“0eht”转换为图片格式,可能如图7(f)所示。
3.商户终端300使用扫码器扫描用户终端100上展示的二维码,获取到的信息是ADFJF(字符串)+图片+k83fdk8JA(字符串)。后台系统200收到带有图片信息的支付口令或者凭证。
4.后台系统200利用先前训练好的图像识别模型对图片识别。具体步骤如下:
输入图片,利用“预测长度”模型预测图片长度;
将图片预处理+切分之后,利用“单字符识别”依次预测每张切分出来的图片对应的字符;
将预测的字符按顺序拼接成字符串,输出为结果。
5.解析信息并验证。
后台系统200根据规则解析后得到信息_B。将先前暂存的信息_A 与信息_B进行对比验证。如果后台系统200图像识别正确,得到字符串0eht,那么解析得到的信息_B就是ADFJF0ehtk83fdk8JA。那么信息_A与信息_B就验证成功,后台系统200通过支付请求。如果图像识别错误,那么解析得到的信息_B与信息_A就不匹配,那么验证失败,后台拒绝支付请求。
这里,在现有技术的纯字符串Token方式中,如果非法者知道编码规则,那么根据截获的Token就有可能重新伪造二维码。而在本发明中,通过进行图片的转换、加密,由于一般机器无法快速准确识别图片中的信息,所以就难以还原得到一个详细的字符凭证,这样就难以在短时间内自动伪造二维码。
变形例
在上述实施方式中,对编码信息中的4或5或6位转化为图片加密。实际应用中,可以根据实际情况进行修改,为简单起见可以对随机位数上的字符进行图片加密,而为了安全性甚至可以对全部编码信息进行图片加密等。
再者,上述实施方式中,训练图像识别模型采用了两次CNN算法进行图像识别,第一次CNN算法是为了获得图片中字符的个数,第二次CNN是为了针对每一个字符进行精准识别。在实际应用中, CNN算法也可以替换为其他效果较好的深度学习方法,如RNN算法等。
再者,上述实施方式中,采用的是对Token进行扭曲、干扰等方式的图片加密,这可以避免一般机器算法快速自动获取内容,极大降低风险。借鉴该思路,也可以进一步的扩展该方案,将Token编码成为肉眼难以识别的图片信息,但是该批图片可以被我们后台训练好的模型所识别,这进一步增强了二维码支付的安全性,不过可能会增加实现难度及系统的处理效率,需要综合考虑。
根据本发明,将相关支付凭证重要信息在后台系统200生成扭曲或者干扰后的图片,扫描二维码后获取的信息以“字符串+图片”或者纯图片的形式返回到后台系统200,非法者难以使用一般的机器算法自动准确获取图片中的信息,即难以获得完整的凭证信息,由此就能够避免快速地批量伪造二维码进行欺诈。
进一步,根据本发明,可以对随机位数的字符进行图片加密。而且,在本发明中采用了二次深度学习的方法,第一个深度学习模型可以获得图片中字符的位数,结合空白切分或者聚类切分法对图片进行切割后,使用第二个深度学习模型对单个字符进行逐个识别,最终得到图片中的信息。该方法极大地提升了该类复杂图片的识别率。
再者,本发明提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述二维码的生成方法以及基于二维码的支付方法。
再者,本发明提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述二维码的生成方法以及基于二维码的支付方法。
作为计算机可读介质,存在磁性记录装置、光盘、光磁记录介质、半导体存储器等。对于磁性记录装置,存在HDD、FD、磁带等。对于光盘,存在DVD(Digital Versatile Disc,数字通用光盘)、DVD-RAM、 CD-ROM、CD-R(Recordable,可记录)/RW(ReWritable,可重写) 等。对于光磁记录装置,存在MO(Magneto Optical disk,磁光盘) 等。
以上例子主要说明了本发明的二维码的生成方法和装置、以及基于二维码的支付方法和支付系统。尽管只对其中一些本发明的具体实施方式进行了描述,但是本领域普通技术人员应当了解,本发明可以在不偏离其主旨与范围内以许多其他的形式实施。因此,所展示的例子与实施方式被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本发明精神及范围的情况下,本发明可能涵盖各种的修改与替换。

Claims (16)

1.一种二维码的生成方法,其特征在于,具备下述步骤:
图片生成规则定义步骤,定义被处理数据中的部分或者全部字符串为需要转换成图片的部分;
图片生成步骤,将所述被处理数据中由所述图片生成规则定义步骤所定义部分的字符串转换为图片;以及
二维码生成步骤,基于所述图片和所述被处理数据中的剩余的字符串生成二维码。
2.如权利要求1所述的二维码的生成方法,其特征在于,
在所述图片生成步骤和所述二维码生成步骤之间进一步具备:
图片加密步骤,对所述图片生成步骤生成的图片进行规定的加密处理以提供给所述二维码生成步骤。
3.如权利要求2所述的二维码的生成方法,其特征在于,
所述规定的加密处理包括倾斜、扭曲、噪音以及干扰线中的一种或者多种。
4.一种基于二维码的支付方法,其特征在于,具备下述步骤:
二维码生成步骤,后台系统根据来自用户终端的支付请求生成支付第一支付Token并暂存所述第一支付Token,后台系统将所述第一支付Token中的一部分或者全部的字符串转换成图片并且基于所述图片和所述第一支付Token中的剩余的字符串生成二维码并且将生成的二维码返回到用户终端;
二维码读取步骤,商户终端读取用户终端提供的二维码并转发到后台系统;
图片识别解析步骤,后台系统利用预先训练好的图像识别模型识别收到的二维码中的图片并解析得到第二支付Token;以及
信息验证步骤,比较所述第二支付Token和所述第一支付Token是否一致,在一致的情况下允许支付请求,否则拒绝支付请求。
5.如权利要求4所述的基于二维码的支付方法,其特征在于,
在所述二维码生成步骤中,包括下述子步骤:
后台系统根据来自用户终端的支付请求生成第一支付Token并暂存所述第一支付Token;
后台系统将所述第一支付Token中的一部分或者全部的字符串转换成图片;
后台系统对于转换后的图片进行规定的加密处理;以及
后台系统基于经过所述规定的加密处理的图片和所述第一支付Token中的剩余的字符串生成二维码并且将生成的二维码返回到用户终端。
6.如权利要求5所述的二维码的生成方法,其特征在于,
所述规定的加密处理包括倾斜、扭曲、噪音以及干扰线中的一种或者多种。
7.如权利要求4~6中的任意一项所述的基于二维码的支付方法,其特征在于,
所述台系统利用预先训练好的图像识别模型识别收到从下述的商户终端转送来的二维码中的图片的步骤包括:
利用第一个深度学习模型获得图片中字符的位数,结合空白切分或者聚类切分法对图片进行切割后;以及
利用第二个深度学习模型对单个字符进行逐个识别,最终得到图片中的信息。
8.一种二维码生成装置,其特征在于,具备:
图片生成规则定义模块,用于定义被处理数据中的部分或者全部字符串为需要转换成图片的部分;
图片生成模块,用于将所述被处理数据中的由所述图片生成规则定义模块所定义部分的字符串转换为图片;以及
二维码生成模块,用于基于所述图片和所述被处理数据中的剩余的字符串生成二维码。
9.如权利要求8所述的二维码生成装置,其特征在于,进一步具备:
图片加密模块,对所述图片生成模块生成的图片进行规定的加密处理以提供给所述二维码生成模块。
10.如权利要求9所述的二维码生成装置,其特征在于,
所述图片加密模块执行的规定的加密处理包括倾斜、扭曲、噪音以及干扰线中的一种或者多种。
11.一种基于二维码的支付系统,其特征在于,具备:
用户终端,用于发出支付请求,并且用于展示从下述后台系统获取的二维码;
后台系统,用于根据所述支付请求生成支付第一支付Token并暂存所述第一支付Token,所述后台系统将所述第一支付Token中的一部分或者全部的字符串转换成图片并且基于所述图片和所述第一支付Token中的剩余的字符串生成二维码并且将生成的二维码返回到用户终端,并且另一方面,所述台系统利用预先训练好的图像识别模型识别收到从下述的商户终端转送来的二维码中的图片并解析得到第二支付Token,比较所述第二支付Token和所述第一支付Token是否一致,在一致的情况下允许支付请求,否则拒绝支付请求;以及
商户终端,用于读取所述用户终端展示的所述二维码并转发到所述后台系统。
12.如权利要求11所述的基于二维码的支付系统,其特征在于,
所述后台系统具备:
Token生成模块,根据来自所述用户终端的支付请求生成第一支付Token并暂存所述第一支付Token;
图片生成规则定义模块,用于定义所述第一支付Token中的部分或者全部字符串为需要转换成图片的部分;
图片生成模块,用于将所述第一支付Token中由所述图片生成规则定义模块定义的一部分或者全部的字符串转换成图片;
图片加密模块,用于对于由所述图片生成模块转换后的图片进行规定的加密处理;
二维码生成模块,用于基于经所述图片加密模块进行规定的加密处理后的图片和所述第一支付Token中的剩余的字符串生成二维码并且将生成的二维码返回到用户终端;以及
二维码识别模块,用于利用预先训练好的图像识别模型识别收到从商户终端转送来的二维码中的图片并解析得到第二支付Token,比较所述第二支付Token和所述第一支付Token是否一致,在一致的情况下允许支付请求,否则拒绝支付请求。
13.如权利要求12所述的二维码的生成系统,其特征在于,
所述图片加密模块执行的规定的加密处理包括倾斜、扭曲、噪音以及干扰线中的一种或者多种。
14.如权利要求11~12中的任意一项所述的基于二维码的支付系统,其特征在于,
所述台系统利用预先训练好的图像识别模型识别收到从下述的商户终端转送来的二维码中的图片包括:
利用第一个深度学习模型获得图片中字符的位数,结合空白切分或者聚类切分法对图片进行切割后;以及
利用第二个深度学习模型对单个字符进行逐个识别,最终得到图片中的信息。
15.一种计算机可读介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1~7中任意一项所述方法的步骤。
16.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1~7中任意一项所述方法的步骤。
CN201710991679.9A 2017-12-15 2017-12-15 基于后台图片加密识别的二维码支付方法与系统 Active CN108062668B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710991679.9A CN108062668B (zh) 2017-12-15 2017-12-15 基于后台图片加密识别的二维码支付方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710991679.9A CN108062668B (zh) 2017-12-15 2017-12-15 基于后台图片加密识别的二维码支付方法与系统

Publications (2)

Publication Number Publication Date
CN108062668A true CN108062668A (zh) 2018-05-22
CN108062668B CN108062668B (zh) 2021-10-26

Family

ID=62137853

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710991679.9A Active CN108062668B (zh) 2017-12-15 2017-12-15 基于后台图片加密识别的二维码支付方法与系统

Country Status (1)

Country Link
CN (1) CN108062668B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109615006A (zh) * 2018-12-10 2019-04-12 北京市商汤科技开发有限公司 文字识别方法及装置、电子设备和存储介质
CN110428033A (zh) * 2019-07-31 2019-11-08 腾讯科技(深圳)有限公司 一种校验方法、识别端及用户端
CN110633773A (zh) * 2018-06-22 2019-12-31 北京京东尚科信息技术有限公司 用于终端设备的二维码生成方法和装置
CN110874540A (zh) * 2018-08-31 2020-03-10 北京意锐新创科技有限公司 全角度读取条码的方法和装置
CN110874542A (zh) * 2018-08-31 2020-03-10 北京意锐新创科技有限公司 适用于读取不同载体所显示条码的方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150319173A1 (en) * 2013-01-11 2015-11-05 Tencent Technology (Shenzhen) Company Limited Co-verification method, two dimensional code generation method, and device and system therefor
CN105590199A (zh) * 2014-11-14 2016-05-18 中国银联股份有限公司 一种基于动态二维码的支付方法以及支付系统
CN105654163A (zh) * 2015-12-23 2016-06-08 立德高科(北京)数码科技有限责任公司 一种基于短域名生成的二维码、及其生成方法与生成装置
CN105976005A (zh) * 2016-04-26 2016-09-28 鸿博股份有限公司 二维码加密方法、二维码生成设备和二维码扫描设备
CN107451631A (zh) * 2017-07-27 2017-12-08 上海慧流云计算科技有限公司 一种礼物发放方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150319173A1 (en) * 2013-01-11 2015-11-05 Tencent Technology (Shenzhen) Company Limited Co-verification method, two dimensional code generation method, and device and system therefor
CN105590199A (zh) * 2014-11-14 2016-05-18 中国银联股份有限公司 一种基于动态二维码的支付方法以及支付系统
CN105654163A (zh) * 2015-12-23 2016-06-08 立德高科(北京)数码科技有限责任公司 一种基于短域名生成的二维码、及其生成方法与生成装置
CN105976005A (zh) * 2016-04-26 2016-09-28 鸿博股份有限公司 二维码加密方法、二维码生成设备和二维码扫描设备
CN107451631A (zh) * 2017-07-27 2017-12-08 上海慧流云计算科技有限公司 一种礼物发放方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633773A (zh) * 2018-06-22 2019-12-31 北京京东尚科信息技术有限公司 用于终端设备的二维码生成方法和装置
CN110874540A (zh) * 2018-08-31 2020-03-10 北京意锐新创科技有限公司 全角度读取条码的方法和装置
CN110874542A (zh) * 2018-08-31 2020-03-10 北京意锐新创科技有限公司 适用于读取不同载体所显示条码的方法和装置
CN109615006A (zh) * 2018-12-10 2019-04-12 北京市商汤科技开发有限公司 文字识别方法及装置、电子设备和存储介质
CN110428033A (zh) * 2019-07-31 2019-11-08 腾讯科技(深圳)有限公司 一种校验方法、识别端及用户端

Also Published As

Publication number Publication date
CN108062668B (zh) 2021-10-26

Similar Documents

Publication Publication Date Title
CN108062668A (zh) 基于后台图片加密识别的二维码支付方法与系统
JP6746158B2 (ja) 2次元コード
US8490863B1 (en) Secure financial report and method of processing and displaying the same
CN112600810B (zh) 一种基于图分类的以太坊网络钓鱼诈骗检测方法及装置
CN108269187A (zh) 金融业务的验证方法、装置、设备和计算机存储介质
CN100397864C (zh) 图像处理系统及图像处理方法
CN109409204A (zh) 防伪检测方法和装置、电子设备、存储介质
CN109271915A (zh) 防伪检测方法和装置、电子设备、存储介质
JP2019192193A (ja) 複合コードパターン、生成装置、読み取り装置、方法およびプログラム
CN109840520A (zh) 一种发票关键信息识别方法及系统
CN112088378A (zh) 图像隐藏信息检测器
CN110008664A (zh) 认证信息采集、开户方法、装置及电子设备
CN112528620A (zh) 财务凭证生成方法、装置、设备及存储介质
Jha et al. Automation of cheque transaction using deep learning and optical character recognition
CN108022164A (zh) 一种退税自助终端及方法
CN106997350A (zh) 一种数据处理的方法及装置
US20220245426A1 (en) Automatic profile extraction in data streams using recurrent neural networks
CN115690819A (zh) 一种基于大数据的识别方法及其系统
Mohamed et al. Blockchain for tracking serial numbers in money exchanges
US11281932B2 (en) System and method for managing loyalty scheme data
TWM626292U (zh) 業務導向要項鍵值辨識系統
CN113159255A (zh) 基于qr码和安全底纹的数字水印防伪方法
Vadrevu et al. Image forgery detection using metadata analysis and ELA processor
CN101727572A (zh) 使用文档特征来确保图像完整性
Bogahawatte et al. Online Digital Cheque Clearance and Verification System using Block Chain

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant