Saltar al contenido
ecdsa.com

ALPN (negociación de protocolo de aplicación)

La extensión de TLS del RFC 7301 con la que el cliente ofrece protocolos de aplicación como h2 y http/1.1 y el servidor elige uno dentro del handshake, sin un viaje de ida y vuelta adicional.
También se escribeApplication-Layer Protocol NegotiationALPNh2acme-tls/1

Entre los identificadores registrados están http/1.1, h2 (HTTP/2), h3 (HTTP/3 sobre QUIC), acme-tls/1 (tls-alpn-01 de ACME), smtp, imap, dot (DNS sobre TLS) y postgresql. HTTP/2 sobre TLS requiere ALPN; un servidor que no selecciona h2 obliga a los clientes a volver a HTTP/1.1. ALPN también separa los protocolos que comparten un puerto y bloquea ataques entre protocolos como ALPACA (2021) cuando los servidores rechazan los valores desconocidos.

La lista ALPN viaja en claro en el ClientHello (salvo que se use ECH) y forma parte de huellas TLS como JA4. openssl s_client -alpn h2,http/1.1 muestra lo que selecciona un servidor.

Estándares y referencias

Todos los términos