sql >> Base de Datos >  >> RDS >> Mysql

Manera segura de almacenar claves de cifrado - PHP

Supongo que estás usando Apache.

Coloque los datos secretos en una variable de entorno en /etc/apache2/envvars , configure el propietario como raíz y los permisos en 400.

Un atacante tendrá que comprometer el servidor para poner sus manos en su llave.

También puede crear un script que solicite el secreto cuando se inicia Apache (molesto, pero aún más seguro).

Tenga en cuenta que las personas con acceso raíz siempre Ser capaz de obtener tu llave y tratar de ocultársela es solo un placebo.

Solución placebo:

  • Haga que su aplicación esté inactiva de forma predeterminada hasta que publique su clave en una página HTTPS dentro de la misma aplicación, guarde su clave en una variable global y continúe con su negocio. Debe considerar el ciclo de vida del proceso PHP (cuando el proceso finaliza, debe volver a enviar su clave).