Uso de ASP.Net del archivo Machine.config

1

En ASP.Net, la forma habitual de cifrar un objeto (como ejemplo de una cookie de usuario en el lado del servidor) es leer la clave compartida ubicada en el archivo machine.config. El archivo de configuración de la máquina contiene las siguientes entradas de configuración.

<configuration>
    <system.web>
        <machineKey decryptionKey="section for decryption key"
        validationKey="section for validation key" />
    </system.web>
</configuration>

¿Es esto completamente seguro de usar y seguro para almacenar valores clave como este? Si no, ¿cuáles son las otras alternativas que tenemos?

    
pregunta Rithu Bimasha 18.07.2017 - 04:36
fuente

1 respuesta

1
  

¿Es esto completamente seguro de usar y seguro para almacenar valores clave como este?

No es una buena idea guardar sus claves simétricas en un archivo de configuración a nivel de máquina. Lo principal es que cualquier usuario de nivel de administrador en su sistema puede acceder a él y no es privado solo para su aplicación. Esta clave en el archivo de configuración está en texto plano, lo cual es bastante malo en términos de punto de vista de seguridad.

Aparte de eso, en una situación de granja de servidores web, necesita replicar estas claves en cada máquina host que esté usando. Por lo tanto, la rotación clave y las actualizaciones también se convertirán en un problema.

  

Si no, ¿cuáles son las otras alternativas que tenemos?

La mejor manera de proteger sus claves simétricas en un servidor es mediante un almacén de claves seguro o un HSM (Módulo de seguridad de hardware).

Ya que está utilizando .Net, puede consultar Protección de datos en .Net. Si está utilizando .Net Core, la mejor manera de lidiar con esto es usar API de protección de datos .

Si está implementando su aplicación en un entorno de nube como Azure, entonces puede usar bóveda de claves de Azure .

Más lecturas

    
respondido por el user3496510 18.07.2017 - 07:17
fuente

Lea otras preguntas en las etiquetas