Como a Apple (em particular) encontrará offline o seu dispositivo perdido?

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.

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


All Articles