Protocolo HTTPS
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: