Machine Learning, Biometric Recognition, Artificial Intelligence, Multi Layer Security in the beach… Estamos en una época apasionante para cualquier aficionado a la Ciencia Ficción. Pero aunque el reconocimiento biométrico tenga detrás suyo unas tecnologías con unos nombres tan rimbombantes como los mencionados, la realidad es que todavía estamos en Bragas.
Seguro que todos hemos empezado a tener nuestros primeros contactos con estos sistemas. Es común que los móviles y algunos portátiles pueda desbloquearse con nuestra huella. Algunos teléfonos son capaces de reconocer tu cara para desbloquearse. Son sistemas muy cómodos, pero aún están muy lejos de ser infalibles, uno de los últimos en caer ha sido el de reconocimiento facial. Unos profesores de la Carnegie Mellon University han presentado un paper en el que muestran cómo han conseguido falsos positivos entre gente muy diferente, suplantando, en algunos casos, personajes realmente conocidos.
El paper consta de 13 hojas, corto pero denso, os lo dejo enlazado aqui por si queréis darle un vistazo. Ahora intento explicar en tres o cuatro parágrafos como ha sucedido esto, y para ello lo mejor es entender cómo funciona (pero sin ecuaciones ni números complicados).
¿Como funciona lo del reconocimiento facial biométrico?
ALGORITMOS! Valeeee, esto ya lo sabíais todos. Intento explicarlo: El algoritmo asigna un peso a las zonas o rasgos del rostro que él considera son relevantes para la diferenciación entre sujetos. Es decir primero divide nuestro rostro en diferentes partes. Cada una de estas partes, o rastros, tienen un peso asignado. A base ir introduciendo miles o millones de rostros en su BD el peso de cada una de estas partes va variando. Es decir el sistema se va entrenando.
El algoritmo selecciona qué parte de los rostros son las que con pequeñas diferencias aportan una posibilidad mas grande de identificar a su dueño, y al mismo tiempo identifica qué partes son irrelevantes debido a su alta variabilidad en una misma persona.
Cuando hablamos de Partes no nos referimos solo a zonas delimitadas, como puede ser la punta de la nariz, el algoritmo puede tomar como una parte la distancia entre graminales o la relación entre dos distancias. Es decir, coge la distancia entre los lagrimales y la distancia entre la barbilla y la nariz y hace una parte de esto. Ya que sabe que hay una relación entre las dos distancias y esta relación le puede servir más para diferenciar a los sujetos que las distancias en sí mismo.
Resumiendo mucho, es posible que nosotros no reconozcamos a Sinead O’connor (Si no sabes quien es googlealo) con un pelucon rubio rizado, pero el sistema la va a reconocer. Simplemente porque el peso de las zonas reconocidas es mucho más grande que el de las no reconocidas.
¿Como se le puede engañar al algoritmo este de reconocimiento Facial?
Tenemos que definir qué nivel de engaño queremos y qué nivel de brutalidad queremos usar. Podemos tener tres niveles de engaño:
- Que no te reconozca, pero sepa que lo estás evitando.
- Volverte invisible, es decir no te reconoce pero no sospecha nada.
- Hacerse pasar por otro. El algoritmo está convencido, sin lugar a dudas, de que eres otra persona.
Como niveles de de Brutalidad tenemos dos:
- A lo bruto: Engañamos al algoritmo, pero si hay un guardia al lado de la puerta te va a preguntar que: “donde vas cariño”.
- Con finura: Es decir, engañamos al algoritmo al mismo tiempo que no levantamos sospechas en el resto de humanos.
El estudio de los profesores de la CMU (Carnegie Mellon University) publicado ha tenido en cuenta estos escenarios y han demostrado cómo con unas ligeras modificaciones podemos volvernos invisibles para el sistema de reconocimiento, es decir que no sepa quienes somos aunque nos tenga fichados (falsos negativos) o hacernos pasar por otras personas a las que conoce (falsos positivos).
Conociendo como funcionan los algoritmos es mucho mas sencillo diseñar una forma elegante de engañar al sistema de reconocimiento biométrico. Lo que se hace es modificar aquellas zonas, o rasgos, que tienen un gran peso en el algoritmo y que al mismo tiempo no son importantes para el reconocimiento entre humanos.
Esto es lo que han conseguido, mas o menos, la gente de la MCU. Han dejado de lado las máscaras 3d, impresiones, y técnicas que se han usado antes, mas basadas en el reconocimiento humano que el reconocimiento por Algoritmo. Se han centrado en emular los rasgo que un algoritmo entiende.
Vamos a ver un ejemplo de los experimentos realizados:
En la columna (a) encontramos dos ejemplos de invisibilidad, es decir que el sistema es incapaz de reconocer a los sujetos, aunque los tienen identificados en su BD. Las restantes tres columnas son los experimentos de impersonalización. Es decir el sujeto de la fila superior se hace pasar por el de la fila inferior y el sistema lo reconoce. Mira bien la columna (b) el sistema mega inteligente basado en Machine Learning confunde a ese hombre con Mila Jovovich… Con Mila!!!!! Si! Por unas gafas!!!!
Bueno…No nos alertemos del todo todavía. El reconocimiento facial no es el método biométrico más seguro, aunque sí que se está planteando como medida de seguridad en eventos masivos, como estadios para reconocer los hinchas prohibidos o en aeropuertos.
Por ahora, por el poco uso que se le da, no tenemos que preocuparnos de que alguien robe nuestro rostro, no sirve para casi nada, a no ser que seas una de esas personas que sí que usa el reconocimiento facial para acceder a algún sitio hiper secreto, rollo base de MI6 o Data Center de Google. Lo que tenemos que tener en mente es que por ahora los sistemas de reconocimiento biométrico tendrían que usarse más como sistemas de soporte que como sistema único de identificación.
Por cierto, Clark Kent era un avanzado a su tiempo, el consiguió engañar a toda la humanidad con unas simples gafas y ocultar la identidad secreta de Superman durante décadas a casi todos… Lois Lane al final se enteró.