El lunes en la WWDC de Apple, Apple
introdujo una nueva característica genial llamada "Find My" . A diferencia del estándar
"Find My iPhone", que se basa en la infraestructura celular y GPS de un dispositivo perdido, la función Find Me puede incluso encontrar dispositivos
sin una SIM. -tarjetas y GPS: por ejemplo, computadoras portátiles o incluso
etiquetas de ubicación "tontas" adjuntas a cualquier elemento (Apple lo insinuó solo en un sentido amplio).
La idea es convertir toda la red existente de iPhones en un sistema de crowdsourcing a gran escala para rastrear objetos circundantes. Cada iPhone activo monitoreará constantemente los mensajes de baliza BLE provenientes de otros dispositivos. Cuando encuentra una de estas señales, marca el paquete con sus coordenadas GPS y lo envía a los servidores de Apple. Esto es genial para los desconcertados como yo, que constantemente pierden cosas: si dejo mi mochila
en un autobús turístico en China en la oficina, tarde o temprano alguien tropezará con su señal, y al instante descubriré dónde encontrarlo.
(Vale la pena señalar que no fue Apple a quien se le ocurrió la idea. De hecho, empresas como
Tile han existido durante bastante tiempo. Y sí, deberían preocuparse por su negocio).
Si no está impresionado con la descripción anterior, permítame hacerle una pregunta que debe hacer:
¿cómo protegerá este sistema contra violaciones masivas de privacidad?Enumeramos posibles problemas:
- Si el dispositivo emite constantemente una señal BLE que lo identifica de manera única, todos tienen (otra) forma de rastrearlo. Los especialistas en marketing ya usan direcciones MAC de WiFi y Bluetooth para esto, y la función Buscar mi crea otro canal de seguimiento.
- Ella también desclasifica a los involucrados en el proceso. Ahora estas personas enviarán su ubicación actual a Apple (tal vez ya lo hagan). Pero ahora tendrán que compartir esta información también con extraños que "pierdan" sus dispositivos. Puede terminar mal.
- Los estafadores también pueden lanzar ataques activos en los que falsifican la ubicación de su dispositivo. Aunque esto parece poco probable, la gente siempre se sorprende.
La buena noticia es que Apple afirma que el sistema proporciona una gran privacidad mediante el uso adecuado de la criptografía. Pero, como de costumbre, se negaron a
proporcionar detalles de implementación . Andy Greenberg de Wired describió una
implementación técnica parcial de Apple, que permite que se entienda mucho. Desafortunadamente, esta historia todavía deja enormes brechas. Soy yo a quien voy a completar, ofreciendo la descripción más probable de lo que Apple está haciendo realmente.
Una gran advertencia: muchas cosas pueden estar completamente equivocadas. Definitivamente actualizaré el artículo cuando Apple diga más.
Algunos problemas importantes
Para delinear el escenario, debe introducir varios dispositivos en la imagen. Para inspirarte, toma la serie de televisión de 1950 Lassie.
El primer dispositivo que llamaremos
Timmy está "perdido".
Timmy tiene un transmisor de radio BLE, pero no tiene GPS ni conexión a Internet. Afortunadamente, ya estaba emparejado con un segundo dispositivo llamado
Ruth , que quería encontrarlo. Nuestro personaje principal es
Lassie : este es un iPhone de un extraño al azar (y sin darse cuenta) que (supongo) tiene al menos una conexión periódica a Internet y un GPS confiable. Y Lassie es una muy buena chica. Los dispositivos de red se comunican a través de los servidores iCloud de Apple, como se muestra a continuación:

(Dado que
Timmy y
Ruth necesitan ser emparejados por adelantado, probablemente ambos pertenecen a la misma persona. Mencioné que necesitarías comprar
dos dispositivos Apple para que el sistema funcione? Eso está bien con Apple).
Estamos considerando un sistema de seguridad, por lo que la primera pregunta es: ¿
quién es el malo ? En esta situación, la respuesta es desagradable:
cualquiera podría ser un atacante potencial . Por eso el problema es tan interesante.
Timmy Anonimato
El aspecto más importante del sistema es que no debe permitir que personas ajenas sigan a
Timmy , especialmente cuando no está perdido. Esto elimina algunas decisiones bastante obvias, por ejemplo, cuando
el dispositivo
de Timmy simplemente grita:
"Hola, mi nombre es Timmy, por favor llama a mi madre Ruth y avísame que estoy perdido" . También elimina prácticamente cualquier identificador estático inmutable, incluso opaco y aleatorio.
El último requisito se compone de la triste experiencia de los servicios que abusan de los identificadores estáticos (por ejemplo,
su dirección MAC WiFi ) para rastrear el movimiento de los dispositivos. Apple ha estado luchando
con un éxito mixto al aleatorizar identificadores como las direcciones MAC. Si Apple agrega un identificador de seguimiento estático para "Find My", todos los problemas solo empeorarán.
Este requisito significa que cualquier mensaje enviado por
Timmy debe ser opaco. Además, el contenido de estos mensajes debería cambiar con relativa frecuencia a nuevos valores que no pueden asociarse con los antiguos. Una forma obvia para que un dispositivo emparejado reconozca tales mensajes es hacer que
Timmy y
Ruth acuerden una larga lista de "
alias " aleatorios para
Timmy , y dejar que
Timmy elija uno diferente cada vez.
Realmente ayuda. Cada vez que
Lassie ve algún dispositivo (desconocido) que transmite el identificador, no sabrá si pertenece a
Timmy : pero puede enviarlo a los servidores de Apple junto con su propia ubicación GPS. En caso de que
Timmy se pierda,
Ruth puede pedirle a Apple que encuentre todos los posibles alias de
Timmy . En esta situación, nadie fuera de Apple reconocerá esta lista, e incluso la propia Apple la reconocerá solo después de que alguien se pierda, por lo que este enfoque evita la mayoría de las opciones de seguimiento.
Una forma un poco más eficiente de implementar esta idea es utilizar una función criptográfica (por ejemplo, una función MAC o hash) para generar una lista de alias de un "sid" corto, cuyas copias están almacenadas por
Timmy y
Ruth . Esto es bueno porque reduce la cantidad de datos almacenados. Pero para encontrar a
Timmy ,
Ruth todavía necesita enviar todos los apodos, o semillas, a Apple, que tendrá que buscar cada apodo en su base de datos.
Ocultando la ubicación de Lassie
El enfoque descrito con seudónimos debería ocultar
la identidad de
Timmy de
Lassie e incluso de Apple (hasta el momento en que
Ruth comienza a buscarlo). Sin embargo, hay un gran inconveniente:
no oculta las coordenadas GPS de Lassie .
Esto es malo por al menos algunas razones. Cada vez que
Lassie descubre un dispositivo con una señal BLE, debe enviar su ubicación actual a los servidores de Apple (junto con el alias que ve). Esto significa que
Lassie constantemente le dice a Apple dónde está. Y lo que es más, incluso si Apple promete no almacenar
la identidad
de Lassie , el resultado de todos estos mensajes es una enorme base de datos centralizada que muestra todas las ubicaciones de GPS donde se encuentra
cualquier dispositivo de Apple.
Tenga en cuenta que la matriz de tales datos solo produce mucha información. Sí, los identificadores de dispositivo pueden ser alias, pero esto no hace que la información sea inútil. Por ejemplo, si
algún dispositivo Apple transmite las mismas coordenadas por las tardes, entonces esto proporciona la dirección probable de la persona.
Una forma obvia de evitar que Apple divulgue estos datos es encriptarlos para que solo aquellos que realmente
necesiten conocer la ubicación del dispositivo vean la información. Si
Lassie recibe un mensaje de
Timmy , entonces la única persona que realmente necesita saber
la ubicación
de Lassie es
Ruth . Para mantener esta información en secreto,
Lassie debe cifrar sus coordenadas con
la clave pública
de Ruth .
Por supuesto, surge la pregunta: ¿cómo obtendrá
Lassie la llave
de Ruth ? La solución obvia para
Timmy es gritar
la clave pública
de Ruth en cada una de sus transmisiones. Pero esto creará un identificador estático que nuevamente le permite rastrear a
Timmy .
Para resolver este problema,
Ruth necesita tener
muchas claves públicas sin ataduras , para que
Timmy pueda emitir diferentes claves con cada transmisión. Una opción es hacer que
Ruth y
Timmy generen muchos pares de claves comunes diferentes (o generar muchos de estos pares a partir de un sid común). Pero esto es molesto, y
Ruth tendrá que guardar muchas claves secretas. Y los identificadores mencionados en la sección anterior se pueden obtener mediante el hash de cada clave pública.
Un enfoque ligeramente mejor (que Apple puede usar o no) implica la
aleatorización clave. Esta es una característica de algunos
sistemas criptográficos, como
Elgamal :
permite que cualquiera de las partes aleatorice la clave pública para que no se asocie con la original. La mejor parte de esta característica es que
Root puede usar
una clave secreta sin importar qué versión aleatoria de su clave pública se usó para el cifrado .

Todo esto lleva a la idea final del protocolo. En cada transmisión,
Timmy transmite un nuevo alias y una copia aleatoria de la clave pública de
Ruth . Cuando
Lassie recibe la transmisión, encripta sus coordenadas GPS con la clave pública y envía un mensaje encriptado a Apple.
Ruth puede enviar alias de
Timmy a los servidores de Apple, y si Apple encuentra una coincidencia, puede recibir y descifrar las coordenadas GPS.
¿Resuelve todos los problemas?
Lo desagradable es que no hay una solución ideal para muchas situaciones fronterizas extrañas. Por ejemplo, ¿qué
pasa si
Timmy tiene malas intenciones y quiere que
Lassie revele su ubicación de Apple? ¿Qué pasa si Old Smithers intenta secuestrar a
Lassie ?
En algún momento, la respuesta a esta pregunta se reduce al hecho de que hicimos todo lo posible: cualquier problema restante debería ir más allá del modelo de amenaza. A veces, incluso Lassie sabe cuándo parar.