SSL四次握手

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSL四次握手相关的知识,希望对你有一定的参考价值。

参考技术A SSL类似于TCP的三次握手,在HTTP链接建立之前进行四次握手,从而客户度和服务端沟通好HTTP传输时对称加密的密钥,大致过程如下图:

1、客户端请求建立SSL链接,并向服务端发送一个随机数–Client random和客户端支持的加密方法,比如RSA公钥加密,此时是明文传输。

2、服务端回复一种客户端支持的加密方法、一个随机数–Server random、授信的服务器证书和非对称加密的公钥。

3、客户端收到服务端的回复后利用服务端的公钥,加上新的随机数–Premaster secret 通过服务端下发的公钥及加密方法进行加密,发送给服务器。

4、服务端收到客户端的回复,利用已知的加解密方式进行解密,同时利用Client random、Server random和Premaster secret通过一定的算法生成HTTP链接数据传输的对称加密key – session key。

此后的HTTP链接数据传输即通过对称加密方式进行加密传输。

再来看看非对称加密,非对称加密有两个密钥,公钥和私钥,公钥公开,私钥私有。
非对称加密的例子
加密:
A想要传输信息给B,那么B首先生成公钥和私钥,公钥发送给A,私钥保留,A收到B的公钥之后,将信息利用公钥加密,然后传输给B,B通过私钥解密。
防止篡改:
B想要给A发送一个证明,那么B首先生成公钥和私钥,利用私钥加密证明生成加密文件,然后将证明和加密文件以及公钥一同发送给A,A收到之后,利用公钥将加密文件解密,然后对比证明,如果相同,则可以认为证明没有被篡改过。

[1] http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html

[2] http://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html

tcp 三次握手,四次挥手

三次握手

技术图片

四次挥手

技术图片

三次握手,四次挥手相关问题

问:TCP的三次握手过程?为什么会采用三次握手,若采用二次握手可以吗?
答:1.握手过程看上图。2.如果采用二次握手,则可能收到客户端申请的已经失效的连接。
问:SYN Flood攻击是什么原因?
答:三次握手的缺陷:第二次握手时候会出现,SYN Timeout
问:四次挥手释放连接时,等待2MSL的意义?
答:1.保证ack传过去。2.消除网络中所有其他的包。
问:为什么需要四次挥手才能断开连接?
答:全双工,FIN,ACK
问:出现大量的CLOSE_WAIT的原因?
答:服务器忙于读写。

附大佬总结的:https://github.com/wangliguo123321/learningNote-interview/blob/master/learningNote/studyDiary/计算机网络.md

以上是关于SSL四次握手的主要内容,如果未能解决你的问题,请参考以下文章

计算机网络HTTPS协议中SSL/TLS四次握手过程

HTTPS协议的SSL握手过程

HTTPS的作用和过程,详解为啥要 三次握手 四次挥手

TLS协议的TLS握手协议

WebSocket握手协议

四次握手