¿Cómo comunicar las expectativas de seguridad a los usuarios en una aplicación de chat encriptada de extremo a extremo?

1

Estoy desarrollando una aplicación de chat que tiene encriptación de extremo a extremo, sin que ningún tercero pueda escuchar las conversaciones. Esto es bastante fácil simplemente implementando aplicaciones que las personas descargan y luego usan para chatear.

Sin embargo, también deseo dar a las personas la opción de usar un cliente web sin instalar nada. Obviamente, esto significa que todos los mensajes deben pasar por un servidor web, que posiblemente podría espiarlo. Pero si se confía en que el proveedor no lo escuche, entonces sigue siendo seguro (el sitio web utiliza HTTPS).

¿Cómo debo informar a los usuarios de la diferencia de seguridad? Lo único que se me ocurre es algo como:

  

Nota sobre seguridad : el uso del cliente web proporciona menos seguridad que el uso de la aplicación descargada. Si de alguna manera nos volvemos malvados, podríamos escuchar las conversaciones en el cliente web, pero las conversaciones con el cliente descargado son seguras incluso para nosotros.

pero esto parece muy confuso, y la mayoría de los usuarios probablemente se reirán del servicio "volviéndose malvado".

    
pregunta ithisa 14.01.2016 - 17:49
fuente

3 respuestas

3

NB: Este es un problema de investigación abierto, y hay varias personas que actualmente están investigando la comunicación de la seguridad proporcionada por las aplicaciones de chat cifradas de extremo a extremo. Así que aquí no hay ninguna investigación que llegue a nuestro rescate, solo el pensamiento de diseño.

Otra nota: no existe tal cosa como una compensación de seguridad / usabilidad. Hay principios de diseño, restricciones relacionadas con la seguridad, y a eso se suman los diseñadores pobres y los diseñadores buenos.

Debe comunicar a sus usuarios el nivel de seguridad que deben esperar. En este caso, un enfoque visual es lo que recomendaría.

Cuando anuncia / instala / ejecuta la aplicación, mostrar una visualización de dos personas que se comunican a través de un canal seguro (y, posiblemente, terceros que no logran penetrar en el canal) podría ayudar a los usuarios a conceptualizar que están hablando de igual a igual y de forma segura.

Cuando las personas cambian a la vista web, esta vez debe mostrarse de manera destacada que los mensajes transitan por un servidor con la marca de la marca de su empresa, y debe mostrar que este servidor puede leer / interceptar mensajes (según en lo que realmente hace su solución).

¿Por qué visualizaciones? La idea es confiar en la capacidad humana para procesar conceptos espaciales sin racionalizarlos. Al mostrar los límites entre los usuarios, el servidor de marca y las partes externas, puede comunicar la seguridad proporcionada sin esfuerzo. Consulte de Dourish donde se encuentra la acción: Los fundamentos de la interacción incorporada ' para una (larga) explicación de por qué esto podría facilitar la tarea de los usuarios de crear sentido.

También debe comunicar claramente los riesgos asociados con el registro / intercambio de identidades en su sistema, si corresponde. Parece que, a partir de su breve presentación de su producto, hay muchos aspectos que no se han pensado en absoluto.

Como la tarea es desalentadora, recomiendo encarecidamente la contratación de diseñadores . Específicamente, un diseñador de experiencias de interacción / servicio / información para encargarse de la presentación de los beneficios y límites de la herramienta y las interacciones de seguridad general; y un diseñador gráfico o de movimiento para trabajar en las visualizaciones de seguridad que pueda tener.

    
respondido por el Steve DL 14.01.2016 - 17:57
fuente
1

Las personas están capacitadas para ignorar las advertencias de texto. Hemos hecho un muy buen trabajo al hacerlo en los últimos 30 años al proporcionar mensajes en su mayoría opacos y difíciles de entender que suponen que el usuario sabe que no los tienen. Así que nadie los lee porque en gran parte siempre han proporcionado información inútil. No importa qué tan bien construyas el texto, la mayoría de las personas lo ignorarán para llegar a lo que quieren hacer.

Las personas son mucho mejores para aprender ideas complejas a través de la visualización que a través del texto. En lugar de lanzar un mensaje que todos ignorarán, en ambas interfaces de usuario se proporciona una representación visual de cómo se transmite el mensaje sin cifrar.

Esto es lo mejor que puedo transmitir la idea en ascii:

cliente +++ cliente

client ++ server ----- cloud ++ client

Y de alguna manera representa que la ruta dentro de (nube de servidor) tiene el potencial de interceptación por parte de los adversarios.

Proporcione eso en ambas UI, para que cada persona sepa si la otra está usando un cliente web donde.

Creo que Steve DL tiene una gran idea en la contratación de diseñadores. Los diseñadores tienen una idea mucho mejor de cómo comunicar ideas visuales.

La idea general aquí es que todo lo que se transmita a pesar de que sus servidores no están encriptados debería parecer al menos un poco riesgoso. La comunicación cliente-cliente debería parecer mucho más segura.

    
respondido por el Steve Sether 14.01.2016 - 18:07
fuente
0

Voy a hacer el siguiente supuesto aquí: no está implementando el cifrado de extremo a extremo en el navegador web. Estás enviando mensajes de texto sin cifrar a tu servidor web que luego los volverá a cifrar para el destinatario (actuará como un proxy de traducción).

En este contexto, debes hacer lo siguiente:

Coloque una advertencia clara sobre el hecho de que el cliente web, debido a su naturaleza abierta, no puede implementar el cifrado de extremo a extremo y, por lo tanto, no debe utilizarse para asuntos realmente delicados.

Envíe esa advertencia como un mensaje fácil de identificar a cada parte every tiempo incluso uno de ellos utiliza un cliente web.

Eso debería ser suficiente. Es posible que desee vincularse a una página web que explique los posibles problemas con el cliente web (MITM, usted se está "volviendo malvado", etc.) para los que tienen una mentalidad técnica pero, para la mayoría de los usuarios, no necesitan conocer los detalles: Indique el problema, de qué deben tener cuidado y déjelos tomar su decisión.

Mi razonamiento es el siguiente:

  • Para la mayoría de las comunicaciones, simplemente no importa.
  • Para una comunicación sensible, los usuarios tienen la opción de usar un sistema más seguro. (tenga en cuenta que todavía debe confiar en usted a menos que también proporcione una versión del código fuente de su cliente y tienen acceso a la experiencia necesaria para verificar ese código fuente)
  • Usted mismo no puede averiguar si un mensaje dado es lo suficientemente sensible como para requerir la protección más sólida: solo sus usuarios pueden hacerlo.
  • Ya ha realizado una compensación al permitir el uso de un canal menos seguro.
  • Las personas son realmente malas al elegir cuándo confiar en alguien y al pensar en las consecuencias de tal elección (es normal: estamos más o menos conectados a elegir la usabilidad sobre la seguridad).

Por lo tanto: ha decidido que va a permitir dos niveles de seguridad diferentes, sabe que no puede decidir cuál se debe usar en cada caso individual.

Por lo tanto, no tiene otra opción: debe confiar en los usuarios para tomar esa decisión. Dado que no tiene usuarios con conocimientos técnicos, debe colocar una advertencia que sea fácil de entender donde está seguro de que la verán. No puedes hacer nada más que eso: las personas no leen textos largos, no entienden discusiones técnicas complejas, por lo que debes tener una advertencia muy simple con una explicación clara sobre lo que se debe hacer ( no use el cliente web para cosas realmente sensibles).

    
respondido por el Stephane 14.01.2016 - 18:28
fuente

Lea otras preguntas en las etiquetas