Dernière mise à jour le 31 août 2004
Sur cette page
Objectifs
S'applique à
Résumé
Avant de commencer
Créer une application Web ASP.NET cliente
Tester l'application
Modifier l'application Web pour lire une chaîne de connexion cryptée à partir de Web.Config
Ressources supplémentaires
Objectifs
Ce module vous permet d'effectuer les opérations suivantes :
-
créer une application Web qui utilise la bibliothèque de cryptage DPAPI générée dans le cadre de la section « Procédure : Créer une bibliothèque DPAPI » afin de crypter et de décrypter les données sensibles ;
-
lire les données cryptées du fichier Web.config.
S'applique à
Ce module s'applique aux produits et technologies suivants :
-
Microsoft® Windows® XP ou Windows 2000 Server (avec le Service Pack 3) et systèmes d'exploitation ultérieurs
-
Microsoft .NET Framework version 1.0 (avec le Service Pack 2)
-
Microsoft Visual C#® .NET
Résumé
Les applications Web doivent souvent stocker dans les fichiers de configuration d'application des données sensibles, telles que les chaînes de connexion de base de données et les informations d'identification de compte de service. Pour des raisons de sécurité, ces éléments ne doivent jamais être stockés sous forme de texte brut. Ces informations doivent toujours être cryptées avant leur stockage.
Ce module décrit comment utiliser la bibliothèque de cryptage DPAPI (Data Protection API) créée dans la section « Procédure : Créer une bibliothèque DPAPI » à partir d'une application ASP.NET pour protéger les données sensibles et comment lire les informations cryptées qui sont stockées dans le fichier Web.config. Vous découvrirez également comment utiliser le magasin de clés DPAPI.
Avant de commencer
Avant d'utiliser ce module, vous devez tenir compte des points suivants :
-
DPAPI peut fonctionner avec le magasin de l'ordinateur ou celui de l'utilisateur (qui nécessite un profil d'utilisateur chargé). DPAPI exploite par défaut le magasin d'utilisateurs, même s'il est possible d'indiquer que le magasin de l'ordinateur peut être utilisé en transmettant l'indicateur CRYPTPROTECT_LOCAL_MACHINE aux fonctions DPAPI.
-
La méthode du profil d'utilisateur permet de faire appel à une couche de sécurité supplémentaire, car elle limite à certaines personnes l'accès au secret. Seul l'utilisateur qui crypte les données peut les décrypter. Cependant, l'emploi du profil d'utilisateur nécessite un effort de développement supplémentaire lorsque l'interface DPAPI est utilisée à partir d'une application Web ASP.NET. Vous devrez en effet réaliser des opérations explicites pour charger et décharger les profils d'utilisateurs (ASP.NET ne charge pas automatiquement les profils d'utilisateurs).
-
La méthode du magasin de l'ordinateur (adoptée dans cette procédure) est plus simple à développer, car elle ne nécessite pas de gestion des profils d'utilisateurs. Toutefois, à moins qu'un paramètre d'entropie supplémentaire ne soit défini, cette méthode est moins sûre car tous les utilisateurs de l'ordinateur peuvent décrypter les données (l'entropie est une valeur aléatoire conçue pour compliquer le déchiffrage du secret). L'utilisation d'un paramètre d'entropie supplémentaire présente toutefois un inconvénient. Ce paramètre doit en effet être stocké de manière sécurisée par l'application, ce qui complique la gestion des clés.
Remarque : si vous utilisez DPAPI avec le magasin de l'ordinateur, la chaîne cryptée est associée à un ordinateur particulier et vous devez par conséquent générer les données cryptées sur chaque ordinateur. Ne copiez pas les données cryptées sur plusieurs ordinateurs organisés en ferme ou en cluster.
-
Pour plus d'informations sur l'emploi de la bibliothèque DPAPI avec le magasin d'utilisateurs à partir d'une application Web ASP.NET (à l'aide d'un composant desservi dans une application Microsoft Enterprise Services), consultez la section « Procédure : Utiliser DPAPI (magasin d'utilisateurs) à partir de ASP.NET avec les services Microsoft Enterprise Services » dans ce guide.
Créer une application Web ASP.NET cliente
Cette procédure permet de créer une application Web ASP.NET cliente qui fait ensuite appel à la bibliothèque de classes DPAPI pour crypter et décrypter les données stockées dans le fichier Web.config.
Tester l'application
Cette procédure teste l'application Web pour vérifier que les données ont été correctement cryptées et décryptées.
Modifier l'application Web pour lire une chaîne de connexion cryptée à partir de Web.Config
Cette procédure permet de choisir une chaîne cryptée de connexion de base de données et de placer le texte codé et crypté dans le fichier Web.config de l'application, au sein d'un élément <appSettings>. Vous ajouterez ensuite du code à lire et décrypterez cette chaîne à partir du fichier de configuration.
Ressources supplémentaires
Pour plus d'informations, consultez les modules suivants :