HTTPS怎么保证安全?(详解)


当前第2页 返回上一页

存在的问题:

  • 非对称加密效率太低, 这会严重影响加解密的速度,进而影响到用户打开页面的速度。

  • 无法保证服务器发送给浏览器的数据安全, 服务器的数据只能用私钥进行加密(因为如果它用公钥那么浏览器也没法解密啦),中间人一旦拿到公钥,那么就可以对服务端传来的数据进行解密了,就这样又被破解了。

HTTPS使用对称加密和非对称加密结合

传输数据阶段依然使用对称加密,但是对称加密的秘钥我们采用非对称加密传输。

5.png

  • 浏览器向服务器发送client_random和加密方法列表。

  • 服务器接收到,返回server_random、加密方法以及公钥。

  • 浏览器接收,接着生成另一个随机数pre_master, 并且用公钥加密,传给服务器。(重点操作!)

  • 服务器用私钥解密这个被加密后的pre_master。

到此为止,服务器和浏览器就有了相同的 client_randomserver_randompre_master, 然后服务器和浏览器会使用这三组随机数生成对称秘钥。有了对称秘钥之后,双方就可以使用对称加密的方式来传输数据了。

CA (数字证书)

使用对称和非对称混合的方式,实现了数据的加密传输。但是这种仍然存在一个问题,服务器可能是被黑客冒充的。这样,浏览器访问的就是黑客的服务器,黑客可以在自己的服务器上实现公钥和私钥,而对浏览器来说,它并不完全知道现在访问的是这个是黑客的站点。

服务器需要证明自己的身份,需要使用权威机构颁发的证书,这个权威机构就是 CA(Certificate Authority), 颁发的证书就称为数字证书 (Digital Certificate)。

对于浏览器来说,数字证书有两个作用:

  • 通过数字证书向浏览器证明服务器的身份

  • 数字证书里面包含了服务器公钥

下面我们来看一下含有数字证书的HTTPS的请求流程

6.png

相对于不含数字证书的HTTPS请求流程,主要以下两点改动

  • 服务器没有直接返回公钥给浏览器,而是返回了数字证书,而公钥正是包含数字证书中的;

  • 在浏览器端多了一个证书验证的操作,验证了证书之后,才继续后序流程。

参考

  • 如何用通俗易懂的话来解释非对称加密?

  • 十分钟搞懂HTTP和HTTPS协议?

  • HTTPS 原理分析――带着疑问层层深入

  • 图解HTTP

  • 浏览器工作原理与实践

  • (1.6w字)浏览器灵魂之问,请问你能接得住几个?

推荐教程:web服务器安全

以上就是HTTPS怎么保证安全?(详解)的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

nginx配置aliyun Https

http与Https的主要区别是什么

tomcat服务器安装锐安信ssl证书教程

nginx配置Https的详细流程

nginx服务器安装锐安信ssl证书教程

Https怎么保证安全?(详解)

chrome将阻止所有类型非Https的混合内容下载?

为什么Https比http安全

利用nginx实现301跳转到Https的根域名

nginx配置aliyun Https

更多相关阅读请进入《Https》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...