Application-Layer Protocol Negotiation

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

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.[1]

ALPN wurde am 11. Juli 2014 als RFC 7301[2] 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.[3]

Der Protokollidentifikator von ALPN wird unverschlüsselt im ClientHello von TLS übermittelt.

ALPN wird von den folgenden Sicherheitslösungen unterstützt:

  • GnuTLS seit Version 3.2.0 (veröffentlicht im Mai 2013).[4]
  • MatrixSSL seit Version 3.7.1 (veröffentlicht im Dezember 2014).[5]
  • Network Security Services seit Version 3.15.5 (veröffentlicht im April 2014).[6]
  • OpenSSL seit Version 1.0.2 (veröffentlicht im Januar 2015).[7]
  • LibreSSL seit Version 2.1.3 (veröffentlicht im Januar 2015).[8]
  • mbed TLS (zuvor PolarSSL) seit Version 1.3.6 (veröffentlicht im April 2014).[9]
  • SChannel seit Version 8.1 (2012 R2).
  • s2n
  • wolfSSL (zuvor CyaSSL) seit Version 3.7.0 (veröffentlicht im Oktober 2015).[10]
  • NPN Google Technical Note (veröffentlicht 2011)
  • draft-agl-tls-nextprotoneg-04 (NPN Draft) (letzte Aktualisierung: Mai 2012)
  • S. Friedl, A. Popov, A. Langley, E. Stephan: RFC 7301 – Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension. Juli 2014 (englisch).

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Adam Langley: NPN and ALPN. In: imperialviolet.org. Abgerufen am 2. April 2013 (englisch).
  2. S. Friedl, A. Popov, A. Langley, E. Stephan: RFC 7301 – Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension. Juli 2014 (englisch).
  3. SPDY soll in Chrome schnell durch HTTP/2 ersetzt werden. In: golem.de. Abgerufen am 10. Februar 2015.
  4. Nikos Mavrogiannopoulos: gnutls 3.2.0. In: article.gmane.org. Archiviert vom Original (nicht mehr online verfügbar) am 31. Januar 2016; abgerufen am 20. März 2021 (englisch).
  5. News. MatrixSSL, 4. Dezember 2014, archiviert vom Original (nicht mehr online verfügbar) am 14. Februar 2015; abgerufen am 20. März 2021 (englisch).
  6. NSS 3.15.5 release notes. In: Mozilla Developer Network. Mozilla, archiviert vom Original (nicht mehr online verfügbar) am 26. Januar 2015; abgerufen am 26. Januar 2015 (englisch).
  7. OpenSSL 1.0.2 Branch release notes. In: openssl.org. The OpenSSL Project, 22. Januar 2015, archiviert vom Original (nicht mehr online verfügbar) am 23. April 2015; abgerufen am 20. März 2021 (englisch).
  8. LibreSSL 2.1.3 released. In: marc.info. 22. Januar 2015, abgerufen am 26. Januar 2015 (englisch).
  9. mbed TLS. In: Pro-Linux. Abgerufen am 7. November 2024.
  10. wolfSSL Release Change Log. In: wolfssl.com. 26. Oktober 2015, abgerufen am 11. September 2015 (englisch).