Cifrado de extremo a extremo para chat

Continuando la discusión de Presentamos Discourse Chat (BETA):

Solo quería separar esto como una solicitud de función: implementar el cifrado de extremo a extremo en la nueva función de chat.

Creo que esto podría cambiar las reglas del juego, en términos de que yo, como administrador, no quiero tener acceso a los mensajes de chat personales de las personas, yo, como miembro, no quiero que otros administradores tengan acceso a mis chats personales, y también en cómo Discord, Slack y la mayoría de los demás no ofrecen esto como una opción.

Imagino que puede que no sea una prioridad principal, y sin embargo, espero que llegue en los próximos 7 meses :slight_smile: Gracias por todo lo que hacen con Discourse y la nueva función de chat.

17 Me gusta

Esto ya está completamente implementado con Discourse Encrypt (deprecated)

Funciona de maravilla.

Confirmo que el plugin de cifrado hace que los mensajes privados entre usuarios sean imposibles de leer sin las claves de descifrado. No es posible la intromisión de ningún administrador.

Matrix, Signal, Rocket.chat, Wire ofrecen cifrado de extremo a extremo (e2e) y son de código abierto. Luego están Whatsapp y Telegram. Solo para aclarar a cualquier otra persona que lea esto.

Asegúrate de probar Discourse Encrypt. ¡Funciona genial! Cifrado completo que añades a tu sesión para acceder a tus mensajes cifrados entre tú y otras X personas. Sin dependencia de categorías u otra funcionalidad, que es como funciona el chat. ¡¡¡Cero quejas!!!

4 Me gusta

Ah sí, podría haber sido más claro: me encanta que exista para mensajes privados (temas) y también quiero que exista para los nuevos mensajes de chat privado en tiempo real.

También podría haber sido más claro en esto. Lo que quise decir fue que no creo que el e2e de mensajes privados exista mucho en las plataformas más orientadas a la comunidad/foro: Discord, Circle, Slack, Teams, Guilded, Zulip, etc. Sí, muchas plataformas principalmente 1 a 1 o de chat grupal lo tienen, como mencionaste. Quizás Matrix, Rocket.chat y Wire se usen de manera similar para la gestión de comunidades, pero no creo que tengan tantas funciones comunitarias.

De todos modos, también me encanta para temas privados y estoy emocionado de que también esté en los chats privados :slightly_smiling_face:

5 Me gusta

Me encantaría tener cifrado de extremo a extremo en chats en tiempo real.

:star_struck:

Pero aquí está el problema: el cifrado para mensajes privados reduce drásticamente los usos de esos mensajes.

No siempre es obvio al principio. Puedes agregar y quitar personas de mensajes privados, puedes usarlos en tu flujo de trabajo editorial (¡los uso para capturar notas, antes de compartirlas más ampliamente!), todo tipo de cosas. Cífralos y, de repente, mucho de lo que podemos hacer ya no será apropiado, dada la naturaleza del cifrado involucrado.

Bien, ahora apliquemos eso a chats en tiempo real.

¡Oh, oh! De repente vamos a perder mucho de lo que hace que un canal de chat sea interesante, pero también vamos a perder lo que hace que el chat de Discourse sea interesante: funciones avanzadas que se están desarrollando a medida que descubrimos cómo integrar el chat en los procesos de captura de conocimiento que la gente ya usa en Discourse; agregar cifrado a eso reducirá drásticamente la utilidad del chat, en este caso.

¡Soy un partidario de cifrarlo todo! Uso OMEMO para todos mis chats personales, en un servidor que controlo. Pero hay compensaciones, y no son las que me gustaría aplicar al chat de Discourse. Lo que tenemos será algo muy genial por sí solo. :sunglasses:

Además, los mensajes privados cifrados son, como, canales de chat en tiempo real, ¡así que ahí lo tienes!

2 Me gusta

Veo Discourse dividido en las siguientes partes:

Similar al correo electrónico: “Temas”

  • Público: “Tema” (con la configuración de seguridad de categoría predeterminada de “todos”, totalmente público si el sitio no requiere inicio de sesión)
  • Semipúblico: “Tema” (con la configuración de seguridad de categoría restringida a grupos)
  • Privado: “Mensaje Personal” (restringido solo a personas invitadas, creo)

Similar al chat: “Chats”

  • Público: “Canales” (abiertos al registro pero ocultos por defecto, no totalmente públicos porque no están disponibles para usuarios no registrados)
  • Semipúblico: “Canales” (con la configuración de seguridad de categoría restringida a grupos, creo)
  • Privado: “Chat Personal” (restringido solo a personas invitadas, creo)

Como mencionaste, veo desventajas en el uso de cifrado para temas privados (mensajes personales), ya que los veo muy similares a enviar un correo electrónico privado: a veces se usan para borradores, a veces queremos poner a alguien en copia para que esté al tanto, a veces queremos reenviarlo, convertirlo en una discusión pública, etc. Todavía me gustan los beneficios de saber que algo etiquetado como personal no es legible por un administrador, pero puedo ver algunas de las compensaciones.

También veo las desventajas del cifrado para chats públicos y semipúblicos (canales), ya que dificultaría citar chats en un tema, e incluso la antigua, quizás renovada, función de mover mensajes de chat a temas. Me gustan esas capacidades y no querría obstaculizarlas; además, al ser públicos y semipúblicos, tengo una mayor expectativa de que un administrador pueda leerlos todos.

Todavía deseo firmemente el cifrado de extremo a extremo (e2ee) para chats privados (chat personal). Rara vez, o nunca, invitaré a otra persona a un chat específico, sino que iniciaré un nuevo chat grupal. Raramente los usaré como borradores o querré convertirlos en algo en un canal de chat público/semipúblico. Supongo que los veo como la forma de comunicación más íntima que tenemos en línea y FB y otras plataformas no tienen e2ee por defecto en sus chats privados y a mucha gente no le importa, creo que el riesgo es mucho mayor en comunidades más pequeñas, ya que es más difícil esconderse en la multitud de millones/miles de millones de personas.

Trabajo con emociones, ayudando a las personas a lidiar con conflictos y expresar cómo se sienten, y he activado el cifrado para temas privados y probablemente intentaré desactivar la capacidad de las personas para enviar chats privados a cualquiera que no sea yo hasta que exista el e2ee para ello, porque quiero que sean plenamente conscientes de que cualquier chat que envíen, yo puedo verlo.

Así que sí, puedo ver por qué puede limitar otras funciones en temas privados y canales de chat públicos/semipúblicos, solo quiero que el espacio más privado de la plataforma sea lo más privado posible.

7 Me gusta

Continuando la discusión de Soporte de federación para Discourse y de Beta de chat de Discourse:

Quizás el chat de Discourse podría considerar el soporte para la federación de Matrix y el cifrado de extremo a extremo (basado en Signal). Vea esta publicación sobre cómo Rocket.chat anunció formalmente que admitirá los estándares de Matrix en el futuro.

Personalmente, encuentro Matrix fantástico. Así que, ciertamente vale la pena considerar un posible camino; al menos da lugar a una conversación interesante. :smile:

5 Me gusta

¿Hay alguna novedad sobre si el cifrado de extremo a extremo para los mensajes de chat sigue en la hoja de ruta?

1 me gusta

Esto aún no es algo que planeemos hacer a corto plazo.

6 Me gusta

Ah, lamento mucho escuchar eso. Estaba muy entusiasmado con esta función porque, como usuario, rara vez utilizo plataformas de chat que no tienen cifrado de extremo a extremo (e2ee) porque no quiero que la empresa tenga acceso a uno de los formatos de conversación más íntimos y, como administrador, realmente no quiero ver lo que la gente se envía o ser legalmente responsable de ello.

Si no será algo a corto plazo, probablemente me veré obligado a desactivar el chat personal en todos los foros que administro, a menos que inicie específicamente el chat personal con una o varias personas para que sean plenamente conscientes de que siempre estoy al tanto de la conversación.

3 Me gusta

Una opción que puede satisfacer sus necesidades es establecer la retención en un valor muy bajo.

3 Me gusta

Eso podría solucionar el problema en algunos casos. ¿Sigue siendo la retención una configuración a nivel de sistema? ¿O podrían las personas elegir su propia retención para cada chat personal al estilo de WhatsApp/Signal?

2 Me gusta

Sigue siendo algo que afecta a todo el sistema. Hay una configuración para los canales y otra para los mensajes directos.

Creo que tendría sentido que fuera algo por canal en el futuro, pero no es algo de alta prioridad en este momento.

3 Me gusta

Ah, de acuerdo, entonces creo que aún así desactivaré los mensajes directos (chats personales), ya que si establezco la retención muy baja, creo que algunas personas se molestarán mucho porque sus chats personales desaparecen constantemente y no tienen control sobre ello como lo tienen en otras plataformas de chat.

Además, tengo mucha curiosidad sobre el desarrollo del plugin de chat, ¿hay algún lugar donde pueda ir para saber qué funciones están en lo más alto de la lista de desarrollo? ¿Hay algún tipo de hoja de ruta pública, aunque esté enterrada en GitHub? :slight_smile:

2 Me gusta

Deberíamos actualizar el tema para la próxima versión en el próximo mes más o menos para reflejar mejor nuestros planes de alto nivel para la próxima versión de Discourse en general, pero no hemos estado manteniendo una hoja de ruta pública para chat u otras características particulares.

Es posible que puedas entender lo que está recibiendo atención al observar el repositorio discourse/discourse y la etiqueta chat aquí.

Encantado de compartir más informalmente sobre cuáles son nuestras prioridades actuales para el chat en un tema separado.

5 Me gusta

¡Revisaré esos tres lugares que mencionaste, gracias!

Además, comenzaré un tema separado centrado en las prioridades actuales para el chat.

Por último, con respecto a e2ee para el chat, ¿alguna sugerencia sobre cómo se podría construir un plugin para hacerlo y, en teoría, qué tan difícil o costoso podría ser construirlo y mantenerlo? ¿Sería la sugerencia adaptar el plugin Discourse Encrypt o algún otro plugin/biblioteca?

2 Me gusta

A nosotros también nos encantaría el cifrado en los chats grupales. Esto nos ayudaría a eliminar el uso de aplicaciones de terceros donde necesitamos discutir algo muy sensible y queremos que nunca llegue a ningún servidor en forma sin cifrar. Tenemos que hacerlo de todos modos, ya sea en Discourse o en otro lugar. Poder eliminar el uso de una aplicación de terceros mientras ya usamos Discourse, sería una victoria para nosotros.

¿Se eliminan los mensajes de chat de la base de datos por completo al 100%?

Además, vale la pena mencionar que el mensaje de chat sin cifrar también residirá en las copias de seguridad.

1 me gusta

No he visto que el cifrado de Discourse para mensajes personales cubra este caso de uso para mí. En realidad, no veo el caso de uso para e2e en términos de chat en tiempo real, porque eso rompe toda la intención de chatear sobre el foro y replica el plugin de cifrado existente.

Exactamente.

Pero, ¿por qué no lograr esto usando primero el sistema de confianza y las restricciones de grupo existentes de Discourse?

Pudimos resolver esto usando grupos de opción de entrada / opción de salida. Realmente ayudó y permitió que todos los demás nunca vieran tales mensajes mientras usaban el foro.

Antes de pensar que las cosas deben ser e2e (rompiendo toda la estructura del foro), considera hasta dónde puedes llegar con las restricciones de grupo. :heart: Muy recomendado.

Mi opinión es que e2e se usa cuando no puedes confiar en que el administrador que mantiene el sistema que aloja tu foro, en lugar de la privacidad de las publicaciones e interacciones del usuario (que ya se pueden manejar).

1 me gusta

Si solo se tratara de ocultar chats de otros usuarios, entonces sí, creo que los permisos de grupo/confianza funcionan bien.

Para mí, se trata más de ocultar los chats a los administradores/servidor. Teniendo esto en cuenta, no creo que los permisos de grupo/confianza funcionen, ya que los chats seguirán siendo texto plano en el servidor.

¿Por qué importa esto? En mi contexto, si Alice está hablando con Bob sobre problemas emocionales profundos en su vida en un chat personal, yo, como administrador, no quiero tener la capacidad de espiar tal conversación y quiero que Alice y Bob se sientan seguros de que no estoy espiando. Misma razón por la que prefiero Whatsapp o Signal y realmente no me gusta IG o FB messenger, ya que prefiero saber (creer firmemente) que los administradores no pueden leer todo lo que escribo.

1 me gusta

Para ser justos, la experiencia es muy diferente. El chat es:

  • visualmente más compacto, que es exactamente lo que se necesita para los chats
  • más rápido
  • puede estar en una ventana emergente mientras estás en algún tema, de modo que puedes editar temas de memoria a largo plazo mientras discutes sobre ello con alguien en un chat en la misma pantalla

:bulb: Una filosofía de hacia dónde va Discourse según mi observación desde su principio es que los temas, los MP y los chats convergen en lo mismo y comparten cada vez más características (puede ser planeado/consciente o inconsciente). Así que si podemos tener MP que “floten” como ventanas de chat, sean más compactos en ese modo “chat” y sean súper rápidos, entonces sí, no necesitamos chat con cifrado, simplemente usaremos MP cifrados.

3 Me gusta