Para esta situación, a menos que utilice un módulo de cifrado de hardware, las claves sin formato deben estar disponibles para la máquina. Para que el cifrado ofrezca un beneficio real, las claves deben almacenarse en un formato que sea más difícil de leer que los archivos subyacentes.
Esto significa que cualquiera
- almacena los archivos en una máquina separada de la aplicación. Si el modelo de seguridad del servidor de aplicaciones no funciona, todavía tienen acceso a todo, pero si se accede al servidor de archivos, todo lo que obtienen es información cifrada.
- Almacene las claves de manera que no sean legibles para la aplicación. Esto generalmente se hace haciendo que un proceso que se ejecuta como un usuario más privilegiado lea las claves y luego las pase a la aplicación en el inicio. Esto significa que la única forma en que cualquier atacante que obtenga acceso como el mismo usuario que la aplicación (suponiendo que no haya oportunidad para la escalada de privilegios) pueda obtener las claves es leerlas de memoria o un volcado central de la aplicación.