Esta página hace dos comprobaciones distintas. La primera mira si tu dirección de correo aparece en alguna filtración de datos que se haya hecho pública. La segunda mira si una contraseña concreta está entre las que ya circulan por ahí, y lo hace sin que la contraseña salga de tu navegador. Abajo explico exactamente cómo, porque escribir una contraseña en una página ajena es algo que conviene desconfiar.

Las dos usan los datos de Have I Been Pwned, que es el archivo público de filtraciones que mantiene Troy Hunt desde 2013.

Comprueba tu correo

Escribe la dirección y dale a comprobar. Si sale algo, sigue leyendo, porque el resultado se malinterpreta con facilidad.

¿Han filtrado tu correo?

Qué significa el resultado, y qué no

Que tu correo aparezca no significa que te hayan entrado en la cuenta. Significa que una empresa a la que le diste tu dirección tuvo una brecha y esos datos acabaron publicados. Es una diferencia importante y casi nunca se explica.

El resultado distingue dos cosas:

Lo que de verdad decide si esto te afecta es si repetiste esa contraseña en otro sitio. Si cada cuenta tiene la suya, una filtración de 2013 es un dato histórico. Si la repetiste, esa filtración es la llave de todo lo demás.

Comparación: con una contraseña distinta por cuenta la filtración acaba en tres pasos, y repitiéndola encadena hasta el correo y de ahí a todo lo demás
La misma brecha, dos finales distintos. Lo que cambia no es el ataque: es si esa contraseña estaba en un sitio o en diez.

El correo es el centro de todo esto por una razón concreta: es el único que restablece a los demás. Quien entra ahí no necesita adivinar ninguna otra contraseña, se las manda cambiar él mismo.

Comprueba una contraseña sin enviarla a ninguna parte

Aquí viene la parte que hay que explicar antes de pedirle a nadie que escriba una contraseña. La contraseña no se envía. Ni a mi servidor, ni al de Have I Been Pwned, ni a ninguno.

El método se llama k-anonimato y funciona así: tu navegador calcula el resumen SHA-1 de lo que escribiste, envía solo los cinco primeros caracteres de esos cuarenta, y el servidor responde con todos los resúmenes que empiezan por esos cinco. La comparación final la hace tu navegador, con la lista ya descargada.

Diagrama: el navegador calcula el SHA-1 de la contraseña, envía solo los cinco primeros caracteres y compara los treinta y cinco restantes por su cuenta
Los cinco caracteres rojos son lo único que sale de tu computadora. Los treinta y cinco verdes no se envían nunca.

Y no hay que creerme: se comprueba desde cualquier terminal.

rafa@homelab: ~
$ echo -n "password" | sha1sum5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8 – $ curl -s https://api.pwnedpasswords.com/range/5BAA6 | grep -c .1978 candidatos para ese prefijo $ curl -s https://api.pwnedpasswords.com/range/5BAA6 \> | grep 1E4C9B93F3F0682250B6CF8331B7EE68FD81E4C9B93F3F0682250B6CF8331B7EE68FD8:52372427 esa contraseña aparece 52.372.427 veces
Los tres comandos son reales y los puedes repetir ahora mismo. El servidor solo vio 5BAA6: la coincidencia la encuentra tu máquina entre los 1978 que devolvió. Uso grep -c . y no wc -l porque la respuesta no termina en salto de línea y wc cuenta uno de menos.

Con 1978 respuestas posibles, el servidor no tiene forma de saber cuál de ellas te interesaba. Ese es todo el truco, y es el mismo que usa el gestor de contraseñas que tengas instalado cuando te avisa de que una está comprometida.

¿Y tu contraseña?

Escribe una contraseña

La contraseña no se envía a ningún sitio: se comprueba enviando solo un trozo de su resumen criptográfico, el mismo método que usa Have I Been Pwned.

Un aviso práctico: si una contraseña tuya aparece aquí, cámbiala aunque nadie te haya entrado. Que esté en estas listas significa que está en los diccionarios que se usan para probar accesos por fuerza bruta, y eso la deja inservible por muy larga que sea.

Qué hacer si apareces

En orden, y sin saltarse el primero:

  1. Cambia primero la del correo. Quien controla tu correo puede restablecer la contraseña de todo lo demás. Es la que sostiene el resto.
  2. Busca dónde repetiste esa contraseña y cámbiala también ahí. Este es el paso que de verdad cierra el agujero, y el que más se pospone.
  3. Activa el segundo factor donde se pueda, empezando otra vez por el correo. Con segundo factor, una contraseña filtrada deja de bastar.
  4. Revisa el historial de accesos de las cuentas afectadas. Casi todos los servicios grandes lo tienen y casi nadie lo mira.
  5. Deja de inventarte contraseñas. Las que se inventa una persona son mucho menos aleatorias de lo que parecen, y en este terreno la aleatoriedad no es un detalle: ya conté lo que pasó cuando un dispositivo diseñado para generar claves seguras las generaba predecibles.

Qué pasa con lo que escribes en esta página

Lo digo con precisión, porque en las dos casillas no ocurre lo mismo:

Si prefieres no escribir tu dirección en ningún sitio, la web original hace lo mismo y es igual de válida. Esta página existe porque la explicación en español de cómo funciona no la encontré en ningún lado.