Pular para o conteúdo

Modelo de ameaças

Quem pode ver o quê, e o que o impede

Um modelo de ameaças só é útil se nomeia os adversários para os quais perde com a mesma clareza dos que vence. Cada linha abaixo mostra o que aquele adversário vê, o que não consegue alcançar, a defesa existente e o que continua possível mesmo assim.

O PrivaMesh foi projetado contra um operador que quer seus dados, um observador da blockchain que lê tudo o que é público e um impostor que tenta interceptar a adição de um contato. É mais fraco contra um analista de tempo global e não oferece nada contra um aparelho comprometido.

Modelo de ameaças do PrivaMesh por adversário, com defesas e risco residual
AdversárioVêNão consegueDefesaAinda possível
PrivaMesh, o operadorQue uma conta pagou um envio, e quandoLer mensagens, saber destinatários, listar seus contatos ou reconstruir o históricoSem banco de contas nem armazenamento de mensagens; tokens cegos desvinculam o pagamento do envioPoderíamos ser obrigados a mostrar que alguma conta enviou algo em determinado momento
O provedor RPCSeu endereço IP, o horário das requisições, as transações que você enviaDecifrar qualquer coisa, ou saber de quem é cada endereço de uso únicoO endpoint é substituível e auto-hospedávelUm provedor que registra tudo monta uma imagem, no nível da rede, de quando você está ativo
Um observador da blockchainTexto cifrado preenchido, endereços de uso único, horários exatos das transaçõesLer o conteúdo, ou ligar duas mensagens da mesma conversaEndereços furtivos, faixas fixas de preenchimento, tráfego de cobertura opcionalCom o tráfego de cobertura desligado, seu padrão de atividade ao longo do tempo fica totalmente visível
Um analista de tempo globalAtividade correlacionada em toda a rede ao mesmo tempoDecifrar, ou ligar endereços criptograficamenteTráfego de cobertura em intervalos aleatórios de 3 a 10 minutos, quando ativadoÉ o adversário contra o qual nos defendemos pior; um observador da rede inteira com retenção ilimitada está fora do que qualquer design por mensagem consegue resolver
Alguém com seu celular desbloqueadoTudo: texto puro, contatos, chavesRecuperar mensagens já apagadas pelo ratchetArmazenamento nas Chaves protegido por Face ID ou Touch ID; o sigilo futuro limita o passado; um código de coação apaga a conta em vez de abri-laO comprometimento do aparelho é total para tudo o que está nele, e um código de coação só ajuda no momento em que pedem para você desbloquear - não se o armazenamento já tiver sido copiado
Alguém que tem sua frase de recuperaçãoSua identidade, e pode se passar por você daqui em dianteLer a parte ratchet de conversas passadas - essas chaves eram aleatórias e locais ao aparelhoA frase nunca sai do seu aparelho e nunca é transmitidaChave de identidade, prekey assinada e prekey PQ são todas derivadas da frase e nenhuma prekey de uso único é publicada, então a mensagem de abertura de cada conversa pode ser recalculada a partir da frase mais o envelope permanente na blockchain. Também não há revogação
Um contato mal-intencionadoTudo o que você manda, e pode tirar print ou encaminharAlcançar outras pessoas com quem você fala ou ler outras conversasBloqueio e separação de chaves por conversaNenhuma criptografia impede que a pessoa com quem você fala não seja confiável
Um impostor ao adicionar um contatoNada, se a verificação der certoSubstituir a própria chave pela de um contato cujo pacote é assinado na blockchainPacotes de prekeys assinados pela carteira e publicados na blockchain, então nenhum registro consegue trocar a chave de uma contaNão há número de segurança nem impressão digital para comparar, então confirmar que a conta pertence à pessoa certa é feito totalmente fora do app e sem ajuda
AppleQue seu ID Apple comprou uma assinaturaVer mensagens, contatos, ou ligar a compra à sua atividade de envioTokens cegos ficam entre a compra e cada envioA Apple sabe que você é cliente do PrivaMesh, o que é inevitável no iOS
Um censor no nível da redeQue você acessou um endpoint RPC da SolanaLer ou descartar seletivamente mensagens individuaisEndpoints RPC são substituíveis, inclusive por um seuBloquear a Solana ou todos os RPCs bloqueia a entrega por completo

O que este modelo pressupõe

Que as primitivas criptográficas se sustentam: X3DH, o Double Ratchet, AES-256-GCM e, no iOS 26, ML-KEM-768. Que seu aparelho ainda não está comprometido. Que você confirma que o contato que adiciona é a pessoa que queria. Se algo disso falhar, o resto do design não salva você.

Também pressupõe que nossa implementação dessas primitivas está correta - por isso o código é público e encontrar uma falha nele é pago. A lista completa do que não está coberto está em limitações conhecidas.

Perguntas frequentes

Contra o que o PrivaMesh se defende pior?

Contra um adversário global que observa a rede inteira continuamente e guarda tudo. O tráfego de cobertura encarece a correlação de tempo, mas não derrota um observador dessa escala, e a blockchain guarda um registro permanente para ele trabalhar.

Se meu aparelho for apreendido, o que fica exposto?

Tudo o que está nele: texto puro, contatos e chaves, a menos que esteja bloqueado e o atacante não consiga passar pelo Face ID. O sigilo futuro limita o dano ao que o ratchet ainda não apagou - mensagens antigas já são irrecuperáveis. Se estiverem forçando você a desbloquear, um código de coação apaga a conta em vez de abri-la.

O PrivaMesh pode ser obrigado a entregar meus dados?

Podem pedir. O que existe para entregar é que uma conta pagou um envio em determinado momento. Não há conteúdo de mensagem, nem destinatário, nem lista de contatos, nem registro de conta, porque nada disso é armazenado.

VPN ajuda?

Sim, contra o provedor RPC e um observador no nível da rede, os dois adversários que veem seu IP. Não muda nada do que é gravado na blockchain, que já é ilegível.

Continue lendo