¿Cómo encontrará Apple (en privado) su dispositivo perdido en un entorno offline?

El lunes, en la conferencia WWDC, Apple presentó una nueva función increíble llamada “Find My”. A diferencia de la estándar “Find My iPhone”, que depende de la infraestructura de telefonía móvil y GPS del dispositivo perdido, la función “Find Me” puede localizar incluso dispositivos sin tarjeta SIM y GPS. Por ejemplo, laptops, o incluso etiquetas de localización, adjuntas a cualquier objeto (Apple solo hizo alusión a esto de forma general).

La idea es convertir toda la red existente de iPhones en un gran sistema de seguimiento colaborativo para objetos circundantes. Cada iPhone activo estará constantemente buscando señales de balizas BLE que provienen 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 despistados como yo, que constantemente pierden cosas: si dejo mi mochila en un autobús turístico en China, tarde o temprano alguien encontrará su señal y yo sabré de inmediato dónde encontrarla.

(Cabe destacar que la idea no fue inventada por Apple. De hecho, empresas como Tile ya llevan tiempo trabajando en esto. Y sí, deberían preocuparse por su negocio).

Si la descripción anterior no te impresionó, permíteme formular la pregunta que debes hacer: ¿cómo protegerá este sistema contra violaciones masivas de la privacidad?

Enumeremos los problemas potenciales:

  • Si un dispositivo emite constantemente una señal BLE que lo identifica de manera única, todos tendrán (otro) método para rastrearte. Los mercadólogos ya utilizan direcciones MAC de WiFi y Bluetooth para esto, y la función Find My crea otro canal de seguimiento.
  • También revela a aquellos que participan en el proceso. Ahora estas personas enviarán su ubicación actual a Apple (posiblemente ya lo hacían). Pero ahora tendrán que compartir esta información también con extraños que “pierden” sus dispositivos. Esto podría terminar mal.
  • Los estafadores también pueden llevar a cabo ataques activos, falsificando la ubicación de tu dispositivo. Aunque parece poco probable, la gente siempre sorprende.

La buena noticia es que Apple afirma que el sistema realmente garantiza una confidencialidad sólida gracias a la aplicación adecuada de la criptografía. Pero, como de costumbre, se negaron a compartir los detalles de la implementación. Andy Greenberg en Wired contó parcialmente la implementación técnica según Apple, lo que permite entender mucho. Desafortunadamente, esta narración todavía deja enormes lagunas. Esas son las que voy a llenar, proponiendo la descripción más probable de lo que Apple realmente hace.

Una gran salvedad: mucho podría estar completamente equivocado. Sin duda, actualizaré el artículo cuando Apple comparta más.

Algunos problemas clave

Para presentar el escenario, es necesario introducir varios dispositivos. Tomemos como inspiración la serie de televisión de los años 50 "Lassie".

El primer dispositivo lo llamaremos Timmy, "perdido". Timmy Timmy tiene un transmisor BLE, pero no GPS ni conexión a internet. Afortunadamente, ya se ha emparejado con un segundo dispositivo llamado Ruth, quien quiere encontrarlo. Nuestro protagonista es Lassie: un iPhone de un extraño (que no lo sabe) que (supongamos) tiene al menos conexión a internet periódica y un GPS confiable. Además, Lassie es una perra muy buena. Los dispositivos de red interactúan a través de los servidores de iCloud de Apple, como se muestra a continuación:

¿Cómo encontrará Apple (en privado) su dispositivo perdido en un entorno offline?

(Dado que Timmy y Ruth deben estar emparejados previamente, es probable que ambos pertenezcan a la misma persona. ¿Mencioné que necesitarás comprar dos dispositivos de Apple para que el sistema funcione? Eso le conviene a Apple).

Estamos considerando un sistema de seguridad, así que la primera pregunta es: ¿quién es el malo?? В этой ситуации ответ неприятный: un potencial atacante puede ser cualquiera. Por eso el problema es tan interesante.

Mantener el anonimato de Timmy

El aspecto más importante del sistema es no permitir que extraños rastreen Timmy, especialmente cuando no está perdido. Esto excluye algunas soluciones bastante obvias, como cuando el dispositivo Timmy simplemente grita: "Hola, me llamo Timmy, por favor llama a mi mamá Ruth y dile que estoy perdido". Esto también excluye prácticamente cualquier identificador estático inmutable, incluso aquellos opacos y que parecen aleatorios.

El último requisito se basa en una triste experiencia de servicios que abusaron de identificadores estáticos (por ejemplo, tu dirección MAC de WiFi) para rastrear el movimiento de dispositivos. Apple lucha con éxito variable contra este seguimiento mediante la aleatorización de identificadores, como las direcciones MAC. Si Apple añade un identificador de seguimiento estático para 'Buscar mi', todos los problemas solo empeorarán.

Este requisito significa que cualquier mensaje transmitido Timmy, debe ser opaco. Además, el contenido de estos mensajes debe cambiar relativamente a menudo a nuevos valores que no se puedan vincular a los antiguos. Una de las formas obvias de que un dispositivo emparejado reconozca tales mensajes es hacer que Timmy y Ruth acordar una larga lista de 'seudónimos' para Timmy, y que Timmy cada vez elija otro.

Esto realmente ayuda. Cada vez que Lassie ve algún dispositivo (desconocido) transmitiendo un 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 pedir a Apple que encuentre todos los posibles seudónimos. TimmyEn esta situación, nadie fuera de Apple conocerá esta lista, y ni siquiera Apple la sabrá hasta que alguien se pierda, por lo que este enfoque evita la mayoría de las opciones de seguimiento.

Una forma un poco más efectiva de implementar esta idea es usar una función criptográfica (como MAC o función hash) para generar una lista de seudónimos a partir de un 'seed' corto, una copia del cual se almacena Timmy y Ruth. Esto es bueno porque disminuye la cantidad de datos almacenados. Pero para encontrar Timmy, Ruth todavía debe enviar todos los seudónimos — o el seed — a la compañía Apple, que tendrá que buscar cada seudónimo en su base de datos.

Ocultando la ubicación de Lassie

El enfoque descrito con seudónimos debería ocultar bien la identidad Timmy desde Lassie incluso de Apple (hasta el momento en que Ruth comienza a buscarla). Sin embargo, hay una gran desventaja: no oculta las coordenadas GPS Lassie.

Esto es malo, al menos por varias razones. Cada vez que Lassie detecta cualquier dispositivo con señal BLE, debe enviar a los servidores de Apple su ubicación actual (junto con el seudónimo que ve). Esto significa que Lassie constantemente le dice a Apple dónde se encuentra. Y más aún, incluso si Apple promete no almacenar la identidad Lassie, el resultado de todos estos mensajes es una enorme base de datos centralizada que muestra todas las ubicaciones GPS donde se ha detectado cualquier dispositivo de Apple.

Tenga en cuenta que el conjunto de estos datos por sí solo proporciona mucha información. Sí, los identificadores de los dispositivos pueden ser seudónimos, pero eso no hace que la información sea inútil. Por ejemplo, si algún dispositivo de Apple transmite las mismas coordenadas por las tardes, eso revela una posible dirección residencial de la persona.

Una manera obvia de evitar la divulgación de estos datos por parte de Apple es cifrarlos, de modo que solo aquellos que realmente necesitan saber la ubicación del dispositivo lo sepan. Si Lassie recibe un mensaje de Timmy, entonces la única persona que realmente necesita saber la ubicación Lassie, que es Ruth. Para mantener esta información en secreto, Lassie debe cifrar sus coordenadas con una clave pública. Ruth.

Por supuesto, surge la pregunta: ¿cómo Lassie obtendrá la clave Ruth? Очевидное решение для Timmy — gritar la clave pública Ruth en cada una de sus transmisiones. Pero esto crearía un identificador estático que nuevamente permitiría rastrear Timmy.

Para resolver este problema, es necesario que Ruth tenga muchas claves públicas no vinculadas, para que Timmy pueda emitir diferentes claves con cada transmisión. Una de las opciones es hacer que Ruth y Timmy genere muchos pares de claves diferentes (o genere muchos de esos pares a partir de una semilla común). Pero esto es incómodo, y Ruth tendrá que almacenar muchas claves secretas. Y los identificadores mencionados en la sección anterior pueden obtenerse mediante el hash de cada clave pública.

Un enfoque un poco mejor (que Apple puede usar o no) implica la aleatorización de las claves. Esta es una característica de algunos sistemas criptográficos, como Elgamal: permite que cualquier parte aleatorice la clave pública , de modo que no esté relacionada con el original. La mejor parte de esta función es quepuede usar Ruth puede usar una clave secreta independientemente de qué versión aleatoria de su clave pública se utilizó para el cifrado.

¿Cómo encontrará Apple (en privado) su dispositivo perdido en un entorno offline?

Todo esto conduce a la idea final del protocolo. En cada transmisión Timmy se transmite un nuevo seudónimo y una copia aleatoria de la clave pública Ruth. Cuando Lassie recibe la transmisión, cifra sus coordenadas GPS con la clave pública y envía el mensaje cifrado a Apple. Ruth puede enviar seudónimos Timmy a los servidores de Apple, y si Apple encuentra una coincidencia, podrá obtener y descifrar las coordenadas GPS.

¿Esto resuelve todos los problemas?

Lo desagradable es que no hay una solución perfecta para muchas situaciones limítrofes extrañas. Por ejemplo, ¿qué pasa si Timmy tiene malas intenciones y quiere hacer que Lassie revele su ubicación a Apple? ¿Qué pasa si el Viejo Smithers intenta secuestrar Lassie?

En algún momento, la respuesta a esta pregunta se reduce a que hicimos todo lo posible: cualquier problema que quede debe sacarse del modelo de amenazas. A veces, incluso Lassie sabe cuándo detenerse.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster