¿Cómo alojar archivos cifrados de usuarios de manera que no pueda leerlos?

¿Cómo alojar archivos cifrados de usuarios de manera que no pueda leerlos?

Estoy haciendo planes para un nuevo proyecto y buscando una manera de permitir que los usuarios carguen sus archivos y los mantengan cifrados y solo ellos puedan acceder a ellos, pero al mismo tiempo necesito que sus contactos también accedan a los archivos.

Para explicar un poco más:

  • El usuario carga los archivos en mi servidor a través de una aplicación web.
  • Yo (el servidor) no debería tener acceso al contenido de los archivos.
  • Los contactos del usuario deberían poder tener acceso a los archivos, SI el usuario decide compartir los archivos con ellos.

¿Es algo así posible?

Respuesta1

La respuesta corta: criptografía de clave pública significa: Sí, puedes hacer esto. Es difícil porque la gestión de claves es difícil, no porque el problema sea matemáticamente difícil.

La respuesta larga: ... no cabe aquí.

La respuesta medio-corta:

Si cada contacto tiene una clave privada que usted no conoce y ellos sí conocen, y una clave pública que usted sí conoce, y puede hacer que se ejecute software (incluido JavaScript) en la computadora del usuario, entonces puede hacer que los datos se estar cifrado en la computadora del usuario de modo que un programa similar que se ejecuta en las computadoras de otros usuarios con sus respectivas claves privadas pueda acceder a él, pero que usted, sin cambiar el software que se ejecuta en la computadora del usuario, no pueda.

Algunas cosas para pensar:

  • Criptográficamente, este es un problema resuelto. No lo resuelvas tú mismo.
  • La mayoría de los usuarios quieren usabilidad.
  • Aún es necesario tomar buenas decisiones sobre los metadatos.

información relacionada