Seguridad de la capa de transporte
El Protocolo de Seguridad de la Capa de Transporte (TLS) y su predecesor, Secure Sockets Layer (SSL), son protocolos criptográficos que proporcionan seguridad e integridad de los datos para las comunicaciones a través de redes TCP/IP como Internet. Varias versiones de los protocolos son comunes en aplicaciones como la navegación web, el correo electrónico, el fax por Internet, la mensajería instantánea y la voz sobre IP (VoIP).
Descripción
El protocolo TLS permite que las aplicaciones se comuniquen a través de una red de una manera diseñada para evitar las escuchas, la manipulación y la falsificación de mensajes. TLS proporciona autenticación de puntos finales y confidencialidad de las comunicaciones a través de Internet mediante criptografía. En la mayoría de los casos, sólo se autentifica el servidor (es decir, se asegura su identidad) mientras que el cliente permanece sin autentificar; esto significa que el usuario final (ya sea un individuo o una aplicación, como un navegador web) puede estar seguro de con quién se está comunicando. El siguiente nivel de seguridad se conoce como autenticación mutua. La autenticación mutua requiere el despliegue de una infraestructura de clave pública (PKI) en los clientes, a menos que se utilicen TLS-PSK o el protocolo Secure Remote Password (SRP), que proporcionan una autenticación mutua fuerte sin necesidad de desplegar una PKI.
Uso
SSL y TLS han sido ampliamente utilizados en varios proyectos de software de código abierto. Los programadores pueden utilizar las bibliotecas OpenSSL, NSS o GnuTLS para la funcionalidad SSL/TLS. Microsoft Windows incluye un uso de SSL y TLS como parte de su paquete de Canal Seguro. Los programadores de Delphi pueden utilizar una biblioteca llamada Indy.
Normas
La versión actual aprobada es la 1.2, que se especifica en:
- RFC 5246: "Protocolo de seguridad de la capa de transporte (TLS) versión 1.2".
La norma actual deja obsoletas estas versiones anteriores:
- RFC 2246: "El protocolo TLS versión 1.0".
- RFC 4346: "Protocolo de seguridad de la capa de transporte (TLS) versión 1.1".
Posteriormente, otras RFC ampliaron TLS, entre ellas:
- RFC 2595: "Uso de TLS con IMAP, POP3 y ACAP". Especifica una extensión de los servicios IMAP, POP3 y ACAP que permite al servidor y al cliente utilizar la seguridad de la capa de transporte para proporcionar una comunicación privada y autentificada a través de Internet.
- RFC 2712: "Addition of Kerberos Cipher Suites to Transport Layer Security (TLS)". Las suites de cifrado de 40 bits definidas en este memorándum aparecen sólo con el propósito de documentar el hecho de que esos códigos de suites de cifrado ya han sido asignados.
- RFC 2817: "Upgrading to TLS Within HTTP/1.1", explica cómo utilizar el mecanismo de actualización en HTTP/1.1 para iniciar la seguridad de la capa de transporte (TLS) sobre una conexión TCP existente. Esto permite que el tráfico HTTP seguro y no seguro comparta el mismo puerto conocido (en este caso, http: en 80 en lugar de https: en 443).
- RFC 2818: "HTTP Over TLS", distingue el tráfico seguro del inseguro mediante el uso de un 'puerto de servidor' diferente.
- RFC 3207: "Extensión del servicio SMTP para un SMTP seguro sobre la seguridad de la capa de transporte". Especifica una extensión del servicio SMTP que permite a un servidor y a un cliente SMTP utilizar la seguridad de la capa de transporte para proporcionar una comunicación privada y autentificada a través de Internet.
- RFC 3268: "Cifras AES para TLS". Añade los cifrados del Estándar de Cifrado Avanzado (AES) a los cifrados simétricos ya existentes.
- RFC 3546: "Transport Layer Security (TLS) Extensions", añade un mecanismo para negociar las extensiones del protocolo durante la inicialización de la sesión y define algunas extensiones. Ha quedado obsoleta por el RFC 4366.
- RFC 3749: "Transport Layer Security Protocol Compression Methods", especifica el marco para los métodos de compresión y el método de compresión DEFLATE.
- RFC 3943: "Transport Layer Security (TLS) Protocol Compression Using Lempel-Ziv-Stac (LZS)".
- RFC 4132: "Addition of Camellia Cipher Suites to Transport Layer Security (TLS)".
- RFC 4162: "Addition of SEED Cipher Suites to Transport Layer Security (TLS)".
- RFC 4217: "Securing FTP with TLS".
- RFC 4279: "Pre-Shared Key Ciphersuites for Transport Layer Security (TLS)", añade tres conjuntos de nuevos ciphersuites para que el protocolo TLS soporte la autenticación basada en claves precompartidas.
- RFC 4347: "Datagram Transport Layer Security" especifica una variante de TLS que funciona sobre protocolos de datagramas (como UDP).
- RFC 4366: "Transport Layer Security (TLS) Extensions" describe tanto un conjunto de extensiones específicas como un mecanismo de extensión genérico.
- RFC 4492: "Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS)".
- RFC 4507: "Reanudación de la sesión de seguridad de la capa de transporte (TLS) sin estado del lado del servidor".
- RFC 4680: "Mensaje de apretón de manos TLS para datos suplementarios".
- RFC 4681: "TLS User Mapping Extension".
- RFC 4785: "Pre-Shared Key (PSK) Ciphersuites with NULL Encryption for Transport Layer Security (TLS)".
Páginas relacionadas
- Autoridad de certificación
- Certificado de clave pública
- Certificado de validación ampliado
- Aceleración SSL
- Seguridad de la capa de transporte de datagramas
- Seguridad de la capa de transporte multiplexada
- X.509
- Red privada virtual
- SEED
- Criptografía cerrada del servidor
Software
- OpenSSL: una implementación libre (y muy popular) (licencia BSD con algunas extensiones de broma)
- GnuTLS: una implementación libre con licencia LGPL
- JSSE: una implementación de Java incluida en el entorno de ejecución de Java
- Servicios de seguridad de la red (NSS): Biblioteca de código abierto validada por FIPS 140