一种基于SM9算法的可信网站搭建方法与流程

文档序号:18702285发布日期:2019-09-17 23:05阅读:562来源:国知局
一种基于SM9算法的可信网站搭建方法与流程

本发明涉及网络技术领域,特别涉及一种基于sm9算法的可信网站搭建方法。



背景技术:

随着各国对网络安全越来越重视,我国也为应对国内市场需求,研制出一系列的国密商用算法,其中就包括sm9算法。

sm9标识密码算法基于椭圆曲线的双线性对的标识密码体制,主要用于数字签名、数据加密、密钥交换和身份认证。它可以用用户身份标识来生成密钥对,由此密钥本身就可以包含身份认证信息。

目前的网站安全搭建方案是基于web3.0安全解决方案中ssl、tsl、ipsec等方案实现的,这其中openssl是使用最普遍的,而网站安全认证过程中需要借助数字证书。

数字证书是一段包含用户身份信息、用户公钥信息以及身份验证机构数据签名的数据,可以用它来识别对方的身份。数字证书还有一个重要的特征就是只在特定的时间段内有效。

目前的这种方案的确可以做到网站安全认证和数据安全通信,但是需要在部署网站的过程中申请数字证书,而这是比较繁琐的过程;同时,如果用户访问网站的数字证书过期就会存在不可信任状态的问题;而且目前网站的加解密算法基本使用的是国际算法,无法做到技术自主可控的目的。



技术实现要素:

本发明提供了一种不依赖数字证书的可信网站搭建方法,使用sm9算法替代现有的技术方案来实现网站安全认证及安全数据通信过程;由此解决申请数字证书过程繁琐及数字证书有效期到期等问题,提高网站安全的自主可控性。

本发明的目的通过采用以下技术方案来实现。一种基于sm9算法的可信网站搭建方法,包括浏览器和服务器两个业务层,使用网站域名作为sm9算法的身份标识来生成密钥对,浏览器向密钥生成中心传递身份标识信息来获得公钥;服务器向密钥生成中心传递身份标识信息来获得公钥和私钥;浏览器向服务器发送的数据用公钥加密成密文后再发送,而接收到的数据用公钥解密成明文后再解析处理;服务器向浏览器发送的数据用私钥加密成密文后再发送,而接收到的数据用私钥解密成明文后再解析处理;其流程如下:

1)请求访问网站:用户点击超链接或者输入uri方式,浏览器通过uri请求访问服务器,浏览器构造出向服务器请求的数据;

2)公钥加密数据:浏览器获取到uri后,提取网址域名,向密钥生成中心请求公钥,浏览器发出的数据使用公钥加密;

3)公钥解密数据:对浏览器接收到的数据使用公钥解密;

4)私钥加密数据:在服务器部署过程中,通过网站域名向密钥生成中心申请密钥对,服务器发送的数据使用私钥加密;

5)私钥解密数据:对服务器接收到的数据使用私钥解密;

6)数据验证:所有密文数据解密之后验证数据是否解密成功及数据格式是否正确,以及验证数据是否安全可靠;

7)首次访问:服务器首次向浏览器发送数据,浏览器首次处理服务器的响应;

8)解析请求数据:服务器解析浏览器请求的数据;

9)生成响应数据:服务器根据浏览器发出的请求类型,做出具体的响应对策,如果是首次响应,则响应数据中要包含安全认证信息;

10)添加安全认证信息:为浏览器认证网站安全提供信息,以替代数字证书中包含的与网站域名关联的信息;

11)解析响应数据:浏览器将接收到的数据解密后,解析数据,然后再做出具体的表现;

12)信息安全认证:如果是首次响应服务器的数据,则要验证响应数据中包含的信息安全认证数据,确保访问的是安全、可靠的网站;

13)访问网站错误:如果安全认证信息不通过,浏览器表现网站访问不安全或错误提示信息;

14)访问网站正确:如果安全认证信息通过,浏览器表现网站访问安全可靠提示信息。

本发明使用已经商用的sm9算法,网站安全认证过程中不再使用数字证书,而是使用sm9自身的身份标识特性来认证访问的网站,简化了网站安全认证过程;网站安全通信数据也使用sm9算法来加解密,能提高网站安全的自主可控性。

附图说明

图1是本发明的流程图。

具体实施方式

以下结合附图和实施例对本发明作进一步说明。参见图1,一种基于sm9算法的可信网站搭建方法,包括浏览器和服务器两个业务层,浏览器按服务器传送的数据作出对应的响应事件。

使用网站域名作为sm9算法的身份标识来生成密钥对,浏览器向密钥生成中心传递身份标识信息来获得公钥;服务器向密钥生成中心传递身份标识信息来获得公钥和私钥;浏览器向服务器发送的数据用公钥加密成密文后再发送,而接收到的数据用公钥解密成明文后再解析处理;服务器向浏览器发送的数据用私钥加密成密文后再发送,而接收到的数据用私钥解密成明文后再解析处理。

其流程如下:

1)服务器以网站域名为sm9算法的身份标识,向密钥生成中心获取密钥对;

2)浏览器通过uri向服务器发送网站访问的请求;

3)浏览器以uri中的网站域名为sm9算法的身份标识向密钥生成中心获取公钥;

4)浏览器通过获取到的公钥加解密请求数据;

5)服务器通过获取到的私钥加解密请求数据;

6)服务器首次处理浏览器的请求数据时,需要添加安全认证信息;

7)浏览器首次处理服务器的响应数据时,需要进行安全信息认证;

8)当安全认证流程执行完成后,后面只需做到通信链路中的安全数据通信即可。

本发明详细流程解说如下(如图1所示):

请求访问网站:用户点击超链接或者输入uri等等方式,浏览器就可通过uri请求访问服务器,浏览器构造出向服务器请求的数据。

公钥加密数据:浏览器获取到uri后,提取网址域名,向密钥生成中心请求公钥,浏览器发出的数据使用公钥加密。

公钥解密数据:浏览器接收到的数据使用公钥解密。

私钥加密数据:在服务器部署过程中就需要通过网站域名向密钥生成中心申请密钥对,服务器发送的安全数据使用私钥加密。

私钥解密数据:服务器收到的数据使用钥解密。

数据验证:所有数据解密之后都需要验证数据是否解密成功及数据格式等等是否正确,以验证数据是否安全可靠。

首次访问:服务器首次向浏览器发送数据,浏览器首次处理服务器的响应。

解析请求数据:服务器解析浏览器请求的数据。

生成响应数据:服务器根据浏览器发出的请求类型,作出具体的响应对策,如果是首次响应,则需要将安全认证信息包括到响应数据中。

添加安全认证信息:为浏览器认证网站安全提供信息,来替代数字证书中包含的信息,此信息要与网站域名关联。

解析响应数据:浏览器将接收到的数据解密后,解析数据,然后再作出具体的表现。

信息安全认证:如果是首次响应服务器的数据,则要验证响应数据中包含的信息安全认证数据,确保访问的是安全、可靠的网站。

访问网站错误:如果安全认证信息不通过,浏览器表现网站访问不安全或错误提示信息。

访问网站正确:如果安全认证信息通过,浏览器表现网站访问安全可靠提示信息。

浏览器表现:浏览器按服务器传送的数据做出对应的响应事件。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1