¿Protocolo (s) para almacenamiento encriptado remoto sin llave?

0

Dados los siguientes supuestos:

  • La disponibilidad de un servidor es de confianza implícita, pero no se confía para mantener la privacidad de los datos (por razones como tener una seguridad cuestionable o ser sospechoso de las garantías del gobierno).
  • El software cliente es de confianza implícita (por ejemplo, debido a que es un software de código abierto, posiblemente desarrollado por un tercero).
  • Se confía en que la comunicación entre el cliente y el servidor sea privada (por ejemplo, debido a que está cifrada por TLS).

¿Existen primitivas de seguridad que permitan a un cliente proporcionar una contraseña en lugar de una clave de cifrado para proteger adecuadamente los datos cifrados que se almacenan en un servidor remoto? ¿Es seguro para el software del cliente XOR una clave de cifrado de datos con un hash de la contraseña del usuario para el servidor y luego almacenar el resultado en el servidor para volver a generar la clave de cifrado original? Si esto (ya sea en general o por el proceso descrito) es intrínsecamente inseguro, ¿qué lo hace inseguro?

    
pregunta redyoshi49q 09.01.2017 - 23:41
fuente

1 respuesta

1

Dado que no se confía en que el servidor mantenga los datos privados, los datos se deben cifrar y descifrar localmente en el cliente y el servidor nunca debe tener acceso a la clave utilizada para el cifrado. Y dado que solo los datos ya cifrados se intercambian con el servidor de esta manera, no importaría mucho si el transporte es seguro o no.

Los métodos para derivar una clave de una contraseña existen y se denominan funciones de derivación de claves . La funcionalidad de cifrar y descifrar datos localmente ya existe en una variedad de aplicaciones y muchas de ellas también son de código abierto. Los ejemplos son GPG y Veracrypt.

    
respondido por el Steffen Ullrich 10.01.2017 - 06:33
fuente

Lea otras preguntas en las etiquetas