我看你简历上写了HTTPS,那你讲一下吧
什么是HTTPS
简单来说就是把 HTTP 进行加密,把 HTTP 协议建立在 SSL/TLS 上面。 SSL Secure Socket Layout -> TLS Transport Layout Secure
在HTTP之下增加一个安全层,用户保障 HTTP 的加密。
本质就是:在客户端和服务器端之间协商出一个对称密钥,每次发送消息之前将内容加密,收到之后解密,达到对传输内容的加密。
加密过程是怎样的?
- 客户端向服务器请求建立连接。[附加 TLS 版本;Cipher Suite: 接受的对称加密和非对称加密算法和哈希算法;随机数]
- 服务器向客户端返回。[附加 TLS 版本;Cipher Suite: 接受的对称加密和非对称加密算法和哈希算法;随机数]
- 服务器返回证书。核心是公钥,附加服务器的域名,证书签名。
- 唯一一次非对称加密,用服务器发来的公钥,加密 Pre-master Secret(也是随机数)
- 客户端开始使用加密通信。
- 客户端发送:把前面的东西都包括起来,发到服务器。
- 服务器开始使用加密通信。
- 服务器把上面的所有发到客户端。
- 开始HTTPS请求。