TLS/SSL en http (80) con STARTTLS

TLS/SSL en http (80) con STARTTLS

Estoy investigando la razón por la cual TLS/SSL no se utiliza a través de HTTP. Se pueden utilizar otros protocolos, como SMTP, POP3, FTP, etc. en los puertos SSL (SMTPS, POP3S, ftpS) para la primera forma, y ​​la segunda forma es usar la opción STARTTLS en el puerto actual con la extensión (Ejemplo de SMTP) Existe una forma popular de utilizar la segunda forma (STARTTLS) en los protocolos de correo electrónico, pero ¿por qué http no utiliza STARTTLS? encontréRFC TLS dentro de HTTP/1.1, pero no se usa hoy en día (o tal vez aún no lo he visto)

Respuesta1

Un propósito delMecanismo de actualizaciónenRFC 2817fue el proporcionar unalojamiento virtualmecanismo para HTTP con TLS tal como estaba la situación en 2000:

El mecanismo de actualización también resuelve el problema del "alojamiento virtual". En lugar de asignar varias direcciones IP a un único host, un servidor HTTP/1.1 utilizará el encabezado Host: para eliminar la ambigüedad del servicio web deseado. A medida que el uso de HTTP/1.1 se ha vuelto más frecuente, más ISP ofrecen alojamiento virtual basado en nombres, retrasando así el agotamiento del espacio de direcciones IP.

ElIndicación del nombre del servidor(SNI;RFC 3546, 3.1) dio una solución mejor a este problema en 2003 (la que todavía se utiliza), por lo que ya no ha sido necesaria. El Upgradeencabezado todavía está activo pero se usa para diferentes propósitos, como cambiar de HTTP/1.1 a HTTP/2.0 (RFC 7230, 6.7).

El protocolo HTTP también tiene el Locationencabezado (RFC 7231, 7.1.2) con los códigos de respuesta relacionados, lo que facilita redirigir al cliente a otro esquema, host y puerto, a diferencia de los protocolos que usaban STARTTLS.

También observe que su uso STARTTLSno era algo bueno ni deseable y algo que debería ser adoptado por más protocolos. De hecho,RFC 8314ahora deja obsoletos los protocolos de texto sin cifrar para el envío y acceso al correo electrónico, dejando SMTP de MTA a MTA como el único protocolo de correo electrónico que STARTTLSdebe usarse. Deseccion 3:

– – Aunque se ha implementado este mecanismo, se ha implementado con mayor éxito un mecanismo alternativo en el que TLS se negocia inmediatamente al inicio de la conexión en un puerto separado (denominado en este documento "TLS implícito"). Para fomentar un uso más generalizado de TLS y también fomentar una mayor coherencia con respecto a cómo se utiliza TLS, esta especificación ahora recomienda el uso de TLS implícito para POP, IMAP, envío SMTP y todos los demás protocolos utilizados entre un MUA y un MSP.

Respuesta2

Una razón podría ser que un STARTTLS adicional agregaría más gastos generales ya que se necesita un viaje de ida y vuelta adicional (solicitud + respuesta). Sin embargo, el tiempo desde el inicio de la conexión hasta la respuesta es bastante crítico con HTTP y se realizaron muchas optimizaciones para reducir este tiempo, como un protocolo de enlace TLS más corto o diferentes protocolos como QUIC. Agregar algo como STARTTLS aumentaría el tiempo y, por lo tanto, no es una buena idea.

información relacionada