Criptografia de ponta a ponta para chat

Continuando a discussão de Apresentando o Discourse Chat (BETA):

Apenas queria separar isso como um pedido de recurso: implementar criptografia de ponta a ponta no novo recurso de chat.

Acho que isso pode ser um divisor de águas, em termos de eu, como administrador, não querer ter acesso às mensagens de chat pessoais das pessoas, eu, como membro, não querer que outros administradores tenham acesso aos meus chats pessoais, e também em como Discord, Slack e a maioria dos outros não oferecem isso como opção.

Imagino que possa não ser uma prioridade inicial, mas espero que venha nos próximos 7 meses :slight_smile: Obrigado por tudo que vocês fazem com o Discourse e a nova função de chat.

17 curtidas

Isso já está totalmente implementado com Discourse Encrypt (deprecated)

Funciona muito bem.

Posso confirmar que o plugin de criptografia torna as mensagens privadas entre usuários impossíveis de ler sem chaves de descriptografia. Nenhuma espionagem de administrador é possível.

Matrix, Signal, Rocket.chat, Wire oferecem e2e e são de código aberto. Depois há Whatsapp e Telegram. Apenas para esclarecer para qualquer outra pessoa que esteja lendo isto.

Certifique-se de experimentar o Discourse Encrypt. Funciona muito bem! Criptografia total que você adiciona à sua sessão para acessar suas mensagens criptografadas entre você e outras X pessoas. Nenhuma dependência de categorias ou outra funcionalidade, que é como o chat funciona. Zero reclamações!!!

4 curtidas

Ah sim, eu poderia ter sido mais claro: adoro que exista para mensagens privadas (tópicos) e também quero que exista para as novas mensagens de chat privado em tempo real.

Eu também poderia ter sido mais claro sobre isso. O que eu quis dizer foi que não acho que e2e de mensagens privadas exista muito em plataformas mais orientadas para comunidade/fórum: Discord, Circle, Slack, Teams, Guilded, Zulip, etc. Sim, muitas plataformas principalmente 1-1 ou de chat em grupo o têm, como você mencionou. Talvez Matrix, Rocket.chat e Wire sejam usados de forma semelhante para gerenciamento de comunidade, mas não acho que eles tenham tantos recursos de comunidade.

De qualquer forma, eu também adoro para tópicos privados e estou animado para isso em chats privados também :slightly_smiling_face:

5 curtidas

Eu adoraria criptografia de ponta a ponta em chats em tempo real!

:star_struck:

Mas eis o ponto: a criptografia para mensagens privadas reduz drasticamente os usos dessas mensagens.

Nem sempre é óbvio de imediato. Você pode adicionar e remover pessoas de mensagens privadas, pode usá-las em seu fluxo de trabalho editorial (eu as uso para capturar notas, antes de compartilhá-las mais amplamente!), todo tipo de coisa. Criptografe-as e, de repente, muito do que podemos fazer não é mais apropriado, dada a natureza da criptografia envolvida.

Ok, agora aplique isso a chats em tempo real.

Uh oh! De repente, perderemos muito não apenas do que torna um canal de chat interessante, mas também do que torna o chat do Discourse interessante: recursos avançados que estão se desenvolvendo à medida que descobrimos como integrar o chat aos processos de captura de conhecimento que as pessoas já usam o Discourse para; adicionar criptografia a isso reduziria drasticamente a utilidade do chat, neste caso.

Sou um apoiador de criptografar tudo! Eu uso OMEMO para todos os meus chats pessoais, em um servidor que controlo. Mas há compensações, e elas não são o que eu gostaria de aplicar ao Discourse Chat. O que temos será algo muito legal por si só. :sunglasses:

Além disso, MPs criptografados são como, já são canais de chat em tempo real, então aí está!

2 curtidas

Vejo o Discourse como dividido em tais partes:

Semelhante a e-mail — “Tópicos”

  • Público — “Tópico” (com configurações de segurança de categoria padrão de “todos”, totalmente público se o site não exigir login)
  • Semi-público — “Tópico” (com configurações de segurança de categoria restritas a grupos)
  • Privado — “Mensagem Pessoal” (restrito apenas a indivíduos convidados, acredito)

Semelhante a chat — “Chats”

  • Público — “Canais” (aberto a registro, mas oculto por padrão, não totalmente público porque não disponível para usuários não logados)
  • Semi-público — “Canais” (com configurações de segurança de categoria restritas a grupos, acho)
  • Privado — “Chat Pessoal” (restrito apenas a indivíduos convidados, acredito)

Como você mencionou, vejo tais desvantagens em usar criptografia para tópicos privados (mensagens pessoais), pois os vejo de forma muito semelhante a enviar um e-mail privado: às vezes são usados para rascunhos, às vezes queremos colocar pessoas em cópia para envolvê-las, às vezes queremos encaminhá-lo, transformá-lo em uma discussão pública, etc. Ainda gosto dos benefícios de saber que algo rotulado como pessoal não é legível por um administrador, mas consigo ver algumas das compensações.

Também consigo ver as desvantagens da criptografia para chats públicos e semi-públicos (canais), pois dificultaria a citação de chats em um tópico, e até mesmo o antigo, talvez novo novamente, recurso de mover mensagens de chat para tópicos. Gosto dessas habilidades e não gostaria de prejudicá-las; além disso, com eles sendo públicos e semi-públicos, tenho mais a expectativa de que um administrador possa lê-los todos.

Ainda desejo fortemente o e2ee para chat privado (chat pessoal). Raramente, ou nunca, trarei outra pessoa para um chat específico, em vez disso, iniciarei um novo chat em grupo. Raramente os usarei como rascunhos ou quererei convertê-los em algo em um canal de chat público/semi-público. Acho que os vejo como a forma mais íntima de comunicação que temos online e o Facebook e outras plataformas não têm e2ee padrão em seus chats privados e muitas pessoas não se importam, acho que o risco é muito maior em comunidades menores, pois é mais difícil se esconder na multidão de milhões/bilhões de pessoas.

Eu trabalho com emoções, ajudando as pessoas a lidar com conflitos e expressar como se sentem, e ativei a criptografia para tópicos privados e provavelmente tentarei desativar a capacidade das pessoas de enviar chats privados para qualquer pessoa, exceto para mim, até que o e2ee exista para isso, porque quero que elas estejam totalmente cientes de que qualquer chat que enviarem, eu posso ver.

Então, sim, consigo ver por que isso pode limitar outras funções em tópicos privados e canais de chat públicos/semi-públicos, eu apenas realmente quero que o espaço mais privado na plataforma seja o mais privado possível.

7 curtidas

Continuando a discussão de Suporte de federação para Discourse e de Beta do Discourse Chat:

Talvez o chat do Discourse possa considerar o suporte à federação Matrix e criptografia de ponta a ponta (baseada no Signal). Veja esta postagem sobre o Rocket.chat anunciando formalmente que apoiará os padrões Matrix daqui para frente.

Pessoalmente, acho o Matrix fantástico. Portanto, certamente vale a pena considerar um possível caminho; pelo menos rende uma conversa interessante. :smile:

5 curtidas

Alguma atualização sobre se o e2ee para mensagens de chat ainda está no roteiro?

1 curtida

Isso ainda não é algo que planejamos fazer no curto prazo.

6 curtidas

Ah, que pena ouvir isso. Eu estava realmente animado com esse recurso porque, como usuário, raramente uso plataformas de chat que não têm criptografia de ponta a ponta (e2ee), pois não quero que a empresa tenha acesso a um dos formatos de conversa mais íntimos e, como administrador, realmente não quero ver o que as pessoas estão enviando umas às outras ou ser legalmente responsável por isso.

Se não for algo para o curto prazo, provavelmente me verei desativando o chat pessoal em todos os fóruns que administro, a menos que eu inicie especificamente o chat pessoal com uma ou mais pessoas para que elas estejam totalmente cientes de que estou sempre a par da conversa.

3 curtidas

Uma opção que pode atender às suas necessidades é definir a retenção como muito baixa

3 curtidas

Isso pode contornar o problema para algumas coisas. A retenção ainda é uma configuração em todo o sistema? Ou as pessoas poderiam escolher sua própria retenção para cada chat pessoal, como no WhatsApp/Signal?

2 curtidas

Ainda é algo que afeta todo o sistema. Existe uma configuração para canais e outra para mensagens diretas.

Acho que faz sentido torná-la algo por canal no futuro, mas não é algo de alta prioridade no momento.

3 curtidas

Ah, ok, então acho que ainda desativarei as mensagens diretas (chats pessoais), pois se eu definir a retenção muito baixa, acho que algumas pessoas podem ficar muito irritadas com o desaparecimento de seus chats pessoais e não ter controle sobre isso, como elas têm em outras plataformas de chat.

Além disso, estou realmente curioso sobre o desenvolvimento do plugin de chat, existe algum lugar onde eu possa aprender quais recursos estão no topo da lista para desenvolvimento? Existe algum tipo de roteiro público, mesmo que enterrado no GitHub? :slight_smile:

2 curtidas

Devemos atualizar o tópico para a próxima versão no próximo mês ou mais para refletir melhor nossos planos de alto nível para a próxima versão do Discourse como um todo, mas não temos mantido um roteiro público para chat ou outros recursos específicos.

Você pode conseguir entender o que está recebendo atenção observando o repositório discourse/discourse e a tag chat aqui.

Ficarei feliz em compartilhar mais informalmente sobre quais são nossas prioridades atuais para o chat em um tópico separado.

5 curtidas

Verificarei esses três locais que você mencionou, obrigado!

Além disso, iniciarei um tópico separado focado nas prioridades atuais para o chat.

Por último, em relação ao e2ee para chat, alguma sugestão sobre como se poderia construir um plugin para isso e, em teoria, quão difícil ou caro seria construir e manter? A sugestão seria adaptar o plugin Discourse Encrypt ou algum outro plugin/biblioteca?

2 curtidas

Nós também adoraríamos criptografia em chats em grupo. Isso nos ajudaria a eliminar o uso de aplicativos de terceiros onde precisamos discutir algo muito sensível e queremos que nunca chegue a nenhum servidor em forma bruta. Temos que fazer isso de qualquer maneira, seja no Discourse ou em outro lugar. Ser capaz de eliminar o uso de um aplicativo de terceiros enquanto já usamos o Discourse, seria uma vitória para nós.

As mensagens de chat são removidas completamente do banco de dados 100%?

Além disso, vale mencionar que a mensagem de chat não criptografada também ficará nos backups.

1 curtida

Eu não vi o discourt criptografar para mensagens pessoais cobrir este caso de uso para mim. Na verdade, não vejo o caso de uso para e2e em termos de chat em tempo real, porque isso quebra toda a intenção de conversar sobre o fórum e replica o plugin de criptografia existente.

Exatamente.

Mas por que não alcançar isso usando o sistema de confiança existente e as restrições de grupo do Discourse primeiro?

Conseguimos resolver isso usando grupos de adesão/recusa. Realmente ajudou e permitiu que todos os outros nunca vissem tais mensagens enquanto usavam o fórum.

Antes de pensar que as coisas devem ser e2e (quebrando toda a estrutura do fórum), considere o quão longe você pode chegar com restrições de grupo. :heart: Altamente recomendado.

Meu .02 é que e2e é usado quando você não pode confiar no seu admin mantendo o sistema que hospeda seu fórum, em oposição à privacidade das postagens e interações do usuário (que já podem ser tratadas).

1 curtida

Se fosse apenas para ocultar chats de outros usuários, então sim, acho que as permissões de grupo/confiança funcionam bem.

Para mim, trata-se mais de ocultar os chats dos administradores/servidor. Com isso em mente, não acho que as permissões de grupo/confiança funcionarão, pois os chats ainda estarão em texto simples no servidor.

Por que isso importa? No meu contexto, se Alice está conversando com Bob sobre problemas emocionais profundos em sua vida em um chat pessoal, eu, como administrador, não quero ter a capacidade de bisbilhotar tal conversa e quero que Alice e Bob se sintam seguros de que não estou bisbilhotando. Mesma razão pela qual prefiro Whatsapp ou Signal e realmente não gosto de IG ou FB messenger, pois prefiro saber (acreditar firmemente) que os administradores não podem simplesmente ler tudo o que eu digito.

1 curtida

Para ser justo, a experiência é muito diferente. O chat é:

  • visualmente mais compacto, que é exatamente o que é necessário para chats
  • mais rápido
  • pode estar em uma janela pop-up enquanto você está em algum tópico - para que você possa editar tópicos de memória de longo prazo enquanto discute isso com alguém em um chat na mesma tela

:bulb: Uma filosofia de para onde o Discourse está indo de acordo com minha observação desde o seu início é que tópicos, MPs e chats estão convergindo para a mesma coisa e compartilhando cada vez mais recursos (pode ser planejado/consciente ou inconsciente). Portanto, se pudermos ter MPs que “flutuam” como janelas de chat, são mais compactas nesse modo “chat” e são super rápidas, então sim, não precisamos de chat com criptografia, estaremos apenas usando MPs criptografadas.

3 curtidas