签名验证方法、装置及系统的制作方法_4

文档序号:8447310阅读:来源:国知局
实施例提供的签名验证装置的结构示意图。该签名验证装置可以通过软件、硬件或者两者的结合实现成为客户端服务器700的全部或者一部分,该签名验证装置包括:第一接收模块720、第一查询模块740、第一验证模块760和第二发送模块780 ;
[0167]第一接收模块720,用于接收第三方服务器发送的第三方客户端标识、第一签名信息和第二签名,第三方客户端标识是第三方在客户端服务器中的唯一标识,第一签名信息包括第三方支付标识、支付信息和第一签名,第二签名是第三方服务器根据第二密钥对第三方客户端标识和第一签名信息进行加密得到的;
[0168]第一查询模块740,用于查询与第一接收模块720接收到的第三方客户端标识对应的第二密钥;
[0169]第一验证模块760,用于根据第一查询模块740查询到的第二密钥、第三方客户端标识和第一签名信息对第二签名进行验证;
[0170]第二发送模块780,用于在第一验证模块760对第二签名验证成功时,将第一签名信息发送给支付服务器进行验证;
[0171]其中,第三方支付标识是第三方在支付服务器中的唯一标识,第一签名是第三方服务器根据第一密钥对第三方支付标识和支付信息进行加密得到的,第一密钥是在支付服务器中与第三方支付标识对应的密钥。
[0172]综上所述,本实施例提供的签名验证装置,通过接收第三方服务器发送的第三方客户端标识、第一签名信息和第二签名;查询与第三方客户端标识对应的第二密钥;根据第二密钥、第三方客户端标识和第一签名信息对第二签名进行验证;在验证成功时,将第一签名信息发送给支付服务器进行验证;解决了由于在上述传输过程中所使用的第三方商家的密钥不仅被第三方商家所持有,又被支付服务方所持有,一旦发生泄露,就可能被他人利用该密钥篡改或伪造订单信息,容易对用户或者第三方商家造成财产损失,安全性较低的问题;达到了能够通过两次签名进行验证,第三方商家保存两个密钥,客户端服务器和支付服务器各自保存一个密钥,从而提高验证准确性和提高支付信息安全性的效果。
[0173]请参考图8,其示出了本发明一个实施例提供的签名验证装置的结构示意图。该签名验证装置可以通过软件、硬件或者两者的结合实现成为支付服务器800的全部或者一部分,该签名验证装置包括:第二接收模块820、第二查询模块840、第二验证模块860和信息响应模块880 ;
[0174]第二接收模块820,用于接收客户端服务器发送的第一签名信息,第一签名信息包括第三方支付标识、支付信息和第一签名,第三方支付标识是第三方在支付服务器中的唯一标识,第一签名是第三方服务器根据第一密钥对第三方支付标识和支付信息进行加密得到的;
[0175]第二查询模块840,用于查询与第二接收模块820接收到的第三方支付标识对应的第一密钥;
[0176]第二验证模块860,用于根据第二查询模块840查询到的第一密钥、第三方支付标识和支付信息对第一签名进行验证;
[0177]信息响应模块880,用于在第二验证模块860对第一签名验证成功时,对支付信息进行响应;
[0178]其中,第一签名信息是客户端服务器根据第二密钥、第三方客户端标识和第一签名信息对第二签名进行验证成功后发送的,第二签名是第三方服务器根据第二密钥对第三方客户端标识和第一签名信息进行加密得到的,第二密钥是在客户端服务器中与第三方客户端标识对应的密钥,第三方客户端标识是第三方在客户端服务器中的唯一标识。
[0179]综上所述,本实施例提供的签名验证装置,通过接收客户端服务器发送的第一签名信息;查询与第三方支付标识对应的第一密钥;根据第一密钥、第三方支付标识和支付信息对第一签名进行验证;在验证成功时,对支付信息进行响应;解决了由于在上述传输过程中所使用的第三方商家的密钥不仅被第三方商家所持有,又被支付服务方所持有,一旦发生泄露,就可能被他人利用该密钥篡改或伪造订单信息,容易对用户或者第三方商家造成财产损失,安全性较低的问题;达到了能够通过两次签名进行验证,第三方商家保存两个密钥,客户端服务器和支付服务器各自保存一个密钥,从而提高验证准确性和提高支付信息安全性的效果。
[0180]请参考图9,其示出了本发明一个实施例提供的签名验证系统的结构示意图。该签名验证系统包括第三方服务器600、客户端服务器700和支付服务器800,第三方服务器600和客户端服务器700通过无线网络或者有线网络相连,客户端服务器700和支付服务器800通过无线网络或者有线网络相连,具体如下:
[0181]第三方服务器600,包括:第一签名模块620、第二签名模块640和第一发送模块660 ;
[0182]第一签名模块620,用于根据第一密钥对第三方支付标识和支付信息进行加密得到第一签名,第一密钥是在支付服务器中与第三方支付标识对应的密钥,第三方支付标识是第三方在支付服务器中的唯一标识;
[0183]第二签名模块640,用于根据第二密钥对第三方客户端标识和第一签名信息进行加密得到第二签名,第一签名信息包括第三方支付标识、支付信息和第一签名,第二密钥是在客户端服务器中与第三方客户端标识对应的密钥,第三方客户端标识是第三方在客户端服务器中的唯一标识;
[0184]第一发送模块660,用于将第三方客户端标识、第一签名信息和第二签名发送给客户端服务器进行验证,以便所述客户端服务器根据所述第二密钥、所述第三方客户端标识和所述第一签名信息对所述第二签名验证成功时,将所述第一签名信息发送给所述支付服务器进行验证。
[0185]第一签名模块620,包括:第一生成单元621和第一加密单元622 ;
[0186]第一生成单元621,用于按照第一排列规则对第三方支付标识、支付信息和第一密钥进行排列后,生成第一字符串;
[0187]第一加密单元622,用于按照第一不可逆加密方式对第一字符串进行加密得到第一签名。
[0188]第二签名模块640,包括:第二生成单元641和第二加密单元642 ;
[0189]第二生成单元641,用于按照第二排列规则对第三方客户端标识、第一签名信息和第二密钥进行排列后,生成第二字符串;
[0190]第二加密单元642,用于按照第二不可逆加密方式对第二字符串进行加密得到第二签名。
[0191]进一步的,第三方服务器600,还包括:第一获取模块630 ;
[0192]第一获取模块630,用于获取第一时间戳和第一随机字符串中的至少一种;
[0193]第一生成单元621,还用于按照第一排列规则对获取到的第一时间戳和/或第一随机字符串、第三方支付标识、支付信息和第一密钥进行排列后,生成第一字符串。
[0194]进一步的,第三方服务器600,还包括:信息添加模块631 ;
[0195]信息添加模块631,用于将获取到的第一时间戳和/或第一随机字符串添加入第一签名信息。
[0196]进一步的,第三方服务器600,还包括:
[0197]第二获取模块650,用于获取第二时间戳和第二随机字符串中的至少一种;
[0198]第二生成单元641,还用于按照第二排列规则对获取到的第二时间戳和/或第二随机字符串、第三方客户端标识、第一签名信息和第二密钥进行排列后,生成第二字符串。
[0199]第一发送模块660,还用于将第二时间戳和/或第二随机字符串、第三方客户端标识、第一签名信息和第二签名发送给客户端服务器进行验证。
[0200]客户端服务器700,包括:第一接收模块720、第一查询模块740、第一验证模块760和第二发送模块780 ;
[0201]第一接收模块720,用于接收第三方服务器发送的第三方客户端标识、第一签名信息和第二签名,第三方客户端标识是第三方在客户端服务器中的唯一标识,第一签名信息包括第三方支付标识、支付信息和第一签名,第二签名是第三方服务器根据第二密钥对第三方客户端标识和第一签名信息进行加密得到的;
[0202]第一查询模块740,用于查询与第三方客户端标识对应的第二密钥;
[0203]第一验证模块760,用于根据第二密钥、第三方客户端标识和第一签名信息对第二签名进行验证;
[0204]第二发送模块780,用于在验证成功时,将第一签名信息发送给支付服务器进行验证;
[0205]其中,第二方支付标识是第二方在支付服务器中的唯一标识,第一签名是第二方服务器根据第一密钥对第三方支付标识和支付信息进行加密得到的,第一密钥是在支付服务器中与第三方支付标识对应的密钥。
[0206]进一步的,第一验证模块760,包括:第三生成单元761、第三加密单元762、第一判断单元763、第一确定单元764和第二确定单元765 ;
[0207]第三生成单元761,用于按照第二排列规则对第三方客户端标识、第一签名信息和第二密钥进行排列后,生成第三字符串;
[0208]第三加密单元762,用于按照第二不可逆加密方式对第三字符串进行加密得到第三签名;
[0209]第一判断单元763,用于判断第三签名与第二签名是否一致;
[0210]第一确定单元764,用于若判断结果为第三签名与第二签名一致,则确定验证成功;
[0211]第二确定单元765,用于若判断结果为第三签名与第二签名不一致,则确定验证不成功。
[0212]进一步的,客户端服务器700,还包括:
[0213]时间戳接收模块730,用于接收第三方服务器发送的与第三方客户端标识、第一签名信息和第二签名对应的第二时间戳;
[0214]第一检测模块731,用于检测第二时间戳是否在预定时间范围内;
[0215]第一查询模块740,用于若检测结果为第二时间戳在预定时间范围内,则执行查询与第三方客户端标识对应的第二密钥这一步骤。
[0216]支付服务器800,包括:第二接收模块820、第二查询模块840、第二验证模块860和信息响应模块880。
[0217]第二接收模块820,用于接收客户端服务器发送的第一签名信息,第一签名信息包括第三方支付标识、支付信息和第一签名,第三方支付标识是第三方在支付服务器中的唯一标识,第一签名是第三方服务器根据第一密钥对第三方支付标识和支付信息进行签名得到的;
[0218]第二查询模块840,用于查询与第三方支付标识对应的第一密钥;
[0219]第二验证模块860,用于根据第一密钥、第三方支付标识和支付信息对第一签名进行验证;
[0220]信息响应模块880,用于在验证成功时,对支付信息进行响应;
[0221]其中,第一签名信息是客户端服务器根据第二密钥、第三方客户端标识和第一签名信息对第二签名进行验证成功后发送的,第二签名是第三方服务器根据第二密钥对第三方客户端标识和第一签名信息进行加密得到的,第二密钥是在客户端服务器中与第三方客户端标识对应的密钥,第三方客户端标识是第三方在客户端服务器中的唯一标识。
[0222]进一步的,第二验证模块860,包括:第四生成单元861、第四加密单元862、第四判断单元863、第三确定单元864和第四确定单元865 ;
[0223]第四生成单元861,用于按照第一排列规则对第三方支付标识、支付信息和第一密钥进行排列后,生成第四字符串;
[0224]第四加密单元862,用于按照第一不可逆加密方式对第四字符串进行加密得到第四签名;
[0225]第四判断单元863,用于判断第四签名与第一签名是否一致;
[0226]第三确定单元864,用于若判断结果为第四签名与第一签名一致,则确定验证成功;
[0227]第四确定单元865,用于若判断结果为第四签名与第一签名不一致,则确定验证不成功。
[0228]进一步的,若第一签名信息还包括第一时间戳,支付服务器800,包括:
[0229]第二检测模块830,用于检测第一时间戳是否在预定时间范围内;
[0230]第二查询模块840,用于若检测结果为第一时间戳在预定时间范围内,则执行查询与第三方支付标识对应的第一密钥这一步骤。
[0231]综上所述,本实施例提供的签名生成装置,通过根据第一密钥对第三方支付标识和支付信息进行签名得到第一签名;根据第二密钥对第三方客户端标识和第一签名信息进行签名得到第二签名;将第三方客户端标识、第一签名信息和第二签名发送给客户端服务器进行验证,由客户端服务器根据所述第二密钥、所述第三方客户端标识和所述
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1