跳到主要内容
ecdsa.com

QUIC

RFC 9000 定义的基于 UDP 的传输协议,集成了 TLS 1.3 握手(RFC 9001),对几乎所有传输层元数据加密,并承载 HTTP/3。
其他写法QUICHTTP/3RFC 9000

QUIC 把 TLS 握手消息放在 QUIC 数据包内的 CRYPTO 帧中发送,而不是放在 TLS 记录中,并从 TLS 密钥调度中派生数据包保护密钥。Initial 数据包使用从连接 ID 派生的密钥保护,因此只是经过了混淆;客户端发出的第一轮数据必须填充到至少 1,200 字节,以限制利用伪造源地址进行的流量放大。

多个流复用同一个连接,不会产生队头阻塞;连接借助连接 ID 在 IP 地址变化后依然保持;握手在一次往返内完成(会话恢复时可用 0-RTT)。HTTP/3(RFC 9114)运行在 QUIC 之上;浏览器通过 Alt-Svc 标头或 DNS HTTPS 记录发现它。

后量子密钥共享(key share)会让客户端的 Initial 跨越不止一个数据包;QUIC 本身能处理这种情况,但一些中间设备和服务器协议栈曾因此需要修复。JA4 指纹用开头的 q 标记 QUIC 握手。

标准与参考资料

全部术语