Application-Layer Protocol Negotiation
Application-Layer Protocol Negotiation (ALPN) ist eine Erweiterung von Transport Layer Security (TLS). ALPN erlaubt der Anwendungsschicht, das Netzwerkprotokoll auszuhandeln, das über die gesicherte Verbindung genutzt werden soll; dabei werden Paketumlaufzeiten vermieden, die normalerweise durch weitere Round Trips zwischen Client und Server entstehen.
ALPN ist unabhängig von den verwendeten Protokollen der Anwendungsschicht und Bestandteil von HTTP/2.<ref>Adam Langley: NPN and ALPN. In: imperialviolet.org. Abgerufen am 2. April 2013 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>
ALPN wurde am 11. Juli 2014 als RFC 7301<ref>Vorlage:RFC-Internet</ref> veröffentlicht und stellt eine Weiterentwicklung der Next Protocol Negotiation (NPN) dar, die in SPDY zum Einsatz kam.
Nach einer Ankündigung Googles vom 10. Februar 2015 werden NPN und SPDY ab 2016 vom Chrome-Browser nicht mehr unterstützt, da diese durch die Standards HTTP/2 sowie ALPN ersetzt werden.<ref>SPDY soll in Chrome schnell durch HTTP/2 ersetzt werden. In: golem.de. Abgerufen am 10. Februar 2015.</ref>
Der Protokollidentifikator von ALPN wird unverschlüsselt im ClientHello von TLS übermittelt.
Unterstützung[Bearbeiten]
ALPN wird von den folgenden Sicherheitslösungen unterstützt:
- GnuTLS seit Version 3.2.0 (veröffentlicht im Mai 2013).<ref name="GnuTLS-3.2.0">Nikos Mavrogiannopoulos: gnutls 3.2.0. In: article.gmane.org. Archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am 31. Januar 2016; abgerufen am 20. März 2021 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>
- MatrixSSL seit Version 3.7.1 (veröffentlicht im Dezember 2014).<ref name="MatrixSSL-3.7.1">News. MatrixSSL, 4. Dezember 2014, archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am 14. Februar 2015; abgerufen am 20. März 2021 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>
- Network Security Services seit Version 3.15.5 (veröffentlicht im April 2014).<ref name="NSS-3.15.5">NSS 3.15.5 release notes. In: Mozilla Developer Network. Mozilla, archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am 26. Januar 2015; abgerufen am 26. Januar 2015 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>
- OpenSSL seit Version 1.0.2 (veröffentlicht im Januar 2015).<ref name="OpenSSL-1.0.2">OpenSSL 1.0.2 Branch release notes. In: openssl.org. The OpenSSL Project, 22. Januar 2015, archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am 23. April 2015; abgerufen am 20. März 2021 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>
- LibreSSL seit Version 2.1.3 (veröffentlicht im Januar 2015).<ref name="libressl-2.1.3">LibreSSL 2.1.3 released. In: marc.info. 22. Januar 2015, abgerufen am 26. Januar 2015 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>
- mbed TLS (zuvor PolarSSL) seit Version 1.3.6 (veröffentlicht im April 2014).<ref name="PolarSSL-1.3.6">mbed TLS. In: Pro-Linux. Abgerufen am 7. November 2024.</ref>
- SChannel seit Version 8.1 (2012 R2).
- s2n
- wolfSSL (zuvor CyaSSL) seit Version 3.7.0 (veröffentlicht im Oktober 2015).<ref name="ChangeLog">wolfSSL Release Change Log. In: wolfssl.com. 26. Oktober 2015, abgerufen am 11. September 2015 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>
Weblinks[Bearbeiten]
- NPN Google Technical Note (veröffentlicht 2011)
- draft-agl-tls-nextprotoneg-04 (NPN Draft) (letzte Aktualisierung: Mai 2012)
- Vorlage:RFC-Internet
Einzelnachweise[Bearbeiten]
<references />