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

文档序号:8447310阅读:来源:国知局
支付信息中位于外围的一层签名。客户端服务器140和支付服务器160通过无线网络相连,并且二者可以传输数据。客户端服务器140可以是为社交类应用客户端提供后台服务的服务器,也可以是为即时通讯客户端提供后台服务的服务器,不做限定。
[0062]支付服务器160可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。支付服务器160用于在客户端服务器140验证支付信息中位于外围的签名成功后,继续验证支付信息中位于内围的签名。在签名验证成功后,支付服务器160可以根据支付信息进行进一步响应,比如下单和转账等。
[0063]本发明实施例主要涉及三个部分,第一部分:第三方服务器为支付信息生成位于内围的第一签名和位于外围的第二签名;第二部分:客户端服务器验证位于外围的第二签名;第三部分:在客户端服务器验证位于外围的第二签名通过后,支付服务器验证位于内围的第一签名。下面首先通过第三方服务器侧签名验证方法、客户端服务器侧外围签名验证方法和支付服务器侧内围签名验证方法等三个实施例来分别阐述该双重签名机制,然后再提供一个将第三方服务器、客户端服务器和支付服务器三侧结合起来的实施例进行详细说明,具体如下:
[0064]请参考图2,其示出了本发明一个实施例提供的签名验证方法的方法流程图。本实施例以该签名验证方法应用于如图1所示的第三方服务器中来举例说明。该签名验证方法,包括:
[0065]步骤202,根据第一密钥对第三方支付标识和支付信息进行加密得到第一签名;
[0066]第一密钥是在支付服务器中与第三方支付标识对应的密钥,第三方支付标识是第三方在支付服务器中的唯一标识。
[0067]步骤204,根据第二密钥对第三方客户端标识和第一签名信息进行加密得到第二签名;
[0068]第一签名信息包括第三方支付标识、支付信息和第一签名,第二密钥是在客户端服务器中与第三方客户端标识对应的密钥,第三方客户端标识是第三方在客户端服务器中的唯一标识。
[0069]步骤206,将第三方客户端标识、第一签名信息和第二签名提供给客户端服务器进行验证。
[0070]客户端服务器用于根据第二密钥、第三方客户端标识和第一签名信息对第二签名验证成功时,将第一签名信息发送给支付服务器进行验证。
[0071]综上所述,本实施例提供的签名验证方法,通过根据第一密钥对第三方支付标识和支付信息进行加密得到第一签名;根据第二密钥对第三方客户端标识和第一签名信息进行加密得到第二签名;将第三方客户端标识、第一签名信息和第二签名发送给客户端服务器进行验证;解决了由于在上述传输过程中所使用的第三方商家的密钥不仅被第三方商家所持有,又被支付服务方所持有,一旦发生泄露,就可能被他人利用该密钥篡改或伪造订单信息,容易对用户或者第三方商家造成财产损失,安全性较低的问题;达到了能够通过两次签名进行验证,第三方商家保存两个密钥,客户端服务器和支付服务器各自保存一个密钥,从而提高验证准确性和提高支付信息安全性的效果。
[0072]请参考图3,其示出了本发明一个实施例提供的签名验证方法的方法流程图。本实施例以该签名验证方法应用于如图1所示的客户端服务器中来举例说明。该签名验证方法,包括:
[0073]步骤302,获取第三方服务器提供的第三方客户端标识、第一签名信息和第二签名;
[0074]第三方客户端标识是第三方在客户端服务器中的唯一标识,第一签名信息包括第三方支付标识、支付信息和第一签名,第二签名是第三方服务器根据第二密钥对第三方客户端标识和第一签名信息进行加密得到的。
[0075]步骤304,查询与第三方客户端标识对应的第二密钥;
[0076]步骤306,根据第二密钥、第三方客户端标识和第一签名信息对第二签名进行验证;
[0077]步骤308,在验证成功时,将第一签名信息发送给支付服务器进行验证;
[0078]其中,第二方支付标识是第二方在支付服务器中的唯一标识,第一签名是第二方服务器根据第一密钥对第三方支付标识和支付信息进行加密得到的,第一密钥是在支付服务器中与第三方支付标识对应的密钥。
[0079]综上所述,本实施例提供的签名验证方法,通过获取第三方服务器提供的第三方客户端标识、第一签名信息和第二签名;查询与第三方客户端标识对应的第二密钥;根据第二密钥、第三方客户端标识和第一签名信息对第二签名进行验证;在验证成功时,将第一签名信息发送给支付服务器进行验证;解决了由于在上述传输过程中所使用的第三方商家的密钥不仅被第三方商家所持有,又被支付服务方所持有,一旦发生泄露,就可能被他人利用该密钥篡改或伪造订单信息,容易对用户或者第三方商家造成财产损失,安全性较低的问题;达到了能够通过两次签名进行验证,第三方商家保存两个密钥,客户端服务器和支付服务器各自保存一个密钥,从而提高验证准确性和提高支付信息安全性的效果。
[0080]请参考图4,其示出了本发明一个实施例提供的签名验证方法的方法流程图。本实施例以该签名验证方法应用于如图1所示的支付服务器中来举例说明。该签名验证方法,包括:
[0081]步骤402,接收客户端服务器发送的第一签名信息;
[0082]第一签名信息包括第三方支付标识、支付信息和第一签名,第三方支付标识是第三方在支付服务器中的唯一标识,第一签名是第三方服务器根据第一密钥对第三方支付标识和支付信息进行加密得到的。
[0083]步骤404,查询与第三方支付标识对应的第一密钥;
[0084]步骤406,根据第一密钥、第三方支付标识和支付信息对第一签名进行验证;
[0085]步骤408,在验证成功时,对支付信息进行响应;
[0086]其中,第一签名信息是客户端服务器根据第二密钥、第三方客户端标识和第一签名信息对第二签名进行验证成功后发送的,第二签名是第三方服务器根据第二密钥对第三方客户端标识和第一签名信息进行加密得到的,第二密钥是在客户端服务器中与第三方客户端标识对应的密钥,第三方客户端标识是第三方在客户端服务器中的唯一标识。
[0087]综上所述,本实施例提供的签名验证方法,通过接收客户端服务器发送的第一签名信息;查询与第三方支付标识对应的第一密钥;根据第一密钥、第三方支付标识和支付信息对第一签名进行验证;在验证成功时,对支付信息进行响应;解决了由于在上述传输过程中所使用的第三方商家的密钥不仅被第三方商家所持有,又被支付服务方所持有,一旦发生泄露,就可能被他人利用该密钥篡改或伪造订单信息,容易对用户或者第三方商家造成财产损失,安全性较低的问题;达到了能够通过两次签名进行验证,第三方商家保存两个密钥,客户端服务器和支付服务器各自保存一个密钥,从而提高验证准确性和提高支付信息安全性的效果。
[0088]请参考图5A,其示出了本发明一个实施例提供的签名验证方法的方法流程图。本实施例以该签名验证方法应用于如图1所示的实施环境中来举例说明。该签名验证方法,包括:
[0089]步骤501,第三方服务器根据第一密钥对第三方支付标识和支付信息进行加密得到第一签名;
[0090]第一密钥是在支付服务器中与第三方支付标识对应的密钥,第三方支付标识是第三方在支付服务器中的唯一标识。第三方支付标识是第三方商家在支付服务器上注册的。[0091 ] 第一密钥可以由支付服务器自动生成并向第三方服务器提供,第一密钥与第三方支付标识对应。每个第三方支付标识分别对应不同的第一密钥。比如,若第三方支付标识为A,则有第一密钥Al与之对应。签名是针对传输的支付信息进行加密的一种方式,用来确保传输的支付信息及其它信息不被篡改。
[0092]本步骤具体包括如下子步骤:
[0093]1、第三方服务器按照第一排列规则对第三方支付标识、支付信息和第一密钥进行排列后,生成第一字符串;
[0094]第一排列规则可以是根据按照字段名的ASCII码从小到大的规则将上述第三方支付标识、支付信息和第一密钥三个字段进行排列,也可以根据按照字段名的ASCII码从大到小的规则进行排列,还可以是其它方式,在此不作限定。将上述第三方支付标识、支付信息和第一密钥进行排列后按照预定规则生成第一字符串,预定规则可以是URL键值对的格式规则。
[0095]如,假设第三方支付标识为a=l、支付信息为b=2和第一密钥为c=3,若按照ASCII码从小到大的规则将上述第三方支付标识、支付信息和第一密钥进行排列,得到一个数据串a=lb=2c=3 ;然后将该数据串按照URL键值对的格式生成字符串,将上述数据串a=lb=2c=3按照URL键值对的格式生成第一字符串a=l&b=2&c=3。
[0096]2、第三方服务器按照第一不可逆加密方式对第一字符串进行加密得到第一签名。
[0097]第一不可逆加密方式可以是MD5和Shal等加密方法。比如,第三方服务器按照第一不可逆加密方式对第一字符串a=l&b=2&c=3进行加密得到第一签名。
[0098]需要补充说明的是,上述字段可以不限于第三方支付标识、支付信息和第一密钥三个字段,第三方服务器通常还获取第一时间戳和第一随机字符串两个字段中的至少一种,其中,第一时间戳可以对应生成第一签名时的当前时刻,第一随机字符串用于保证第一字符串的唯一性。此时,第三方服务器还可以按照第一排列规则对获取到的第一时间戳和/或第一随机字符串、第三方支付标识、支付信息和第一密钥进行排列后,生成第一字符串;并且第三方服务器将获取到的第一时间戳和/或第一随机字符串添加入第一签名信息。
[0099]步骤502,第三方服务器根据第二密钥对第三方客户端标识和第一签名信息进行加密得到第二签名;
[0100]第一签名信息包括第三方支付标识、支付信息和第一签名。第一签名信息还可能包括第一时间戳和/或第一随机串。第二密钥是在客户端服务器中与第三方客户端标识对应的密钥,第三方客户端标识是第三方商家在客户端服务器中的唯一标识。第二密钥与第三方客户端标识对应,不同的第三方客户端标识对应不同的第二密钥。
[0101]本步骤具体包括如下子步骤:
[0102]1、第三方服务器按照第二排列规则对第三方客户端标识、第一签名信息和第二密钥进行排列后,生成第二字符串;
[0103]在本步骤中,第三方服务器生成第二字符串的方式与步骤501中第三方服务器生成第一字符串的方式类似,在此就不再赘述。
[0104]2、第三方服务器按照第二不可逆加密方式对第二字符串进行加密得到第二签名。第二不可逆加密方式可以是MD5和Shal等加密方法。
[0105]需要补充说明的是,上述字段可以不限于第三方客户端标识、第一签名信息和第二密钥三个字段,第三方服务器通常还获取第二时间戳和第二随机字符串两个字段中的至少一种。其中,第二时间戳可以对应生成第二签名时的当前时刻,第二随机字符串用于保证第二字符串的唯一性。此时,第三方服务器还可以按照第二排列规则对获取到的第二时间戳和/或第二随机字符串、第三方客户端标识、第一签名信息和第二密钥进行排列后,生成第二字符串。
[0106]步骤503,第三方服务器将第三方客户端标识、第一签名信息和第二签名提供给客户端服务器进行验证。
[0107]另外,若第三方服务器获取了第二时间戳和第二随机字符串中的至少一种,则第三方服务器将第二时间戳和/或第二随机字符串、第三方客户端标识、第一签名信息和第二签名提供给客户端服务器进行验证。
[0108]其中,上述的第一时间戳和第二时间戳用于确认支付信息是否在有效期内。
[0109]需要说明的是,根据支付方式的不同,第三方服务器将第三方客户端标识、第一签名信息和第二签名提供给客户端服务器的方式也不同。在一种实现方式中,第三方服务器可以在用户触发支付时,将第三方客户端标识、第一签名信息和第二签名发送给客户端服务器;在另一种实现方式中,第三方服务器可以在预先将第三方客户端标识、第一签名信息和第二签名生成二维码,将该二维码嵌入在商品网页中,当用户使用客户端扫描该二维码进行支付时,由客户端将从二维码中扫描出的第三方客户端标识、第一签名信息和第二签名发送给客户端服务器;在再一种实现方式中,第三方服务器可以在预先将第三方客户端标识、第一签名信息和第二签名生成一个支付链接,将该支付链接嵌入在商品网页中,当用户使用点击该支付链接调用客户端进行支付时,由客户端将根据支付链接中提取出的第三方客户端标识、第一签名信息和第二签名发送给客户端服务器。本文对第三方服务器将第三方客户端标识、第一签名
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1