Seguridad de la capa de transporte
Esta sesión es luego usada para cifrar el flujo de datos entre las partes.Varias versiones del protocolo están en aplicaciones ampliamente utilizadas como navegación web, correo electrónico, fax por Internet, mensajería instantánea y voz-sobre-IP (VoIP).[9] Dicha versión, presentada en 1996, fue un rediseño completo del protocolo producido por Paul Kocher, quien trabajó con los ingenieros de Netscape Phil Karlton y Alan Freier.TLS 1.0 incluye una forma en la cual la implementación puede conectarse en SSL 3.0, debilitando la seguridad.Las diferencias más significativas incluyen: TLS 1.2 fue definido originalmente en el RFC 5246 en agosto del 2008.AEAD es usado para el cifrado autenticado tales como los modos GCM y CCM.Puede proporcionar seguridad a cualquier protocolo que use conexiones de confianza (tal como TCP).Los programadores pueden usar las librerías PolarSSL, CyaSSL, OpenSSL, MatrixSSL, NSS o GnuTLS para tener funcionalidad SSL/TLS.TLS es también el método estándar para proteger la señalización de aplicaciones con Session Initiation Protocol (SIP).En estos casos, un usuario podría querer usar una aplicación SSL independiente como Stunnel para proporcionar cifrado.Después de que se envía un "ClientHello" TLS, si Mozilla Firefox comprueba que el servidor no puede completar el handshake, intentará volver a caer a la utilización de SSL 3.0 con un SSL 3.0 "ClientHello" en formato SSL 2.0 para maximizar la probabilidad de éxito del handshake con los servidores más antiguos.Es por esta razón que las implementaciones SSL 3.0 no pueden ser validados bajo FIPS 140-2.Además, algunos programas de (incluyendo IE6 y Konqueror) no comprobó este campo para nada.Esto puede ser explotado en ataques man-in-the-middle a todas las posibles conexiones SSL.La protección ofrecida por los protocolos SSL/TLS contra un downgrade a una versión anterior de un ataque man-in-the-middle activo puede ser inutilizados por tales mecanismos.El atacante no puede realmente descifrar la comunicación cliente-servidor, por lo que es diferente de un típico ataque man-in-the-middle.[51][52] Exploits prácticos de esta vulnerabilidad no se conocían, la cual fue descubierta originalmente por Phillip Rogaway[63] en 2002.NSS es utilizado por Mozilla Firefox y por Google Chrome para su implementación de SSL.[65] Por su parte, Apple habilitó por defecto la protección contra BEAST en la versión OS X 10.9 Mavericks.En promedio, los atacantes solo necesitan hacer 256 peticiones SSL 3.0 para revelar un byte de mensaje cifrado.Por lo tanto, el hombre-en-el-medio primero debe llevar a cabo un ataque de rollback y luego aprovechar esta vulnerabilidad.[78][79] Sin embargo, muchos navegadores modernos han sido diseñados para derrotar los ataques BEAST (excepto Safari para Mac OS X 10.7 o versiones anteriores, para iOS 6 o anterior, y para Windows; ver navegadores).SSL / TLS proporciona seguridad de las comunicaciones y la privacidad a través de Internet para aplicaciones como web, correo electrónico, mensajería instantánea (IM) y algunas redes privadas virtuales (VPN).[83] El fallo Heartbleed permite a cualquier persona en Internet leer la memoria de los sistemas protegidos por las versiones vulnerables del software OpenSSL.[85] Sin forward secrecy, si la clave privada del servidor fuera conocida, no sólo se verán comprometidas todas las sesiones cifradas-TLS futuras mediante ese certificado del servidor, sino también las sesiones anteriores que lo utilizaban (siempre por supuesto que estas sesiones pasadas fueran interceptadas y almacenadas en el momento de la transmisión).[88][89] En la práctica, a menos que un servicio web utilice Diffie-Hellman para implementar forward secrecy, todo el tráfico web cifrado hacia y desde ese servicio puede ser descifrado por un tercero si obtiene la clave maestra del servidor (privado); por ejemplo, por medio de una orden judicial.Por su naturaleza, los ataques man-in-the-middle colocan al atacante entre el destino y un solo objetivo específico.TLS proporciona un acceso directo seguro en el mecanismo de handshake para evitar estas operaciones: reanudar sesiones.[100] En un handshake normal completo, el servidor envía un ID de sesión como parte del mensaje ServerHello.Este es un gran problema en los ambientes de alojamiento, ya que implica que todos los clientes en un mismo servidor deben compartir el certificado o se debe utilizar una IP distinta para cada uno de ellos.