Compartir a través de


Elemento machineKey (Esquema de configuración de ASP.NET)

Actualización: noviembre 2007

Configura las claves que se utilizan en el cifrado y descifrado de los datos de las cookies de autenticación de formularios y de los datos de estado de vista, así como para la comprobación de identificaciones del estado de sesión fuera de proceso.

Elemento configuration (Esquema de configuración general)
  Elemento system.web (Esquema de configuración de ASP.NET)
    Elemento machineKey (Esquema de configuración de ASP.NET)

<machineKey 
  validationKey="AutoGenerate,IsolateApps" [String]
  decryptionKey="AutoGenerate,IsolateApps" [String]
  validation="SHA1" [SHA1 | MD5 | 3DES | AES]
  decryption="Auto" [Auto | DES | 3DES | AES]
/>

Atributos y elementos

Las siguientes secciones describen atributos, elementos secundarios y elementos primarios.

Atributos

Atributo

Descripción

decryption

Atributo String opcional.

Especifica el tipo de algoritmo hash utilizado para descifrar los datos.

Este atributo puede tener uno de los valores siguientes.

ValorDescripción
Auto Especifica que ASP.NET determina el algoritmo de descifrado que se va a utilizar en función de los valores de configuración. Éste es el valor de descifrado machineKey predeterminado.
AES Especifica que ASP.NET utiliza el algoritmo AES (Rijndael) para descifrar los datos. AES es el algoritmo predeterminado para descifrar los datos.
3DES Especifica que ASP.NET utiliza el algoritmo TripleDES para descifrar los datos. El algoritmo TripleDES (3DES) utiliza tres iteraciones sucesivas del algoritmo DES.
DES Especifica que ASP.NET utiliza el algoritmo Estándar de cifrado de datos (DES) para descifrar los datos.
w8h3skw9.alert_note(es-es,VS.90).gifNota:
Este atributo es nuevo en la versión 2.0 de .NET Framework.

decryptionKey

Atributo String requerido.

Especifica la clave que se utiliza para cifrar y descifrar los datos o el proceso que genera la clave. El atributo se utiliza para el cifrado y descifrado de autenticación de formularios y para el cifrado del estado de vista cuando validation se establece en el campo TripleDES.

El modificador IsolateApps del valor decryptionKey indica que ASP.NET genera una clave cifrada única para cada aplicación, utilizando el Id. de la aplicación. IsolateApps se incluye como parte del valor predeterminado.

Si necesita que la configuración sea compatible con toda una red de servidores Web (una batería de servidores Web), configure este atributo manualmente para garantizar una configuración coherente.

Este atributo puede tener uno de los valores siguientes. El valor predeterminado es AutoGenerate,IsolateApps.

ValorDescripción
AutoGenerate, IsolateApps El modificador AutoGenerate especifica que ASP.NET genera una clave aleatoria y la almacena en la Autoridad de seguridad local (LSA). El modificador IsolateApps especifica que ASP.NET genera una clave cifrada única para cada aplicación utilizando el Id. de aplicación de cada aplicación. Éste es el valor predeterminado.
valor Especifica una clave asignada manualmente. Este valor debe establecerse manualmente en una cadena de caracteres hexadecimales para asegurar una configuración coherente en toda la batería de servidores Web. La clave deberá tener una longitud de 16 caracteres hexadecimales cuando se use el cifrado DES y de 48 caracteres hexadecimales cuando se use el cifrado Triple DES (3DES) o AES. Si se usa una clave con un número de caracteres inferior al máximo, es recomendable crearla con un medio auténticamente aleatorio, como la clase RNGCryptoServiceProvider. ASP.NET sólo puede usar Triple DES en equipos que permitan la codificación de 128 bits.

validation

Atributo MachineKeyValidation requerido.

Especifica el tipo de cifrado que se utiliza para validar los datos.

Este atributo puede tener uno de los valores siguientes. El valor predeterminado es SHA1.

ValorDescripción
AES Especifica que ASP.NET utiliza el algoritmo AES (Rijndael) para validar los datos.
MD5 Especifica que ASP.NET utiliza el algoritmo hash de Message Digest 5 (MD5) para validar los datos. Con este algoritmo el rendimiento es mayor que con el algoritmo SHA1.
SHA1 Especifica que ASP.NET utiliza el algoritmo hash SHA1 para validar los datos. Utilice este algoritmo para una mayor seguridad. Éste es el valor predeterminado.
3DES Especifica que ASP.NET utiliza el algoritmo TripleDES para validar los datos. El algoritmo TripleDES utiliza tres iteraciones sucesivas del algoritmo DES.

validationKey

Atributo String requerido.

Especifica la clave utilizada para validar datos codificados. validationKey se usa cuando el valor de enableViewStateMAC es true para crear un código de autenticación de mensajes (MAC) con el fin de garantizar que no se ha manipulado el estado de vista. validationKey se usa también para generar Id. de sesión específicos de la aplicación y fuera de proceso que garanticen el aislamiento de las variables de estado de sesión entre sesiones.

El modificador IsolateApps del valor validationKey indica que ASP.NET genera una clave cifrada única para cada aplicación, utilizando el Id. de la aplicación. IsolateApps se incluye como parte del valor predeterminado.

Si necesita que la configuración sea compatible con toda una red de servidores Web (una batería de servidores Web), establezca el atributo validationKey manualmente para garantizar una configuración coherente.

Este atributo puede tener uno de los valores siguientes. El valor predeterminado es "AutoGenerate,IsolateApps".

ValorDescripción
AutoGenerate, IsolateApps El modificador AutoGenerate especifica que ASP.NET genera una clave aleatoria y la almacena en la Autoridad de seguridad local (LSA). El modificador IsolateApps especifica que ASP.NET genera una clave cifrada única para cada aplicación utilizando el Id. de la aplicación. Éste es el valor predeterminado.
valor Especifica una clave asignada manualmente. Este valor debe establecerse en una cadena de caracteres hexadecimales para garantizar una configuración coherente en toda la batería de servidores Web. La clave deberá tener una longitud de 16 caracteres hexadecimales cuando se use el cifrado DES o de 48 caracteres hexadecimales cuando se use el cifrado Triple DES (3DES) o AES. Si se usa una clave con un número de caracteres inferior al máximo, es recomendable crearla con un medio auténticamente aleatorio, como la clase RNGCryptoServiceProvider. ASP.NET sólo puede usar Triple DES en equipos que permitan la codificación de 128 bits.

Elementos secundarios

Ninguno.

Elementos primarios

Elemento

Descripción

configuration

Especifica el elemento raíz requerido en cada archivo de configuración usado por Common Language Runtime y en las aplicaciones de .NET Framework.

system.web

Especifica el elemento raíz de los valores de configuración de ASP.NET de un archivo de configuración y contiene elementos de configuración que configuran las aplicaciones Web ASP.NET y controlan el comportamiento de las aplicaciones.

Comentarios

En el ejemplo de código siguiente se muestra cómo establecer los atributos validationKey y decryptionKey en AutoGenerate. Con el fin de generar claves únicas para cada aplicación en el servidor se especifica el valor isolateApps.

<machineKey 
   validationKey="AutoGenerate,IsolateApps" 
   decryptionKey="AutoGenerate,IsolateApps" 
   validation="SHA1"
/>

Información de elemento

Controlador de la sección de configuración

MachineKeySection

Miembro de configuración

MachineKey

Ubicaciones configurables

Archivo Machine.config

Archivo Web.config de nivel de raíz

Archivo Web.config de nivel de aplicación

Requisitos   

Servicios de Microsoft Internet Information Server (IIS) 5.0, 5.1 ó 6.0

.NET Framework 1.0, 1.1 ó 2.0

Vea también

Tareas

Tutorial: Cifrar la información de configuración mediante la configuración protegida

Cómo: Configurar directorios concretos mediante la configuración de la ubicación

Cómo: Bloquear los valores de configuración de ASP.NET

Conceptos

Proteger funciones

Proteger la suscripción

Proteger las propiedades de perfil

Proteger el estado de sesión

Jerarquía de archivos y herencia de la configuración de ASP.NET

Proteger la configuración de ASP.NET

Escenarios de configuración de ASP.NET

Referencia

Elemento system.web (Esquema de configuración de ASP.NET)

Elemento configuration (Esquema de configuración general)

System.Configuration

System.Web.Configuration

MachineKeySection

MachineKey

Otros recursos

Opciones de configuración generales (ASP.NET)

Opciones de configuración de ASP.NET

Administrar sitios web ASP.NET

API de configuración de ASP.NET