本发明属于数据加密,具体涉及一种https网络通信加密方法、系统、终端及存储介质。
背景技术:
1、随着互联网的快速发展,网络通信在人们的日常生活和工作中扮演着越来越重要的角色。在网络通信中,安全性是至关重要的,特别是对于涉及用户隐私和机密信息的场景。为了确保通信的安全性,通常会采用https协议来保护数据的传输安全。https是一种通过ssl/tls协议进行加密传输的http协议,其能够提供身份认证、数据加密和完整性保护等安全功能,被广泛应用于网络通信中。
2、国密算法包括:对称加密算法(sm1、sm4)、非对称加密算法(sm2、sm9)、散列密码算法(sm3)等。国密算法的普及对提升网络信息安全与自主可控水平具有重要的意义。
3、当前的https协议中所采用的加密算法大多基于国际标准,如rsa、aes等,而没有适配国密算法。
技术实现思路
1、针对现有技术的上述不足,本发明提供一种https网络通信加密方法、系统、终端及存储介质,以解决上述技术问题。
2、第一方面,本发明提供一种https网络通信加密方法,包括:
3、服务端预先生成sm2算法的公钥私钥对,响应于客户端的连接请求,将服务端证书和公钥下发至所述客户端;
4、客户端对所述服务端证书进行验证,在验证通过后生成sm4算法的秘钥,并利用所述公钥及sm2算法对客户端证书及所述秘钥进行加密,得到加密文件,将所述加密文件发送至服务端;
5、服务端利用本地存储的私钥及所述sm2算法对接收的加密文件进行解密,得到客户端证书和所述秘钥,对所述客户端证书进行验证并在验证通过后为所述客户端生成权限标识,并将所述权限标识与所述秘钥绑定;
6、服务端基于客户端的权限标识调取绑定秘钥,并基于所述绑定秘钥利用sm4加密算法对与所述客户端的交互数据进行加解密。
7、在一个可选的实施方式中,服务端预先生成sm2算法的公钥私钥对,响应于客户端的连接请求,将服务端证书和公钥下发至所述客户端,包括:
8、服务端安装并配置openssl;
9、使用openssl的命令行工具生成基于sm2算法的公钥和私钥;
10、将生成的公钥和私钥保存至硬件安全模块,所述硬件安全模块还存储有服务器证书。
11、在一个可选的实施方式中,客户端对所述服务端证书进行验证,在验证通过后生成sm4算法的秘钥,并利用所述公钥及sm2算法对客户端证书及所述秘钥进行加密,得到加密文件,将所述加密文件发送至服务端,包括:
12、客户端接收服务端证书和公钥,缓存所述服务器证书和公钥;
13、客户端对所述服务器证书进行验证,若验证通过则保存所述公钥,若验证未通过则删除所述服务器证书和公钥;
14、客户端生成32位的sm4算法的秘钥,将所述秘钥保存至指定路径下;
15、客户端利用所述公钥和sm2算法对客户端证书及所述秘钥进行加密,得到加密文件,并将所述加密文件发送至服务端。
16、在一个可选的实施方式中,服务端利用本地存储的私钥及所述sm2算法对接收的加密文件进行解密,得到客户端证书和所述秘钥,对所述客户端证书进行验证并在验证通过后为所述客户端生成权限标识,并将所述权限标识与所述秘钥绑定,包括:
17、服务端利用所述私钥及sm2算法对接收的加密文件进行解密,得到客户端证书和所述秘钥;
18、服务端对所述客户端进行验证,并在验证通过后基于所述连接请求中的注册数据为所述客户端分配权限标识,并将所述权限标识与所述秘钥绑定;
19、服务端将所述权限标识下发至客户端;
20、服务端设置所述权限标识与所述秘钥的有效时间,在所述权限标识与所述秘钥的保存时间达到所述有效时间后,删除所述权限标识与所述秘钥。
21、在一个可选的实施方式中,服务端基于客户端的权限标识调取绑定秘钥,并基于所述绑定秘钥利用sm4加密算法对与所述客户端的交互数据进行加解密,包括:
22、服务端接收客户端的服务请求,提取所述服务请求携带的权限标识;
23、服务端对所述权限标识进行验证,并在验证通过后利用所述权限标识的绑定秘钥及sm4算法对所述服务请求进行解密,得到请求数据;
24、服务端生成所述请求数据的响应数据,并利用sm3算法计算所述响应数据的哈希值;
25、利用所述权限标识的绑定秘钥及sm4算法对所述响应数据和所述哈希值进行加密,并将加密后的响应数据发送至客户端。
26、第二方面,本发明提供一种https网络通信加密系统,包括:
27、握手触发模块,用于服务端预先生成sm2算法的公钥私钥对,响应于客户端的连接请求,将服务端证书和公钥下发至所述客户端;
28、身份验证模块,用于客户端对所述服务端证书进行验证,在验证通过后生成sm4算法的秘钥,并利用所述公钥及sm2算法对客户端证书及所述秘钥进行加密,得到加密文件,将所述加密文件发送至服务端;
29、连接建立模块,用于服务端利用本地存储的私钥及所述sm2算法对接收的加密文件进行解密,得到客户端证书和所述秘钥,对所述客户端证书进行验证并在验证通过后为所述客户端生成权限标识,并将所述权限标识与所述秘钥绑定;
30、数据交互模块,用于服务端基于客户端的权限标识调取绑定秘钥,并基于所述绑定秘钥利用sm4加密算法对与所述客户端的交互数据进行加解密。
31、在一个可选的实施方式中,所述握手触发模块包括:
32、基础搭建单元,用于服务端安装并配置openssl;
33、秘钥生成单元,用于使用openssl的命令行工具生成基于sm2算法的公钥和私钥;
34、秘钥保存单元,用于将生成的公钥和私钥保存至硬件安全模块,所述硬件安全模块还存储有服务器证书。
35、在一个可选的实施方式中,所述数据交互模块包括:
36、标识验证单元,用于服务端接收客户端的服务请求,提取所述服务请求携带的权限标识;
37、请求解密单元,用于服务端对所述权限标识进行验证,并在验证通过后利用所述权限标识的绑定秘钥及sm4算法对所述服务请求进行解密,得到请求数据;
38、请求响应单元,用于服务端生成所述请求数据的响应数据,并利用sm3算法计算所述响应数据的哈希值;
39、加密发送单元,用于利用所述权限标识的绑定秘钥及sm4算法对所述响应数据和所述哈希值进行加密,并将加密后的响应数据发送至客户端。
40、第三方面,提供一种终端,包括:
41、处理器、存储器,其中,
42、该存储器用于存储计算机程序,
43、该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
44、第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
45、本发明的有益效果在于,本发明提供的https网络通信加密方法、系统、终端及存储介质,提高了通信数据的安全性和保密性,通过引入国密算法对数据进行加密处理,有效防止数据泄露和篡改。加强了对通信双方身份的认证,利用sm2算法对证书进行验证,确保了通信的可信度和安全性,保护用户隐私信息,通过身份认证和数据加密,能够有效保护用户的隐私信息,防止用户的个人信息泄露。不改变原有的https通信方式,保证了客户端和服务端的兼容性和稳定性,降低了应用的迁移成本。
46、此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
1.一种https网络通信加密方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,服务端预先生成sm2算法的公钥私钥对,响应于客户端的连接请求,将服务端证书和公钥下发至所述客户端,包括:
3.根据权利要求1所述的方法,其特征在于,客户端对所述服务端证书进行验证,在验证通过后生成sm4算法的秘钥,并利用所述公钥及sm2算法对客户端证书及所述秘钥进行加密,得到加密文件,将所述加密文件发送至服务端,包括:
4.根据权利要求1所述的方法,其特征在于,服务端利用本地存储的私钥及所述sm2算法对接收的加密文件进行解密,得到客户端证书和所述秘钥,对所述客户端证书进行验证并在验证通过后为所述客户端生成权限标识,并将所述权限标识与所述秘钥绑定,包括:
5.根据权利要求1所述的方法,其特征在于,服务端基于客户端的权限标识调取绑定秘钥,并基于所述绑定秘钥利用sm4加密算法对与所述客户端的交互数据进行加解密,包括:
6.一种https网络通信加密系统,其特征在于,包括:
7.根据权利要求6所述的系统,其特征在于,所述握手触发模块包括:
8.根据权利要求6所述的系统,其特征在于,所述数据交互模块包括:
9.一种终端,其特征在于,包括:
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述可读存储介质上存储有https网络通信加密程序,所述https网络通信加密程序被处理器执行时实现如权利要求1-5任一项所述https网络通信加密方法的步骤。
