Application-Layer Protocol Negotiation

from Wikipedia, the free encyclopedia

Application-Layer Protocol Negotiation ( ALPN ) is an extension of Transport Layer Security (TLS). ALPN allows the application layer to negotiate the network protocol to be used over the secure connection; This avoids round-trip packet times that normally arise from further round trips between client and server.

ALPN is independent of the protocols used in the application layer and is part of HTTP / 2.

ALPN was published on July 11, 2014 as RFC 7301 and represents a further development of the Next Protocol Negotiation (NPN) that was used in SPDY .

According to an announcement by Google on February 10, 2015, NPN and SPDY will no longer be supported by the Chrome browser from 2016, as these will be replaced by the HTTP / 2 and ALPN standards.

The protocol identifier from ALPN is transmitted unencrypted in ClientHello from TLS.

support

ALPN is supported by the following security solutions:

  • GnuTLS since version 3.2.0 (released in May 2013).
  • MatrixSSL since version 3.7.1 (released in December 2014).
  • Network Security Services since version 3.15.5 (released April 2014).
  • OpenSSL since version 1.0.2 (released January 2015).
  • LibreSSL since version 2.1.3 (released January 2015).
  • mbed TLS (previously PolarSSL) since version 1.3.6 (released in April 2014).
  • SChannel since version 8.1 (2012 R2).
  • s2n

Web links

Individual evidence

  1. ^ Adam Langley: NPN and ALPN . Retrieved April 2, 2013.
  2. SPDY is to be quickly replaced by HTTP / 2 in Chrome . Retrieved February 10, 2015.
  3. gnutls 3.2.0 . Archived from the original on January 31, 2016. Info: The archive link was automatically inserted and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. Retrieved January 26, 2015. @1@ 2Template: Webachiv / IABot / article.gmane.org
  4. ^ MatrixSSL - News . December 4, 2014. Archived from the original on February 14, 2015. Info: The archive link was automatically inserted and not yet checked. Please check the original and archive link according to the instructions and then remove this notice. Retrieved January 26, 2015. @1@ 2Template: Webachiv / IABot / www.matrixssl.org
  5. NSS 3.15.5 release notes . In: Mozilla Developer Network . Mozilla. Retrieved January 26, 2015.
  6. OpenSSL 1.0.2 release notes . In: The OpenSSL Project . The OpenSSL Project. January 22, 2015. Accessed January 26, 2015.
  7. LibreSSL 2.1.3 released . January 22, 2015. Accessed January 26, 2015.
  8. Download overview - PolarSSL . April 11, 2014. Retrieved January 26, 2015.