Comprobar validez del certificado digital para saber si nos están espiando

2


En este tutorial os vamos a explicar como podéis comprobar la autenticidad del certificado digital de cualquier página web. De esta forma se puede saber si están interceptando la información enviada a través del navegador.

En teoría, cuando accedemos a una conexión web segura (conexión cifrada) mediante TLS o SSL podemos estar tranquilos. Sin embargo, existe la posibilidad de que sujetos u organizaciones desconocidas intercepten y alteren dichos certificados. La buena noticia es que disponemos de un método infalible para comprobar la autenticidad de un certificado, gracias a su Huella Digital. Esta información es inalterable y no se puede duplicar.

La red ha cambiado. Las conexiones típicas e inseguras (HTTP) de hace unos años no tenían métodos contemplados para securizar los intercambios de información. Aquellos usuarios que entonces eran conscientes de los riesgos tan sólo podían esperar estar tratando con el sitio web supuestamente “real”. Eso era suficiente cuando la red estaba en fase temprana y era, más bien, una curiosidad.

Ahora nos encontramos con que Internet es el sitio para todo: realizar pedidos, transacciones bancarias, consultar fichas médicas y otras actividades relevantes. Se llevan a cabo operaciones similares a las realizadas fuera del mundo virtual, por lo que se precisan métodos de protección eficaces. Es aquí donde se pone de moda el certificado digital.

La S que aparece tras HTTP significa que la conexión es segura. ¿Es suficiente?

Si observamos, en la barra de direcciones de nuestro navegador, una llave o un candado cerrado, significa que la conexión entre el usuario y el servidor web remoto ha sido autenticada y cifrada, por tanto no será susceptible de ser interceptada por terceros. Desafortunadamente, esto ya no es siempre así.

El candado verde junto a HTTPS significa que la conexión emplea cifrado

Para mejorar la seguridad y privacidad de los usuarios, un número creciente de sitios web continúan pasándose desde el tradicional HTTP hacia el más seguro HTTPS. Este tipo de conexiones seguras, conocidas como SSL o TLS (“Secure Sockets Layer” y “Transport Layer Security”) son dos nombres para designar lo mismo. A grandes rasgos, se trata de que cualquier intercambio de información entre cliente y servidor que use HTTPS, SSL o TLS será cifrado mediante una tecnología que es realmente segura y nadie sabe vulnerar.

En los primeros días de Internet, establecer un cifrado con protocolo HTTPS era costoso y difícil, por lo que estaba restringido a pantallas de acceso a sitios web o plataformas de pago. Pero con el avance de tecnología y reducción de costes, establecer la conexión cifrada en todos los casos se hizo posible. Esto fué estupendo desde el punto de vista del usuario, pero no todo eran buenas noticias. 

Algunas instituciones privadas, empresas, escuelas y otros organismos ya no podrían tener acceso ni monitorizar los movimientos de sus empleados/clientes en la red. Para no perder el privilegio de vigilar sus movimientos establecieron tecnologías conocidas como “Aplicaciones HTTPS Proxy“. Estos dispositivos echan por tierra nuestra asunción de privacidad y seguridad en la red.

¿Cómo es esto posible?

A grandes rasgos se resume en que Los navegadores web confían en la asunción de indentidad de un servidor web remoto, cuando dicho sitio presenta un certificado de su identidad que ha sido firmado por una “autoridad superior” en la que el navegador previamente confía.

Hace ya unos años, los desarrolladores de Netscape inventaron una solución (que incorporaron al navegador) para satisfaces ambas necesidades: Privacidad (cifrado) y Seguridad (autenticación). Su concepto era elegante y simple y ha permanecido hasta nuestros días: una tercera parte en la que confiamos nos asegura que nuestro tráfico cifrado se dirige solo hacia la web pretendida.

Existen entidades conocidas como “Autoridades de Certificación” (CA) que prueban la identidad de un sitio web en el mundo real (físico) mediante documentación almacenada. Cuando un sitio que acaba de nacer es capaz de probar su identidad satisfactoriamente ante la CA, esta remite su reputación a la web, firmando el certificado de seguridad del sitio. Esto es prueba irrefutable de que es de confianza.

Cuando un navegador de Internet establece una conexión segura con un sitio remoto, dicha web debe propocionar un certificado firmado al navegador. El navegador ya sabe cuales son las autoridades de certificación válidas y su reputación (va incorporado de forma interna en el mismo y se actualiza cuando es necesario). Si el certificado del sitio web está firmado por una entidad de confianza, todo va bien. En caso contrario recibiremos un aviso de peligro potencial:

Ejemplo que muestra como el navegador Chrome nos alerta de la imposibilidad de comprobar que el certificado es legítimo

¿Cómo se produce el espionaje sobre conexiones seguras?

Como hemos mencionado, existen muchos organismos o empresas que quieren saber a toda costa las transacciones de red que tienen lugar en sus dominios o centros de trabajo. Supongamos que una empresa ficticia, “Industrias del metal”, instala un Proxy TLS o SSL (también conocido como un Proxy HTTPS). Después, como parte de la preparación de sus equipos internos de red, Industrias del Metal añade simplemente una Entidad de Certificación Autorizada nueva (confiable) en cada ordenador. Eso es todo lo necesario.

Ahora, cuando quiera que alguien acceda mediante conexión segura desde dentro de la red corporativa hacia alguna web pública -el banco, Google Mail, Facebook, etc- dicha conexión será interceptada por Industrias del Metal, antes de abandonar la red interna de la empresa. Se produce “al vuelo” un certificado de servidor web suplantado, destinado para hacerse pasar por la web remota- Para firmarse a sí mismo como válido utilizará la CA (entidad de certificación) previamente añadida al navegador en cada equipo.

Como la suplantación es perfecta, ni el navegador ni el usuario podrán detectar el hecho de que no se está produciendo una conexión segura directa entre ellos y el servidor web remoto. El navegador mostrará la simbología estandar de conexión cifrada segura -candado y color verde- y nadie sospechará.

¿Puede la suplantación de un certificado impedirse?

No, pero podemos comprobar si se ha producido una alteración y actuar en consecuencia.

Cualquier individuo que examine un certificado SSL puede crear un HASH criptográfico o “boletín” de los contenidos del mismo. Los hashes criptográficos son complejos algoritmos matemáticos que procesan cuidadosamente cada bit único de un boletín. Tienen la peculiaridad de que, incluso si un sólo bit es cambiado, cambiará por completo la Huella Digital del certificado. Esto es inevitable siempre.

La huella digital ofrece una sensible y fuerte detección de cambios en un certificado de seguridad. La huella digital en un certificado empezó basándose en el algoritmo de hashing estandar MD5 (Message Digest 5). Con el tiempo, sin embargo, se ha migrado paulatinamente al estandar SHA-1 (Secure Hashing Algorithm), más seguro.

Comprobar un certificado digital

Vamos a realizar dos pasos para comprobar que un certificado digital es veraz.

  1. Accederemos a un sitio web mediante nuestro navegador favorito. Tomaremos la huella digital inluída en el certificado del mismo.
  2. Abriremos el sitio web de Gibson Research y emplearemos su herramienta para cotejar la huella.

1. Extrayendo la huella digital de un certificado

En google Chrome (y Mozilla Firefox debido a la similitud):

  • Click sobre el icono del “candado” que aparece en la barra de direcciones (izquierda)
  • Seleccionamos la pestaña Conexión. Click sobre “Información del certificado” (imagen 1)
  • Verificamos, primero, que en el campo “Emitido para” figura el nombre del sitio web correcto.
  • Click sobre Detalles para ver elementos avanzados.
  • Al final de la lista, copiaremos el texto de la “Huella digital” para compararlo posteriormente (imagen 2)
Imagen 1 - Datos del certificado
 
Imagen 2 - Comprobar certificado mediante la Huella Digital del sitio web
 
En Internet Explorer:
  • Click con el botón derecho sobre cualquier parte de una página web.
  • Seleccionamos Propiedades y después Certificados (imagen 1)
  • Verificamos, primero, que en el campo “Emitido para” figura el nombre del sitio web correcto.
  • Click sobre Detalles para ver elementos avanzados (imagen 2)
  • Al final de la lista, copiaremos el texto de la “Huella digital” para compararlo posteriormente.

Imagen 1 - abrimos las propiedades del sitio web

En Apple Safari:

  • Click sobre el icono HTTPS en la parte de la izquiera del final de la barra de direcciones.
  • Pinchamos sobre Mostrar Certificado.
  • Click ahora sobre la flecha para expandir Detalles.
  • Verificamos que el “Nombre común” del certificado coincide con el correcto (el que aparece en la página de Gibson Research y que veréis más abajo)
  • Haced scroll inferior hasta que aparezca la Huella digital SHA1.

2. Comparando el certificado con una base de datos fiable

2.1. Ahora debemos dirigirnos a la web del proveedor de seguridad Gibson Research. Ofrece varios servicios, siendo uno de los más interesantes el que nos permite comparar huellas digitales de certificados. Haced click en la imagen inferior para acceder a dicha sección.

 

2.2. Localizamos la barra de búsqueda de certificados, como muestra la siguiente imagen.

Escribiremos el nombre del sitio web cuyo certificado queremos comprobar

2.3. Cuando presionamos el botón de búsqueda de huella digital, Gibson encuentra la información en tiempo real (no está desfasada)

Huella digital única del certificado original de nuestra web

NOTA: Si observamos (como ocurre con nuestro sitio web) que aparece una luz verde etiquetada como EV, significa que dicho certificado posee una Validación Extendida y no puede ser modificado por terceros sin romper la cadena de custodia del mismo.

2.4. Comparamos los resultados obtenidos manualmente con los que arroja el buscador de Gibson Research. Si coinciden, todo funciona con normalidad. En caso contrario, podemos estar sufriendo una suplantación de certificado.

Llegados a este punto conviene dejar claro que existen problemas conocidos:

  • Las huellas digitales varían por completo en función de si usamos o no el prefijo www.
  • Si comparamos sitios web extendidos por todo el mundo y con muchas conexiones (como Google, Facebook, etc) podemos encontrarnos que no coincide el certificado. Dichos sitios suelen utilizar varios certificados válidos al mismo tiempo asi que esto no significa nada malo. Lo ideal es hacer la prueba con un sitio web menos concurrido si esto se da.
  • Algunas soluciones de seguridad como Bitdefender o Kaspersky actúan como Proxies locales de intercepción HTTPS, en busca de elementos maliciosos. Esto altera completamente el valor de la huella digital, por tanto para comprobar el certificado digital deberemos realizar el siguiente paso adicional.

Desactivar momentaneamente el Análisis de SSL

Accedemos a la configuración del programa. En el ejemplo inferior veréis como se realiza con Bitdefender Internet Security 2014.

Accedemos al menú de configuración de Bitdefender

Entraremos en Control de Privacidad.

Abrimos Configuración de Privacidad

Y desmarcaremos la opción de supervisión de conexiones cifradas. Esto debe ser algo temporal, el tiempo que dure la prueba.

Desactivamos el Análisis de SSL de Bitdefender

Compartir.

Sobre el Autor

Alejandro es técnico micro-informático, experto en seguridad de las TIC y apasionado de la tecnología. Colabora habitualmente en diferentes publicaciones de seguridad, software y análisis de hardware entusiasta.

2 comentarios

  1. SUGEY MALDONADO el

    Hola, quisiera saber si me pudieran ayudar para poder ver algunos certificados de seguridad que tengo lo que pasa es que al querer abrirlos me aparece que windows no tiene suficiente información para abrir el certificado, quiseiera saber si me pueden ayudar porfavor y gracias

Dejar una Respuesta

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR