1. HTTP VS HTTPS
- HTTPS(Secure)是安全的HTTP协议
- 访问方式:http(s)://<主机>:<端口>/<路径>
类别 | HTTP | HTTPS |
---|---|---|
安全性 | 不安全 | 安全 |
复杂度 | 低 | 高 |
效率 | 高 | 低 |
端口 | 一般80 | 443 |
2. TLS传输层安全协议
TLS:传输层安全协议(Transport Layer Security)
- 介于应用层和传输层之间的协议。
- 保障数据安全和数据完整。
- 对传输层数据进行加密后传输。
HTTPS安全本质是给予TLS协议之上的安全。TLS技术中结合了对称加密、非对称加密技术设计的安全协议。
3. TLS中的数字证书
数字证书是互联网通讯中标志通讯各方身份信息的一个数字认证,可以在往上来标识对方的身份。
数字证书是可信任组织颁发给特定对象的认证。
数字证书的组成:证书格式、版本号、证书序列号、签名算法、有效期、对象名称、对象公开密钥(非对称加密来生成对称密钥)等。
4. HTTPS建立连接过程
- 443端口的TCP连接。
- SSL安全参数握手(通过非对称加密来生成对称密钥)。
- 客户端/服务器端发送数据。
5. SSL安全参数握手具体过程
- 客户端生成随机数1,并向服务器端发送:随机数1、协议版本、加密算法。
- 服务器端生成随机数2,并向客户端发送:确定加密算法、数字证书、随机数2。
- 客户端确认数字证书是否有效、生成随机数3、使用服务器的公钥进行加密随机数3,并向服务器端发送:加密后随机数3。
- 服务器端接受随机数3,服务器端通过私钥进行解密验证。
- 客户端和服务器端,根据随机数1、2、3和相同的算法生成对称密钥。
- 之后的通信中,客户端和服务器端都使用对称密钥进行加密通信。
6. 不使用非对称密钥进行加密的原因
- 客户端需要存储服务器端的公钥,服务器端也需要存储客户端的公钥。
- 非对称加密算法的计算量相较于对称加密的计算量比较大,效率慢。
评论区