Mi comprensión de cómo funciona HTTPS (por ejemplo, gmail)

26

Quiero preguntar si mi comprensión a continuación es correcta o no con respecto al HTTPS utilizado para la página web que estamos visitando.

Usaré Gmail como ejemplo:

  1. Mi computadora portátil intenta conectarse al servidor de Gmail y envía una solicitud http
  2. El servidor de Gmail responde con una solicitud para establecer una conexión https (envía una solicitud https)
  3. Mi computadora portátil comprueba la certificación https del servidor de Gmail y acepta usar https para conectarse
  4. Mi computadora portátil encuentra la Clave pública del servidor de Gmail y la usa para cifrar la contraseña de mi cuenta de Gmail y la envía al Servidor de Gmail
  5. Gmail Server verifica mi contraseña utilizando la Clave privada de Gmail Server y confirma el inicio de sesión de mi correo electrónico
  6. Gmail Server envía información de correo electrónico a mi computadora portátil mediante su cifrado mediante la Clave pública de mi computadora portátil
  7. Mi computadora portátil lee la información de correo electrónico cifrada al descifrarla utilizando la Clave privada de mi computadora portátil
  8. Y así sucesivamente hasta que mi computadora portátil cierre sesión en el servidor de Gmail.

Resumen: hay 4 claves involucradas en esta conexión https. Claves públicas / privadas de Gmail Server (2pc) + Claves públicas / privadas de mi computadora portátil (2pc)

    
pregunta Xianlin 12.04.2012 - 04:13
fuente

1 respuesta

48

Sí, estás en el camino correcto! Pero las cosas realmente funcionan de forma un poco diferente a lo que usted describió.

En particular, los pasos 4-8 no son exactamente como funciona SSL. SSL funciona un poco diferente. Aquí es cómo funciona realmente (voy a hacer algunas pequeñas simplificaciones, pero esto debería entender la esencia de la idea):

  • El servidor de Gmail envía a su cliente un certificado . El certificado incluye la clave pública del servidor de Gmail y algunas pruebas de que esta clave pública realmente pertenece a gmail.com .

  • Su navegador verifica la evidencia en el certificado, para confirmar que tiene la clave pública adecuada para gmail.com .

  • Su navegador elige una nueva clave simétrica aleatoria K para usar en su conexión a Gmail. Encripta K bajo la clave pública de Gmail.

  • Gmail descifra K utilizando su clave privada. Ahora tanto su navegador como el servidor de Gmail conocen K , pero nadie más lo sabe.

  • Cada vez que su navegador quiera enviar algo a Gmail, lo cifra bajo K ; El servidor de Gmail lo descifra al recibirlo. Cada vez que el servidor de Gmail quiera enviar algo a su navegador, lo cifra bajo K.

Sus pasos 1-3 son aproximadamente correctos, aunque no exactamente correctos, y los detalles dependen un poco del navegador que use y de la URL que ingrese en la barra de direcciones o de cómo llegue a Gmail en primer lugar: pero lo que escribiste está lo suficientemente cerca para entender el concepto básico. Lo suficientemente bueno para el trabajo del gobierno.

Aquí hay una lectura adicional para usted:

¿Cómo es posible que las personas que observan que se está estableciendo una conexión HTTPS no sabrían cómo descifrarla?

¿Cómo funcionan los procesos para certificados digitales, firmas y ssl?

Propósito de los certificados firmados y confiados por CA

¿Por qué es difícil falsificar el certificado SSL?

¿Por qué HTTPS no es el protocolo predeterminado?

¿Es seguro visitar los sitios web de HTTPS en un punto de acceso público?

Creo que esos artículos deberían brindarte una excelente comprensión de SSL, cómo funciona y por qué está diseñado de la manera que es.

Si eso no es suficiente, debes tener más más, aquí hay algunos artículos de Wikipedia:

Cómo funcionan los certificados

Cómo funciona SSL

Sin embargo, es probable que tengan muchos más detalles técnicos de los que siempre quiso saber, y no son una excelente primera introducción a los conceptos o las ideas básicas.

    
respondido por el D.W. 12.04.2012 - 04:40
fuente

Lea otras preguntas en las etiquetas