archivo de documentos inteligente y seguro en la nube

2

Estoy pensando en crear un archivo de documentos basado en la nube. La intención es hacer que el sistema no pueda leer los archivos de los usuarios y sea más que un simple proveedor de almacenamiento.

Mirando this question , hay algunas formas de hacer esto, pero efectivamente esto limita al sistema de archivo para que sea solo un proveedor de almacenamiento" tonto ": solo en su propia máquina los datos tendrán sentido después del descifrado.

Por confiar en que el proveedor de almacenamiento no se burlará de las fotos vergonzosas de sus vacaciones, este enfoque es sólido como una roca. Pero el problema es que no tendrá la comodidad de un sistema menos seguro como Dropbox, google drive o neat.com.
Estos sistemas (llamémoslos "inteligentes") indexan sus datos para la búsqueda, tienen visores de documentos en el navegador, etc., que deseo para el sistema mi .

Pero proporcionar una interfaz web a los datos de los usuarios significa que el servidor web debe poder servir archivos (o miniaturas) sin cifrar.

Para el almacenamiento, estaba pensando en utilizar el cifrado asimétrico (RSA) de los secretos de cifrado simétrico (AES?) en el servidor central. Cada archivo se cifra simétricamente con un secreto por archivo. Esos secretos se cifran utilizando la clave pública. La clave privada necesaria para descifrar el secreto de un archivo (y, por lo tanto, descifrarlo) se cifra mediante un secreto basado en la contraseña del usuario.

Esto significa que los archivos solo pueden ser leídos por el servidor si la clave privada desencriptada se mantiene en su forma desencriptada durante la sesión de un usuario. Del mismo modo, la indexación y la generación de miniaturas para archivos / documentos almacenados solo pueden suceder mientras la clave privada está "desbloqueada". Este diseño se puede expandir fácilmente para acomodar contraseñas específicas de la aplicación (crear una clave privada cifrada por contraseña), en caso de que alguna vez quiera desarrollar aplicaciones además de la interfaz web.

Mi pregunta es: ¿Qué tan seguro (in) es este diseño?

  1. Si el servidor (web) puede descifrar archivos cuando los usuarios inician sesión, esto obviamente plantea una pregunta de "¿qué tan confiables y responsables son los datos de los usuarios y los secretos de cifrado que soy?" ¿Hay alguna forma de responder formalmente (/ por diseño) a esta pregunta con " very "?
  2. Además, ¿qué tan ansiosos están los administradores de sistemas de mi proveedor de nube para MITM mi sistema en ejecución? (Si, por ejemplo, presionado por algún gobierno.)
  3. Y finalmente: en caso de que alguien se apodere de mis servidores, ¿están los secretos de datos / cifrado de los usuarios a salvo de miradas indiscretas?
pregunta derabbink 21.11.2012 - 18:35
fuente

1 respuesta

4

No estoy seguro si entiendo tu problema. Parece que hay una contradicción en tus objetivos frente a la solución.

  • No confías en el servidor para que no evesdrop
  • Le está proporcionando al servidor sus claves de descifrado durante el inicio de sesión para que pueda escanear los archivos y generar metadatos
  • Confía en que el servidor olvide las claves y el texto sin formato cuando el usuario cierre la sesión

Será mejor que genere los metadatos en el momento del cifrado en la estación de trabajo del usuario. A continuación, cargue el texto sin formato de los metadatos junto con los datos cifrados. No está preparado para el futuro, así que elija sus metadatos con cuidado.

Para compartir el archivo, cifre el archivo de claves con la clave pública del destinatario y cárguelo.

Nunca le dé el archivo de clave de texto simple al servidor.

    
respondido por el mgjk 21.11.2012 - 19:28
fuente

Lea otras preguntas en las etiquetas