4.1.2 Capa de sockets seguros.
Secure Sockets Layer (SSL; en español «capa de conexión segura») y su sucesor Transport Layer Security (TLS; en español «seguridad de la capa de transporte») son protocolos criptográficos que proporcionan comunicaciones seguras por una red, comúnmente Internet.
SSL fue desarrollado inicialmente para asegurar las transacciones financieras en la Web, pero ahora se utiliza mucho para asegurar transacciones de Internet de todo tipo.
SSL resuelve el problema del "problema compartido" de WEP utilizando una versión ampliada de criptografía de clave pública (vea la sección anterior "Cifrar contenido"). En lugar de requerir que la gente se ponga de acuerdo sobre un secreto (la clave de cifrado en WEP) por adelantado o que haya disponibles claves públicas, un navegador y un servidor equipados con SSL utilizan una tercera parte fiable, conocida como autoridad de certificados, para aceptar la identidad del otro.
Generalmente, SSL se utiliza para interacciones basadas en sesiones cortas, como enviar información de tarjeta de crédito a través de un formulario Web. Pero puede usarse para cifrar sesiones de correo electrónico (enviar y recibir), incluyendo todo el contenido del correo electrónico que va del cliente al servidor, FTP (en una forma generalmente conocida como FTP Seguro) y muchos otros tipos de transacciones. SSL es válido para cualquier servicio de
Internet que intercambia datos en fragmentos en lugar de hacerlo como información fluida. (Por ejemplo, se puede usar SSL para la mensajería instantánea pero no para reproducir música RealAudio.)
Como SSL es verificado por una tercera parte, no tenemos que utilizar la confianza (ciega o confirmada) como sucede en SSH.
SSL se utiliza mucho ahora porque las patentes subyacentes han caducado. Podemos encontrar SSL con nombres como EAP-TLS (Protocolo de autenticación encapsulada-Seguridad de capa de transporte, un tipo de PPP al que se añade seguridad), TLS/SSL u otras variaciones, pero todo es más o menos lo mismo.
El atacante no puede leer el tráfico cifrado con SSL.
A diferencia de SSH, en el que podemos conectar dos puertos arbitrarios a través de un túnel (puerto a puerto), SSL funciona de programa a programa, con el cliente cifrando los datos y el servidor descifrándolos.
Descripción
SSL proporciona Autenticación y privacidad de la información entre extremos sobre Internet mediante el uso de criptografía. Habitualmente, sólo el servidor es autenticado (es decir, se garantiza su identidad) mientras que el cliente se mantiene sin autenticar.
SSL implica una serie de fases básicas:
- Negociar entre las partes el algoritmo que se usará en la comunicación.
- Intercambio de calves públicas y Autenticación basadas en certificados.
- Cifrado del tráfico basado en cifrado simétrico
Durante la primera fase, el cliente y el servidor negocian qué algoritmos criptográficos se van a usar. Las implementaciones actuales proporcionan las siguientes opciones:
- Para criptografía de clave pública: RSA, Diffie-Hellman, DSA (Digital Signature Algorithm) o Fortezza;
- Para cifrado simétrico: RC2, RC4, IDEA (International Data Encryption Algorithm), DES (Data Encryption Standard), Triple DES y AES (Advanced Encryption Standard);
- Con funciones hash: MD5 o de la familia SHA.
Aplicaciones
SSL se ejecuta en una capa entre los protocolos de aplicación como HTTP, SMTP, NNTP y sobre el protocolo de transporte TCP, que forma parte de la familia de protocolos TCP/IP. Aunque pueda proporcionar seguridad a cualquier protocolo que use conexiones de confianza (tal como TCP), se usa en la mayoría de los casos junto a HTTP para formar HTTPS. HTTPS es usado para asegurar páginas World Wide Web para aplicaciones de comercio electrónico, utilizando certificados de clave pública para verificar la identidad de los extremos.
SSL también puede ser usado para tunelizar una red completa y crear una red privada virtual (VPN), como en el caso de OpenVPN.
No hay comentarios:
Publicar un comentario