CN107257284A - 一种用于进行虚拟卡交易的方法和装置 - Google Patents
一种用于进行虚拟卡交易的方法和装置 Download PDFInfo
- Publication number
- CN107257284A CN107257284A CN201710438940.2A CN201710438940A CN107257284A CN 107257284 A CN107257284 A CN 107257284A CN 201710438940 A CN201710438940 A CN 201710438940A CN 107257284 A CN107257284 A CN 107257284A
- Authority
- CN
- China
- Prior art keywords
- client
- virtual card
- private key
- signature
- summary info
- 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.)
- Granted
Links
Classifications
-
- 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
- H04L9/3249—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 using RSA or related signature schemes, e.g. Rabin scheme
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/351—Virtual cards
-
- 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/3823—Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
-
- 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/401—Transaction verification
-
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0609—Buyer or seller confidence or verification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- 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/3236—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 using cryptographic hash functions
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Accounting & Taxation (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种用于进行虚拟卡交易的方法和装置,移动应用平台存储客户端的第一客户端私钥和客户端的虚拟卡私钥,客户端存储第二客户端私钥,认证端存储客户端的虚拟卡公钥证书,移动应用平台的流程方法包括:接收客户端发送的私钥获取请求,保存私钥获取请求携带的客户端基于虚拟卡交易数据计算的摘要信息;并向客户端返回其第一客户端私钥;响应于客户端发送的基于第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥生成的客户端签名,通过摘要信息和客户端公钥验证客户端签名;验证通过后,向认证端发送并请求其验证基于虚拟卡私钥对摘要信息签名后产生的虚拟卡签名。本发明在强认证的前提下,产生可靠的虚拟卡SM2签名凭证。
Description
技术领域
本发明涉及移动安全技术领域,尤其涉及一种用于进行虚拟卡交易的方法和装置。
背景技术
虚拟卡是对实体卡片的异形化,通常由运行在用户手机的移动应用客户端及移动应用平台所组成,例如网上银行的电子钱包。
HCE(Host Card Emulation)技术又称为主机卡模拟技术。HCE模式下终端安全模块SE被远程托管的云端SE(Cloud Secure Element或SE on the Cloud)所取代。
移动应用平台使用密码卡、加密机等硬件密码设备作为云端SE的安全载体,用于安全的保存、使用虚拟卡密钥。
数字证书是指网上金融、电子政务或电子商务等网上电子活动中,符合《中华人民共和国电子签名法》、能够证实签名人与电子签名数据具有可靠关联性的一种电子签名认证证书。
由于移动终端运行环境的脆弱性,移动应用无可避免的暴露在黑色产业链的各种攻击之下,不得不面对密钥被窃取、会话被劫持、客户端被仿冒等安全威胁。如何确保移动应用的实体安全,如何合法的使用云端SE,如何生成可靠的虚拟卡交易签名凭证,确认用户身份,确保交易不被伪造等问题,是当前亟需解决的技术难题。
发明内容
本发明的主要目的在于提供一种用于进行虚拟卡交易的方法和装置,解决如何在强认证的前提下,由受信客户端使用云端SE,产生可靠的虚拟卡SM2签名凭证的问题。
本发明一方面提供了一种用于进行虚拟卡交易的方法,该方法应用于移动应用平台中,所述移动应用平台存储客户端的第一客户端私钥、客户端公钥和客户端的虚拟卡私钥,客户端存储第二客户端私钥,认证端存储客户端的虚拟卡公钥证书,包括:
接收客户端发送的私钥获取请求,保存所述私钥获取请求携带的客户端基于虚拟卡交易数据计算的摘要信息;并向所述客户端返回其第一客户端私钥;
响应于所述客户端发送的基于第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥生成的客户端签名,通过所述摘要信息和该客户端公钥验证所述客户端签名;验证通过后,由移动应用平台或客户端向认证端发送并请求其验证基于虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名。
进一步的,保存所述私钥获取请求携带的客户端基于虚拟卡交易数据计算的摘要信息,包括:保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的虚拟卡待签数据计算的摘要信息;具体为:
保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的终端随机数及虚拟卡随机数组成的虚拟卡待签数据计算的摘要信息;和/或
保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的客户端与电商平台生成的订单信息计算的摘要信息。
进一步的,保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的终端随机数和虚拟卡随机数组成的虚拟卡待签数据计算的摘要信息,包括:
客户端接收受理终端发送的终端随机数;同时生成虚拟卡随机数;
对虚拟卡杂凑和终端随机数及虚拟卡随机数经过两次哈希运算后得到摘要信息;
保存客户端发送的私钥获取请求携带的所述摘要信息。
进一步的,保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的客户端与电商平台生成的订单信息计算的摘要信息,包括:
客户端响应于客户端与电商平台生成的订单信息;
对虚拟卡杂凑和所述订单信息经过两次哈希运算后得到摘要信息;
保存客户端发送的私钥获取请求携带的所述摘要信息。
进一步的,所述响应于所述客户端发送的基于第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥生成的客户端签名,包括:
客户端将接收到的第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥;
接收随机数发生器产生的随机数;
通过所述随机数计算椭圆曲线点;
基于所述椭圆曲线点和客户端私钥计算得到客户端签名;
响应于所述客户端发送的所述客户端签名。
进一步的,所述通过所述摘要信息和该客户端公钥验证所述客户端签名;包括:
验证所述客户端签名是否为该客户端对应的客户端签名信息,验证失败,向客户端返回错误提示;验证通过;则
获取存储的客户端公钥和存储的摘要信息验证所述客户端签名是否正确,验证失败,向客户端返回错误提示,验证通过,使用存储的虚拟卡私钥产生虚拟卡签名。
进一步的,所述由移动应用平台或客户端向认证端发送并请求其验证基于虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名,包括:
将虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名以及虚拟卡签名验证请求发送至认证端;
接收认证端返回的基于客户端的虚拟卡公钥证书对所述虚拟卡签名的验证结果,验证失败,向客户端返回错误提示;验证通过,通过所述虚拟卡交易请求。
本发明还提供了一种用于进行虚拟卡交易的方法,该方法应用于客户端中,所述客户端存储第二客户端私钥,移动应用平台存储客户端的第一客户端私钥、客户端公钥和客户端的虚拟卡私钥,认证端存储客户端的虚拟卡公钥证书,包括:
响应于客户端生成的虚拟卡交易数据;基于所述虚拟卡交易数据向移动应用平台发送私钥获取请求,所述私钥获取请求携带基于虚拟卡交易数据计算的摘要信息;
接收移动应用平台发送的第一客户端私钥;
基于第一客户端私钥和存储的第二客户端私钥合成客户端私钥;通过所述客户端私钥对所述虚拟卡交易数据签名后生成客户端签名,并将所述客户端签名发送至移动应用平台;以便所述移动应用平台通过所述摘要信息和该客户端公钥验证所述客户端签名;验证通过后,由移动应用平台或客户端向认证端发送并请求其验证基于虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名。
进一步的,所述私钥获取请求携带基于虚拟卡交易数据计算的摘要信息,包括:所述私钥获取请求携带基于虚拟卡杂凑和虚拟卡交易数据中的虚拟卡待签数据计算的摘要信息;具体为:
所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的终端随机数及虚拟卡随机数组成的虚拟卡待签数据计算的摘要信息;和/或
所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的客户端与电商平台生成的订单信息计算的摘要信息。
进一步的,所述私钥获取请求携带的客户端基于终端随机数和虚拟卡随机数计算的摘要信息,包括:
客户端接收受理终端发送的终端随机数;同时生成虚拟卡随机数;
对虚拟卡杂凑和终端随机数及虚拟卡随机数经过两次哈希运算后得到摘要信息。
进一步的,所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的客户端与电商平台生成的订单信息计算的摘要信息,包括:
客户端响应于客户端与电商平台生成的订单信息;
对虚拟卡杂凑和所述订单信息经过两次哈希运算后得到摘要信息。
进一步的,基于第一客户端私钥和存储的第二客户端私钥合成客户端私钥,通过所述客户端私钥对所述虚拟卡交易数据签名后生成客户端签名,包括:
客户端将接收到的第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥;
接收随机数发生器产生的随机数;
通过所述随机数计算椭圆曲线点;
基于所述椭圆曲线点和客户端私钥计算得到客户端签名。
进一步的,将所述客户端签名发送至移动应用平台;以便所述移动应用平台通过所述摘要信息和该客户端公钥验证所述客户端签名,包括:
将所述客户端签名发送至移动应用平台;移动应用平台验证所述客户端签名是否为该客户端对应的客户端签名信息;验证失败,接收移动应用平台返回的错误提示;
验证通过;移动应用平台获取存储的客户端公钥和存储的摘要信息验证所述客户端签名是否正确;验证失败,接收移动应用平台返回的错误提示,验证通过,移动应用平台使用存储的虚拟卡私钥产生虚拟卡签名。
进一步的,由移动应用平台或客户端向认证端发送并请求其验证基于虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名,包括:
移动应用平台将虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名以及虚拟卡签名验证请求发送至认证端;接收认证端返回的基于客户端的虚拟卡公钥证书对所述虚拟卡签名的验证结果;验证失败,接收移动应用平台返回的错误提示;验证通过,所述虚拟卡交易请求被通过。
本发明另一方面还提供了一种用于进行虚拟卡交易的装置,该装置为移动应用平台,所述移动应用平台存储客户端的第一客户端私钥、客户端公钥和客户端的虚拟卡私钥,客户端存储第二客户端私钥,认证端存储客户端的虚拟卡公钥证书,所述移动应用平台包括:
接收模块,用于接收客户端发送的私钥获取请求,保存所述私钥获取请求携带的客户端基于虚拟卡交易数据计算的摘要信息;并向所述客户端返回其第一客户端私钥;
响应模块,用于响应于所述客户端发送的基于第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥生成的客户端签名,通过所述摘要信息和该客户端公钥验证所述客户端签名;验证通过后,由移动应用平台或客户端向认证端发送并请求其验证基于虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名。
进一步的,所述接收模块,还用于保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的虚拟卡待签数据计算的摘要信息;包括:
第一保存单元,用于保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的终端随机数及虚拟卡随机数组成的虚拟卡待签数据计算的摘要信息;和/或
第二保存单元,用于保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的客户端与电商平台生成的订单信息计算的摘要信息。
进一步的,第一保存单元,包括:
第一保存子单元,用于在客户端接收受理终端发送的终端随机数;同时生成虚拟卡随机数;对虚拟卡杂凑和终端随机数及虚拟卡随机数经过两次哈希运算后得到摘要信息;保存客户端发送的私钥获取请求携带的所述摘要信息。
进一步的,第二保存单元,包括:
第二保存子单元,用于在客户端响应于客户端与电商平台生成的订单信息;对虚拟卡杂凑和所述订单信息经过两次哈希运算后得到摘要信息;保存客户端发送的私钥获取请求携带的所述摘要信息。
进一步的,所述响应模块,包括:
合成单元,用于在客户端将接收到的第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥;
响应单元,用于接收随机数发生器产生的随机数;通过所述随机数计算椭圆曲线点;基于所述椭圆曲线点和客户端私钥计算得到客户端签名;响应于所述客户端发送的所述客户端签名。
进一步的,所述响应模块;包括:
第一验证单元,用于验证所述客户端签名是否为该客户端对应的客户端签名信息,验证失败,向客户端返回错误提示;验证通过;则触发第二验证单元;
第二验证单元,用于获取存储的客户端公钥和存储的摘要信息验证所述客户端签名是否正确,验证失败,向客户端返回错误提示,验证通过,使用存储的虚拟卡私钥产生虚拟卡签名。
进一步的,所述响应模块,包括:
发送单元,用于将虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名以及虚拟卡签名验证请求发送至认证端;
接收单元,用于接收认证端返回的基于客户端的虚拟卡公钥证书对所述虚拟卡签名的验证结果,验证失败,向客户端返回错误提示;验证通过,通过所述虚拟卡交易请求。
本发明提供了一种用于进行虚拟卡交易的装置,该装置为客户端,所述客户端存储第二客户端私钥,移动应用平台存储客户端的第一客户端私钥、客户端公钥和客户端的虚拟卡私钥,认证端存储客户端的虚拟卡公钥证书,所述客户端包括:
客户端发送模块,用于响应于客户端生成的虚拟卡交易数据;基于所述虚拟卡交易数据向移动应用平台发送私钥获取请求,所述私钥获取请求携带基于虚拟卡交易数据计算的摘要信息;
客户端接收模块,用于接收移动应用平台发送的第一客户端私钥;
客户端签名模块,用于基于第一客户端私钥和存储的第二客户端私钥合成客户端私钥;通过所述客户端私钥对所述虚拟卡交易数据签名后生成客户端签名,并将所述客户端签名发送至移动应用平台;以便所述移动应用平台通过所述摘要信息和该客户端公钥验证所述客户端签名;验证通过后,由移动应用平台或客户端向认证端发送并请求其验证基于虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名。
进一步的,所述客户端发送模块,用于在所述私钥获取请求中携带基于虚拟卡杂凑和虚拟卡交易数据中的虚拟卡待签数据计算的摘要信息,包括:
第一计算单元,用于基于虚拟卡杂凑和虚拟卡交易数据中的终端随机数及虚拟卡随机数组成的虚拟卡待签数据计算的摘要信息;和/或
第二计算单元,用于基于虚拟卡杂凑和虚拟卡交易数据中的客户端与电商平台生成的订单信息计算的摘要信息。
进一步的,所述第一计算单元,包括:
第一计算子单元,用于在客户端接收受理终端发送的终端随机数;同时生成虚拟卡随机数;对虚拟卡杂凑和终端随机数及虚拟卡随机数经过两次哈希运算后得到摘要信息。
进一步的,所述第二计算单元,包括:
第二计算子单元,用于在客户端响应于客户端与电商平台生成的订单信息;对虚拟卡杂凑和所述订单信息经过两次哈希运算后得到摘要信息。
进一步的,所述客户端签名模块,包括:
客户端合成单元,用于将接收到的第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥;
客户端签名单元,用于接收随机数发生器产生的随机数;通过所述随机数计算椭圆曲线点;基于所述椭圆曲线点和客户端私钥计算得到客户端签名。
进一步的,所述客户端签名模块,包括:
第一客户端验证单元,用于将所述客户端签名发送至移动应用平台;移动应用平台验证所述客户端签名是否为该客户端对应的客户端签名信息;验证失败,接收移动应用平台返回的错误提示;验证通过;触发第二客户端验证单元;
第二客户端验证单元,用于在移动应用平台获取存储的客户端公钥和存储的摘要信息验证所述客户端签名是否正确;验证失败,接收移动应用平台返回的错误提示,验证通过,移动应用平台使用存储的虚拟卡私钥产生虚拟卡签名。
进一步的,所述客户端签名模块,包括:
客户端接收单元,用于在移动应用平台将虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名以及虚拟卡签名验证请求发送至认证端;移动应用平台接收认证端返回的基于客户端的虚拟卡公钥证书对所述虚拟卡签名的验证结果;验证失败,接收移动应用平台返回的错误提示;验证通过,所述虚拟卡交易请求被通过。
本发明提供了一种用于进行虚拟卡交易的方法和装置,采用双密钥体系结构用于认证移动客户端及产生虚拟卡交易签名凭证,其中,客户端私钥用于产生客户端签名,私钥分为两段,分离保存在移动应用平台和客户端中;虚拟卡私钥完整保存在移动应用平台中,用于产生虚拟卡签名;认证端保存虚拟卡公钥证书,用于验证虚拟卡签名,认证端包括但不限于发卡机构或与客户端进行交易的电商平台。本发明的技术方案中,客户端私钥采用了分段机制,分离保存在客户端和移动应用平台中,由于移动应用平台和客户端分别各自保存了一部分客户端私钥,提高了针对私钥保护的安全性;本发明设计了双密钥体系结构,只有在客户端被认证通过的条件下,才能继续使用所托管虚拟卡私钥;被认证客户端与产生虚拟卡交易凭证在一个工作流程中紧凑整合,有效的利用了摘要信息,无多余、重复的数据交互;由于摘要是经两次哈希的运算结果,不能逆向恢复待签数据及签名者杂凑;本发明直接使用虚拟卡杂凑(而非客户端杂凑)计算摘要信息,从而避免了虚拟卡交易数据的交互,为验证提供无缝的技术支撑。本发明的工作流程既起到认证客户端的效果,同时又在移动应用平台不掌握用户虚拟卡交易数据的条件下,利用摘要信息计算得出交易数据的签名,从而保障了用户的隐私;由于客户端签名的计算需要用到客户端私有保存的第二客户端私钥,仿冒的客户端无法通过移动应用平台的验证,因而不能越权使用虚拟卡私钥;摘要信息作为交互流程中第一个发送的参数,有效的约束了签名生成的上下文关系,从而可有效抵御会话劫持、数据重放等攻击。
附图说明
图1为根据本发明的一种用于进行虚拟卡交易的方法的实施例一的流程图;
图2为根据本发明的一种用于进行虚拟卡交易的方法的实施例二的结构框图;
图3为根据本发明的一种用于进行虚拟卡交易的装置的实施例三的结构框图。
图4为根据本发明的一种用于进行虚拟卡交易的装置的实施例四的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
本实施例中采用双密钥体系结构用于认证移动客户端及产生虚拟卡交易签名凭证。本实施例中的双密钥体系结构,只有在客户端被认证通过的条件下,才能继续使用所托管虚拟卡私钥。其中,客户端私钥用于产生客户端签名,私钥分为两段,分离保存在移动应用平台和客户端中,由于移动应用平台和客户端分别各自保存了一部分客户端私钥,提高了针对私钥保护的安全性;虚拟卡私钥完整保存在移动应用平台中,用于产生虚拟卡签名;本实施例中的认证端优选为发卡机构或电商平台,当然,认证端不仅仅局限于此,凡是能实现安全保存虚拟卡公钥证书,可以用于验证虚拟卡签名的功能的终端都可以。下面结合附图对本发明的技术方案做详细说明。
参照图1,图1示出了本发明提供的一种用于进行虚拟卡交易的方法的一实施例的流程图。本实施例的方法应用于移动应用平台中,该方法包括:步骤S110至步骤S120。
在步骤S110中,接收客户端发送的私钥获取请求,保存所述私钥获取请求携带的客户端基于虚拟卡交易数据计算的摘要信息;并向所述客户端返回其第一客户端私钥。
一应用实例,以电商虚拟卡线上消费交易为例,由于客户端签名的计算需要用到客户端私有保存的第二部分私钥,仿冒的客户端无法通过移动应用平台的验证,因而不能越权使用虚拟卡私钥;具体的,用户通过移动应用客户端在电商平台购买产品,生成订单,需要进行身份认证,移动应用客户端对订单计算摘要,摘要的计算优选为根据SM2数字签名的生成算法进行计算,包括了两次哈希运算得到摘要信息,由于摘要是经两次哈希的运算结果,不能逆向恢复待签数据及签名者杂凑;客户端只保存最后的杂凑结果(杂凑运算后的32字节),参与杂凑生成的参数(例如虚拟卡ID)不需要单独保存;由于杂凑运算的不可逆性,不能通过杂凑逆向恢复虚拟卡ID等参数;且对于发卡行(够唯一识别虚拟卡ID),如果根据虚拟卡的ID及其公钥计算的杂凑值不是虚拟卡所对应的杂凑值,验证不能通过。本发明直接使用虚拟卡杂凑(而非客户端杂凑)计算摘要,从而避免了交易数据的交互,为发卡行标准化的验证提供无缝的技术支撑。客户端向移动应用平台发送私钥获取请求和摘要信息,移动应用平台保存摘要信息,并向所述客户端返回其第一客户端私钥,摘要作为交互流程中第一个发送的参数,用来验证后续签名的真实性,有效的约束了签名生成的上下文关系,从而可有效抵御会话劫持、数据重放等攻击。
在步骤S120中,响应于所述客户端发送的基于第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥生成的客户端签名,通过所述摘要信息和该客户端公钥验证所述客户端签名;验证通过后,移动应用平台或客户端向认证端发送并请求其验证基于虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名。
本实施例中,客户端将接收到的第一客户端私钥与本地保存的第二客户端私钥合成客户端私钥,合成方法优选为通过dc=dc1||dc2进行计算,其中,dc为客户端私钥,dc1为第一客户端私钥,dc2为第二客户端私钥。通过合成的客户端私钥对虚拟卡交易数据中的待签数据,例如订单数据进行签名,并将生成的客户端签名发送至移动应用平台中,移动应用平台通过摘要信息和该客户端公钥验证所述客户端签名,若本次交易数据被篡改,与发送摘要信息时的交易数据不一致,验证失败,并将错误提示数据发送至客户端中,摘要信息有效抵御会话劫持、数据重放等攻击。验证通过后,客户端或移动应用平台向认证端发送并请求其验证基于虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名。移动应用平台不强制与认证方相连,签名结果可直接发送给认证方,也可间接发送给认证方(由客户端中转),兼容现有技术体系标准。本实施例中,认证客户端与产生虚拟卡交易凭证在一个工作流程中紧凑整合,有效的利用了摘要,无多余、重复的数据交互,本实施例的工作流程既起到认证客户端的效果,同时又在移动应用平台不掌握用户交易数据的条件下,利用摘要计算得出交易数据的签名,从而保障了用户的隐私。
进一步的,本发明实施例中,移动应用平台在保存所述私钥获取请求携带的客户端基于虚拟卡交易数据计算的摘要信息的具体步骤包括:保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的虚拟卡待签数据计算的摘要信息;
保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的终端随机数及虚拟卡随机数组成的虚拟卡待签数据计算的摘要信息;和/或
保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的客户端与电商平台生成的订单信息计算的摘要信息。
优选的,根据SM2数字签名的生成算法,基于虚拟卡杂凑值通过两次哈希算法,计算得到摘要信息e,包括:
C1:置
C2:计算客户端向移动应用平台发送摘要e请求计算签名;
其中,M为虚拟卡交易数据中的待签名的消息,ZA为虚拟卡杂凑;ZA||M为ZA与M的拼接;且ZA为根据用户A的虚拟卡IDA及其公钥计算的虚拟卡杂凑值,ZA=H256(ENTLA||IDA||a||b||xG||yG||xA||yA);Hv、H256为哈希算法,其中,ENTLA为用户A的虚拟卡IDA转换成的字节,优选为两个字节,a,b,G为椭圆曲线方程参数;xG,yG,为a,b的坐标;xA,yA为公钥PA的坐标。虚拟卡的IDA,是认证方能够唯一识别虚拟卡的标记,没有强制限制,例如卡号、卡序列号、支付标记等,也可以使用默认值。客户端只保存最后的Za结果(杂凑运算后的32字节),参与Za生成的参数(例如IDA)不需要单独保存,由于杂凑运算的不可逆性,不能通过Za逆向恢复签名IDA等参数。
本发明实施例直接使用虚拟卡杂凑(而非客户端杂凑)计算摘要,从而避免了交易数据的交互,为发卡行标准化的验证提供无缝的技术支撑。
进一步的,保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的终端随机数和虚拟卡随机数组成的虚拟卡待签数据计算的摘要信息,包括:
客户端接收受理终端发送的终端随机数;同时生成虚拟卡随机数;
对虚拟卡杂凑和终端随机数及虚拟卡随机数经过两次哈希运算后得到摘要信息;
保存客户端发送的私钥获取请求携带的所述摘要信息。
其中,终端随机数是为了构造动态数据,动态数据中的随机数一个由受理终端(可信)产生,一个由移动客户端(非可信)产生,由受理终端(可信)强制保证了数据的动态性,防止重放等欺骗性攻击。
进一步的,保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的客户端与电商平台生成的订单信息计算的摘要信息,包括:
客户端响应于客户端与电商平台生成的订单信息;
对虚拟卡杂凑和所述订单信息经过两次哈希运算后得到摘要信息;
保存客户端发送的私钥获取请求携带的所述摘要信息。
对订单数据计算摘要不需要特别产生随机数,一般订单数据包括的流水号包括随机成分,例如流水号=日期+时间+6位随机数。签名过程会再产生过程随机数,用于确保对于相同的待签数据和Za,每次输出的签名结果都不同,可使用随机数发生器产生随机数k∈[1,n-1]。
进一步的,所述响应于所述客户端发送的基于第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥生成的客户端签名,包括:
C3:客户端将接收到的第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥dc=dc1||dc2;
C4:接收随机数发生器产生的随机数k∈[1,n-1];
C5:通过所述随机数计算椭圆曲线点(x1,y1)=[k]G;G为椭圆曲线的基点;
C6:基于所述椭圆曲线点和客户端私钥计算得到客户端签名;
具体的,计算r=(e+x1)mod n,若r=0或r+k=n则返回C4;
计算s=((1+dc)-1·(k–r·dc))mod n,若s=0则返回C4;
将消息M的签名(r,s)作为客户端签名发送给移动应用平台;
移动应用平台响应于所述客户端发送的所述客户端签名。
进一步的,所述通过所述摘要信息和该客户端公钥验证所述客户端签名;包括:
验证所述客户端签名是否为该客户端对应的客户端签名信息,验证失败,向客户端返回错误提示;验证通过;则
获取存储的客户端公钥和存储的摘要信息验证所述客户端签名是否正确,验证失败,向客户端返回错误提示,验证通过,使用存储的虚拟卡私钥对摘要信息进行签名产生虚拟卡签名。
具体的,S2:计算t=(r+s)mod n,若t=0,则向客户端返回错误提示,否则继续以下步骤;
S3:计算椭圆曲线点(x1’,y1’)=[s]G+[t]PC;PC为请求客户端的公钥;
S4:读取移动应用平台所保存的摘要e,计算R=(e+x1’)mod n,检验R=r是否成立,若成立则继续以下步骤;否则向客户端返回错误提示;
S5:用随机数发生器产生随机数k∈[1,n-1];
S6:计算椭圆曲线点(x1,y1)=[k]G;
S7:计算r=(e+x1)mod n,若r=0或r+k=n则返回S5;
S8:计算s=((1+dA)-1·(k–r·dA))mod n,若s=0则返回S5;
S9:签名(r,s)即为虚拟卡对消息M的签名。虚拟卡签名可通过任意通道直接或间接的发送至认证端验证;
进一步的,通过客户端或移动应用平台所述向认证端发送并请求其验证基于虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名,包括:
将虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名以及虚拟卡签名验证请求发送至认证端;认证端接收到虚拟卡签名后,采用标准数字签名验证算法用于验证虚拟卡签名(交易签名凭证)。
接收认证端返回的基于客户端的虚拟卡公钥证书对所述虚拟卡签名的验证结果,验证失败,向客户端返回错误提示;验证通过,通过所述虚拟卡交易请求。
移动应用平台不强制与认证方连接,签名结果可直接发送给认证方,也可间接发送给认证方(由客户端中转)。可支持线下交易,如受理终端(非接POS机),兼容现有技术体系标准。
一应用实例,以金融虚拟卡线下认证为例:用户使用虚拟卡进行消费,触发身份认证,受理终端发送终端随机数,与客户端生成的虚拟卡随机数计算摘要,摘要的计算优选为根据SM2数字签名的生成算法进行计算,包括了两次哈希运算得到摘要信息,由于摘要是经两次哈希的运算结果,不能逆向恢复待签数据及签名者杂凑;且对于发卡行,如果根据签名者的虚拟卡ID及其公钥计算的杂凑值不是虚拟卡所对应的杂凑值,验证不能通过。本发明直接使用虚拟卡杂凑(而非客户端杂凑)计算摘要,从而避免了交易数据的交互,为发卡行标准化的验证提供无缝的技术支撑。客户端向移动应用平台发送私钥获取请求和摘要信息,移动应用平台保存摘要信息,并向所述客户端返回其第一客户端私钥,摘要作为交互流程中第一个发送的参数,用来验证后续签名的真实性,有效的约束了签名生成的上下文关系,从而可有效抵御会话劫持、数据重放等攻击。客户端将接收到的第一客户端私钥与本地保存的第二客户端私钥合成客户端私钥,合成方法优选为通过dc=dc1||dc2进行计算,其中,dc为客户端私钥,dc1为第一客户端私钥,dc2为第二客户端私钥。通过合成的客户端私钥对虚拟卡交易数据进行签名,并将生成的客户端签名发送至移动应用平台中,移动应用平台通过摘要信息和该客户端公钥验证所述客户端签名,若本次交易数据被篡改,与发送摘要信息时的交易数据不一致,具体包括但不限于验证ZA不是用户A对应的杂凑值,验证失败,并将错误提示数据发送至客户端中,摘要信息有效抵御会话劫持、数据重放等攻击。验证通过后,向发卡行发送并请求其验证基于虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名。本实施例中,认证客户端与产生虚拟卡交易凭证在一个工作流程中紧凑整合,有效的利用了摘要,无多余、重复的数据交互,本实施例的工作流程既起到认证客户端的效果,同时又在移动应用平台不掌握用户交易数据的条件下,利用摘要计算得出交易数据的签名,从而保障了用户的隐私。
本发明实施例一通过接收客户端发送的私钥获取请求,保存所述私钥获取请求携带的客户端基于虚拟卡交易数据计算的摘要信息;并向所述客户端返回其第一客户端私钥;响应于所述客户端发送的基于第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥生成的客户端签名,通过所述摘要信息和该客户端公钥验证所述客户端签名;验证通过后,可通过移动应用平台或客户端向认证端发送并请求其验证基于虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名的技术方案,确保了移动应用的实体安全,并在合法的使用云端SE,生成了可靠的虚拟卡交易签名凭证,同时具备兼容性。本发明实施例一解决了如何在强认证的前提下,由受信客户端使用云端SE,产生可靠的虚拟卡SM2签名凭证的问题。且由于移动应用平台和客户端分别各自保存了一部分客户端私钥,提高了针对私钥保护的安全性;本发明实施例的工作流程既起到认证客户端的效果,同时又在移动应用平台不掌握用户交易数据(消息为M)的条件下,利用摘要e计算得出交易数据的签名,从而保障了用户的隐私;由于客户端签名的计算需要用到客户端私有保存的第二客户端私钥,仿冒的客户端无法通过移动应用平台的验证,因而不能越权使用虚拟卡私钥;摘要e作为交互流程中第一个发送的参数,有效的约束了签名生成的上下文关系,从而可有效抵御会话劫持、数据重放等攻击。
其中,消息为任意有限长度的比特串。
实施例二
参照图2,图2示出了本发明提供的一种用于进行虚拟卡交易的方法的另一实施例的流程图。本实施例的方法应用于客户端中,该方法包括:步骤S210至步骤S230。
其中,所述客户端存储第二客户端私钥,移动应用平台存储客户端的第一客户端私钥、客户端公钥和客户端的虚拟卡私钥,认证端存储客户端的虚拟卡公钥证书。
在步骤S210中,响应于客户端生成的虚拟卡交易数据;基于所述虚拟卡交易数据向移动应用平台发送私钥获取请求,所述私钥获取请求携带基于虚拟卡交易数据计算的摘要信息。
在步骤S220中,接收移动应用平台发送的第一客户端私钥。
在步骤S230中,基于第一客户端私钥和存储的第二客户端私钥合成客户端私钥;通过所述客户端私钥对所述虚拟卡交易数据签名后生成客户端签名,并将所述客户端签名发送至移动应用平台;以便所述移动应用平台通过所述摘要信息和该客户端公钥验证所述客户端签名;验证通过后,由移动应用平台或客户端向认证端发送并请求其验证基于虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名。
本实施例二与实施例一的不同之处在于执行主体为客户端,且执行步骤应用的优选算法与实施例一相同,受说明书篇幅的限制,在此不再复述,具体的动作和算法以及实施例参考实施例一的描述。但是本领域技术人员应该知悉,本申请并不受所描述的算法以及动作顺序限制,依据本发明,根据公开的技术特征、凡是具有所公开的功能,达到所描述的技术效果的方案都在本发明的保护范围之内。说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
进一步的,所述私钥获取请求携带基于虚拟卡交易数据计算的摘要信息,包括:私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的虚拟卡待签数据计算的摘要信息,包括:
所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的终端随机数及虚拟卡随机数组成的虚拟卡待签数据计算的摘要信息;和/或
所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的客户端与电商平台生成的订单信息计算的摘要信息。
进一步的,所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的终端随机数和虚拟卡随机数组成的虚拟卡待签数据计算的摘要信息,包括:
客户端接收受理终端发送的终端随机数;同时生成虚拟卡随机数;
对虚拟卡杂凑和终端随机数及虚拟卡随机数经过两次哈希运算后得到摘要信息。
进一步的,所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的客户端与电商平台生成的订单信息计算的摘要信息,包括:
客户端响应于客户端与电商平台生成的订单信息;
对虚拟卡杂凑和所述订单信息经过两次哈希运算后得到摘要信息。
进一步的,基于第一客户端私钥和存储的第二客户端私钥合成客户端私钥,通过所述客户端私钥对所述虚拟卡交易数据签名后生成客户端签名,包括:
客户端将接收到的第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥;
接收随机数发生器产生的随机数;
通过所述随机数计算椭圆曲线点;
基于所述椭圆曲线点和客户端私钥计算得到客户端签名。
进一步的,将所述客户端签名发送至移动应用平台;以便所述移动应用平台通过所述摘要信息和该客户端公钥验证所述客户端签名,包括:
将所述客户端签名发送至移动应用平台;移动应用平台验证所述客户端签名是否为该客户端对应的客户端签名信息;验证失败,接收移动应用平台返回的错误提示;
验证通过;移动应用平台获取存储的客户端公钥和存储的摘要信息验证所述客户端签名是否正确;验证失败,接收移动应用平台返回的错误提示,验证通过,移动应用平台使用存储的虚拟卡私钥产生虚拟卡签名。
进一步的,向认证端发送并请求其验证基于虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名,包括:
移动应用平台将虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名以及虚拟卡签名验证请求发送至认证端;接收认证端返回的基于客户端的虚拟卡公钥证书对所述虚拟卡签名的验证结果;验证失败,接收移动应用平台返回的错误提示;验证通过,所述虚拟卡交易请求被通过。
本发明实施例二通过响应于客户端生成的虚拟卡交易数据;基于所述虚拟卡交易数据向移动应用平台发送私钥获取请求,所述私钥获取请求携带基于虚拟卡交易数据计算的摘要信息。接收移动应用平台发送的第一客户端私钥。基于第一客户端私钥和存储的第二客户端私钥合成客户端私钥;通过所述客户端私钥对所述虚拟卡交易数据签名后生成客户端签名,并将所述客户端签名发送至移动应用平台;以便所述移动应用平台通过所述摘要信息和该客户端公钥验证所述客户端签名;验证通过后,由移动应用平台或客户端向认证端发送并请求其验证基于虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名的技术方案,确保了客户端以及移动应用的实体安全,并在合法的使用云端SE,生成了可靠的虚拟卡交易签名凭证。解决了如何在强认证的前提下,由受信客户端使用云端SE,产生可靠的虚拟卡SM2签名凭证的问题。且由于移动应用平台和客户端分别各自保存了一部分客户端私钥,提高了针对私钥保护的安全性;本发明实施例的工作流程既起到认证客户端的效果,同时又在移动应用平台不掌握用户交易数据(消息为M)的条件下,利用摘要e计算得出交易数据的签名,从而保障了用户的隐私;由于客户端签名的计算需要用到客户端私有保存的第二客户端私钥,仿冒的客户端无法通过移动应用平台的验证,因而不能越权使用虚拟卡私钥;摘要e作为交互流程中第一个发送的参数,有效的约束了签名生成的上下文关系,从而可有效抵御会话劫持、数据重放等攻击。
实施例三
参照图3,图3示出了本发明提供的一种用于进行虚拟卡交易的装置300的实施例的结构框图,该装置为移动应用平台。
所述移动应用平台存储客户端的第一客户端私钥、客户端公钥和客户端的虚拟卡私钥,客户端存储第二客户端私钥,认证端存储客户端的虚拟卡公钥证书,其特征在于,所述移动应用平台包括:
接收模块31,用于接收客户端发送的私钥获取请求,保存所述私钥获取请求携带的客户端基于虚拟卡交易数据计算的摘要信息;并向所述客户端返回其第一客户端私钥。
响应模块32,用于响应于所述客户端发送的基于第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥生成的客户端签名,通过所述摘要信息和该客户端公钥验证所述客户端签名;验证通过后,由移动应用平台或客户端向认证端发送并请求其验证基于虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名。
进一步的,所述接收模块,还用于保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的虚拟卡待签数据计算的摘要信息:包括:
第一保存单元,用于保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的终端随机数及虚拟卡随机数组成的虚拟卡待签数据计算的摘要信息;和/或
第二保存单元,用于保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的客户端与电商平台生成的订单信息计算的摘要信息。
第一保存单元,包括:
第一保存子单元,用于在客户端接收受理终端发送的终端随机数;同时生成虚拟卡随机数;对虚拟卡杂凑和终端随机数及虚拟卡随机数经过两次哈希运算后得到摘要信息;保存客户端发送的私钥获取请求携带的所述摘要信息。
第二保存单元,包括:
第二保存子单元,用于在客户端响应于客户端与电商平台生成的订单信息;对虚拟卡杂凑和所述订单信息经过两次哈希运算后得到摘要信息;保存客户端发送的私钥获取请求携带的所述摘要信息。
所述响应模块,包括:
合成单元,用于在客户端将接收到的第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥;
响应单元,用于接收随机数发生器产生的随机数;通过所述随机数计算椭圆曲线点;基于所述椭圆曲线点和客户端私钥计算得到客户端签名;响应于所述客户端发送的所述客户端签名。
所述响应模块;包括:
第一验证单元,用于验证所述客户端签名是否为该客户端对应的客户端签名信息,验证失败,向客户端返回错误提示;验证通过;则触发第二验证单元;
第二验证单元,用于获取存储的客户端公钥和存储的摘要信息验证所述客户端签名是否正确,验证失败,向客户端返回错误提示,验证通过,使用存储的虚拟卡私钥产生虚拟卡签名。
所述响应模块,包括:
发送单元,用于将虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名以及虚拟卡签名验证请求发送至认证端;
接收单元,用于接收认证端返回的基于客户端的虚拟卡公钥证书对所述虚拟卡签名的验证结果,验证失败,向客户端返回错误提示;验证通过,通过所述虚拟卡交易请求。
具体实现的功能和处理方式参见方法实施例一描述的具体步骤。
由于本实施例三的装置所实现的处理及功能基本相应于前述图1所示的方法的实施例、原理和实例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
本实施例三提供了一种用于进行虚拟卡交易的装置,该装置为移动应用平台,采用双密钥体系结构用于认证移动客户端及产生虚拟卡交易签名凭证,其中,客户端私钥用于产生客户端签名,私钥分为两段,分离保存在移动应用平台和客户端中;虚拟卡私钥完整保存在移动应用平台中,用于产生虚拟卡签名;认证端保存虚拟卡公钥证书,用于验证虚拟卡签名,认证端包括但不限于发卡机构或与客户端进行交易的电商平台。本发明的技术方案中,客户端私钥采用了分段机制,分离保存在客户端和移动应用平台中,由于移动应用平台和客户端分别各自保存了一部分客户端私钥,提高了针对私钥保护的安全性;本发明设计了双密钥体系结构,只有在客户端被认证通过的条件下,才能继续使用所托管虚拟卡私钥;被认证客户端与产生虚拟卡交易凭证在一个工作流程中紧凑整合,有效的利用了摘要信息,无多余、重复的数据交互;由于摘要是经两次哈希的运算结果,不能逆向恢复待签数据及签名者杂凑;本发明直接使用虚拟卡杂凑(而非客户端杂凑)计算摘要信息,从而避免了虚拟卡交易数据的交互,为验证提供无缝的技术支撑。本发明的工作流程既起到认证客户端的效果,同时又在移动应用平台不掌握用户虚拟卡交易数据的条件下,利用摘要信息计算得出交易数据的签名,从而保障了用户的隐私;由于客户端签名的计算需要用到客户端私有保存的第二客户端私钥,仿冒的客户端无法通过移动应用平台的验证,因而不能越权使用虚拟卡私钥;摘要信息作为交互流程中第一个发送的参数,有效的约束了签名生成的上下文关系,从而可有效抵御会话劫持、数据重放等攻击。
实施例四
参照图4,图4示出了本发明提供的一种用于进行虚拟卡交易的装置400的实施例的结构框图,该装置为客户端。
所述客户端存储第二客户端私钥,移动应用平台存储客户端的第一客户端私钥、客户端公钥和客户端的虚拟卡私钥,认证端存储客户端的虚拟卡公钥证书,其特征在于,所述客户端包括:
客户端发送模块41,用于响应于客户端生成的虚拟卡交易数据;基于所述虚拟卡交易数据向移动应用平台发送私钥获取请求,所述私钥获取请求携带基于虚拟卡交易数据计算的摘要信息;
客户端接收模块42,用于接收移动应用平台发送的第一客户端私钥;
客户端签名模块43,用于基于第一客户端私钥和存储的第二客户端私钥合成客户端私钥;通过所述客户端私钥对所述虚拟卡交易数据签名后生成客户端签名,并将所述客户端签名发送至移动应用平台;以便所述移动应用平台通过所述摘要信息和该客户端公钥验证所述客户端签名;验证通过后,由移动应用平台或客户端向认证端发送并请求其验证基于虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名。
进一步的,所述客户端发送模块,用于在所述私钥获取请求中携带基于虚拟卡杂凑和虚拟卡交易数据中的虚拟卡待签数据计算的摘要信息,包括:
第一计算单元,用于基于虚拟卡杂凑和虚拟卡交易数据中的终端随机数及虚拟卡随机数组成的虚拟卡待签数据计算的摘要信息;和/或
第二计算单元,用于基于虚拟卡杂凑和虚拟卡交易数据中的客户端与电商平台生成的订单信息计算的摘要信息。
所述第一计算单元,包括:
第一计算子单元,用于在客户端接收受理终端发送的终端随机数;同时生成虚拟卡随机数;对虚拟卡杂凑和终端随机数及虚拟卡随机数经过两次哈希运算后得到摘要信息。
所述第二计算单元,包括:
第二计算子单元,用于在客户端响应于客户端与电商平台生成的订单信息;对虚拟卡杂凑和所述订单信息经过两次哈希运算后得到摘要信息。
所述客户端签名模块,包括:
客户端合成单元,用于将接收到的第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥;
客户端签名单元,用于接收随机数发生器产生的随机数;通过所述随机数计算椭圆曲线点;基于所述椭圆曲线点和客户端私钥计算得到客户端签名。
所述客户端签名模块,包括:
第一客户端验证单元,用于将所述客户端签名发送至移动应用平台;移动应用平台验证所述客户端签名是否为该客户端对应的客户端签名信息;验证失败,接收移动应用平台返回的错误提示;验证通过;触发第二客户端验证单元;
第二客户端验证单元,用于在移动应用平台获取存储的客户端公钥和存储的摘要信息验证所述客户端签名是否正确;验证失败,接收移动应用平台返回的错误提示,验证通过,移动应用平台使用存储的虚拟卡私钥产生虚拟卡签名。
所述客户端签名模块,包括:
客户端接收单元,用于在移动应用平台将虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名以及虚拟卡签名验证请求发送至认证端;移动应用平台接收认证端返回的基于客户端的虚拟卡公钥证书对所述虚拟卡签名的验证结果;验证失败,接收移动应用平台返回的错误提示;验证通过,所述虚拟卡交易请求被通过。
具体实现的功能和处理方式参见方法实施例二描述的具体步骤。
由于本实施例四的装置所实现的处理及功能基本相应于前述图2所示的方法的实施例、原理和实例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
本实施例四提供了一种用于进行虚拟卡交易的装置,该装置为客户端,采用双密钥体系结构用于认证移动客户端及产生虚拟卡交易签名凭证,其中,客户端私钥用于产生客户端签名,私钥分为两段,分离保存在移动应用平台和客户端中;虚拟卡私钥完整保存在移动应用平台中,用于产生虚拟卡签名;认证端保存虚拟卡公钥证书,用于验证虚拟卡签名,认证端包括但不限于发卡机构或与客户端进行交易的电商平台。本发明的技术方案中,客户端私钥采用了分段机制,分离保存在客户端和移动应用平台中,由于移动应用平台和客户端分别各自保存了一部分客户端私钥,提高了针对私钥保护的安全性;本发明设计了双密钥体系结构,只有在客户端被认证通过的条件下,才能继续使用所托管虚拟卡私钥;被认证客户端与产生虚拟卡交易凭证在一个工作流程中紧凑整合,有效的利用了摘要信息,无多余、重复的数据交互;由于摘要是经两次哈希的运算结果,不能逆向恢复待签数据及签名者杂凑;本发明直接使用虚拟卡杂凑(而非客户端杂凑)计算摘要信息,从而避免了虚拟卡交易数据的交互,为验证提供无缝的技术支撑。本发明的工作流程既起到认证客户端的效果,同时又在移动应用平台不掌握用户虚拟卡交易数据的条件下,利用摘要信息计算得出交易数据的签名,从而保障了用户的隐私;由于客户端签名的计算需要用到客户端私有保存的第二客户端私钥,仿冒的客户端无法通过移动应用平台的验证,因而不能越权使用虚拟卡私钥;摘要信息作为交互流程中第一个发送的参数,有效的约束了签名生成的上下文关系,从而可有效抵御会话劫持、数据重放等攻击。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
需要指出,根据实施的需要,可将本申请中描述的各个步骤/部件拆分为更多步骤/部件,也可将两个或多个步骤/部件或者步骤/部件的部分操作组合成新的步骤/部件,以实现本发明的目的。
上述根据本发明的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的处理方法。此外,当通用计算机访问用于实现在此示出的处理的代码时,代码的执行将通用计算机转换为用于执行在此示出的处理的专用计算机。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (28)
1.一种用于进行虚拟卡交易的方法,该方法应用于移动应用平台中,所述移动应用平台存储客户端的第一客户端私钥、客户端公钥和客户端的虚拟卡私钥,客户端存储第二客户端私钥,认证端存储客户端的虚拟卡公钥证书,其特征在于,包括:
接收客户端发送的私钥获取请求,保存所述私钥获取请求携带的客户端基于虚拟卡交易数据计算的所述摘要信息;并向所述客户端返回其第一客户端私钥;
响应于所述客户端发送的基于第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥生成的客户端签名,通过所述摘要信息和该客户端公钥验证所述客户端签名;验证通过后,由移动应用平台或客户端向认证端发送并请求其验证基于虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名。
2.如权利要求1所述的方法,其特征在于,保存所述私钥获取请求携带的客户端基于虚拟卡交易数据计算的摘要信息,包括:保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的虚拟卡待签数据计算的摘要信息;具体为:
保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的终端随机数及虚拟卡随机数组成的虚拟卡待签数据计算的摘要信息;和/或
保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的客户端与电商平台生成的订单信息计算的摘要信息。
3.如权利要求2所述的方法,其特征在于,保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的终端随机数和虚拟卡随机数组成的虚拟卡待签数据计算的摘要信息,包括:
客户端接收受理终端发送的终端随机数;同时生成虚拟卡随机数;
对虚拟卡杂凑和终端随机数及虚拟卡随机数经过两次哈希运算后得到摘要信息;
保存客户端发送的私钥获取请求携带的所述摘要信息。
4.如权利要求2所述的方法,其特征在于,保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的客户端与电商平台生成的订单信息计算的摘要信息,包括:
客户端响应于客户端与电商平台生成的订单信息;
对虚拟卡杂凑和所述订单信息经过两次哈希运算后得到摘要信息;
保存客户端发送的私钥获取请求携带的所述摘要信息。
5.如权利要求1-4之一所述的方法,其特征在于,所述响应于所述客户端发送的基于第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥生成的客户端签名,包括:
客户端将接收到的第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥;
接收随机数发生器产生的随机数;
通过所述随机数计算椭圆曲线点;
基于所述椭圆曲线点和客户端私钥计算得到客户端签名;
响应于所述客户端发送的所述客户端签名。
6.如权利要求1-5之一所述的方法,其特征在于,所述通过所述摘要信息和该客户端公钥验证所述客户端签名;包括:
验证所述客户端签名是否为该客户端对应的客户端签名信息,验证失败,向客户端返回错误提示;验证通过;则
获取存储的客户端公钥和存储的摘要信息验证所述客户端签名是否正确,验证失败,向客户端返回错误提示,验证通过,使用存储的虚拟卡私钥产生虚拟卡签名。
7.如权利要求1-6之一所述的方法,其特征在于,所述由移动应用平台或客户端向认证端发送并请求其验证基于虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名,包括:
将虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名以及虚拟卡签名验证请求发送至认证端;
接收认证端返回的基于客户端的虚拟卡公钥证书对所述虚拟卡签名的验证结果,验证失败,向客户端返回错误提示;验证通过,通过所述虚拟卡交易请求。
8.一种用于进行虚拟卡交易的方法,该方法应用于客户端中,所述客户端存储第二客户端私钥,移动应用平台存储客户端的第一客户端私钥、客户端公钥和客户端的虚拟卡私钥,认证端存储客户端的虚拟卡公钥证书,其特征在于,包括:
响应于客户端生成的虚拟卡交易数据;基于所述虚拟卡交易数据向移动应用平台发送私钥获取请求,所述私钥获取请求携带基于虚拟卡交易数据计算的摘要信息;
接收移动应用平台发送的第一客户端私钥;
基于第一客户端私钥和存储的第二客户端私钥合成客户端私钥;通过所述客户端私钥对所述虚拟卡交易数据签名后生成客户端签名,并将所述客户端签名发送至移动应用平台;以便所述移动应用平台通过所述摘要信息和该客户端公钥验证所述客户端签名;验证通过后,由移动应用平台或客户端向认证端发送并请求其验证基于虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名。
9.如权利要求8所述的方法,其特征在于,所述私钥获取请求携带基于虚拟卡交易数据计算的摘要信息,包括:所述私钥获取请求携带基于虚拟卡杂凑和虚拟卡交易数据中的虚拟卡待签数据计算的摘要信息;具体为:
所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的终端随机数及虚拟卡随机数组成的虚拟卡待签数据计算的摘要信息;和/或
所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的客户端与电商平台生成的订单信息计算的摘要信息。
10.如权利要求9所述的方法,其特征在于,所述私钥获取请求携带的客户端基于终端随机数和虚拟卡随机数计算的摘要信息,包括:
客户端接收受理终端发送的终端随机数;同时生成虚拟卡随机数;
对虚拟卡杂凑和终端随机数及虚拟卡随机数经过两次哈希运算后得到摘要信息。
11.如权利要求9所述的方法,其特征在于,所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的客户端与电商平台生成的订单信息计算的摘要信息,包括:
客户端响应于客户端与电商平台生成的订单信息;
对虚拟卡杂凑和所述订单信息经过两次哈希运算后得到摘要信息。
12.如权利要求8-11之一所述的方法,其特征在于,基于第一客户端私钥和存储的第二客户端私钥合成客户端私钥,通过所述客户端私钥对所述虚拟卡交易数据签名后生成客户端签名,包括:
客户端将接收到的第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥;
接收随机数发生器产生的随机数;
通过所述随机数计算椭圆曲线点;
基于所述椭圆曲线点和客户端私钥计算得到客户端签名。
13.如权利要求8-12之一所述的方法,其特征在于,将所述客户端签名发送至移动应用平台;以便所述移动应用平台通过所述摘要信息和该客户端公钥验证所述客户端签名,包括:
将所述客户端签名发送至移动应用平台;移动应用平台验证所述客户端签名是否为该客户端对应的客户端签名信息;验证失败,接收移动应用平台返回的错误提示;
验证通过;移动应用平台获取存储的客户端公钥和存储的摘要信息验证所述客户端签名是否正确;验证失败,接收移动应用平台返回的错误提示,验证通过,移动应用平台使用存储的虚拟卡私钥产生虚拟卡签名。
14.如权利要求8-13之一所述的方法,其特征在于,由移动应用平台或客户端向认证端发送并请求其验证基于虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名,包括:
移动应用平台将虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名以及虚拟卡签名验证请求发送至认证端;接收认证端返回的基于客户端的虚拟卡公钥证书对所述虚拟卡签名的验证结果;验证失败,接收移动应用平台返回的错误提示;验证通过,所述虚拟卡交易请求被通过。
15.一种用于进行虚拟卡交易的装置,该装置为移动应用平台,所述移动应用平台存储客户端的第一客户端私钥、客户端公钥和客户端的虚拟卡私钥,客户端存储第二客户端私钥,认证端存储客户端的虚拟卡公钥证书,其特征在于,所述移动应用平台包括:
接收模块,用于接收客户端发送的私钥获取请求,保存所述私钥获取请求携带的客户端基于虚拟卡交易数据计算的摘要信息;并向所述客户端返回其第一客户端私钥;
响应模块,用于响应于所述客户端发送的基于第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥生成的客户端签名,通过所述摘要信息和该客户端公钥验证所述客户端签名;验证通过后,由移动应用平台或客户端向认证端发送并请求其验证基于虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名。
16.如权利要求15所述的装置,其特征在于,所述接收模块,还用于保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的虚拟卡待签数据计算的摘要信息;包括:
第一保存单元,用于保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的终端随机数及虚拟卡随机数组成的虚拟卡待签数据计算的摘要信息;和/或
第二保存单元,用于保存所述私钥获取请求携带的客户端基于虚拟卡杂凑和虚拟卡交易数据中的客户端与电商平台生成的订单信息计算的摘要信息。
17.如权利要求16所述的装置,其特征在于,第一保存单元,包括:
第一保存子单元,用于在客户端接收受理终端发送的终端随机数;同时生成虚拟卡随机数;对虚拟卡杂凑和终端随机数及虚拟卡随机数经过两次哈希运算后得到摘要信息;保存客户端发送的私钥获取请求携带的所述摘要信息。
18.如权利要求16所述的装置,其特征在于,第二保存单元,包括:
第二保存子单元,用于在客户端响应于客户端与电商平台生成的订单信息;对虚拟卡杂凑和所述订单信息经过两次哈希运算后得到摘要信息;保存客户端发送的私钥获取请求携带的所述摘要信息。
19.如权利要求15-18之一所述的装置,其特征在于,所述响应模块,包括:
合成单元,用于在客户端将接收到的第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥;
响应单元,用于接收随机数发生器产生的随机数;通过所述随机数计算椭圆曲线点;基于所述椭圆曲线点和客户端私钥计算得到客户端签名;响应于所述客户端发送的所述客户端签名。
20.如权利要求15-19之一所述的装置,其特征在于,所述响应模块;包括:
第一验证单元,用于验证所述客户端签名是否为该客户端对应的客户端签名信息,验证失败,向客户端返回错误提示;验证通过;则触发第二验证单元;
第二验证单元,用于获取存储的客户端公钥和存储的摘要信息验证所述客户端签名是否正确,验证失败,向客户端返回错误提示,验证通过,使用存储的虚拟卡私钥产生虚拟卡签名。
21.如权利要求15-20之一所述的装置,其特征在于,所述响应模块,包括:
发送单元,用于将虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名以及虚拟卡签名验证请求发送至认证端;
接收单元,用于接收认证端返回的基于客户端的虚拟卡公钥证书对所述虚拟卡签名的验证结果,验证失败,向客户端返回错误提示;验证通过,通过所述虚拟卡交易请求。
22.一种用于进行虚拟卡交易的装置,该装置为客户端,所述客户端存储第二客户端私钥,移动应用平台存储客户端的第一客户端私钥、客户端公钥和客户端的虚拟卡私钥,认证端存储客户端的虚拟卡公钥证书,其特征在于,所述客户端包括:
客户端发送模块,用于响应于客户端生成的虚拟卡交易数据;基于所述虚拟卡交易数据向移动应用平台发送私钥获取请求,所述私钥获取请求携带基于虚拟卡交易数据计算的摘要信息;
客户端接收模块,用于接收移动应用平台发送的第一客户端私钥;
客户端签名模块,用于基于第一客户端私钥和存储的第二客户端私钥合成客户端私钥;通过所述客户端私钥对所述虚拟卡交易数据签名后生成客户端签名,并将所述客户端签名发送至移动应用平台;以便所述移动应用平台通过所述摘要信息和该客户端公钥验证所述客户端签名;验证通过后,由移动应用平台或客户端向认证端发送并请求其验证基于虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名。
23.如权利要求22所述的装置,其特征在于,所述客户端发送模块,用于在所述私钥获取请求中携带基于虚拟卡杂凑和虚拟卡交易数据中的虚拟卡待签数据计算的摘要信息,包括:
第一计算单元,用于基于虚拟卡杂凑和虚拟卡交易数据中的终端随机数及虚拟卡随机数组成的虚拟卡待签数据计算的摘要信息;和/或
第二计算单元,用于基于虚拟卡杂凑和虚拟卡交易数据中的客户端与电商平台生成的订单信息计算的摘要信息。
24.如权利要求22所述的装置,其特征在于,所述第一计算单元,包括:
第一计算子单元,用于在客户端接收受理终端发送的终端随机数;同时生成虚拟卡随机数;对虚拟卡杂凑和终端随机数及虚拟卡随机数经过两次哈希运算后得到摘要信息。
25.如权利要求22所述的装置,其特征在于,所述第二计算单元,包括:
第二计算子单元,用于在客户端响应于客户端与电商平台生成的订单信息;对虚拟卡杂凑和所述订单信息经过两次哈希运算后得到摘要信息。
26.如权利要求22-25之一所述的装置,其特征在于,所述客户端签名模块,包括:
客户端合成单元,用于将接收到的第一客户端私钥和客户端存储的第二客户端私钥合成客户端私钥;
客户端签名单元,用于接收随机数发生器产生的随机数;通过所述随机数计算椭圆曲线点;基于所述椭圆曲线点和客户端私钥计算得到客户端签名。
27.如权利要求22-26之一所述的装置,其特征在于,所述客户端签名模块,包括:
第一客户端验证单元,用于将所述客户端签名发送至移动应用平台;移动应用平台验证所述客户端签名是否为该客户端对应的客户端签名信息;验证失败,接收移动应用平台返回的错误提示;验证通过;触发第二客户端验证单元;
第二客户端验证单元,用于在移动应用平台获取存储的客户端公钥和存储的摘要信息验证所述客户端签名是否正确;验证失败,接收移动应用平台返回的错误提示,验证通过,移动应用平台使用存储的虚拟卡私钥产生虚拟卡签名。
28.如权利要求22-27之一所述的装置,其特征在于,所述客户端签名模块,包括:
客户端接收单元,用于在移动应用平台将虚拟卡私钥对所述摘要信息签名后产生的虚拟卡签名以及虚拟卡签名验证请求发送至认证端;移动应用平台接收认证端返回的基于客户端的虚拟卡公钥证书对所述虚拟卡签名的验证结果;验证失败,接收移动应用平台返回的错误提示;验证通过,所述虚拟卡交易请求被通过。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2016104741670 | 2016-06-24 | ||
CN201610474167.0A CN105933338A (zh) | 2016-06-24 | 2016-06-24 | 一种用于进行虚拟卡交易的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107257284A true CN107257284A (zh) | 2017-10-17 |
CN107257284B CN107257284B (zh) | 2020-05-19 |
Family
ID=56828202
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610474167.0A Pending CN105933338A (zh) | 2016-06-24 | 2016-06-24 | 一种用于进行虚拟卡交易的方法和装置 |
CN201710438940.2A Active CN107257284B (zh) | 2016-06-24 | 2017-06-12 | 一种用于进行虚拟卡交易的方法和装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610474167.0A Pending CN105933338A (zh) | 2016-06-24 | 2016-06-24 | 一种用于进行虚拟卡交易的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN105933338A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110766388A (zh) * | 2018-07-27 | 2020-02-07 | 北京三快在线科技有限公司 | 虚拟卡生成方法及系统、电子设备 |
CN110956461A (zh) * | 2018-09-27 | 2020-04-03 | 深圳市中数信技术开发有限公司 | 一种托管电子签名与验证的方法及系统 |
CN111178896A (zh) * | 2019-12-05 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 乘车支付方法、装置及存储介质 |
CN114157414A (zh) * | 2020-09-07 | 2022-03-08 | 仁东控股股份有限公司 | 一种关于数字货币的身份凭证生成方法、验证方法及系统 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107480971B (zh) * | 2017-08-08 | 2020-11-03 | 广州交嵌信息技术有限公司 | 虚拟国标cpu卡以及基于虚拟国标cpu卡实现互联网用户交易的方法 |
CN108470279B (zh) * | 2018-03-20 | 2021-07-27 | 北京红马传媒文化发展有限公司 | 电子票的转让及验证方法、客户端、服务器、票务系统 |
CN108846650A (zh) * | 2018-05-24 | 2018-11-20 | 北京比特大陆科技有限公司 | 一种实现交易信息验证的方法和装置 |
CN111507723A (zh) * | 2020-06-18 | 2020-08-07 | 海南安迈云网络技术有限公司 | 一种数字资产管理交易加密的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1505313A (zh) * | 2002-11-29 | 2004-06-16 | 海南信安数据系统有限公司 | 椭圆曲线签名和验证签名方法和装置 |
WO2005101336A1 (fr) * | 2004-03-15 | 2005-10-27 | France Telecom | Dispositif de transaction a efficacite amelioree |
CN102187353A (zh) * | 2008-09-05 | 2011-09-14 | 吉弗坦戈公司 | 用于虚拟储值卡的身份验证的系统和方法 |
CN202197405U (zh) * | 2011-08-05 | 2012-04-18 | 常钧 | 无线安全密钥设备和电子商务业务系统 |
CN105827412A (zh) * | 2016-03-14 | 2016-08-03 | 中金金融认证中心有限公司 | 认证方法、服务器及客户端 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1697376A (zh) * | 2005-05-16 | 2005-11-16 | 中国工商银行 | 用集成电路卡对数据进行认证或加密的方法和系统 |
CN101576983A (zh) * | 2009-06-16 | 2009-11-11 | 深圳市星龙基电子技术有限公司 | 一种基于移动终端的电子支付方法和系统 |
CN101834946A (zh) * | 2010-05-11 | 2010-09-15 | 丁峰 | 一种进行安全手机支付的方法和进行安全支付的手机 |
CN102609841B (zh) * | 2012-01-13 | 2015-02-25 | 东北大学 | 一种基于数字证书的远程移动支付系统及支付方法 |
-
2016
- 2016-06-24 CN CN201610474167.0A patent/CN105933338A/zh active Pending
-
2017
- 2017-06-12 CN CN201710438940.2A patent/CN107257284B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1505313A (zh) * | 2002-11-29 | 2004-06-16 | 海南信安数据系统有限公司 | 椭圆曲线签名和验证签名方法和装置 |
WO2005101336A1 (fr) * | 2004-03-15 | 2005-10-27 | France Telecom | Dispositif de transaction a efficacite amelioree |
CN102187353A (zh) * | 2008-09-05 | 2011-09-14 | 吉弗坦戈公司 | 用于虚拟储值卡的身份验证的系统和方法 |
CN202197405U (zh) * | 2011-08-05 | 2012-04-18 | 常钧 | 无线安全密钥设备和电子商务业务系统 |
CN105827412A (zh) * | 2016-03-14 | 2016-08-03 | 中金金融认证中心有限公司 | 认证方法、服务器及客户端 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110766388A (zh) * | 2018-07-27 | 2020-02-07 | 北京三快在线科技有限公司 | 虚拟卡生成方法及系统、电子设备 |
CN110766388B (zh) * | 2018-07-27 | 2022-05-31 | 北京三快在线科技有限公司 | 虚拟卡生成方法及系统、电子设备 |
CN110956461A (zh) * | 2018-09-27 | 2020-04-03 | 深圳市中数信技术开发有限公司 | 一种托管电子签名与验证的方法及系统 |
CN110956461B (zh) * | 2018-09-27 | 2023-09-12 | 深圳市中数信技术开发有限公司 | 一种托管电子签名与验证的方法及系统 |
CN111178896A (zh) * | 2019-12-05 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 乘车支付方法、装置及存储介质 |
CN114157414A (zh) * | 2020-09-07 | 2022-03-08 | 仁东控股股份有限公司 | 一种关于数字货币的身份凭证生成方法、验证方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105933338A (zh) | 2016-09-07 |
CN107257284B (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107257284A (zh) | 一种用于进行虚拟卡交易的方法和装置 | |
CN103733564B (zh) | 利用隐式证书链的数字签名 | |
CN106850200A (zh) | 一种使用基于区块链的数字货币的方法、系统及终端 | |
CN108809658A (zh) | 一种基于sm2的身份基的数字签名方法与系统 | |
CA3048425A1 (en) | System and method for an electronic identity brokerage | |
CN109714167A (zh) | 适用于移动应用签名的身份认证与密钥协商方法及设备 | |
CN109639410A (zh) | 基于区块链的数据存证方法及装置、电子设备 | |
CN112215608A (zh) | 数据处理方法和装置 | |
CN108768652A (zh) | 一种可抗量子攻击的联盟区块链底层加密方法 | |
CN107146120A (zh) | 电子发票的生成方法及生成装置 | |
CN107302438A (zh) | 一种基于密钥更新的私钥保护方法、系统及装置 | |
CN109547451A (zh) | 基于tee的可信认证服务认证的方法 | |
CN108985569A (zh) | 一种车辆风险评估方法、服务器 | |
CN109413078B (zh) | 一种基于标准模型下群签名的匿名认证方法 | |
CN109905360A (zh) | 数据验证方法及终端设备 | |
CN109858911A (zh) | 资质验证方法、装置、系统、设备和可读存储介质 | |
CN107908932A (zh) | 一种基于l算法的数字货币防伪及验证方法、系统和设备 | |
CN111339116A (zh) | 一种基于区块链的用于开放银行数据共享的方式 | |
CN107370599A (zh) | 一种远程销毁私钥的管理方法、装置和系统 | |
CN110336663A (zh) | 一种基于区块链技术的PUFs群对群认证方案 | |
CN110505067A (zh) | 区块链的处理方法、装置、设备及可读存储介质 | |
CN111211905A (zh) | 一种基于无证书认证的Fabric联盟链成员身份管理方法 | |
CN108199847A (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN104618307B (zh) | 基于可信计算平台的网银交易认证系统 | |
CN109286500A (zh) | 车辆电子控制单元ecu认证方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PP01 | Preservation of patent right |
Effective date of registration: 20230516 Granted publication date: 20200519 |
|
PP01 | Preservation of patent right |