¿Hay alguna forma de criptografiar una huella digital?

5

¿Hay alguna forma de cifrar críticamente una huella digital en una forma que pueda ser reproducida consistentemente por los lectores de huellas digitales?

Suponiendo que sería posible crear una base de datos de hash de huellas digitales, mi intención es eliminar ese hash con un "algo que sabes", evitando que la base de datos de huellas digitales se use para otra cosa que no sea la autenticación.

Pregunta

  • ¿Es razonable "saltear" un hash (huella digital) y usarlo para la autenticación?

  • ¿Hay algún requisito técnico (resolución, puntos de datos por dedo, etc.) que garantice la precisión en todos los dispositivos?

pregunta random65537 13.09.2013 - 20:04
fuente

3 respuestas

11

Como señala @Xander, se ha formulado una pregunta muy similar yesterday . De hecho:

  • Si puede derivar una clave a partir de una huella digital, puede codificar esa clave y obtener un valor de hash.
  • Si puede hacer un hash de una huella digital, puede usar el valor de hash como clave.

Así que realmente son la misma pregunta. Y la respuesta es: la gente está trabajando en ello, todavía no funciona bien, pero podría mejorar con los años.

Me gustaría, sin embargo, señalar algo importante: un "algo que sabes" tiene algún valor para la autenticación solo porque también es "algo que el atacante no sabe". Es el secreto el que confiere el poder.

Una huella dactilar, al igual que otras medidas biométricas, no funciona realmente en secreto (aunque muchos sistemas intentan usarla de esa manera). La característica importante de una huella digital es que está adherida a un humano: cuando un ser humano usa su propio dedo en un lector, no puede evitar usar su propia huella digital. De hecho, ahí es donde está la innovación en los lectores modernos de huellas dactilares: en los sistemas que intentan garantizar que lo que están detectando es realmente un dedo humano aún unido al cuerpo de su propietario nominal.

El secreto no es una parte importante de las huellas digitales para la seguridad. Sus huellas dactilares no son secretas: las deja en todas partes , en su automóvil, en cada manija de la puerta que pasa, en los botones del elevador, en cada vaso que usa en un bar ... Si un la huella digital se puede convertir en una clave (o valor hash, independientemente de cómo desee verla), luego esa clave se puede reconstruir sin conexión, desde cualquier copia de una de estas impresiones. Aquí hay muy poco secreto.

Para resumir: incluso si pudiera convertir una huella digital en una clave de manera confiable, no sería una buena idea usarla como clave secreta . Sin embargo, sería útil como clave indexing : no por seguridad, sino por rendimiento.

    
respondido por el Thomas Pornin 13.09.2013 - 20:21
fuente
2

Tenga en cuenta que un algoritmo de hash criptográfico sobresale en la producción de diferentes valores de resumen, incluso para las diferencias más pequeñas en las entradas. Incluso un cambio de 1 bit en la entrada provoca una cascada de cambios que producen un valor de hash completamente diferente. La resistencia previa a la imagen es una característica necesaria para un algoritmo de hash criptográfico.

Ahora mira las huellas dactilares. Un problema con las huellas digitales es que no se garantiza que las relaciones entre las marcas de identificación sean constantes entre las lecturas. Es posible que su dedo esté ligeramente inflamado debido a los distintos niveles de líquidos en su cuerpo, o que esté alineado ligeramente de manera diferente entre los elementos del sensor, o incluso que tenga un pedazo de suciedad, y eso podría ser la diferencia suficiente para causar la diferencia de un elemento. entre lecturas. Recuerde, incluso un poco de cambio significará que se genera un hash completamente diferente. Por lo tanto, una lectura precisa de la imagen o una instantánea de una impresión no se pueden eliminar directamente.

Sin embargo, la imagen puede ser procesada. Cada impresión tiene un conjunto de "puntos de referencia", que son puntos específicamente identificables. Las bifurcaciones son donde se unen dos crestas, una vara es donde termina una cresta, una isla es una pequeña cresta corta, y así sucesivamente. Estos puntos de referencia pueden identificarse y medirse en relación entre sí. Si tuviera que colocar una huella digital en una cuadrícula, por ejemplo, podría identificar cada celda con los puntos de referencia que contiene.

El problema se convierte entonces en alinear la cuadrícula. Si la cuadrícula no se distribuye de manera idéntica cada vez que se lee una impresión, no se generará el mismo hash.

Las impresiones vienen en solo tres formas básicas: arcos, bucles y verticilos. Parece que podría ser posible utilizar las características definitorias de todas las impresiones de tipo arco (por ejemplo) para producir tres puntos de referencia necesarios, y así alinear la cuadrícula. Luego lo procesa e identifica todos los posibles hitos. ¿Pero entonces, qué? ¿Qué seguridad tienes de que cada punto de referencia ha aterrizado en la misma celda cada vez? Si intenta establecer una zona borrosa alrededor de las líneas de la cuadrícula, ¿cómo sabe qué puntos de referencia apenas están cayendo (o saliendo) de la zona borrosa?

(La misma preocupación es cierta si intentas usar radiales desde el centro de los puntos de referencia: ¿cuánta tolerancia construyes en los vectores?

La conclusión es que probablemente le resulte difícil obtener el mismo valor del hash cada vez, porque las impresiones nunca se alinean con precisión de manera repetible.

Entonces, ¿cómo podrías usar hashes para mantener las impresiones seguras? Cuando el usuario registra inicialmente su impresión, utiliza el mismo esquema basado en cuadrícula para analizarlo y generar un hash. Luego, analiza los puntos de referencia que caen en las zonas potencialmente borrosas y calcula un hash distinto para cada posible permutación. Rápidamente construirá un gran conjunto de hashes que representan los valores potenciales de la impresión de un usuario. Más tarde, cuando la impresión de un usuario se lee y se revisa, se busca en el conjunto completo de hashes en el archivo e identifica al usuario.

    
respondido por el John Deters 13.09.2013 - 22:42
fuente
0

La respuesta de John Deters coincide en gran medida con mi comprensión de los problemas.

La única diferencia puede ser que la observación final (un esquema de fuerza bruta inteligente para crear una matriz completa en la inscripción de 'zonas difusas' en la plantilla derivada para 'cada posible permutación') no parece ser consistente con las dificultades identificadas en el resto de la publicación: la variación más pequeña en un solo bit de la imagen sin procesar original crea un hash no relacionado, y mientras que la codificación en una plantilla a partir del análisis de patrones reducirá el impacto de esto (ya que la información de la cuadrícula de formas biométricas tendrá muchos menos bits) de datos que la imagen de mapa de bits de resolución más alta subyacente), aún está buscando una segunda lectura precisa bit por bit idéntica para generar el hash compatible. Incluso cuando tienes muchos en lugar de uno solo, es posible que esto no evite la dificultad.

A medida que aumenta el número de "todas las permutaciones posibles" en su imagen de inicio y de la familia de posibles imágenes futuras, a pesar de que es mucho más pequeño que el conjunto completo de todos los valores en el espacio de respuesta de una resolución dada, hay Parece que hay al menos dos problemas:

1) el potencial de falsos positivos aumenta a medida que el conjunto completo de posibles coincidencias para otra persona se superpone a nuestro propio conjunto muy grande, y por lo tanto

2) el valor de tratar esto como un problema de "hashing" retrocede: es probable que sea menos intratable que las imágenes de hashing de la misma persona, pero parece que no está en la clase de problemas donde las versiones de identificadores con hash son prácticamente Útil y confiable.

    
respondido por el user127327 13.10.2016 - 02:57
fuente

Lea otras preguntas en las etiquetas