主题
HTTPS 与 TLS
HTTPS 的安全目标
HTTPS 使用 TLS 保护 HTTP 通信的机密性和完整性,通常通过证书验证服务器身份。
TLS 保护到其终止点。反向代理终止 TLS 后,到上游是否继续加密取决于部署。
TLS 握手、密钥协商与证书验证
临时密钥份额用于导出共享密钥,Finished 用于校验握手记录。
图示省略了 EncryptedExtensions 等细节,按服务端证书认证且未请求客户端证书的常见握手展示。
证书负责认证。常见临时密钥协商不会用服务器证书公钥直接加密应用数据。
规范参考:TLS 1.3 规范 RFC 8446
中间人攻击与身份校验
中间人可拦截并在两端分别建立连接。客户端校验域名、证书链和握手签名,可以阻止缺乏可信凭证的攻击者冒充服务器。
忽略证书错误或信任额外根证书会改变信任边界。加密连接仍需明确认证对端。
HSTS 与 HTTPS 降级防护
浏览器收到可信 HTTPS 响应中的 HSTS 后,在有效期内自动升级对该主机的 HTTP 访问,并限制绕过证书错误。
普通 HSTS 需要先成功访问 HTTPS。预加载可覆盖首次访问,includeSubDomains 将策略扩展到子域。
