一种接口请求的双向认证方法技术

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

【技术实现步骤摘要】
一种接口请求的双向认证方法


[0001]本专利技术涉及网络通信安全认证
,尤其是涉及一种接口请求的双向认证方法。

技术介绍

[0002]互联网的开放性造就了其繁荣。随着互联网的发展,以互联网为依托的网上银行、电子商务、网上基金等新兴交易平台受到越来越多的用户青睐。然而,由于互联网的开放性也导致这些新兴交易平台的安全性一直备受关注。为了保证其安全性,业界推出了USB

KEY、动态口令卡(OTP)、签名认证、手机短信认证等多种安全产品。但是随着技术的不断成熟和深入,针对这些安全防护措施的攻击方式也不断推陈出新。
[0003]在银行领域,目前大部分信用卡相关的API网关系统采用的是基于HMAC哈希算法的签名认证方式。HMAC是一种利用密码学中的散列函数来进行消息认证的一种机制,所能提供的消息认证包括两方面内容:
[0004]1、消息完整性认证:能够证明消息内容在传送过程没有被修改。
[0005]2、信源身份认证:因为通信双方(客户端和信用卡中心)共享了认证的密钥,接收方能够认证发送该数据的信源与所宣称的一致,即能够可靠地确认接收的消息与发送的一致。
[0006]HMAC是当前许多安全协议所选用的提供认证服务的方式,应用十分广泛,并且经受住了多种形式攻击的考验。HMAC与一般的加密重要的区别在于它具有“瞬时”性,认证只在当时有效。然而,利用HMAC签名的密钥需要通信双方对称加密,做加密和解密使用的是同一个密钥,通信双方(客户端和信用卡中心)需要通过电话或邮件等其它手段来进行告知密钥,此方式存在泄漏风险,如密钥容易被逆向推导,或报文容易遭到恶意篡改等问题,因此无法确保密钥被安全传递。

技术实现思路

[0007]本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种接口请求的双向认证方法。
[0008]本专利技术的目的可以通过以下技术方案来实现:
[0009]一种接口请求的双向认证方法,用以对客户端与银行信用卡中心之间的接口请求进行身份认证,该方法包括步骤:
[0010]预先生成客户端与银行信用卡中心各自的公、私钥对,二者各自留存自身的私钥信息,且二者通过开发者平台互换公钥信息;
[0011]客户端启动,采用SM2国家密码算法与银行信用卡中心公钥对请求报文进行加密并获取签名,将签名信息与请求体组装后向银行信用卡中心发起认证请求;
[0012]银行信用卡中心网关采用客户端公钥,对接收到的认证请求进行验签操作,若验签成功,则发送报文至银行信用卡中心服务端进行业务响应;若验签失败,则拒绝为客户端
授权,认证结束;
[0013]业务响应后,银行信用卡中心网关对响应报文进行加密及加签处理,处理后发送报文至客户端,客户端执行验签解密。
[0014]进一步地,客户端采用SM2国家密码算法与银行信用卡中心公钥进行加密并获取签名的具体内容为:
[0015]客户端采用SM2国家密码算法与银行信用卡中心的公钥对请求报文进行加密,并将加密内容置于http请求的请求体body中;客户端对加密的body通过SM3国家密码算法生成摘要,并根据生成的摘要和自身的私钥,利用SM2国家密码算法进行签名,签名信息置于请求体头部的sign字段中。
[0016]进一步地,若验签成功,则银行信用卡中心网关将body解密的报文转发至卡中心服务端,卡中心服务端处理该解密的报文请求并进行业务响应。
[0017]进一步地,业务响应后,卡中心网关将响应报文采用客户端的公钥对响应body加密,加密后通过银行信用卡中心的私钥进行加签处理。
[0018]本专利技术提供的接口请求的双向认证方法,相较于现有技术至少包括如下有益效果:
[0019]1)相较于现有技术的HMAC认证方式,本专利技术采用基于SM2、SM3国家密码算法完成请求通信中的身份认证,并令客户端与卡中心各自生成自己的公私钥对,国家密码算法在密钥交换过程中,仅需交换双方的公钥信息,而私钥无需交换,不存在泄露风险,且公钥信息无法被逆向推导,增加了请求通信传输中的安全性。
[0020]2)本专利技术中采用的基于国家密码算法的认证方式,以SM3哈希算法对加密的报文生成摘要,并使用SM2国家密码算法对请求报文进行加密,加密后的报文参与签名计算以及服务端的签名验证等,即加密后的报文的SM3哈希值可作为签名计算参数,以此方式在网关接收到请求后验证摘要的一致性,可防止报文遭到恶意篡改,进一步提高通信传输的安全性。
附图说明
[0021]图1为实施例中接口请求的双向认证方法的流程示意图。
具体实施方式
[0022]下面结合附图和具体实施例对本专利技术进行详细说明。显然,所描述的实施例是本专利技术的一部分实施例,而不是全部实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本专利技术保护的范围。
[0023]实施例
[0024]本专利技术涉及一种接口请求的双向认证方法,该方法基于SM2、SM3等国家密码算法,为客户端与银行信用卡中心(以下简称卡中心)之间的接口请求提供安全的身份认证。
[0025]客户端用于发起认证请求。卡中心设有卡中心网关和卡中心服务端,卡中心网关用于接收客户端的认证请求后执行验签操作。卡中心服务端用于处理卡中心网关的报文请求并根据报文请求进行业务响应。
[0026]本专利技术的主要原理是:基于密钥的认证方式,且采用的密钥是通过国家密码算法
生成的一对公私钥对。公钥(Public Key)和私钥(Private Key)它们是一对的,公钥公开给发送信息方用于信息加密,接收方接收密文使用私钥解密。这样很好的解决了密钥传输过程的安全性问题。另外私钥可以通过算法推导出公钥,但是私钥到公钥的推导过程是单向的,也就是说公钥是无法反推导出私钥。
[0027]基于上述原理,首先令客户端与卡中心各自生成自己的公私钥对。然后,客户端和卡中心各自留存私钥信息,双方通过开发者平台互换公钥信息。
[0028]在后续认证中,客户端采用SM2与卡中心公钥对请求体加密。客户端对加密的body通过SM3生成摘要,并使用自己的私钥与摘要通过SM2完成签名。完成以上信息组装后客户端发起请求。卡中心网关对接收到的请求报文使用客户端公钥验签。若验签失败,则将结果返回给卡中心网关,卡中心网关拒绝对请求方授权。若验签成功,将body解密的报文转发给卡中心上游服务系统(卡中心服务端)响应结果。响应后,将响应报文使用客户端的公钥对响应body加密,然后通过卡中心私钥加签。最后将处理后的报文返回给到客户端,由客户端完成验签解密。
[0029]具体地,本专利技术接口请求的双向认证方法的详细流程如图1所示,包括以下步骤:
[0030]S0:首先令客户端与卡中心各自生成自己的公私钥对,二者各自留存私钥信息,双方通过开发者平台互换公钥信息。
[0031]S1:客户端启动,采用SM2国家密码算法与卡中心的公钥对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种接口请求的双向认证方法,用以对客户端与银行信用卡中心之间的接口请求进行身份认证,其特征在于,所述方法包括:预先生成客户端与银行信用卡中心各自的公、私钥对,二者各自留存自身的私钥信息,且二者通过开发者平台互换公钥信息;客户端启动,采用SM2国家密码算法与银行信用卡中心公钥对请求报文进行加密并获取签名,将签名信息与请求体组装后向银行信用卡中心发起认证请求;银行信用卡中心网关采用客户端公钥,对接收到的认证请求进行验签操作,若验签成功,则发送报文至银行信用卡中心服务端进行业务响应;若验签失败,则拒绝为客户端授权,认证结束;业务响应后,银行信用卡中心网关对响应报文进行加密及加签处理,处理后发送报文至客户端,客户端执行验签解密。2.根据权利要求1所述的接口请求的双向认证方法,其特征在于,客户端采用SM...

【专利技术属性】
技术研发人员:韩伟伟朱峰邓海磊
申请(专利权)人:上海浦东发展银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1