STARTTLS es una extensión del protocolo de intercambio de texto regular que le permite crear una conexión cifrada ( TLS o SSL ) justo encima de una conexión TCP normal en lugar de abrir un puerto separado para la conexión cifrada.
STARTTLS para IMAP y POP3 se define en RFC 2595 , para SMTP en RFC 3207 , para FTP en RFC 4217 , para XMPP en RFC 6120 , para LDAP en RFC 2830 y para NNTP en RFC 4642 .
TLS es un protocolo independiente de la capa de aplicación; en términos de RFC 5246
Los protocolos de alto nivel pueden colocarse sobre el protocolo TLS transparente. El estándar TLS no describe cómo otros protocolos interactúan con TLS, no describe cómo inicializar el protocolo de enlace TLS y cómo usar el intercambio de certificados de autenticación . Esto se hace mediante protocolos que se ejecutan sobre TLS. [una]Para usar TLS, debe usar bibliotecas que ya tengan TLS integrado. Por ejemplo, la extensión RFC 3207 SMTP muestra en la siguiente descripción del protocolo cómo el cliente y el servidor inician una sesión cifrada: [2]
S: <espera la conexión en el puerto TCP 25> C:<abre conexión> S: 220 mail.example.org servicio ESMTP listo C: cliente EHLO.ejemplo.org S: 250-mail.example.org ofrece un cálido abrazo de bienvenida S: 250 STARTTLS C:STARTTLS S: 220 Adelante C: <comienza la negociación TLS> C&S: <negociar una sesión TLS> C&S: <verificar el resultado de la negociación> C: cliente EHLO.ejemplo.org [3] . . .El último comando EHLO pasa por un canal seguro. Tenga en cuenta que la capacidad de autenticación no es necesaria para SMTP, y es posible que las posibles respuestas del servidor no se reconozcan como extensiones AUTH PLAIN para SMTP, que no están presentes en el intercambio de texto normal.
Antes de que se introdujera STARTTLS, se asignaban muchos puertos TCP para la conexión encriptada SSL de muchos servidores. TLS establece una conexión segura a través de un flujo de comunicación idéntico al antiguo protocolo no cifrado. Desde la introducción de STARTTLS más eficientes, no se recomienda utilizar números de puerto escasos, lo que permite una configuración más sencilla del dispositivo [4] . Algunos ejemplos:
Protocolo | Objetivo | puerto normal | variante SSL | puerto SSL |
---|---|---|---|---|
http | Servidor web | 80 | HTTPS | 443 |
SMTP | enviar correo electrónico | 25 | SMTPS | 465 |
IMAP | leer el correo electrónico | 143 | IMAPS | 993 |