Capítulo 2

Mensagens

Conversas de uma pessoa para outra e conversas em grupo. A ideia é parecida com a de um aplicativo de mensagens comum — mas o conteúdo é trancado no seu aparelho, antes de sair dele.

Resumo em cinco linhas

  • A mensagem é trancada no seu aparelho e só o destinatário tem a chave.
  • O provedor que guarda a mensagem vê um embrulho fechado, não o texto.
  • Grupos funcionam como uma conta com assinatura própria, com chave que muda quando alguém entra ou sai.
  • Quem entra depois não lê o passado; quem sai não lê o futuro.
  • O que sobra de exposição são os metadados: quem fala com quem, e quando.

Conversa de uma pessoa para outra

Quando você escreve, o texto nunca viaja legível. Ele é transformado em algo que só o destinatário consegue desfazer.

Maria escreve “chego às 19h” Mensagem trancada a7f3 9c21 0b4e … ilegível sem a chave Provedor guarda o embrulho João abre “chego às 19h” o provedor nunca viu o texto
  1. 1. Maria escreve “chego às 19h”.
  2. 2. O aplicativo tranca o texto com a chave de João. O que sai é um bloco ilegível.
  3. 3. O provedor guarda o bloco. Ele consegue entregar, mas não consegue ler.
  4. 4. João recebe e destranca com a chave dele.
  5. 5. Em nenhum momento o texto existiu fora dos dois aparelhos.
Clique num passo para ir até ele
“Ponta a ponta” quer dizer isto

A tranca é feita numa ponta (Maria) e aberta na outra (João). Quem fica no meio — o provedor — transporta um pacote que não consegue abrir. É diferente de “criptografia em trânsito”, onde o servidor abre e fecha no caminho.

O que o provedor vê — e o que não vê

Ele vê

  • que existe uma mensagem para você;
  • o tamanho aproximado dela;
  • a data e a hora em que foi depositada;
  • o endereço de rede de quem se conectou.

Ele não vê

  • o texto da mensagem;
  • fotos e arquivos enviados;
  • o conteúdo do grupo;
  • a chave que abre qualquer coisa.

O que sobra é chamado de . E metadado não é detalhe: saber com quem você conversa e em que horário pode dizer muito sobre você.

O projeto reduz isso, mas não elimina. A entrega é feita de forma que o provedor não precise saber quem envia para quem — e o preço é complexidade extra para combater spam.

Grupos

Um grupo não é “uma conversa com muita gente”. É uma conta nova, com chave própria, que também assina o que passa por ela.

Grupo “Banda do bairro” tem chave e assinatura próprias chave do grupo · versão 1 Ana Beto Caio Duda Ana saiu Grupo “Banda do bairro” chave trocada automaticamente chave do grupo · versão 2 não lê o futuro Eva entrou depois: não lê o passado
  1. 1. O grupo tem chave e assinatura próprias — é como uma conta.
  2. 2. Cada membro usa essa chave para ler e escrever.
  3. 3. Todas as mensagens são trancadas com a chave do grupo.
  4. 4. Ana sai. Ela ainda tem a cópia antiga da chave.
  5. 5. O grupo troca a chave automaticamente. É a versão 2.
  6. 6. Ana não consegue ler nada do que vier depois da troca.
  7. 7. Eva entra depois: recebe a chave nova e não lê o que passou.
Clique num passo para ir até ele

Por que o grupo tem assinatura própria

Se um grupo fosse só uma lista de pessoas, ninguém de fora conseguiria verificar que uma mensagem realmente saiu dali. Com chave própria, o grupo vira um autor: ele assina o que publica, como uma conta assinaria.

Ao mesmo tempo, cada mensagem carrega também quem a escreveu. Ou seja: o grupo responde pelo todo, e a pessoa responde pelo que disse. Isso resolve dois problemas ao mesmo tempo — credibilidade para fora e responsabilidade para dentro.

Entrar e sair de um grupo é público

O projeto trata entrada e saída como conteúdos assinados, para que a composição do grupo seja verificável. Isso significa que o fato de você ter entrado num grupo é registrado — mas o conteúdo das conversas não. É uma decisão em aberto e vale saber que ela existe.

Grupo fechado: perfil público, conversa privada

Um grupo pode ser configurado como : o perfil fica visível, a conversa não. É o que transforma o grupo numa comunidade em vez de um mural público.

E existe um terceiro caso, que precisa ser dito com clareza: um juiz pode determinar que uma conta seja admitida no grupo para acompanhar o que acontece ali. Isso entrega o conteúdo a partir da entrada — o histórico anterior está cifrado com chaves que o novo membro não tem. Entender o limite.

Se você perder o celular

Sua conta é protegida por uma chave que fica no aparelho. Se o aparelho quebrar e você não tiver uma cópia, perde o acesso — não existe “recuperar por e-mail”.

A solução é uma chave de recuperação: um código longo, guardado em papel ou num gerenciador de senhas, capaz de reinstalar o acesso numa máquina nova. É chato, mas é o preço de não ter uma empresa capaz de entrar na sua conta.

Ninguém pode “resetar” sua conta

Nem o provedor, nem o cartório, nem quem desenvolve o aplicativo. Isso é uma proteção contra vigilância e um risco pessoal ao mesmo tempo. Guarde a chave de recuperação.

Para quem quer o detalhe

Como funciona a troca de chaves de um grupo

O padrão usado é o MLS (Messaging Layer Security), o mesmo que está sendo padronizado para interoperar aplicativos de mensagem entre empresas diferentes.

Ele organiza os membros numa estrutura de árvore: cada participante conhece apenas os segredos do seu ramo. Quando alguém entra ou sai, só o caminho afetado é recalculado — e não a conversa inteira. É o que torna grupos grandes viáveis.

Por que “mensagem apagada” não é garantia

Apagar do seu aparelho é fácil. Apagar do aparelho do outro não é: o destinatário já descriptografou. Nenhum aplicativo sério promete isso.

O que o projeto pode fazer é apagar o conteúdo dos provedores e deixar um registro de que o conteúdo existiu — sem o conteúdo.

O envio é imediato? E se o destinatário estiver offline?

Não existe conexão direta garantida entre dois celulares: aparelhos dormem, trocam de rede e ficam atrás de bloqueios. Por isso a mensagem fica depositada num provedor até o destinatário buscá-la.

O provedor funciona como um escaninho: guarda o embrulho, avisa que chegou, e entrega quando der. Não abre.