Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La protection et la gestion des informations sensibles dans une application ADO.NET dépend des produits et technologies sous-jacents utilisés pour le créer. ADO.NET ne fournit pas directement de services pour la sécurisation ou le chiffrement des données.
Codes de chiffrement et de hachage
Les classes de l’espace de noms .NET Framework System.Security.Cryptography peuvent être utilisées à partir de vos applications ADO.NET pour empêcher la lecture ou la modification des données par des tiers non autorisés. Certaines classes sont des wrappers pour microsoft CryptoAPI non managé, tandis que d’autres sont des implémentations managées. La rubrique Services de chiffrement fournit une vue d’ensemble du chiffrement dans .NET Framework, décrit comment le chiffrement est implémenté et comment vous pouvez effectuer des tâches de chiffrement spécifiques.
Contrairement au chiffrement, qui permet de chiffrer les données, puis de déchiffrer, les données de hachage sont un processus unidirectionnel. Le hachage des données est utile lorsque vous souhaitez empêcher la falsification en vérifiant que les données n’ont pas été modifiées : étant donné des chaînes d’entrée identiques, les algorithmes de hachage produisent toujours des valeurs de sortie courtes identiques qui peuvent facilement être comparées. La vérification de l’intégrité des données avec les codes de hachage décrit comment vous pouvez générer et vérifier des valeurs de hachage.
Chiffrement des fichiers de configuration
La protection de l'accès à votre source de données représente l'un de vos principaux objectifs lorsque vous sécurisez une application. Une chaîne de connexion présente une vulnérabilité potentielle si elle n'est pas sécurisée. Les chaînes de connexion enregistrées dans les fichiers de configuration sont stockées dans des fichiers XML standard pour lesquels le .NET Framework a défini un ensemble commun d’éléments. La configuration protégée vous permet de chiffrer des informations sensibles dans un fichier de configuration. Bien qu’elle soit principalement conçue pour les applications ASP.NET, la configuration protégée peut également être utilisée pour chiffrer les sections des fichiers de configuration dans les applications Windows. Pour plus d’informations, consultez Protection des informations de connexion.
Sécurisation des valeurs de chaîne en mémoire
Si un String objet contient des informations sensibles, telles qu’un mot de passe, un numéro de carte de crédit ou des données personnelles, il existe un risque que les informations puissent être révélées après son utilisation, car l’application ne peut pas supprimer les données de la mémoire de l’ordinateur.
A String est immuable ; sa valeur ne peut pas être modifiée une fois qu’elle a été créée. Les modifications qui semblent modifier la valeur de chaîne créent en fait une nouvelle instance d’un String objet en mémoire, stockant les données sous forme de texte brut. En outre, il n’est pas possible de prédire quand les instances de chaîne seront supprimées de la mémoire. La récupération de mémoire avec des chaînes n’est pas déterministe avec le garbage collection .NET. Vous devez éviter d’utiliser les classes et StringBuilder les String classes si vos données sont vraiment sensibles.
La SecureString classe fournit des méthodes pour chiffrer du texte à l’aide de l’API de protection des données (DPAPI) en mémoire. La chaîne est ensuite supprimée de la mémoire lorsqu’elle n’est plus nécessaire. Il n’existe aucune ToString méthode pour lire rapidement le contenu d’un SecureString. Vous pouvez initialiser une nouvelle instance sans SecureString valeur ou en lui transmettant un pointeur vers un tableau d’objets Char . Vous pouvez ensuite utiliser les différentes méthodes de la classe pour utiliser la chaîne.