Descifrar contraseñas basándose en el uso de la contraseña de un usuario

3

Estoy creando una base de datos para almacenar la información de nuestros clientes en el trabajo (un centro de patrimonio especializado en genealogía basada en el ADN). Una vez que regresan los resultados de una prueba, tenemos personas que utilizan la información generada en sitios como 23andMe para encontrar familiares y enviar invitaciones para que los familiares se conecten con nuestros clientes. Esto se hace con el permiso del cliente. Las cuentas pertenecen a los clientes, solo nos dan permiso para usarlas. Por este motivo, no utilizamos nuestros propios nombres de usuario y contraseñas (el cliente también debe poder iniciar sesión en los sitios web).

La mayoría de las veces, el programa de ingreso a la base de datos está hecho, pero una cosa que debo poder hacer es recuperar su nombre de usuario y contraseñas (en texto simple) para que podamos iniciar sesión en los 3 sitios web diferentes que utilizamos.

Lo que quiero hacer es crear una contraseña general que cuando se aplica a lo que se ingresa en el campo de contraseña en el programa de ingreso de datos (para guardar la contraseña) o se extraiga de la base de datos (recuperar contraseña), es convertible a simple texto (puede ir y venir de un modo simple a encriptado usando 1 clave).

Luego, cada uno de nuestros empleados con permiso para ver la contraseña de texto sin formato tiene su propia contraseña única que, cuando se ingresa, crea la clave mencionada anteriormente.

La base de datos con la que estoy trabajando es MySQL y el programa que nuestros trabajadores están utilizando para manipular la base de datos MySQL se está escribiendo en Java. Cualquier ejemplo basado en Java o enlaces a ejemplos sería genial.

    
pregunta traisjames 15.04.2014 - 20:19
fuente

1 respuesta

1

No estoy seguro de que esto realmente ofrezca mucha seguridad, pero la mejor manera de verlo es:

  1. Tener una clave maestra.
  2. Cifre cada contraseña del cliente con la clave maestra.
  3. Cifre la clave maestra con una contraseña derivada (PBKDF2 o similar) de la contraseña de cada empleado.

Luego, cuando un empleado inicia sesión:

  1. Genere la clave del empleado a partir de su contraseña.
  2. Descifra la clave maestra.
  3. Use la clave maestra para descifrar las contraseñas de los clientes.
respondido por el David 09.05.2014 - 06:19
fuente

Lea otras preguntas en las etiquetas