4

Pitch: O Tabs, aplicativo Android para o TabNews, agora tem E2EE, mensagem direta criptografada de ponta a ponta. Chama.

Na última publicação comentei que talvez estivesse inventando funcionalidade como desculpa pra não fazer o envio de mensagens. Agora fiz.

A versão 1.5.0 tem mensagens diretas entre usuários do app. Dá pra abrir o perfil de qualquer autor de um post e iniciar uma conversa diretamente pelo Tabs.

As mensagens são criptografadas de ponta a ponta usando RSA-2048 e AES-256-GCM. Em resumo, o RSA-2048 é usado pra encriptar o AES-256 que encriptou o texto. Na prática: nem eu tenho acesso ao conteúdo, só remetente e destinatário conseguem ler. E se desinstalar o app e instalar novamente "perde" o histórico. Na verdade as mensagens vão estar lá mas as chaves pra descriptografar não vão ser mais as mesmas.

Para acessar suas conversas é no novo botão que tem do lado do botão de login.

HomeConversasno Tabs

Algumas coisas que percebi e que posso adicionar em versões futuras:

  • O íconezinho que fica lá em cima quando chega uma notificação está o padrão do Android. Depois coloco o 'T' do Tabs lá.
  • Obviamente, só é possível falar com entre usuários do aplicativo, porém não tem como saber quem é usuário do aplicativo. Falha nossa. Vou criar alguma maneira de ser possível ver quem está logado no app ou não pra poder iniciar uma conversa.
  • Outra coisa, hoje é possível todo mundo falar com todo mundo. Não sei se isso é bom ou ruim.
  • Não tem uma 'pré-visualização' da mensagem. Isso envolve ter um banco local ou manter um 'snippet' da última mensagem. Existem algumas maneiras de resolver. Gosto da ideia do cache local talvez com Room ou sqlite.
  • Deve ter mais coisa.

Deixar claro que aplicativos como Signal, Telegram e WatsApp implementam a E2EE de maneira diferente. Essa é uma implementação inicial que já garante certo sigilo e que tem espaço pra melhorar. Segue um quadro que segundo o Claude é verdade.

TabsWhatsApp / SignalTelegram (Secret Chat)
Criptografia de mensagemAES-256-GCMAES-256-CBC (Signal Protocol)AES-256-IGE (MTProto)
Troca de chavesRSA-2048 OAEPDiffie-Hellman com Curve25519Diffie-Hellman com Curve2048
Armazenamento de chave privadaAndroid Keystore (hardware)Memória do appMemória do app

Fala aí o que ficou faltando.

Carregando publicação patrocinada...