掌桥专利:专业的专利平台
掌桥专利
首页

一种基于数字图像处理的B2B在线支付交易方法

文献发布时间:2023-06-19 12:24:27


一种基于数字图像处理的B2B在线支付交易方法

技术领域

本发明属于数据处理技术领域,尤其涉及一种基于数字图像处理的B2B在线支付交易方法。

背景技术

B2B(Business-to-Business)是指进行电子商务交易的供需双方都是商家(或企业、公司),她(他)们使用了互联网的技术或各种商务网络平台,完成商务交易的过程。电子商务是现代B2B的一种具体主要的表现形式。电子商务,通过在线支付方式,可以将付款方用户的网上银行或者第三方电子支付系统的账户(即,付款账户)中的资产转账给收款方用户的网上银行或者第三方电子支付系统的账户(即,收款账户),从而做到无现金交易,提高了支付的便捷性。

在任何情况下,交易的安全总是人们关心的首要问题,如何在网上保证交易的公正性和安全性、保证交易双方身份的真实性、保证传递信息的完整性以及交易的不可抵赖性,成为推广电子商务的关键所在。

公开号为CN109565463的中国专利公开了一种短信验证码的处理方法、装置和终端,其在用户进行消费、登陆网站或账户申请、绑定手机等场景下需要进行验证,采用手机等设备接收短信验证码,以确保是本人非机器进行操作。

但是,攻击者可以通过短信拦截器(例如手机木马搜寻短信消息),轻松获取该验证码,从而使得攻击者可以阻止该交易,或者发起支付骗局,从而带来交易风险。

发明内容

有鉴于此,本发明提供一种基于数字图像处理的B2B在线支付交易方法。

本发明的技术方案是这样实现的:

一种基于数字图像处理的B2B在线支付交易方法,包括以下步骤:

步骤S1,付款方的交易卡的账户注册:付款方向银行提出注册申请,并提供注册登记信息;银行收到注册登记信息后,验证付款方是否满足申请条件:如果不满足,则终止操作;如果满足,银行将基础分享图像打印在交易卡的背面,并将交易卡寄送给付款方,同时将基础分享图像保存在银行的数据库中;

步骤S2,付款方登录银行的交易系统,并通过身份验证;

步骤S3,付款方请求进行网上在线支付;

步骤S301,付款方输入密码并发送支付请求,登录设备生成随机值和时间戳,并计算以下信息段的哈希值:卡号、登录密码哈希值、识别码、随机值、时间戳,然后将交易卡的卡号、随机值、时间戳和计算的哈希值发送给银行;

步骤S302,银行收到信息后验证时间戳是否有效:如有无效,则终止操作;如果有效,则根据收到的交易卡的卡号从数据库中找到关联的识别码、登录密码哈希值和基础分享图像,并根据数据库中的信息重新计算卡号、登录密码哈希值、识别码、随机值、时间戳的哈希值,并与步骤S301中的哈希值进行比较;如果两者相同,银行将生成具有动态安全码的安全码图片,然后采用视觉密码方案,根据安全码图片和基础分享图像,生成随机分享图像并将其发送给付款方;

步骤S303,付款方收到随机分享图像,将其叠加到交易卡上的基础分享图像,得到安全码图片,然后从安全码图中获取动态安全码并将其输入到银行的交易系统;登录设备计算随机值和输入验证码的哈希值,并计算以下信息段的哈希值:登录密码的哈希值、随机值和输入验证码的哈希值,并将这两个哈希值上传至银行;

步骤S304,银行收到两个哈希值并对其进行验证:只要其中一个值不匹配,银行就会拒绝该动态安全码并记录失败次数,如果连续失败3次,这张卡将被锁定;否则,将激活该动态安全码;

无论请求是否获得批准,银行都会将其是否通过的验证信息一起发送给付款方,用以告知付款方的请求状态;

步骤S4,银行激活动态安全码后,付款方使用交易卡完成在线支付。

进一步,步骤S1中:注册登记信息包括:身份证号码、生日、电话号码。

进一步,所述基础分享图像的上下边界均设置有虚线,作为用于定位坐标的定位轴。

进一步,步骤S2,包括以下步骤:

步骤S201,付款方在银行的交易系统中输入交易卡的卡号、交易卡的到期日、身份证号码、生日;银行的交易系统主动搜索登录设备的识别码,并根据;银行的交易系统将卡号、交易卡的到期日、身份证号码、生日、识别码、时间戳和哈希值作为日志信息并上传至银行的数据库;

步骤S202,银行收到日志信息后,首先验证交易卡的到期日和时间戳是否有效:如有无效,则终止操作;如果有效,则银行重新根据交易卡的卡号、交易卡的到期日、身份证号码、生日、识别码、时间戳计算哈希值,并将计算结果与日志信息中的哈希值进行比较:如果两者不相同,则拒绝登录请求;如果两者相同,则银行将生成一个随机数并通过短信发送给付款方;

步骤S203,付款方收到随机数后并将其输入到银行的交易系统,然后设置登录密码;然后,银行的交易系统,根据身份证号码、输入的随机数和登录密码,计算身份证号码的哈希值和登录密码的哈希值,并对这两个哈希值作异或运算,然后对以下信息段做哈希运算:身份证号码、输入的随机数、登录密码哈希值,并将身份证号码、输入的随机数和计算结果上传至银行;

步骤S204,银行验证发送的随机数和输入的随机数是否相同,然后对以下信息段做哈希运算:身份证号码、发送的随机数、登录密码哈希值,并与步骤S203中对应的哈希值作比较:如果都相同,则将交易卡的卡号、登录密码哈希值和基础分享图像配对并存储于银行的数据库;否则,则拒绝登录请求;

无论付款方登录银行的交易系统是否成功,银行都会将是否通过的验证信息一起发送给付款方,用以告知付款方的登录状态。

进一步,步骤S4,包括以下步骤:

步骤S401,B2B支付交易时,付款方转移交易信息给收款方;交易信息,包括交易卡信息、支付金额信息和动态安全码;

步骤S402,收款方获取并验证交易信息后,生成时间戳,然后连同交易信息传输给银行,等待授权;

步骤S403,银行对时间戳和动态安全码进行认证:只要有一个不满足条件,则授权失败,银行拒绝交易;否则,授权通过,然后银行转移交易卡信息、支付金额信息和验证信息给付款方;

无论授权是否成功,银行都会向付款方发送当前的交易信息和结果。

进一步,步骤S302中,安全码图片设置有防伪线,该防伪线为一条线段,并同时覆盖了所有安全码数字。

本发明具有以下优点:

一,本方案将视觉密码技术和卡安全码、动态安全码相互有机的结合,避免因为验证码的拦截而导致的交易信息的泄露。

本方案,采用了视觉秘密共享(VSS:Visual secret sharing)技术,将水印图像分成两个部分,将其中一部分水印的信息与原始图像的主要信息结合,得到一个含水印的图像,该水印为一次性密码。因此,即使攻击者拦截了传输的信息,其只获得了一部分水印的信息,无法识别验证信息,保证了交易的安全性和B2B电子商务交易的可靠性。

本方案,将基础分享图像打印在交易卡的背面,并用基础分享图像替换了卡安全码,使得交易验证中不再需要使用卡安全码。卡安全码是为了在非直接刷卡消费交易中用于证实付款人在交易时是拥有该交易卡,从而防止信用卡欺诈。然而卡安全码容易外泄而无法证实付款人在交易时是拥有该交易卡。而在本方案中,交易时堆叠出安全码图片才能获得安全码并通过认证,此时,付款方不仅需要知道密码,还需要现场持有交易卡,提升了交易的安全性。

本方案,采用了的一次性的动态安全码,每个支付会话的安全码必须不同,并将安全码隐匿在基础分享图像和随机分享图像。因此,即使当前的安全码外泄,也不会威胁到未来的交易。

在本方案中,将基础的分享图像,打印在交易卡上,用以替换卡安全码的功能,同时将基础的分享图像保存在银行的数据库中。由于基础分享图像不体现在任何交易信息中,因此,即使收款方为虚拟商户,或者攻击者拦截到该交易信息时,他们也无法得出动态安全码。相反,若采用了视觉秘密共享技术后,将体现动态安全码的基础分享图像和随机分享图像,均通过网络传输,则该动态安全码仍存在外泄的可能,影响交易安全。

二,本方案,采用哈希函数比对信息。如果两个输入之间存在任何差异,则哈希函数输出将存在巨大差异。因此,如果攻击者冒充服务器欺骗付款方,攻击者必须在登录和请求阶段将正确的付款方信息输入到哈希函数中。但是,付款方信息只有付款方和授权银行知道,因此攻击者无法获得有效的哈希值以通过身份验证阶段。所以,该机制可以抵御服务器欺骗攻击。另外,请求和交易阶段,支付方和银行之间传输的信息多以哈希值为主,攻击者无法从传输的信息中获得任何有效的信息,保证了交易的安全性。

附图说明

图1是视觉密码技术的加密和解密流程图;

图2是步骤S1的流程图;

图3是步骤S2的流程图;

图4是步骤S3的流程图;

图5是步骤S4的流程图;

图6是基础分享图像的示意图;

图7是四位数字的动态安全码的示意图;

图8是随机分享图像的示意图;

图9是安全码图片的示意图;

图10是被篡改后的安全码图片的示意图。

具体实施方式

下面以具体实施例对本发明进行详细说明,但是本发明不仅限于此。

视觉密码方案(Visual Cryptography Scheme)简称VCS,是一种新型的空域图像加密技术,由Naor和Shamir在1994年在欧洲密码学会议上提出,它是将秘密图像分享在若干称为分享份的透明胶片中,每一张分享份都不会泄露秘密的任何信息。解密时只需将满足条件的胶片叠合在一起,可在没有计算机的环境和秘密所有者不具备任何数学知识的情况下,由人类视觉系统直接恢复出秘密。与传统的秘密共享方法不同的是,视觉密码主要针对于秘密信息为图像的情况、在分享结构为(k、n)时,其中2≤k≤n,将秘密图像加密到n幅分享图像(shareimages)中,然后将分享图像分发给n位不同的秘密共享参与者。在恢复秘密图像时,至少需要k幅分享图像叠加才能恢复出秘密。

视觉密码技术对数字图像进行加密和解密的过程如图1所示。

视觉密码技术的优势在于:1,加密时,其将秘密图像嵌入到n幅无意义的、类似噪声的分享图像中。分析单张分享图像,将无法获得有效信息,从而保证信息在传输过程中的安全性。2,解密时,将n幅分享图像堆叠即可获得有效信息,无需经过类似于传统密码学的密集计算,简单直观。视觉密码技术的具体使用方式,可以参考公开号为CN111241554A的中国专利公开的基于视觉密码的数字图像加密解密系统。

卡安全码(Card Security Code,CSC)是信用卡在进行网络交易和电话交易时的一个安全特征。卡安全码是一组静态号码,只有银行和持卡人知道。它通常是在信用卡背面签名处以斜体字显示的一组3位数字,由信用卡号、到期日和其它可用信用数据通过某种算法合成的。它是商业银行为了银行卡用于非直接刷卡消费交易,例如网络支付等交易,确保信用卡安全所设立的验证码,用于证实付款人在交易时是拥有信用卡,从而防止信用卡欺诈。因此,需要避免卡安全码被除了持卡人和银行之外的任意第三方获取。

在本方案中,采用视觉密码技术,将银行的随机验证信息,分为一个基础分享图像和一个随机的验证图片。将基础分享图像,打印在交易卡上,用以替换卡安全码的功能。当付款方需要电子付款时,通过已经注册账户的设备向交易卡所属银行提出请求;银行根据随机验证信息生成随机的验证图片并发送给付款方;付款方叠加交易卡上的分享图像和收到的验证图片,就可以获得本次交易的验证信息。

一种基于数字图像处理的B2B在线支付交易方法,包括以下步骤:

步骤S1,如图2所示,付款方的交易卡的账户注册:付款方向银行提出注册申请。

步骤S101,付款方向银行提供注册登记信息,注册登记信息包括:身份证号码(ID)、生日(BD)、电话号码(Phone)。

步骤S102,银行收到注册登记信息后,验证付款方是否满足申请条件:如果不满足,则终止操作;如果满足,则银行将基础分享图像(image

所述基础分享图像(image

步骤S2,如图3所示,付款方登录银行的交易系统,并通过身份验证。

银行的交易系统,以手机上的应用软件(app)为例,进行说明。

步骤S201,付款方在银行的交易系统中输入交易卡的卡号(CN)、交易卡的到期日(VT)、身份证号码(ID)、生日(BD);银行的交易系统主动搜索登录设备的识别码(IMEI),并根据卡号(CN)、交易卡的到期日(VT)、身份证号码(ID)、生日(BD)、识别码(IMEI)、时间戳(Tu)计算哈希值,记为

步骤S202,银行收到日志信息后,首先验证交易卡的到期日(VT)和时间戳(Tu)是否有效:如有无效,则终止操作;如果有效,则银行重新根据交易卡的卡号(CN)计算哈希值

步骤S203,付款方收到随机数(n)后并将其输入到银行的交易系统,令该输入数为n’,然后设置登录密码(PW);然后,银行的交易系统,根据身份证号码(ID)、输入数(n’)和登录密码(PW),计算

步骤S204,银行验证随机数(n)和输入数(n’)是否相同,并比较

无论付款方登录银行的交易系统是否成功,银行都会计算一个哈希值

步骤S3,如图4所示,付款方请求进行网上在线支付。

步骤S301,付款方输入密码并发送支付请求,登录设备生成随机值R和时间戳Tu,并计算

步骤S302,银行收到信息后验证时间戳Tu是否有效:如有无效,则终止操作;如果有效,则根据收到的交易卡的卡号(CN)从数据库中找到关联的识别码(IMEI)、

步骤S303,付款方收到随机分享图像(image

步骤S304,银行收到两个哈希值并对其进行验证:只要其中一个值不匹配,银行就会拒绝该动态安全码(DSC)并记录失败次数,如果连续失败3次,这张卡将被锁定;否则,将激活该动态安全码(DSC)。

无论请求是否获得批准,银行都会计算

步骤S4,如图5所示,银行激活动态安全码(DSC)后,付款方使用交易卡通过SSL网站完成在线支付。

步骤S401,B2B支付交易时,付款方转移交易信息给收款方;交易信息,包括交易卡信息(CardInf)、支付金额信息(PayInf)和动态安全码(DSC)。

步骤S402,收款方获取并验证交易信息后,生成时间戳Tu,然后连同交易信息传输给银行,等待授权;

步骤S403,银行对时间戳Tu和动态安全码(DSC)进行认证:只要有一个不满足条件,则授权失败,银行拒绝交易;否则,授权通过,然后银行转移交易卡信息(CardInf)、支付金额信息(PayInf)和验证信息(PF

无论授权是否成功,银行都会向付款方发送当前的交易信息和结果。

验证本方案的可行性:使用电脑来模拟银行服务器,使用手机来作为登录设别,手机上安装有银行的交易系统APP。

假设付款方已经完成了银行的注册,并且拥有一张背面具有基础分享图像(image

B2B的支付交易实现过程可以分为两部分。第一个是登录阶段,付款方必须在开始时下载和设置手机上的软件。第二部分是请求阶段,付款方向银行请求动态安全码(DSC)。

登录阶段:

启动软件时,APP会要求支付方输入基本信息,包括信用卡号、有效期、身份证号、生日等,然后计算登录阶段的值并将其发送到服务器进行身份验证。

服务器收到信息后,将从其数据库中检索用户相关信息,并将其与获得的信息进行比较。如果相同,则生成验证码并短信通知支付方。APP会自动引导到认证页面。否则,支付方将收到错误信息。

支付方收到短信后,输入验证码,设置自己的密码。然后APP计算哈希值并传送到服务器进行验证。如果认证失败,支付方将收到错误信息。并且,支付方需要重新登录。

请求阶段:

支付方只需首次登录并设置密码即可。之后,支付方可以直接进入请求阶段,而无需担心复杂的信用卡信息。支付方只需输入密码并单击“DSC请求”按钮,手机就会自动计算请求阶段第一步使用的值并将其发送到服务器。

当服务器收到请求时,它会对接受的信息进行验证。如果认证成功,服务器会生成四位数字DSC,随机选取字体做防伪线,防伪线为一条直线,并同时覆盖了所有数字,如图7所示。

服务器采用视觉密码方案,根据安全码图片(image

付款方收到随机分享图像(image

付款方可以根据堆叠的图像在字段中输入DSC内容。按下“Check”后,APP会自动向服务器发送认证信息。DSC仅在与发行的一家银行相同时启用。无论我们得到什么结果,服务器都会发回认证确认。此外,付款方必须在预设的过期日期内使用DSC。否则,付款方需要再次发送请求。

执行不少于1000轮并收集了身份验证和图像生成时间,得到:登录的平均时间为1.4毫秒,而请求阶段的时间包括生成共享图像大约需要8.2毫秒。可见,本方案不会为移动设备增加计算负担。

登录阶段,本方案在付款方和银行之间,采用了双认证的机制。在步骤S201和S202中,付款方必须持有个人信息,包括身份号码和生日日期,以计算哈希值。银行根据这些信息够验证付款方身份。在步骤S204中,如果银行能够计算出包含正确个人信息的哈希值,则表明该银行确实持有真实的个人信息。

请求阶段,本方案在付款方和银行之间,也采用了双认证的机制。在步骤S301~S303中,付款方需要输入正确的密码和分享图片来公开统一的DSC并通过银行的认证,这有助于银行对付款方的身份进行认证。在步骤S304中,银行必须为密码提供正确的哈希值,该值只有授权的付款方和银行知道。因此,付款方也可以通过这种方式验证银行身份。

本方案采用了登录密码和动态安全码的双因数安全认证。付款方成功登录系统,具有向银行申请动态安全码DSC的资格。最后,堆叠出图片才能获得DSC并通过认证,此时,付款方不仅需要知道密码,还需要现场持有交易卡,提升了交易的安全性。

本方案采用了动态的安全码,每个支付会话的安全码必须不同。因此,即使当前的安全码外泄,也不会威胁到未来的交易。

本方案,采用哈希函数比对信息。如果两个输入之间存在任何差异,则哈希函数输出将存在巨大差异。因此,如果攻击者冒充服务器欺骗付款方,攻击者必须在登录和请求阶段将正确的付款方信息输入到哈希函数中。但是,付款方信息只有付款方和授权银行知道,因此攻击者无法获得有效的哈希值以通过身份验证阶段。所以,该机制可以抵御服务器欺骗攻击。另外,请求和交易阶段,支付方和银行之间传输的信息多以哈希值为主,攻击者无法从传输的信息中获得任何有效的信息,保证了交易的安全性。

本方案,采用了时间戳机制,在登录和请求阶段均有时间戳并代入到了哈希函数中。因此,攻击者无法通过重新生成新的时间戳来重发请求。

本方案,采用了图片防篡改的机制,在动态的安全码DSC上设置防伪线,一旦支付方发现图像重叠之后,防伪线不是直线,则表示分享图像(image

最后要说明的是,以上所述仅为本发明的个别范例,并不能用以限制本发明,值得指出的是,凡是在本发明的思想内容和原则之内的任何改动和改进,均应包含在本发明的范围之内。

技术分类

06120113283285