STARTTLS, SSL y TLS – ¿Cuál es la diferencia?

2019-01-16T15:27:12+00:00enero 16th, 2019|

STARTTLS transforma una conexión insegura en una segura mediante el uso de SSL/TLS, (Los cuales son acrónimos para “Secure Socket Layer” y “Transport Layer Security” respectivamente) que proveen una manera de poder cifrar un canal de comunicación entre dos computadoras. Los términos SSL y TLS son normalmente intercambiables, a menos que se utilizen para nombrar una versión en específico.

Versiones de SSL/TLS
Cuando TLS comienza desde SSL como el nombre del protocolo seleccionado, comienza un nuevo número de versión y comienza a usar sub-versiones. Por lo tanto, el orden de los protocolos (del más antiguo al más nuevo) es:
• SSL v2
• SSL v3
• TLS v1.0
• TLS v1.1
• TLS v1.2
• TLS v1.3 (actualmente propuesto)

Al conectar SSL con un puerto cifrado TLS, ambas partes decidirán el protocolo y la versión que se deben usar según la configuración del software y qué admiten. Esto también sucede cuando se utiliza STARTTLS para actualizar una conexión.

Hoy en día, hay soporte para SSL / TLS en todas partes, pero es otra historia cuando hablamos de las versiones compatibles, ya que su disponibilidad varía mucho. La última versión de SSL v2 y SSL v3 se ha descontinuado hace muchos años debido a algunos fallos de seguridad. Casi todos los programas son compatibles con TLS v1.0, 1.1 y 1.2, y otros pocos sitios web recomiendan al menos TLS v1.2 debido a su perfil de seguridad.

El Problema de los Nombres
Algo que complica mucho las cosas es el tipo de correo que utiliza de manera erronea el termino TLS en lugar de STARTTLS. Las versiones anteriores de Thunderbird utilizaron “TLS” como “empuje el uso de STARTTLS para actualizar la conexión, y falla si STARTTLS es compatible.” Además de usar “TLS dependiendo de la disponibilidad” como “use STARTTLS para actualizar la conexión si el servidor anuncia soporte para ello, de lo contrario intenta con otra conexión”.

Números de puerto
Las cosas podrían ponerse más difíciles si también debes configurar un número de puerto para cada protocolo.
Para garantizar la seguridad de algunos de los protocolos existentes, es muy común simplemente agregar el cifrado SSL / TLS como si fuera una capa por debajo del protocolo actual. De todos modos, ese software debe reconocer la versión cifrada de SSL / TLS del protocolo en lugar de la de texto simple. El número de puerto cambia de un protocolo a otro. Deberías tener:

IMAP usa el puerto 143, pero el cifrado SSL / TLS implícito IMAP usa el puerto 993.
POP utiliza el puerto 110, pero el POP cifrado SSL / TLS implícito utiliza el puerto 995.
SMTP usa el puerto 25, pero SMTP encriptado SSL / TLS implícito usa el puerto 465.

Solo debes tener 1 puerto que comience como texto simple, excepto cuando el cliente actualice la conexión a uno cifrado SSL / TLS. Sin embargo, ya existía un software que utilizaba los números de puerto alternativos con conexiones SSL / TLS. El software del cliente puede durar mucho tiempo, por lo que, tal y como uno no puede simplemente entrar en Mordor, uno no puede simplemente deshabilitar los puertos cifrados hasta que se haya actualizado todo el software.

Se agregaron mecanismos a cada protocolo para indicar a los clientes que el protocolo de texto simple admitía la actualización a SSL / TLS (es decir, STARTTLS), y que no deberían intentar iniciar sesión sin hacer la actualización de STARTTLS.
Este es ahora el estándar que todos usan:
IMAP SSL / TLS encriptado en el puerto 993 o POP SSL / TLS encriptado en el puerto 995.
Algunos sitios web importantes comenzaron a deshabilitar el IMAP simple (puerto 143) y el POP simple (puerto 110) para que las personas solo puedan usar una conexión cifrada SSL / TLS.
Al deshabilitar los puertos 143 y 110, esto elimina por completo que STARTTLS deja de funcionar como una alternativa para las conexiones IMAP / POP.

SMTP STARTTLS: La única excepción
SMTP STARTTLS es la excepción a todos los estándares previos, pero por una razón diferente: el software de correo electrónico comúnmente utiliza SMTP en el puerto 25 para enviar mensajes al servidor de correo electrónico para el agente de transferencia de correo. Sin embargo, SMTP se creó con el propósito de transferir y no enviar. Es por eso que el puerto 587 fue definido para el envío de mensajes.

Aunque el puerto 587 no necesita STARTTLS, su uso se hizo popular como el hecho de que el cifrado SSL / TLS de las comunicaciones entre clientes y servidores era un gran problema de seguridad y privacidad, mientras que las extensiones de cifrado se definían para SMTP.
No mucho después de que se definió el puerto 465, se revocó con la expectativa de que los clientes preferirían usar STARTTLS en lugar del puerto 587.

Como consecuencia común, los sistemas que ofrecen el envío de mensajes a través del puerto 587 necesitan que los clientes usen STARTTLS para actualizar la conexión y también necesitan un inicio de sesión protegido por contraseña.
Pero nada es tan malo después de todo. Al disuadir a los clientes de utilizar el puerto 25 para el envío de correos electrónicos, los ISP pueden bloquear los intentos de conexiones del puerto 25 de las computadoras de los usuarios, situación que generó una gran cantidad de spam gracias a los virus de computadora.

Sin embargo, los números de puerto cambiantes provocaron la creación de muchos clientes de correos electrónico que admitían SSL / TLS exclusivamente implícitos y la eliminación del puerto 465 no era una opción para muchos sitios, ya que preocupaba a los clientes. Además, el puerto 465 se anunció como una opción, así que muchos usuarios con clientes de correo electrónico que admiten STARTTLS en 587 y SSL / TLS en 465 los configuran para su uso, lo que hace que sea aún más difícil eliminar el soporte para el puerto 465 porque muchos usuarios tienen sus clientes de correo electrónico configurado para usarlo.

Ahora hay una división entre las personas que usan SMTP SSL / TLS encriptado en el puerto 465, y las personas que usan SMTP con STARTTLS actualizando en el puerto 587. Además, en los últimos años cambió una vez más y recomendó el uso de TLS implícito en el puerto 465. Es muy probable que pasen décadas hasta descontinuar el puerto 587 con TLS implícito sobre el puerto 465 y STARTTLS sobre el puerto 587.