首页/安全/加密与证书速查/TLS 1.3 0-RTT 与会话重放风险
TLS 与 HTTPS60 条

TLS 1.3 0-RTT 与会话重放风险

0-RTT 允许客户端在首个飞行就发送应用数据(early data),降低延迟;但早数据可被重放,只适合幂等请求。

加密与证书速查安全更新于 2026-10-12
前提基于 PSK 会话恢复
风险early data 可被攻击者重放
适用GET 等幂等请求
服务端控制nginx 的 ssl_early_data 与 Early-Data 头

nginx 开启 0-RTT 并标记请求

nginx 开启 0-RTT 并标记请求
ssl_early_data on;
proxy_set_header Early-Data $ssl_early_data;   # 供后端识别早数据请求
后端若对带 Early-Data 头的请求执行非幂等操作(下单、扣款),必须自行拒绝或降级处理。

易错点

  • 开启 0-RTT 后压测数据可能失真(部分请求被后端拒绝),需区分统计
  • 会话票据未做单次使用约束时,重放窗口更大,敏感接口建议关闭 0-RTT

数据来源与参考

  • RFC 8446 §8(0-RTT 与反重放)
  • nginx 官方文档 ssl_early_data
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌