Lundi, lors de la WWDC d'Apple, Apple a
présenté une nouvelle fonctionnalité intéressante appelée «Find My» . Contrairement à la norme
«Find My iPhone», qui repose sur l'infrastructure cellulaire et GPS d'un appareil perdu, la fonction Find Me peut même trouver des appareils
sans carte SIM. -cartes et GPS: par exemple, des ordinateurs portables, ou même
des balises de localisation «stupides» attachées à n'importe quel élément (Apple n'y a fait allusion que dans un sens large).
L'idée est de transformer l'ensemble du réseau existant d'iPhones en un système de crowdsourcing à grande échelle pour suivre les objets environnants. Chaque iPhone actif surveillera en permanence les messages de balise BLE provenant d'autres appareils. Lorsqu'il trouve l'un de ces signaux, il marque le paquet avec ses coordonnées GPS et l'envoie aux serveurs Apple. C'est formidable pour les égarés comme moi, qui perdent constamment des choses: si je laisse mon sac
à dos
dans un bus touristique en Chine dans le bureau, quelqu'un tombera tôt ou tard sur son signal - et je saurai instantanément où le trouver.
(Il convient de noter que ce n'est pas Apple qui a eu l'idée. En fait, des entreprises comme
Tile existent depuis un certain temps. Et oui, elles devraient s'inquiéter pour leur entreprise).
Si vous n'êtes pas impressionné par la description ci-dessus, permettez-moi de poser une question que vous devriez poser:
comment ce système protégera-t-il contre les violations massives de la vie privée?Nous listons les problèmes potentiels:
- Si l'appareil émet constamment un signal BLE qui l'identifie de manière unique, tout le monde a (une) autre façon de vous suivre. Les spécialistes du marketing utilisent déjà les adresses MAC WiFi et Bluetooth pour cela, et la fonction Find My crée un autre canal de suivi.
- Elle déclasse également les personnes impliquées dans le processus. Maintenant, ces personnes enverront leur position actuelle à Apple (peut-être qu'elles le font déjà). Mais maintenant, ils devront également partager ces informations avec des étrangers qui "perdent" leurs appareils. Cela peut mal finir.
- Les fraudeurs peuvent également lancer des attaques actives dans lesquelles ils truquent l'emplacement de votre appareil. Bien que cela semble peu probable, les gens sont toujours surpris.
La bonne nouvelle est qu'Apple affirme que le système offre une forte confidentialité grâce à l'utilisation appropriée de la cryptographie. Mais, comme d'habitude, ils ont refusé de
fournir des détails sur la mise en œuvre . Andy Greenberg chez Wired a décrit une
implémentation technique partielle d'Apple, qui permet de comprendre beaucoup de choses. Malheureusement, cette histoire laisse encore d'énormes lacunes. C'est moi que je vais remplir, en offrant la description la plus probable de ce que fait Apple.
Une grosse mise en garde: beaucoup peuvent être complètement faux. Je mettrai définitivement l'article à jour quand Apple en dira plus.
Quelques problèmes majeurs
Pour décrire le scénario, vous devez introduire plusieurs appareils dans l'image. Pour vous inspirer, prenez la série télévisée des années 1950 Lassie.
Le premier appareil que nous appellerons
Timmy est «perdu».
Timmy a un émetteur radio BLE, mais pas de connexion GPS ou Internet. Heureusement, il était déjà associé à un deuxième appareil appelé
Ruth , qui voulait le retrouver. Notre personnage principal est
Lassie : il s'agit d'un iPhone d'un inconnu aléatoire (et inconscient) qui (supposons) a au moins une connexion Internet périodique et un GPS fiable. Et Lassie est une très bonne fille. Les périphériques réseau communiquent via les serveurs iCloud d'Apple, comme indiqué ci-dessous:

(Étant donné que
Timmy et
Ruth doivent être jumelés à l'avance, ils appartiennent probablement à la même personne. J'ai mentionné que vous auriez besoin d'acheter
deux appareils Apple pour que le système fonctionne? C'est bien avec Apple.)
Nous envisageons un système de sécurité, donc la première question est:
qui est le méchant ? Dans cette situation, la réponse est désagréable:
n'importe qui pourrait être un attaquant potentiel . C'est pourquoi le problème est si intéressant.
Timmy Anonymity
L'aspect le plus important du système est que vous ne devez pas permettre aux étrangers de garder une trace de
Timmy , surtout lorsqu'il n'est pas perdu. Cela élimine certaines décisions assez évidentes, par exemple, lorsque
l' appareil
de Timmy crie simplement:
"Bonjour, je m'appelle Timmy, veuillez appeler ma mère Ruth et faites-moi savoir que je suis perdu .
" Il élimine également pratiquement tout identifiant statique immuable, même opaque et aléatoire.
La dernière exigence est constituée par la triste expérience des services qui abusent des identifiants statiques (par exemple,
votre adresse MAC WiFi ) pour suivre le mouvement des appareils. Apple a connu
des succès mitigés en randomisant des identifiants tels que les adresses MAC. Si Apple ajoute un identifiant de suivi statique pour «Find My», tous les problèmes ne feront qu'empirer.
Cette exigence signifie que tous les messages envoyés par
Timmy doivent être opaques. De plus, le contenu de ces messages devrait changer relativement souvent en de nouvelles valeurs qui ne peuvent pas être associées aux anciennes. Un moyen évident pour un appareil couplé de reconnaître de tels messages est de faire en sorte que
Timmy et
Ruth se mettent
d' accord sur une longue liste d '«
alias » aléatoires pour
Timmy , et de laisser
Timmy en choisir un différent à chaque fois.
Ça aide vraiment. Chaque fois que
Lassie voit un appareil (inconnu) transmettre l'identifiant, elle ne saura pas s'il appartient à
Timmy : mais elle peut l'envoyer aux serveurs Apple avec sa propre position GPS. En cas de perte de
Timmy ,
Ruth peut demander à Apple de trouver tous les alias de
Timmy possibles. Dans cette situation, personne en dehors d'Apple ne reconnaîtra cette liste, et même Apple lui-même ne le reconnaîtra qu'après la perte de quelqu'un, de sorte que cette approche empêche la plupart des options de suivi.
Une façon un peu plus efficace de mettre en œuvre cette idée consiste à utiliser une fonction cryptographique (par exemple, un MAC ou une fonction de hachage) pour générer une liste d'alias à partir d'un "Sid" court, dont des copies sont stockées par
Timmy et
Ruth . C'est bien car cela réduit la quantité de données stockées. Mais pour trouver
Timmy ,
Ruth doit encore envoyer tous les surnoms - ou graines - à Apple, qui devra rechercher chaque surnom dans sa base de données.
Cacher l'emplacement de Lassie
L'approche décrite avec des pseudonymes devrait bien cacher
l' identité de
Timmy à
Lassie et même à Apple (jusqu'au moment où
Ruth commence à le chercher). Cependant, il y a un gros inconvénient:
il ne cache pas les coordonnées GPS de Lassie .
C'est mauvais pour au moins quelques raisons. Chaque fois que
Lassie découvre un appareil avec un signal BLE, elle doit envoyer son emplacement actuel aux serveurs Apple (avec l'alias qu'elle voit). Cela signifie que
Lassie dit constamment à Apple où elle se trouve. Et de plus, même si Apple promet de ne pas stocker
l' identité
de Lassie , le résultat de tous ces messages est une énorme base de données centralisée qui affiche tous les emplacements GPS où se trouve
tout appareil Apple.
Veuillez noter que le tableau de ces données produit à lui seul beaucoup d'informations. Oui, les identifiants d'appareil peuvent être des alias - mais cela ne rend pas les informations inutiles. Par exemple, si
certains appareils Apple diffusent les mêmes coordonnées le soir, cela donne l'adresse probable de la personne.
Une manière évidente d'empêcher Apple de divulguer ces données est de les crypter afin que seuls ceux qui ont vraiment
besoin de connaître l'emplacement de l'appareil voient les informations. Si
Lassie reçoit un message de
Timmy , alors la seule personne qui a vraiment besoin de connaître
l' emplacement
de Lassie est
Ruth . Pour garder cette information secrète,
Lassie doit crypter ses coordonnées avec
la clé publique
de Ruth .
Bien sûr, la question se pose: comment
Lassie obtiendra-t-elle
la clé
de Ruth ? La solution évidente pour
Timmy est de crier
la clé publique
de Ruth dans chacune de ses émissions. Mais cela créera un identifiant statique qui permettra à nouveau de suivre
Timmy .
Pour résoudre ce problème,
Ruth doit disposer de
nombreuses clés publiques non liées , afin que
Timmy puisse émettre des clés différentes à chaque diffusion. Une option consiste à demander à
Ruth et
Timmy de générer de nombreuses paires de clés communes différentes (ou de générer plusieurs de ces paires à partir d'un Sid commun). Mais c'est ennuyeux, et
Ruth devra garder de nombreuses clés secrètes. Et les identifiants mentionnés dans la section précédente peuvent être obtenus en hachant chaque clé publique.
Une approche légèrement meilleure (qu'Apple peut utiliser ou non) implique la
randomisation des clés. C'est une caractéristique de certains cryptosystèmes, comme
Elgamal : elle
permet à chaque côté de randomiser la clé publique , afin qu'elle ne soit pas associée à l'original. La meilleure partie de cette fonctionnalité est que
Root peut utiliser
une clé secrète, quelle que soit la version aléatoire de sa clé publique utilisée pour le chiffrement .

Tout cela conduit à l'idée finale du protocole. Dans chaque émission,
Timmy transmet un nouvel alias et une copie aléatoire de la clé publique de
Ruth . Lorsque
Lassie reçoit l'émission, elle chiffre ses coordonnées GPS avec la clé publique et envoie un message chiffré à Apple.
Ruth peut envoyer des alias
Timmy aux serveurs Apple, et si Apple trouve une correspondance, elle peut recevoir et décrypter les coordonnées GPS.
Résout-il tous les problèmes?
Ce qui est désagréable, c'est qu'il n'y a pas de solution idéale pour de nombreuses situations frontalières étranges. Par exemple, que se passe-t-il si
Timmy a de mauvaises intentions et veut que
Lassie révèle son emplacement Apple? Et si Old Smithers essayait d'enlever
Lassie ?
À un moment donné, la réponse à cette question se résume au fait que nous avons fait tout notre possible: tout problème restant devrait être déplacé au-delà du modèle de menace. Parfois même Lassie sait quand s'arrêter.