diff --git "a/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/HTTPS\351\235\242\350\257\225\351\227\256\347\255\224.md" "b/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/HTTPS\351\235\242\350\257\225\351\227\256\347\255\224.md" index 8ba7089..cf4e364 100644 --- "a/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/HTTPS\351\235\242\350\257\225\351\227\256\347\255\224.md" +++ "b/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234/HTTPS\351\235\242\350\257\225\351\227\256\347\255\224.md" @@ -129,13 +129,13 @@ HTTPS主要是采用对称密钥加密和非对称密钥加密组合而成的混 难度:🌟🌟🌟🌟 -在HTTPS加密传输中,实际上涉及到 SSL/TLS 协议,这里是有一个TSL握手的过程。对于传统的TLS握手也就是RSA握手我就不描述了,主要是说一下现在主流的TLS1.2版本的握手,也就是ECDHE握手。 +在HTTPS加密传输中,实际上涉及到 SSL/TLS 协议,这里是有一个TLS握手的过程。对于传统的TLS握手也就是RSA握手我就不描述了,主要是说一下现在主流的TLS1.2版本的握手,也就是ECDHE握手。 它的过程大致来说是这样的: -1. 客户端在第一次发送HTTPS请求的时候,会把 client_random、TSL版本号、加密套件列表发送给服务器 +1. 客户端在第一次发送HTTPS请求的时候,会把 client_random、TLS版本号、加密套件列表发送给服务器 -2. 服务器在接收到之后确认TSL的版本号,同时发送 server_random、server_params、需要使用的加密套件、以及自己的证书给客户端 +2. 服务器在接收到之后确认TLS的版本号,同时发送 server_random、server_params、需要使用的加密套件、以及自己的证书给客户端 3. 客户端在收到这些信息之后,首先是会对服务器的证书进行验证(也就是题目7),若是验证成功则会传递一个 client_params 给服务器 @@ -176,8 +176,8 @@ HTTPS主要是采用对称密钥加密和非对称密钥加密组合而成的混 难度:🌟🌟🌟🌟 -1. 客户端首先发送 client_random、TSL版本号、加密套件列表给服务器 -2. 服务器在接收到之后确认TSL版本号,同时发送server_random、需要使用的加密套件、自己的证书给客户端 +1. 客户端首先发送 client_random、TLS版本号、加密套件列表给服务器 +2. 服务器在接收到之后确认TLS版本号,同时发送server_random、需要使用的加密套件、自己的证书给客户端 3. 客户端在收到这些信息之后,首先是会对服务器的证书进行验证(也就是题目7),若是验证成功则会用RSA算法生成一个pre_random,且用服务器的公钥(在证书中)加密pre_random发送给服务器。 4. 此时,客户端有了 client_random、server_random、pre_random,它会将这三个参数通过一个**伪随机函数**计算得出最终的secret,这个secret就是它们后续通信所要用的对称密钥。 5. 服务器接收到了刚刚用自己公钥加密的pre_random之后,用自己的私钥进行解密,得到里面的 pre_random,用和客户端一样的方式生成secret。 @@ -213,9 +213,9 @@ HTTPS主要是采用对称密钥加密和非对称密钥加密组合而成的混 -### 13. 那你知道TSL1.3版本吗?它较TSL1.2做了哪些改进呢? +### 13. 那你知道TLS1.3版本吗?它较TLS1.2做了哪些改进呢? -TSL1.3版本是2018年推出的。它较TSL1.2主要是做了以下改进: +TLS1.3版本是2018年推出的。它较TLS1.2主要是做了以下改进: 1. 强化安全