Lunedì, alla conferenza WWDC, Apple . A differenza del standard , che si basa sull'infrastruttura della rete mobile e sul GPS del dispositivo perso, la funzione “Trova me” può trovare anche dispositivi senza senza SIM e GPS. Ad esempio, laptop, o anche , attaccata a qualsiasi oggetto (Apple ha accennato a questo solo in termini generali).
L'idea è di trasformare l'intera rete esistente di iPhone in un grande sistema di crowdsourcing per il tracciamento degli oggetti circostanti. Ogni iPhone attivo monitorerà continuamente i segnali dei beacon BLE che arrivano da altri dispositivi. Quando ne trova uno di questi segnali, segna il pacchetto con le proprie coordinate GPS e lo invia ai server Apple. È davvero fantastico per smemorati come me, che perdono costantemente cose: se lascio il mio zaino su un autobus turistico in Cina, prima o poi qualcuno si imbatterà nel suo segnale, e io saprò immediatamente dove trovarlo.
(Vale la pena notare che l'idea non è stata inventata da Apple. In realtà, aziende come lavorano in questo campo da un po'. E sì, dovrebbero preoccuparsi per il loro business).
Se la descrizione sopra non ti ha impressionato, permettimi di porti una domanda che dovresti farti: come proteggerà questo sistema da violazioni massicce della privacy?
Elencando i potenziali problemi:
- Se un dispositivo emette continuamente un segnale BLE che lo identifica in modo univoco, ora tutti hanno (un altro) modo per tracciarti. I marketer già utilizzano gli indirizzi MAC del WiFi e del Bluetooth per questo, e la funzione Find My crea un ulteriore canale di tracciamento.
- Essa rivela anche chi è coinvolto nel processo. Ora queste persone invieranno ad Apple la loro posizione attuale (forse lo stanno già facendo). Ma ora dovranno condividere queste informazioni anche con estranei che “perdono” i loro dispositivi. Questo potrebbe avere conseguenze negative.
- I truffatori possono anche lanciare attacchi attivi, falsificando la posizione del tuo dispositivo. Anche se sembra improbabile, la gente sa sempre sorprendere.
La buona notizia è che Apple afferma che il sistema garantisce davvero una privacy affidabile grazie a un'applicazione oculata della crittografia. Ma, come al solito, hanno rifiutato di comunicare i dettagli dell'implementazione. Andy Greenberg su Wired ha raccontato parzialmente secondo Apple, che consente di capire molto. Sfortunatamente, questo racconto lascia ancora enormi lacune. È proprio in queste lacune che intendo colmare, offrendo la descrizione più plausibile di cosa stia facendo realmente Apple.
Una grande avvertenza: molto potrebbe rivelarsi completamente errato. Aggiornerò sicuramente l'articolo quando Apple fornirà ulteriori informazioni.
Alcuni problemi principali
Per esporre lo scenario, dobbiamo introdurre alcuni dispositivi. Per ispirarci, prendiamo in considerazione la serie televisiva degli anni '50 "Lassie".
Il primo dispositivo che chiameremo Timmy, è "perso". Ha Timmy un trasmettitore BLE, ma niente GPS o connessione a Internet. Fortunatamente, è già stato accoppiato con un secondo dispositivo chiamato Ruth, che desidera trovarlo. Il nostro protagonista è Lassie: è un iPhone di uno sconosciuto casuale (e ignaro) che (ipotizziamo) ha almeno una connessione Internet occasionale e un GPS affidabile. E Lassie è anche un'ottima ragazza. I dispositivi di rete interagiscono tramite i server iCloud di Apple, come mostrato di seguito:

(Poiché Timmy e Ruth devono essere accoppiati in anticipo, è probabile che entrambi appartengano alla stessa persona. Ho accennato che sarà necessario acquistare due dispositivi Apple affinché il sistema funzioni? Questo fa decisamente comodo ad Apple).
Stiamo considerando un sistema di sicurezza, quindi la prima domanda è: chi è il cattivo? В этой ситуации ответ неприятный: un potenziale malintenzionato può essere chiunque. Ecco perché il problema è così interessante.
Mantenere l'anonimato di Timmy
L'aspetto più importante del sistema è che non si devono permettere a terzi di tracciarlo Timmy, soprattutto quando non è perso. Questo esclude alcune soluzioni abbastanza ovvie, come quando il dispositivo Timmy inizia a gridare: "Ciao, mi chiamo Timmy, per favore chiama mia madre Ruth e dille che mi sono perso". Questo esclude anche praticamente qualsiasi identificatore statico immutabile, anche quelli opachi e apparentemente casuali.
L'ultima richiesta è stata redatta sulla base dell'esperienza triste dei servizi che abusano degli identificatori statici (ad esempio, ) per tracciare il movimento dei dispositivi. Apple contro questa sorveglianza tramite la randomizzazione degli identificatori, come gli indirizzi MAC. Se Apple aggiungesse un identificatore statico di tracciamento per “Trova il mio”, tutti i problemi si aggraverebbero.
Questa richiesta significa che qualsiasi messaggio trasmesso Timmy, deve essere opaco. Inoltre, il contenuto di questi messaggi deve cambiare relativamente spesso in nuovi valori che non possono essere collegati a quelli vecchi. Uno dei modi ovvi per il dispositivo accoppiato di riconoscere tali messaggi è costringere Timmy e Ruth a concordare una lunga lista di casuali «» per Timmy, e lasciare che Timmy ne scelga uno diverso ogni volta.
Questo aiuta davvero. Ogni volta che Lassie vede un qualche dispositivo (sconosciuto) che trasmette un identificatore, non saprà a chi appartiene Timmy: ma può inviarlo ai server Apple insieme alla propria posizione GPS. In caso di perdita, Timmy può chiedere ad Apple di trovare tutti i possibili soprannomi Ruth . In questa situazione, nessuno al di fuori di Apple conoscerà questa lista, e anche Apple la conoscerà solo dopo che qualcuno si sarà perso, quindi questo approccio previene la maggior parte delle opzioni di tracciamento. TimmyUn modo leggermente più efficace per implementare questa idea è utilizzare una funzione crittografica (ad esempio, MAC o funzione hash) per generare un elenco di soprannomi da un breve «seme», una copia del quale viene archiviata
. Questo è buono, perché riduce il volume dei dati memorizzati. Ma per trovare Timmy e Ruthdeve comunque inviare tutti i soprannomi — o il seme — alla società Apple, che dovrà cercare ogni soprannome nel proprio database. Timmy, Ruth Nascondere la posizione di Lassie
L'approccio descritto con i soprannomi dovrebbe nascondere bene
l'identità e persino da Apple (fino al momento in cui Timmy da Lassie inizia a cercarlo). Tuttavia, c'è un grande svantaggio: Ruth non nasconde le coordinate GPS Questo è problematico, almeno per diversi motivi. Ogni volta che Lassie.
Questo è un problema, almeno per diverse ragioni. Ogni volta che Lassie Quando viene rilevato un dispositivo con segnale BLE, deve inviare ai server di Apple la propria posizione attuale (insieme al soprannome che vede). Questo significa che Lassie informa costantemente Apple della sua posizione. E inoltre, anche se Apple promette di non conservare l'identità Lassie, il risultato di tutti questi messaggi è un'enorme banca dati centralizzata che mostra tutte le posizioni GPS in cui è stato individuato qualunque dispositivo Apple.
Si noti che il volume di tali dati fornisce di per sé molte informazioni. Sì, gli identificatori dei dispositivi possono essere soprannomi, ma questo non rende l'informazione inutile. Ad esempio, se qualche dispositivo Apple trasmette le stesse coordinate ogni sera, questo rivela un probabile indirizzo di residenza della persona.
Un modo ovvio per evitare la rivelazione di questi dati da parte di Apple è crittografarli, in modo che l'informazione sia visibile solo a chi deve davvero bisogno conoscere la posizione del dispositivo. Se Lassie riceve un messaggio da Timmy, allora l'unica persona che ha veramente bisogno di conoscere la posizione Lassie, è Ruth. Per mantenere questa informazione segreta, Lassie deve crittografare le proprie coordinate con una chiave pubblica. Ruth.
Naturalmente, sorge la domanda: come Lassie ottiene la chiave Ruth? Очевидное решение для Timmy — annunciando la chiave pubblica Ruth in ogni suo broadcasting. Ma questo creerebbe un identificatore statico, che permetterebbe nuovamente di rintracciare. Timmy.
Per risolvere questo problema è necessario che Ruth era disponga di molte chiavi pubbliche non collegate., in modo che Timmy può fornire chiavi diverse ad ogni trasmissione. Una delle opzioni è costringere Ruth e Timmy a generare molte coppie di chiavi diverse (o a generare molte coppie da un seme comune). Ma questo è frustrante e Ruth bisogna conservare molte chiavi segrete. E gli identificatori menzionati nella sezione precedente possono essere ottenuti hashando ogni chiave pubblica.
Un approccio leggermente migliore (che Apple potrebbe utilizzare o meno) prevede la randomizzazione. delle chiavi. Questa è una caratteristica di alcune crittosistemi, come : essa , in modo che non sia legata all'originale. La parte migliore di questa funzione è che Ruth può utilizzare una chiave segreta indipendentemente dalla versione randomizzata della sua chiave pubblica utilizzata per cifrare..

Tutto ciò porta all'idea finale del protocollo. In ogni trasmissione Timmy viene trasmesso un nuovo pseudonimo e una copia randomizzata della chiave pubblica Ruth. Quando Lassie riceve la trasmissione, cripta le proprie coordinate GPS con la chiave pubblica e invia il messaggio criptato ad Apple. Ruth può inviare pseudonimi Timmy ai server Apple, e se Apple trova una corrispondenza, potrà ottenere e decifrare le coordinate GPS.
Questo risolve tutti i problemi?
La cosa scomoda è che non esiste una soluzione perfetta per molte strane situazioni ai confini. Ad esempio, cosa succede se Timmy ha cattive intenzioni e vuole costringere Lassie a rivelare la propria posizione ad Apple? Cosa succede se il Vecchio Smithers cerca di rapire Lassie?
A un certo punto, la risposta a questa domanda si riduce al fatto che abbiamo fatto tutto il possibile: qualsiasi problema rimasto dovrebbe essere considerato al di fuori del modello di minaccia. A volte anche Lassie sa quando fermarsi.
Fonte: habr.com
