Todos los usuarios pueden escribir solo uno puede leer el sistema

1

El sistema que quiero implementar tiene el siguiente requisito: todos los usuarios pueden insertar algunos datos confidenciales, pero solo uno, el usuario principal, puede verlos.

¿Hay alguna solución conocida, ya implementada para este problema? Tengo que cifrar los datos, por lo que sin la contraseña maestra es imposible leerlos.

La única solución en la que pensé era usar cifrado asimétrico. Los usuarios que pueden escribir usarán la clave pública y el usuario maestro puede usar su clave privada para leer los datos. El problema aquí es que es imposible para el usuario recordar una contraseña larga (clave pública / privada)

¡Gracias!

    
pregunta nucandrei 25.10.2014 - 22:35
fuente

1 respuesta

1

Puede crearlo de dos maneras: con control de acceso o con cifrado.

Control de acceso

Crea un sistema donde los colonos solo pueden acceder a la página insertar datos y no crean una página para leer datos a la que tengan acceso. De esta manera usted tiene el sistema write only . Para leer realmente los datos, crea otra página accesible solo para el admin , donde él / ella puede leer todos los datos publicados.

Pros:

  • Fácil de crear
  • Fácil de mantener
  • Simple

Cons:

  • Si la información es confidencial, una fuga de base de datos puede ser devastadora
  • No hay forma de garantizar la integridad de los datos

Encriptación

Crea un sistema con una página para colonos y otra página para admin . Tan pronto como el colono publique los datos, debe codificarlos con una clave pública de propiedad del administrador, y luego almacenar los datos cifrados en la base de datos.

Para leer los datos, el administrador inicia sesión utilizando la página especial y obtiene los datos cifrados en un archivo json, XML o csv. Luego ejecuta el archivo a través de GPG o cualquier otro software de encriptación y descifra el archivo.

El requisito de un programa externo se puede resolver descifrando datos localmente usando javascript. Es crucial para no almacenar la clave privada en el servidor de ninguna manera.

Pros:

  • Muy seguro
  • Incluso una pérdida de base de datos no comprometerá los datos

Cons:

  • agrega complejidad
  • Puede requerir programas externos
respondido por el ThoriumBR 27.10.2014 - 18:52
fuente

Lea otras preguntas en las etiquetas