CN113507372A - 一种接口请求的双向认证方法 - Google Patents

一种接口请求的双向认证方法 Download PDF

Info

Publication number
CN113507372A
CN113507372A CN202110718421.8A CN202110718421A CN113507372A CN 113507372 A CN113507372 A CN 113507372A CN 202110718421 A CN202110718421 A CN 202110718421A CN 113507372 A CN113507372 A CN 113507372A
Authority
CN
China
Prior art keywords
client
card center
request
message
credit card
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.)
Pending
Application number
CN202110718421.8A
Other languages
English (en)
Inventor
韩伟伟
朱峰
邓海磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Pudong Development Bank Co Ltd
Original Assignee
Shanghai Pudong Development Bank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Pudong Development Bank Co Ltd filed Critical Shanghai Pudong Development Bank Co Ltd
Priority to CN202110718421.8A priority Critical patent/CN113507372A/zh
Publication of CN113507372A publication Critical patent/CN113507372A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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
    • H04L9/3242Cryptographic 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 involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/03Credit; Loans; Processing thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Power Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种接口请求的双向认证方法,预先生成客户端与卡中心各自的公私钥对,各自留存自身的私钥信息,并通过开发者平台互换公钥信息;客户端采用SM2国家密码算法与卡中心公钥对请求报文进行加密并获取签名,将签名信息与请求体组装后向卡中心发起认证请求;卡中心网关采用客户端公钥,对接收到的认证请求进行验签操作,若验签成功,则发送报文至卡中心服务端进行业务响应;若验签失败,则拒绝为客户端授权,认证结束;业务响应后,卡中心网关对响应报文进行加密及加签处理,处理后发送报文至客户端,客户端执行验签解密。与现有技术相比,本发明具有避免泄露风险、防止报文遭到恶意篡改、增加请求通信传输中的安全性等优点。

Description

一种接口请求的双向认证方法
技术领域
本发明涉及网络通信安全认证技术领域,尤其是涉及一种接口请求的双向认证方法。
背景技术
互联网的开放性造就了其繁荣。随着互联网的发展,以互联网为依托的网上银行、电子商务、网上基金等新兴交易平台受到越来越多的用户青睐。然而,由于互联网的开放性也导致这些新兴交易平台的安全性一直备受关注。为了保证其安全性,业界推出了USB-KEY、动态口令卡(OTP)、签名认证、手机短信认证等多种安全产品。但是随着技术的不断成熟和深入,针对这些安全防护措施的攻击方式也不断推陈出新。
在银行领域,目前大部分信用卡相关的API网关系统采用的是基于HMAC哈希算法的签名认证方式。HMAC是一种利用密码学中的散列函数来进行消息认证的一种机制,所能提供的消息认证包括两方面内容:
1、消息完整性认证:能够证明消息内容在传送过程没有被修改。
2、信源身份认证:因为通信双方(客户端和信用卡中心)共享了认证的密钥,接收方能够认证发送该数据的信源与所宣称的一致,即能够可靠地确认接收的消息与发送的一致。
HMAC是当前许多安全协议所选用的提供认证服务的方式,应用十分广泛,并且经受住了多种形式攻击的考验。HMAC与一般的加密重要的区别在于它具有“瞬时”性,认证只在当时有效。然而,利用HMAC签名的密钥需要通信双方对称加密,做加密和解密使用的是同一个密钥,通信双方(客户端和信用卡中心)需要通过电话或邮件等其它手段来进行告知密钥,此方式存在泄漏风险,如密钥容易被逆向推导,或报文容易遭到恶意篡改等问题,因此无法确保密钥被安全传递。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种接口请求的双向认证方法。
本发明的目的可以通过以下技术方案来实现:
一种接口请求的双向认证方法,用以对客户端与银行信用卡中心之间的接口请求进行身份认证,该方法包括步骤:
预先生成客户端与银行信用卡中心各自的公、私钥对,二者各自留存自身的私钥信息,且二者通过开发者平台互换公钥信息;
客户端启动,采用SM2国家密码算法与银行信用卡中心公钥对请求报文进行加密并获取签名,将签名信息与请求体组装后向银行信用卡中心发起认证请求;
银行信用卡中心网关采用客户端公钥,对接收到的认证请求进行验签操作,若验签成功,则发送报文至银行信用卡中心服务端进行业务响应;若验签失败,则拒绝为客户端授权,认证结束;
业务响应后,银行信用卡中心网关对响应报文进行加密及加签处理,处理后发送报文至客户端,客户端执行验签解密。
进一步地,客户端采用SM2国家密码算法与银行信用卡中心公钥进行加密并获取签名的具体内容为:
客户端采用SM2国家密码算法与银行信用卡中心的公钥对请求报文进行加密,并将加密内容置于http请求的请求体body中;客户端对加密的body通过SM3国家密码算法生成摘要,并根据生成的摘要和自身的私钥,利用SM2国家密码算法进行签名,签名信息置于请求体头部的sign字段中。
进一步地,若验签成功,则银行信用卡中心网关将body解密的报文转发至卡中心服务端,卡中心服务端处理该解密的报文请求并进行业务响应。
进一步地,业务响应后,卡中心网关将响应报文采用客户端的公钥对响应body加密,加密后通过银行信用卡中心的私钥进行加签处理。
本发明提供的接口请求的双向认证方法,相较于现有技术至少包括如下有益效果:
1)相较于现有技术的HMAC认证方式,本发明采用基于SM2、SM3国家密码算法完成请求通信中的身份认证,并令客户端与卡中心各自生成自己的公私钥对,国家密码算法在密钥交换过程中,仅需交换双方的公钥信息,而私钥无需交换,不存在泄露风险,且公钥信息无法被逆向推导,增加了请求通信传输中的安全性。
2)本发明中采用的基于国家密码算法的认证方式,以SM3哈希算法对加密的报文生成摘要,并使用SM2国家密码算法对请求报文进行加密,加密后的报文参与签名计算以及服务端的签名验证等,即加密后的报文的SM3哈希值可作为签名计算参数,以此方式在网关接收到请求后验证摘要的一致性,可防止报文遭到恶意篡改,进一步提高通信传输的安全性。
附图说明
图1为实施例中接口请求的双向认证方法的流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
实施例
本发明涉及一种接口请求的双向认证方法,该方法基于SM2、SM3等国家密码算法,为客户端与银行信用卡中心(以下简称卡中心)之间的接口请求提供安全的身份认证。
客户端用于发起认证请求。卡中心设有卡中心网关和卡中心服务端,卡中心网关用于接收客户端的认证请求后执行验签操作。卡中心服务端用于处理卡中心网关的报文请求并根据报文请求进行业务响应。
本发明的主要原理是:基于密钥的认证方式,且采用的密钥是通过国家密码算法生成的一对公私钥对。公钥(Public Key)和私钥(Private Key)它们是一对的,公钥公开给发送信息方用于信息加密,接收方接收密文使用私钥解密。这样很好的解决了密钥传输过程的安全性问题。另外私钥可以通过算法推导出公钥,但是私钥到公钥的推导过程是单向的,也就是说公钥是无法反推导出私钥。
基于上述原理,首先令客户端与卡中心各自生成自己的公私钥对。然后,客户端和卡中心各自留存私钥信息,双方通过开发者平台互换公钥信息。
在后续认证中,客户端采用SM2与卡中心公钥对请求体加密。客户端对加密的body通过SM3生成摘要,并使用自己的私钥与摘要通过SM2完成签名。完成以上信息组装后客户端发起请求。卡中心网关对接收到的请求报文使用客户端公钥验签。若验签失败,则将结果返回给卡中心网关,卡中心网关拒绝对请求方授权。若验签成功,将body解密的报文转发给卡中心上游服务系统(卡中心服务端)响应结果。响应后,将响应报文使用客户端的公钥对响应body加密,然后通过卡中心私钥加签。最后将处理后的报文返回给到客户端,由客户端完成验签解密。
具体地,本发明接口请求的双向认证方法的详细流程如图1所示,包括以下步骤:
S0:首先令客户端与卡中心各自生成自己的公私钥对,二者各自留存私钥信息,双方通过开发者平台互换公钥信息。
S1:客户端启动,采用SM2国家密码算法与卡中心的公钥对报文体(请求体)进行加密,并将加密内容放到http请求的请求体body中。
S2:客户端对加密的body通过SM3哈希算法生成摘要,并使用自己的私钥与摘要,通过SM2国家密码算法完成签名,签名信息放到请求头部sign字段中。
S3:客户端对上述步骤得到的信息进行组装后,向客中心网关发起认证请求。
S4:卡中心网关使用客户端公钥,对接收到的认证请求报文进行验签。若验签成功,则执行步骤S5;若验证失败,则执行步骤S6。
S5:将body解密的报文转发至卡中心服务端,卡中心服务端处理该报文请求并进行业务响应。业务处理响应后,执行步骤S7。
S6:将验证失败的结果返回卡中心网关,卡中心网关拒绝请求方(客户端)授权,即授权失败,此次验证程序结束。
S7:卡中心网关将响应报文使用客户端的公钥对响应body加密,然后通过卡中心私钥加签。按此方式加签后,签名的生成规则中就添加了加密后的报文的SM3哈希值作为签名计算参数,可进一步防止报文遭到恶意篡改。
S8:卡中心网关将处理后的报文返回给到客户端,由客户端完成验签解密。
本发明采用基于国家密码算法的认证方式,相较于原HMAC认证方式增加了请求通信传输中的安全性;国家密码算法在密钥交换过程中,仅需交换双方的公钥信息,而私钥无需交换,不存在泄露风险;且公钥信息无法被逆向推导。以SM3哈希算法对加密的报文生成摘要,在网关接收到请求后验证摘要的一致性,可防止报文遭到恶意篡改,进一步提高通信传输的安全性。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的工作人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (4)

1.一种接口请求的双向认证方法,用以对客户端与银行信用卡中心之间的接口请求进行身份认证,其特征在于,所述方法包括:
预先生成客户端与银行信用卡中心各自的公、私钥对,二者各自留存自身的私钥信息,且二者通过开发者平台互换公钥信息;
客户端启动,采用SM2国家密码算法与银行信用卡中心公钥对请求报文进行加密并获取签名,将签名信息与请求体组装后向银行信用卡中心发起认证请求;
银行信用卡中心网关采用客户端公钥,对接收到的认证请求进行验签操作,若验签成功,则发送报文至银行信用卡中心服务端进行业务响应;若验签失败,则拒绝为客户端授权,认证结束;
业务响应后,银行信用卡中心网关对响应报文进行加密及加签处理,处理后发送报文至客户端,客户端执行验签解密。
2.根据权利要求1所述的接口请求的双向认证方法,其特征在于,客户端采用SM2国家密码算法与银行信用卡中心公钥进行加密并获取签名的具体内容为:
客户端采用SM2国家密码算法与银行信用卡中心的公钥对请求报文进行加密,并将加密内容置于http请求的请求体body中;客户端对加密的body通过SM3国家密码算法生成摘要,并根据生成的摘要和自身的私钥,利用SM2国家密码算法进行签名,签名信息置于请求体头部的sign字段中。
3.根据权利要求2所述的接口请求的双向认证方法,其特征在于,若验签成功,则银行信用卡中心网关将body解密的报文转发至卡中心服务端,卡中心服务端处理该解密的报文请求并进行业务响应。
4.根据权利要求3所述的接口请求的双向认证方法,其特征在于,业务响应后,卡中心网关将响应报文采用客户端的公钥对响应body加密,加密后通过银行信用卡中心的私钥进行加签处理。
CN202110718421.8A 2021-06-28 2021-06-28 一种接口请求的双向认证方法 Pending CN113507372A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110718421.8A CN113507372A (zh) 2021-06-28 2021-06-28 一种接口请求的双向认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110718421.8A CN113507372A (zh) 2021-06-28 2021-06-28 一种接口请求的双向认证方法

Publications (1)

Publication Number Publication Date
CN113507372A true CN113507372A (zh) 2021-10-15

Family

ID=78011176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110718421.8A Pending CN113507372A (zh) 2021-06-28 2021-06-28 一种接口请求的双向认证方法

Country Status (1)

Country Link
CN (1) CN113507372A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114553553A (zh) * 2022-02-24 2022-05-27 蓝想大数据科技(上海)有限公司 一种混合加密通讯方法
CN115085977A (zh) * 2022-05-24 2022-09-20 上海浦东发展银行股份有限公司 一种基于Unix域套接字实现国密功能的系统及其方法
CN115529176A (zh) * 2022-09-20 2022-12-27 厦门最有料数字科技有限公司 一种多客户端接口验签管理方法
CN116647415A (zh) * 2023-07-27 2023-08-25 安腾网信(北京)科技有限公司 一种终端双向认证方法、装置及跨网跨域数据交换系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107302541A (zh) * 2017-07-31 2017-10-27 成都蓝码科技发展有限公司 一种基于http协议的数据加密传输方法
CN111756726A (zh) * 2020-06-23 2020-10-09 上海缔安科技股份有限公司 一种支持国密算法的sip安全认证方法
CN112788011A (zh) * 2020-12-30 2021-05-11 上海浦东发展银行股份有限公司 一种基于国密算法的网关双向认证系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107302541A (zh) * 2017-07-31 2017-10-27 成都蓝码科技发展有限公司 一种基于http协议的数据加密传输方法
CN111756726A (zh) * 2020-06-23 2020-10-09 上海缔安科技股份有限公司 一种支持国密算法的sip安全认证方法
CN112788011A (zh) * 2020-12-30 2021-05-11 上海浦东发展银行股份有限公司 一种基于国密算法的网关双向认证系统及方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114553553A (zh) * 2022-02-24 2022-05-27 蓝想大数据科技(上海)有限公司 一种混合加密通讯方法
CN115085977A (zh) * 2022-05-24 2022-09-20 上海浦东发展银行股份有限公司 一种基于Unix域套接字实现国密功能的系统及其方法
CN115085977B (zh) * 2022-05-24 2024-03-26 上海浦东发展银行股份有限公司 一种基于Unix域套接字实现国密功能的系统及其方法
CN115529176A (zh) * 2022-09-20 2022-12-27 厦门最有料数字科技有限公司 一种多客户端接口验签管理方法
CN116647415A (zh) * 2023-07-27 2023-08-25 安腾网信(北京)科技有限公司 一种终端双向认证方法、装置及跨网跨域数据交换系统
CN116647415B (zh) * 2023-07-27 2023-09-22 安腾网信(北京)科技有限公司 一种终端双向认证方法、装置及跨网跨域数据交换系统

Similar Documents

Publication Publication Date Title
US20220070001A1 (en) Methods for secure credential provisioning
US11258777B2 (en) Method for carrying out a two-factor authentication
US9967090B2 (en) Efficient methods for protecting identity in authenticated transmissions
CN109728909B (zh) 基于USBKey的身份认证方法和系统
US6535980B1 (en) Keyless encryption of messages using challenge response
US7975139B2 (en) Use and generation of a session key in a secure socket layer connection
CN113507372A (zh) 一种接口请求的双向认证方法
JP2011125020A (ja) 非証明書公開キーインフラストラクチャーに基づく、安全なクライアント・サーバー間の通信を設計するシステムおよび方法
WO2001084761A1 (en) Method for securing communications between a terminal and an additional user equipment
CN108599925A (zh) 一种基于量子通信网络的改进型aka身份认证系统和方法
WO2015158172A1 (zh) 一种用户身份识别卡
CN110138548B (zh) 基于非对称密钥池对和dh协议的量子通信服务站密钥协商方法和系统
CN112766962A (zh) 证书的接收、发送方法及交易系统、存储介质、电子装置
CN110505055A (zh) 基于非对称密钥池对和密钥卡的外网接入身份认证方法和系统
CN108401494B (zh) 一种传输数据的方法及系统
CN103905388A (zh) 一种认证方法、认证装置、智能卡、服务器
CN111416712B (zh) 基于多个移动设备的量子保密通信身份认证系统及方法
CN110519222B (zh) 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和系统
CN117081736A (zh) 密钥分发方法、密钥分发装置、通信方法及通信装置
CN110098925B (zh) 基于非对称密钥池对和随机数的量子通信服务站密钥协商方法和系统
CN110866754A (zh) 一种基于动态口令的纯软件dpva身份认证方法
JP2010512036A (ja) 暗号化されたメッセージを伝送する方法
CN114650173A (zh) 一种加密通讯方法及系统
CN110266483B (zh) 基于非对称密钥池对和qkd的量子通信服务站密钥协商方法、系统、设备
CN116132986A (zh) 一种数据传输方法、电子设备及存储介质

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20211015

RJ01 Rejection of invention patent application after publication