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.