Aller au contenu
ecdsa.com

ALPN (négociation du protocole applicatif)

L’extension TLS de la RFC 7301 par laquelle le client propose des protocoles applicatifs comme h2 et http/1.1 et le serveur en choisit un pendant le handshake, ce qui évite un aller-retour supplémentaire.
Autres graphiesApplication-Layer Protocol NegotiationALPNh2acme-tls/1

Parmi les identifiants enregistrés figurent http/1.1, h2 (HTTP/2), h3 (HTTP/3 sur QUIC), acme-tls/1 (ACME tls-alpn-01), smtp, imap, dot (DNS over TLS) et postgresql. HTTP/2 sur TLS exige ALPN ; un serveur qui ne sélectionne pas h2 contraint les clients à se rabattre sur HTTP/1.1. ALPN sépare aussi les protocoles qui partagent un même port et bloque les attaques inter-protocoles comme ALPACA (2021) lorsque les serveurs rejettent les valeurs inconnues.

La liste ALPN circule en clair dans le ClientHello (sauf si ECH est utilisé) et fait partie des empreintes TLS comme JA4. openssl s_client -alpn h2,http/1.1 montre ce qu’un serveur sélectionne.

Normes et références

Tous les termes