CN115801322A - 一种实现服务端安全通信的加密方法及系统 - Google Patents

一种实现服务端安全通信的加密方法及系统 Download PDF

Info

Publication number
CN115801322A
CN115801322A CN202211291727.0A CN202211291727A CN115801322A CN 115801322 A CN115801322 A CN 115801322A CN 202211291727 A CN202211291727 A CN 202211291727A CN 115801322 A CN115801322 A CN 115801322A
Authority
CN
China
Prior art keywords
server
data
token
information
private key
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
CN202211291727.0A
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.)
Inspur Software Co Ltd
Original Assignee
Inspur Software 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 Inspur Software Co Ltd filed Critical Inspur Software Co Ltd
Priority to CN202211291727.0A priority Critical patent/CN115801322A/zh
Publication of CN115801322A publication Critical patent/CN115801322A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种实现服务端安全通信的加密方法及系统,属于互联网通信加密技术领域,该方法利用OAuth2.0客户端模式,使用SM2国密算法对令牌数据进行签名;服务端间通信的具体实现方式包括:1)、发送方发送鉴权信息请求,服务端A生成公钥和私钥,通过私钥SM2算法对数据信息加密生成数字签名,将信息发送至服务端B;2)、接受方验签,当服务端B接收到鉴权信息后通过公钥验签,验签数据有效性及真实性,校验成功后,通过接口携带令牌进行数据交互。本发明能够提高接口交互数据信息的安全性,保证服务端之间的信息传输安全。

Description

一种实现服务端安全通信的加密方法及系统
技术领域
本发明涉及互联网通信加密技术领域,具体地说是一种实现服务端安全通信的加密方法及系统。
背景技术
随着互联网技术的不断发展,业务系统的应用不断增多,人们对用户数据的安全意识不断增强,业务系统动态令牌的安全性也日益提高。
传统方式下,通过token令牌获取访问权限,这种加密方式内网下可以满足需求,但是在公网进行接口交互则可能产生令牌劫获,数据信息泄露的危险。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实现服务端安全通信的加密方法及系统,能够提高接口交互数据信息的安全性,保证服务端之间的信息传输安全。
本发明解决其技术问题所采用的技术方案是:
一种实现服务端安全通信的加密方法,利用OAuth2.0客户端模式,使用SM2国密算法对令牌数据进行签名;服务端间通信的具体实现方式包括:
1)、发送方发送鉴权信息请求,
服务端A生成公钥和私钥,通过私钥SM2算法对数据信息加密生成数字签名,将信息发送至服务端B;
2)、接受方验签,
当服务端B接收到鉴权信息后通过公钥验签,验签数据有效性及真实性,校验成功后,通过接口携带令牌进行数据交互。
该方法的实现接口协议基于Oauth2.0的客户端模式,将数据通过SM2国密算法加密提高接口交互数据信息的安全性。从而保证了服务端间通信的安全性以及数据的可靠性。
优选的,所述OAuth2.0客户端模式,客户端向授权服务器发送自己的身份信息,并请求令牌,授权服务器确认客户端身份无误后,将令牌发送给Client。
优选的,在linux服务器上安装openssl工具,通过gmssl ecparam-genkey-namesm2p256v1-text-out private.pem命令生成私钥,再通过gmssl pkey-in private.pem-pubout命令根据私钥生成公钥。
优选的,服务端A通过解析私钥内容,检查version,检查私钥长度,检查OID,检查内容值,用解析后的私钥信息以及需要签名的数据信息进行数字签名的生成。
进一步的,服务端B线下获取公钥,通过接口接收服务端A发送的数字签名;首先解析公钥信息,通过公钥信息,获取的数字签名进行数据验签。
优选的,数字签名生成过程如下:
1)、获取用户原始数据,包括系统参数、签名私钥d和消息m,并计算
e=H(ZA||m);
2)、产生随机数k∈[1,n-1];
3)、计算(x1,y1)=k·G;
4)、计算r=(e+x1)mod n;
5)、判断是否r=0或r+k=n,若是则返回步骤2);否则进入步骤6);
6)、计算s=(1+d)-1(k-rx)mod n=(1+d)-1(k+r)mod n;
7)、确定数字签名(r,s);
8)、输出消息m及数字签名(r,s)。
优选的,鉴权信息验证过程如下:
1)、服务端A生成公钥私钥;
2)、服务端A解析私钥;
3)、进行数据加密,生成token令牌;
4)、生成数字签名;
5)、服务端B收到鉴权信息,获取公钥进行验签;验签成功,则携带token令牌进行通信;验签失败,无法进行数据交互,则调用鉴权信息接口向服务端A重新发送鉴权信息请求。
进一步的,服务端A,B进行鉴权信息对接,对接成功后根据token令牌对接数据;
当token令牌失效后,通过原有token令牌获得新的令牌信息,即调用鉴权信息接口重新发送鉴权信息请求。
本方法通过Oauth2.0客户端模式和数据信息SM2国密算法加密相结合的方式,既保证了接口令牌的交互,也保证了服务端与服务端的数据交互的安全性。
本发明还要求保护一种实现服务端安全通信的加密系统,服务端利用OAuth2.0客户端模式,使用SM2国密算法对令牌数据进行签名;
该系统通过上述的实现服务端安全通信的加密方法实现服务端间的通信,实现过程包括:
发送方发送鉴权信息请求:服务端A生成公钥和私钥,通过私钥SM2算法对数据信息加密生成数字签名,将信息发送至服务端B;
接受方验签:当服务端B接收到鉴权信息后通过公钥验签,验签数据有效性及真实性,校验成功后,通过接口携带令牌进行数据交互。
如果令牌有效期失效,通过旧令牌,调用鉴权信息接口重新发送鉴权信息请求。
该系统实现了服务间数据交互的安全性、可靠性。
进一步的,所述服务端,在linux服务器上安装openssl工具,通过gmssl ecparam-genkey-name sm2p256v1-text-out private.pem命令生成私钥,再通过gmssl pkey-inprivate.pem–pubout命令根据私钥生成公钥。
该系统引入了Oauth2.0客户端模式,客户端身份发送信息获取令牌,然后获得令牌后进行数据交互。
首先通过gmssl生成私钥,公钥;再通过SM2数据加密并携带数字签名进行鉴权信息校验,校验成功后对数据进行交互。
该系统适用于服务端与服务端的数据交互。
本发明的一种实现服务端安全通信的加密方法及系统与现有技术相比,具有以下有益效果:
本方法或系统基于Oauth2.0的客户端模式,将数据通过SM2国密算法加密提高接口交互数据信息的安全性。通过Oauth2.0客户端模式和数据信息SM2国密算法加密相结合的方式,既保证了接口令牌的交互,也保证了服务端与服务端的数据交互的安全性,保证了服务端间通信的安全性,以及数据的可靠性。
附图说明
图1是本发明实施例提供的实现服务端安全通信的加密方法的实现流程示图;
图2是本发明实施例提供的Oauth2.0的客户端模式示图;
图3是本发明实施例提供的数字签名生成流程示图;
图4是本发明实施例提供的令牌失效处理流程示图。
具体实施方式
本发明实施例提供一种实现服务端安全通信的加密方法,利用OAuth2.0客户端模式,使用SM2国密算法对令牌数据进行签名,实现服务端接口交互的安全性。服务端间通信的具体实现方式包括:
1)、发送方发送鉴权信息请求,
服务端A生成公钥和私钥,通过私钥SM2算法对数据信息加密生成数字签名,将信息发送至服务端B;
2)、接受方验签,
当服务端B接收到鉴权信息后通过公钥验签,验签数据有效性及真实性,校验成功后,通过接口携带令牌进行数据交互。
如果令牌有效期失效,通过旧令牌,调用鉴权信息接口重新发送鉴权信息请求。
该方法实现了服务问数据交互的安全性和可靠性。
所述OAuth2.0客户端模式,如图2所示,客户端向授权服务器发送自己的身份信息,并请求令牌,授权服务器确认客户端身份无误后,将令牌发送给Client。这种模式是最方便的,适用于应用维度的共享资源,需要对Client完全信任,对于服务端之间的接口调用基本可以满足,在有些场景下,安全性要求较高,不更换交互模式的情况下,使用SM2国密非对称加密算法,SM2国密算法属于椭圆曲线密码算法体制,相对于RSA算法,256位的SM2密码强度已经比2048位的RSA密码强度要高,更具安全性,接口重要信息进行SM2国密算法加密,并对接口增加数字签名,从而提高数据安全性,也是一个不错的方法。
在linux服务器上安装openssl工具,通过gmssl ecparam-genkey-namesm2p256v1-text-out private.pem命令生成私钥,再通过gmssl pkey-in private.pem-pubout命令根据私钥生成公钥。
服务端A通过解析私钥内容,检查verSion,检查私钥长度,检查OID,检查内容值,用解析后的私钥信息以及需要签名的数据信息进行数字签名的生成。数字签名生成方式参考图3所示:
1)、获取用户原始数据,包括系统参数、签名私钥d和消息m,并计算
e=H(ZA||m);
2)、产生随机数k∈[1,n-1];
3)、计算(x1,y1)=k·G;
4)、计算r=(e+x1)mod n;
5)、判断是否r=0或r+k=n,若是则返回步骤2);否则进入步骤6);
6)、计算s=(1+d)-1(k-rx)mod n=(1+d)-1(k+r)mod n;
7)、确定数字签名(r,s);
8)、输出消息m及数字签名(r,s)。
服务端B线下获取公钥,通过接口接收服务端A发送的数字签名;首先解析公钥信息,通过公钥信息,获取的数字签名进行数据验签。
服务端A,B进行鉴权信息对接,对接成功后根据token令牌对接数据,当token令牌失效后,通过原有token令牌获得新的令牌信息,即调用鉴权信息接口重新发送鉴权信息请求。
鉴权信息验证过程可参考图1所示:
1)、服务端A生成公钥私钥;
2)、服务端A解析私钥;
3)、进行数据加密,生成token令牌;
4)、生成数字签名;
5)、服务端B收到鉴权信息,获取公钥进行验签;验签成功,则携带token令牌进行通信;验签失败,无法进行数据交互,则调用鉴权信息接口向服务端A重新发送鉴权信息请求。
令牌失效的处理过程可参考图4所示。
本方法通过Oauth2.0客户端模式和数据信息SM2国密算法加密相结合的方式,既保证了接口令牌的交互,也保证了服务端与服务端的数据交互的安全性。
本方法的实现接口协议基于Oauth2.0的客户端模式,将数据通过SM2国密算法加密提高接口交互数据信息的安全性。从而保证了服务端间通信的安全性以及数据的可靠性。
本发明实施例还提供了一种实现服务端安全通信的加密系统,服务端利用OAuth2.0客户端模式,使用SM2国密算法对令牌数据进行签名;
该系统通过上述实施例所述的实现服务端安全通信的加密方法实现服务端间的通信,实现过程包括:
发送方发送鉴权信息请求:服务端A生成公钥和私钥,通过私钥SM2算法对数据信息加密生成数字签名,将信息发送至服务端B;
接受方验签:当服务端B接收到鉴权信息后通过公钥验签,验签数据有效性及真实性,校验成功后,通过接口携带令牌进行数据交互。
如果令牌有效期失效,通过旧令牌,调用鉴权信息接口重新发送鉴权信息请求。
该系统实现了服务间数据交互的安全性、可靠性。
具体的,所述服务端,在linux服务器上安装openssl工具,通过gmssl ecparam-genkey-name sm2p256v1-text-out private.pem命令生成私钥,再通过gmssl pkey-inprivate.pem-pubout命令根据私钥生成公钥。
该系统引入了Oauth2.0客户端模式,客户端身份发送信息获取令牌,然后获得令牌后进行数据交互。
首先通过gmssl生成私钥,公钥;再通过SM2数据加密并携带数字签名进行鉴权信息校验,校验成功后对数据进行交互。
服务端A通过解析私钥内容,检查version,检查私钥长度,检查OID,检查内容值,用解析后的私钥信息以及需要签名的数据信息进行数字签名的生成。数字签名生成方式如下:
1)、获取用户原始数据,包括系统参数、签名私钥d和消息m,并计算
e=H(ZA||m);
2)、产生随机数k∈[1,n-1];
3)、计算(x1,y1)=k·G;
4)、计算r=(e+x1)mod n;
5)、判断是否r=0或r+k=n,若是则返回步骤2);否则进入步骤6);
6)、计算s=(1+d)-1(k-rx)mod n=(1+d)-1(k+r)mod n;
7)、确定数字签名(r,s);
8)、输出消息m及数字签名(r,s)。
服务端B线下获取公钥,通过接口接收服务端A发送的数字签名;首先解析公钥信息,通过公钥信息,获取的数字签名进行数据验签。
服务端A,B进行鉴权信息对接,对接成功后根据token令牌对接数据,当token令牌失效后,通过原有token令牌获得新的令牌信息,即调用鉴权信息接口重新发送鉴权信息请求。
鉴权信息验证过程如下:
1)、服务端A生成公钥私钥;
2)、服务端A解析私钥;
3)、进行数据加密,生成token令牌;
4)、生成数字签名;
5)、服务端B收到鉴权信息,获取公钥进行验签;验签成功,则携带token令牌进行通信;验签失败,无法进行数据交互,则调用鉴权信息接口向服务端A重新发送鉴权信息请求。
该系统适用于服务端与服务端的数据交互。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (10)

1.一种实现服务端安全通信的加密方法,其特征在于,利用OAuth2.0客户端模式,使用SM2国密算法对令牌数据进行签名;服务端间通信的具体实现方式包括:
1)、发送方发送鉴权信息请求,
服务端A生成公钥和私钥,通过私钥SM2算法对数据信息加密生成数字签名,将信息发送至服务端B;
2)、接受方验签,
当服务端B接收到鉴权信息后通过公钥验签,验签数据有效性及真实性,校验成功后,通过接口携带令牌进行数据交互。
2.根据权利要求1所述的一种实现服务端安全通信的加密方法,其特征在于,所述OAuth2.0客户端模式,客户端向授权服务器发送自己的身份信息,并请求令牌,授权服务器确认客户端身份无误后,将令牌发送给Client。
3.根据权利要求1或2所述的一种实现服务端安全通信的加密方法,其特征在于,在linux服务器上安装openssl工具,通过gmssl ecparam-genkey-name sm2p256v1-text-outprivate.pem命令生成私钥,再通过gmssl pkey-in private.pem–pubout命令根据私钥生成公钥。
4.根据权利要求3所述的一种实现服务端安全通信的加密方法,其特征在于,服务端A通过解析私钥内容,检查version,检查私钥长度,检查OID,检查内容值,用解析后的私钥信息以及需要签名的数据信息进行数字签名的生成。
5.根据权利要求4所述的一种实现服务端安全通信的加密方法,其特征在于,服务端B线下获取公钥,通过接口接收服务端A发送的数字签名;首先解析公钥信息,通过公钥信息,获取的数字签名进行数据验签。
6.根据权利要求1所述的一种实现服务端安全通信的加密方法,其特征在于,数字签名生成过程如下:
1)、获取用户原始数据,包括系统参数、签名私钥d和消息m,并计算
e=H(ZA||m);
2)、产生随机数k∈[1,n-1];
3)、计算(x1,y1)=k·G;
4)、计算r=(e+x1)mod n;
5)、判断是否r=0或r+k=n,若是则返回步骤2);否则进入步骤6);
6)、计算s=(1+d)-1(k-rx)mod n=(1+d)-1(k+r)mod n;
7)、确定数字签名(r,s);
8)、输出消息m及数字签名(r,s)。
7.根据权利要求1或6所述的一种实现服务端安全通信的加密方法,其特征在于,鉴权信息验证过程如下:
1)、服务端A生成公钥私钥;
2)、服务端A解析私钥;
3)、进行数据加密,生成token令牌;
4)、生成数字签名;
5)、服务端B收到鉴权信息,获取公钥进行验签;验签成功,则携带token令牌进行通信;验签失败,无法进行数据交互,则调用鉴权信息接口向服务端A重新发送鉴权信息请求。
8.根据权利要求7所述的一种实现服务端安全通信的加密方法,其特征在于,服务端A,B进行鉴权信息对接,对接成功后根据token令牌对接数据;
当token令牌失效后,通过原有token令牌获得新的令牌信息,即调用鉴权信息接口重新发送鉴权信息请求。
9.一种实现服务端安全通信的加密系统,其特征在于,服务端利用OAuth2.0客户端模式,使用SM2国密算法对令牌数据进行签名;
该系统通过权利要求1-8任一项所述的实现服务端安全通信的加密方法实现服务端间的通信,实现过程包括:
发送方发送鉴权信息请求:服务端A生成公钥和私钥,通过私钥SM2算法对数据信息加密生成数字签名,将信息发送至服务端B;
接受方验签:当服务端B接收到鉴权信息后通过公钥验签,验签数据有效性及真实性,校验成功后,通过接口携带令牌进行数据交互。
10.根据权利要求9所述的一种实现服务端安全通信的加密系统,其特征在于,所述服务端,在linux服务器上安装openssl工具,通过gmssl ecparam-genkey-name sm2p256v1-text-out private.pem命令生成私钥,再通过gmssl pkey-in private.pem–pubout命令根据私钥生成公钥。
CN202211291727.0A 2022-10-20 2022-10-20 一种实现服务端安全通信的加密方法及系统 Pending CN115801322A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211291727.0A CN115801322A (zh) 2022-10-20 2022-10-20 一种实现服务端安全通信的加密方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211291727.0A CN115801322A (zh) 2022-10-20 2022-10-20 一种实现服务端安全通信的加密方法及系统

Publications (1)

Publication Number Publication Date
CN115801322A true CN115801322A (zh) 2023-03-14

Family

ID=85433378

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211291727.0A Pending CN115801322A (zh) 2022-10-20 2022-10-20 一种实现服务端安全通信的加密方法及系统

Country Status (1)

Country Link
CN (1) CN115801322A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107196763A (zh) * 2017-07-06 2017-09-22 数安时代科技股份有限公司 Sm2算法协同签名及解密方法、装置与系统
WO2018000886A1 (zh) * 2016-07-01 2018-01-04 广州爱九游信息技术有限公司 应用程序通信处理系统、装置、方法及客户端、服务端
CN107623570A (zh) * 2017-11-03 2018-01-23 北京无字天书科技有限公司 一种基于加法密钥分割的sm2签名方法
CN109347635A (zh) * 2018-11-14 2019-02-15 中云信安(深圳)科技有限公司 一种基于国密算法的物联网安全认证系统及认证方法
CN110868301A (zh) * 2019-11-07 2020-03-06 浪潮软件股份有限公司 一种基于国密算法的身份认证系统及方法
CN113079175A (zh) * 2021-04-14 2021-07-06 上海浦东发展银行股份有限公司 一种基于oauth2协议增强的授权系统及其方法
CN114329290A (zh) * 2021-12-15 2022-04-12 北京科东电力控制系统有限责任公司 能力开放平台及其授权访问方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018000886A1 (zh) * 2016-07-01 2018-01-04 广州爱九游信息技术有限公司 应用程序通信处理系统、装置、方法及客户端、服务端
CN107196763A (zh) * 2017-07-06 2017-09-22 数安时代科技股份有限公司 Sm2算法协同签名及解密方法、装置与系统
CN107623570A (zh) * 2017-11-03 2018-01-23 北京无字天书科技有限公司 一种基于加法密钥分割的sm2签名方法
CN109347635A (zh) * 2018-11-14 2019-02-15 中云信安(深圳)科技有限公司 一种基于国密算法的物联网安全认证系统及认证方法
CN110868301A (zh) * 2019-11-07 2020-03-06 浪潮软件股份有限公司 一种基于国密算法的身份认证系统及方法
CN113079175A (zh) * 2021-04-14 2021-07-06 上海浦东发展银行股份有限公司 一种基于oauth2协议增强的授权系统及其方法
CN114329290A (zh) * 2021-12-15 2022-04-12 北京科东电力控制系统有限责任公司 能力开放平台及其授权访问方法

Similar Documents

Publication Publication Date Title
CN112039918B (zh) 一种基于标识密码算法的物联网可信认证方法
EP1714422B1 (en) Establishing a secure context for communicating messages between computer systems
CN110048849B (zh) 一种多层保护的会话密钥协商方法
CN113285803B (zh) 一种基于量子安全密钥的邮件传输系统和传输方法
CN107517194B (zh) 一种内容分发网络的回源认证方法和装置
CN113346995B (zh) 基于量子安全密钥的邮件传输过程中防篡改的方法和系统
CN113382002B (zh) 数据请求方法、请求应答方法、数据通信系统及存储介质
CN113452687B (zh) 基于量子安全密钥的发送邮件的加密方法和系统
CN115001721B (zh) 一种基于区块链的智能电网的安全认证方法及系统
CN114553441B (zh) 一种电子合同签署方法及系统
CN113055394A (zh) 一种适用于v2g网络的多服务双因子认证方法及系统
CN111698264A (zh) 用于保持用户认证会话的方法和装置
CN111651745A (zh) 基于密码设备的应用授权签名方法
US8452966B1 (en) Methods and apparatus for verifying a purported user identity
CN113163375A (zh) 一种基于NB-IoT通信模组的空中发证方法和系统
CN117097472A (zh) 一种协同签名的身份鉴别方法
CN114928503B (zh) 一种安全通道的实现方法及数据传输方法
CN116471008A (zh) 一种基于混合加密的接口访问安全控制方法及系统
CN114389808B (zh) 一种基于SM9盲签名的OpenID协议设计方法
CN114650181B (zh) 电子邮件加解密方法、系统、设备及计算机可读存储介质
CN114095229B (zh) 能源互联网的数据传输协议构建方法、装置和系统
CN113438074B (zh) 基于量子安全密钥的接收邮件的解密方法
CN115883105A (zh) 认证连接方法、系统、电子设备及计算机存储介质
CN115801322A (zh) 一种实现服务端安全通信的加密方法及系统
CN114301612A (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