HTTPS认证过程 - Go语言中文社区

HTTPS认证过程


HTTPS和HTTP的区别主要如下:

1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

HTTPS 工作原理、工作流程

1. 客户端发起请求

2. 服务端配置公钥私钥。如果是使用购买的证书,把公钥告诉客户端。

3. 服务端把当前此次请求的证书(公钥)传送过来

image.png

4. 客户端进行证书解析

客户端会验证公钥是否有效。如果没有问题,就回生成一个随机值,并对其进行加密,(这个随机值其实就是对称加密的私钥)

5. 将加密后的随机值等加密信息传给服务端

6.服务端解密信息

服务端用私钥解密后,得到了客户端传过来的随机值(私钥),然后把内容进行对称加密。

7. 通信。因为客户端跟服务端都有对称加密的秘钥。所以ok了。

加密过程中的对称加密非对称加密

首先用的是非对称加密。把公钥给客户端,私钥在服务端。客户端用公钥验证通过后,会生成私钥进行对称加密。然后传给后台。

为什么这么做呢。

  • 对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高。
  • 非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。
  • 所以第一次用公钥私钥验证。没问题之后,在用对称加密。这样既安全又高效。
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/jianpan_zouni/article/details/89306997
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-08 14:39:34
  • 阅读 ( 985 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢