<返回更多

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

2022-03-31    三石学习笔记
加入收藏

秘钥的产生过程

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

 

非对称加密

双方都有自己的私钥 公钥,双方都收到了对方 用(私+公)生成的秘钥,再用 对方的(私+公)秘钥+自己的私钥=新的秘钥 ,再用新的秘钥加密数据发送给对方

用两个秘钥来加密和解密,公钥是所有人都知道的,私钥只有持有方才有的秘钥。

 

非对称加密也叫做公钥加密

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

 

 

服务器上有成对的私钥/公钥,公钥给到客户端,客户端用公钥加密数据,只有服务器端的私钥才能解密。

 

TLS对称和非对称加密都有用到。

TCP三次握手

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

 

TLS握手过程

1、Client Hello(客户端发给服务器)

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

 

加密套件:16个不同的加密组合

TCP三次握手后 ,客户端发送了一个Cl.NET Hello 给服务器告诉服务器我支持那些加密套件,然后生成一个随机数(1)发送给服务器 。

2、Server Hello(服务器发送给客户端)

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

 

服务器的 Server Hello 响应报文里面会告诉客户端,服务端支持的TLS版本及选择的加密套件,并且服务器生成一个随机数(2)发送给客户端。随机数的作用?

3、Certificate(服务器发送给客户端)

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

 

服务器再发出一个响应来出示自己的证书,这样浏览器就可以对照自己的证书信任列表来确认这个服务器是否可信。

4、Server Key Exchange(服务器端发送)

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

 

服务器会把公钥发送给客户端

网银 服务器需要客户端的证书,这一步会发出请求。

5、Server Hello Done(服务器发送给客户端)

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

 

6、Client Key Exchange(客户端发出)

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

 

这一步是个重点也是难点,客户端会生成第三个随机数(3) 预主秘钥第三个随机数会用到刚刚收到的公钥进行加密,并把加密后的随机数发给服务器。就是Pubkey:显示的随机数

Change Cipher Spec

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

 

客户端告诉服务器以后就用商议好的秘钥来进行加密。

Encrypted Handshake Message

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

 

表示TLS协商已经灭有问题了,可以开始加密了。

 

7、Encrypted Handshake Message(服务器端发出)

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

 

这里表示TLS的握手已经成功了,可以给数据加密进行交换了。

 

TLS握手过程图

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

 

先用非对称加密生成会话密钥,会话密钥产生后使用对称加密来加密数据后传送(减少资源的消耗)。

对称加密 非对称加密 CA中心

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

 

非对称加密HTTPS(SSL2.0)

非对称加解密速率慢、效率低

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

 

非对称、对称混合加密的方式

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

 

这样也存在问题

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

 

https CA证书(解决中间人私发公钥、伪装身份问题)

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

 

 

 

SSL证书

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

 


HTTPS是什么?加密原理和证书。SSL/TLS握手过程

 


HTTPS是什么?加密原理和证书。SSL/TLS握手过程

 

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>