支付安全性的检测方法和装置的制造方法_2

文档序号:9688160阅读:来源:国知局
实施例中,在向客户端发送安全代码之前,该支付安全性的检测方法还可包括:通过混淆算法对安全代码进行混淆以生成混淆字符串以将混淆之后的安全代码和混淆字符串发送至客户端。其中,在本申请的实施例中,安全代码可理解为攻防JS代码。例如,可通过不可逆混淆算法对攻防JS代码进行混淆,生成混淆字符串,之后将混淆之后的攻防JS代码和混淆字符串发送至客户端。其中,可以理解,混淆字符串可起动防采集的作用。需要说明的是,在本申请的实施例中,混淆算法需要定期更新,或者安全代码进行实时混淆,且在定期更新或实时混淆时加入一个混淆字符串定义在安全代码的变量中,从而对安全代码起到保护作用。
[0035]在本申请的实施例中,如图2所示,通过安全代码采集第二属性信息具体可包括:客户端运行安全代码以使安全代码采集第二属性信息(S201)。之后,客户端对第二属性信息和混淆字符串进行签名以生成签名信息(S202)。然后,接收客户端发送的第二属性信息和签名信息,并根据签名信息对第二属性信息进行验证(S203)。应当理解,此处的混淆字符串为上述客户端接收的混淆字符串。
[0036]举例而言,在本申请的实施例中,第二属性信息以“locat1n, host”、“parent,locat1n, host”为例,在客户端接收到安全代码,并运行安全代码之后,可通过安全代码米集“locat1n.host”、“parent.locat1n, host” 信息。之后,客户端可对“locat1n-host'“parent.locat1n, host,,和混渚字符串进行 MD5 (Message Digest Algorithm,消息摘要算法第五版)签名,以生成签名信息,如:MD5 (locat1n, host+混淆字符串+parent,locat1n, host),防止篡改。然后,可接收客户端发送的第二属性信息和签名信息,之后可对签名信息进行解密,根据解密后的签名信息对第二属性信息进行验证,以验证接收到的第二属性信息是否与解密后的签名信息中的第二属性信息一致。由此,保证第二属性信息的来源是客户端。
[0037]S103,接收客户端的商业订单提交请求,并记录与商业订单提交请求相关的第三属性信息。
[0038]其中,在本申请的实施例中,第三属性信息可为商业订单在支付平台收银台支付时的网络层IP地址。
[0039]S104,根据第一属性信息、第二属性信息和第三属性信息中的至少两个进行支付安全性检测。
[0040]其中,在本申请的一个实施例中,第一属性信息可为客户端发送支付请求时的第一 IP地址,第二属性信息可为通过安全代码采集的客户端的第二 IP地址,第三属性信息可为客户端发送商业订单提交请求时的第三IP地址。其中,在本申请的实施例中,如果第一IP地址、第二 IP地址和第三IP地址中的任意两个不同,则判断为高危支付。
[0041]例如,第一属性信息为客户端发送支付请求时的网络层第一 IP地址,第二属性信息为在通过安全代码采集第二属性信息之后返回客户端信息时的网络层第二 IP地址,第三属性信息为客户端发送商业订单提交请求时的网络层第三IP地址,将第一 IP地址、第二IP地址和第三IP地址进行对比,当第一 IP地址、第二 IP地址和第三IP地址中的任意两个不同时,可判断支付过程为高危支付,并可提醒用户有钓鱼风险。
[0042]在本申请的另一个实施例中,第一属性信息可为通过支付请求获取的第一域名信息,第二属性信息可为安全代码采集的第二域名信息。其中,在本申请的实施例中,如果第一域名信息与第二域名信息不同,则判断为高危支付。
[0043]例如,第一属性信息可为通过支付请求获取的Refer信息的域名locat1n.host(即第一域名信息),第二属性信息为安全代码采集客户端的域名“locat1n,host” (即第二域名信息),可将第一域名信息和第二域名信息进行对比,当第一域名信息和第二域名信息不同时,可判断支付过程为高危支付,并可提醒用户有钓鱼风险。
[0044]进一步的,在本申请的一个实施例中,该支付安全性的检测方法还可包括:记录接收到支付请求时的第一时间戳,并记录接收到第二属性信息时的第二时间戳;如果第一时间戳和第二时间戳之间的时间小于第一预设阀值,或者,第一时间戳和第二时间戳之间的时间大于第二预设阀值,则判断为高危支付,其中,第二预设阀值大于第一预设阀值。可以理解,第一预设阀值和第二预设阀值可根据实际情况设定。由此,为保证支付的安全性,需保证从接收到的支付请求开始直到接收到第二属性信息时为止,这个过程所花费的时间控制在正常合理的范围内。
[0045]本申请实施例的支付安全性的检测方法,可先接收客户端发送的支付请求,并记录与支付请求相关的第一属性信息,之后可向客户端发送安全代码,并通过安全代码采集第二属性信息,然后接收客户端的商业订单提交请求,并记录与商业订单提交请求相关的第三属性信息,以及根据第一属性信息、第二属性信息和第三属性信息中的至少两个进行支付安全性检测,在整个支付检测过程中,通过支付服务商来获取用户IP,至少具有以下优点:(1)不会受到商家开发的技术或服务器架构中的负载均衡、反向代理等设备的影响,通过支付接口直接即可准确地获取到用户IP ; (2)通过支付接口直接获取网络层IP,避免了IP在传输过程中会被网络服务商篡改的风险,从而使得支付服务商获取到的IP更加准确,从而支付服务商根据更加准确的IP即可对支付操作进行安全性检测,提高了准确率。
[0046]为了使得本领域的技术人员更加地了解本申请,下面可举例说明。
[0047]举例而言,如图3所示,以客户端为商户网站为例,首先,商户网站可通过商业页面发起JS请求(即支付请求)。支付平台可接收到该JS请求(SI),并获取到该商户网站在下单页面时的网络层IP1,并可将IPl记录到会话sess1n中(Sll),之后可记录JS请求中的Referl到sess1n,并通过Referl的值来判断是否需要向商户网站发送攻防JS代码;当Referl的值为空时,向商户网站发送攻防JS代码(S12),同时获取接收到支付请求时的当前时间戳1(即第一时间戳)(S13),并记录到sess1n,之后可通过混淆算法将混淆之后的攻防JS代码返回到商户网站,即返回不可逆混淆的“ js+cookie (sess1nid) ” (S14)。支付平台向商户网站返回JS+cookie (S2),通过攻防JS代码可获取locat1n, host (S21),获取parent (S22),获取攻防JS代码自带的混淆字符串(S23),之后对locat1n, host、parent和混淆字符串这三个字符串进行MD5签名以得到签名信息(S24),之后通过get提交locat1n.host、parent和签名信息到支付平台(S25)。支付平台接收到商户网站返回的验证字符串(S3),同时获取此时的网络层IP2 (S31),并获取当前时间戳2 (即第二时间戳),并将其记录到sess1n (S32),之后解密被加密的字符串以取到locat1n, hostl和parent,locat1n.host2(S33)。当支付平台接收到商业订单提交请求时(S4),支付平台获取此时的网络层IP3(S41),之后,取出sess1n中的IPl、Referl、时间戳1、时间戳2、IP2、locat1n.hostl、parent, locat1n.host2和IP3 (S42),之后可根据这些数据来综合判断用户付款时是否安全(S43)。
[0048]为了实现上述实施例,本申请还提出了一种支付安全性的检测装置。
[0049]图4是根据本申请一个实施例的支付安全性的检测装置的结构示意图。如图4所示,该支付安全性的检测装置可以包括:第一接收模块10、发送模块20、采集模块30、第二接收模块40和检测模块50。
[0050]具体地,第一接收模块10可用于接收客户端发送的支付请求,并记录与支付请求相关的第一属性信息。其中,在本申请的实施例中,客户端可理解为商户网站。
[0051]更具体地,客户端可在下单页面向支付平台发起JS (JavaScript,直译式脚本语言)支付请求,第一接收模块10在接收到客户端发送的支付请求之后,可获取并记录与该支付请求相关的第一属性信息,如网络层的IP,此处的IP可理解为在客户端下单页面时的IP0
[0052]发送模块20可用于向客户端发送安全代码。采集模块30可用
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1