Colección de citas famosas - Colección de consignas - Las funciones y escenarios de aplicación de cifrado, firma y certificados

Las funciones y escenarios de aplicación de cifrado, firma y certificados

Este artículo presenta principalmente brevemente los tipos de cifrado comunes, sus respectivos escenarios de aplicación, por qué se necesitan firmas digitales y certificados digitales, el proceso de cifrado involucrado en HTTPS, etc. Este artículo comienza principalmente desde el punto de vista del usuario y no presenta demasiado sobre el algoritmo en sí.

Tanto el cifrado simétrico como el asimétrico son cifrados reversibles y el texto cifrado se puede restaurar a texto sin formato mediante la clave.

A veces, esperamos que una vez cifrado el texto sin formato, nadie (incluidos nosotros mismos) pueda revertir el texto cifrado al texto sin formato. El cifrado irreversible es para satisfacer esta necesidad.

El cifrado irreversible se implementa principalmente a través del algoritmo hash: es decir, se genera un valor hash de una longitud específica para los datos de destino, ya sea que sus datos sean de 1 KB, 1 MB o 1 GB, un valor hash de a; Se genera una longitud específica (como 128 bits). Todos deberían poder sentir un poco de irreversibilidad aquí. El valor hash de 128 bits después del cifrado obviamente no puede restaurar datos irregulares de 1 G o incluso más. El hash puede considerarse como un resumen del contenido original.

Algoritmos comunes:

Xiao Ming le escribe una carta a Xiao Hong:

Después de nueve turnos y dieciocho turnos, el contenido de la carta puede ser: 1. Ser espiado 2. Manipulado (fingiendo ser Xiao Ming para enviar mensajes falsos):

El Sr. Xiao Hong generó la clave de cifrado simétrica key1 y luego se la entregó a Xiao Ming a través de un canal seguro.

Al transmitir datos, Xiao Ming usa la clave 1 para cifrar y Xiao Hong usa la clave 1 para descifrarlos después de recibirlos.

En este momento, el intermediario no puede ver el contenido original ni alterarlo (porque no hay clave):

El cifrado simétrico es fácil de implementar, tiene un rendimiento excelente y el algoritmo en sí tiene un alto nivel de seguridad. Sin embargo, la administración de claves es un problema muy problemático: una vez que la clave se entrega a la otra parte, no tenemos control sobre la capacidad de la otra parte para conservar la clave. Una vez que la otra parte la filtra, el cifrado será en vano.

Relativamente hablando, la clave pública de cifrado asimétrico no tiene esta preocupación, porque la clave pública está diseñada para ser pública. Incluso si la otra parte la filtra, no sufriremos ninguna pérdida.

Xiaohong genera un par de claves públicas y privadas, posee la clave privada (pri_key1) y le entrega la clave pública (pub_key1) a Xiaoming.

Al transmitir datos, Xiao Ming utiliza cifrado de clave pública y Xiao Hong utiliza descifrado de clave privada.

Debido a que el intermediario no tiene una clave privada, no se puede obtener el contenido cifrado por la clave pública. En este punto, se logra el efecto anti-peeping:

Sin embargo, debido a que la clave pública se puede hacer pública, si el intermediario conoce la clave pública, aunque no hay forma de ver el contenido original, Puede hacerse pasar por Xiao Ming y enviar mensajes falsos:

En este momento, Xiaohong estaba pensando, si Xiaoming puede traer datos (cadenas) que solo él puede generar al enviar un mensaje, puedo verificar si es así. El verdadero mensaje enviado por Xiaoming.

Por lo general, estos datos (cadena) que pueden probar la identidad se denominan firma digital (Signature)

Xiao Ming genera un par de claves públicas y privadas, y posee la clave privada (pri_key2 ) él mismo le da la clave pública a Xiaohong (pub_key2).

Cuando Xiao Ming transmite datos (que pueden ser grandes), además de cifrar el texto sin formato con la clave pública, también necesita traer una firma: (1) Hacer un resumen hash del texto sin formato (2 ) Cifre el resumen con una clave privada, el resultado del cifrado es la firma (contenido de la transmisión = texto cifrado del contenido + firma)

Después de que Xiaohong lo reciba: (1) Descifre la firma para obtener el hash (2) Descifre el texto cifrado del contenido y hash el texto plano descifrado. Si los dos hash son consistentes, se pasa la verificación de la firma.

Aunque el intermediario modificó el contenido de la transmisión, debido a que la firma no se puede autenticar (sin una clave privada), Xiaohong no pudo verificar la firma y, naturalmente, no reconoció los datos:

Generalmente no Para evitar miradas furtivas y manipulaciones, el cifrado simétrico requiere dos pares de claves públicas y privadas: la clave pública de la otra parte se usa para cifrar el contenido y su propia clave privada se usa para firmar (para permitir que la otra parte verifique la identidad).

Debido a los problemas de seguridad de la comunicación de texto plano en el protocolo HTTP, se introdujo HTTPS: estableciendo un canal (conexión) seguro para garantizar la seguridad de la transmisión de datos.

El servidor no puede transmitir directamente la clave al navegador, porque antes de que se establezca la conexión segura, todo el contenido de la comunicación está en texto claro y el intermediario puede echar un vistazo a la información clave.

Quizás hayas pensado en el cifrado asimétrico en este momento, porque la clave pública no teme ser revelada:

Sin embargo, en el paso 2, el intermediario puede interceptar la clave pública del servidor y reemplácelo con su propia clave pública, el cifrado no tiene sentido en este momento:

Para evitar la falsificación de la clave pública, nacieron los certificados digitales (certificados digitales).

Cuando el servidor necesita decirle al navegador la clave pública, no simplemente devuelve la clave pública, sino que responde con un certificado digital que contiene la información de la clave pública.

El certificado contiene principalmente los siguientes contenidos:

El navegador descifra y verifica la firma a través de la clave pública de la autoridad emisora. Pasar la verificación demuestra la autenticidad del certificado, y usted. Puede obtener de forma segura la clave pública del propietario del certificado. (Las claves públicas de las organizaciones de CA de uso común se han implantado en los navegadores)

Los certificados digitales solo hacen una cosa: garantizar que la clave pública respondida por el servidor sea auténtica.

Lo anterior garantiza que [¿navegador? servidor] esté cifrado, pero [servidor? navegador] no (el paso 4 en la figura anterior es un problema de rendimiento, si todos los datos utilizan cifrado asimétrico); consumirá más recursos del servidor y la velocidad de comunicación se verá muy afectada.

HTTPS combina inteligentemente el cifrado asimétrico y el cifrado simétrico para maximizar el rendimiento y al mismo tiempo garantizar la seguridad de la comunicación entre ambas partes.

HTTPS (SSL/TLS) espera que una vez que se establezca una conexión segura, las comunicaciones utilicen cifrado simétrico.

La tarea de establecer una conexión segura es permitir que el navegador-servidor negocie el algoritmo de cifrado simétrico y la clave utilizada para esta conexión; durante el proceso de negociación se utilizará cifrado asimétrico y certificados digitales.

Se debe prestar especial atención a lo siguiente: la clave negociada debe ser difícil de adivinar (suficientemente aleatoria):

La clave es el número aleatorio r3 (secreto previo al maestro) Debido a que r1 y r2 se transmitían anteriormente en texto claro, solo r3 se transmitía encriptado. En cuanto a por qué se necesitan tres números aleatorios, puede consultar:

Lo anterior es un proceso HTTPS relativamente simple. Para obtener más información, consulte la cita al final del artículo.

Materiales de referencia:

[1] Divulgación completa de las aplicaciones de certificados digitales

[2] Descripción general del mecanismo operativo del protocolo SSL/TLS

[3] Ilustración del protocolo SSL/TLS

[4] "Ilustración de HTTP"