← Blog

Cómo funciona el modelo k-Anonymity y por qué protege tu privacidad

Privacidad · · 6 min de lectura

Cuando usas nuestro comprobador de contraseñas filtradas, tu contraseña nunca sale del navegador: solo se envía un fragmento de su hash. ¿Cómo es posible? Gracias al modelo k-Anonymity. Te explicamos cómo funciona y por qué con un email es distinto.

El problema

Para saber si tu contraseña está en una base de datos de filtraciones, la solución obvia sería enviarla al servidor y que este lo busque. Pero eso tiene un problema grave: estarías confiando tu contraseña a otro servicio más. Si ese servicio fuera comprometido, tu contraseña estaría expuesta.

Es como preguntar "¿han robado mi llave?" entregándole tu llave a un desconocido.

La solución: k-Anonymity

El modelo k-Anonymity resuelve esto de forma elegante:

Paso 1: Hash de la contraseña

Tu contraseña se convierte en un hash — una cadena de caracteres irreversible de longitud fija. Por ejemplo:

password → 5BAA61E4C9B93F3F0682250B6CF8331B7EE68FD8

Este proceso es de un solo sentido: a partir del hash no se puede reconstruir la contraseña original.

Paso 2: Se envía solo un fragmento

De ese hash completo, solo se envían los primeros 5 caracteres al servidor:

Hash completo: 5BAA61E4C9B93F3F0682250B6CF8331B7EE68FD8
Se envía:      5BAA6

Paso 3: El servidor responde con coincidencias parciales

El servidor busca todos los hashes en su base de datos que empiezan por 5BAA6 y los devuelve. Pueden ser cientos o miles de resultados.

Paso 4: La comparación se hace localmente

Tu navegador (no el servidor) compara el hash completo de tu contraseña con todos los resultados recibidos. Si hay coincidencia, se sabe que tu contraseña está en una filtración. Si no, estás limpio.

¿Por qué se llama k-Anonymity?

Porque tu contraseña se "esconde" entre los k resultados que devuelve el servidor. Si el servidor devuelve 500 hashes que empiezan por 5BAA6, tu contraseña es indistinguible de las otras 499. Es anónimo dentro del grupo.

Visualización del proceso

Imagina que quieres saber si tu número de teléfono está en una lista, pero no quieres revelarlo:

  1. Tu número: 612 345 678
  2. Le dices al operador: "Dame todos los números que empiezan por 612"
  3. El operador te da una lista de 200 números que empiezan por 612
  4. Tú compruebas si el tuyo está en la lista

El operador nunca supo cuál era tu número exacto.

¿Es realmente seguro?

Sí, por varias razones:

  1. El servidor nunca ve tu contraseña — Solo recibe un fragmento del hash
  2. El hash es irreversible — No se puede reconstruir la contraseña a partir de él
  3. El fragmento es ambiguo — Miles de contraseñas diferentes comparten el mismo prefijo de hash
  4. La comparación es local — Tu navegador hace el trabajo final, no el servidor

¿Lo usan otros servicios?

Sí. El modelo k-Anonymity lo popularizó Have I Been Pwned con su servicio Pwned Passwords y es el estándar de la industria para este tipo de consultas. Nuestro comprobador de contraseñas usa ese mismo servicio.

Otras aplicaciones de k-Anonymity:

  • Gestores de contraseñas que verifican si tu contraseña ha sido filtrada
  • Navigadores que comprueban URLs contra listas de sitios maliciosos
  • Bases de datos médicas que comparten datos de investigación sin identificar pacientes

¿Y los emails?

Con un email no usamos k-Anonymity: para buscarlo hay que enviarlo. Nuestro comprobador de emails lo manda cifrado por HTTPS a nuestra API, que lo consulta en Have I Been Pwned. Guardamos el resultado hasta 30 días para no repetir la consulta.

El compromiso de SecuryBlack con tu privacidad

  • Tus contraseñas no salen de tu navegador — Solo se envía un fragmento del hash
  • Los emails solo se usan para la consulta — Y el resultado se borra a los 30 días como mucho
  • Usamos HTTPS — Todo el tráfico está cifrado en tránsito
  • No vendemos datos — Nunca. Nuestro modelo de negocio es la suscripción, no tus datos

¿Quieres comprobarlo por ti mismo? Prueba el comprobador de contraseñas: tu contraseña nunca sale de tu navegador.

Blog

Descubre qué tiene mal tu servidor

Conecta tu primer VPS y recibe la auditoría de seguridad. Gratis durante la beta.