HTTPS principio general (fácil de entender)

Permítanme decir simplemente bajo su propia descripción general de HTTPS, pero también vi la idea después de unos pocos blog:

Hay que entender primero el cifrado simétrico simple y cifrado asimétrico:

El cifrado simétrico: el cifrado y descifrado con una clave secreta son.

El cifrado asimétrico: una clave pública, una clave privada. Puede descifrar cifrado con la clave pública, clave privada; también puede ser cifrado de clave privada, el descifrado de claves públicas. Otras combinaciones no funcionarán.

Entender este conocimiento es suficiente, comenzamos con HTTPS se describe a continuación:

 

HTTPS primera transmisión utilizando la clave secreta asimétrica un número aleatorio , y el cliente y el servidor son simétricas con el número aleatorio encriptado transmisión de datos real .

La primera cosa clara: el cifrado asimétrico es mucho tiempo, es imposible que los datos reales son el cifrado asimétrico para transmitir. Así que necesitamos cifrado simétrico a los datos de transmisión.

Pero la pregunta es, ¿cómo dejamos que ambas partes saben que este algoritmo de cifrado simétrico de clave secreta hacer? La clave secreta sólo se puede enviar al otro lado mientras se genera el total no puede estar en ambos lados de la frente tiro, el corazón acaban de vino para arriba con una y la misma clave secreta, ¿verdad?

Así que antes de la transmisión de datos, utilice algoritmo de cifrado asimétrico para transmisión cifrar (es decir, comunicación bien) después de algoritmo de cifrado de clave secreta simétrica .

Probablemente pasos (no riguroso, pero fácil de entender):

1. Pide al cliente envía al servidor.

2. El servidor devuelve un certificado digital para el cliente (fácil de entender algoritmo de cifrado de clave pública asimétrica en la línea, la clave privada correspondiente todavía en manos del servidor, no hay fugas)

3. El cliente genera un número aleatorio (algoritmo de cifrado simétrico requiere un número aleatorio), el cifrado de clave pública pasar un número aleatorio obtenido al final del paso de servicios

4. El servidor recibe el número aleatorio cifrado, el número aleatorio obtenido mediante el descifrado de la clave privada. En este punto, el cliente y el servidor tienen un número aleatorio, y no se ha filtrado, incluso si un hacker intercepta un cifrado de clave pública al azar o después de descifrado no puede (porque el número aleatorio cifrado de clave pública sólo puede ser descifrado con la clave privada )! Finalmente podemos utilizarla para transferir el cifrado simétrico!

Pasos detallados:

Reproducido en: https://www.jianshu.com/p/14cd2c9d2cd2

Supongo que te gusta

Origin www.cnblogs.com/FdWzy/p/12578943.html
Recomendado
Clasificación