Red de conocimiento del abogados - Consultar a un abogado - Escenarios de uso del algoritmo de cifrado 2 y mecanismo de cifrado HTTPS

Escenarios de uso del algoritmo de cifrado 2 y mecanismo de cifrado HTTPS

El artículo anterior presentó principalmente tres algoritmos de cifrado y sus características. Como continuación del artículo anterior, este artículo hablará sobre sus escenarios de aplicación y también sobre las protecciones existentes en relación con HTTPS. seguridad de HTTP?

Supongamos primero un escenario en el que el desarrollo de aplicaciones necesita cifrar una gran cantidad de datos y la clave debe transmitirse durante el uso. En este caso, el uso de cifrado asimétrico puede garantizar la seguridad de la clave distribuida, porque solo necesita distribuir la clave pública al usuario y mantener la clave privada en sus propias manos, siempre que no sea robada o descifrada. No hay problema. Pero no olvide que el requisito aquí es cifrar una gran cantidad de datos. En este caso, el uso de cifrado asimétrico prolongará el tiempo de cifrado, por lo que el cifrado asimétrico obviamente no es adecuado en este caso. Veamos nuevamente el cifrado simétrico. Es más rápido, lo cual es bueno, pero no olvidemos la cuestión de la transmisión de claves, una vez que la clave es interceptada durante el proceso de transmisión, la seguridad de los datos está fuera de discusión. por seguridad El canal para dar la clave tampoco parece ser un muy buen enfoque.

En este caso, la combinación flexible de diferentes algoritmos de descifrado se convierte en una solución más razonable. Un excelente ejemplo de esta combinación es el sobre digital. Los sobres digitales utilizan algoritmos de cifrado simétrico para cifrar datos, y los algoritmos de cifrado asimétrico para cifrar claves simétricas resuelven los problemas anteriores y también son aplicables a algunos otros escenarios de cifrado. A continuación se muestra un diagrama esquemático del mismo.

El protocolo SSL (Secure Sockets Layer) es la piedra angular de seguridad del protocolo HTTPS. En comparación con HTTP, HTTPS agrega la capa SSL para garantizar la seguridad de la transmisión de datos. Aprendamos sobre el protocolo SSL simulando varios procesos de transmisión de datos.

Cliente >>>> Servidor: ¡Hola!

Servidor >>>> Cliente: ¡Hola! Esta es la clave pública {clave pública|RSA} que necesitamos durante el proceso de transmisión

Cliente >>>> Servidor: Recibí la clave pública, verifiquémosla, este es un número aleatorio que cifré, resuelva y enséñamelo. {Número aleatorio cifrado}[Clave pública|RSA]

Servidor >>>> Cliente: {Número aleatorio descifrado}[Clave privada|RSA]

Cliente >>>> Servidor: Verificación exitosa, esta es mi cuenta y contraseña, muéstrame mi diario privado {nombre de usuario, contraseña}[clave pública|RSA]

Servidor >>>> Cliente final: {Me gusta xxx}[Clave privada| RSA]

A primera vista, este método de cifrado parece no tener ningún problema. Los datos se cifran antes de transmitirse, pero si lo piensas detenidamente, parece haber un gran problema. En primer lugar, recuerde que la clave pública RSA solo se comparte una vez que los datos se capturan durante la transmisión y luego se descifran a través de la clave pública, no se puede garantizar la seguridad de los datos. Durante la transmisión de datos, el cifrado asimétrico por sí solo parece poco fiable. En este caso entra en juego la envolvente de matriz presentada anteriormente.

Cliente>>>>Servidor: ¡Hola!

Servidor>>>>Cliente: ¡Hola! Esta es la clave pública {clave pública|RSA} que necesitamos durante el proceso de transmisión

Cliente>>>>Servidor: Recibí la clave pública, verifiquémosla, este es un número aleatorio que cifré, resuelva y enséñamelo.

{Número aleatorio cifrado}[Clave pública|RSA]

Servidor>>>>Cliente: {Número aleatorio descifrado}[Clave privada|RSA]

Cliente >>>>Servidor: Verificación exitosa, esta es la clave simétrica necesaria durante la transmisión de datos, {clave simétrica}[clave pública|RSA]

Servidor >>>>Cliente: {Clave recibida}[Clave|AES]

Cliente>>>>Servidor: Este es el número de mi tarjeta bancaria y mi contraseña, verifique el saldo por mí {número de tarjeta, contraseña}[Clave|AES ]

Servidor>>>>Cliente: { Saldo de su tarjeta bancaria, cincuenta centavos}[Clave}|AES]

En comparación con la Ronda 1, la seguridad de la transmisión de datos en la Ronda 2 está garantizada. Mientras la clave no sea robada o descifrada, no habrá problemas de seguridad de los datos, pero ¿es esto realmente seguro? Echemos un vistazo a la Ronda 3.

Cliente>>>>Hacker: ¡Hola!  

Hacker>>>>Cliente: ¡Hola! Esta es la clave pública {clave pública|RSA} que necesitamos durante el proceso de transmisión

Cliente >>>> Hacker: Recibí la clave pública, verifiquémosla, este es un número aleatorio que cifré, resuelva y enséñamelo. {Número aleatorio cifrado}[Clave pública|RSA]

Hacker>>>>Cliente: {Número aleatorio descifrado}[Clave privada|RSA]

Cliente >>>>Hacker: Verificación exitosa, esta es la clave simétrica necesaria durante la transmisión de datos, {clave simétrica}[Clave pública|RSA]

Hacker >>>>Cliente: {Clave recibida}[Clave|AES]

Cliente>>>>Hacker: este es el número de mi tarjeta bancaria y mi contraseña, verifique el saldo por mí {número de tarjeta, contraseña}[Clave|AES]

Hacker>>>>Cliente: Hola , te engañaron

Entonces hay un problema en la transmisión de datos real. El servidor actual ¿Es realmente un servidor real? ¿Cómo puedo determinar la identidad de este servidor? En este momento se hace evidente el papel de los certificados digitales. Como todos sabemos, el uso de HTTPS requiere solicitar un certificado digital. Este certificado es la piedra angular para garantizar la transmisión segura de datos bajo HTTPS. Este certificado es un certificado SSL, que contiene el siguiente contenido:

Período de validez del certificado

Clave pública

Propietario del certificado (Asunto)

Algoritmo utilizado para la firma

Huella digital y algoritmo utilizado para la huella digital

Después de comprender el contenido del certificado digital, la siguiente ronda de transmisión de datos simulada utilizará el artículo anterior Los tres métodos de cifrado mencionado anteriormente también puede brindarle una comprensión general del mecanismo de seguridad de HTTPS.

Cliente>>>>Servidor: ¡Hola!  

Servidor>>>>Cliente: ¡Hola! Este es mi certificado digital

Cliente>>>>Servidor: He recibido y verificado la legitimidad del certificado digital, verificando que usted es el propietario legal del certificado, esta es la clave pública de cifrado del certificado Número aleatorio {número aleatorio}[clave pública|RSA]

Servidor >>>>Cliente: {número aleatorio descifrado}[clave privada|RSA]

Cliente >>>> Servidor: Verificación exitosa, esta es la clave simétrica necesaria durante la transmisión de datos, {clave simétrica}[clave pública|RSA]

Servidor >>>>Cliente: {Clave recibida}[Clave|AES]

Cliente>>>>Servidor: Este es mi número de tarjeta bancaria y contraseña, verifique el saldo por mí {número de tarjeta, contraseña}[Clave|AES]

Servidor>>>>Cliente : {El saldo de su tarjeta bancaria, cien millones}[Clave}|AES]

En la Ronda 4, el certificado digital enviado por el servidor al cliente contiene la huella digital generada por el algoritmo de resumen digital y el algoritmo de resumen digital utilizado. Esta parte se utiliza para verificar la integridad y legalidad del certificado digital. Si la huella digital (que puede considerarse como una cadena generada por MD5 o SHA que cifra el certificado) puede corresponder a la huella digital generada por el cifrado del certificado por parte del cliente (utilizando el algoritmo de resumen digital en el certificado para cifrar el certificado), se pueda demostrar que el certificado no ha sido alterado. Se verificará su legalidad. Los siguientes pasos son similares al sobre digital presentado anteriormente. A través de la simulación anterior, podemos saber que el protocolo HTTPS que utiliza el protocolo SSL no solo puede garantizar la seguridad de la transmisión de datos, sino también la seguridad de la conexión entre el cliente y el servidor.

Aunque HTTPS es seguro, no puede proteger completamente la seguridad de los datos. Lo que puede hacer es proteger la seguridad de los datos durante la transmisión de datos. También se debe prestar atención a la seguridad de los datos en el servidor y el cliente.

A través de la introducción de estos dos artículos, todos pueden comprender en general los principales métodos de cifrado actuales y sus escenarios de uso, y también tener un poco de exposición al mecanismo de cifrado seguro de HTTPS, aunque hay pocas oportunidades de uso. en desarrollo. Es grande, pero si puedes comprender estos excelentes mecanismos, podrás tener más ideas en el futuro cuando sea necesario el cifrado.