Restablecimiento de contraseña para datos cifrados almacenados

0

Estoy diseñando un sistema para contener objetos de usuario protegidos, potencialmente utilizando sus contraseñas como en este artículo Encripta los datos confidenciales en el software y los almacena / desencripta en un servidor .

Cuando un usuario olvida su contraseña, necesito un método para restablecer su contraseña, pero también recuperar y volver a proteger su objeto de usuario. Quiero automatizar este proceso utilizando algún portal de autoservicio.

Había considerado usar algún cifrado asimétrico para cifrar adicionalmente el objeto de usuario durante el cifrado de contraseña original, donde un sistema remoto con acceso a la clave privada puede recuperar los datos y luego permitir que el usuario especifique una nueva contraseña y luego vuelva a proteger su objeto.

¿Existen patrones que puedan lograr esto?

    
pregunta MarcP 31.01.2017 - 17:28
fuente

1 respuesta

0

Lo que describe es un caso de uso común en una organización de tamaño mediano a grande: los usuarios pueden cifrar sus datos confidenciales, pero se debe guardar una copia de la clave (generalmente en una caja de seguridad física) en caso de que olvide su contraseña o ya no esté capaz de desencriptarlo (muerte, lesiones graves, etc.)

Windows ofrece una forma inmediata donde un administrador puede descifrar una carpeta cifrada. Se pueden imaginar otros sistemas, con el siguiente patrón:

  • se utiliza una clave simétrica para cifrar los datos
  • esa clave se cifra con la contraseña del usuario (*) y se guarda de esa manera. Cuando el usuario cambia su contraseña, el archivo de claves se descifra con la contraseña anterior y se vuelve a cifrar con la nueva
  • una copia de la clave simétrica se almacena de forma segura en una caja fuerte física o lógica a la que puede acceder un agente de seguridad (o incluso mejores procedimientos podrían requerir que dos personas diferentes desbloqueen la caja fuerte)

(*) Más exactamente, la contraseña de usuario se usa para acceder a la clave simétrica. Pero en realidad se puede cifrar con:

  • un hash de la contraseña de usuario
  • una clave pública del usuario (luego usa su clave privada protegida por su contraseña para descifrar)
  • o almacenado en una bóveda de contraseña

Se pueden utilizar las mismas variaciones para almacenar la copia.

    
respondido por el Serge Ballesta 31.01.2017 - 17:51
fuente

Lea otras preguntas en las etiquetas