Protocolo HTTPS

En pocas palabras, es el protocolo HTTP basado en SSL. El protocolo https se basa en el protocolo SSL, que puede garantizar que toda la comunicación esté cifrada, la clave se genere aleatoriamente y las identidades de ambas partes se puedan verificar mediante certificados digitales, garantizando así la seguridad de la información. Entre ellos, el certificado contiene la clave pública del fin representado por el certificado y alguna información básica, como el nombre de la organización, el nombre de dominio del certificado, la firma digital del certificado, etc. La autenticidad del certificado se puede verificar mediante una firma digital. El contenido de la comunicación se cifra mediante cifrado simétrico. Una vez que las partes de la comunicación acuerdan la contraseña de comunicación, la contraseña se transmite mediante cifrado de clave pública. Solo la clave privada correspondiente a la clave pública, es decir, el otro extremo de la comunicación, puede descifrar la contraseña de la comunicación, lo que no solo garantiza la seguridad de la comunicación, sino que también hace que el rendimiento del cifrado y el tiempo de sobrecarga sean controlables.

El protocolo https añade una capa de seguridad al protocolo http y al protocolo tcp. Todos los datos de solicitud y respuesta se cifrarán antes de transmitirse a través de la red resultante.

El protocolo HTTPS admite autenticación unidireccional y autenticación bidireccional.

Autenticación unidireccional: sólo verifica la validez del certificado del servidor.

Autenticación bidireccional: comprueba servidor y cliente.

El nombre completo de SSL es Secure Socket Layer, que es una capa de conexión segura. El protocolo SSL es independiente de la capa de aplicación y todas las aplicaciones de alto nivel como http, FTP y ssh se pueden restaurar en SSL.

TLS es seguridad de la capa de transporte, un protocolo de seguridad de la capa de transporte y un protocolo universal basado en SSL. También se encuentra entre la capa de aplicación y la capa de transporte y está reemplazando gradualmente a SSL como seguridad de red de próxima generación. protocolo.

SSL/TLS se divide en dos capas:

1. Protocolo de grabación, protocolo de grabación

El protocolo de grabación se basa en el protocolo de transmisión confiable (TCP); ) y proporciona encapsulación de datos, cifrado y descifrado, compresión de datos, verificación de datos y otras funciones básicas.

2. Protocolo de protocolo de enlace, protocolo de protocolo de enlace

Basado en el protocolo de protocolo de enlace, antes de la transmisión de datos real, se negocia el algoritmo de cifrado, se intercambian las claves de comunicación y se identifican las identidades de ambas partes. autenticado.

(1) El cliente envía un mensaje de saludo al cliente, que contiene información de la versión del protocolo, ID de sesión, algoritmo de cifrado y algoritmo de compresión admitidos por el cliente, así como un número aleatorio generado por el cliente.

(2) El servidor responde al mensaje de saludo del servidor, que contiene el número aleatorio generado por el servidor, información de la versión del protocolo, ID de sesión, información del algoritmo de compresión y certificado digital del servidor. Si la configuración del servidor es para autenticación mutua, el servidor solicitará un certificado de cliente.

(3) El cliente verifica la validez del certificado del servidor a través del certificado.

(4) Si se verifica el certificado, el cliente enviará el secreto maestro previo cifrado por la clave pública del servidor al servidor. Si el servidor solicitó un certificado de cliente en el paso anterior, el cliente envía el certificado de cliente al servidor para su verificación.

(5) El servidor verifica la validez del certificado del cliente, descifra el PMS con su propia clave privada y agrega el PMS descifrado utilizando los números aleatorios generados en los pasos de saludo del cliente y saludo del servidor. clave maestra, es decir, el secreto maestro, y luego generar la clave de cifrado a través de MS.

(6) El cliente también utilizará los números aleatorios generados en los pasos de saludo del cliente y saludo del servidor, además de la pm descifrado genera MS y luego genera la clave de cifrado a través de MS

(7) Notifique al servidor que la información futura se cifrará con la clave de cifrado.

(8) Envíe la clave de cifrado al servidor para cifrar la información y finalizar el protocolo de enlace.

(9) Informar a los clientes que la información futura se cifrará mediante claves de cifrado.

(10) Enviar la clave de cifrado al cliente para cifrar la información y finalizar el protocolo de enlace.

Después del protocolo de enlace, el cliente y el servidor pueden iniciar la comunicación de datos cifrados: