什么是 HTTPS?
HTTPS (HyperText Transfer Protocol Secure) 是在 HTTP 基础上添加 TLS (Transport Layer Security) 加密的协议。当网站的 URL 以"https://"开头时,浏览器与服务器之间的所有通信都是加密的。
HTTPS 是现代网络的标准。Google 将 HTTPS 的采用作为搜索排名的因素之一,主流浏览器现在会对使用纯 HTTP 的网站显示"不安全"警告。
TLS 的工作原理
TLS (Transport Layer Security) 是一种用于加密通信的协议。它的前身是 SSL (Secure Sockets Layer),但现在使用的是其后继标准 TLS。如需全面了解,TLS 和 SSL 协议指南是很好的入门资料。
TLS 握手
建立 HTTPS 连接时,浏览器和服务器之间会进行一个称为"TLS 握手"的过程。
- 浏览器请求连接,并发送支持的 TLS 版本和密码套件列表
- 服务器选择 TLS 版本和密码套件,然后发送其 SSL/TLS 证书
- 浏览器验证证书的有效性 (CA 签名、过期日期、域名匹配)
- 通过密钥交换算法安全地生成共享加密密钥 (会话密钥)
- 后续所有通信使用会话密钥加密
这个过程通常在几十毫秒内完成,用户几乎感觉不到。
TLS 版本
TLS 1.3 (推荐)
最新版本,于 2018 年定稿。握手减少为一次往返 (1-RTT),提高了连接速度。移除了弱密码套件,前向保密成为强制要求。了解 TLS 如何与 Cookie 追踪交互,对于全面理解浏览器安全也很重要。
TLS 1.2
于 2008 年定稿,至今仍被广泛使用。在配置了适当密码套件的情况下提供足够的安全性,但不当配置可能留下使用弱密码的空间。
TLS 1.0 / 1.1 (已弃用)
这些版本存在已知漏洞,所有主流浏览器已停止支持。仅支持这些版本的服务器已无法访问。
IP 确认的连接协议部分可以查看当前连接使用的 TLS 版本和密码套件。
SSL/TLS 证书的作用
SSL/TLS 证书是验证网站身份的数字证书。由证书颁发机构 (CA) 签发,包含以下信息:
- 域名
- 证书持有者信息
- CA 签名
- 公钥
- 过期日期
证书类型
- DV (域名验证) 证书:仅验证域名所有权。可从 Let's Encrypt 等提供商免费获取
- OV (组织验证) 证书:还验证组织的存在。适合商业网站
- EV (扩展验证) 证书:经过最严格的审核流程后签发。金融机构等使用
什么是密码套件?
密码套件是 TLS 连接中使用的加密算法组合。由四个组件构成:密钥交换、认证、加密和哈希。对细节感兴趣的读者可以在密码学基础书籍中找到详细解释。
例如,TLS_AES_256_GCM_SHA384 表示使用 AES-256-GCM 加密和 SHA-384 哈希。
在 IP 确认上,你可以在连接协议部分查看当前连接使用的密码套件。
ALPN 与 HTTP/2 · HTTP/3
ALPN (Application-Layer Protocol Negotiation) 是在 TLS 握手期间协商应用层协议 (HTTP/1.1、HTTP/2、HTTP/3 等) 的机制。
HTTP/2 运行在 TLS 之上,通过多路复用和头部压缩大幅提高了通信效率。HTTP/3 运行在 QUIC 协议之上,提供更快的速度和更稳定的连接。
在 IP 确认上,你还可以查看 ALPN 协商结果和 HTTP 版本。
如何验证安全连接
- 确认浏览器地址栏中出现锁形图标
- 验证 URL 以"https://"开头
- 在 IP 确认的安全评分中查看 HTTPS/TLS 连接评级
- 确认使用的是 TLS 1.2 或更高版本
在使用公共 Wi-Fi 时,验证 HTTPS 连接尤为重要。使用 IP 确认一目了然地检查你的 TLS 版本、密码套件和整体连接安全性。了解 HTTP 安全头可以进一步深入了解网站的安全状况。