¿Qué protocolos existen para el chat de grupo cifrado de extremo a extremo?

22

Estoy buscando protocolos existentes para un chat grupal con dos cosas:

  1. De extremo a extremo encriptado. Lo que usted esperaría: los miembros del chat solo pueden descifrar los mensajes y se detecta manipulación de mensajes.

  2. No debe cifrar cada mensaje para cada miembro individualmente. El Protocolo de Señal hace esto, convirtiendo los chats grupales en muchos chats uno a uno, lo que no es una solución escalable adecuada. al problema.

Tenga en cuenta que cada miembro nuevo debe recibir la clave pública de todos al unirse, y cualquier clave de grupo debe rotarse cuando un miembro se retire. Esto se puede escalar de manera bastante razonable, y es posible que no haya una forma de evitarlo sin comprometer la seguridad, por lo que está permitido.

He buscado los protocolos existentes, pero no obtuve resultados que cumplan con estos requisitos. Pensé que había leído sobre algo hace unos años donde el grupo derivó una clave común y usó eso o algo, pero no puedo encontrar nada de eso.

pregunta Luc 11.06.2016 - 22:30
fuente

2 respuestas

25

Permítame tratar de resumir el panorama de los protocolos de mensajería cifrada de extremo a extremo para el chat grupal:

  • Protocolos como PGP han existido durante algún tiempo y ofrecen "mensajes grupales" simplemente cifrando el contenido con una clave simétrica generada aleatoriamente y luego cifrando esa clave asimétricamente con las claves públicas de Cada uno de los destinatarios. Estos protocolos solo envían el contenido cifrado una vez, pero cifran la clave de cifrado a cada uno de los miembros del grupo. Tenga en cuenta que, de manera similar a PGP, este enfoque no proporciona ningún secreto perfecto, negación o integridad de la conversación (y, por lo tanto, no tiene coherencia de transcripción).

  • OTR se introdujo para abordar algunas de las deficiencias de PGP, mejorando el perfecto secreto hacia adelante, la integridad de la conversación y la negación. Ian Goldberg, el autor de OTR, también escribió un artículo sobre una variante multipartita del protocolo, llamado mpOTR . mpOTR fue diseñado con el transporte XMPP en mente y inherentemente sincrónico en su diseño, lo que significa que se espera que cada miembro del grupo esté en línea en cualquier momento para negociar nuevo material de claves. El protocolo descrito no proporciona un secreto hacia adelante perfecto en la sesión y no se ha implementado en gran medida. N + 1Sec es un protocolo similar con algunas mejoras. Tenga en cuenta que estos protocolos tienen una gran complejidad algorítmica y tienden a escalarse mal, especialmente cuando agrega latencia a la mezcla.

  • Luego tienes toda una clase de protocolos, a los que simplemente llamamos N veces porque simplemente envían cada mensaje. Estos protocolos tienen la ventaja de reutilizar un protocolo uno a uno existente, lo cual es realmente conveniente cuando ya tiene un canal que le brinda características agradables como el secreto de envío perfecto asíncrono. La estructura de grupo no es un concepto criptográfico en este caso, perdiendo las garantías criptográficas pero disminuyendo la complejidad algorítmica. El blog de Open Whisper Systems tiene una gran publicación sobre por qué Signal hace esto en lugar de los mensajes de estilo mpOTR. Esta clase de protocolos viola su segundo requisito, ya que son lo que llamamos "fan-out del lado del cliente" donde el cliente cifra y envía todos los mensajes diferentes.

  • Existe una optimización en las señales que fue adoptada por WhatsApp y que puede encontrar en su el documento técnico llamado Sender Keys que tiene "salida del servidor hacia el lado del servidor". Utiliza N veces en la configuración, pero después del primer mensaje, cada miembro del grupo puede enviar un solo mensaje al grupo. Este protocolo tiene un perfecto secreto hacia adelante mediante el uso de un trinquete de hash (pero no proporciona un secreto perfecto en el futuro). La coherencia de la transcripción es impuesta por el lado del servidor (debido a la salida en abanico del lado del servidor), pero no desde una perspectiva criptográfica.

Estos son los tipos de protocolos que he visto implementados. Existen desafíos, tanto en la usabilidad como en la investigación criptográfica sobre cómo combinar la asincronía con el secreto futuro perfecto y la consistencia de la transcripción en la configuración del grupo.

Si desea un protocolo que responda a sus dos requisitos, creo que algo como la variante Sender Keys del protocolo Signal es lo que está buscando.

    
respondido por el FredericJacobs 17.06.2016 - 16:15
fuente
2

Tal vez Árbol de trinquete asíncrono es lo que estás pidiendo.

También puede consultar Seguridad de la capa de mensajería :

  

Messaging Layer Security (MLS) es un grupo de trabajo de IETF que crea un   Protocolo de mensajería grupal moderno, eficiente y seguro.

    
respondido por el cbwang 25.08.2018 - 07:13
fuente

Lea otras preguntas en las etiquetas