proceso de cifrado htts

¿Qué es HTTPS?

HTTPS, al igual que HTTP, es un protocolo de capa de aplicación. La diferencia con HTTP es que el contenido del protocolo HTTP se transmite en texto sin formato, lo que facilita que terceros obtengan el contenido transmitido durante el proceso de transmisión, mientras que HTTPS está en el Protocolo HTTP Básicamente, se introduce un cifrado para evitar que el contenido de la transmisión se filtre o se manipule.

que es 'cifrado'

El cifrado se refiere a la transformación de texto plano (información a transmitir) en una forma específica para generar texto cifrado.
El descifrado se refiere a transformar el texto cifrado de acuerdo con el método especificado y restaurarlo a texto sin formato.
En el proceso de cifrado y descifrado, generalmente se requieren uno o más datos de conversión intermedios para ayudar al progreso normal de este proceso, y estos datos se denominan clave.
Su función es evitar que otros obtengan el texto sin formato en él, provocando peligros ocultos.

Por ejemplo:
Xiaoming quiere mostrarle el significado de swpuyyyds, pero no quiere que otros lo sepan, por lo que convierte el texto sin formato en texto cifrado a través de la clave y, después de recibir el texto cifrado, lo convierte en texto sin formato a través de la clave para obtener Xiaoming. el significado de.
Texto sin formato: swpuyyyds
Texto cifrado: wsupyydys

¿Cuáles son los métodos de encriptación?

Hay muchos métodos de encriptación, pero generalmente se dividen en dos categorías: encriptación simétrica y encriptación asimétrica.

Cifrado simétrico

Cifrado simétrico: se refiere al uso de la misma clave tanto para el cifrado de texto sin formato como para el descifrado de texto cifrado.
Por ejemplo: un cifrado simétrico simple,
texto plano XOR bit a bit a=1314, clave=1314,
entonces el texto cifrado es a^1314 =b, y la operación XOR b^1314 también se usa en el proceso de descifrado del texto cifrado para obtener el original texto sin formato 1314.
Cuando se introduce el cifrado simétrico en el texto sin formato, incluso si un hacker invade el dispositivo de red y se interceptan los datos, no puede descifrarlo con precisión sin saber cuál es la clave.
Como se muestra en la figura:
inserte la descripción de la imagen aquí
Pero: el servidor proporcionará servicios a más de un cliente al mismo tiempo, y el texto cifrado de estos clientes y el servidor debe ser diferente, de lo contrario, los piratas informáticos lo obtendrán fácilmente, por lo que el método general es que el cliente establezca una conexión con el servidor Se debe negociar cuál es la clave esta vez.
Como se muestra en la figura:
inserte la descripción de la imagen aquí
Nota: Si el cliente transmite directamente la clave al servidor en texto sin formato, el pirata informático también puede obtener la clave y las operaciones de cifrado posteriores serán inútiles. Por lo tanto, el cliente debe cifrar la clave al transmitir la clave.
Para habilitar el cifrado de la clave, debemos introducir el cifrado asimétrico.

cifrado asimétrico

Cifrado asimétrico: Generalmente se utilizan dos claves, una se denomina 'clave pública' y la otra se denomina 'clave privada'.
La clave pública y la clave privada están emparejadas, y su mayor desventaja es que la velocidad de operación es lenta, mucho más lenta que el cifrado simétrico.
La clave privada puede descifrar texto cifrado o cifrar texto sin formato, al igual que la clave pública. En términos generales, el cliente puede obtener la clave pública, mientras que el servidor generalmente usa la clave privada.

Cuando el cliente tiene la clave pública, los pasos para enviar la clave al servidor son los siguientes:

  1. El cliente primero cifra la clave con la clave pública para formar un texto cifrado y luego envía el texto cifrado al servidor.
  2. Después de recibir el texto cifrado, el servidor descifra el texto cifrado con la clave privada para obtener la clave proporcionada por el cliente.
  3. Luego envíe la información de recepción de la clave al cliente para que el cliente sepa que ha recibido la clave.
  4. Después de eso, el cliente usa el texto cifrado generado por él mismo para el cifrado simétrico para transmitir el texto sin formato.
    Los pasos se muestran en la figura:
    inserte la descripción de la imagen aquí
    Nota: la eficiencia del cifrado simétrico es mucho mayor que la del cifrado asimétrico, por lo que el cifrado asimétrico solo se usa cuando negociación de la clave en la etapa inicial y posterior La transmisión aún utiliza cifrado simétrico,
    sin embargo, este método también tiene ciertos problemas: si la clave pública obtenida por el cliente es falsificada por un pirata informático, entonces su cifrado posterior es inútil.
    Los pasos son los siguientes:
    1. Cuando el cliente solicita la clave pública, el hacker aprovecha para enviar la clave pública generada por él mismo al cliente, el cliente cree que es la clave pública del servidor y utiliza la clave pública para cifrar su propia clave y la envía.
    2. Cuando el pirata informático obtiene el texto cifrado enviado por el cliente, lo descifra con la clave privada generada por él mismo para obtener la clave
    3. Después de obtener la clave pública del servidor, el pirata informático cifra la clave obtenida con la clave pública del servidor y la envía al servidor
    4. Después de que el servidor obtiene la clave, la descifra con la clave privada para obtener la clave del cliente.
    5. Es inútil que el cliente cifre el texto cifrado después, y el hacker ya tiene la clave.
    Como se muestra en la imagen:

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
Para resolver este problema: normalmente, cuando se establecen el cliente y el servidor, el servidor devuelve un certificado al cliente, que contiene la clave pública y la información del sitio web.
Como se muestra en la imagen:
inserte la descripción de la imagen aquí

Resumir el proceso de transmisión HTTPS

  1. El cliente primero obtiene el certificado del servidor, que contiene la clave pública
  2. El cliente verifica el certificado
  3. El cliente genera una clave simétrica, la cifra con la clave pública del certificado y la envía al servidor
  4. Después de recibir la solicitud, el servidor la descifra con la clave privada para obtener la clave.
  5. Las solicitudes posteriores del cliente se cifrarán con esta clave simétrica.
  6. El servidor recibe este texto cifrado y lo descifra con esta clave.

Supongo que te gusta

Origin blog.csdn.net/qq_44543774/article/details/127492596
Recomendado
Clasificación