machineKey, élément (Schéma des paramètres ASP.NET)

Mise à jour : novembre 2007

Configure des clés à utiliser pour le chiffrement et le déchiffrement des données de cookie d'authentification par formulaire et des données d'état d'affichage, ainsi que pour la vérification de l'identification d'état de session out-of-process.

configuration, élément (Schéma des paramètres généraux)
  system.web, élément (Schéma des paramètres ASP.NET)
    machineKey, élément (Schéma des paramètres ASP.NET)

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

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Attribut

Description

decryption

Attribut String facultatif.

Spécifie le type d'algorithme de hachage qui est utilisé pour déchiffrer des données.

Cet attribut peut posséder l'une des valeurs suivantes.

Valeur

Description

Auto

Spécifie qu'ASP.NET détermine l'algorithme de déchiffrement à utiliser en fonction des paramètres de configuration. Il s'agit de la valeur de déchiffrement machineKey par défaut.

AES

Spécifie qu'ASP.NET utilise l'algorithme AES (Rijndael) pour déchiffrer des données. AES est l'algorithme de déchiffrement des données par défaut.

3DES

Spécifie qu'ASP.NET utilise l'algorithme TripleDES pour déchiffrer des données. L'algorithme TripleDES (3DES) utilise trois itérations consécutives de l'algorithme DES.

DES

Spécifie qu'ASP.NET utilise l'algorithme DES (Data Encryption Standard) pour déchiffrer des données.

Remarque :

Cet attribut est une nouveauté de la version 2.0 du .NET Framework.

decryptionKey

Attribut String requis.

Spécifie la clé qui permet de chiffrer et de déchiffrer des données, ou le processus par lequel la clé est générée. Cet attribut est utilisé pour le chiffrement et le déchiffrement de l'authentification par formulaire et pour le chiffrement de l'état d'affichage lorsque validation a pour valeur le champ TripleDES.

Le modificateur IsolateApps de la valeur decryptionKey indique qu'ASP.NET génère une clé chiffrée unique pour chaque application, à l'aide de l'ID de l'application. IsolateApps est inclus dans le cadre de la valeur par défaut.

Si vous devez prendre en charge la configuration sur un réseau de serveurs Web (batterie de serveurs Web), définissez manuellement cet attribut pour garantir une configuration cohérente.

Cet attribut peut posséder l'une des valeurs suivantes. La valeur par défaut est AutoGenerate,IsolateApps.

Valeur

Description

AutoGenerate, IsolateApps

Le modificateur AutoGenerate spécifie qu'ASP.NET génère une clé aléatoire et la stocke dans l'autorité de sécurité locale (LSA). Le modificateur IsolateApps spécifie qu'ASP.NET génère une clé chiffrée unique pour chaque application à l'aide de l'ID d'application de chaque application. Valeur par défaut.

valeur

Spécifie une clé assignée manuellement. Cette valeur doit être attribuée manuellement à une chaîne de caractères hexadécimaux pour permettre une configuration cohérente sur l'ensemble d'une batterie de serveurs Web. La clé doit compter 16 caractères hexadécimaux lorsque vous utilisez le chiffrement DES et 48 caractères hexadécimaux lorsque vous utilisez le chiffrement Triple DES (3DES) ou AES. Si des clés dont la longueur est inférieure au maximum sont utilisées, elles doivent être créées de façon réellement aléatoire, en utilisant par exemple la classe RNGCryptoServiceProvider. ASP.NET peut utiliser DES uniquement sur les ordinateurs disposant du chiffrement 128 bits.

validation

Attribut MachineKeyValidation requis.

Spécifie le type de chiffrement utilisé pour valider des données.

Cet attribut peut posséder l'une des valeurs suivantes. La valeur par défaut est SHA1.

Valeur

Description

AES

Spécifie qu'ASP.NET utilise l'algorithme AES (Rijndael) pour valider des données.

MD5

Spécifie qu'ASP.NET utilise l'algorithme de hachage Message Digest 5 (MD5) pour valider des données. Cet algorithme donne de meilleures performances que SHA1.

SHA1

Spécifie qu'ASP.NET utilise l'algorithme de hachage SHA1 pour valider des données. Pour une sécurité accrue, utilisez cet algorithme.

Valeur par défaut.

3DES

Spécifie qu'ASP.NET utilise l'algorithme TripleDES pour valider des données. L'algorithme TripleDES utilise trois itérations consécutives de l'algorithme DES.

validationKey

Attribut String requis.

Spécifie la clé utilisée pour la validation des données chiffrées. validationKey s'utilise lorsque enableViewStateMAC a la valeur true afin de créer un code d'authentification de message (MAC) qui permet de s'assurer que l'état n'a pas été falsifié. validationKey s'utilise également pour générer des ID out-of-process spécifiques à l'application, afin de garantir que les variables de l'état de session sont isolées entre les sessions.

Le modificateur IsolateApps de la valeur validationKey indique qu'ASP.NET génère une clé chiffrée unique pour chaque application, à l'aide de l'ID de l'application. IsolateApps est inclus dans le cadre de la valeur par défaut.

Si vous devez prendre en charge la configuration sur un réseau de serveurs Web (batterie de serveurs Web), définissez manuellement l'attribut validationKey pour garantir une configuration cohérente.

Cet attribut peut posséder l'une des valeurs suivantes. La valeur par défaut est "AutoGenerate,IsolateApps".

Valeur

Description

AutoGenerate, IsolateApps

Le modificateur AutoGenerate spécifie qu'ASP.NET génère une clé aléatoire et la stocke dans l'autorité de sécurité locale (LSA). Le modificateur IsolateApps spécifie qu'ASP.NET génère une clé chiffrée unique pour chaque application à l'aide de l'ID de l'application. C'est la valeur par défaut.

valeur

Spécifie une clé assignée manuellement. Cette valeur doit être attribuée à une chaîne de caractères hexadécimaux pour permettre une configuration cohérente sur l'ensemble d'une batterie de serveurs Web. La clé doit compter 16 caractères hexadécimaux lorsque vous utilisez le chiffrement DES ou 48 caractères hexadécimaux lorsque vous utilisez le chiffrement Triple DES (3DES) ou AES. Si des clés dont la longueur est inférieure au maximum sont utilisées, elles doivent être créées de façon réellement aléatoire, en utilisant par exemple la classe RNGCryptoServiceProvider. ASP.NET peut utiliser DES uniquement sur les ordinateurs disposant du chiffrement 128 bits.

Éléments enfants

Aucun.

Éléments parents

Élément

Description

configuration

Spécifie l'élément racine requis dans chaque fichier de configuration utilisé par le Common Language Runtime et dans les applications .NET Framework.

system.web

Spécifie l'élément racine des paramètres de configuration ASP.NET dans un fichier de configuration et contient des éléments de configuration qui configurent des applications Web ASP.NET et contrôlent le comportement des applications.

Notes

L'exemple de code suivant montre comment affecter aux attributs validationKey et decryptionKey la valeur AutoGenerate. La valeur isolateApps est spécifiée pour générer des clés uniques pour chaque application sur le serveur.

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

Informations sur les éléments

Gestionnaire de section de configuration

MachineKeySection

Membre de configuration

MachineKey

Emplacements configurables

Fichier Machine.config

Fichier Web.config racine

Fichier Web.config de niveau application

Configuration requise

Microsoft Internet Information Services (IIS) 5.0, 5.1 ou 6.0

.NET Framework version 1.0, 1.1 ou 2.0

Voir aussi

Tâches

Procédure pas à pas : chiffrement des informations de configuration à l'aide de la configuration protégée

Comment : configurer des répertoires spécifiques à l'aide des paramètres d'emplacement

Comment : verrouiller des paramètres de configuration ASP.NET

Concepts

Sécurisation des rôles

Sécurisation de l'appartenance (membership)

Sécurisation des propriétés de profil

Sécurisation de l'état de session

Hiérarchie du fichier de configuration ASP.NET et héritage

Sécurisation de la configuration ASP.NET

Scénarios de configuration ASP.NET

Référence

system.web, élément (Schéma des paramètres ASP.NET)

configuration, élément (Schéma des paramètres généraux)

System.Configuration

System.Web.Configuration

MachineKeySection

MachineKey

Autres ressources

Paramètres généraux de configuration (ASP.NET)

Paramètres de configuration ASP.NET

Administration de sites Web ASP.NET

API de configuration ASP.NET