Red de conocimiento informático - Problemas con los teléfonos móviles - Proceso TLS (cifrado asimétrico DH)

Proceso TLS (cifrado asimétrico DH)

El propósito de TLS es resolver el problema de los datos

1. Protocolo de grabación de registros (cifrado y descifrado simétrico)

2. Apretón de manos, agitar las manos

Verificar las identidades de las partes que se comunican

Intercambiar paquetes de seguridad de cifrado y descifrado

Negociar parámetros de cifrado y descifrado

Cuando se inicia una sesión TLS Cuando se establece el cifrado simétrico, se utilizará la clave para comunicarse, por lo tanto, cómo pasar la clave cifrada simétricamente a la otra parte de la sesión TLS con anticipación. Lo que se utiliza es cifrado asimétrico. El cifrado parcialmente simétrico es miles de veces más lento que el cifrado simétrico, por lo que solo se utiliza la clave de cifrado simétrica para pasar la clave de cifrado simétrica utilizada para el cifrado posterior. La seguridad del cifrado posterior se basa en el cifrado simétrico.

El cifrado asimétrico tiene una clave pública y una clave privada. La clave pública se puede hacer pública, pero la privada no.

El proceso de cifrado y descifrado se puede realizar utilizando la clave pública para cifrar el texto cifrado y luego descifrando el texto cifrado con la clave privada.

El uso de cifrado de clave privada y descifrado de clave pública es el proceso de autenticación de firma.

Los métodos de cifrado asimétrico comunes se dividen en dos categorías

RSA no tiene seguridad directa, lo que significa que cada transferencia de la clave de cifrado simétrica debe basarse en el cifrado de clave pública. descifrado de clave privada del lado del servidor. Si se pierde la clave privada del servidor, es posible que se descifren los datos de comunicación de hace varios años. Por lo tanto, esto es extremadamente inseguro. El estado de la clave privada es demasiado importante. Si cada cifrado y descifrado utiliza una contraseña generada temporalmente para resolver el problema de seguridad, no habrá una dependencia tan fuerte de la seguridad de la clave privada. En el incidente de Prism de 2013, una organización de CA presentó la clave privada de la CA al gobierno de EE. UU. bajo presión, lo cual fue muy peligroso. Si no es seguro, todos los usos anteriores de la clave privada de la CA se verán afectados. Entonces, de lo que estamos hablando aquí es del cifrado asimétrico de tipo DH, más seguro.

La siguiente figura es el proceso de protocolo de enlace TLS del intercambio de claves DH.

Protocolo de intercambio de claves DH, intercambio de claves Diffile-Hellman, denominado DH o DHE. Permite que dos partes creen una clave a través de un canal inseguro sin ninguna información previa de la otra parte.

1. El navegador del cliente genera aleatoriamente un valor Ra y calcula Pa(x, y) = Ra*Q(x, y) Q(x, y) es una elipse reconocida en todo el mundo. punto base del algoritmo de curva. Envíe Pa(x,y) al servidor.

2. El servidor genera aleatoriamente un valor Rb y calcula Pb(x, y) = Rb * Q(x, y). Envíe Pb(x,y) al navegador del cliente.

3. El cliente calcula Sa(x, y) = Ra * Pb(x, y), y el servidor calcula Sb(x, y) = Rb*Pa(x, y)

4. El algoritmo garantiza Sa=Sb=S y extrae el vector x de S como clave.

Para resolver el problema DH mencionado anteriormente, se introdujo la curva elíptica ECC y evolucionó hasta convertirse en el algoritmo ECDHE, llamado Elliptic Curve Diffie-Hellman Key Exchange. ECC y RSA Con una longitud de 288 bytes, craquear RSA requiere energía para hervir una cucharada de agua, mientras que craquear la misma cantidad de ECC requiere energía para hervir toda el agua de la Tierra. Para mejorar la seguridad, RSA solo puede confiar en aumentar la cantidad de bits de clave. Lo vergonzoso es que las supercomputadoras actuales son cada vez más poderosas.

Bajo la computación cuántica, el algoritmo de Shor puede descifrar fácilmente RSA de 2048 bits en 8 horas. RSA solo puede aumentar la cantidad de dígitos clave, pero si aumenta la cantidad de dígitos, el dispositivo móvil tendrá problemas. El operador cobrará tarifas de tráfico por la clave aumentada y el cifrado y descifrado consumirán demasiada energía.

Los principios matemáticos de ECC son curvas elípticas y logaritmos discretos. Las curvas elípticas son complejas. Para mejorar el rendimiento, también debe elegir una curva elíptica, pero no es una elipse real. Puede verla en la figura siguiente, pero se utiliza el algoritmo elíptico en la operación.

Sin embargo, ECC también tiene muchos problemas. 1. ECC puede tener una puerta trasera, como la NSA (un conjunto de algoritmos publicados por la Agencia de Seguridad Nacional de los Estados Unidos). implantado con una puerta trasera. 2. Además, muchos de los algoritmos de ECC son patentes registradas. Si no tiene cuidado, será demandado. La mayoría de sus patentes están registradas por BlackBerry.

La definición de curva elíptica ECC

El principio del algoritmo de ECC es demasiado complicado y no puedo entenderlo aquí. Sólo detente ahí. (Lo agregaré más adelante cuando lo entienda mejor)

El resultado de la captura de paquetes aquí es el algoritmo EC DH E utilizado para el intercambio de claves. La curva seleccionada aquí es secp256r1. En esta curva, se han proporcionado el punto base y los parámetros, y también se ha proporcionado la PubKey.

En TLS1.3, la curva X25519 de uso general (curva de Montgomery)