CN104767613B - 签名验证方法、装置及系统 - Google Patents
签名验证方法、装置及系统 Download PDFInfo
- Publication number
- CN104767613B CN104767613B CN201410003628.7A CN201410003628A CN104767613B CN 104767613 B CN104767613 B CN 104767613B CN 201410003628 A CN201410003628 A CN 201410003628A CN 104767613 B CN104767613 B CN 104767613B
- Authority
- CN
- China
- Prior art keywords
- party
- signature
- key
- server
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/085—Payment architectures involving remote charge determination or related payment systems
- G06Q20/0855—Payment architectures involving remote charge determination or related payment systems involving a third party
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/405—Establishing or using transaction specific rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
- G06Q2220/10—Usage protection of distributed data files
- G06Q2220/12—Usage or charge determination
- G06Q2220/123—Usage or charge determination involving third party for collecting or distributing payments, e.g. clearinghouse
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Abstract
本发明公开了一种签名验证方法、装置及系统,属于互联网技术领域。所述方法包括:通过根据第一密钥对第三方支付标识和支付信息进行加密得到第一签名;根据第二密钥对第三方客户端标识和第一签名信息进行加密得到第二签名;将第三方客户端标识、第一签名信息和第二签名提供给客户端服务器进行验证;解决了背景技术中支付信息传输过程中所使用的第三方商家的密钥不仅被第三方商家所持有,又被支付服务方所持有,一旦发生泄露,就可能被他人利用该密钥篡改或伪造订单信息,容易对用户或者第三方商家造成财产损失,安全性较低的问题;达到了能够通过两次签名进行验证,提高验证准确性和提高支付信息安全性的效果。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种签名验证方法、装置及系统。
背景技术
随着互联网技术的迅速发展,在线支付已经成为一大趋势,在线支付涉及到支付信息的传输,如何确保支付信息传输的安全成为一项重要课题,对支付信息进行签名验证的方式是一种确保支付信息传输安全的有效手段。
为了防止支付信息在传输过程中被篡改造成用户或者第三方商家损失,通常对支付信息和商户账号进行签名,签名是针对传输的支付信息和商户账号进行加密的一种方式。以支付信息为订单信息为例,在现有的订单信息传输过程中,诸如银行和支付平台之类的支付服务方会预先给第三方商家提供一个与该第三方商家对应的密钥,第三方商家在生成订单信息后,根据自身对应的密钥生成订单信息和商户账号的签名;然后第三方商家将订单信息、商户账号和该订单信息的签名传输给支付服务方的服务器,服务器根据商户账号查询与该第三方商家对应的密钥,然后用查询到的密钥对该订单信息的签名进行验证,并在验证成功时才响应该订单信息。也即,服务器通过签名验证到订单信息以及商户账号未被篡改时才响应该订单信息。
在实现本发明的过程中,发明人发现上述技术至少存在以下问题:由于在上述传输过程中所使用的第三方商家的密钥不仅被第三方商家所持有,又被支付服务方所持有,一旦发生泄露,就可能被他人利用该密钥篡改或伪造订单信息以及商户账号,容易对用户或者第三方商家造成财产损失,安全性较低。
发明内容
为了解决背景技术中支付信息传输过程中所使用的第三方商家的密钥不仅被第三方商家所持有,又被支付服务方所持有,一旦发生泄露,就可能被他人利用该密钥篡改或伪造订单信息,容易对用户或者第三方商家造成财产损失,安全性较低的问题,本发明实施例提供了一种签名验证方法、装置及系统。所述技术方案如下:
第一方面,提供了一种签名验证方法,用于第三方服务器中,所述方法包括:
根据第一密钥对第三方支付标识和支付信息进行加密得到第一签名,所述第一密钥是在支付服务器中与所述第三方支付标识对应的密钥,所述第三方支付标识是第三方在所述支付服务器中的唯一标识;
根据第二密钥对第三方客户端标识和第一签名信息进行加密得到第二签名,所述第一签名信息包括所述第三方支付标识、所述支付信息和所述第一签名,所述第二密钥是在客户端服务器中与所述第三方客户端标识对应的密钥,所述第三方客户端标识是所述第三方在所述客户端服务器中的唯一标识;
将所述第三方客户端标识、所述第一签名信息和所述第二签名提供给所述客户端服务器进行验证,以便所述客户端服务器根据所述第二密钥、所述第三方客户端标识和所述第一签名信息对所述第二签名验证成功时,将所述第一签名信息发送给所述支付服务器进行验证。
第二方面,提供了一种签名验证方法,用于客户端服务器中,所述方法包括:
获取第三方服务器提供的第三方客户端标识、第一签名信息和第二签名,所述第三方客户端标识是第三方在所述客户端服务器中的唯一标识,所述第一签名信息包括第三方支付标识、支付信息和第一签名,所述第二签名是所述第三方服务器根据第二密钥对所述第三方客户端标识和所述第一签名信息进行加密得到的;
查询与所述第三方客户端标识对应的所述第二密钥;
根据所述第二密钥、所述第三方客户端标识和所述第一签名信息对所述第二签名进行验证;
在验证成功时,将所述第一签名信息发送给支付服务器进行验证;
其中,所述第三方支付标识是第三方在所述支付服务器中的唯一标识,所述第一签名是所述第三方服务器根据第一密钥对所述第三方支付标识和所述支付信息进行加密得到的,所述第一密钥是在所述支付服务器中与所述第三方支付标识对应的密钥。
第三方面,提供了一种签名验证方法,用于支付服务器中,所述方法包括:
接收客户端服务器发送的第一签名信息,所述第一签名信息包括所述第三方支付标识、所述支付信息和所述第一签名,所述第三方支付标识是第三方在所述支付服务器中的唯一标识,所述第一签名是所述第三方服务器根据第一密钥对所述第三方支付标识和所述支付信息进行加密得到的;
查询与所述第三方支付标识对应的所述第一密钥;
根据所述第一密钥、所述第三方支付标识和所述支付信息对所述第一签名进行验证;
在验证成功时,对所述支付信息进行响应;
其中,所述第一签名信息是所述客户端服务器根据第二密钥、第三方客户端标识和所述第一签名信息对第二签名进行验证成功后发送的,所述第二签名是所述第三方服务器根据第二密钥对所述第三方客户端标识和所述第一签名信息进行加密得到的,所述第二密钥是在所述客户端服务器中与所述第三方客户端标识对应的密钥,所述第三方客户端标识是第三方在所述客户端服务器中的唯一标识。
第四方面,提供了一种签名验证装置,用于第三方服务器中,所述装置包括:
第一签名模块,用于根据第一密钥对第三方支付标识和支付信息进行加密得到第一签名,所述第一密钥是在支付服务器中与所述第三方支付标识对应的密钥,所述第三方支付标识是第三方在所述支付服务器中的唯一标识;
第二签名模块,用于根据第二密钥对第三方客户端标识和第一签名信息进行加密得到第二签名,所述第一签名信息包括所述第三方支付标识、所述支付信息和所述第一签名,所述第二密钥是在客户端服务器中与所述第三方客户端标识对应的密钥,所述第三方客户端标识是所述第三方在所述客户端服务器中的唯一标识;
第一提供模块,用于将所述第三方客户端标识、所述第一签名信息和所述第二签名提供给所述客户端服务器进行验证,以便所述客户端服务器根据所述第二密钥、所述第三方客户端标识和所述第一签名信息对所述第二签名验证成功时,将所述第一签名信息发送给所述支付服务器进行验证。
第五方面,提供了一种签名验证装置,用于客户端服务器中,所述装置包括:
第一接收模块,用于获取第三方服务器提供的第三方客户端标识、第一签名信息和第二签名,所述第三方客户端标识是第三方在所述客户端服务器中的唯一标识,所述第一签名信息包括第三方支付标识、支付信息和第一签名,所述第二签名是所述第三方服务器根据第二密钥对所述第三方客户端标识和所述第一签名信息进行加密得到的;
第一查询模块,用于查询与所述第三方客户端标识对应的所述第二密钥;
第一验证模块,用于根据所述第二密钥、所述第三方客户端标识和所述第一签名信息对所述第二签名进行验证;
第二发送模块,用于在验证成功时,将所述第一签名信息发送给支付服务器进行验证;
其中,所述第三方支付标识是第三方在所述支付服务器中的唯一标识,所述第一签名是所述第三方服务器根据第一密钥对所述第三方支付标识和所述支付信息进行加密得到的,所述第一密钥是在所述支付服务器中与所述第三方支付标识对应的密钥。
第六方面,提供了一种签名验证装置,用于支付服务器中,所述装置包括:
第二接收模块,用于接收客户端服务器发送的第一签名信息,所述第一签名信息包括所述第三方支付标识、所述支付信息和所述第一签名,所述第三方支付标识是第三方在所述支付服务器中的唯一标识,所述第一签名是所述第三方服务器根据第一密钥对所述第三方支付标识和所述支付信息进行加密得到的;
第二查询模块,用于查询与所述第三方支付标识对应的所述第一密钥;
第二验证模块,用于根据所述第一密钥、所述第三方支付标识和所述支付信息对所述第一签名进行验证;
信息响应模块,用于在验证成功时,对所述支付信息进行响应;
其中,所述第一签名信息是所述客户端服务器根据第二密钥、第三方客户端标识和所述第一签名信息对第二签名进行验证成功后发送的,所述第二签名是所述第三方服务器根据第二密钥对所述第三方客户端标识和所述第一签名信息进行加密得到的,所述第二密钥是在所述客户端服务器中与所述第三方客户端标识对应的密钥,所述第三方客户端标识是第三方在所述客户端服务器中的唯一标识。
第七方面,提供了一种签名验证系统,所述系统包括第三方服务器、客户端服务器和支付服务器;
所述第三方服务器包括上述第四方面所述的签名验证装置;
所述客户端服务器包括上述第五方面所述的签名验证装置;
所述支付服务器包括上述第六方面所述的签名验证装置。
本发明实施例提供的技术方案带来的有益效果是:
通过根据第一密钥对第三方支付标识和支付信息进行加密得到第一签名;根据第二密钥对第三方客户端标识和第一签名信息进行加密得到第二签名;将第三方客户端标识、第一签名信息和第二签名提供给客户端服务器进行验证;解决了由于在上述传输过程中所使用的第三方商家的密钥不仅被第三方商家所持有,又被支付服务方所持有,一旦发生泄露,就可能被他人利用该密钥篡改或伪造订单信息,容易对用户或者第三方商家造成财产损失,安全性较低的问题;达到了能够通过两次签名进行验证,第三方商家保存两个密钥,客户端服务器和支付服务器各自保存一个密钥,从而提高验证准确性和提高支付信息安全性的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明各个实施例提供的签名验证方法所涉及的一种实施环境的示例性结构示意图;
图2是本发明一个实施例提供的签名验证方法的方法流程图;
图3是本发明一个实施例提供的签名验证方法的方法流程图;
图4是本发明另一个实施例提供的签名验证方法的方法流程图;
图5A是本发明另一个实施例提供的签名验证方法的方法流程图;
图5B是本发明另一个实施例提供的签名验证方法的方法流程图;
图6是本发明一个实施例提供的签名验证装置的结构示意图;
图7是本发明一个实施例提供的签名验证装置的结构示意图;
图8是本发明另一个实施例提供的签名验证装置的结构示意图;
图9是本发明另一个实施例提供的签名验证系统的结构示意图;
图10是本发明一个实施例提供的服务器的结构示意图。
图11是本发明一个实施例提供的签名验证方法的具体实施示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
区别于背景技术中第三方服务器只拥有一个密钥,对支付信息仅进行一次签名的机制。发明人在实现本发明实施例的过程中,提供了第三方服务器拥有两个密钥,一个密钥由客户端服务器提供,一个密钥由支付服务器提供,从而对支付信息进行内外双重签名的机制。
请参考图1,其示出了本发明各个实施例提供的签名验证方法所涉及的一种实施环境的结构示意图。该实施环境包括第三方服务器120、客户端服务器120和支付服务器160;
第三方服务器120用于构造以及提供支付信息,并形成内外双重签名,它可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。第三方服务器120与客户端服务器140通过无线网络或有线网络相连。第三方服务器120本身并没有支付能力,第三方服务器120需要调用客户端服务器140进行支付。第三方是指提供物品的商家,该物品可以是表情、游戏装备、会员服务、玩具和衣物等。
客户端服务器140可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。客户端服务器140用于接收第三方服务器的调用来为第三方完成支付,并在支付过程中验证第三方服务器提供的支付信息中位于外围的一层签名。客户端服务器140和支付服务器160通过无线网络相连,并且二者可以传输数据。客户端服务器140可以是为社交类应用客户端提供后台服务的服务器,也可以是为即时通讯客户端提供后台服务的服务器,不做限定。
支付服务器160可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。支付服务器160用于在客户端服务器140验证支付信息中位于外围的签名成功后,继续验证支付信息中位于内围的签名。在签名验证成功后,支付服务器160可以根据支付信息进行进一步响应,比如下单和转账等。
本发明实施例主要涉及三个部分,第一部分:第三方服务器为支付信息生成位于内围的第一签名和位于外围的第二签名;第二部分:客户端服务器验证位于外围的第二签名;第三部分:在客户端服务器验证位于外围的第二签名通过后,支付服务器验证位于内围的第一签名。下面首先通过第三方服务器侧签名验证方法、客户端服务器侧外围签名验证方法和支付服务器侧内围签名验证方法等三个实施例来分别阐述该双重签名机制,然后再提供一个将第三方服务器、客户端服务器和支付服务器三侧结合起来的实施例进行详细说明,具体如下:
请参考图2,其示出了本发明一个实施例提供的签名验证方法的方法流程图。本实施例以该签名验证方法应用于如图1所示的第三方服务器中来举例说明。该签名验证方法,包括:
步骤202,根据第一密钥对第三方支付标识和支付信息进行加密得到第一签名;
第一密钥是在支付服务器中与第三方支付标识对应的密钥,第三方支付标识是第三方在支付服务器中的唯一标识。
步骤204,根据第二密钥对第三方客户端标识和第一签名信息进行加密得到第二签名;
第一签名信息包括第三方支付标识、支付信息和第一签名,第二密钥是在客户端服务器中与第三方客户端标识对应的密钥,第三方客户端标识是第三方在客户端服务器中的唯一标识。
步骤206,将第三方客户端标识、第一签名信息和第二签名提供给客户端服务器进行验证。
客户端服务器用于根据第二密钥、第三方客户端标识和第一签名信息对第二签名验证成功时,将第一签名信息发送给支付服务器进行验证。
综上所述,本实施例提供的签名验证方法,通过根据第一密钥对第三方支付标识和支付信息进行加密得到第一签名;根据第二密钥对第三方客户端标识和第一签名信息进行加密得到第二签名;将第三方客户端标识、第一签名信息和第二签名发送给客户端服务器进行验证;解决了由于在上述传输过程中所使用的第三方商家的密钥不仅被第三方商家所持有,又被支付服务方所持有,一旦发生泄露,就可能被他人利用该密钥篡改或伪造订单信息,容易对用户或者第三方商家造成财产损失,安全性较低的问题;达到了能够通过两次签名进行验证,第三方商家保存两个密钥,客户端服务器和支付服务器各自保存一个密钥,从而提高验证准确性和提高支付信息安全性的效果。
请参考图3,其示出了本发明一个实施例提供的签名验证方法的方法流程图。本实施例以该签名验证方法应用于如图1所示的客户端服务器中来举例说明。该签名验证方法,包括:
步骤302,获取第三方服务器提供的第三方客户端标识、第一签名信息和第二签名;
第三方客户端标识是第三方在客户端服务器中的唯一标识,第一签名信息包括第三方支付标识、支付信息和第一签名,第二签名是第三方服务器根据第二密钥对第三方客户端标识和第一签名信息进行加密得到的。
步骤304,查询与第三方客户端标识对应的第二密钥;
步骤306,根据第二密钥、第三方客户端标识和第一签名信息对第二签名进行验证;
步骤308,在验证成功时,将第一签名信息发送给支付服务器进行验证;
其中,第三方支付标识是第三方在支付服务器中的唯一标识,第一签名是第三方服务器根据第一密钥对第三方支付标识和支付信息进行加密得到的,第一密钥是在支付服务器中与第三方支付标识对应的密钥。
综上所述,本实施例提供的签名验证方法,通过获取第三方服务器提供的第三方客户端标识、第一签名信息和第二签名;查询与第三方客户端标识对应的第二密钥;根据第二密钥、第三方客户端标识和第一签名信息对第二签名进行验证;在验证成功时,将第一签名信息发送给支付服务器进行验证;解决了由于在上述传输过程中所使用的第三方商家的密钥不仅被第三方商家所持有,又被支付服务方所持有,一旦发生泄露,就可能被他人利用该密钥篡改或伪造订单信息,容易对用户或者第三方商家造成财产损失,安全性较低的问题;达到了能够通过两次签名进行验证,第三方商家保存两个密钥,客户端服务器和支付服务器各自保存一个密钥,从而提高验证准确性和提高支付信息安全性的效果。
请参考图4,其示出了本发明一个实施例提供的签名验证方法的方法流程图。本实施例以该签名验证方法应用于如图1所示的支付服务器中来举例说明。该签名验证方法,包括:
步骤402,接收客户端服务器发送的第一签名信息;
第一签名信息包括第三方支付标识、支付信息和第一签名,第三方支付标识是第三方在支付服务器中的唯一标识,第一签名是第三方服务器根据第一密钥对第三方支付标识和支付信息进行加密得到的。
步骤404,查询与第三方支付标识对应的第一密钥;
步骤406,根据第一密钥、第三方支付标识和支付信息对第一签名进行验证;
步骤408,在验证成功时,对支付信息进行响应;
其中,第一签名信息是客户端服务器根据第二密钥、第三方客户端标识和第一签名信息对第二签名进行验证成功后发送的,第二签名是第三方服务器根据第二密钥对第三方客户端标识和第一签名信息进行加密得到的,第二密钥是在客户端服务器中与第三方客户端标识对应的密钥,第三方客户端标识是第三方在客户端服务器中的唯一标识。
综上所述,本实施例提供的签名验证方法,通过接收客户端服务器发送的第一签名信息;查询与第三方支付标识对应的第一密钥;根据第一密钥、第三方支付标识和支付信息对第一签名进行验证;在验证成功时,对支付信息进行响应;解决了由于在上述传输过程中所使用的第三方商家的密钥不仅被第三方商家所持有,又被支付服务方所持有,一旦发生泄露,就可能被他人利用该密钥篡改或伪造订单信息,容易对用户或者第三方商家造成财产损失,安全性较低的问题;达到了能够通过两次签名进行验证,第三方商家保存两个密钥,客户端服务器和支付服务器各自保存一个密钥,从而提高验证准确性和提高支付信息安全性的效果。
请参考图5A,其示出了本发明一个实施例提供的签名验证方法的方法流程图。本实施例以该签名验证方法应用于如图1所示的实施环境中来举例说明。该签名验证方法,包括:
步骤501,第三方服务器根据第一密钥对第三方支付标识和支付信息进行加密得到第一签名;
第一密钥是在支付服务器中与第三方支付标识对应的密钥,第三方支付标识是第三方在支付服务器中的唯一标识。第三方支付标识是第三方商家在支付服务器上注册的。
第一密钥可以由支付服务器自动生成并向第三方服务器提供,第一密钥与第三方支付标识对应。每个第三方支付标识分别对应不同的第一密钥。比如,若第三方支付标识为A,则有第一密钥A1与之对应。签名是针对传输的支付信息进行加密的一种方式,用来确保传输的支付信息及其它信息不被篡改。
本步骤具体包括如下子步骤:
1、第三方服务器按照第一排列规则对第三方支付标识、支付信息和第一密钥进行排列后,生成第一字符串;
第一排列规则可以是根据按照字段名的ASCII码从小到大的规则将上述第三方支付标识、支付信息和第一密钥三个字段进行排列,也可以根据按照字段名的ASCII码从大到小的规则进行排列,还可以是其它方式,在此不作限定。将上述第三方支付标识、支付信息和第一密钥进行排列后按照预定规则生成第一字符串,预定规则可以是URL键值对的格式规则。
比如,假设第三方支付标识为a=1、支付信息为b=2和第一密钥为c=3,若按照ASCII码从小到大的规则将上述第三方支付标识、支付信息和第一密钥进行排列,得到一个数据串a=1b=2c=3;然后将该数据串按照URL键值对的格式生成字符串,将上述数据串a=1b=2c=3按照URL键值对的格式生成第一字符串a=1&b=2&c=3。
2、第三方服务器按照第一不可逆加密方式对第一字符串进行加密得到第一签名。
第一不可逆加密方式可以是MD5和Sha1等加密方法。比如,第三方服务器按照第一不可逆加密方式对第一字符串a=1&b=2&c=3进行加密得到第一签名。
需要补充说明的是,上述字段可以不限于第三方支付标识、支付信息和第一密钥三个字段,第三方服务器通常还获取第一时间戳和第一随机字符串两个字段中的至少一种,其中,第一时间戳可以对应生成第一签名时的当前时刻,第一随机字符串用于保证第一字符串的唯一性。此时,第三方服务器还可以按照第一排列规则对获取到的第一时间戳和/或第一随机字符串、第三方支付标识、支付信息和第一密钥进行排列后,生成第一字符串;并且第三方服务器将获取到的第一时间戳和/或第一随机字符串添加入第一签名信息。
步骤502,第三方服务器根据第二密钥对第三方客户端标识和第一签名信息进行加密得到第二签名;
第一签名信息包括第三方支付标识、支付信息和第一签名。第一签名信息还可能包括第一时间戳和/或第一随机串。第二密钥是在客户端服务器中与第三方客户端标识对应的密钥,第三方客户端标识是第三方商家在客户端服务器中的唯一标识。第二密钥与第三方客户端标识对应,不同的第三方客户端标识对应不同的第二密钥。
本步骤具体包括如下子步骤:
1、第三方服务器按照第二排列规则对第三方客户端标识、第一签名信息和第二密钥进行排列后,生成第二字符串;
在本步骤中,第三方服务器生成第二字符串的方式与步骤501中第三方服务器生成第一字符串的方式类似,在此就不再赘述。
2、第三方服务器按照第二不可逆加密方式对第二字符串进行加密得到第二签名。第二不可逆加密方式可以是MD5和Sha1等加密方法。
需要补充说明的是,上述字段可以不限于第三方客户端标识、第一签名信息和第二密钥三个字段,第三方服务器通常还获取第二时间戳和第二随机字符串两个字段中的至少一种。其中,第二时间戳可以对应生成第二签名时的当前时刻,第二随机字符串用于保证第二字符串的唯一性。此时,第三方服务器还可以按照第二排列规则对获取到的第二时间戳和/或第二随机字符串、第三方客户端标识、第一签名信息和第二密钥进行排列后,生成第二字符串。
步骤503,第三方服务器将第三方客户端标识、第一签名信息和第二签名提供给客户端服务器进行验证。
另外,若第三方服务器获取了第二时间戳和第二随机字符串中的至少一种,则第三方服务器将第二时间戳和/或第二随机字符串、第三方客户端标识、第一签名信息和第二签名提供给客户端服务器进行验证。
其中,上述的第一时间戳和第二时间戳用于确认支付信息是否在有效期内。
需要说明的是,根据支付方式的不同,第三方服务器将第三方客户端标识、第一签名信息和第二签名提供给客户端服务器的方式也不同。在一种实现方式中,第三方服务器可以在用户触发支付时,将第三方客户端标识、第一签名信息和第二签名发送给客户端服务器;在另一种实现方式中,第三方服务器可以在预先将第三方客户端标识、第一签名信息和第二签名生成二维码,将该二维码嵌入在商品网页中,当用户使用客户端扫描该二维码进行支付时,由客户端将从二维码中扫描出的第三方客户端标识、第一签名信息和第二签名发送给客户端服务器;在再一种实现方式中,第三方服务器可以在预先将第三方客户端标识、第一签名信息和第二签名生成一个支付链接,将该支付链接嵌入在商品网页中,当用户使用点击该支付链接调用客户端进行支付时,由客户端将根据支付链接中提取出的第三方客户端标识、第一签名信息和第二签名发送给客户端服务器。本文对第三方服务器将第三方客户端标识、第一签名信息和第二签名提供给客户端服务器的方式不做具体限定。
步骤504,客户端服务器获取第三方服务器提供的第三方客户端标识、第一签名信息和第二签名;
第三方客户端标识是第三方在客户端服务器中的唯一标识,第一签名信息包括第三方支付标识、支付信息和第一签名,第二签名是第三方服务器根据第二密钥对第三方客户端标识和第一签名信息进行签名得到的。
其中,第三方支付标识是第三方在支付服务器中的唯一标识,第一签名是第三方服务器根据第一密钥对第三方支付标识和支付信息进行签名得到的,第一密钥是在支付服务器中与第三方支付标识对应的密钥。
需要补充说明的是,客户端服务器获取第三方服务器提供的第三方客户端标识、第一签名信息和第二签名的方式可以是:第一,客户端服务器直接接收第三方服务器发送的第三方客户端标识、第一签名信息和第二签名;第二,客户端服务器接收客户端从扫描到的二维码中扫描出的第三方客户端标识、第一签名信息和第二签名,该二维码是第三方服务器预先将第三方客户端标识、第一签名信息和第二签名生成二维码后嵌入在商品网页中的;第三,客户端服务器接收客户端从被触发到的支付链接中提取出的第三方客户端标识、第一签名信息和第二签名,该支付链接是第三方服务器预先将第三方客户端标识、第一签名信息和第二签名生成支付链接后嵌入在商品网页中的。本文对提供给客户端服务器获取第三方服务器提供第三方客户端标识、第一签名信息和第二签名的方式不做具体限定。
比如,客户端服务器获知客户端扫描到的是一个用二维码所表示的商品购买信息,则可以直接从第三方服务器上调取相应信息,提高了信息处理速度。
步骤505,客户端服务器查询与第三方客户端标识对应的第二密钥;
客户端服务器获取到第三方客户端标识、第一签名信息和第二签名之后,客户端服务器查询与第三方客户端标识对应的第二密钥。客户端服务器上事先存储有与第三方客户端标识对应的第二密钥。比如,若第三方客户端标识为B,在客户端服务器上则有个第二密钥B1与之对应。
步骤506,客户端服务器根据第二密钥、第三方客户端标识和第一签名信息对第二签名进行验证;
如图5B,本步骤包括但不限于如下子步骤:
步骤506a,客户端服务器按照第二排列规则对第三方客户端标识、第一签名信息和第二密钥进行排列后,生成第三字符串;
本步骤中客户端服务器生成第三字符串方式与步骤502中第三方服务器生成第二字符串的方式类似,在此就不再赘述。本步骤中的排列规则与步骤502中的排列规则一样,也即若步骤502中是按照字段名的ASCII码从小到大的规则将第三方客户端标识、第一签名信息和第二密钥进行排列,那么本步骤中也采用同样的方式。
步骤506b,客户端服务器按照第二不可逆加密方式对第三字符串进行加密得到第三签名;
第二不可逆加密方式可以是MD5和Sha1等加密方法。需要补充说明的是,本步骤中的加密方式与步骤502中的加密方式一样,也即,若步骤502中采用Sha1加密方法,本步骤中也采用Sha1加密方法。
步骤506c,客户端服务器判断第三签名与第二签名是否一致;
步骤506d,若判断结果为第三签名与第二签名一致,则客户端服务器确定验证成功;
比如,假设在步骤502中第三方服务器用第二密钥B1签名得到的第二签名为yyyy,本步骤中客户端服务器用第二密钥B1签名得到的第三签名为yyyy,则第三签名与第二签名一致,也说明信息没有被篡改,客户端服务器确定验证成功。
步骤506e,若判断结果为第三签名与第二签名不一致,则客户端服务器确定验证不成功。
比如,假设在步骤502中第三方服务器用第二密钥B1签名得到的第二签名为yyyy,本步骤中客户端服务器用第二密钥B1签名得到的第三签名为ffff,则第三签名与第二签名不一致,也说明信息被篡改了,客户端服务器确定验证不成功。
步骤507,在验证成功时,客户端服务器将第一签名信息发送给支付服务器进行验证。
需要补充说明的是,若客户端服务器接收到第三方服务器同时发送的第二时间戳,则在步骤505之前,还包括如下步骤:
1、客户端服务器接收第三方服务器发送的与第三方客户端标识、第一签名信息和第二签名对应的第二时间戳;
2、客户端服务器检测第二时间戳是否在预定时间范围内;
时间戳用于确认支付信息是否在有效期内,比如,如果第二时间戳在预定时间范围内,该客户端服务器可以对第二签名继续进行验证,也即客户端服务器执行查询与第三方客户端标识对应的第二密钥这一步骤;若第二时间戳超过预定时间范围,则该客户端服务器不对该第二签名继续进行验证,也即客户端服务器不执行查询与第三方客户端标识对应的第二密钥这一步骤。
3、若检测结果为第二时间戳在预定时间范围内,则客户端服务器执行查询与第三方客户端标识对应的第二密钥这一步骤;
4、若检测结果为第二时间戳不在预定时间范围内,则客户端服务器不执行查询与第三方客户端标识对应的第二密钥这一步骤。
比如,假设预定时间范围为60秒,若第二时间戳在该60秒内,则客户端服务器执行查询与第三方客户端标识对应的第二密钥这一步骤;若第二时间戳不在该60秒内,则客户端服务器不执行查询与第三方客户端标识对应的第二密钥这一步骤。
步骤508,支付服务器接收客户端服务器发送的第一签名信息;
第一签名信息包括第三方支付标识、支付信息和第一签名,第三方支付标识是第三方在支付服务器中的唯一标识,第一签名是第三方服务器根据第一密钥对第三方支付标识和支付信息进行签名得到的。
其中,第一签名信息是客户端服务器根据第二密钥、第三方客户端标识和第一签名信息对第二签名进行验证成功后发送的,第二签名是第三方服务器根据第二密钥对第三方客户端标识和第一签名信息进行签名得到的,第二密钥是在客户端服务器中与第三方客户端标识对应的密钥,第三方客户端标识是第三方在客户端服务器中的唯一标识。
步骤509,支付服务器查询与第三方支付标识对应的第一密钥;
支付服务器上事先存储有与第三方支付标识对应的第一密钥。比如,若第三方支付标识为A,在支付服务器上则有个第一密钥A1与之对应。
步骤510,支付服务器根据第一密钥、第三方支付标识和支付信息对第一签名进行验证;
本步骤包括但不限于如下子步骤:
1、支付服务器按照第一排列规则对第三方支付标识、支付信息和第一密钥进行排列后,生成第四字符串;
本步骤中支付服务器生成第四字符串方式与步骤501中第三方服务器生成第一字符串的方式类似,在此就不再赘述。本步骤中的排列规则与步骤501中的排列规则一样,也即若步骤501中是按照字段的ASCII码从小到大的规则将第三方支付标识、支付信息和第一密钥进行排列,那么本步骤中也采用同样的方式。
2、支付服务器按照第一不可逆加密方式对第四字符串进行加密得到第四签名;
第一不可逆加密方式可以是MD5和Sha1等加密方法。需要补充说明的是,本步骤中的加密方式与步骤501中的加密方式一样,也即,若步骤501中采用MD5加密方法,本步骤中也采用MD5加密方法。
3、支付服务器判断第四签名与第一签名是否一致;
4、若判断结果为第四签名与第一签名一致,则支付服务器确定验证成功;
比如,假设在步骤501中第三方服务器用第一密钥A1签名得到的第一签名为aaaa,本步骤中支付服务器用第一密钥A1签名得到的第四签名为aaaa,则第四签名与第一签名一致,也说明支付信息没有被篡改,支付服务器确定验证成功。
5、若判断结果为第四签名与第一签名不一致,则支付服务器确定验证不成功。
比如,假设在步骤501中第三方服务器用第一密钥A1签名得到的第一签名为aaaa,本步骤中支付服务器用第一密钥A1签名得到的第四签名为bbbb,则第四签名与第一签名不一致,也说明支付信息被篡改了,支付服务器确定验证不成功。
步骤511,在验证成功时,支付服务器对支付信息进行响应。
也即支付信息没有被篡改,可以进行下一步操作,支付服务器可以对支付信息进行响应,比如下单,比如进行交易,比如支付金钱等等。
需要补充说明的是,若第一签名信息还包括第一时间戳,则在步骤509之前,还包括如下步骤:
1、支付服务器检测第一时间戳是否在预定时间范围内;
本步骤中支付服务器检测第一时间戳是否在预定时间范围内的方式与客户端服务器检测第二时间戳是否在预定时间范围内的方式类似,在此就不再赘述,下述两个步骤的原理也类似,就不再赘述。
2、若检测结果为第一时间戳在预定时间范围内,则支付服务器执行查询与第三方支付标识对应的第一密钥这一步骤;
3、若检测结果为第一时间戳不在预定时间范围内,则支付服务器不执行查询与第三方支付标识对应的第一密钥这一步骤。
综上所述,本实施例提供的签名验证方法,通过根据第一密钥对第三方支付标识和支付信息进行签名得到第一签名;根据第二密钥对第三方客户端标识和第一签名信息进行加密得到第二签名;将第三方客户端标识、第一签名信息和第二签名发送给客户端服务器进行验证,由客户端服务器根据第二密钥、第三方客户端标识和第一签名信息对第二签名验证成功时,将第一签名信息发送给支付服务器进行验证;解决了由于在上述传输过程中所使用的第三方商家的密钥不仅被第三方商家所持有,又被支付服务方所持有,一旦发生泄露,就可能被他人利用该密钥篡改或伪造订单信息,容易对用户或者第三方商家造成财产损失,安全性较低的问题;达到了能够通过两次签名进行验证,第三方商家保存两个密钥,客户端服务器和支付服务器各自保存一个密钥,从而提高验证准确性和提高支付信息安全性的效果。
以下为本发明的装置实施例,对于其中未详尽描述的细节,可以参考上述对应的方法实施例。
请参考图6,其示出了本发明一个实施例提供的签名验证装置的结构示意图。该签名验证装置可以通过软件、硬件或者两者的结合实现成为第三方服务器600的全部或者一部分,该签名验证装置包括:第一签名模块620、第二签名模块640和第一发送模块660;
第一签名模块620,用于根据第一密钥对第三方支付标识和支付信息进行加密得到第一签名,第一密钥是在支付服务器中与第三方支付标识对应的密钥,第三方支付标识是第三方在支付服务器中的唯一标识;
第二签名模块640,用于根据第二密钥对第三方客户端标识和第一签名信息进行加密得到第二签名,第一签名信息包括第三方支付标识、支付信息和第一签名模块620得到的第一签名,第二密钥是在客户端服务器中与第三方客户端标识对应的密钥,第三方客户端标识是第三方在客户端服务器中的唯一标识;
第一发送模块660,用于将第三方客户端标识、第一签名信息和第二签名模块640得到的第二签名发送给客户端服务器进行验证,以便所述客户端服务器根据所述第二密钥、所述第三方客户端标识和所述第一签名信息对所述第二签名验证成功时,将所述第一签名信息发送给所述支付服务器进行验证。
综上所述,本实施例提供的签名验证装置,通过根据第一密钥对第三方支付标识和支付信息进行加密得到第一签名;根据第二密钥对第三方客户端标识和第一签名信息进行加密得到第二签名;将第三方客户端标识、第一签名信息和第二签名发送给客户端服务器进行验证;解决了由于在上述传输过程中所使用的第三方商家的密钥不仅被第三方商家所持有,又被支付服务方所持有,一旦发生泄露,就可能被他人利用该密钥篡改或伪造订单信息,容易对用户或者第三方商家造成财产损失,安全性较低的问题;达到了能够通过两次签名进行验证,第三方商家保存两个密钥,客户端服务器和支付服务器各自保存一个密钥,从而提高验证准确性和提高支付信息安全性的效果。
请参考图7,其示出了本发明一个实施例提供的签名验证装置的结构示意图。该签名验证装置可以通过软件、硬件或者两者的结合实现成为客户端服务器700的全部或者一部分,该签名验证装置包括:第一接收模块720、第一查询模块740、第一验证模块760和第二发送模块780;
第一接收模块720,用于接收第三方服务器发送的第三方客户端标识、第一签名信息和第二签名,第三方客户端标识是第三方在客户端服务器中的唯一标识,第一签名信息包括第三方支付标识、支付信息和第一签名,第二签名是第三方服务器根据第二密钥对第三方客户端标识和第一签名信息进行加密得到的;
第一查询模块740,用于查询与第一接收模块720接收到的第三方客户端标识对应的第二密钥;
第一验证模块760,用于根据第一查询模块740查询到的第二密钥、第三方客户端标识和第一签名信息对第二签名进行验证;
第二发送模块780,用于在第一验证模块760对第二签名验证成功时,将第一签名信息发送给支付服务器进行验证;
其中,第三方支付标识是第三方在支付服务器中的唯一标识,第一签名是第三方服务器根据第一密钥对第三方支付标识和支付信息进行加密得到的,第一密钥是在支付服务器中与第三方支付标识对应的密钥。
综上所述,本实施例提供的签名验证装置,通过接收第三方服务器发送的第三方客户端标识、第一签名信息和第二签名;查询与第三方客户端标识对应的第二密钥;根据第二密钥、第三方客户端标识和第一签名信息对第二签名进行验证;在验证成功时,将第一签名信息发送给支付服务器进行验证;解决了由于在上述传输过程中所使用的第三方商家的密钥不仅被第三方商家所持有,又被支付服务方所持有,一旦发生泄露,就可能被他人利用该密钥篡改或伪造订单信息,容易对用户或者第三方商家造成财产损失,安全性较低的问题;达到了能够通过两次签名进行验证,第三方商家保存两个密钥,客户端服务器和支付服务器各自保存一个密钥,从而提高验证准确性和提高支付信息安全性的效果。
请参考图8,其示出了本发明一个实施例提供的签名验证装置的结构示意图。该签名验证装置可以通过软件、硬件或者两者的结合实现成为支付服务器800的全部或者一部分,该签名验证装置包括:第二接收模块820、第二查询模块840、第二验证模块860和信息响应模块880;
第二接收模块820,用于接收客户端服务器发送的第一签名信息,第一签名信息包括第三方支付标识、支付信息和第一签名,第三方支付标识是第三方在支付服务器中的唯一标识,第一签名是第三方服务器根据第一密钥对第三方支付标识和支付信息进行加密得到的;
第二查询模块840,用于查询与第二接收模块820接收到的第三方支付标识对应的第一密钥;
第二验证模块860,用于根据第二查询模块840查询到的第一密钥、第三方支付标识和支付信息对第一签名进行验证;
信息响应模块880,用于在第二验证模块860对第一签名验证成功时,对支付信息进行响应;
其中,第一签名信息是客户端服务器根据第二密钥、第三方客户端标识和第一签名信息对第二签名进行验证成功后发送的,第二签名是第三方服务器根据第二密钥对第三方客户端标识和第一签名信息进行加密得到的,第二密钥是在客户端服务器中与第三方客户端标识对应的密钥,第三方客户端标识是第三方在客户端服务器中的唯一标识。
综上所述,本实施例提供的签名验证装置,通过接收客户端服务器发送的第一签名信息;查询与第三方支付标识对应的第一密钥;根据第一密钥、第三方支付标识和支付信息对第一签名进行验证;在验证成功时,对支付信息进行响应;解决了由于在上述传输过程中所使用的第三方商家的密钥不仅被第三方商家所持有,又被支付服务方所持有,一旦发生泄露,就可能被他人利用该密钥篡改或伪造订单信息,容易对用户或者第三方商家造成财产损失,安全性较低的问题;达到了能够通过两次签名进行验证,第三方商家保存两个密钥,客户端服务器和支付服务器各自保存一个密钥,从而提高验证准确性和提高支付信息安全性的效果。
请参考图9,其示出了本发明一个实施例提供的签名验证系统的结构示意图。该签名验证系统包括第三方服务器600、客户端服务器700和支付服务器800,第三方服务器600和客户端服务器700通过无线网络或者有线网络相连,客户端服务器700和支付服务器800通过无线网络或者有线网络相连,具体如下:
第三方服务器600,包括:第一签名模块620、第二签名模块640和第一发送模块660;
第一签名模块620,用于根据第一密钥对第三方支付标识和支付信息进行加密得到第一签名,第一密钥是在支付服务器中与第三方支付标识对应的密钥,第三方支付标识是第三方在支付服务器中的唯一标识;
第二签名模块640,用于根据第二密钥对第三方客户端标识和第一签名信息进行加密得到第二签名,第一签名信息包括第三方支付标识、支付信息和第一签名,第二密钥是在客户端服务器中与第三方客户端标识对应的密钥,第三方客户端标识是第三方在客户端服务器中的唯一标识;
第一发送模块660,用于将第三方客户端标识、第一签名信息和第二签名发送给客户端服务器进行验证,以便所述客户端服务器根据所述第二密钥、所述第三方客户端标识和所述第一签名信息对所述第二签名验证成功时,将所述第一签名信息发送给所述支付服务器进行验证。
第一签名模块620,包括:第一生成单元621和第一加密单元622;
第一生成单元621,用于按照第一排列规则对第三方支付标识、支付信息和第一密钥进行排列后,生成第一字符串;
第一加密单元622,用于按照第一不可逆加密方式对第一字符串进行加密得到第一签名。
第二签名模块640,包括:第二生成单元641和第二加密单元642;
第二生成单元641,用于按照第二排列规则对第三方客户端标识、第一签名信息和第二密钥进行排列后,生成第二字符串;
第二加密单元642,用于按照第二不可逆加密方式对第二字符串进行加密得到第二签名。
进一步的,第三方服务器600,还包括:第一获取模块630;
第一获取模块630,用于获取第一时间戳和第一随机字符串中的至少一种;
第一生成单元621,还用于按照第一排列规则对获取到的第一时间戳和/或第一随机字符串、第三方支付标识、支付信息和第一密钥进行排列后,生成第一字符串。
进一步的,第三方服务器600,还包括:信息添加模块631;
信息添加模块631,用于将获取到的第一时间戳和/或第一随机字符串添加入第一签名信息。
进一步的,第三方服务器600,还包括:
第二获取模块650,用于获取第二时间戳和第二随机字符串中的至少一种;
第二生成单元641,还用于按照第二排列规则对获取到的第二时间戳和/或第二随机字符串、第三方客户端标识、第一签名信息和第二密钥进行排列后,生成第二字符串。
第一发送模块660,还用于将第二时间戳和/或第二随机字符串、第三方客户端标识、第一签名信息和第二签名发送给客户端服务器进行验证。
客户端服务器700,包括:第一接收模块720、第一查询模块740、第一验证模块760和第二发送模块780;
第一接收模块720,用于接收第三方服务器发送的第三方客户端标识、第一签名信息和第二签名,第三方客户端标识是第三方在客户端服务器中的唯一标识,第一签名信息包括第三方支付标识、支付信息和第一签名,第二签名是第三方服务器根据第二密钥对第三方客户端标识和第一签名信息进行加密得到的;
第一查询模块740,用于查询与第三方客户端标识对应的第二密钥;
第一验证模块760,用于根据第二密钥、第三方客户端标识和第一签名信息对第二签名进行验证;
第二发送模块780,用于在验证成功时,将第一签名信息发送给支付服务器进行验证;
其中,第三方支付标识是第三方在支付服务器中的唯一标识,第一签名是第三方服务器根据第一密钥对第三方支付标识和支付信息进行加密得到的,第一密钥是在支付服务器中与第三方支付标识对应的密钥。
进一步的,第一验证模块760,包括:第三生成单元761、第三加密单元762、第一判断单元763、第一确定单元764和第二确定单元765;
第三生成单元761,用于按照第二排列规则对第三方客户端标识、第一签名信息和第二密钥进行排列后,生成第三字符串;
第三加密单元762,用于按照第二不可逆加密方式对第三字符串进行加密得到第三签名;
第一判断单元763,用于判断第三签名与第二签名是否一致;
第一确定单元764,用于若判断结果为第三签名与第二签名一致,则确定验证成功;
第二确定单元765,用于若判断结果为第三签名与第二签名不一致,则确定验证不成功。
进一步的,客户端服务器700,还包括:
时间戳接收模块730,用于接收第三方服务器发送的与第三方客户端标识、第一签名信息和第二签名对应的第二时间戳;
第一检测模块731,用于检测第二时间戳是否在预定时间范围内;
第一查询模块740,用于若检测结果为第二时间戳在预定时间范围内,则执行查询与第三方客户端标识对应的第二密钥这一步骤。
支付服务器800,包括:第二接收模块820、第二查询模块840、第二验证模块860和信息响应模块880。
第二接收模块820,用于接收客户端服务器发送的第一签名信息,第一签名信息包括第三方支付标识、支付信息和第一签名,第三方支付标识是第三方在支付服务器中的唯一标识,第一签名是第三方服务器根据第一密钥对第三方支付标识和支付信息进行签名得到的;
第二查询模块840,用于查询与第三方支付标识对应的第一密钥;
第二验证模块860,用于根据第一密钥、第三方支付标识和支付信息对第一签名进行验证;
信息响应模块880,用于在验证成功时,对支付信息进行响应;
其中,第一签名信息是客户端服务器根据第二密钥、第三方客户端标识和第一签名信息对第二签名进行验证成功后发送的,第二签名是第三方服务器根据第二密钥对第三方客户端标识和第一签名信息进行加密得到的,第二密钥是在客户端服务器中与第三方客户端标识对应的密钥,第三方客户端标识是第三方在客户端服务器中的唯一标识。
进一步的,第二验证模块860,包括:第四生成单元861、第四加密单元862、第四判断单元863、第三确定单元864和第四确定单元865;
第四生成单元861,用于按照第一排列规则对第三方支付标识、支付信息和第一密钥进行排列后,生成第四字符串;
第四加密单元862,用于按照第一不可逆加密方式对第四字符串进行加密得到第四签名;
第四判断单元863,用于判断第四签名与第一签名是否一致;
第三确定单元864,用于若判断结果为第四签名与第一签名一致,则确定验证成功;
第四确定单元865,用于若判断结果为第四签名与第一签名不一致,则确定验证不成功。
进一步的,若第一签名信息还包括第一时间戳,支付服务器800,包括:
第二检测模块830,用于检测第一时间戳是否在预定时间范围内;
第二查询模块840,用于若检测结果为第一时间戳在预定时间范围内,则执行查询与第三方支付标识对应的第一密钥这一步骤。
综上所述,本实施例提供的签名生成装置,通过根据第一密钥对第三方支付标识和支付信息进行签名得到第一签名;根据第二密钥对第三方客户端标识和第一签名信息进行签名得到第二签名;将第三方客户端标识、第一签名信息和第二签名发送给客户端服务器进行验证,由客户端服务器根据所述第二密钥、所述第三方客户端标识和所述第一签名信息对所述第二签名验证成功时,将所述第一签名信息发送给所述支付服务器进行验证;解决了由于在上述传输过程中所使用的第三方商家的密钥不仅被第三方商家所持有,又被支付服务方所持有,一旦发生泄露,就可能被他人利用该密钥篡改或伪造订单信息,容易对用户或者第三方商家造成财产损失,安全性较低的问题;达到了能够通过两次签名进行验证,第三方商家保存两个密钥,客户端服务器和支付服务器各自保存一个密钥,从而提高验证准确性和提高支付信息安全性的效果。
请参考图10,其示出了本发明一个实施例提供的服务器的结构示意图。该服务器可以是第三方服务器,也可以是客户端服务器,还可以是支付服务器,具体来讲:
服务器1000包括中央处理单元(CPU)1001、包括随机存取存储器(RAM)1002和只读存储器(ROM)1003的系统存储器1004,以及连接系统存储器1004和中央处理单元1001的系统总线1005。服务器1000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1006,和用于存储操作系统1013、应用程序1014和其他程序模块1015的大容量存储设备1007。
基本输入/输出系统1006包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中显示器1008和输入设备1009都通过连接到系统总线1005的输入输出控制器1010连接到中央处理单元1001。基本输入/输出系统1006还可以包括输入输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备1007通过连接到系统总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。大容量存储设备1007及其相关联的计算机可读介质为客户端设备提供非易失性存储。也就是说,大容量存储设备1007可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。
根据本发明的各种实施例,服务器1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1000可以通过连接在系统总线1005上的网络接口单元1011连接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机系统(未示出)。
存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上中央处理单元1001执行一个或者一个以上程序包含用于执行图2至图5B所示的任一实施例所提供的签名签名验证方法。
请参考图11,其示出了本发明一个实施例提供的签名验证方法的具体实施示意图。本实施例中,以第三方服务器为商家提供的第三方网页服务器、客户端服务器为微信后台服务器和支付服务器是财付通后台服务器来举例说明。其中,微信和财付通均为中国的腾讯科技(深圳)有限公司提供的互联网服务。该签名验证方法,包括:
步骤1101,第三方网页服务器接收用户在页面中触发的购买信号,并提供具有双重签名的订单信息以及公众号给微信客户端;
第三方网页服务器可以提供商品的购买网页。用户可以在手机上的浏览器中查看该购买网页,并在确定购买该商品时,点击该购买网页中的购买按钮来触发购买信号。第三方网页服务器在接收到该购买信号后,可以生成具有双重签名的订单信息,该订单信息具有位于内围的第一签名和位于外围的第二签名。其中,位于内围的第一签名是根据财付通提供的第一密钥进行加密得到的,位于外围的第二签名是根据微信提供的第二密钥进行加密得到的。
然后,第三方网页服务器可以通过预定函数接口在用户的手机上调用微信客户端来发起支付过程,并在调用过程提供具有双重签名的订单信息以及第三方商家在微信中的公众号给微信客户端。
步骤1102,微信客户端向微信后台服务器提交具有双重签名的订单信息及公众号;
步骤1103,微信后台服务器利用开放平台验证位于外围的第二签名;
开放平台是微信后台服务器向第三方商家提供开放服务的一个平台,该开放服务包括微信支付功能。开放平台可以视为微信后台服务器的一部分。
微信后台服务器在接收到具有双重签名的订单信息后,将订单信息、第三方商家在微信中的公众号以及位于外围的第二签名发送给开放平台,由开放平台来验证位于外围的第二签名。开放平台可以根据第三方商家在微信中的公众号来查询相应的密钥。
步骤1104,微信后台服务器接收开放平台的验证结果;
在验证结果为成功时,进入步骤1105,;在验证结果为失败时,向微信客户端反馈第二签名验证失败的响应。
步骤1105,微信后台服务器在位于外围的第二签名验证成功时,向财付通后台服务器发送订单信息、第三方支付账号以及内围签名等信息;
第三方支付账号(partnerID)是第三方商家在财付通的账号。
步骤1106,财付通后台服务器在成功接收订单信息等信息后,向微信后台服务器返回支付ID;
步骤1107,微信后台服务器向微信客户端返回支付ID;
微信客户端接收到支付ID后,可以显示一个关于该支付ID的支付页面给用户。
步骤1108,微信客户端根据用户的确认信号发起真正支付;
微信客户端在支付页面中接收用户的确认信号,此过程可能还需要用户输入微信支付密码等操作。在接收到用户的确认信号后,微信客户端向微信后台服务器发起真正支付。
步骤1109,微信后台服务器向财付通后台服务器请求真正支付该订单;
步骤1110,财付通后台服务器验证该订单信息中位于内围的第一签名;
财付通后台服务器可以根据第三方支付账号来查询相应的密钥,然后验证第一签名。
步骤1111,财付通后台服务器返回验证位于内围的第一签名是否成功的响应。
在验证成功时,财付通后台服务器向微信后台服务器返回验证位于内围的第一签名成功的响应,并进入步骤1112;
在验证不成功时,财付通后台服务器向微信后台服务器返回验证位于内围的第一签名不成功的响应。
步骤1112,财付通后台服务器在验证第一签名成功时,处理该订单信息。
步骤1113,财付通后台服务器返回支付过程是否成功的响应。
在支付成功时,财付通后台服务器向微信后台服务器返回支付过程成功的响应;
在支付不成功时,财付通后台服务器向微信后台服务器返回支付过程不成功的响应。
步骤1114,微信后台服务器向开放平台返回支付过程是否成功的响应;
在支付成功时,微信后台服务器向开放平台返回支付过程成功的响应;
在支付不成功时,微信后台服务器向开放平台返回支付过程不成功的响应。
步骤1115,开放平台向第三方网页服务器返回支付过程是否成功的响应。
在支付成功时,开放平台向第三方网页服务器返回支付过程成功的响应;
在支付不成功时,开放平台向第三方网页服务器返回支付过程不成功的响应。
综上所述,本实施例提供的签名生成装置,通过由微信后台服务器来验证订单信息中位于外围的第二签名,由财付通后台服务器来验证订单信息中位于内围的第一签名;解决了由于在订单信息的传输过程中所使用的第三方商家的密钥不仅被第三方商家所持有,又被支付服务方所持有,一旦发生泄露,就可能被他人利用该密钥篡改或伪造订单信息,容易对用户或者第三方商家造成财产损失,安全性较低的问题;达到了能够通过两次签名进行验证,只有第三方商家保存所有的两个密钥,微信后台服务器和财付通后台服务器各自保存一个密钥,从而提高验证准确性和提高支付信息安全性的效果。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (27)
1.一种签名验证方法,其特征在于,用于第三方服务器中,所述方法包括:
根据第一密钥对第三方支付标识和支付信息进行加密得到第一签名,所述第一密钥是在支付服务器中与所述第三方支付标识对应的密钥,所述第三方支付标识是第三方在所述支付服务器中的唯一标识;
根据第二密钥对第三方客户端标识和第一签名信息进行加密得到第二签名,所述第一签名信息包括所述第三方支付标识、所述支付信息和所述第一签名,所述第二密钥是在客户端服务器中与所述第三方客户端标识对应的密钥,所述第三方客户端标识是所述第三方在所述客户端服务器中的唯一标识;
将所述第三方客户端标识、所述第一签名信息和所述第二签名提供给所述客户端服务器进行验证,以便所述客户端服务器根据所述第二密钥、所述第三方客户端标识和所述第一签名信息对所述第二签名验证成功时,将所述第一签名信息发送给所述支付服务器进行验证。
2.根据权利要求1所述的方法,其特征在于,所述根据第一密钥对第三方支付标识和支付信息进行加密得到第一签名,包括:
按照第一排列规则对所述第三方支付标识、所述支付信息和所述第一密钥进行排列后,生成第一字符串;
按照第一不可逆加密方式对所述第一字符串进行加密得到第一签名。
3.根据权利要求1所述的方法,其特征在于,所述根据第二密钥对第三方客户端标识和第一签名信息进行加密得到第二签名,包括:
按照第二排列规则对所述第三方客户端标识、所述第一签名信息和所述第二密钥进行排列后,生成第二字符串;
按照第二不可逆加密方式对所述第二字符串进行加密得到第二签名。
4.根据权利要求2所述的方法,其特征在于,所述按照第一排列规则对所述第三方支付标识、所述支付信息和所述第一密钥进行排列后,生成第一字符串之前,还包括:
获取第一时间戳和第一随机字符串中的至少一种;
所述按照第一排列规则对所述第三方支付标识、所述支付信息和所述第一密钥进行排列后,生成第一字符串,包括:
按照所述第一排列规则对获取到的所述第一时间戳和所述第一随机字符串中的至少一种、所述第三方支付标识、所述支付信息和所述第一密钥进行排列后,生成所述第一字符串。
5.根据权利要求4所述的方法,其特征在于,所述获取第一时间戳和第一随机字符串中的至少一种之后,还包括:
将获取到的所述第一时间戳和/或所述第一随机字符串添加入所述第一签名信息。
6.根据权利要求3所述的方法,其特征在于,所述按照第二排列规则对所述第三方客户端标识、所述第一签名信息和所述第二密钥进行排列后,生成第二字符串之前,还包括:
获取第二时间戳和第二随机字符串中的至少一种;
所述按照第二排列规则对所述第三方客户端标识、所述第一签名信息和所述第二密钥进行排列后,生成第二字符串,包括:
按照所述第二排列规则对获取到的所述第二时间戳和所述第二随机字符串中的至少一种、所述第三方客户端标识、所述第一签名信息和所述第二密钥进行排列后,生成所述第二字符串。
7.根据权利要求6所述的方法,其特征在于,所述将所述第三方客户端标识、所述第一签名信息和所述第二签名发送给所述客户端服务器进行验证,包括:
将所述第二时间戳和所述第二随机字符串中的至少一种、所述第三方客户端标识、所述第一签名信息和所述第二签名发送给所述客户端服务器进行验证。
8.一种签名验证方法,其特征在于,用于客户端服务器中,所述方法包括:
获取第三方服务器提供的第三方客户端标识、第一签名信息和第二签名,所述第三方客户端标识是第三方在所述客户端服务器中的唯一标识,所述第一签名信息包括第三方支付标识、支付信息和第一签名,所述第二签名是所述第三方服务器根据第二密钥对所述第三方客户端标识和所述第一签名信息进行加密得到的;
查询与所述第三方客户端标识对应的所述第二密钥;
根据所述第二密钥、所述第三方客户端标识和所述第一签名信息对所述第二签名进行验证;
在验证成功时,将所述第一签名信息发送给支付服务器进行验证;
其中,所述第三方支付标识是第三方在所述支付服务器中的唯一标识,所述第一签名是所述第三方服务器根据第一密钥对所述第三方支付标识和所述支付信息进行加密得到的,所述第一密钥是在所述支付服务器中与所述第三方支付标识对应的密钥。
9.根据权利要求8所述的方法,其特征在于,所述根据所述第二密钥和所述第一签名信息对所述第二签名进行验证,包括:
按照第二排列规则对所述第三方客户端标识、所述第一签名信息和所述第二密钥进行排列后,生成第三字符串;
按照第二不可逆加密方式对所述第三字符串进行加密得到第三签名;
判断所述第三签名与所述第二签名是否一致;
若判断结果为所述第三签名与所述第二签名一致,则确定验证成功;
若判断结果为所述第三签名与所述第二签名不一致,则确定验证不成功。
10.根据权利要求8或9所述的方法,其特征在于,所述方法,还包括:
接收所述第三方服务器发送的与所述第三方客户端标识、所述第一签名信息和所述第二签名对应的第二时间戳;
检测所述第二时间戳是否在预定时间范围内;
若检测结果为所述第二时间戳在所述预定时间范围内,则执行查询与所述第三方客户端标识对应的第二密钥这一步骤。
11.一种签名验证方法,其特征在于,用于支付服务器中,所述方法包括:
接收客户端服务器发送的第一签名信息,所述第一签名信息包括第三方支付标识、支付信息和第一签名,所述第三方支付标识是第三方在所述支付服务器中的唯一标识,所述第一签名是第三方服务器根据第一密钥对所述第三方支付标识和所述支付信息进行加密得到的;
查询与所述第三方支付标识对应的所述第一密钥;
根据所述第一密钥、所述第三方支付标识和所述支付信息对所述第一签名进行验证;
在验证成功时,对所述支付信息进行响应;
其中,所述第一签名信息是所述客户端服务器根据第二密钥、第三方客户端标识和所述第一签名信息对第二签名进行验证成功后发送的,所述第二签名是所述第三方服务器根据所述第二密钥对所述第三方客户端标识和所述第一签名信息进行加密得到的,所述第二密钥是在所述客户端服务器中与所述第三方客户端标识对应的密钥,所述第三方客户端标识是第三方在所述客户端服务器中的唯一标识。
12.根据权利要求11所述的方法,其特征在于,所述根据所述第一密钥、所述第三方支付标识和所述支付信息对所述第一签名进行验证,包括:
按照第一排列规则对所述第三方支付标识、所述支付信息和所述第一密钥进行排列后,生成第四字符串;
按照第一不可逆加密方式对所述第四字符串进行加密得到第四签名;
判断所述第四签名与所述第一签名是否一致;
若判断结果为所述第四签名与所述第一签名一致,则确定验证成功;
若判断结果为所述第四签名与所述第一签名不一致,则确定验证不成功。
13.根据权利要求11或12所述的方法,其特征在于,若所述第一签名信息还包括第一时间戳,所述查询与所述第三方支付标识对应的所述第一密钥之前,包括:
检测所述第一时间戳是否在预定时间范围内;
若检测结果为所述第一时间戳在所述预定时间范围内,则执行查询与所述第三方支付标识对应的所述第一密钥这一步骤。
14.一种签名验证装置,其特征在于,用于第三方服务器中,所述装置包括:
第一签名模块,用于根据第一密钥对第三方支付标识和支付信息进行加密得到第一签名,所述第一密钥是在支付服务器中与所述第三方支付标识对应的密钥,所述第三方支付标识是第三方在所述支付服务器中的唯一标识;
第二签名模块,用于根据第二密钥对第三方客户端标识和第一签名信息进行加密得到第二签名,所述第一签名信息包括所述第三方支付标识、所述支付信息和所述第一签名,所述第二密钥是在客户端服务器中与所述第三方客户端标识对应的密钥,所述第三方客户端标识是所述第三方在所述客户端服务器中的唯一标识;
第一提供模块,用于将所述第三方客户端标识、所述第一签名信息和所述第二签名提供给所述客户端服务器进行验证,以便所述客户端服务器根据所述第二密钥、所述第三方客户端标识和所述第一签名信息对所述第二签名验证成功时,将所述第一签名信息发送给所述支付服务器进行验证。
15.根据权利要求14所述的装置,其特征在于,所述第一签名模块,包括:第一生成单元和第一加密单元;
所述第一生成单元,用于按照第一排列规则对所述第三方支付标识、所述支付信息和所述第一密钥进行排列后,生成第一字符串;
所述第一加密单元,用于按照第一不可逆加密方式对所述第一字符串进行加密得到第一签名。
16.根据权利要求14所述的装置,其特征在于,所述第二签名模块,包括:第二生成单元和第二加密单元;
所述第二生成单元,用于按照第二排列规则对所述第三方客户端标识、所述第一签名信息和所述第二密钥进行排列后,生成第二字符串;
所述第二加密单元,用于按照第二不可逆加密方式对所述第二字符串进行加密得到第二签名。
17.根据权利要求15所述的装置,其特征在于,所述装置,还包括:
第一获取模块,用于获取第一时间戳和第一随机字符串中的至少一种;
所述第一生成单元,还用于按照所述第一排列规则对获取到的所述第一时间戳和所述第一随机字符串中的至少一种、所述第三方支付标识、所述支付信息和所述第一密钥进行排列后,生成所述第一字符串。
18.根据权利要求17所述的装置,其特征在于,所述装置,还包括:
信息添加模块,用于将获取到的所述第一时间戳和/或所述第一随机字符串添加入所述第一签名信息。
19.根据权利要求16所述的装置,其特征在于,所述装置,还包括:
第二获取模块,用于获取第二时间戳和第二随机字符串中的至少一种;
所述第二生成单元,还用于按照所述第二排列规则对获取到的所述第二时间戳和所述第二随机字符串中的至少一种、所述第三方客户端标识、所述第一签名信息和所述第二密钥进行排列后,生成所述第二字符串。
20.根据权利要求19所述的装置,其特征在于,所述第一提供模块,
用于将所述第二时间戳和所述第二随机字符串中的至少一种、所述第三方客户端标识、所述第一签名信息和所述第二签名发送给所述客户端服务器进行验证。
21.一种签名验证装置,其特征在于,用于客户端服务器中,所述装置包括:
第一接收模块,用于获取第三方服务器提供的第三方客户端标识、第一签名信息和第二签名,所述第三方客户端标识是第三方在所述客户端服务器中的唯一标识,所述第一签名信息包括第三方支付标识、支付信息和第一签名,所述第二签名是所述第三方服务器根据第二密钥对所述第三方客户端标识和所述第一签名信息进行加密得到的;
第一查询模块,用于查询与所述第三方客户端标识对应的所述第二密钥;
第一验证模块,用于根据所述第二密钥、所述第三方客户端标识和所述第一签名信息对所述第二签名进行验证;
第二发送模块,用于在验证成功时,将所述第一签名信息发送给支付服务器进行验证;
其中,所述第三方支付标识是第三方在所述支付服务器中的唯一标识,所述第一签名是所述第三方服务器根据第一密钥对所述第三方支付标识和所述支付信息进行加密得到的,所述第一密钥是在所述支付服务器中与所述第三方支付标识对应的密钥。
22.根据权利要求21所述的装置,其特征在于,所述第一验证模块,包括:第三生成单元、第三加密单元、第一判断单元、第一确定单元和第二确定单元;
所述第三生成单元,用于按照第二排列规则对所述第三方客户端标识、所述第一签名信息和所述第二密钥进行排列后,生成第三字符串;
所述第三加密单元,用于按照第二不可逆加密方式对所述第三字符串进行加密得到第三签名;
所述第一判断单元,用于判断所述第三签名与所述第二签名是否一致;
所述第一确定单元,用于若判断结果为所述第三签名与所述第二签名一致,则确定验证成功;
所述第二确定单元,用于若判断结果为所述第三签名与所述第二签名不一致,则确定验证不成功。
23.根据权利要求21或22所述的装置,其特征在于,所述装置,还包括:
时间戳接收模块,用于接收所述第三方服务器发送的与所述第三方客户端标识、所述第一签名信息和所述第二签名对应的第二时间戳;
第一检测模块,用于检测所述第二时间戳是否在预定时间范围内;
所述第一查询模块,用于若检测结果为所述第二时间戳在所述预定时间范围内,则执行查询与所述第三方客户端标识对应的第二密钥这一步骤。
24.一种签名验证装置,其特征在于,用于支付服务器中,所述装置包括:
第二接收模块,用于接收客户端服务器发送的第一签名信息,所述第一签名信息包括第三方支付标识、支付信息和第一签名,所述第三方支付标识是第三方在所述支付服务器中的唯一标识,所述第一签名是第三方服务器根据第一密钥对所述第三方支付标识和所述支付信息进行加密得到的;
第二查询模块,用于查询与所述第三方支付标识对应的所述第一密钥;
第二验证模块,用于根据所述第一密钥、所述第三方支付标识和所述支付信息对所述第一签名进行验证;
信息响应模块,用于在验证成功时,对所述支付信息进行响应;
其中,所述第一签名信息是所述客户端服务器根据第二密钥、第三方客户端标识和所述第一签名信息对第二签名进行验证成功后发送的,所述第二签名是所述第三方服务器根据所述第二密钥对所述第三方客户端标识和所述第一签名信息进行加密得到的,所述第二密钥是在所述客户端服务器中与所述第三方客户端标识对应的密钥,所述第三方客户端标识是第三方在所述客户端服务器中的唯一标识。
25.根据权利要求24所述的装置,其特征在于,所述第二验证模块,包括:第四生成单元、第四加密单元、第四判断单元、第三确定单元和第四确定单元;
所述第四生成单元,用于按照第一排列规则对所述第三方支付标识、所述支付信息和所述第一密钥进行排列后,生成第四字符串;
所述第四加密单元,用于按照第一不可逆加密方式对所述第四字符串进行加密得到第四签名;
所述第四判断单元,用于判断所述第四签名与所述第一签名是否一致;
所述第三确定单元,用于若判断结果为所述第四签名与所述第一签名一致,则确定验证成功;
所述第四确定单元,用于若判断结果为所述第四签名与所述第一签名不一致,则确定验证不成功。
26.根据权利要求24或25所述的装置,其特征在于,若所述第一签名信息还包括第一时间戳,所述装置,包括:
第二检测模块,用于检测所述第一时间戳是否在预定时间范围内;
所述第二查询模块,用于若检测结果为所述第一时间戳在所述预定时间范围内,则执行查询与所述第三方支付标识对应的所述第一密钥这一步骤。
27.一种签名验证系统,其特征在于,所述系统包括第三方服务器、客户端服务器和支付服务器;
所述第三方服务器包括如权利要求14至20任一所述的签名验证装置;
所述客户端服务器包括如权利要求21至23任一所述的签名验证装置;
所述支付服务器包括如权利要求24至26任一所述的签名验证装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410003628.7A CN104767613B (zh) | 2014-01-02 | 2014-01-02 | 签名验证方法、装置及系统 |
JP2016543226A JP6355742B2 (ja) | 2014-01-02 | 2014-12-31 | 署名検証方法、装置、およびシステム |
PCT/CN2014/095981 WO2015101336A1 (en) | 2014-01-02 | 2014-12-31 | Signature verification method, apparatus, and system |
US15/185,868 US10915896B2 (en) | 2014-01-02 | 2016-06-17 | Signature verification method, apparatus, and system |
US17/120,083 US11854003B2 (en) | 2014-01-02 | 2020-12-11 | Signature verification method, apparatus, and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410003628.7A CN104767613B (zh) | 2014-01-02 | 2014-01-02 | 签名验证方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104767613A CN104767613A (zh) | 2015-07-08 |
CN104767613B true CN104767613B (zh) | 2018-02-13 |
Family
ID=53493275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410003628.7A Active CN104767613B (zh) | 2014-01-02 | 2014-01-02 | 签名验证方法、装置及系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10915896B2 (zh) |
JP (1) | JP6355742B2 (zh) |
CN (1) | CN104767613B (zh) |
WO (1) | WO2015101336A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049433B (zh) * | 2015-07-17 | 2019-07-30 | 上海众人网络安全技术有限公司 | 标识化卡号信息传输验证方法及系统 |
CN105678553A (zh) * | 2015-08-05 | 2016-06-15 | 腾讯科技(深圳)有限公司 | 一种处理订单信息的方法、装置和系统 |
CN106603596B (zh) * | 2015-10-15 | 2021-05-11 | 腾讯科技(深圳)有限公司 | 一种数值转移的方法、装置及系统 |
CN105468994B (zh) * | 2015-11-26 | 2019-03-15 | 布比(北京)网络技术有限公司 | 一种对象转移方法、装置及系统 |
CN105763335B (zh) * | 2016-05-09 | 2019-03-12 | 浪潮集团有限公司 | 一种双签名数字证书的认证实现方法 |
CN106096952A (zh) * | 2016-06-22 | 2016-11-09 | 北京展鸿软通科技股份有限公司 | 手机游戏支付方法、支付服务器及支付系统 |
CN106910066A (zh) * | 2017-01-22 | 2017-06-30 | 武汉慧通云信息科技有限公司 | 一种基于区块链技术的支付加密存储系统及方法 |
CN107220830A (zh) * | 2017-05-08 | 2017-09-29 | 深圳市牛鼎丰科技有限公司 | 支付方法、装置、存储介质和计算机设备 |
CN107403303B (zh) * | 2017-06-16 | 2020-10-30 | 兴业数字金融服务(上海)股份有限公司 | 一种基于区块链存证的电子合同系统的签署方法 |
CN108776896A (zh) * | 2018-06-04 | 2018-11-09 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 基于多重签名的数字货币钱包业务管理方法及系统 |
CN109101852B (zh) * | 2018-07-24 | 2021-06-29 | 莫冰 | 一种基于哈希签名的数据自验证rfid方法 |
CN110400188B (zh) * | 2018-08-16 | 2021-08-13 | 深圳市智税链科技有限公司 | 电子票据生成方法、装置、存储介质和计算机设备 |
CN110060035A (zh) * | 2019-02-26 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 风险支付的处理方法、装置及设备 |
CN110430193B (zh) * | 2019-08-06 | 2022-03-08 | 广州虎牙科技有限公司 | 信息验证方法、装置、服务器及存储介质 |
CN111105224B (zh) * | 2019-11-13 | 2023-04-28 | 泰康保险集团股份有限公司 | 支付反馈信息的处理方法、装置、电子设备和存储介质 |
CN111178896B (zh) * | 2019-12-05 | 2021-09-21 | 腾讯科技(深圳)有限公司 | 乘车支付方法、装置及存储介质 |
CN111045841B (zh) * | 2019-12-12 | 2023-04-21 | 福建天晴在线互动科技有限公司 | 一种基于Api接口的营销发放管理系统 |
CN111917557B (zh) * | 2020-07-28 | 2023-05-26 | 中国平安财产保险股份有限公司 | 网络服务请求的安全验证方法、安全验证系统及存储介质 |
CN112948896A (zh) * | 2021-01-28 | 2021-06-11 | 深圳市迅雷网文化有限公司 | 签名信息的验证方法以及信息签名方法 |
CN114513307B (zh) * | 2021-02-01 | 2024-03-22 | 深圳思为科技有限公司 | 新客户验证方法、装置、设备和存储介质 |
CN113904840A (zh) * | 2021-09-30 | 2022-01-07 | 广州海鹚网络科技有限公司 | 基于签名的医院防篡改请求验证系统 |
CN115412252B (zh) * | 2022-07-07 | 2023-05-23 | 渔翁信息技术股份有限公司 | 一种数据传输方法、传输发起端及传输接收端 |
CN115994760B (zh) * | 2023-03-20 | 2023-08-25 | 支付宝(杭州)信息技术有限公司 | 第三方支付业务的实现方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101685512A (zh) * | 2008-09-28 | 2010-03-31 | 中国银联股份有限公司 | 一种用于实现网上支付的计算机、支付系统及其方法 |
CN102609841A (zh) * | 2012-01-13 | 2012-07-25 | 东北大学 | 一种基于数字证书的远程移动支付系统及支付方法 |
CN102930429A (zh) * | 2012-11-19 | 2013-02-13 | 北京子衿晨风科技有限公司 | 一种验证系统和方法 |
CN103078742A (zh) * | 2013-01-10 | 2013-05-01 | 天地融科技股份有限公司 | 数字证书的生成方法和系统 |
CN103095662A (zh) * | 2011-11-04 | 2013-05-08 | 阿里巴巴集团控股有限公司 | 一种网上交易安全认证方法及网上交易安全认证系统 |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6044205A (en) * | 1996-02-29 | 2000-03-28 | Intermind Corporation | Communications system for transferring information between memories according to processes transferred with the information |
US5915023A (en) * | 1997-01-06 | 1999-06-22 | Bernstein; Robert | Automatic portable account controller for remotely arranging for transfer of value to a recipient |
CN100452071C (zh) * | 1995-02-13 | 2009-01-14 | 英特特拉斯特技术公司 | 用于安全交易管理和电子权利保护的系统和方法 |
JPH10207962A (ja) * | 1996-11-19 | 1998-08-07 | Toppan Printing Co Ltd | ネットワークを用いた商品販売システム及び電子決済システム |
US6102287A (en) * | 1998-05-15 | 2000-08-15 | International Business Machines Corporation | Method and apparatus for providing product survey information in an electronic payment system |
US20010042051A1 (en) * | 1998-06-26 | 2001-11-15 | Jeremey L. Barrett | Network transaction system for minimizing software requirements on client computers |
AU2001236812A1 (en) * | 2000-02-09 | 2001-08-20 | Internetcash.Com | Method and system for making anonymous electronic payments on the world wide web |
JP2001243387A (ja) * | 2000-03-01 | 2001-09-07 | Kokusai Joho Kagaku Kenkyusho:Kk | 複合電子商取引システム |
GB2368422B (en) | 2000-05-10 | 2003-03-26 | Sony Corp | Electronic settlement system, settlement management device, store device, client, data storage device, computer program, and storage medium |
CA2417901C (en) * | 2000-08-04 | 2013-01-22 | First Data Corporation | Entity authentication in electronic communications by providing verification status of device |
US20030069858A1 (en) * | 2001-07-10 | 2003-04-10 | Kenneth Kittlitz | Transaction processing system in a distributed network |
WO2003041338A1 (en) * | 2001-11-06 | 2003-05-15 | International Business Machines Corporation | Method and system for the supply of data, transactions and electronic voting |
US7805376B2 (en) * | 2002-06-14 | 2010-09-28 | American Express Travel Related Services Company, Inc. | Methods and apparatus for facilitating a transaction |
CA2368961A1 (en) * | 2002-01-22 | 2003-07-22 | Pki Innovations Inc. | Digital certificate |
JP2003244139A (ja) * | 2002-02-20 | 2003-08-29 | Amano Corp | 電子文書に対するタイムスタンプ押印システム、及び、そのプログラム媒体 |
AU2003218178B2 (en) * | 2002-03-14 | 2009-05-21 | Euronet Worldwide, Inc. | A system and method for purchasing goods and services through data network access points over a point of sale network |
AU2005243108B2 (en) * | 2004-05-18 | 2008-10-09 | Silverbrook Research Pty Ltd | Pharmaceutical product tracking |
JP2008502058A (ja) * | 2004-05-18 | 2008-01-24 | シルバーブルック リサーチ ピーティワイ リミテッド | セキュリティ文書を追跡する方法およびコンピュータシステム |
JP4724119B2 (ja) * | 2004-07-22 | 2011-07-13 | パナソニック株式会社 | 電子バリュー、電子財布装置及びその利用システム |
KR100930457B1 (ko) * | 2004-08-25 | 2009-12-08 | 에스케이 텔레콤주식회사 | 이동통신단말을 이용한 인증 및 결제 시스템과 방법 |
US7747865B2 (en) * | 2005-02-10 | 2010-06-29 | International Business Machines Corporation | Method and structure for challenge-response signatures and high-performance secure Diffie-Hellman protocols |
US20060277092A1 (en) * | 2005-06-03 | 2006-12-07 | Credigy Technologies, Inc. | System and method for a peer to peer exchange of consumer information |
JP4944109B2 (ja) * | 2005-07-25 | 2012-05-30 | シルバーブルック リサーチ ピーティワイ リミテッド | レイアウトを識別する符号化データを有する製品アイテム |
BRPI0617490A2 (pt) * | 2005-10-18 | 2010-03-23 | Intertrust Tech Corp | sistemas e mÉtodos de mÁquina de gerenciamento de direitos digitais |
US20070125838A1 (en) * | 2005-12-06 | 2007-06-07 | Law Eric C W | Electronic wallet management |
JP2007164589A (ja) * | 2005-12-15 | 2007-06-28 | Seiko Epson Corp | Hmac演算回路 |
DE102006006072B3 (de) * | 2006-02-09 | 2007-08-23 | Siemens Ag | Verfahren zum Sichern der Authentizität von Nachrichten, die gemäß einem Mobile Internet Protokoll ausgetauscht werden |
PT2011301E (pt) * | 2006-04-10 | 2011-09-23 | Trust Integration Services B V | Sistema e método para a transmissão segura de dados |
JP5038807B2 (ja) * | 2007-08-01 | 2012-10-03 | 株式会社東芝 | 検証装置及びプログラム |
JP4740926B2 (ja) * | 2007-11-27 | 2011-08-03 | フェリカネットワークス株式会社 | サービス提供システム、サービス提供サーバ、及び情報端末装置 |
US7596530B1 (en) * | 2008-09-23 | 2009-09-29 | Marcelo Glasberg | Method for internet payments for content |
WO2010066127A1 (zh) * | 2008-12-12 | 2010-06-17 | 阿尔卡特朗讯 | 基于应用层的移动金融业务的安全通信方法及其装置 |
JP2010218440A (ja) * | 2009-03-18 | 2010-09-30 | Sony Corp | 決済システム、決済方法および情報処理装置 |
US8812854B2 (en) * | 2009-10-13 | 2014-08-19 | Google Inc. | Firmware verified boot |
KR101852115B1 (ko) * | 2010-10-04 | 2018-04-25 | 인트린직 아이디 비브이 | 개선된 시동 작동을 갖는 물리적 복제 불가 기능부 |
US20130080333A1 (en) * | 2011-09-27 | 2013-03-28 | Oleksandr Kamotskyy | Electronic wallet using allocation of funds |
US9830596B2 (en) * | 2011-11-01 | 2017-11-28 | Stripe, Inc. | Method for conducting a transaction between a merchant site and a customer's electronic device without exposing payment information to a server-side application of the merchant site |
US8925055B2 (en) * | 2011-12-07 | 2014-12-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Device using secure processing zone to establish trust for digital rights management |
US20130311382A1 (en) * | 2012-05-21 | 2013-11-21 | Klaus S. Fosmark | Obtaining information for a payment transaction |
CN102737313A (zh) * | 2012-05-25 | 2012-10-17 | 天地融科技股份有限公司 | 一种给电子签名工具授权校验的方法、系统及电子签名工具 |
CN103067401B (zh) * | 2013-01-10 | 2015-07-01 | 天地融科技股份有限公司 | 密钥保护方法和系统 |
KR102123494B1 (ko) * | 2013-07-15 | 2020-06-29 | 비자 인터네셔널 서비스 어소시에이션 | 보안 원격 지불 거래 처리 |
EP3843023A1 (en) * | 2013-08-15 | 2021-06-30 | Visa International Service Association | Secure remote payment transaction processing using a secure element |
US9350550B2 (en) * | 2013-09-10 | 2016-05-24 | M2M And Iot Technologies, Llc | Power management and security for wireless modules in “machine-to-machine” communications |
BR112016014106A2 (pt) * | 2013-12-19 | 2017-08-08 | Visa Int Service Ass | Método para intensificar a segurança de um dispositivo de comunicação, e, dispositivo de comunicação |
CN104243484B (zh) * | 2014-09-25 | 2016-04-13 | 小米科技有限责任公司 | 信息交互方法及装置、电子设备 |
US20160196553A1 (en) * | 2015-01-06 | 2016-07-07 | Plutus Financial Inc. | System for electronically transferring assets |
WO2016175914A2 (en) * | 2015-02-27 | 2016-11-03 | Visa International Service Association | Transaction signing utilizing asymmetric cryptography |
US11004071B2 (en) * | 2015-09-09 | 2021-05-11 | Pay with Privacy, Inc. | Systems and methods for automatically securing and validating multi-server electronic communications over a plurality of networks |
US9832024B2 (en) * | 2015-11-13 | 2017-11-28 | Visa International Service Association | Methods and systems for PKI-based authentication |
GB2549118B (en) * | 2016-04-05 | 2020-12-16 | Samsung Electronics Co Ltd | Electronic payment system using identity-based public key cryptography |
CN110545173A (zh) * | 2019-07-29 | 2019-12-06 | 大众问问(北京)信息科技有限公司 | 一种安全验证及发送请求的方法及装置 |
-
2014
- 2014-01-02 CN CN201410003628.7A patent/CN104767613B/zh active Active
- 2014-12-31 WO PCT/CN2014/095981 patent/WO2015101336A1/en active Application Filing
- 2014-12-31 JP JP2016543226A patent/JP6355742B2/ja active Active
-
2016
- 2016-06-17 US US15/185,868 patent/US10915896B2/en active Active
-
2020
- 2020-12-11 US US17/120,083 patent/US11854003B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101685512A (zh) * | 2008-09-28 | 2010-03-31 | 中国银联股份有限公司 | 一种用于实现网上支付的计算机、支付系统及其方法 |
CN103095662A (zh) * | 2011-11-04 | 2013-05-08 | 阿里巴巴集团控股有限公司 | 一种网上交易安全认证方法及网上交易安全认证系统 |
CN102609841A (zh) * | 2012-01-13 | 2012-07-25 | 东北大学 | 一种基于数字证书的远程移动支付系统及支付方法 |
CN102930429A (zh) * | 2012-11-19 | 2013-02-13 | 北京子衿晨风科技有限公司 | 一种验证系统和方法 |
CN103078742A (zh) * | 2013-01-10 | 2013-05-01 | 天地融科技股份有限公司 | 数字证书的生成方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US20160292678A1 (en) | 2016-10-06 |
JP6355742B2 (ja) | 2018-07-11 |
US11854003B2 (en) | 2023-12-26 |
US20210097536A1 (en) | 2021-04-01 |
JP2017501637A (ja) | 2017-01-12 |
WO2015101336A1 (en) | 2015-07-09 |
US10915896B2 (en) | 2021-02-09 |
CN104767613A (zh) | 2015-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104767613B (zh) | 签名验证方法、装置及系统 | |
CN106533696B (zh) | 基于区块链的身份认证方法、认证服务器及用户终端 | |
CN106506146A (zh) | 基于区块链技术的交易信息校验方法、装置及系统 | |
CN106503589A (zh) | 区块链交易信息正确性的校验方法、装置及系统 | |
CN109257342A (zh) | 区块链跨链的认证方法、系统、服务器及可读存储介质 | |
CN104615939B (zh) | 单据生成方法、验证方法、装置和系统 | |
CN108701309A (zh) | 一种用于电子商务交易安全的分布式用户简档身份验证系统 | |
CN106411950B (zh) | 基于区块链交易id的认证方法、装置及系统 | |
CN105099707B (zh) | 一种离线认证方法、服务器及系统 | |
CN103929411B (zh) | 信息显示方法、终端、安全服务器及系统 | |
CN104079562B (zh) | 一种基于支付终端的安全认证方法及相关装置 | |
CN110290102A (zh) | 基于应用的业务安全系统及方法 | |
TWI455562B (zh) | 使用圖形碼的雙通道電子簽章系統及相關的方法和電腦程式產品 | |
CN104967553B (zh) | 消息交互方法和相关装置及通信系统 | |
CN103763104B (zh) | 一种动态验证的方法及系统 | |
CN106779716A (zh) | 基于区块链账户地址的认证方法、装置及系统 | |
CN105897721B (zh) | 验证金融卡用户身份可靠性的方法及装置 | |
CN108965222A (zh) | 身份认证方法、系统及计算机可读存储介质 | |
CN103903140A (zh) | 一种o2o安全支付方法、系统和一种安全支付后台 | |
CN104935548B (zh) | 基于智能纹身设备的身份验证方法、装置及系统 | |
CN108154362A (zh) | 基于图形条码的交易方法、装置及系统 | |
CN105162773A (zh) | 一种基于移动终端的Web系统便捷登录方法 | |
CN107196943A (zh) | 一种隐私数据在第三方平台的安全展示实现方法 | |
CN113569263A (zh) | 跨私域数据的安全处理方法、装置及电子设备 | |
CN104618356B (zh) | 身份验证方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |