¿Dónde hay que almacenar la clave de cifrado cuando se utiliza el cifrado AES con PHP?

StackOverflow https://stackoverflow.com/questions/2210011

  •  18-09-2019
  •  | 
  •  

Pregunta

Me estoy poniendo en práctica AES-256 bits encrpytion en mi aplicación web:

http: //www.utoxin. nombre / 2009/07 / automático-db-campo-cifrado-en-cakephp /

Uno de los pasos dice para almacenar el sistema de cifrado utilizado y la clave en un archivo boostrap. Pero ¿qué impide a alguien de la exploración del sistema de archivos con PS o algo y el descifrado de los datos?

¿Cuál es la mejor manera de asegurar los datos?

¿Fue útil?

Solución

Si alguien tiene acceso a todos los archivos en el disco duro de su servidor, todas las apuestas están apagadas. No hay manera de que puede proteger sus datos a continuación, debido a que su aplicación web todavía tiene que ser capaz de acceder a él.

Este cifrado sólo le protegerá de los atacantes que pueden acceder a la base de datos, pero no el sistema de archivos, por ejemplo, a través de la inyección de SQL. E incluso en ese caso, que puede ser capaz de leer los datos: dependiendo de la fuga particular, la aplicación Web puede descifrarlo felizmente para ellos

Otros consejos

(Sé que esto es una antigua pregunta, pero como el autor de la entrada de blog vinculadas, que quería añadir algunos comentarios)

¿Qué dice la respuesta aceptada es los correctos. Una vez se ve comprometida su sistema de archivos que no hay protección. También, sí, si mal escrito es posible exponer los datos en una forma no cifrada. Esta herramienta estaba destinado a proporcionar simplemente una manera de hacer que sea mucho más fácil de manejar la encriptación de los datos en la base de datos. Si no te gusta la funcionalidad de auto-descifrar, sería trivial para eliminar la devolución de llamada afterFind () en el comportamiento para que ya no desencadenantes, así como cualquier número de otros ajustes que podrían mejorar la seguridad (a costa de conveniencia).

Espero que esto ayude a otra persona que se topa con este post. Alguien tiene, ya que acabo de recibir un par de golpes a mi blog de esta cuestión. :)

En un cuadro Para UNIX se puede almacenar en un archivo, creado por la cuenta de usuario de Apache, con 0600 permisions. Esto se puede acceder por la raíz, por lo que si la caja es seguro que no hay cajas de Windows problem.On, no sé.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top