뚠뚠멍의 생각들

Explorando TLS

Creado: 2024-10-27

Creado: 2024-10-27 21:31

A partir de 2020 aproximadamente, debido a la finalización del soporte para TLS 1.1,

surgió la necesidad de revisar los servidores antiguos.


Si se mantiene TLS 1.1, se pueden producir errores al comunicarse entre servicios en la nube como AWS y Azure, o

se pueden producir errores en las comunicaciones con API externas, como los pagos, o pueden surgir problemas según la versión del navegador.


Tomcat

- Parece que las versiones anteriores a la 6.x no son compatibles con TLS 1.2. Es necesario cambiarlo a TLS 1.2 a través de JRE de Java 7 o superior.

Nginx

- Parece que la versión 1.1.13 admite TLS 1.2.


Principios de TLS

Client Hello: El cliente envía una solicitud de conexión al servidor (incluye la versión de TLS compatible y el conjunto de cifrados).

Server Hello: El servidor envía la versión de TLS que utilizará, el conjunto de cifrados y el certificado SSL para demostrar su confiabilidad.

Intercambio de claves y generación de claves de sesión: El cliente y el servidor generan una clave de sesión compartida mediante un algoritmo de intercambio de claves.

Mensaje de finalización: El cliente y el servidor envían un mensaje de finalización cifrado con su propia clave.

Transferencia de datos: Se utilizan las claves de sesión para cifrar los datos e intercambiarlos.

Cierre: Una vez finalizada la transferencia de datos, se intercambian mensajes de cierre de sesión y se elimina la información de las claves de sesión.


¿Qué diferencia hay entre TLS 1.2 y 1.1?

TLS es un protocolo de seguridad para la capa de transporte y es la base de HTTPS. Ofrece autenticación, integridad y cifrado.

Se dice que 1.2 es superior a 1.1 en términos de seguridad y rendimiento.

- 1.1 utiliza los algoritmos hash MD5 y SHA-1.

- 1.1 puede estar expuesto a ataques BEAST, Man-in-the-middle y Cipher Suite.

* BEAST: El atacante intercepta la conexión HTTPS e inyecta contenido malicioso.

* Man-in-the-middle: El atacante intercepta la comunicación y roba los datos.

- 1.2 utiliza el algoritmo SHA-256 (un algoritmo de seguridad más robusto).

- 1.2 admite conjuntos de cifrado GCM (Galois/Counter Mode), que realizan simultáneamente el cifrado y la autenticación, por lo que también es más rápido.


Conjunto de cifrado (Cipher Suite)

Todos los mecanismos de cifrado necesarios para que el cliente y el servidor puedan intercambiar datos, que consta de cuatro partes.

1. Algoritmo de intercambio de claves

- Método para intercambiar de forma segura claves secretas compartidas. Ej. RSA, Diffie-Hellman

2. Algoritmo de autenticación

- Verifica si el servidor es confiable mediante un certificado. Ej. Clave pública RSA, etc.

3. Algoritmo de cifrado simétrico

- Método para cifrar datos durante una sesión y descifrarlos utilizando la misma clave de sesión por parte del cliente y el servidor. Ej. AES

4. Código de autenticación de mensajes

- Verificación de la integridad de los datos. Ej. HMAC-SHA256

El conjunto de cifrado se indica combinando los cuatro elementos anteriores.


Comentarios0