美文网首页
https的理解

https的理解

作者: strong9527 | 来源:发表于2019-01-16 16:43 被阅读38次

学习笔记来自这两篇博客

图解 HTTPS:Charles 捕获 HTTPS 的原理

聊聊对称/非对称加密在HTTPS中的应用

对称加密算法

发送方和接收方需要持有同一把密钥,发送消息和接收消息均使用该密钥。

相对于非对称加密,对称加密具有更高的加解密速度,但双方都需要事先知道密钥,密钥在传输过程中可能会被窃取,因此安全性没有非对称加密高。

非对称加密算法

接收方在发送消息前需要事先生成公钥和私钥,然后将公钥发送给发送方。发送放收到公钥后,将待发送数据用公钥加密,发送给接收方。接收到收到数据后,用私钥解密。

在这个过程中,公钥负责加密,私钥负责解密,数据在传输过程中即使被截获,攻击者由于没有私钥,因此也无法破解。

非对称加密算法的加解密速度低于对称加密算法,但是安全性更高。

https请求的过程

image
1.客户端发起HTTPS请求

这个没什么好说的,就是用户在浏览器里输入一个https网址,然后连接到server的443端口。

2.服务端的配置

采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面(startssl就是个不错的选择,有1年的免费服务)。这套证书其实就是一对公钥和私钥。如果对公钥和私钥不太理解,可以想象成一把钥匙和一个锁头,只是全世界只有你一个人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。

3.传送证书

这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间等等。

4.客户端解析证书

这部分工作是有客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随即值。然后用证书对该随机值进行加密。就好像上面说的,把随机值用锁头锁起来,这样除非有钥匙,不然看不到被锁住的内容。

5.传送加密信息

这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。

6.服务段解密信息

服务端用私钥解密后,得到了客户端传过来的随机值(私钥),然后把内容通过该值进行对称加密。所谓对称加密就是,将信息和私钥通过某种算法混合在一起,这样除非知道私钥,不然无法获取内容,而正好客户端和服务端都知道这个私钥,所以只要加密算法够彪悍,私钥够复杂,数据就够安全。

7.传输加密后的信息

这部分信息是服务段用私钥加密后的信息,可以在客户端被还原

8.客户端解密信息

客户端用之前生成的私钥解密服务段传过来的信息,于是获取了解密后的内容。整个过程第三方即使监听到了数据,也束手无策。

对称加密和非对称加密同时使用的原因

非对称加密算法的性能是非常低的,原因在于寻找大素数、大数计算、数据分割需要耗费很多的CPU周期,所以一般的HTTPS连接只在第一次握手时使用非对称加密,通过握手交换对称加密密钥,在之后的通信走对称加密。

相关文章

  • HTTPS的理解

    1.Socket?后学习---------------------------------------------...

  • Https的理解

    Https的理解 http 协议的缺点 通信使用明文,内容可能会被窃听TCP/IP是可能被窃听的网络。 不验证对方...

  • HTTPS的理解

    分享HTTPS之前,先简单分享一下其他几个概念 TCP传输控制协议,是一种面向连接的,可靠的运输层协议。双方建立了...

  • https的理解

    学习笔记来自这两篇博客 图解 HTTPS:Charles 捕获 HTTPS 的原理 聊聊对称/非对称加密在HTTP...

  • HTTPS 理解

    HTTPS和HTTP 因为HTTP使用明文传输,这就催生了HTTPS。HTTPS与HTTP的区别在于,HTTPS会...

  • HTTPS理解

    如何理解HTTPS,翟志军写的这个博客文章觉得不错:通俗易懂。 也许,这样理解HTTPS更容易

  • 理解 HTTPS

    前言 HTTP 是基于 TCP/IP 协议的应用层协议。它不涉及数据包(packet)传输,主要规定了客户端和服务...

  • HTTPS理解

      学习《图解http》笔记。总结一下https方面的内容。  互联网,是由能连通到全世界的网络组成的。无论世界哪...

  • Https理解

    简单的理解下https:https在http请求的基础上多加了一个证书认证的流程。认证通过之后,数据传输都是加密进...

  • 更好的理解HTTPS

    本文尝试一步步还原HTTPS的设计过程,以理解为什么HTTPS最终会是这副模样。但是这并不代表HTTPS的真实设计...

网友评论

      本文标题:https的理解

      本文链接:https://www.haomeiwen.com/subject/kcimdqtx.html