encriptación MySQL sin saber la clave

1

Actualmente estoy luchando con cómo implementar correctamente el almacenamiento de campos cifrados en una base de datos MySQL, sin saber la clave de cifrado. El resultado que estoy tratando de lograr es cifrar ciertas piezas de información proporcionada por el usuario, que si estuviera legalmente obligada a proporcionar a terceros se cifraría sin que yo pudiera proporcionar la (s) clave (s). Por lo tanto, llegué a la conclusión de que el cifrado completo de la partición no tendría mucho sentido, ya que necesitaría saber la contraseña para iniciar / restablecer el servidor.

La única solución que pude encontrar fue utilizar el cifrado AES estándar de MySQL y obtener la clave de la contraseña de usuario en texto simple cuando se proporciona al momento del registro y el inicio de sesión. Un pequeño problema asociado con esto es que no podré procesar los datos cifrados a menos que el usuario haya iniciado sesión (por lo tanto, los cronjobs están fuera de la cuestión, lo que podría ser bastante problemático), y tendré que mantener la contraseña sesión, que no es demasiado problema, supongo.

Estaría abierto a cualquier sugerencia alternativa, o mejoras de la implementación simple mencionada anteriormente, incluido el uso de múltiples servidores si eso ayudara.

    
pregunta cyber-guard 31.01.2014 - 13:18
fuente

1 respuesta

2

PBKDF2 es Derivación de clave basada en contraseña , y se usa para situaciones como esta. La wiki enumera varias implementaciones diferentes en varios idiomas. Funciona como usted describe (con una función sal y pseudoaleatoria).

Le advierto que piense a fondo sobre el modelo, es decir, ¿cómo manejará los restablecimientos de contraseñas? ¿O contraseñas perdidas? Parece que el usuario perdería sus datos con este modelo.

    
respondido por el Rubber Duck 31.01.2014 - 14:40
fuente

Lea otras preguntas en las etiquetas