Home » Opinión » No es un fallo, es mal uso. Así funciona Face ID.
Face ID

No es un fallo, es mal uso. Así funciona Face ID.

En los últimos días han saltado a la luz de la prensa, una serie de vídeos que demuestran cómo personas que no son gemelos pero sí personas físicamente “parecidas”, podían desbloquear un iPhone X con su rostro. Uno u otro de manera indistinta. Esto, como es lógico, ha saltado a los titulares de no pocos medios. Algunos cuyo mayor objetivo es generar visitas y clicks más que buscar una información veraz. Otros, que han publicado sin contrastar la información. Otros, que han de dar de comer a los trolls (que también tienen que comer). Lo habitual hoy día por desgracia.

Una madre y su hijo, dos hermanos de rasgos similares e incluso una pareja de marido y mujer que no tienen parentesco consanguíneo. En todos esos casos se nos muestran vídeos cortos donde se demuestra, efectivamente, que uno desbloquea el iPhone X con Face ID y el otro también. Es un hecho. Ahora, lo que nadie muestra es cómo se ha llegado a esa situación y ahí radica el engaño que tienen estos vídeos que solo persiguen ingresos y notoriedad.

Vamos a leer la información oficial de Apple que podéis consultar vosotros mismos pulsando aquí. En el apartado “Tecnologías Avanzadas” la página oficial dice lo siguiente:

“Face ID se adapta automáticamente a los cambios de aspecto, como el maquillaje o el crecimiento del vello facial. Si se produce un cambio más significativo, como afeitarse una barba completa, Face ID confirma la identidad mediante el código del usuario antes de actualizar los datos del rostro.”

Ahí está la clave: el iPhone X pide el passcode (la clave de desbloqueo) cuando no reconoce a la persona y al hacerlo, actualiza los datos del rostro ajustando los datos que tenía previamente. Porque entiende que aquel que pone el passcode es el legítimo dueño del dispositivo y de quien está registrada la información de Face ID. Ese es el truco usado en estos vídeos donde nunca se muestra cómo se configura el iPhone X. Se nos quiere hacer creer (ahí el engaño) que en una configuración normal, el teléfono confunde a dos personas. Es imposible, a no ser que sean gemelos idénticos como ya se ha demostrado en más de una prueba. Eso sí podría ser considerado un fallo de Face ID, o más bien una imposibilidad del sistema que no sabemos si podrá ser solucionada en un futuro.

Face ID

Así funciona Face ID

Sigamos leyendo en la página de Apple para saber cómo funciona Face ID y por qué tiene este comportamiento:

“La cámara TrueDepth captura con precisión los datos faciales mediante la proyección y el análisis de más de 30.000 puntos invisibles que crean un mapa de profundidad del rostro, del que se obtiene también una imagen infrarroja. Una parte del motor neural del chip A11 Bionic, protegido en Secure Enclave, transforma el mapa de profundidad y la imagen infrarroja en una representación matemática y la compara con los datos faciales correspondientes.”

Lo dice bien claro: tenemos que olvidarnos que Face ID reconoce nuestra cara. No es así. Face ID no reconoce caras como el que guarda una fotografía, al igual que Touch ID no reconoce huellas con una imagen de la misma. Reconoce volúmenes detectados con 30.000 puntos infrarrojos. Proyecta los puntos y luego una cámara infrarroja los lee, obteniendo la distancia a la que está cada punto del sensor del dispositivo. Eso, se convierte en un modelo matemático. Pero como es lógico, dicha lectura jamás es exactamente igual. Por eso dice que “compara con los datos faciales”.

¿Cómo compara? Usando un margen de tolerancia frente al error, conociendo en cada parte del modelo qué desviación en mayor o menor número por cada lectura es “aceptable” para dar por válido el reconocimiento. Porque incluso a la hora de desbloquear nunca colocamos el dispositivo exactamente a la misma distancia, así que siempre usa valores relativos. Valores que representan la diferencia que hay entre un punto y otro a partir de uno de referencia.

Imaginen que en un punto concreto tengo que obtener un valor de 10.4 que es el que tengo almacenado. En la primera configuración establezco entonces que mi margen de error va a ser de 0.1 por arriba o por abajo de ese valor. Y cada vez que leo obtengo una lectura que es 10.38, 10.39, 10.42, 10.41… podríamos decir que tengo una desviación dentro del margen válido. Por lo tanto, cualquier lectura que esté en esos rangos será tomada por válida. Ahora, cuando la lectura es 10.61, entonces no es un valor válido porque se sale del margen. Multipliquen eso por 30.000 y entenderán el proceso de comprobación que tiene que hacer Face ID con su motor neuronal.

Ese modelo, con el uso, es cada vez más preciso. El margen de tolerancia para nuestro punto, al comienzo del uso tiene un valor por defecto que nosotros hemos imaginado que es 0.1. Pero cuanto más usamos el iPhone X, este margen es cada vez más preciso y más pequeño. Hemos visto que nuestras lecturas siempre están 0.02 por encima o por debajo de 10.4. Así que el sistema irá reduciendo el margen de 0.1 progresivamente hasta que sea 0.04 (por ejemplo) haciendo con ello que sea más preciso, aprenda mejor y acepte menor tolerancia. Cuanto más se usa mejor es el reconocimiento, más preciso y menor tolerancia en las desviaciones acepta.

De igual forma, el aprendizaje a nuestros cambios también se basa en cambios. Si nos va creciendo la barba día a día y la lectura de nuestro punto 10.4 tiende a repetirse como 10.41 muchas veces, el algoritmo ajusta este valor él solo y ahora nuestro punto buscará una lectura de 10.41 en vez de 10.4. Es un ajuste hecho sobre los márgenes de tolerancia al error. Pero si de pronto nos afeitamos y la lectura se sale de rango (ahora lee 10.25), nos pedirá la clave del dispositivo para saber que somos nosotros y hará un ajuste del valor a 10.3 en vez de 10.4, aumentando la tolerancia al margen de error para re-ajustar el proceso de aprendizaje. Perderemos precisión, pero el sistema se volverá a ajustar él solo con el uso.

El engaño

Pero, como hemos dicho, en una configuración inicial el modelo tiene el margen de error más alto posible, porque necesita ser entrenado con el uso. En dicho caso (una lectura inicial) y partiendo de los márgenes más altos posibles, se puede forzar a Face ID a dar por válidas lecturas de personas que se parecen. ¿Por qué? Porque metemos la clave y con ello es como si hiciéramos una nueva configuración. Alteramos artificialmente los valores de comparación. Es como si hubiéramos hecho una tercera lectura dando vueltas a la cara, re-ajustando el modelo. Como si una persona hubiera hecho la primera vuelta de la cara y otra persona diferente la segunda.

Engañando a Face ID

Conclusión: si sumamos que el margen de tolerancia del error en la lectura es el más alto cuando se configura por primera vez (a la espera que el uso entrene al sistema y reduzca los márgenes) y que luego estamos forzando una re-configuración cada vez que metemos la clave de desbloqueo del dispositivo con otra persona que se hace pasar por aquella que se registró la primera vez, podemos provocar este comportamiento. Un comportamiento que jamás sucederá en un uso normal. Un comportamiento que solo sucede cuando damos nuestro código de desbloqueo a otra persona y alteramos artificialmente los registros que reconocen nuestro rostro. Y darle nuestro código de desbloqueo es el mayor fallo de seguridad que nosotros podemos tener.

Así que no, no es un fallo. Un fallo sería si un Face ID bien configurado pudiera ser desbloqueado por diferentes personas. Como con los gemelos idénticos. Es un fallo (o también podemos entenderlo como imposibilidad técnica). Pero no es un fallo cuando Face ID es capaz de ser desbloqueado por dos personas diferentes cuando se ha forzado el re-aprendizaje y la lectura. Porque lo que tiene almacenado como rostro Face ID en ese momento no es ni la cara de la madre ni la del hijo (ojo, que con niños Face ID es menos preciso). Lo que tiene almacenado es una cara que es una mezcla entre una y otra. Por eso, si son parecidas, funciona con ambas personas. Porque los márgenes de tolerancia tan altos lo aceptan. En el momento en que uno de los dos siga usando el dispositivo (e incluso los dos) a los pocos días el sistema descartará a uno de ellos y dejará de funcionar este sistema “dual”.

¿Hará algo Apple al respecto? Es probable que en próximas actualizaciones ajuste los márgenes de tolerancia iniciales a valores más pequeños. De esta forma, dejaría de suceder este caso provocado por un mal uso del dispositivo. Esta es la explicación real: ¿siguen pensando que es un fallo? Somos personas libres, pero un mal uso es una cosa y un fallo es cuando usándolo correctamente se comporta como no debería. Un saludo y Good Apple Coding.

Acerca de Julio César Fernández

Analista, consultor y periodista tecnológico, desarrollador, empresario, productor audiovisual, actor de doblaje e ingeniero de vídeo y audio.

Otras recomendaciones

I Congreso Industria Conectada 4.0

No hay falta de talento digital, hay falta de inversión en formación de calidad

En este artículo de opinión, Julio César Fernández, busca y analiza los motivos por los que (según los altos responsables de algunas de las empresas tecnológicas más importantes de España) en España hay carencia de talento digital. Expone por qué esa falta deriva de una carencia en la inversión en formación de calidad que permita a los equipos ser competitivos y estar preparados para la velocidad a la que se mueve la tecnología.