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

文档序号:8447310阅读:来源:国知局
第一签名信息对所述第二签名验证成功时,将所述第一签名信息发送给所述支付服务器进行验证;解决了由于在上述传输过程中所使用的第三方商家的密钥不仅被第三方商家所持有,又被支付服务方所持有,一旦发生泄露,就可能被他人利用该密钥篡改或伪造订单信息,容易对用户或者第三方商家造成财产损失,安全性较低的问题;达到了能够通过两次签名进行验证,第三方商家保存两个密钥,客户端服务器和支付服务器各自保存一个密钥,从而提高验证准确性和提高支付信息安全性的效果。
[0232]请参考图10,其示出了本发明一个实施例提供的服务器的结构示意图。该服务器可以是第三方服务器,也可以是客户端服务器,还可以是支付服务器,具体来讲:
[0233]服务器1000包括中央处理单元(CPU) 1001、包括随机存取存储器(RAM) 1002和只读存储器(ROM) 1003的系统存储器1004,以及连接系统存储器1004和中央处理单元1001的系统总线1005。服务器1000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1006,和用于存储操作系统1013、应用程序1014和其他程序模块1015的大容量存储设备1007。
[0234]基本输入/输出系统1006包括有用于显不信息的显不器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中显示器1008和输入设备1009都通过连接到系统总线1005的输入输出控制器1010连接到中央处理单元1001。基本输入/输出系统1006还可以包括输入输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。
[0235]大容量存储设备1007通过连接到系统总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。大容量存储设备1007及其相关联的计算机可读介质为客户端设备提供非易失性存储。也就是说,大容量存储设备1007可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
[0236]不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPR0M、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。
[0237]根据本发明的各种实施例,服务器1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1000可以通过连接在系统总线1005上的网络接口单元1011连接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机系统(未示出)。
[0238]存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上中央处理单元1001执行一个或者一个以上程序包含用于执行图2至图5B所示的任一实施例所提供的签名签名验证方法。
[0239]请参考图11,其示出了本发明一个实施例提供的签名验证方法的具体实施示意图。本实施例中,以第三方服务器为商家提供的第三方网页服务器、客户端服务器为微信后台服务器和支付服务器是财付通后台服务器来举例说明。其中,微信和财付通均为中国的腾讯科技(深圳)有限公司提供的互联网服务。该签名验证方法,包括:
[0240]步骤1101,第三方网页服务器接收用户在页面中触发的购买信号,并提供具有双重签名的订单信息以及公众号给微信客户端;
[0241]第三方网页服务器可以提供商品的购买网页。用户可以在手机上的浏览器中查看该购买网页,并在确定购买该商品时,点击该购买网页中的购买按钮来触发购买信号。第三方网页服务器在接收到该购买信号后,可以生成具有双重签名的订单信息,该订单信息具有位于内围的第一签名和位于外围的第二签名。其中,位于内围的第一签名是根据财付通提供的第一密钥进行加密得到的,位于外围的第二签名是根据微信提供的第二密钥进行加密得到的。
[0242]然后,第三方网页服务器可以通过预定函数接口在用户的手机上调用微信客户端来发起支付过程,并在调用过程提供具有双重签名的订单信息以及第三方商家在微信中的公众号给微信客户端。
[0243]步骤1102,微信客户端向微信后台服务器提交具有双重签名的订单信息及公众号;
[0244]步骤1103,微信后台服务器利用开放平台验证位于外围的第二签名;
[0245]开放平台是微信后台服务器向第三方商家提供开放服务的一个平台,该开放服务包括微信支付功能。开放平台可以视为微信后台服务器的一部分。
[0246]微信后台服务器在接收到具有双重签名的订单信息后,将订单信息、第三方商家在微信中的公众号以及位于外围的第二签名发送给开放平台,由开放平台来验证位于外围的第二签名。开放平台可以根据第三方商家在微信中的公众号来查询相应的密钥。
[0247]步骤1104,微信后台服务器接收开放平台的验证结果;
[0248]在验证结果为成功时,进入步骤1105,;在验证结果为失败时,向微信客户端反馈第二签名验证失败的响应。
[0249]步骤1105,微信后台服务器在位于外围的第二签名验证成功时,向财付通后台服务器发送订单信息、第三方支付账号以及内围签名等信息;
[0250]第三方支付账号(partnerID)是第三方商家在财付通的账号。
[0251]步骤1106,财付通后台服务器在成功接收订单信息等信息后,向微信后台服务器返回支付ID ;
[0252]步骤1107,微信后台服务器向微信客户端返回支付ID ;
[0253]微信客户端接收到支付ID后,可以显示一个关于该支付ID的支付页面给用户。
[0254]步骤1108,微信客户端根据用户的确认信号发起真正支付;
[0255]微信客户端在支付页面中接收用户的确认信号,此过程可能还需要用户输入微信支付密码等操作。在接收到用户的确认信号后,微信客户端向微信后台服务器发起真正支付。
[0256]步骤1109,微信后台服务器向财付通后台服务器请求真正支付该订单;
[0257]步骤1110,财付通后台服务器验证该订单信息中位于内围的第一签名;
[0258]财付通后台服务器可以根据第三方支付账号来查询相应的密钥,然后验证第一签名。
[0259]步骤1111,财付通后台服务器返回验证位于内围的第一签名是否成功的响应。
[0260]在验证成功时,财付通后台服务器向微信后台服务器返回验证位于内围的第一签名成功的响应,并进入步骤1112 ;
[0261]在验证不成功时,财付通后台服务器向微信后台服务器返回验证位于内围的第一签名不成功的响应。
[0262]步骤1112,财付通后台服务器在验证第一签名成功时,处理该订单信息。
[0263]步骤1113,财付通后台服务器返回支付过程是否成功的响应。
[0264]在支付成功时,财付通后台服务器向微信后台服务器返回支付过程成功的响应;
[0265]在支付不成功时,财付通后台服务器向微信后台服务器返回支付过程不成功的响应。
[0266]步骤1114,微信后台服务器向开放平台返回支付过程是否成功的响应;
[0267]在支付成功时,微信后台服务器向开放平台返回支付过程成功的响应;
[0268]在支付不成功时,微信后台服务器向开放平台返回支付过程不成功的响应。
[0269]步骤1115,开放平台向第三方网页服务器返回支付过程是否成功的响应。
[0270]在支付成功时,开放平台向第三方网页服务器返回支付过程成功的响应;
[0271]在支付不成功时,开放平台向第三方网页服务器返回支付过程不成功的响应。
[0272]综上所述,本实施例提供的签名生成装置,通过由微信后台服务器来验证订单信息中位于外围的第二签名,由财付通后台服务器来验证订单信息中位于内围的第一签名;解决了由于在订单信息的传输过程中所使用的第三方商家的密钥不仅被第三方商家所持有,又被支付服务方所持有,一旦发生泄露,就可能被他人利用该密钥篡改或伪造订单信息,容易对用户或者第三方商家造成财产损失,安全性较低的问题;达到了能够通过两次签名进行验证,只有第三方商家保存所有的两个密钥,微信后台服务器和财付通后台服务器各自保存一个密钥,从而提高验证准确性和提高支付信息安全性的效果。
[0273]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0274]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0275]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种签名验证方法,其特征在于,用于第三方服务器中,所述方法包括: 根据第一密钥对第三方支付标识和支付信息进行加密得到第一签名,所述第一密钥是在支付服务器中与所述第三方支付标识对应的密钥,所述第三方支付标识是第三方在所述支付服务器中的唯一标识; 根据第二密钥对第三方客户端标识和第一签名信息进行加密得到第二签名,所述第一签名信息包括所述第三方支付标识、所述支付信息和所述第一签名,所述第二密钥是在客户端服务器中与所述第三方客户端标识对应的密钥,所述第三方客户端标识是所述第三方在所述客户端服务器中的唯一标识; 将所述第三方客户端标识、所述第一签名信息和所述第二签名提供给所述客户端服务器进行验证,以便所述客户端服务器根据所述第二密钥、所述第三方客户端标识和所述第一签名信息对所述第二签名验证成功时,将所述第一签名信息发送给所述支付服务器进行验证。
2.根据权利要求1所述的方法,其特征在于,所述根据第一密钥对第三方支付标识和支付信息进行加密得到第一签名,包括: 按照第一排列规则对所述第三方支付标识、所述支付信息和所述第一密钥进行排列后,生成第一字符串; 按照第一不可逆加密方式对所述第一字符串进行加密得到第一签名。
3.根据权利要求1所述的方法,其特征在于,所述根据第二密钥对第三方客户端标识和第一签名信息进行加密得到第二签名,包括: 按照第二排列规则对所述第三方客户端标识、所述第一签名信息和所述第二密钥进行排列后,生成第二字符串; 按照第二不可逆加密方式对所述第二字符串进行加密得到第二签名。
4.根据权利要求2所述的方法,其特征在于,所述按照第一排列规则对所述第三方支付标识、所述支付信息和所述第一密钥进行排列后,生成第一字符串之前,还包括: 获取第一时间戳和第一随机字符串中的至少一种; 所述按照第一排列规则对所述第三方支付标识、所述支付信息和所述第一密钥进行排列后,生成第一字符串,包括: 按照所述第一排列规则对获取到的所述第一时间戳和/或所述第一随机字符串、所述第三方支付标识、所述支付信息和所述第一密钥进行排列后,生成所述第一字符串。
5.根据权利要求4所述的方法,其特征在于,所述获取第一时间戳和第一随机字符串中的至少一种之后,还包括: 将获取到的所述第一时间戳和/或所述第一随机字符串添加入所述第一签名信息。
6.根据权利要求3所述的方法,其特征在于,所述按照第二排列规则对所述第三方客户端标识、所述第一签名信息和所述第二密钥进行排列后,生成第二字符串之前,还包括: 获取第二时间戳和第二随机字符串中的至少一种; 所述按照第二排列规则对所述第三方客户端标识、所述第一签名信息和所述第二密钥进行排列后,生成第二字符串,包括: 按照所述第二排列规则对获取到的所述第二时间戳和/或所述第二随机字符串、所述第三方客户端标识、所述第一签名信息和所述第二密钥进行排列后,生成所述第二字符串。
7.根据权利要求6所述的方法,其特征在于,所述将所述第三方客户端标识、所述第一签名信息和所述第二签名发送给所述客户端服务器进行验证,包括: 将所述第二时间戳和/或所述第二随机字
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1