Un breve análisis del protocolo HTTPS y el principio del ataque de intermediario
La característica del algoritmo de cifrado simétrico es que la clave de cifrado y la clave de descifrado son la misma clave K, y la velocidad de cifrado y descifrado es rápida. Los algoritmos de cifrado simétrico típicos incluyen DES, AES, etc. /p>
Proceso de cifrado y proceso de descifrado del algoritmo de cifrado simétrico
La característica del algoritmo de cifrado asimétrico es que la clave de cifrado K1 y la clave de descifrado K2 son diferentes. Son un par de claves que pueden. cifrarse y descifrarse entre sí puede hacerse pública y se denomina clave pública; la que se guarda para uno mismo y los demás no pueden conocerla se denomina clave privada. Esto puede resolver mejor la seguridad de la transmisión de información. En términos relativos, la velocidad de cifrado y descifrado es lenta. Los algoritmos de cifrado asimétrico típicos incluyen RSA, DSA, etc. El problema es cómo garantizar la clave pública del destinatario para el cifrado, es decir, cómo entregar la clave pública de forma segura.
Proceso de cifrado y descifrado del algoritmo de cifrado asimétrico
F(M) = D E(D)=S
F es una función hash unidireccional: que es Si se conoce x, es fácil calcular F(x), pero si se conoce F(x), es difícil calcular x
Una firma digital es el resultado de cifrar el resumen con un clave privada, que garantiza la autenticidad de los datos, la integridad, la resistencia a la manipulación y el no repudio.
Algoritmo de resumen y proceso de firma digital
La parte B utiliza la función hash unidireccional para obtener el valor de resumen del texto sin formato del remitente recibido y utiliza la clave pública de la Parte A para descifrar el código digital de la Parte A. firma. Se comparan los valores del resumen obtenido. Si son iguales significa que la información está completa y no ha sido manipulada. Si son diferentes significa que ha sido manipulada.
Proceso de verificación de la integridad de los datos
Durante el proceso de envío, primero obtenga el valor de resumen del texto sin formato de la Parte A, cifre el valor de resumen con la clave privada de la Parte A para obtener la firma de la Parte A y luego combine el texto sin formato de A. firma digital y certificado digital juntos y utiliza la clave simétrica generada aleatoriamente de la Parte A para cifrarla y obtener la firma de la Parte A. El segundo paso es cifrar esta clave simétrica generada aleatoriamente con la clave pública de la Parte B para obtener finalmente un sobre digital. y el sobre digital a la Parte B juntos.
Durante el proceso de recepción de la Parte B, primero descifre el sobre digital recibido con la clave privada de la Parte B para obtener una clave simétrica generada aleatoriamente. El segundo paso es descifrar la clave simétrica generada aleatoriamente y convertir el texto cifrado en. Descifrar para obtener el texto sin formato, la firma digital y el certificado digital de la Parte A es comparar el valor del resumen del texto sin formato de la Parte A con el resumen obtenido al descifrar la firma digital de la Parte A utilizando la clave pública de la Parte A para verificar la firma y verificar los datos de la Parte A. integridad. Este proceso utiliza tanto algoritmos simétricos como asimétricos, lo cual es un proceso relativamente seguro
Las funciones del certificado digital aquí son: proporcionar la clave pública de la Parte A para garantizar el no repudio de la parte que envía la información.
Estrictos procesos de cifrado y descifrado digital, firma digital y verificación
Para garantizar la coherencia de los certificados, la Unión Internacional de Telecomunicaciones ha diseñado un conjunto de estándares específicos para los formatos de certificados, X .509, que El núcleo proporciona un formato para describir certificados.
El certificado digital X.509 no solo incluye el nombre de usuario y la contraseña, sino que también contiene otra información relacionada con el usuario. Al utilizar el certificado, la CA puede proporcionar un método para que el destinatario del certificado. que no solo confían en el sujeto del certificado, la clave pública, sino que también confían en otra información sobre el sujeto del certificado.
Los certificados X.509 tienen un período de validez y el certificado dejará de ser válido después de su vencimiento. Durante este período, la CA puede revocar el certificado por determinados motivos.
Para revocar un certificado, la CA mantiene y distribuye una lista de certificados revocados, la Lista de revocación de certificados (CRL). Los usuarios de la red pueden acceder a la CRL para determinar la validez del certificado.
Actualmente, el estándar X.509 es ampliamente aceptado para formatear claves públicas y es utilizado por muchas aplicaciones de seguridad de red, incluidas IPsec, SSL y SET. , S/MIME (Secure Multimedia Internet Mail Extensions)
Campos principales en el certificado
HTTPS (Protocolo de transferencia de hipertexto sobre Secure Socket Layer), está dirigido a la seguridad El canal HTTP es simplemente un versión segura de HTTP. Su implementación consiste en agregar una capa SSL bajo HTTP. La base de seguridad de HTTPS es SSL, por lo que los detalles del cifrado requieren SSL.
El protocolo SSL se encuentra entre el protocolo TCP/IP y varios protocolos de aplicación. Es un protocolo de comunicación de autenticación de identidad y cifrado estándar internacional que proporciona un servicio de seguridad confiable de extremo a extremo para TCP y proporciona dos. Proporcionar confidencialidad e integridad entre las personas que se comunican. La ubicación de la capa SSL es la siguiente
Diagrama SSL
①El protocolo SSL se puede utilizar para proteger el funcionamiento normal y la comunicación con cualquier protocolo de aplicación superior a TCP, como HTTP, FTP, SMTP o Telent se utiliza comúnmente como SSL de usuario para proteger la comunicación HTTP
②La ventaja del protocolo SSL es que es independiente del protocolo de la capa de aplicación. El protocolo de aplicación de alto nivel se puede construir de forma transparente sobre el protocolo SSL
③El protocolo de capa de aplicación del protocolo SSL ha completado de antemano el algoritmo de cifrado, la negociación de la clave de comunicación y la autenticación del servidor. Después de esto, los datos transmitidos por el protocolo de la capa de aplicación se cifrarán. Garantizando así la seguridad de la comunicación.
④El protocolo SSL utiliza los certificados de cliente de ambas partes que se comunican y el certificado raíz de CA. Permite que las aplicaciones cliente/servidor se comuniquen de forma que no puedan ser escuchadas, estableciendo un canal de comunicación seguro y confiable entre ambas partes.
⑤ Este protocolo utiliza una clave para cifrar los datos transmitidos. Muchos sitios web utilizan este protocolo para recibir información confidencial, como números de tarjetas de crédito, del cliente. Comúnmente utilizado en el proceso de transacción
El diagrama de flujo básico del trabajo SL es el siguiente
El diagrama de flujo básico del trabajo SSl
El protocolo SSL utiliza ambos asimétricos tecnología de cifrado y tecnología de cifrado simétrico. Aunque la tecnología de cifrado simétrico es más rápida que la tecnología de cifrado de clave pública, la tecnología de cifrado asimétrico proporciona una mejor tecnología de autenticación de identidad. El protocolo de protocolo de enlace SSL es muy eficaz para permitir que el cliente y el servidor completen la autenticación de identidad mutua.
El proceso principal es el siguiente:
1) El cliente transmite el número de versión del protocolo SSL del cliente, el tipo de algoritmo de cifrado admitido, el número aleatorio generado Key1 y otra información al servidor
2) El servidor selecciona un algoritmo de cifrado de la lista de algoritmos de cifrado enviados por el cliente, genera un número aleatorio Clave2 y luego lo envía al cliente
3) El servidor envía su certificado al cliente
4) El cliente verifica la legitimidad del servidor. La legitimidad del servidor incluye: si el certificado ha caducado, si la CA que emitió el certificado del servidor es confiable y si la clave pública del emisor puede ser correcta. descifre la "firma digital del emisor" del certificado del servidor. Si el nombre de dominio en el certificado coincide con el nombre de dominio real del servidor. Si la verificación de legalidad falla, la comunicación se desconectará. Si se supera la verificación de legalidad, el proceso continuará.
5) El cliente genera aleatoriamente una clave maestra previa, luego la cifra con la clave pública del servidor (obtenida del certificado) y luego envía la clave maestra previa al servidor. p>
6) El servidor recibe la Pre-Master-Key, utiliza el algoritmo negociado (H) para calcular la clave de cifrado simétrica Master-Key=H (C1 S1 PreMaster) utilizada en el proceso de comunicación del usuario real ; p>
7) Hasta ahora, el servidor y los clientes obtienen la clave maestra, y el proceso de comunicación posterior utiliza la clave maestra como clave de cifrado simétrica para una comunicación segura.
Hay; Hay dos tipos principales de ataques de intermediario contra SSL, a saber, el ataque de secuestro de SSL y el ataque de eliminación de SSL.
El ataque de secuestro de SSL es un ataque de suplantación de certificado SSL para obtener los datos de texto sin formato transmitidos por HTTPS. , el atacante primero debe conectarse entre el cliente y el sitio web de destino; durante el proceso de transmisión, falsifique el certificado del servidor y reemplace la clave pública del servidor con su propia clave pública, de esta manera el intermediario puede obtener la clave 1 de la cinta de transmisión en texto plano. Key2 y Pre-Master-Key, robando así los datos de comunicación entre el cliente y el servidor.
Pero para el cliente, si el intermediario falsifica el certificado, se generará un error de certificado durante el proceso de verificación del certificado; Y el usuario puede optar por continuar con la operación o regresar. Dado que la mayoría de los usuarios no tienen un gran conocimiento de la seguridad, optarán por continuar con la operación. En este momento, el intermediario puede obtener los datos de comunicación entre el navegador y el servidor. /p>
Este método de ataque también requiere que el atacante se establezca como intermediario y luego reemplace la plantilla HTTPS con HTTP y la devuelva al navegador, y el servidor HTTPS permanece entre el intermediario y el servidor. Dado que HTTP se transmite en texto claro, el intermediario puede obtener los datos transmitidos por el cliente y el servidor