¿Cómo encontrará Apple (en privado) fuera de línea su dispositivo perdido?

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.

Source: https://habr.com/ru/post/455054/


All Articles