Podcast – 24 – HTTPS

Tras explicar en los últimos capítulos la composición de los certificados digitales y analizar el caso específico de la autoridad de certificación Let’s Encrypt, hoy hablaremos sobre el uso más conocido de estos certificados: la navegación segura mediante HTTPS. Ya comentamos antes que una de las primeras recomendaciones de seguridad es no introducir usuarios o contraseñas en páginas web que no estén cifradas (hay que mirar el candadito en la barra de navegación).

protocolo http/https

Navegación segura con HTTPS.
Fuente imagen: MineHeros

Antes de entrar en el funcionamiento exacto de HTTPS, hablemos un poco de criptografía. Sin entrar en detalles podemos decir que hay dos grandes bloques de sistemas de cifrado: los de clave simétrica (donde se utiliza la misma clave para cifrar y descifrar) y los de clave asimétrica (donde hay dos claves diferentes: una para cifrar y otra para descifrar). Dentro de los algoritmos asimétricos, destacamos la criptografía de clave pública. Estos algoritmos tienen la característica de que una de las claves es pública y la conoce todo el mundo, y aún así es computacionalmente imposible obtener la otra clave (privada). En nuestro caso, el navegador del usuario podría utilizar la clave pública del servidor (que está disponible en el certificado X.509) para enviar información que sólo pueda ser leída por el servidor web (que tendrá la clave privada para descifrar el mensaje enviado).

Diffie-Hellman es un protocolo, que coge el nombre de los apellidos de sus dos autores, que permite generar una clave común para los dos interlocutores (navegador y servidor web) a partir de unos parámetros iniciales. Una vez se haya acordado la clave simétrica que usarán para esa conexión ya puede empezar la transferencia de inforamción de forma confidencial.

Funcionamiento de HTTPS

Micro con feed

Fuente imagen:PerfectYourPodcast

Cuando un navegador acceder a una página web (por ejemplo el securizando.com), el servidor le suele redirigir, si está disponible, a la versión HTTPS. El navegador se descarga el certificado público de la web y lo utiliza para cifrar la siguiente comunicación cliente>servidor. De esta forma únicamente el servidor puede leer la información enviada. ¿Qué se envía? Pues los parámetros de inicio del protocolo Diffie-Hellman para la generación de una clave simétrica.

Repasando:

  1. El navegador accede al servidor web y se descarga su certificado X.509 donde se encuentra su clave pública.
  2. El navegador inicia el protocolo Diffie-Hellman para conseguir una clave de sesión. Cifra los parámetros iniciales con la clave pública del servidor y se la envía.
  3. El servidor recibe los parámetros y inicia su parte del protocolo Diffie-Hellman. Envía sus parámetros al cliente firmados (así el cliente se asegura de que realmente es el servidor el que los envía y no un tercero). Este parámetro no va cifrado, pero el protocolo Diffie-Hellman hace que sólo con este parámetro no se pueda conseguir la clave final.
  4. Ahora el navegador sigue con el protocolo Diffie-Hellman y calcula la clave simétrica de sesión. A partir de este momento la comunicación entre cliente y servidor irá cifrada con la clave que han calculado los dos extremos.

Descarga directa.

2 comentarios en “Podcast – 24 – HTTPS

  1. Daniel Bermudez

    Hola Andreu.
    Dese hace unos días me sale en el equipo una petición de autenticacion y se abre mi certificado digital pidiéndome confirmación. Una y otra vez le doy a cancelar pero sigue apareciendo todos los días.
    La petición viene hecha por Let’s Encrypt desde el sitio stats.smartclip-services.com:8888
    No deseo instalar ningun certificado más y me gustaría pedirte que me explicaras porqué se produce esto y como evitar que siga apareciendo la dichosa pantallita.
    Saludos y muchas gracias.

    1. Andreu Adrover Autor

      Por lo que veo en virusTotal no ven problema alguno con la URL que indicas (Informe: https://www.virustotal.com/#/url/265146004a5c1fe7262efa23e2be9b1d3f0f7d33610c3ea62bf7150dfaa3f39a/detection ).
      Por lo que veo en la web se trataría de una URL para comprobar el estado del software instalado en tu equipo (ver si hay nuevas versiones, etc.). La URL está operativa (responde al telnet aunque no a peticiones HTTP básicas), pero por el comportamiento que indicas necesitará un certificado (que debe esar incluido en el software que instalaste) para autenticarse.

      Sin pasarle un análisis más completo a la web yo diría que no es problemática. Desinstala el software de Smart-Clip si no lo va a usar más. Asegúrate que no te haya fijado esa URL como página de inicio del navegador. Y nunca viene mal analizar el equipo al completo.

      Y como bien has hecho, no le des tu certificado a nadie 😉

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *