HTTPS理论(SSL/TLS)
SSL安全套接层协议
- 为互联网通信提供加密和身份认证
- SSL3.0有漏洞,被TLS取代
- 基于TCP的协议
- 工作原理
- 握手:客户端hello;服务器hello(发送数字证书)(协商ssl版本,加密算法)
- 数据传输
- 连接关闭
TLS传输层协议
- 发展
- TLS1.0 是 SSL 3.0 的演变版本
- TLS1.1 引⼊了抗阻断性攻击的措施
- TLS1.2 引⼊了SHA-256作为消息验证算法,并⽀持更多的加密算法,如 AES
- TLS1.3 简化和优化,移除了过时和不安全的加密算法,减少了握⼿的延迟,提升了性能和安全性。
- tcp443端口
- 工作原理
TLS 的⼯作原理与 SSL 类似,但在安全性和效率上进⾏了改进。其过程也分为握⼿、数据传输和连接关闭三个阶段。 TLS 1.3 引⼊了更快的握⼿过程,减少了所需的往返次数(RTT),从⽽降低了握⼿延迟。 协议
- 主协议
TLS 记录协议(TLS Record Protocol):负责对数据进⾏分⽚、压缩、加密、解密和完整性检查。
客户端Hello(ClientHello) 服务器Hello(ServerHello) 服务器证书(Server Certificate) 服务器密钥交换(Server Key Exchange)(可选) 证书请求(Certificate Request)(可选) 服务器Hello完成(ServerHelloDone) 客户端证书(Client Certificate)(可选)- 客户端密钥交换(Client Key Exchange)
- 证书验证(Certificate Verify)(可选)
- 变更密码规范(Change Cipher Spec)
- 握⼿完成(Finished)(加密)
TLS 握⼿协议(TLS Handshake Protocol):负责客户端和服务器之间的身份验证、加密算法协商以及密钥交换。
辅助协议
- TLS 变更密码规范协议(TLS Change Cipher Spec Protocol):⽤于通知对加密算法和密钥的使⽤进⾏切换。
- TLS 警报协议(TLS Alert Protocol):⽤于在通信过程中发送错误消息或通知中⽌连接。
SSL 和 TLS 的主要区别
- 安全性提升
- 更强大的加密算法 AES和SHA-256
- 握手过程:在握⼿过程中的优化使其⽐ SSL 更加⾼效,减少了延迟。
- 协议扩展性
TLS1.3相比TLS1.2的改进:
- 握手简化
- 加密算法改进
- 前向保密性:
TLS 1.3 默认使⽤基于 Diffie-Hellman 的密钥交 换算法,确保即使⻓时间后密钥泄露,也⽆法解密过去的通信数据。 0-RTT 握⼿:TLS 1.3 引⼊了 0-RTT(零往返时间)恢复握⼿机制,
数字证书制作与HTTPS部署
AD CS (AD证书服务) 提供公钥基础设施PKI服务