Sin embargo, en el caso de una aplicación web simple, no veo la ventaja de utilizar variables de entorno que se pueden configurar en el portal.
No he usado Azure Key Vault, pero parece que la aplicación cliente nunca en realidad ve la clave maestra :
Cuando una aplicación SaaS necesita realizar operaciones criptográficas mediante
usando las llaves de sus clientes, Key Vault hace esto en nombre de la
solicitud. La aplicación no ve las claves de los clientes .
Si la aplicación se ve comprometida, en ambos escenarios el atacante puede descifrar lo que quiera. Sin embargo, si la aplicación (y, por lo tanto, el atacante) nunca tiene acceso directo a las claves, una vez que el atacante pierde el acceso, ya no podrá descifrar ningún otro dato. Esto protege los datos futuros, y los datos que el atacante no pudo descifrar antes de perder el acceso por estar comprometido.
Si la clave maestra estaba simplemente en una variable de entorno y el atacante la comprometió, entonces incluso si revocó su acceso por completo, podrían continuar descifrando los datos que robaron originalmente.
Un beneficio adicional es que, presumiblemente, cada operación de descifrado se registra, por lo que puede auditar más fácilmente el alcance de los datos comprometidos. Sin embargo, si el atacante tuviera acceso directo a la clave, podría descifrarla sin conexión y usted nunca sabría qué fue y qué no fue comprometido.