Encontrar amigos numa aplicação de mensagens e manter a lista de contactos privada não são o mesmo problema. A aplicação precisa de descobrir que identificadores pertencem a utilizadores do serviço, mas o método de correspondência determina que informações ficam disponíveis para o serviço. Aplicar um hash ao número de telefone não garante, por si só, que o número não possa ser identificado.
Porque pode um número com hash ser identificado?
Uma função de hash transforma a entrada num valor de comprimento fixo. No entanto, o espaço dos números de telefone é limitado e estruturado. Um atacante pode gerar números prováveis, calcular os respetivos hashes e procurar correspondências. Isto não é «desencriptar o hash», mas testar entradas que podem ser adivinhadas.
Na explicação do problema da descoberta privada de contactos, o Signal descreve precisamente esta limitação dos identificadores com pouca diversidade. O mesmo artigo apresenta um modelo baseado num ambiente de execução de confiança. Este exemplo histórico não deve ser generalizado a todas as aplicações de mensagens sem verificar a versão e a documentação mais recente.
Assim, a frase «o servidor só vê hashes» não responde completamente à questão da privacidade. É necessário saber quem pode calcular as correspondências, que pedidos são registados e durante quanto tempo os dados permanecem guardados.
O que permite a autorização de acesso aos contactos?
A permissão de leitura de contactos dá à aplicação acesso aos dados da lista de contactos; não determina, por si só, se a aplicação os envia para o servidor. O nome, número, e-mail e notas de um contacto podem ser sensíveis, sobretudo quando contêm informações de pessoas que nem sequer usam o serviço.
A documentação do Contacts Provider do Android distingue a leitura alargada da lista de contactos da seleção de um contacto através da interface do sistema. O âmbito do acesso depende da implementação e da versão do sistema operativo.
| Método de descoberta de contactos | Possível vantagem | Aspeto a verificar |
|---|---|---|
| Partilhar um nome de utilizador ou ligação de convite | Pode dispensar a leitura de toda a lista de contactos | A possibilidade de pesquisar o identificador e de outras pessoas encontrarem a conta |
| Selecionar alguns contactos | São disponibilizados menos dados à aplicação | A aplicação recebe apenas os elementos selecionados? |
| Enviar uma lista de números ou hashes | Correspondência mais simples com utilizadores registados | Possibilidade de adivinhar números, registo de pedidos e retenção da lista |
| Protocolo específico de descoberta privada | Pode reduzir a exposição num determinado modelo de ameaças | Pressupostos de confiança, limitações e provas de análise independente |
O que não prova a encriptação das mensagens sobre a lista de contactos?
A encriptação ponta a ponta pode ocultar o conteúdo da conversa ao servidor, mas, por si só, nada diz sobre permissões de contactos, pedidos de pesquisa de utilizadores ou registo de relações. Mesmo sem a lista de contactos, a informação de encaminhamento pode revelar parte das relações de comunicação.
Na página de segurança, a Livara explica o armazenamento e processamento de informações operacionais, como a participação em grupos, tempos e encaminhamento. Este documento não permite concluir que a lista de contactos recebe hashes através de um método específico, que nenhum registo é guardado ou que o grafo de relações está completamente oculto. Estas afirmações exigem uma explicação separada sobre a descoberta de contactos.
Antes de conceder a permissão, faça estas cinco perguntas
- Posso conversar através de um nome de utilizador ou convite direto sem conceder acesso aos contactos?
- Que campos saem exatamente do dispositivo: apenas o número ou também o nome e outros detalhes?
- Como são utilizadas e eliminadas as informações de pessoas não registadas?
- Revogar a permissão apenas impede o acesso futuro ou existe também uma forma de eliminar dados já enviados?
- A explicação técnica e a política de retenção de dados correspondem à versão atual da aplicação?
Reveja a permissão da aplicação nas definições do sistema e limite o acesso desnecessário se não precisar de encontrar amigos automaticamente. Os nomes das opções variam entre telemóveis. Não considere que revogar a permissão equivale a apagar informações já enviadas.
A privacidade dos contactos mede-se pela minimização dos dados e pela clareza do seu percurso, não apenas pela presença da palavra «hash» junto de um número de telefone.



