touch-id

Cuando Apple presentó su nuevo sistema de desbloqueo Touch ID, no tardaron en asegurar que esta información no se almacena en los servidores de la compañía. A pesar de la aclaración, y con todo el tema de PRISM y las filtraciones de la NSA muy reciente, desde la empresa de Cupertino han tenido que volver a salir ante las cámaras a explicar cómo funciona exactamente el sistema y dónde se guardan los datos de nuestra huella dactilar.

Tras insistir a The Wall Street Journal en que las huellas en ningún momento viajan por Internet hacia ningún servidor, en declaraciones a este mismo periódico Apple asegura que toda esta información se almacena en el propio teléfono. Además, afirman que no se guarda una imagen de la huella en sí, sino una copia cifrada a modo de “firma digital”, de tal forma que si alguien accede al terminal y quiere descifrarla, no pueda obtener el original. Ésa, al menos, es la teoría.

De hecho, Apple ha sido bastante cuidadosa en la implementación de este sistema. Como se anunció en la presentación, por ahora con Touch ID sólo se puede desbloquear el teléfono o identificarse en algunas aplicaciones nativas. Las aplicaciones de terceros no tienen acceso a esta tecnología y no está muy claro si está entre los objetivos de Apple el que vayan a tenerla en un futuro cercano.

¿Y qué ocurre si te roban el teléfono? Para evitar dar tiempo a los delincuentes para saltarse el sistema, Apple también ha introducido alguna restricción adicional. Por ejemplo, si se reinicia el terminal o si lleva sin desbloquearse más de 48 horas, será necesario introducir la contraseña de refuerzo que el propio terminal pide a los usuarios al configurar Touch ID.

> El sensor de huellas: una pantalla táctil mucho más densa

A grandes rasgos, el sensor de huellas del iPhone es sólo un pedazo de pantalla táctil en el que se han agrupado sensores táctiles con muchísima mayor densidad de lo normal (500 por pulgada). Tened en cuenta que tenemos que distinguir entre los diferentes rasgos y líneas del dedo.

touchid2

Como algunos sabréis, el sensor táctil funciona midiendo cambios en la carga eléctrica. En el caso del sensor de huellas hay otras particularidades que permiten meter muchos más sensores en poco espacio, pero vayamos primero a lo básico.

Un sensor consiste de dos placas conductoras, separadas por un aislante. Una de ellas, la de arriba, es un electrodo y la otra, un sensor. Cuando queremos medir la huella, el electrodo se carga a un cierto voltaje, y eso crea un campo eléctrico. En el sensor, ese campo induce una carga eléctrica que luego se amplifica y pasa a la circuitería para ser medido.

El truco de la medición está en que, cuando acercamos nuestro dedo, el campo eléctrico cambia. Nuestro dedo es mejor conductor que el aire y la fuerza del campo eléctrico aumenta en proporción a la distancia con respecto al sensor.

Pero, si es tan fácil como meter más sensores táctiles, ¿cómo es que esto no se ha hecho antes? Lo cierto es que es más difícil que simplemente hacerlos más pequeños. Al juntar más los sensores, se produce un fenómeno de capacitancia parásita. Antes veíamos que es el electrodo el que genera el campo eléctrico que medimos. Sin embargo, todos los componentes del circuito por los que circula electricidad también generan un campo eléctrico. Cuando ese campo es muy fuerte o está muy cerca de nuestro sensor, éste lo medirá y parecerá que tiene un dedo encima cuando en realidad no hay nada. Todo esto dejaría nuestro sensor inútil.

El iPhone utiliza varias técnicas para reducir esa capacitancia parásita al mínimo. Lo primero, cambiar el diseño de los sensores con respecto a los táctiles.

EstructuraSensor

El sensor táctil del iPhone está organizado en una cuadrícula continua: en líneas horizontales se distribuyen los electrodos; y en las verticales los sensores. El sensor de huellas es distinto: el electrodo y el sensor son dos “cintas” colocadas una encima de la otra (electrodo arriba), y el electrodo es ligeramente más corto que el sensor. Cada par es un “píxel”, y se colocan en filas y columnas, cada uno aislado del otro. Esto permite realizar una medición en dos fases: cada vez medimos el campo de sólo una parte de los sensores.

En cada fase, una parte de los sensores están activos (midiendo) y la otra inactivos. Los electrodos de los sensores activos se ponen en modo escudo para aislarlos y reducir la capacitancia parásita. Los electrodos encima de los sensores inactivos son los que se cargan a un cierto voltaje para generar el campo eléctrico.

De esta forma, ponemos una separación más grande entre los sensores activos, podremos meter más en menos espacio y así sabremos las pequeñas diferencias entre los distintos relieves del dedo.

Entre todos los sensores, tendremos una matriz (cuadrícula, por así decirlo) con los valores de distancia que dibujarán una imagen muy precisa del relieve de nuestro dedo. Ahora sólo falta el siguiente paso: analizar la huella y almacenarla.

> La parte software: reconociendo una huella

TiposHuellasUna vez que tenemos la “imagen” de la huella, el software tiene que analizarla para extraer sus características. Aunque para nosotros es muy fácil reconocer una huella, para el ordenador no lo es tanto: la imagen es sólo un conjunto de números del que hay que extraer algún significado.

El problema es que aquí ya no tenemos mucha información sobre cómo puede estar implementándolo Apple. Sabemos que es independiente de la orientación, pero hay tantos algoritmos que es imposible saber cuál de todos ellos están usando. Por eso esta parte será un poco más de especulación, basándome en esta patente de AuthenTec (compañía comprada por Apple) y funcionamiento general del reconocimiento de huellas dactilares, y sin entrar en temas de reconocimiento de imagen que son demasiado complejos.

Las huellas dactilares son prácticamente únicas en cada persona, y tienen varias características que las definen. La primera, distinguible a simple vista, es el patrón en el que se agrupan las líneas: arco, bucle o espiral.

FingerprintMinutia

La segunda ya es más difícil de distinguir: son las minutiae, pequeños detalles en las líneas del dedo. Por ejemplo, el final de una línea, una bifurcación o un punto (una línea más corta de lo normal).

Cuando tenemos la imagen, lo primero que hay que buscar es el punto de referencia, el “centro” de la huella dactilar. Desde ahí, mediremos dónde está cada una de las minutiae. Al final, tendremos una serie de coordenadas, cada una asociada a un tipo de detalle en las líneas del dedo.

A la hora de verificar una huella, volvemos a extraer las coordenadas de las minutiae con respecto al centro de la huella y vemos si coinciden con las que teníamos guardadas. Si lo hacen, la huella es la misma.

Ahora bien, hay un problema: ¿qué pasa si la orientación del dedo no es la misma? Como veis en la imagen, a pesar de que sea la misma huella, las coordenadas de los minutiae van a ser distintas y el sistema considerará que son huellas diferentes.

Para corregir la orientación, hay que ver en qué sentido están orientadas las líneas. Hay varias formas de medir esa orientación: veamos una simplificada.

MedicionAnguloHuellasLo que hacemos es tirar líneas desde el centro de la huella: una horizontal, otra a 45º, otra vertical… y vamos mirando el ángulo que forman las líneas del dedo con esas rectas. Al final, tenemos una serie de ángulos que nunca cambian y siempre están en el mismo orden (en realidad habría que interpolar esos datos y obtener un modelo más o menos aproximado a la realidad, pero no me meteré con ello)

La próxima vez que obtengamos la huella, mediremos de nuevo los ángulos, que deberían de ser los mismos si la huella es la misma. Quizás estén rotados (el que antes estaba en la recta horizontal está ahora en la vertical, por ejemplo) pero seguirán el mismo orden. Es decir, habremos detectado la orientación del dedo y podremos corregirla, resolviendo el problema que teníamos antes.

> Seguridad del lector: ¿Y si me cortan un dedo?

touchid3

Las preguntas que vienen ahora son inevitables: ¿qué nos aporta, como usuarios, el tener un lector de este tipo? ¿Cómo podemos usarlo?

Al ser un lector capacitivo, tiene una gran ventaja frente a lectores de huellas ópticos: no le importa la suciedad que tenga tu dedo, ni manchas, ni nada. Sólo el dedo en sí, la piel, es lo que activa más o menos los sensores, así que lo que tenga por encima da igual (hasta cierto límite, claro).

Por otra parte, también es más seguro. Como sólo funciona con el dedo, no es posible engañarle con una fotografía. Sólo se podría hacer con materiales de conductividad similar al de un dedo humano, y por supuesto con la misma huella. Tampoco es un escenario muy preocupante: si se da el caso de que un atacante tenga las capacidades para leer tu huella dactilar, reproducirla en un material especial y desbloquear tu iPhone con ella, de lo que menos tendrías que preocuparte es de que te desbloquee el iPhone.

Y por último, la pregunta que todos os estáis haciendo: ¿qué pasa si te cortan el dedo? No me atrevería a asegurarlo al 100%, pero es muy probable que la huella siga funcionando. Claro está, siempre que el dedo no esté muy degradado.

> ¿Dónde se guarda mi huella?

Apple se ha cuidado mucho de asegurar que los datos de tu huella no dejan nunca el iPhone: se guardan en el Secure Enclave del chip A7. Aun así, pueden surgir varias dudas sobre la seguridad de este método, más allá de que no tenemos información de qué es Secure Enclave ni de cómo asegura los datos.

Los de Cupertino prometen que sólo el chip Touch ID puede acceder al espacio donde se almacena la huella dactilar. Entonces, lo más probable es que el chip sólo responda a una petición del sistema de escanear la huella con “huella válida” o “huella inválida”. Ni siquiera el propio sistema iOS podría acceder a esos datos seguros, lo que evitaría que cualquier atacante pudiese aprovechar un resquicio de seguridad para copiar tu huella dactilar.

Tal y como se ha enfocado el sistema, parece seguro y útil. Habrá, por supuesto, que esperar a probarlo para ver si funciona sin fallos y no causa problemas. Si finalmente lo han hecho bien, en Apple habrán hecho mucho por la seguridad de sus usuarios.

Fuente | Xataka