¿Es posible el conocimiento cero con los servicios de correo electrónico cifrado basados en web?

3

Actualmente estoy usando mailfence.com

Afirman que todo el cifrado ocurre en el navegador y que no tienen ningún conocimiento.

Mi pregunta es esta: ¿Dónde almacenan mi clave? Si mi clave privada está almacenada en sus servidores, ¿no pueden descifrar todos mis correos?

    
pregunta Jean Rizla 10.02.2017 - 17:17
fuente

3 respuestas

6

Trabajo en Mailfence como analista de seguridad de la información.

  

¿Dónde almacenan mi clave?

Cuando genera su par de llaves, primero lo ciframos con su frase de contraseña en el navegador y luego lo almacenamos en nuestros servidores. De esta manera, el servidor nunca ve la clave en texto sin formato, y se establece un marco de conocimiento cero.

  

Si mi clave privada está almacenada en sus servidores, ¿no pueden descifrar todos mis correos?

No, no podemos. Como su clave privada está cifrada con su frase de contraseña, que solo usted conoce.

La publicación del blog Cifrado de extremo a extremo de Mailfence y firmas digitales le brindará más información al respecto (incluidas las bibliotecas de código abierto que utilizamos para realizar operaciones basadas en criptografía).

Siempre estamos abiertos a auditorías externas (legítimas), y para fortalecer aún más nuestra transparencia - también hemos planeado ir a código abierto . Ahora es solo una cuestión de tiempo y prioridades.

    
respondido por el M Salman Nadeem 13.02.2017 - 14:28
fuente
3

No estoy seguro de cómo funciona exactamente la correspondencia de correo, por lo que el siguiente párrafo es una teoría sobre cómo podría funcionar : Mailfence parece funcionar con criptografía asimétrica. Por lo tanto, no sería necesario ingresar una contraseña al enviar correo. Pero para leer el correo cifrado que se le envió, deberá ingresar una contraseña que descifre localmente su clave privada. Todo esto puede suceder en el momento de iniciar sesión en el servicio, por ejemplo. algo de javascript usa la información que ingresa para iniciar sesión para obtener y descifrar su clave, y luego lo autentica al servicio de correo, posiblemente utilizando la clave descifrada para firmar un desafío. Entonces sí, es posible construir un servicio de correo de conocimiento cero.

Sin embargo:

  1. El navegador es un entorno notoriamente inseguro. No es posible asegurar javascript. Entonces, si su navegador es hackeado por un malware malicioso / malicioso, pierde.

  2. Mailfence podría volverse malvado y enviar la clave privada descifrada a sus servidores en segundo plano, una vez que se descifró localmente. No puedes hacer nada para evitar eso.

  3. Es probable que el correo pueda leer la mayor parte de su correo, ya que la mayoría de sus compañeros de comunicación probablemente no utilicen el cifrado, por lo que el correo podría leerle el correo entrante sin cifrar antes de que lo cifrara, o leer su correo saliente a alguien que no usa cifrado.

respondido por el Pascal 10.02.2017 - 17:38
fuente
2

La gente detrás del correo parece que está intentando, pero hay múltiples fallas subyacentes con el diseño ... muchas de las cuales simplemente no pueden solucionarse ya que son inherentes a la arquitectura subyacente que están usando. Si bien hay muchos problemas, el mayor de ellos es:

Requieren que cargues una clave privada

Bien, entonces necesitan cifrar su contenido en el lado del cliente ... y una forma razonable de hacerlo es con una clave privada ... el problema es que, dado que se trata de una aplicación web, necesitará la Clave privada en varios dispositivos diferentes ... tienen que enviarla al servidor. Este es un problema por muchas razones:

  • La clave privada está protegida por frase de contraseña ... ¿verdad? Claro, pero ¿quién te dio el algoritmo para proteger esa clave privada? Además, ¿quién te dio el algoritmo para codificar de forma segura tu contenido con la clave privada? ¿No confía en mailfence.com con su contenido de texto claro ... pero confía en que le proporcionen el código para proteger su contenido y la clave utilizada para proteger ese contenido de ellos? Nuevamente, estoy seguro de que todas las personas de mailfence.com son personas decentes ... pero si van a confiar en ellos con la puerta, la cerradura y la llave de la cerradura ... es mejor que confíen en ellos. está en el otro lado.
  • Incluso si mailfence.com usó un cdn de terceros para alojar el código para crear, emplear y proteger su clave privada ... y ese tercero era de una manera indiscutiblemente segura ... el navegador aún tiene un tiempo de ejecución maleable . Esto significa que si cargó super-secure.js desde untouchable-cdn.com ... si mailfence.com tiene una sola línea de código javascript proveniente de cualquier otro lugar, tiene el potencial de sobrescribir las funciones de la biblioteca super-secure.js ... no hay manera de prevenir esto.
  • Si generó su clave privada a través de la línea de comandos con una frase de contraseña y luego la pegó en su navegador ... aún está almacenando su clave privada en el servidor. Esto significa que, en la remota posibilidad de que hubiera una violación de seguridad en mailfence.com ... alguien podría obtener su clave privada protegida por contraseña y comenzar a descifrar la fuerza bruta. Por supuesto, esto no es más o menos seguro que la generación de Google y el uso de un servidor de clave de cifrado para cifrar todo su contenido de usuario, sin embargo, es mucho menos seguro en comparación con el hecho de que nunca les haya dado acceso a su clave privada de ninguna forma.

... Todavía hay más problemas, algunos de los cuales se pueden encontrar here aunque fue escrito en 2011 y algunos de los problemas ya no son verdaderos para los navegadores actuales.

Más problemas que podrían explicarse más adelante si encuentro el tiempo:

  • Recolección de basura basada en Javascript ... y falta de una forma de "borrar" secretos de la memoria
  • falta de un generador seguro de números aleatorios (no estoy seguro si esto sigue siendo cierto)
  • Una forma de generar y almacenar claves privadas que no dependen de un ancla de confianza externa. (parcialmente cubierto arriba)
respondido por el CaffeineAddiction 14.02.2017 - 09:59
fuente

Lea otras preguntas en las etiquetas