Seguridad en el protocolo SSL-TLS

Publicado en Artículos, Seguridad,


Tweet about this on TwitterShare on Google+3Share on Facebook0Share on LinkedIn0

El protocolo SSL o Secure Sockets Layer (protocolo de capa de conexión segura) y su sucesor TLS o Transport Layer Security (seguridad de la capa de transporte) son protocolos criptográficos que proporcionan comunicaciones seguras por una red, comúnmente Internet. 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 se ejecuta en una capa entre los protocolos de aplicación como HTTP, SMTP, NNTP y sobre el protocolo de transporte TCP, se usa en la mayoría de los casos junto a al protocolo HTTP para formar HTTPS, que es usado para asegurar páginas Web en el uso de aplicaciones como el comercio electrónico o los que usamos al conectarnos en línea a una entidad bancaria.

Sin embargo, como mencionaba anteriormente en otro post, el código de SSL logró ser vulnerado. Veamos un poco más de información que nos podría ser útil para mejorar la Seguridad en el protocolo SSL-TLS.

Muchos dispositivos de red, utilizan para cifrar sus conexiones SSL, llaves hard-coded almacenadas en su firmware, de esta forma, dos routers que tengan el mismo firmware utilizaran las mismas llaves para cifrar sus conexiones SSL. Esto significa que si capturamos la llave privada del firmware podemos descifrar todo el trafico encriptado en SSL.

Existe una herramienta llamada LittleBlackBox que contiene una base de datos donde se correlacionan llaves privadas de SSL, con sus respectivos certificados públicos, que corresponden a determinado hardware. Esta base de datos incluye más de 2 millones de llaves privadas tanto de SSL como de SSH.

Con esta herramienta es posible identificar un dispositivo de red por su certificado público SSL. Además, dado un certificado público, la herramienta busca en la base de datos para considerar si tiene una llave privada correspondiente; si es así, la llave privada se puede utilizar con: Wireshark o SSLsniff, para descifrar tráfico o para realizar ataques de Man in the middle (MITM).

Con LittleBlackBox podemos auditar la seguridad del cifrado SSL que utilizan nuestros dispositivos de red. Para mejorar la seguridad de cifrado SSL de nuestros dispositivos de red lo mejor es cambiar los certificados SSL que utilizan por defecto (esta medida es posible en muchos dispositivos).

Auditar la Seguridad de SSL

Existen dos herramientas muy completas para auditar la seguridad de SSL: SSLScan y SSL Audit.

  • SSLScan: Sirve para comprobar el tipo de cifrado SSL que utiliza un servicio. Es una herramienta para Linux que necesita el compilador GNU para C y la libreria OpenSSL. Más información de esta herramienta así como su uso puede ser encontrada en la Web de su autor
  • SSL Audit: Es otra herramienta para comprobar el tipo de cifrado SSL que incorpora posibilidades de Fingerprint para identificar el motor SLL del servidor. Más información de esta herramienta puede ser encontrada en la Web de su autor

Hardening SSL-TLS

Harden SSL/TLS es una aplicación que permite mejorar la seguridad de SSL/TLS de las versiones de Windows 2000, 2003, 2008, 2008 R2, XP, Vista y 7. Esta aplicación permite establecer a nivel local y remoto, políticas basadas en permitir o denegar ciertos hashes o conjuntos de cifrado, establecer prioridades y modificar parámetros de la caché de sesión TLS.

Permite realizar políticas específicas de ajuste con respecto a los cifrados y a los protocolos que estén disponibles para aplicaciones que utilizan la interfaz SCHANNEL de criptografía, ya sean aplicaciones cliente o servidor. Una gran cantidad de aplicaciones de Windows utilizan esta interfaz, por ejemplo: Google Chrome, Safari, etc. Al cambiar la configuración indirectamente se puede controlar que cifrados pueden utilizar estas aplicaciones.

Hay que tener en cuenta que una aplicación puede solicitar un conjunto específico de sistemas de cifrado, y si se ha desactivado este conjunto ya no puede ser usado.

En el modo avanzado de esta aplicación permite:

  • Habilitar el modo ECC P521; Microsoft eliminó el modo ECC P521 después de Vista y Server 2008, esta opción permite volver a habilitar y volver a introducir el modo ECC P521 para Windows 7 y Server 2008R2.
  • Habilitar soporte módulo 1; Cuando un servidor Web utiliza un certificado con un exponente 1 de clave pública RSA, el exponente de la clave privada también se pone a 1. Si estas condiciones están presentes, la conexión no tiene la seguridad de encriptación. Al habilitar ésta, se configura el cliente para permitir una conexión a un servidor Web que utiliza un certificado con un exponente 1 de clave pública RSA.
  • Modificar el tiempo de la cache TLS / SSL; Una de las razones para cambiar el valor predeterminado de la caché de sesión SSL es obligar al cliente a autenticar con más frecuencia. El frecuente almacenamiento en caché es útil a veces, por ejemplo, si se desea reducir el esfuerzo computacional o si se sabe que el cliente está utilizando una tarjeta inteligente y desea que la página web sea accesible sólo cuando el usuario inserta la tarjeta inteligente en el lector.
  • Tamaño de la cache TLS / SSL; IIS mantiene los objetos en memoria para el seguimiento de cada conexión a la web de entrada. Después de cinco minutos de tiempo de inactividad, estos objetos son destruidos para reclamar los recursos. Durante este proceso, IIS purga el ID de sesión SSL / TLS de la tabla sesión ID de la caché del sistema operativo. IIS también purga toda la información de conexión que se negocia entre el cliente y el servidor. Cuando un cliente intenta reanudar una sesión de SSL / TLS mediante el identificador de sesión anterior, el servidor no puede encontrar la información de conexión en la memoria caché. Por lo tanto, el cliente debe renegociar la conexión. Además, el cliente debe obtener un nuevo identificador de sesión. El aumento del tamaño de la caché puede reducir la carga de la CPU, pero aumenta el uso de memoria, cada elemento de caché de la sesión normalmente requiere de 2 a 4 Kb de memoria.
Más información del Hardening de SSL-TLS puede ser encontrada en este paper (pdf) y la herramienta puede ser descargada desde este enlace.

Fuentes consultadas: Wikipedia | Seguridad en el protocolo SSL

Seguridad en el protocolo SSL-TLS
4.5 (90%) 2 votos

Etiquetas: , , , , ,


Deja un comentario

Cuanto es 11 + 12 ?
Please leave these two fields as-is:
IMPORTANTE! Necesitas resolver la operación matemática para poder continuar.

Newsletter

Redes sociales

Centro de soporte

Centro de recursos