¿Cómo funciona SSL? ¿Explicación más sencilla? [duplicar]

-2

Primero me gustaría explicar mi entendimiento y luego hacer una pregunta.

Esta pregunta se entiende como una descripción más simple de otra pregunta ... y habla sobre implicaciones y no procesa tanto.

Mi entendimiento es este:

  • el cliente se conecta al servidor
  • el servidor envía su clave pública
  • el cliente verifica con un tercero para ver si realmente pertenece al servidor
  • si comprueba que el cliente envía su clave pública encriptada al servidor
  • el servidor descifra la clave pública de los clientes y luego la encripta usándola para responder de nuevo

Mi pregunta es cómo sabe el servidor que no hay un espía que esté enviando una clave pública falsa cifrada. Pudimos verificar el público del servidor, pero ¿cómo verifica el servidor que la clave pertenece al cliente?

Estoy bastante seguro de que me faltan algunos pasos en mi comprensión de SSL ...

Este es un escenario que no puedo entender:

  1. mi navegador realiza una solicitud al servidor
  2. el servidor envía su clave pública
  3. el navegador lo verifica
  4. enviar su propia clave cifrada usando la clave pública del servidor
  5. el pirata informático intercepta la solicitud
  6. use la clave pública del servidor para cifrar su propia clave y enviarla en su lugar
  7. el servidor usa esa tecla para responderle
  8. el pirata informático recibe el mensaje, luego lo vuelve a cifrar y me lo pasa
pregunta Muhammad Umer 02.08.2015 - 16:35
fuente

2 respuestas

2

Su comprensión es bastante correcta, excepto por el hecho de que un cliente normalmente no envía una clave pública, pero genera una en el momento (ligeramente simplificada).

La razón por la que esto está bien es que el servidor normalmente es como un servidor web y, por lo tanto, "todos" pueden conectarse a él.

Si necesita autenticar clientes (es decir, si desea excluir a los espías), puede usar una función llamada Autenticación del cliente. Allí, el servidor también verificará con un tercero para verificar que la clave pertenece al cliente.

El escenario que describe no funciona para el atacante: en el paso 8, recibirá un mensaje que no puede leer. Esto se debe a que en el paso 6, el atacante ha modificado un mensaje y ahora el servidor se está comunicando con el atacante, y no con usted. El atacante no puede volver a cifrar (paso 8), porque no conoce la clave privada del servidor. Por lo tanto, el mensaje que recibe del atacante no coincidirá con la clave en el paso 3.

  

Nota: en la práctica, las cosas son un poco más complicadas: por un lado, el protocolo incluye algunos datos adicionales en los mensajes para protegerse contra los ataques de repetición, donde el atacante repite los mensajes enviados previamente. Además, las claves públicas y privadas solo se utilizan para establecer un enlace de comunicación, después de lo cual TLS cambia a criptografía simétrica (utilizando, por ejemplo, AES). Sin embargo, su pregunta se refiere a la fase donde se intercambian las claves, por lo que en esta respuesta evité hablar sobre estas partes.

    
respondido por el Rens van der Heijden 02.08.2015 - 16:40
fuente
1

Está cerca, cuando el cliente se conecta, el servidor envía el certificado que incorpora su clave pública. Con este certificado, el navegador comprueba si tiene la URL correcta, si la fecha es válida y verifica si confía en quien la firmó (la CA raíz).

Si todo esto se retira, el cliente generará una clave de sesión (simétrica) utilizada para cifrar y descifrar el resto de la comunicación. El cliente encripta esta clave de sesión con la clave pública que obtuvo del certificado y la envía al servidor. Ahora solo el servidor con la clave privada que se usó para generar el certificado (o la CSR para el certificado) puede descifrar esta clave de sesión. Ahora, tanto el servidor como el cliente utilizarán la misma clave para cifrar y descifrar.

De esta manera, puede estar seguro de que se está conectando al servidor que se muestra en la barra de direcciones (siempre que preste atención al candado y asegúrese de que esté allí).

    
respondido por el BadSkillz 02.08.2015 - 17:20
fuente

Lea otras preguntas en las etiquetas