ALEX EMIDIO
12 min readOct 10, 2023

O SimpleXChat é uma plataforma de mensagens revolucionárias que redefinem a privacidade, sendo o primeiro mensageiro sem IDs de usuário. O aplicativo permite que os usuários se comuniquem com outras pessoas sem ter que fornecer identificadores de usuário, como números de telefone ou endereços de e-mail. é 100% privado e seguro, Por design, garantindo que suas mensagens nunca sejam rastreadas ou armazenadas.

O SimpleXChat possui recursos como bate-papo em grupo, envio de arquivos e uma interface amigável para dispositivos móveis, desktop, CLI. O SimpleXChat é um dos aplicativos construídos sobre a plataforma SimpleX, que também serve como um exemplo e aplicativo de referência. O SimpleX Messaging Protocol (SMP) é um protocolo que permite enviar mensagens em uma direção para um destinatário, usando um servidor intermediário. As mensagens são entregues por meio de filas unidirecionais criadas pelos destinatários.

O SMP é executado em um protocolo de transporte (TLS), que fornece integridade, autenticação do servidor, confidencialidade e vinculação do canal de transporte. A Rede SimpleX é o coletivo de servidores SimpleX que facilitam o SMP. As bibliotecas SimpleX Client falam SMP para SimpleX Servers e fornecem uma API de baixo nível, geralmente não destinada a ser usada por aplicativos.

SimpleXChat é um aplicativo de mensagens construído em cima da plataforma SimpleX, que se concentra em fornecer privacidade e segurança aos seus usuários. O aplicativo permite que os usuários se comuniquem com outras pessoas sem ter que fornecer identificadores de usuário, como números de telefone ou endereços de e-mail.

o SimpleXChat possui recursos como bate-papo em grupo, envio de arquivos e uma interface amigável para dispositivos móveis.

O SimpleX tem como objetivo fornecer uma infraestrutura de mensagens distribuídas que seja segura, privada, confiável, com entrega assíncrona e baixa latência. Ele visa oferecer melhor privacidade de metadados e segurança contra invasores de rede ativos e servidores mal-intencionados em comparação com soluções alternativas de mensagens instantâneas, ao mesmo tempo em que prioriza a experiência do usuário,especialmente em dispositivos móveis.

Por que o SimpleX é único

1. Privacidade total de sua identidade, perfil, contatos e metadados

Ao contrário de outras plataformas de mensagens, o SimpleX não possui identificadores atribuídos aos usuários . Ele não depende de números de telefone, endereços baseados em domínio (como e-mail ou XMPP), nomes de usuário, chaves públicas ou mesmo números aleatórios para identificar seus usuários - não sabemos quantas pessoas usam nossos servidores SimpleX

Para entregar mensagens, o SimpleX usa endereços anônimos emparelhados de filas de mensagens unidirecionais, separadas para mensagens recebidas e enviadas, geralmente por meio de servidores diferentes. Usar o SimpleX é como ter um e-mail ou telefone “gravador” diferente para cada contato e sem problemas para gerenciá-los.

Esse design protege a privacidade de quem você está se comunicando, ocultando-a dos servidores da plataforma SimpleX e de quaisquer observadores. Para ocultar seu endereço IP dos servidores, você pode se conectar aos servidores SimpleX via Tor .

2. A melhor proteção contra spam e abuso
Como você não possui um identificador na plataforma SimpleX, ninguém pode entrar em contato com você, a menos que você compartilhe um endereço de usuário único ou temporário, como um código QR ou um link.
Mesmo com o endereço de usuário opcional, embora possa ser usado para enviar solicitações de contato de spam, você pode alterá-lo ou excluí-lo completamente sem perder nenhuma de suas conexões.

3. Propriedade, controle e segurança de seus dados

O SimpleX Chat armazena todos os dados do usuário apenas em dispositivos clientes usando um formato de banco de dados criptografado portátil que pode ser exportado e transferido para qualquer dispositivo compatível.

As mensagens criptografadas de ponta a ponta são mantidas temporariamente em servidores de retransmissão SimpleX até serem recebidas e, em seguida, são excluídas permanentemente.

Ao contrário dos servidores de redes federadas (e-mail, XMPP ou Matrix), os servidores SimpleX não armazenam contas de usuários, apenas retransmitem mensagens, protegendo a privacidade de ambas as partes.

Ao contrário dos servidores de redes federadas (e-mail, XMPP ou Matrix), os servidores SimpleX não armazenam contas de usuários, apenas retransmitem mensagens, protegendo a privacidade de ambas as partes.

Não há identificadores ou texto cifrado em comum entre o tráfego do servidor enviado e recebido - se alguém estiver observando, não poderá determinar facilmente quem se comunica com quem, mesmo que o TLS esteja comprometido.

4. Totalmente descentralizado — os usuários são proprietários da rede SimpleX

Você pode usar o SimpleX com seus próprios servidores e ainda se comunicar com pessoas que usam os servidores pré-configurados fornecidos por nós.

A plataforma SimpleX usa um protocolo aberto e fornece SDK para criar bots de bate-papo , permitindo a implementação de serviços com os quais os usuários podem interagir por meio de aplicativos de bate-papo SimpleX. A rede SimpleX é totalmente descentralizada e independente de qualquer criptomoeda ou qualquer outra plataforma, exceto a Internet.
Você pode usar o SimpleX com seus próprios servidores ou com os servidores fornecidos por nós.

Características SimpleXchat
• Mensagens criptografadas por E2E com remarcação e edição

• Imagens e arquivos criptografados por E2E

• Grupos secretos descentralizados apenas os usuários sabem que eles existem

• Mensagens de voz criptografadas por E2E

• Mensagens desaparecidas

• Chamadas de áudio e vídeo criptografadas com E2E

• Banco de dados criptografado portátil — mova seu perfil para outro dispositivo

• Modo de navegação anônima exclusivo do SimpleX Chat

O que torna o SimpleX privado

Identificadores par a par anônimos temporários
O SimpleX usa endereços emparelhados anônimos temporários e credenciais para cada contato do usuário ou membro do grupo.
Ele permite entregar mensagens sem identificadores de perfil de usuário, fornecendo melhor privacidade de metadados do que alternativas.

Troca de chaves fora de banda
Muitas plataformas de comunicação são vulneráveis ​​a ataques MITM por servidores ou provedores de rede.
Para evitar que os aplicativos SimpleX passem chaves únicas fora de banda, quando você compartilha um endereço como um link ou um código QR.

2 camadas de criptografia de ponta a ponta Protocolo de catraca dupla —mensagens OTR com sigilo de encaminhamento perfeito e recuperação de invasão. Criptobox NaCL em cada fila para evitar a correlação de tráfego entre as filas de mensagens se o TLS estiver comprometido.

Verificação da integridade da mensagem Para garantir a integridade as mensagens são numeradas sequencialmente e incluem o hash da mensagem anterior.
Se alguma mensagem for adicionada, removida ou alterada, o destinatário será alertado.

Camada adicional de criptografia do servidor Camada adicional de criptografia do servidor para entrega ao destinatário, para evitar a correlação entre o tráfego do servidor recebido e enviado se o TLS estiver comprometido.

Mistura de mensagens
para reduzir a correlação
Os servidores SimpleX atuam como nós de mistura de baixa latência — as mensagens recebidas e enviadas têm ordem diferente.

Transporte TLS autenticado seguro
Somente o TLS 1.2/1.3 com algoritmos fortes é usado para conexões cliente-servidor. A impressão digital do servidor e a ligação do canal evitam ataques MITM e de repetição.
A retomada da conexão é desativada para evitar ataques de sessão.

Acesso opcional
via Tor
Para proteger seu endereço IP, você pode acessar os servidores via Tor ou alguma outra rede de sobreposição de transporte. Para usar o SimpleX via Tor, instale o aplicativo Orbot e habilite o proxy SOCKS5 (ou VPN no iOS ).

Filas de mensagens unidirecionais
Cada fila de mensagens passa mensagens em uma direção, com diferentes endereços de envio e recebimento. Ele reduz os vetores de ataque, em comparação com os corretores de mensagens tradicionais e os metadados disponíveis.

Várias camadas de preenchimento de conteúdo SimpleX usa preenchimento de conteúdo para cada camada de criptografia para frustrar ataques de tamanho de mensagem. Faz mensagens de tamanhos diferentes parecerem iguais para os servidores e observadores de rede.

A rede SimpleX diferente de outras redes P2P ao ser composta por clientes e servidores sem depender de um componente centralizado. Ele usa filas de mensagens unidirecionais redundantes (simplex) para comunicação, eliminando a necessidade de endereços exclusivos globalmente. As solicitações de conexão são protegidas contra ataques man-in-the-middle e as filas de mensagens simples são usadas pelos clientes para criar cenários de comunicação mais complexos. Os servidores não armazenam nenhuma informação do usuário e os usuários podem mudar de servidor com interrupção mínima.

Rede SimpleX

Simplex Chat fornece a melhor privacidade combinando as vantagens de redes P2P e federadas.

Ao contrário das redes P2P

Todas as mensagens são enviadas pelos servidores, proporcionando melhor privacidade de metadados e entrega de mensagens assíncronas confiáveis, evitando muitos problemas de redes P2P .

1. As redes P2P dependem de alguma variante do DHT para rotear mensagens. Os projetos DHT precisam equilibrar a garantia de entrega e a latência. O SimpleX tem melhor garantia de entrega e menor latência do que o P2P, pois a mensagem pode ser passada de forma redundante por vários servidores em paralelo, utilizando os servidores escolhidos pelo destinatário. Em redes P2P a mensagem é passada por nós O(log N) sequencialmente, usando nós escolhidos pelo algoritmo.

2. O design SimpleX, ao contrário da maioria das redes P2P, não possui identificadores globais de usuário de qualquer tipo, mesmo temporários, e usa apenas identificadores temporários emparelhados, fornecendo melhor anonimato e proteção de metadados.

3. O P2P não resolve o problema do ataque MITM e a maioria das implementações existentes não usa mensagens fora de banda para a troca inicial de chaves. O SimpleX usa mensagens fora de banda ou, em alguns casos, conexões seguras e confiáveis ​​pré-existentes para a troca inicial de chaves.

4. As implementações P2P podem ser bloqueadas por alguns provedores de Internet (como BitTorrent ). O SimpleX é agnóstico de transporte - ele pode funcionar sobre protocolos da Web padrão, por exemplo, WebSockets.

5. Todas as redes P2P conhecidas podem ser vulneráveis ​​ao ataque Sybil , porque cada nó é detectável e a rede opera como um todo. As medidas conhecidas para mitigá-lo exigem um componente centralizado ou uma prova de trabalho cara . A rede SimpleX não tem capacidade de descoberta de servidor, é fragmentada e opera como várias sub-redes isoladas, impossibilitando ataques em toda a rede.

6. As redes P2P podem ser vulneráveis ​​a ataques DRDoS , quando os clientes podem retransmitir e amplificar o tráfego, resultando em negação de serviço em toda a rede. Os clientes SimpleX apenas retransmitem o tráfego de conexão conhecida e não podem ser usados ​​por um invasor para amplificar o tráfego em toda a rede.

Ao contrário das redes federadas

Os servidores de retransmissão SimpleX NÃO armazenam perfis de usuário, contatos e mensagens entregues, NÃO se conectam entre si e NÃO há diretório de servidores.

os servidores fornecem filas unidirecionais para conectar os usuários, mas não têm visibilidade do grafo de conexão de rede — somente os usuários têm.

Simplex explicado

1. O que os usuários experimentam

Você pode criar contatos e grupos e ter conversas bidirecionais, como em qualquer outro messenger. Como trabalhar com filas unidirecionais e sem identificadores de perfil de usuário?

2. Como funciona

Para cada conexão, você usa duas filas de mensagens separadas para enviar e receber mensagens por meio de servidores diferentes.

Os servidores passam mensagens apenas de uma maneira, sem ter uma imagem completa da conversa ou das conexões do usuário.

3. O que os servidores veem

Os servidores têm credenciais anônimas separadas para cada fila e não sabem a quais usuários pertencem.
Os usuários podem melhorar ainda mais a privacidade dos metadados usando o Tor para acessar os servidores, evitando a correlação por endereço IP.

Passo a passo instalação do aplicativo SimpleXchat:

1. Baixe e Instale o Aplicativo:

- Procure o SimpleXchat no F-droid ou obtainium.

- Faça o download e instale o aplicativo em seu dispositivo móvel.

Criando seu Perfil:

1. Criar Perfil:

- Clicar em “CRIE SEU PERFIL “, contatos e mensagens são armazenados localmente em seu dispositivo.

2. Nome de Exibição exemplo: Blackpill

- Toque em "Criar" para configurar seu perfil e começar a usar o SimpleXchat.

3. Endereço SimpleX:

• Criar endereço SimpleX Seus contatos no SimpleX verão este endereço. Você pode alterá-lo nas configurações.

- Clicar duas vezes no nome “Criar endereço SimpleX “ para criar endereço.

Aberta em “continuar”

• Criar um endereço você pode cria-lo mais tarde aberta >

4. Notificação privadas

- Escolha o tipo de notificação que preferir tem 3 opções.

1. Quando o App Está Executando: Melhor para a bateria. Notificações apenas quando o aplicativo está em uso (sem segundo plano).

2. Periódico: Bom para bateria. O serviço em segundo plano procura por mensagens a cada 10 minutos. Você pode perde chamadas ou mensagens urgentes.

3. Instantânea: Consome mais bateria. Mantém o serviço em segundo plano sempre em em execução – as notificações são exibidas assim que as mensagens estiverem disponíveis.

Escolha a opção aberta em “ USAR CHAT “

• Backup e Recuperação de Dados:

- Backup. “Clicar no canto superior lado esquerdo na foto de perfil“

Selecione a opção “Senha e Exportação de Banco de Dados“

Desabilite a opção “Chat em Execução”

Vai aparece um aviso. Parar chat? Pare o chat para exportar, importar ou excluir o banco de dados do chat. Você não poderá receber e enviar mensagens enquanto o chat estive interrompido.

Clicar em “parar”

Banco de dados de chat tem 4 opções.

Senha do banco de dados

Exportar banco de dados

Importa banco de dados

Excluir banco de dados

Clicar na opção “1. Senha do banco de dados”

- O Banco de Dados armazena todos os seus contatos e grupos e é protegido por uma senha aleatória. Recomenda-se trocar essa senha padrão.

1. Senha do banco de dados.

Salva senha na keystore.

Tem duas opções

•Nova senha...

•Confirmar nova senha.

Lembre-se de usar uma senha forte. Android keystore é usado para armazenar a senha com segurança – permite que o serviço de notificação funcione.

Após adicionar senha clicar “Atualizar senha do banco de dados”

Vai aparecer um aviso.

Alterar senha do banco de dados? Senha de criptografia do banco de dados será atualizada e armazenada na keystore. Guarde a senha em um local seguro, você NÃO poderá alterá-la se a perde.

Só clicar “Atualizar” demora 1 minuto aparece a mensagem “banco de dados criptografado!” Só clicar “ok”

• Clicar na opção 2. Exportar banco de dados.

Tem duas poções salvar na memória do Celular , Pendrive , componentes externos de sua preferência.

- Por padrão Vai abrir na memória do celular pra salva o arquivo backup criptografado na pasta sua escolha.

- Pra guardei no pendrive e necessário um cabo OTG pra salva o backup criptografado. Conecte um cabo OTG no celular , alguns celulares já reconhece automaticamente e entra diretamente na pasta do seu pendrive outros aparece um aviso pra aceitar pendrive. Depois Só basta selecionar o pendrive e salva backup.

• Clicar na opção 3. Importa banco de dados.

- Caso você perca seu celular , você não tem acesso ao backup. Mas se tive salvo no pendrive ou componentes externo só basta seguir etapas seguintes.

- Faça a instalação do aplicativo e criar uma nova conta, selecione a opção "Senha e Exportação de Banco de Dados" é desabilite a opção "Chat em Execução". Isso permitirá que você faça a importação do backup.

Clicar na opção Importa banco de dados.

Selecione o artigo do backup no pendrive.

Vai aparecer um aviso.

Importa banco de dados de Chat?

Seu banco de dados de Chat atual será EXCLUÍDO ou SUBSTITUÍDO pelo importado.

Esse ação não pode ser desfeita - Seu Perfil, contatos, mensagens e arquivos serão perdidos de formas irreversível.

Só clicar "importa"

Vai aparecer um aviso.

Banco de dados de chat Importado.

Reinicie o aplicativo pra usar o banco de dados do chat Importado.

Só clicar em "ok"

Depois Habilite a opção "Chat em Execução".

Vai aparecer um aviso.

Banco de dados Criptografado.

Senha do banco de dados e necessário para abrir o Chat.

Digite a senha do seu banco de Dados.

Depois só clicar " salvar senha e abrir Chat"

Pronto foi feita a recuperação de todos os meus dados, incluindo contatos, mensagens e grupos.

Podcast muito bom no @optoutpod com o criador @epoberezkin SimpleXchat.

https://youtu.be/LrLsS7-woN0?si=mTXC97d_Ca8VGr-i

Site : https://simplex.chat/

Protocolo de bate-papo:
https://github.com/simplex-chat/simplex-chat/blob/stable/docs/protocol/simplex-chat.md

Whitepaper, incluindo modelagem de ameaças: https://github.com/simplex-chat/simplexmq/blob/stable/protocol/overview-tjr.md

Execute seu próprio servidor SimpleX SMP: https://github.com/simplex-chat/simplexmq