stringtranslate.com

Negociación del protocolo de capa de aplicación

La negociación del protocolo de la capa de aplicación ( ALPN ) es una extensión de seguridad de la capa de transporte (TLS) que permite a la capa de aplicación negociar qué protocolo debe realizarse a través de una conexión segura de una manera que evite viajes de ida y vuelta adicionales y cuál sea independiente de la capa de aplicación. protocolos. Se utiliza para establecer conexiones HTTP/2 sin viajes de ida y vuelta adicionales (el cliente y el servidor pueden comunicarse a través de puertos previamente asignados a HTTPS con HTTP/1.1 y actualizar para usar HTTP/2 o continuar con HTTP/1.1 sin cerrar la conexión inicial).

Apoyo

ALPN es compatible con estas bibliotecas:

Historia

Negociación del próximo protocolo

En enero de 2010, Google presentó el borrador del estándar IETF que describe la extensión TLS de negociación del próximo protocolo. [13] Esta extensión se utilizó para negociar conexiones SPDY experimentales entre Google Chrome y algunos de los servidores de Google. A medida que SPDY evolucionó, NPN fue reemplazada por ALPN.

Negociación del protocolo de capa de aplicación

El 11 de julio de 2014, ALPN se publicó como RFC  7301. ALPN reemplaza la extensión Next Protocol Negotiation (NPN). [14]

TLS False Start se deshabilitó en Google Chrome desde la versión 20 (2012) en adelante, excepto en los sitios web con la extensión NPN anterior. [15]

Ejemplo

ALPN es una extensión TLS que se envía en el protocolo de enlace TLS inicial 'Cliente Hola' y enumera los protocolos que admite el cliente (por ejemplo, el navegador web):

 Tipo de protocolo de enlace : Cliente Hola ( 1 ) Longitud : 141 Versión : TLS 1 . 2 ( 0x0303 ) Aleatorio : dd67b5943e5efd0740519f38071008b59efbd68ab3114587 ...Longitud de ID de sesión : 0 Longitud de conjuntos de cifrado : 10 conjuntos de cifrado ( 5 conjuntos ) Longitud de métodos de compresión : 1 Longitud de métodos de compresión ( 1 método ) Longitud de extensiones : 90 [ otras extensiones omitidas ] Extensión : application_layer_protocol_negotiation ( len = 14 ) Tipo : application_layer_protocol_negotiation ( 16 ) Longitud : 14 ALPN Longitud de la extensión : 12 ALPN Protocolo Longitud de la cadena ALPN : 2 ALPN Siguiente protocolo : h2 Longitud de la cadena ALPN : 8 ALPN Siguiente protocolo : http / 1 . 1                                                                    

El 'Servidor Hola' resultante del servidor web también contendrá la extensión ALPN y confirma qué protocolo se utilizará para la solicitud HTTP:

 Tipo de protocolo de enlace : Servidor Hola ( 2 ) Longitud : 94 Versión : TLS 1 . 2 ( 0x0303 ) Aleatorio : 44 e447964d7e8a7d3b404c4748423f02345241dcc9c7e332 .. . ID de sesión Duración : 32 ID de sesión : 7667476 d1d698d0a90caa1d9a449be814b89a0b52f470e2d .. . Conjunto de cifrado : TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ( 0xc02f ) Método de compresión : nulo ( 0 ) Longitud de extensiones : 22 [ otras extensiones omitidas ] Extensión : application_layer_protocol_negotiation ( len = 5 ) Tipo : application_layer_protocol_negotiation ( 16 ) Longitud : 5 ALPN Longitud de extensión : 3 ALPN Longitud de la cadena ALPN : 2 ALPN Siguiente protocolo : h2                                                       

Referencias

  1. ^ "Aviso de lanzamiento de Dell BSAFE Micro Edition Suite 5.0" . Consultado el 18 de octubre de 2022 .
  2. ^ "gnutls 3.2.0". Archivado desde el original el 31 de enero de 2016 . Consultado el 26 de enero de 2015 .
  3. ^ "MatrixSSL - Noticias". 2014-12-04. Archivado desde el original el 14 de febrero de 2015 . Consultado el 26 de enero de 2015 .
  4. ^ "Notas de la versión de NSS 3.15.5". Red de desarrolladores de Mozilla . Mozilla . Consultado el 26 de enero de 2015 .
  5. ^ "Notas de la versión de OpenSSL 1.0.2". El proyecto OpenSSL . 2015-01-22. Archivado desde el original el 4 de septiembre de 2014 . Consultado el 26 de enero de 2015 .
  6. ^ "Lanzamiento de LibreSSL 2.1.3". 22/01/2015 . Consultado el 26 de enero de 2015 .
  7. ^ "Descargar descripción general: PolarSSL". 2014-04-11. Archivado desde el original el 9 de febrero de 2015 . Consultado el 26 de enero de 2015 .
  8. ^ "Registro de cambios de versión de wolfSSL". 2015-10-26 . Consultado el 11 de septiembre de 2015 .
  9. ^ "Notas de la versión Go 1.4". 2014-12-10 . Consultado el 28 de noviembre de 2017 .
  10. ^ "JEP 244: Extensión de negociación del protocolo de capa de aplicación TLS". 2017-08-07 . Consultado el 29 de agosto de 2018 .
  11. ^ "Nota de la versión: Extensión de negociación del protocolo de capa de aplicación TLS". 2020-04-30 . Consultado el 11 de junio de 2020 .
  12. ^ "Novedades de TLS/SSL (Schannel SSP)". 31 de agosto de 2016 . Consultado el 30 de marzo de 2020 .
  13. ^ Langley, A. (20 de enero de 2010). "Extensión de negociación del siguiente protocolo de seguridad de la capa de transporte (TLS)". Rastreador de datos del IETF .
  14. ^ Langley, Adán. «»NPN y ALPN» . Consultado el 2 de abril de 2013 .
  15. ^ Langley, Adán. "Fracaso del comienzo en falso (11 de abril de 2012)" . Consultado el 25 de septiembre de 2013 .

enlaces externos