小结TSL的协议协议运行机制和握手过程

一直对TSL有点迷糊,今天抽出时间理了以下,感觉也不难。

        TLS其实就是基于TCP的用于保证信息安全的加密传输协议。

       主要特点就是非对称加密“密钥”,然后对称加密消息。私钥加密,公钥解密“密钥”,然后把解密出来的密钥当作加密钥匙去加密需要传输的的消息。

握手阶段分4次通信:

第一次:ClientHello

客户端向服务端发出加密通信的请求,请求里面包含:

1、加密协议的版本。

2、client生成的随机数

3、支持的加密算法比如:RSA公钥加密

4、client支持的压缩算法

第二次:ServerHello

服务端向客户端响应,并返回以下信息:

1、服务端确认的加密版本,如果服务端支持的TSL加密版本和客户端不一致,那么转回到不加密的通信。

2、server生成的随机数。

3、server支持的加密算法。

4、server发给客户端的证书。

5、公钥。

6、网址

第三次:

1、客户端验证服务端的证书是否是可信机构颁布的,有没有过期,网址信息是不是客户端要请求的。如果不是,那么会有显示的警告。

2、如果用户确认了或者这些都校验通过了。那么客户端再生成一个随机数叫做“pre market key”,该随机数用公钥加密返回给服务端。

3、编码改变通知。

第四次:

1、这样服务端就有了3个随机数,服务端用这个3个随机数生成会话密钥。

2、然后用这个密钥给内容加密。同时用私钥给会话密钥加密,返回给客户端。

3、发送编码改变通知,通知以后就用会话密钥加密内容。

参考:

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

https://www.wosign.com/INFO/https_tls_ssl_http.htm

你可能感兴趣的:(小结TSL的协议协议运行机制和握手过程)