Los extractores difusos son un método que permite utilizar datos biométricos como entrada para técnicas criptográficas estándar , mejorando así la seguridad informática. En este contexto, el término "difuso" se refiere a que los valores fijos necesarios para la criptografía se extraen de valores cercanos, pero no idénticos, a la clave original, sin comprometer la seguridad requerida. Una aplicación consiste en cifrar y autenticar los registros de los usuarios, utilizando sus datos biométricos como clave.
Los extractores difusos son una herramienta biométrica que permite la autenticación del usuario, utilizando una plantilla biométrica construida a partir de los datos biométricos del usuario como clave, extrayendo una cadena uniforme y aleatoria.a partir de una entrada, con una tolerancia al ruido. Si la entrada cambia apero aún está cerca de, la misma cadenaserá reconstruido. Para lograr esto, durante el cálculo inicial deEl proceso también genera una cadena auxiliar.que se almacenará para recuperarmás tarde y puede hacerse público sin comprometer la seguridad deLa seguridad del proceso también se garantiza cuando un adversario modifica. Una vez que la cadena fijaSe ha calculado y puede utilizarse, por ejemplo, para el acuerdo de claves entre un usuario y un servidor basado únicamente en una entrada biométrica. [ 1 ] [ 2 ]
Historia
Un precursor de los extractores difusos fue el llamado "Compromiso Difuso", diseñado por Juels y Wattenberg. [ 2 ] En este caso, la clave criptográfica se desvincula utilizando datos biométricos.
Posteriormente, Juels y Sudan desarrollaron esquemas de bóveda difusa . Estos esquemas son invariantes al orden respecto del esquema de compromiso difuso y utilizan un código de corrección de errores de Reed-Solomon . La palabra clave se inserta como coeficientes de un polinomio, el cual se evalúa en función de diversas propiedades de los datos biométricos.
Tanto el Compromiso Difuso como las Bóvedas Difusas fueron precursores de los Extractores Difusos.
Motivación
Para que los extractores difusos puedan generar claves robustas a partir de datos biométricos y otros datos ruidosos, se aplicarán paradigmas criptográficos a estos datos biométricos. Estos paradigmas son:
(1) Limitar el número de suposiciones sobre el contenido de los datos biométricos (estos datos provienen de diversas fuentes; por lo tanto, para evitar la explotación por parte de un adversario , es mejor asumir que la entrada es impredecible).
(2) Aplicar técnicas criptográficas habituales a la entrada. (Los extractores difusos convierten los datos biométricos en cadenas aleatorias secretas, uniformemente aleatorias y reproducibles de forma fiable).
Estas técnicas también pueden tener otras aplicaciones más amplias para otros tipos de entradas ruidosas, como datos aproximados de la memoria humana , imágenes utilizadas como contraseñas y claves de canales cuánticos. [ 2 ] Los extractores difusos también tienen aplicaciones en la prueba de la imposibilidad de las nociones fuertes de privacidad con respecto a las bases de datos estadísticas . [ 3 ]
Definiciones básicas
Previsibilidad
La predictibilidad indica la probabilidad de que un adversario pueda adivinar una clave secreta. Matemáticamente hablando, la predictibilidad de una variable aleatoriaes.
Por ejemplo, dado un par de variables aleatoriasy, si el adversario sabede, entonces la previsibilidad deseráPor lo tanto, un adversario puede predecircon . Usamos el promedio sobreya que no está bajo control del adversario, sino desde que se sabehace la predicción deadversarial, tomamos el peor caso.
entropía mínima
La min-entropía indica la entropía en el peor de los casos. Matemáticamente hablando, se define como.
Una variable aleatoria con una entropía mínima de al menosse llama un-fuente.
Distancia estadística
La distancia estadística es una medida de distinguibilidad. Matemáticamente hablando, se expresa para dos distribuciones de probabilidad.ycomo=. En cualquier sistema, sies reemplazado por, se comportará como el sistema original con una probabilidad de al menos.
Definición 1 (extractor fuerte)
Configuracióncomo un extractor de aleatoriedad fuerte . La función aleatoria Ext: , con aleatoriedad de longitud, es unExtractor potente para todos-fuentesendóndees independiente de.
La salida del extractor es una clave generada a partir decon la semilla. Se comporta independientemente de otras partes del sistema, con la probabilidad deLos extractores potentes pueden extraer como máximobits de un arbitrario-fuente.
Boceto seguro
El boceto seguro permite reconstruir la entrada ruidosa; de modo que, si la entrada esy el boceto es, dadoy un valorcerca de,Se puede recuperar. Pero el bocetono debe revelar información sobre, para mantenerlo seguro.
Sies un espacio métrico , un boceto seguro recupera el puntodesde cualquier puntocerca de, sin revelarsí mismo.
Definición 2 (boceto seguro)
UnEl método de boceto seguro consiste en un par de procedimientos aleatorios eficientes (SS – Boceto; Rec – Recuperación) tales que:
(1) El procedimiento de esbozado SS toma como entraday devuelve una cadena.
- El procedimiento de recuperación Rec toma como entrada los dos elementos.y.
(2) Corrección: Si entonces.
(3) Seguridad: Para cualquier-fuente terminada, la min-entropía de, dado, es alto:
- Para cualquier, si, entonces.
extractor difuso
Los extractores difusos no recuperan la entrada original, sino que generan una cadena.(que es casi uniforme) dey permitir su reproducción posterior (usando una cadena auxiliar)) dado cualquiercerca de. Los extractores fuertes son un caso especial de extractores difusos cuando= 0 y.
Definición 3 (extractor difuso)
UnEl extractor difuso es un par de procedimientos aleatorios eficientes (Gen – Generar y Rep – Reproducir) tales que:
(1) Gen, dado, genera una cadena extraíday una cadena auxiliar.
(2) Corrección: Siy, entonces.
(3) Seguridad: Para todas las fuentes mencima, la cadenaes casi uniforme, incluso dadoEntonces, cuando , entonces.
Por lo tanto, los extractores difusos generan secuencias aleatorias de bits casi uniformes, lo cual es un requisito previo para el uso de aplicaciones criptográficas (como claves secretas). Dado que los bits de salida no son uniformes, existe el riesgo de una menor seguridad; pero la distancia a una distribución uniforme no es mayor queMientras esta distancia sea suficientemente pequeña, la seguridad seguirá siendo adecuada.
Bocetos seguros y extractores difusos
Los bocetos seguros se pueden utilizar para construir extractores difusos: por ejemplo, aplicando SS apara obtenery un extractor fuerte Ext, con aleatoriedad, a, Llegar.se puede almacenar como cadena auxiliar.puede ser reproducido pory.puede recuperarseypuede reproducirse.
El siguiente lema formaliza esto.
Lema 1 (extractores difusos a partir de bocetos)
Supongamos que (SS,Rec) es unboceto seguro y sea Ext un caso promedioextractor fuerte. Entonces lo siguiente (Gen, Rep) es unextractor difuso:
(1) Gen: colocary salida.
(2) Rep: recuperary salida.
Prueba:
- de la definición de boceto seguro (Definición 2),;
- y dado que Ext es un caso promedio-extractor potente;
Corolario 1
Si (SS,Rec) es un boceto seguro y Ext es unextractor fuerte, entonces la construcción anterior (Gen, Rep) es una extractor difuso.
El artículo citado incluye muchos límites combinatorios genéricos sobre bocetos seguros y extractores difusos. [ 2 ]
Construcciones básicas
Debido a sus propiedades de tolerancia a errores, los bocetos seguros pueden ser tratados, analizados y construidos como uncódigo general de corrección de errores opara códigos lineales , dondees la longitud de las palabras clave,es la longitud del mensaje a codificar,es la distancia entre las palabras clave yes el alfabeto. SiSi el universo de palabras posibles es, entonces puede ser posible encontrar un código corrector de errores.de tal manera que exista una palabra clave únicapor cadacon una distancia de Hamming deEl primer paso para construir un boceto seguro es determinar el tipo de errores que probablemente ocurrirán y luego elegir una distancia para medir.
construcciones de distancia de Hamming
Cuando no existe riesgo de que los datos se borren y solo de que se corrompan, la mejor medida para usar para la corrección de errores es la distancia de Hamming. Hay dos construcciones comunes para corregir errores de Hamming, dependiendo de si el código es lineal o no. Ambas construcciones comienzan con un código de corrección de errores que tiene una distancia dedóndees el número de errores tolerados.
Construcción con desplazamiento de código
Cuando se utiliza uncódigo general, asignar una palabra clave aleatoria uniformea cada, entonces dejaque es el cambio necesario para cambiarenPara corregir errores en, restarde, luego corrija los errores en la palabra clave incorrecta resultante para obtenery finalmente añadiraLlegar. Esto significaEsta construcción puede lograr el mejor equilibrio posible entre tolerancia a errores y pérdida de entropía cuandoy se utiliza un código Reed-Solomon , lo que resulta en una pérdida de entropía deLa única forma de mejorar este resultado sería encontrar un código mejor que el de Reed-Solomon.
Construcción del síndrome
Cuando se utiliza uncódigo lineal, dejemos que elser el síndrome dePara corregir, encontrar un vectorde tal manera que; entonces.
Construcciones de diferencias de conjuntos
Cuando se trabaja con un alfabeto muy grande o cadenas muy largas, se obtiene un universo muy grande., puede ser más eficiente tratarycomo conjuntos y observar las diferencias entre conjuntos para corregir errores. Para trabajar con un conjunto grandeEs útil observar su vector característico., que es un vector binario de longitudque tiene un valor de 1 cuando un elementoyo 0 cuando. La mejor manera de reducir el tamaño de un boceto seguro cuandoes grande es para hacergrande, ya que el tamaño está determinado porUn buen código sobre el cual basar esta construcción es unCódigo BCH , dondey, de modo queResulta útil que los códigos BCH puedan decodificarse en tiempo sublineal.
Construcción de bocetos de alfileres
DejarPara corregir, primero encuentra, luego encuentra un conjunto v dondey finalmente calcular la diferencia simétrica para obtenerSi bien esta no es la única construcción que se puede utilizar para establecer la diferencia, es la más sencilla.
Editar construcciones de distancia
Cuando los datos pueden corromperse o eliminarse, la mejor medida a utilizar es la distancia de edición . Para crear una construcción basada en la distancia de edición, la forma más sencilla es comenzar con una construcción para la diferencia de conjuntos o la distancia de Hamming como paso de corrección intermedio, y luego construir la construcción de la distancia de edición a partir de esta.
Otras construcciones de medidas de distancia
Existen muchos otros tipos de errores y distancias que pueden utilizarse para modelar otras situaciones. La mayoría de estas construcciones posibles se basan en construcciones más sencillas, como las construcciones de distancia de edición.
Mejorar la tolerancia a los errores mediante nociones más flexibles de corrección.
Se puede demostrar que la tolerancia a errores de un boceto seguro se puede mejorar aplicando un método probabilístico para la corrección de errores con una alta probabilidad de éxito. Esto permite que las posibles palabras clave superen el límite de Plotkin , que tiene un límite decorrecciones de errores y para aproximarse al límite de Shannon , que permite casicorrecciones. Para lograr esta corrección de errores mejorada, debe utilizarse un modelo de distribución de errores menos restrictivo.
Errores aleatorios
Para este modelo más restrictivo, utilice un BSC.para crear uncon una probabilidaden cada posición enque el bit recibido es incorrecto. Este modelo puede demostrar que la pérdida de entropía se limita a, dóndees la función de entropía binaria . Si min-entropíaentoncesSe pueden tolerar errores, por alguna razón constante..
Errores dependientes de la entrada
Para este modelo, los errores no tienen una distribución conocida y pueden provenir de un adversario, siendo las únicas restricciones las siguientes:y que una palabra corrupta depende únicamente de la entrada.y no en el boceto seguro. Se puede demostrar para este modelo de error que nunca habrá más deerrores, ya que este modelo puede explicar todos los procesos de ruido complejos, lo que significa que se puede alcanzar el límite de Shannon; para ello se antepone una permutación aleatoria al esquema seguro que reducirá la pérdida de entropía.
Errores limitados computacionalmente
Este modelo difiere del modelo dependiente de la entrada al tener errores que dependen tanto de la entraday el boceto seguro, y un adversario está limitado a algoritmos de tiempo polinomial para introducir errores. Dado que los algoritmos que pueden ejecutarse en un tiempo mejor que polinomial no son factibles actualmente en el mundo real, entonces un resultado positivo utilizando este modelo de error garantizaría que cualquier error pueda corregirse. Este es el modelo menos restrictivo, donde la única forma conocida de aproximarse al límite de Shannon es usar códigos decodificables por lista , aunque esto puede no ser siempre útil en la práctica, ya que devolver una lista, en lugar de una sola palabra clave, puede no ser siempre aceptable.
Garantías de privacidad
En general, un sistema seguro intenta filtrar la menor cantidad de información posible a un adversario . En el caso de la biometría, si se filtra información sobre la lectura biométrica, el adversario puede obtener información personal sobre un usuario. Por ejemplo, un adversario nota que hay un cierto patrón en las cadenas de ayuda que implica la etnia del usuario. Podemos considerar esta información adicional como una funciónSi un adversario lograra aprender una cadena de caracteres auxiliar, debe garantizarse que, a partir de estos datos, no pueda inferir ningún dato sobre la persona a la que se le tomó la lectura biométrica.
Correlación entre la cadena de ayuda y la entrada biométrica
Idealmente, la cadena auxiliarno revelaría ninguna información sobre la entrada biométricaEsto solo es posible cuando cada lectura biométrica posteriores idéntico al originalEn este caso, en realidad no hay necesidad de la cadena auxiliar; por lo tanto, es fácil generar una cadena que no esté correlacionada de ninguna manera con.
Dado que es deseable aceptar datos biométricossimilar a, la cadena auxiliardeben estar correlacionados de alguna manera. Cuanto más diferentesycuanto más se permita, mayor será la correlación entrey; cuanto más correlacionados estén, más informaciónrevela sobrePodemos considerar esta información como una función.La mejor solución posible es asegurarse de que un adversario no pueda obtener información útil de la cadena de ayuda.
Gen( W ) como un mapa probabilístico
Un mapa probabilísticooculta los resultados de funciones con una pequeña cantidad de fugasLa fuga es la diferencia en la probabilidad que tienen dos adversarios de adivinar alguna función, cuando uno conoce el mapa probabilístico y el otro no. Formalmente:
Si la funciónes un mapa probabilístico, entonces incluso si un adversario conoce ambas cadenas auxiliaresy la cadena secreta, tienen una probabilidad insignificantemente mayor de descubrir algo sobre el tema que si no supieran nada. La cadenaSe supone que debe mantenerse en secreto; por lo tanto, incluso si se filtra (lo cual debería ser muy improbable), el adversario aún no puede averiguar nada útil sobre el tema, siempre y cuandoes pequeño. Podemos considerarque exista alguna correlación entre la entrada biométrica y alguna característica física de la persona. ConfiguraciónEn la ecuación anterior, se transforma en:
Esto significa que si un adversariotieney un segundo adversariono sabe nada, sus mejores conjeturas enson soloaparte.
extractores difusos uniformes
Los extractores difusos uniformes son un caso especial de extractores difusos, donde la salidadees insignificante en comparación con las cadenas seleccionadas de la distribución uniforme, es decir.
bocetos uniformes seguros
Dado que los bocetos seguros implican extractores difusos, la construcción de un boceto seguro uniforme permite la fácil construcción de un extractor difuso uniforme. En un boceto seguro uniforme, el procedimiento del bocetoes un extractor de aleatoriedad, dóndees la entrada biométrica yes la semilla aleatoria . Dado que los extractores de aleatoriedad generan una cadena que parece provenir de una distribución uniforme, ocultan toda la información sobre su entrada.
Aplicaciones
Los bocetos del extractor se pueden utilizar para construir-Funciones hash unidireccionales perfectamente difusas. Cuando se utiliza como función hash, la entradaes el objeto que desea hashear. ElesoLa salida es el valor hash. Si uno quisiera verificar que undentrodel originalellos verificarían que. Dichas funciones hash unidireccionales perfectas difusas son funciones hash especiales donde aceptan cualquier entrada con como máximoerrores, en comparación con las funciones hash tradicionales que solo aceptan cuando la entrada coincide exactamente con la original. Las funciones hash criptográficas tradicionales intentan garantizar que es computacionalmente inviable encontrar dos entradas diferentes que produzcan el mismo valor hash. Las funciones hash difusas perfectamente unidireccionales hacen una afirmación análoga. Hacen que sea computacionalmente inviable encontrar dos entradas que sean más queDistancia de Hamming separada y hash al mismo valor.
Protección contra ataques activos
Un ataque activo podría ser aquel en el que un adversario puede modificar la cadena auxiliar.Si un adversario es capaz de cambiara otra cadena que también sea aceptable para la función de reproducción.causapara generar una cadena secreta incorrectaLos extractores difusos robustos resuelven este problema permitiendo que la función de reproducción falle si se proporciona como entrada una cadena auxiliar modificada.
Extractores difusos robustos


Un método para construir extractores difusos robustos es utilizar funciones hash . Esta construcción requiere dos funciones hash.y. ElLa función produce la cadena auxiliar.adjuntando la salida de un boceto seguro.al hash de ambas lecturasy boceto seguroGenera la cadena secretaaplicando la segunda función hash ayFormalmente:
La función de reproducciónTambién hace uso de las funciones hash.yAdemás de verificar que la entrada biométrica sea lo suficientemente similar a la recuperada mediante elfunción, también verifica que el hash en la segunda parte deen realidad se derivó dey. Si se cumplen ambas condiciones, devuelve, que a su vez es la segunda función hash aplicada ayFormalmente:
Conseguiryde Siyentoncesdemás
SiHa sido manipulado, será obvio, porquefallará en la salida con una probabilidad muy alta. Para hacer que el algoritmo acepte una diferente, un adversario tendría que encontrar unde tal manera queDado que se cree que las funciones hash son funciones unidireccionales , es computacionalmente inviable encontrar tal. Videnteno proporcionaría a un adversario ninguna información útil. Dado que, nuevamente, las funciones hash son funciones unidireccionales, es computacionalmente inviable para un adversario invertir la función hash y averiguar. Parte dees el boceto seguro, pero por definición el boceto revela información insignificante sobre su entrada. De manera similar, al ver(aunque nunca debería verlo) no proporcionaría a un adversario ninguna información útil, ya que un adversario no podría revertir la función hash y ver la entrada biométrica.
Referencias
- ↑ "Extractores difusos: un breve estudio de los resultados de 2004 a 2006" . www.cs.bu.edu . Consultado el 11 de septiembre de 2021 .
- 1 2 3 4 Yevgeniy Dodis, Rafail Ostrovsky, Leonid Reyzin y Adam Smith. "Extractores difusos: cómo generar claves fuertes a partir de datos biométricos y otros datos ruidosos". 2008.
- ↑ Dwork, Cynthia (2006). "Privacidad diferencial". Autómatas, lenguajes y programación: 33.º Coloquio Internacional, ICALP 2006, Venecia, Italia, 10-14 de julio de 2006, Actas, Parte II (Notas de clase en informática) . Springer. ISBN 978-354035907-4.
Lecturas adicionales
- "Extractores difusos: un breve análisis de los resultados de 2004 a 2006" .
- Álvarez, F. Hernández; et al. (2007). "Esquema extractor difuso biométrico para plantillas de iris" (PDF) . Consejo Superior de Investigaciones Científicas (CSIC) . Recuperado el 25 de marzo de 2022 .
- Juels, Ari; et al. (2002). "Un esquema de bóveda difusa" (PDF) . Laboratorio de Ciencias de la Computación e Inteligencia Artificial del MIT (CSAIL) . Recuperado el 25 de marzo de 2022 .
- Fuller, Benjamin; et al. (2014). "¿Cuándo son posibles los extractores difusos?" (PDF) . Asociación Internacional para la Investigación Criptológica (IACR) . Recuperado el 23 de julio de 2024 .
Enlaces externos
- "Minisketch: Una biblioteca C++ optimizada para la reconciliación de conjuntos basada en BCH (Pin Sketch)" . github.com . 31 de mayo de 2021.
- Biometría
- Teoría de la codificación
- Algoritmos criptográficos