El caso de uso es análogo al acceso a una caja de seguridad en un banco. Existe una clave por usuario, única para cada usuario, ya sea generada por el sistema o con hash de la contraseña del usuario. Y hay una clave maestra de todo el sistema para todos los usuarios. Se requieren ambas claves para poder descifrar datos. ¿Cuál es la mejor manera de implementarlo?
-
encriptación múltiple . Parece que puedo seguir la recomendación en la página Wiki y usar el método descrito por Bruce Schneier.
-
Cifre la clave por usuario con la clave maestra. Use la clave cifrada para cifrar y descifrar.
-
Concatene la clave por usuario con la clave maestra. Utilice la clave concatenada para cifrar y descifrar.
Especialmente 2 y 3 serían más simples que 1. ¿Pero están libres de fallas? No pude encontrar ejemplos de ellos.