Articulo de referencia

extractor difuso

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...

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.R{\displaystyle R}a partir de una entradaw{\displaystyle w}, con una tolerancia al ruido. Si la entrada cambia aw{\displaystyle w'}pero aún está cerca dew{\displaystyle w}, la misma cadenaR{\displaystyle R}será reconstruido. Para lograr esto, durante el cálculo inicial deR{\displaystyle R}El proceso también genera una cadena auxiliar.PAG{\displaystyle P}que se almacenará para recuperarR{\displaystyle R}más tarde y puede hacerse público sin comprometer la seguridad deR{\displaystyle R}La seguridad del proceso también se garantiza cuando un adversario modificaPAG{\displaystyle P}. Una vez que la cadena fijaR{\displaystyle R}Se 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 aleatoriaA{\displaystyle A}esmáximoaPAG[A=a]{\displaystyle \max _{\mathrm {a} }P[A=a]}.

Por ejemplo, dado un par de variables aleatoriasA{\displaystyle A}yB{\displaystyle B}, si el adversario sabeb{\displaystyle b}deB{\displaystyle B}, entonces la previsibilidad deA{\displaystyle A}serámáximoaPAG[A=a|B=b]{\displaystyle \max _{\mathrm {a} }P[A=a|B=b]}Por lo tanto, un adversario puede predecirA{\displaystyle A}con mibB[máximoaPAG[A=a|B=b]]{\displaystyle E_{b\leftarrow B}[\max _{\mathrm {a} }P[A=a|B=b]]}. Usamos el promedio sobreB{\displaystyle B}ya que no está bajo control del adversario, sino desde que se sabeb{\displaystyle b}hace la predicción deA{\displaystyle A}adversarial, tomamos el peor casoA{\displaystyle A}.

entropía mínima

La min-entropía indica la entropía en el peor de los casos. Matemáticamente hablando, se define comoH(A)=registro(máximoaPAG[A=a]){\displaystyle H_{\infty }(A)=-\log(\max _{\mathrm {a} }P[A=a])}.

Una variable aleatoria con una entropía mínima de al menosmetro{\displaystyle m}se llama unmetro{\displaystyle m}-fuente.

Distancia estadística

La distancia estadística es una medida de distinguibilidad. Matemáticamente hablando, se expresa para dos distribuciones de probabilidad.A{\displaystyle A}yB{\displaystyle B}comoSD[A,B]{\displaystyle SD[A,B]}=12v|PAG[A=v]PAG[B=v]|{\displaystyle {\frac {1}{2}}\sum _{\mathrm {v} }|P[A=v]-P[B=v]|}. En cualquier sistema, siA{\displaystyle A}es reemplazado porB{\displaystyle B}, se comportará como el sistema original con una probabilidad de al menos1SD[A,B]{\displaystyle 1-SD[A,B]}.

Definición 1 (extractor fuerte)

ConfiguraciónMETRO{\displaystyle M}como un extractor de aleatoriedad fuerte . La función aleatoria Ext: METRO{0,1}l{\displaystyle M\rightarrow \{0,1\}^{l}}, con aleatoriedad de longitudr{\displaystyle r}, es un(metro,l,ϵ){\displaystyle (m,l,\epsilon )}Extractor potente para todosmetro{\displaystyle m}-fuentesW{\displaystyle W}enMETRO(Ext(W;I),I)ϵ(Ul,Ur),{\displaystyle M(\operatorname {Ext} (W;I),I)\approx _{\epsilon }(U_{l},U_{r}),}dóndeI=Ur{\displaystyle I=U_{r}}es independiente deW{\displaystyle W}.

La salida del extractor es una clave generada a partir dewW{\displaystyle w\leftarrow W}con la semillaiI{\displaystyle i\leftarrow I}. Se comporta independientemente de otras partes del sistema, con la probabilidad de1ϵ{\displaystyle 1-\epsilon }Los extractores potentes pueden extraer como máximol=metro2registro1ϵ+O(1){\displaystyle l=m-2\log {\frac {1}{\epsilon }}+O(1)}bits de un arbitrariometro{\displaystyle m}-fuente.

Boceto seguro

El boceto seguro permite reconstruir la entrada ruidosa; de modo que, si la entrada esw{\displaystyle w}y el boceto ess{\displaystyle s}, dados{\displaystyle s}y un valorw{\displaystyle w'}cerca dew{\displaystyle w},w{\displaystyle w}Se puede recuperar. Pero el bocetos{\displaystyle s}no debe revelar información sobrew{\displaystyle w}, para mantenerlo seguro.

SiMETRO{\displaystyle \mathbb {M} }es un espacio métrico , un boceto seguro recupera el puntowMETRO{\displaystyle w\in \mathbb {M} }desde cualquier puntowMETRO{\displaystyle w'\in \mathbb {M} }cerca dew{\displaystyle w}, sin revelarw{\displaystyle w}sí mismo.

Definición 2 (boceto seguro)

Un(metro,metro~,t){\displaystyle (m,{\tilde {m}},t)}El 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 entradawMETRO{\displaystyle w\in \mathbb {M} }y devuelve una cadenas{0,1}{\displaystyle s\in {\{0,1\}^{*}}}.

El procedimiento de recuperación Rec toma como entrada los dos elementos.wMETRO{\displaystyle w'\in \mathbb {M} }ys{0,1}{\displaystyle s\in {\{0,1\}^{*}}}.

(2) Corrección: Si dis(w,w)t{\displaystyle dis(w,w')\leq t}entoncesRmido(w,SS(w))=w{\displaystyle Rec(w',SS(w))=w}.

(3) Seguridad: Para cualquiermetro{\displaystyle m}-fuente terminadaMETRO{\displaystyle M}, la min-entropía deW{\displaystyle W}, dados{\displaystyle s}, es alto:

Para cualquier(W,mi){\displaystyle (W,E)}, siH~(W|mi)metro{\displaystyle {\tilde {H}}_{\mathrm {\infty } }(W|E)\geq m}, entoncesH~(W|SS(W),mi)metro~{\displaystyle {\tilde {H}}_{\mathrm {\infty } }(W|SS(W),E)\geq {\tilde {m}}}.

extractor difuso

Los extractores difusos no recuperan la entrada original, sino que generan una cadena.R{\displaystyle R}(que es casi uniforme) dew{\displaystyle w}y permitir su reproducción posterior (usando una cadena auxiliar)PAG{\displaystyle P}) dado cualquierw{\displaystyle w'}cerca dew{\displaystyle w}. Los extractores fuertes son un caso especial de extractores difusos cuandot{\displaystyle t}= 0 yPAG=I{\displaystyle P=I}.

Definición 3 (extractor difuso)

Un(metro,l,t,ϵ){\displaystyle (m,l,t,\epsilon )}El extractor difuso es un par de procedimientos aleatorios eficientes (Gen – Generar y Rep – Reproducir) tales que:

(1) Gen, dadowMETRO{\displaystyle w\in \mathbb {M} }, genera una cadena extraídaR{0,1}l{\displaystyle R\in {\mathbb {\{} 0,1\}^{l}}}y una cadena auxiliarPAG{0,1}{\displaystyle P\in {\mathbb {\{} 0,1\}^{*}}}.

(2) Corrección: Sidis(w,w)t{\displaystyle dis(w,w')\leq t}y(R,PAG)GRAMOminorte(w){\displaystyle (R,P)\leftarrow Gen(w)}, entoncesRmipag(w,PAG)=R{\displaystyle Rep(w',P)=R}.

(3) Seguridad: Para todas las fuentes mW{\displaystyle W}encimaMETRO{\displaystyle M}, la cadenaR{\displaystyle R}es casi uniforme, incluso dadoPAG{\displaystyle P}Entonces, cuando H~(W|mi)metro{\displaystyle {\tilde {H}}_{\mathrm {\infty } }(W|E)\geq m}, entonces(R,PAG,mi)(Ul,PAG,mi){\displaystyle (R,P,E)\approx (U_{\mathrm {l} },P,E)}.

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 queϵ{\displaystyle \epsilon }Mientras 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 aw{\displaystyle w}para obteners{\displaystyle s}y un extractor fuerte Ext, con aleatoriedadincógnita{\displaystyle x}, aw{\displaystyle w}, LlegarR{\displaystyle R}.(s,incógnita){\displaystyle (s,x)}se puede almacenar como cadena auxiliarPAG{\displaystyle P}.R{\displaystyle R}puede ser reproducido porw{\displaystyle w'}yPAG=(s,incógnita){\displaystyle P=(s,x)}.Rmido(w,s){\displaystyle Rec(w',s)}puede recuperarsew{\displaystyle w}ymiincógnitat(w,incógnita){\displaystyle Ext(w,x)}puede reproducirseR{\displaystyle R}.

El siguiente lema formaliza esto.

Lema 1 (extractores difusos a partir de bocetos)

Supongamos que (SS,Rec) es un(METRO,metro,metro~,t){\displaystyle (M,m,{\tilde {m}},t)}boceto seguro y sea Ext un caso promedio(norte,metro~,l,ϵ){\displaystyle (n,{\tilde {m}},l,\epsilon )}extractor fuerte. Entonces lo siguiente (Gen, Rep) es un(METRO,metro,l,t,ϵ){\displaystyle (M,m,l,t,\epsilon )}extractor difuso:

(1) Gen(w,r,incógnita){\displaystyle (w,r,x)}: colocarPAG=(SS(w;r),incógnita),R=miincógnitat(w;incógnita),{\displaystyle P=(SS(w;r),x),R=Ext(w;x),}y salida(R,PAG){\displaystyle (R,P)}.

(2) Rep(w,(s,incógnita)){\displaystyle (w',(s,x))}: recuperarw=Rmido(w,s){\displaystyle w=Rec(w',s)}y salidaR=miincógnitat(w;incógnita){\displaystyle R=Ext(w;x)}.

Prueba:

de la definición de boceto seguro (Definición 2),H(W|SS(W))metro~{\displaystyle H_{\infty }(W|SS(W))\geq {\tilde {m}}};
y dado que Ext es un caso promedio(norte,metro,l,ϵ){\displaystyle (n,m,l,\epsilon )}-extractor potente;
SD((miincógnitat(W;incógnita),SS(W),incógnita),(Ul,SS(W),incógnita))=SD((R,PAG),(Ul,PAG))ϵ.{\displaystyle SD((Ext(W;X),SS(W),X),(U_{l},SS(W),X))=SD((R,P),(U_{l},P))\leq \epsilon .}

Corolario 1

Si (SS,Rec) es un (METRO,metro,metro~,t){\displaystyle (M,m,{\tilde {m}},t)}boceto seguro y Ext es un(norte,metro~logramo(1δ),l,ϵ){\displaystyle (n,{\tilde {m}}-log({\frac {1}{\delta }}),l,\epsilon )}extractor fuerte, entonces la construcción anterior (Gen, Rep) es una    (METRO,metro,l,t,ϵ+δ){\displaystyle (M,m,l,t,\epsilon +\delta )}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 un(norte,k,d)F{\displaystyle (n,k,d)_{\mathcal {F}}}código general de corrección de errores o[norte,k,d]F{\displaystyle [n,k,d]_{\mathcal {F}}}para códigos lineales , dondenorte{\displaystyle n}es la longitud de las palabras clave,k{\displaystyle k}es la longitud del mensaje a codificar,d{\displaystyle d}es la distancia entre las palabras clave yF{\displaystyle {\mathcal {F}}}es el alfabeto. SiFnorte{\displaystyle {\mathcal {F}}^{n}}Si el universo de palabras posibles es, entonces puede ser posible encontrar un código corrector de errores.doFnorte{\displaystyle C\subset {\mathcal {F}}^{n}}de tal manera que exista una palabra clave únicadodo{\displaystyle c\in C}por cadawFnorte{\displaystyle w\in {\mathcal {F}}^{n}}con una distancia de Hamming dedisHametro(do,w)(d1)/2{\displaystyle dis_{Ham}(c,w)\leq (d-1)/2}El primer paso para construir un boceto seguro es determinar el tipo de errores que probablemente ocurrirán y luego elegir una distancia para medir.

El rojo representa la construcción de desplazamiento de código, el azul la construcción de síndrome y el verde la distancia de edición y otras construcciones complejas.

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 de2t+1{\displaystyle 2t+1}dóndet{\displaystyle {t}}es el número de errores tolerados.

Construcción con desplazamiento de código

Cuando se utiliza un(norte,k,2t+1)F{\displaystyle (n,k,2t+1)_{\mathcal {F}}}código general, asignar una palabra clave aleatoria uniformedodo{\displaystyle c\in C}a cadaw{\displaystyle w}, entonces dejaSS(w)=s=wdo{\displaystyle SS(w)=s=w-c}que es el cambio necesario para cambiardo{\displaystyle c}enw{\displaystyle w}Para corregir errores enw{\displaystyle w'}, restars{\displaystyle s}dew{\displaystyle w'}, luego corrija los errores en la palabra clave incorrecta resultante para obtenerdo{\displaystyle c}y finalmente añadirs{\displaystyle s}ado{\displaystyle c}Llegarw{\displaystyle w}. Esto significaRmido(w,s)=s+dmido(ws)=w{\displaystyle Rec(w',s)=s+dec(w'-s)=w}Esta construcción puede lograr el mejor equilibrio posible entre tolerancia a errores y pérdida de entropía cuandoFnorte{\displaystyle {\mathcal {F}}\geq n}y se utiliza un código Reed-Solomon , lo que resulta en una pérdida de entropía de2tregistro(F){\displaystyle 2t\log({\mathcal {F}})}La ú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 un[norte,k,2t+1]F{\displaystyle [n,k,2t+1]_{\mathcal {F}}}código lineal, dejemos que elSS(w)=s{\displaystyle SS(w)=s}ser el síndrome dew{\displaystyle w}Para corregirw{\displaystyle w'}, encontrar un vectormi{\displaystyle e}de tal manera quesynorte(mi)=synorte(w)s{\displaystyle syn(e)=syn(w')-s}; entoncesw=wmi{\displaystyle w=w'-e}.

Construcciones de diferencias de conjuntos

Cuando se trabaja con un alfabeto muy grande o cadenas muy largas, se obtiene un universo muy grande.U{\displaystyle {\mathcal {U}}}, puede ser más eficiente tratarw{\displaystyle w}yw{\displaystyle w'}como conjuntos y observar las diferencias entre conjuntos para corregir errores. Para trabajar con un conjunto grandew{\displaystyle w}Es útil observar su vector característico.incógnitaw{\displaystyle x_{w}}, que es un vector binario de longitudnorte{\displaystyle n}que tiene un valor de 1 cuando un elementoaU{\displaystyle a\in {\mathcal {U}}}yaw{\displaystyle a\in w}o 0 cuandoaw{\displaystyle a\notin w}. La mejor manera de reducir el tamaño de un boceto seguro cuandonorte{\displaystyle n}es grande es para hacerk{\displaystyle k}grande, ya que el tamaño está determinado pornortek{\displaystyle n-k}Un buen código sobre el cual basar esta construcción es un[norte,nortetα,2t+1]2{\displaystyle [n,n-t\alpha ,2t+1]_{2}}Código BCH , dondenorte=2α1{\displaystyle n=2^{\alpha }-1}ytnorte{\displaystyle t\ll n}, de modo queknortelogramo(nortet){\displaystyle k\leq n-log{n \choose {t}}}Resulta útil que los códigos BCH puedan decodificarse en tiempo sublineal.

Construcción de bocetos de alfileres

DejarSS(w)=s=synorte(incógnitaw){\displaystyle SS(w)=s=syn(x_{w})}Para corregirw{\displaystyle w'}, primero encuentraSS(w)=s=synorte(incógnitaw){\displaystyle SS(w')=s'=syn(x_{w}')}, luego encuentra un conjunto v dondesynorte(incógnitav)=ss{\displaystyle syn(x_{v})=s'-s}y finalmente calcular la diferencia simétrica para obtenerRmido(w,s)=wv=w{\displaystyle Rec(w',s)=w'\triangle v=w}Si 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 denorte/4{\displaystyle n/4}correcciones de errores y para aproximarse al límite de Shannon , que permite casinorte/2{\displaystyle n/2}correcciones. 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.pag{\displaystyle _{p}}para crear unw{\displaystyle w'}con una probabilidadpag{\displaystyle p}en cada posición enw{\displaystyle w'}que el bit recibido es incorrecto. Este modelo puede demostrar que la pérdida de entropía se limita anorteH(pag)o(norte){\displaystyle nH(p)-o(n)}, dóndeH{\displaystyle H}es la función de entropía binaria . Si min-entropíametronorte(H(12γ))+ε{\displaystyle m\geq n(H({\frac {1}{2}}-\gamma ))+\varepsilon }entoncesnorte(12γ){\displaystyle n({\frac {1}{2}}-\gamma )}Se pueden tolerar errores, por alguna razón constante.γ>0{\displaystyle \gamma >0}.

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:diserrart{\displaystyle dis_{\text{err}}\leq t}y que una palabra corrupta depende únicamente de la entrada.w{\displaystyle w}y no en el boceto seguro. Se puede demostrar para este modelo de error que nunca habrá más det{\displaystyle t}errores, 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 entradaw{\displaystyle w}y 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ónF(W){\displaystyle f(W)}Si 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 auxiliarPAG{\displaystyle P}no revelaría ninguna información sobre la entrada biométricaw{\displaystyle w}Esto solo es posible cuando cada lectura biométrica posteriorw{\displaystyle w'}es idéntico al originalw{\displaystyle w}En 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 conw{\displaystyle w}.

Dado que es deseable aceptar datos biométricosw{\displaystyle w'}similar aw{\displaystyle w}, la cadena auxiliarPAG{\displaystyle P}deben estar correlacionados de alguna manera. Cuanto más diferentesw{\displaystyle w}yw{\displaystyle w'}cuanto más se permita, mayor será la correlación entrePAG{\displaystyle P}yw{\displaystyle w}; cuanto más correlacionados estén, más informaciónPAG{\displaystyle P}revela sobrew{\displaystyle w}Podemos considerar esta información como una función.F(W){\displaystyle f(W)}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ísticoY(){\displaystyle Y()}oculta los resultados de funciones con una pequeña cantidad de fugasϵ{\displaystyle \epsilon }La 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:

|Pr[A1(Y(W))=F(W)]Pr[A2()=F(W)]|ϵ{\displaystyle |\Pr[A_{1}(Y(W))=f(W)]-\Pr[A_{2}()=f(W)]|\leq \epsilon }

Si la funciónGen(W){\displaystyle \operatorname {Gen} (W)}es un mapa probabilístico, entonces incluso si un adversario conoce ambas cadenas auxiliaresPAG{\displaystyle P}y la cadena secretaR{\displaystyle R}, tienen una probabilidad insignificantemente mayor de descubrir algo sobre el tema que si no supieran nada. La cadenaR{\displaystyle R}Se 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 cuandoϵ{\displaystyle \epsilon }es pequeño. Podemos considerarF(W){\displaystyle f(W)}que exista alguna correlación entre la entrada biométrica y alguna característica física de la persona. ConfiguraciónY=Gen(W)=R,PAG{\displaystyle Y=\operatorname {Gen} (W)=R,P}En la ecuación anterior, se transforma en:

|Pr[A1(R,PAG)=F(W)]Pr[A2()=F(W)]|ϵ{\displaystyle |\Pr[A_{1}(R,P)=f(W)]-\Pr[A_{2}()=f(W)]|\leq \epsilon }

Esto significa que si un adversarioA1{\displaystyle A_{1}}tiene(R,PAG){\displaystyle (R,P)}y un segundo adversarioA2{\displaystyle A_{2}}no sabe nada, sus mejores conjeturas enF(W){\displaystyle f(W)}son soloϵ{\displaystyle \epsilon }aparte.

extractores difusos uniformes

Los extractores difusos uniformes son un caso especial de extractores difusos, donde la salida(R,PAG){\displaystyle (R,P)}deGRAMOminorte(W){\displaystyle Gen(W)}es insignificante en comparación con las cadenas seleccionadas de la distribución uniforme, es decir(R,PAG)ϵ(U,U|PAG|){\displaystyle (R,P)\approx _{\epsilon }(U_{\ell },U_{|P|})}.

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 bocetoSS(w){\displaystyle SS(w)}es un extractor de aleatoriedadmiincógnitat(w;i){\displaystyle Ext(w;i)}, dóndew{\displaystyle w}es la entrada biométrica yi{\displaystyle i}es 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(metro,t,ϵ){\displaystyle (m,t,\epsilon )}-Funciones hash unidireccionales perfectamente difusas. Cuando se utiliza como función hash, la entradaw{\displaystyle w}es el objeto que desea hashear. ElPAG,R{\displaystyle P,R}esoGRAMOminorte(w){\displaystyle Gen(w)}La salida es el valor hash. Si uno quisiera verificar que unw{\displaystyle w'}dentrot{\displaystyle t}del originalw{\displaystyle w}ellos verificarían queRmipag(w,PAG)=R{\displaystyle Rep(w',P)=R}. Dichas funciones hash unidireccionales perfectas difusas son funciones hash especiales donde aceptan cualquier entrada con como máximot{\displaystyle t}errores, 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 quet{\displaystyle t}Distancia 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.PAG{\displaystyle P}Si un adversario es capaz de cambiarPAG{\displaystyle P}a otra cadena que también sea aceptable para la función de reproducción.Rmipag(W,PAG){\displaystyle Rep(W,P)}causaRmipag(W,PAG){\displaystyle Rep(W,P)}para generar una cadena secreta incorrectaR~{\displaystyle {\tilde {R}}}Los 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.H1{\displaystyle H_{1}}yH2{\displaystyle H_{2}}. ElGRAMOminorte(W){\displaystyle Gen(W)}La función produce la cadena auxiliar.PAG{\displaystyle P}adjuntando la salida de un boceto seguro.s=SS(w){\displaystyle s=SS(w)}al hash de ambas lecturasw{\displaystyle w}y boceto seguros{\displaystyle s}Genera la cadena secretaR{\displaystyle R}aplicando la segunda función hash aw{\displaystyle w}ys{\displaystyle s}Formalmente:

GRAMOminorte(w):s=SS(w),rmitrnorte:PAG=(s,H1(w,s)),R=H2(w,s){\displaystyle Gen(w):s=SS(w),return:P=(s,H_{1}(w,s)),R=H_{2}(w,s)}

La función de reproducciónRmipag(W,PAG){\displaystyle Rep(W,P)}También hace uso de las funciones hash.H1{\displaystyle H_{1}}yH2{\displaystyle H_{2}}Además de verificar que la entrada biométrica sea lo suficientemente similar a la recuperada mediante elRmido(W,S){\displaystyle Rec(W,S)}función, también verifica que el hash en la segunda parte dePAG{\displaystyle P}en realidad se derivó dew{\displaystyle w}ys{\displaystyle s}. Si se cumplen ambas condiciones, devuelveR{\displaystyle R}, que a su vez es la segunda función hash aplicada aw{\displaystyle w}ys{\displaystyle s}Formalmente:

Rmipag(w,PAG~):{\displaystyle Rep(w',{\tilde {P}}):}Conseguirs~{\displaystyle {\tilde {s}}}yh~{\displaystyle {\tilde {h}}}dePAG~;w~=Rmido(w,s~).{\displaystyle {\tilde {P}};{\tilde {w}}=Rec(w',{\tilde {s}}).} SiΔ(w~,w)t{\displaystyle \Delta ({\tilde {w}},w')\leq t}yh~=H1(w~,s~){\displaystyle {\tilde {h}}=H_{1}({\tilde {w}},{\tilde {s}})}entoncesrmitrnorte:H2(w~,s~){\displaystyle return:H_{2}({\tilde {w}},{\tilde {s}})}demásrmitrnorte:Fail{\displaystyle return:fail}

SiPAG{\displaystyle P}Ha sido manipulado, será obvio, porqueRmipag{\displaystyle Rep}fallará en la salida con una probabilidad muy alta. Para hacer que el algoritmo acepte una diferentePAG{\displaystyle P}, un adversario tendría que encontrar unw~{\displaystyle {\tilde {w}}}de tal manera queH1(w,s)=H1(w~,s~){\displaystyle H_{1}(w,s)=H_{1}({\tilde {w}},{\tilde {s}})}Dado que se cree que las funciones hash son funciones unidireccionales , es computacionalmente inviable encontrar talw~{\displaystyle {\tilde {w}}}. VidentePAG{\displaystyle P}no 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 averiguarw{\displaystyle w}. Parte dePAG{\displaystyle P}es el boceto seguro, pero por definición el boceto revela información insignificante sobre su entrada. De manera similar, al verR{\displaystyle R}(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

  1. "Extractores difusos: un breve estudio de los resultados de 2004 a 2006" . www.cs.bu.edu . Consultado el 11 de septiembre de 2021 .
  2. 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.
  3. 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

  • "Minisketch: Una biblioteca C++ optimizada para la reconciliación de conjuntos basada en BCH (Pin Sketch)" . github.com . 31 de mayo de 2021.