Según wikipedia: http://en.wikipedia.org/wiki/Transport_Layer_Security
Parece que TLS es un reemplazo de SSL, pero la mayoría de los sitios web todavía usan SSL.
Según wikipedia: http://en.wikipedia.org/wiki/Transport_Layer_Security
Parece que TLS es un reemplazo de SSL, pero la mayoría de los sitios web todavía usan SSL.
Respuestas:
En resumen, TLSv1.0 es más o menos SSLv3.1. Puede encontrar más detalles en esta pregunta sobre ServerFault .
La mayoría de los sitios web son compatibles con SSLv3 y TLSv1.0 al menos, como indica este estudio (artículo de Lee, Malkin y Nahum: Resistencia criptográfica de los servidores SSL / TLS: prácticas actuales y recientes , IMC 2007) (enlace obtenido de la lista de TLS de IETF ). Más del 98% admite TLSv1 +.
Creo que la razón por la que SSLv3 todavía está en uso fue para el soporte heredado (aunque la mayoría de los navegadores admiten TLSv1 y algunos TLSv1.1 o incluso TLSv1.2 en la actualidad). Hasta hace poco, algunas distribuciones todavía tenían SSLv2 (considerado inseguro) de forma predeterminada junto con las demás.
(También puede encontrar esta pregunta interesante, aunque se trata del patrón de uso de TLS en lugar de SSL frente a TLS (de hecho, podría tener el mismo patrón con SSL). Esto no se aplica a HTTPS de todos modos, ya que HTTPS usa SSL / TLS desde el comienzo de la conexión.)
De http://www.thoughtcrime.org/blog/ssl-and-the-future-of-authenticity/
A principios de los 90, en los albores de la World Wide Web, algunos ingenieros de Netscape desarrollaron un protocolo para realizar solicitudes HTTP seguras, y lo que se les ocurrió se denominó SSL. Dado el relativamente escaso conocimiento sobre protocolos seguros en ese momento, así como la intensa presión bajo la que todos trabajaban en Netscape, sus esfuerzos solo pueden verse como increíblemente heroicos. Es sorprendente que SSL haya perdurado tanto como lo ha hecho, a diferencia de otros protocolos de la misma época. Sin embargo, definitivamente hemos aprendido mucho desde entonces, pero lo que pasa con los protocolos y las API es que hay muy poco retroceso.
Hubo dos actualizaciones importantes del protocolo SSL, SSL 2 (1995) y SSL 3 (1996). Estos se hicieron cuidadosamente para ser compatibles con versiones anteriores, para facilitar la adopción. Sin embargo, la compatibilidad con versiones anteriores es una restricción para un protocolo de seguridad para el que puede significar vulnerabilidad hacia atrás.
Por lo tanto, se decidió romper la compatibilidad hacia atrás y el nuevo protocolo llamado TLS 1.0 (1999). (En retrospectiva, podría haber sido más claro nombrarlo TLS 4)
Las diferencias entre este protocolo y SSL 3.0 no son dramáticas, pero son lo suficientemente significativas como para que TLS 1.0 y SSL 3.0 no interoperen.
TLS se ha revisado dos veces, TLS 1.1 (2006) y TLS 1.2 (2008).
A partir de 2015, todas las versiones de SSL están rotas e inseguras (el ataque POODLE) y los navegadores están eliminando el soporte. TLS 1.0 es omnipresente, pero solo el 60% de los sitios admiten TLS 1.1 y 1.2 , un lamentable estado de cosas.
Si está interesado en estas cosas, le recomiendo la charla inteligente y divertida de Moxie Marlinspike en https://www.youtube.com/watch?v=Z7Wl2FW2TcA
TLS mantiene la compatibilidad con SSL y, por lo tanto, el protocolo de comunicación es casi idéntico en cualquiera de las versiones mencionadas aquí. Las dos diferencias importantes entre SSL v.3, TLS 1.0 y TLS 1.2 son la función pseudoaleatoria (PRF) y la función hash HMAC (SHA, MD5, handshake), que se utiliza para construir un bloque de claves simétricas para Cifrado de datos de la aplicación (claves del servidor + claves del cliente + IV). La principal diferencia entre TLS 1.1 y TLS 1.2 es que 1.2 requiere el uso de IV "explícito" para proteger contra ataques CBC, aunque no se necesitan cambios en PRF o protocolo para esto. TLS 1.2 PRF es específico de la suite de cifrado, lo que significa que la PRF se puede negociar durante el protocolo de enlace. SSL fue desarrollado originalmente por Netscape Communications (histórico) y luego mantenido por Internet Engineering Task Force (IETF, actual). TLS es mantenido por el Network Working Group. Aquí están las diferencias entre las funciones de PRF HMAC en TLS:
TLS 1.0 y 1.1
PRF (secreto, etiqueta, semilla) = P_MD5 (S1, etiqueta + semilla) XOR P_SHA-1 (S2, etiqueta + semilla);
TLS 1.2
PRF (secreto, etiqueta, semilla) = P_hash (secreto, etiqueta + semilla)
"Si no está roto, no lo toques". SSL3 funciona bien en la mayoría de los escenarios (se encontró una falla fundamental en el protocolo SSL / TLS en octubre, pero esta es una falla de las aplicaciones más que de un procol en sí), por lo que los desarrolladores no se apresuran a actualizar sus módulos SSL. TLS trae una serie de extensiones útiles y algoritmos de seguridad, pero son una adición útil y no imprescindible. Entonces, TLS en la mayoría de los servidores sigue siendo una opción. Si tanto el servidor como el cliente lo admiten, se utilizará.
Actualización: en '2016 SSL 3, e incluso TLS hasta 1.2, son vulnerables a varios ataques y se recomienda la migración a TLS 1.2. También existen ataques a las implementaciones de TLS 1.2, aunque dependen del servidor. TLS 1.3 está actualmente en desarrollo. Y ahora TLS 1.2 es imprescindible.
https://hpbn.co/transport-layer-security-tls/ es una buena introducción
El protocolo SSL se desarrolló originalmente en Netscape para habilitar la seguridad de las transacciones de comercio electrónico en la Web, lo que requería cifrado para proteger los datos personales de los clientes, así como garantías de autenticación e integridad para garantizar una transacción segura. Para lograr esto, se implementó el protocolo SSL en la capa de aplicación, directamente encima de TCP (Figura 4-1), permitiendo que los protocolos por encima de él (HTTP, correo electrónico, mensajería instantánea y muchos otros) funcionen sin cambios al tiempo que brindan seguridad en las comunicaciones comunicarse a través de la red.
Cuando SSL se usa correctamente, un observador de terceros solo puede inferir los puntos finales de la conexión, el tipo de cifrado, así como la frecuencia y una cantidad aproximada de datos enviados, pero no puede leer ni modificar ninguno de los datos reales.
SSL 2.0 fue la primera versión del protocolo publicada públicamente, pero fue rápidamente reemplazada por SSL 3.0 debido a una serie de fallas de seguridad descubiertas. Debido a que el protocolo SSL era propiedad de Netscape, el IETF hizo un esfuerzo por estandarizar el protocolo, lo que resultó en RFC 2246, que se publicó en enero de 1999 y se conoció como TLS 1.0. Desde entonces, el IETF ha seguido iterando en el protocolo para abordar fallas de seguridad, así como para extender sus capacidades: TLS 1.1 (RFC 2246) se publicó en abril de 2006, TLS 1.2 (RFC 5246) en agosto de 2008, y el trabajo está ahora en curso para definir TLS 1.3.