Tengo un problema de cifrado interesante en la mano. No sé si se puede resolver, pero aquí va:Encriptación bidireccional de la base de datos segura incluso desde Admin
Una base de datos debe contener información confidencial del usuario. Como tal, la información del usuario debe ser encriptada (encriptación bidireccional). El usuario tiene un nombre de usuario/contraseña y estos pueden ser utilizados en el cifrado bidireccional. Ahora, el cifrado debe diseñarse de tal manera que incluso el administrador que visualiza las tablas de la base de datos no pueda comprender la información del usuario.
Sin embargo, el diseño debe ocuparse de los casos en que el usuario puede olvidar su contraseña. Si la contraseña se utiliza para el cifrado, olvidar la contraseña significa que la información se pierde, no se desea. Si la contraseña del usuario se almacena en la base de datos utilizando un algoritmo bidireccional (en lugar de un hash unidireccional) con una clave codificada en el script, el administrador puede descubrir la clave codificada mirando el script (el administrador tiene acceso, por supuesto) al guion).
¿Alguien sabe una manera de salir de esto?
PD: Esto es un problema real. Mi compañía es un fanático de la seguridad absoluta (ISO 27001 y todo) y me han encomendado diseñar un sistema con la funcionalidad mencionada. Por cierto, estoy usando un script PHP y MySQL.
EDIT: Tal vez no estaba claro antes, el usuario necesita ver/editar esta información del usuario en el día a día.
Pregunta: ¿Cuán fuerte debe ser su cifrado de datos? ¿Sería suficiente la ofuscación de datos (es decir, los datos no se almacenarían como texto claro pero con un poco de esfuerzo la gente podría descifrarla) o se desea un esquema de cifrado * real * fuerte? – Nicolas
Encriptación real fuerte: ¡no hay posibilidad de que se descubran datos! –
Bueno, si no quiere que los datos se puedan descifrar pero al mismo tiempo necesiten mostrar datos descifrados al usuario ... – Nicolas