Estoy diseñando la seguridad de una nueva aplicación e intento averiguar cuál es la mejor manera de almacenar las claves del cifrado AES de mysql en el sistema de archivos. He visto varias opciones como almacenarlo fuera del directorio web en un directorio restringido en el sistema de archivos. También puede almacenar la clave en la memoria del sistema (¿cómo hace esto y cómo la utiliza en php / mysql)? Mi opinión fue: ¿por qué no escribir una extensión php personalizada con una función de hash y también el almacén de claves, y restringir el uso de estas funciones personalizadas en la dirección IP de los servidores? Entonces esta extensión personalizada se compila y se carga en Apache.
¿Es seguro lo anterior? ¿Se puede descompilar una extensión php? ¿Qué sucede si un pirata informático obtiene acceso al servidor y ejecuta un script php que hace uso de esta función personalizada? (o como la otra opción: lee la clave almacenada en el sistema de archivos)
Por cierto: el servidor web + db y la base de datos segura serán 2 servidores separados.
Espero que alguien pueda ayudar! Gracias :)