Qué cambia cuando el atacante tiene un generador
Durante años, la discusión sobre templates biométricos filtrados se apoyaba en una premisa cómoda: si la transformación era no invertible, el dato almacenado no permitía recuperar la muestra original. Esa premisa se sostiene solo bajo supuestos muy concretos sobre la entropía de la clave y la diversidad de la función de transformación. Cuando esos supuestos se relajan, el cálculo cambia.
Los modelos generativos actuales no "rompen" el hash en el sentido criptográfico clásico. Lo que hacen es aprender la distribución de los vectores de características y usarla como prior. Con un template filtrado y un prior suficientemente ajustado, un atacante puede muestrear candidatos plausibles y filtrarlos por verosimilitud. El resultado no es una copia exacta del rostro original, pero sí una reconstrucción que en varios experimentos públicos ha bastado para engañar a revisores humanos y a algunos comparadores automáticos.
Experimentos de inversión sobre rasgos faciales
Los trabajos más citados sobre inversión de templates faciales parten de embeddings de reconocimiento estándar. La metodología habitual es entrenar una red que, dado un vector de características, produzca una imagen que vuelva a proyectarse cerca de ese mismo vector. La métrica de éxito no es la similitud pixel a pixel, sino la tasa de verificación contra el sistema objetivo.
Lo relevante para quien diseña un sistema de protección no es el porcentaje exacto, sino la tendencia: cada nueva arquitectura generativa reduce el coste computacional del ataque. Lo que hace tres años requería un clúster y semanas de cómputo hoy se aproxima con una GPU de gama alta en cuestión de horas. El umbral económico del atacante baja, y con él la ventana en la que un template filtrado puede considerarse inerte.
El caso de la huella: menos resolución, más restricciones
En huella dactilar el panorama es distinto. El espacio de características es más estructurado y las minucias imponen restricciones geométricas fuertes. Los ataques de inversión sobre plantillas de minucias han conseguido reconstrucciones con calidad suficiente para fabricar una réplica física en escenarios controlados, pero el éxito depende mucho del formato del template y de cuánta información auxiliar filtre el sistema.
El patrón que se repite en ambos casos es el mismo: la inversión no requiere que la función de transformación sea algebraicamente invertible. Basta con que reduzca demasiado el espacio de salidas posibles o con que reutilice la misma sal entre usuarios. Dos templates del mismo dedo protegidos con la misma sal y la misma función se vuelven mutuamente informativos, y eso abre la puerta a ataques de correlación cruzada.
Por qué un hash no invertible no basta
La expresión "hash no invertible" se usa a menudo como cierre de conversación, y no debería. Un hash criptográfico aplicado a un vector de características de alta dimensión no es lo mismo que una función de transformación cancelable bien diseñada. El primero colapsa la información y destruye la capacidad de comparación; la segunda debe preservar la similitud dentro de un margen, y ese requisito es exactamente el que abre superficie al atacante.
Si la función de transformación es lineal, o casi lineal, o si la clave tiene baja entropía, el atacante puede plantear la inversión como un problema de optimización guiado por el prior generativo. La no invertibilidad formal no protege si el espacio de claves es enumerable o si la sal se deriva de un identificador predecible.
Contramedidas que sí mueven la aguja
La primera palanca es la entropía de la clave. Una clave derivada de un secreto de usuario con suficiente longitud y sin reutilización entre enrolamientos cambia por completo el coste del ataque. La segunda es la diversidad de transformaciones: cada usuario debería tener su propia función parametrizada, no solo su propia sal. Esto rompe la correlación cruzada entre templates filtrados del mismo almacén.
La tercera palanca es operativa y suele descuidarse: auditar periódicamente los templates almacenados. No basta con protegerlos en el momento del enrolamiento. Hay que revisar si el formato sigue siendo el previsto, si las claves no se han filtrado por canales laterales y si los logs de acceso no exponen metadatos que reduzcan el espacio de búsqueda del atacante.
Qué mirar antes de dar por cerrado un diseño
Antes de declarar que un esquema de protección es resistente a inversión conviene responder por escrito a unas cuantas preguntas incómodas. ¿Cuál es la entropía efectiva de la clave en el peor caso, no en el caso medio? ¿La función de transformación es la misma para todos los usuarios o solo la sal? ¿Qué pasa si dos templates del mismo individuo se filtran en momentos distintos? ¿Cómo se detecta que un template ha sido comprometido y cuánto tarda la revocación?
Ninguna de estas preguntas tiene una respuesta universal. Dependen del sensor, del formato del template, del modelo de amenaza y del coste aceptable de un falso rechazo. Lo que sí es universal es que la respuesta no puede ser "usamos un hash no invertible". Esa frase, hoy, no describe una garantía.