Segurança

Feito para não ser preciso confiar em ninguém

O Crocodile foi pensado para que nem os servidores, nem as redes, nem sequer o amigo que é anfitrião de uma sala consigam ler o que diz. Esta página explica o que está protegido, o que não está, e como.

O que está protegido

A sua voz

Só os participantes da chamada a ouvem. É criptografada no seu computador, trama a trama, antes de sair.

As suas mensagens

Só os membros do espaço ou da conversa direta as podem ler, agora e mais tarde. Ficam guardadas nos dispositivos dos membros, nunca num servidor.

A sua identidade

Só os seus próprios dispositivos e quem tiver a sua chave de recuperação a têm. É guardada criptografada com o porta-chaves do sistema.

O que os servidores veem, e o que não veem

Nenhum sistema que liga pessoas está livre de metadados. Eis exatamente onde o Crocodile traça a linha.

Os servidores nunca veem

  • O que escreve ou diz: o conteúdo é criptografado de ponta a ponta, mesmo quando usa o relay ou a caixa de correio opcionais.
  • O seu número de telefone, e-mail ou senha: o Crocodile não pede nenhum.
  • A sua lista de amigos e os seus bloqueios: são criptografados para que só os seus dispositivos os possam ler.
  • Quem enviou um pedido de amizade: os pedidos viajam como notas seladas que não dizem quem os enviou.

Os servidores veem

  • Perfis públicos, nomes de espaços, listas de canais, adesões e nomes de dispositivos.
  • Quem está online e quem está em cada sala de voz.
  • Enquanto está ligado: de quem acompanha a presença e com quem inicia uma conversa direta ou uma chamada (não é guardado nem partilhado com outros servidores).
  • Endereços IP, necessários para ligar as apps entre si. O anfitrião de uma sala também vê os endereços IP dos membros.

Quem poderia tentar, e o que conseguiria

Um modelo de ameaças lista os possíveis atacantes e o que cada um pode e não pode fazer. Este é um resumo do nosso.

AtacantePodeNão pode
Alguém a observar a redeVer com que endereços IP fala, e quanto.Ler o conteúdo ou os metadados, nem perceber o que diz pelo tamanho dos pacotes.
Gravar agora, decifrar depoisGuardar o seu tráfego criptografado durante anos.Decifrá-lo com um futuro computador quântico: cada troca de chaves é híbrida pós-quântica.
Um servidor maliciosoMentir sobre quem está online, atrasar ou cortar ligações, registar metadados.Ler o conteúdo, falsificar perfis, espaços ou convites, trocar as chaves de alguém, nem meter-se entre duas apps.
O operador de um relay ou caixa de correioVer o tamanho e o ritmo dos pacotes reencaminhados, ou quem deixou quantas mensagens a quem.Lê-las, alterá-las ou falsificá-las.
O amigo que é anfitrião de uma salaVer os endereços IP dos membros e quem fala e quando.Fazer algo que outro membro não pudesse: o relay dele só passa pacotes criptografados.
Alguém que saiu de um espaçoFicar com o que já viu.Ler nada do que for dito depois de sair: as chaves são substituídas quando alguém sai.
Alguém que rouba uma chaveLer, no máximo, o período de chave atual de 30 minutos de uma conversa.Ler mensagens anteriores (chaves apagadas) nem posteriores (chaves novas).
Alguém com o seu computador desbloqueadoTudo o que você pode. Use criptografia de disco e remova um dispositivo perdido a partir de outro.Receber mensagens novas depois de remover o dispositivo.

A criptografia

Componentes bem estudados de bibliotecas auditadas e de código aberto (@noble), combinados de forma padrão.

Ed25519Assinaturas em cada registo, mensagem e oferta de ligação
X25519 + ML-KEM-768Troca de chaves híbrida pós-quântica para cada segredo entre pares
AES-256-GCMCriptografia de mensagens, tramas de voz e ligações a servidores
HKDF-SHA256Derivação de chaves e as catracas que só avançam
DTLS-SRTPO transporte criptografado do WebRTC por baixo
Padmé · CBR OpusEsconder o tamanho das mensagens e os padrões da fala

Limites conhecidos

Preferimos que saiba por nós.

  • Ainda sem auditoria independente. O design e o código são públicos, mas nenhuma empresa externa os auditou ainda. Até lá, não dependa do Crocodile quando a sua segurança estiver em jogo.
  • Os dispositivos partilham uma chave de conta. Remover um dispositivo impede que lhe cheguem mensagens e chaves novas, mas um dispositivo roubado ainda poderia assinar em seu nome. Estão previstas chaves de assinatura por dispositivo.
  • Alguns metadados são visíveis. Os servidores veem as adesões e, enquanto está ligado, com quem contacta. Reduzir isto está nos planos.
  • Grupos muito grandes. O Crocodile usa chaves de remetente com catraca em vez de MLS, por isso substituir as chaves custa mais à medida que o grupo cresce. O MLS está previsto para espaços muito grandes.
  • A verificação de chaves é manual. Pode comparar números de segurança com um amigo, mas a app não o sugere.

Encontrou um problema?

Por favor, relate problemas de segurança de forma privada através do GitHub, para que possam ser corrigidos antes de se tornarem públicos.