¿Cuál es la diferencia entre SSL, TLS y HTTPS?
Me confundo con los términos en esta área. ¿Qué es SSL, TLS y HTTPS? ¿Cuáles son las diferencias entre ellos?
551
3
Me confundo con los términos en esta área. ¿Qué es SSL, TLS y HTTPS? ¿Cuáles son las diferencias entre ellos?
TLS es el nuevo nombre de SSL. En concreto, el protocolo SSL llegó a la versión 3.0; TLS 1.0 es "SSL 3.1". Las versiones de TLS definidas actualmente son TLS 1.1 y 1.2. Cada nueva versión añade algunas características y modifica algunos detalles internos. A veces decimos "SSL/TLS".
HTTPS es HTTP-dentro-de-SSL/TLS. SSL (TLS) establece un túnel seguro y bidireccional para datos binarios arbitrarios entre dos hosts. HTTP es un protocolo para enviar solicitudes y recibir respuestas, cada una de las cuales consiste en cabeceras detalladas y (posiblemente) algún contenido. HTTP está pensado para funcionar sobre un túnel bidireccional para datos binarios arbitrarios; cuando ese túnel es una conexión SSL/TLS, entonces el conjunto se llama "HTTPS".
Para explicar las siglas:
SSL y TLS son protocolos cuyo objetivo es proporcionar privacidad e integridad de los datos entre dos partes (véase RFC 2246), diseñados para ejecutarse sobre un protocolo de comunicación fiable (normalmente TCP). Aunque la especificación de TLS no habla de sockets, el diseño de SSL/TLS se hizo para que las aplicaciones pudieran utilizarlos casi como los sockets TCP tradicionales, por ejemplo
SSLSocket
en Java extiendeSocket
(aunque hay pequeñas diferencias en términos de usabilidad). HTTPS es HTTP sobre SSL/TLS, donde la conexión SSL/TLS se establece primero, y luego los datos HTTP normales se intercambian sobre esta conexión SSL/TLS. El uso de SSL o TLS depende de la configuración del navegador y del servidor (normalmente hay una opción para permitir SSLv2, SSLv3 o TLS 1.x). Los detalles de cómo HTTP y SSL/TLS forman HTTPS están en RFC 2818. En cuanto a la diferencia entre SSL y TLS, te pueden interesar estas dos respuestas que escribí para estas preguntas similares en StackOverflow y ServerFault:STARTTLS
en LDAP/SMTP). Esto se describe en RFC 2817. Hasta donde yo sé, esto casi nunca se utiliza (y no es lo que utilizahttps://
en los navegadores). La parte más relevante de este RFC es la sección sobreCONNECT
para los servidores proxy HTTP (esto es usado por los servidores proxy HTTP para retransmitir las conexiones HTTPS).SSL VS TLS
Los términos SSL y TLS se utilizan a menudo indistintamente o junto con el otro (TLS/SSL), pero uno es de hecho el predecesor del otro - SSL 3.0 sirvió de base para TLS 1.0 que, como resultado, a veces se denomina SSL 3.1.
¿Qué es más seguro, SSL o TLS?
En términos de seguridad, ambos se consideran igual de seguros
La principal diferencia es que, mientras que las conexiones SSL comienzan con seguridad y pasan directamente a las comunicaciones seguras, las conexiones TLS comienzan primero con un "hola" inseguro al servidor y sólo pasan a las comunicaciones seguras después de que el handshake entre el cliente y el servidor sea exitoso. Si el handshake TLS falla por cualquier razón, la conexión nunca se crea.
(SSL y TLS frente a HTTP)
El protocolo HTTP se utiliza para solicitar y recibir los datos y https en el que el 's' no es más que SSL seguro que hace que la solicitud del protocolo http y recibir la actividad cifrada por lo que ningún atacante hombre medio puede obtener los datos fácilmente.
Si no se utiliza ni SSL ni TLS con HTTP
entonces su conexión con el servidor web es sin cifrar todos los datos serán enviados en texto plano cualquier atacante hombre medio puede obtener y ver que los datos.
por lo que debe ir con SSL o TLS
Bueno, ambos son iguales, pero TLS es más extensible y la esperanza de obtener más apoyo en el futuro y TLS es compatible con versiones anteriores.