Na segunda-feira, na WWDC da Apple, a Apple
introduziu um novo recurso interessante chamado "Find My" . Ao contrário do padrão
"Find My iPhone", que se baseia na infraestrutura celular e GPS de um dispositivo perdido, o recurso Find Me pode até encontrar dispositivos
sem um SIM. cartões e GPS: por exemplo, laptops ou até
etiquetas de localização "burras" anexadas a qualquer item (a Apple sugeria isso apenas em sentido amplo).
A idéia é transformar toda a rede existente de iPhones em um sistema de crowdsourcing em larga escala para rastrear objetos ao redor. Todo iPhone ativo monitora constantemente as mensagens de sinal BLE vindas de outros dispositivos. Quando ele encontra um desses sinais, ele marca o pacote com suas coordenadas GPS e o envia para os servidores da Apple. Isso é ótimo para perplexos como eu, que perdem constantemente coisas: se eu deixar minha mochila
em um ônibus turístico na China no escritório, mais cedo ou mais tarde alguém tropeçará em seu sinal - e eu vou descobrir instantaneamente onde encontrá-lo.
(Vale a pena notar que não foi a Apple quem teve a ideia. De fato, empresas como a
Tile já existem há algum tempo. E sim, elas devem se preocupar com os negócios).
Se você não está impressionado com a descrição acima, deixe-me fazer uma pergunta que você deve fazer:
como esse sistema se protegerá contra violações graves da privacidade?Listamos possíveis problemas:
- Se o dispositivo emitir constantemente um sinal BLE que o identifique exclusivamente, todos terão outra maneira de rastrear você. Os profissionais de marketing já usam endereços MAC de WiFi e Bluetooth para isso, e a função Localizar meu cria outro canal de rastreamento.
- Ela também desclassifica os envolvidos no processo. Agora, essas pessoas enviarão sua localização atual para a Apple (talvez elas já façam isso). Mas agora eles terão que compartilhar essas informações também com estranhos que "perdem" seus dispositivos. Pode terminar mal.
- Os fraudadores também podem iniciar ataques ativos nos quais eles falsificam a localização do seu dispositivo. Embora isso pareça improvável, as pessoas sempre se surpreendem.
A boa notícia é que a Apple alega que o sistema fornece uma forte privacidade através do uso adequado da criptografia. Mas, como sempre, eles se recusaram a
fornecer detalhes de implementação . Andy Greenberg, da Wired, descreveu uma
implementação técnica parcial da Apple, que permite entender muito. Infelizmente, essa história ainda deixa lacunas enormes. Sou eu quem vou preencher, oferecendo a descrição mais provável do que a Apple está realmente fazendo.
Uma grande ressalva: muita coisa pode estar completamente errada. Definitivamente vou atualizar o artigo quando a Apple contar mais.
Algumas questões importantes
Para delinear o cenário, é necessário introduzir vários dispositivos na imagem. Para se inspirar, veja a série de televisão dos anos 50 Lassie.
O primeiro dispositivo que chamaremos de
Timmy está "perdido".
Timmy tem um transmissor de rádio BLE, mas não possui conexão GPS ou internet. Felizmente, ele já estava emparelhado com um segundo dispositivo chamado
Ruth , que queria encontrá-lo. Nosso personagem principal é
Lassie : este é um iPhone de um estranho aleatório (e inconsciente) que (suponha) tem pelo menos uma conexão periódica à Internet e GPS confiável. E Lassie é uma menina muito boa. Os dispositivos de rede se comunicam através dos servidores iCloud da Apple, conforme mostrado abaixo:

(Como
Timmy e
Ruth devem ser emparelhados com antecedência, eles provavelmente pertencem à mesma pessoa. Mencionei que você precisaria comprar
dois dispositivos Apple para que o sistema funcionasse? Isso é bom para a Apple.)
Estamos considerando um sistema de segurança, então a primeira pergunta é:
quem é o bandido ? Nessa situação, a resposta é desagradável:
qualquer um pode ser um atacante em potencial . É por isso que o problema é tão interessante.
Timmy Anonimato
O aspecto mais importante do sistema é que você não deve permitir que pessoas de fora acompanhem
Timmy , especialmente quando ele não está perdido. Isso elimina algumas decisões bastante óbvias, por exemplo, quando
o dispositivo
de Timmy simplesmente grita:
"Olá, meu nome é Timmy, ligue para minha mãe Ruth e deixe-me saber que estou perdida" . Também elimina praticamente qualquer identificador estático imutável, mesmo opaco e aleatório.
O último requisito é constituído pela triste experiência de serviços que abusam de identificadores estáticos (por exemplo,
seu endereço MAC WiFi ) para rastrear o movimento de dispositivos. A Apple tem lutado
com sucesso misto , identificando aleatoriamente identificadores como endereços MAC. Se a Apple adicionar um identificador de rastreamento estático para "Find My", todos os problemas só piorarão.
Esse requisito significa que qualquer mensagem enviada por
Timmy deve ser opaca. Além disso, o conteúdo dessas mensagens deve mudar com relativa frequência para novos valores que não podem ser associados aos antigos. Uma maneira óbvia de um dispositivo emparelhado reconhecer tais mensagens é fazer com que
Timmy e
Ruth concordem com uma longa lista de “
aliases ” aleatórios para
Timmy , e deixe
Timmy escolher um diferente a cada vez.
Isso realmente ajuda. Cada vez que
Lassie vê algum dispositivo (desconhecido) transmitindo o identificador, ela não saberá se pertence a
Timmy : mas pode enviá-lo aos servidores da Apple junto com sua própria localização GPS. No caso de
Timmy se perder,
Ruth pode pedir à Apple para encontrar todos os aliases possíveis de
Timmy . Nessa situação, ninguém fora da Apple reconhecerá essa lista e até a própria Apple a reconhecerá somente depois que alguém se perder, portanto, essa abordagem evita a maioria das opções de rastreamento.
Uma maneira um pouco mais eficiente de implementar essa idéia é usar uma função criptográfica (por exemplo, uma função MAC ou hash) para gerar uma lista de aliases a partir de um pequeno "sid", cujas cópias são armazenadas por
Timmy e
Ruth . Isso é bom porque reduz a quantidade de dados armazenados. Mas, para encontrar
Timmy ,
Ruth ainda precisa enviar todos os apelidos - ou sementes - para a Apple, que precisará procurar todos os apelidos em seu banco de dados.
Escondendo a localização de Lassie
A abordagem descrita com pseudônimos deve esconder
a identidade de
Timmy de
Lassie e até da Apple (até o momento em que
Ruth começa a procurá-lo). No entanto, há uma grande desvantagem:
não oculta as coordenadas GPS de Lassie .
Isso é ruim por pelo menos alguns motivos. Cada vez que
Lassie descobre um dispositivo com sinal BLE, deve enviar sua localização atual aos servidores da Apple (junto com o apelido que vê). Isso significa que
Lassie constantemente diz à Apple onde ela está. Além disso, mesmo que a Apple prometa não armazenar
a identidade
de Lassie , o resultado de todas essas mensagens é um enorme banco de dados centralizado que mostra todos os locais de GPS onde
qualquer dispositivo Apple é encontrado.
Observe que a matriz desses dados por si só produz muitas informações. Sim, identificadores de dispositivo podem ser aliases - mas isso não torna as informações inúteis. Por exemplo, se
algum dispositivo Apple transmite as mesmas coordenadas à noite, isso indica o endereço provável da pessoa.
Uma maneira óbvia de impedir que a Apple divulgue esses dados é criptografá-los para que apenas aqueles que realmente
precisam saber a localização do dispositivo vejam as informações. Se
Lassie receber uma mensagem de
Timmy , a única pessoa que realmente precisa saber
a localização
de Lassie é
Ruth . Para manter essas informações em segredo,
Lassie deve criptografar suas coordenadas com
a chave pública
de Ruth .
Obviamente, surge a pergunta: como
Lassie conseguirá
a chave
de Ruth ? A solução óbvia para
Timmy é gritar a chave pública
de Ruth em cada uma de suas transmissões. Mas isso criará um identificador estático que novamente permite que
Timmy seja rastreado.
Para resolver esse problema,
Ruth precisa ter
muitas chaves públicas não vinculadas , para que
Timmy possa emitir chaves diferentes a cada transmissão. Uma opção é fazer com que
Ruth e
Timmy gerem muitos pares de chaves comuns diferentes (ou gerem muitos desses pares a partir de um sid comum). Mas isso é chato, e
Ruth terá que manter muitas chaves secretas. E os identificadores mencionados na seção anterior podem ser obtidos com hash em cada chave pública.
Uma abordagem um pouco melhor (que a Apple pode usar ou não) envolve a
randomização de teclas. Esse é um recurso de alguns
sistemas de criptografia, como o
Elgamal :
permite que qualquer um dos lados aleatoriamente a chave pública , para que não seja associada ao original. A melhor parte desse recurso é que o
Root pode usar
uma chave secreta, independentemente da versão aleatória de sua chave pública usada para criptografia .

Tudo isso leva à idéia final do protocolo. Em cada transmissão,
Timmy transmite um novo pseudônimo e uma cópia aleatória da chave pública de
Ruth . Quando
Lassie recebe a transmissão, ela criptografa suas coordenadas GPS com a chave pública e envia uma mensagem criptografada para a Apple.
Ruth pode enviar aliases de
Timmy para servidores da Apple e, se a Apple encontrar uma correspondência, ela poderá receber e descriptografar coordenadas GPS.
Resolve todos os problemas?
O desagradável é que não há solução ideal para muitas situações estranhas na fronteira. Por exemplo, e se
Timmy tiver más intenções e quiser fazer
Lassie revelar sua localização na Apple? E se Old Smithers tentar sequestrar
Lassie ?
Em algum momento, a resposta a essa pergunta se resume ao fato de que fizemos todo o possível: quaisquer problemas restantes devem ser movidos além do modelo de ameaça. Às vezes, até Lassie sabe quando parar.