Sécurité et Registre (Visual Basic)

Cette page décrit les implications en matière de sécurité du stockage des données dans le Registre.

Autorisations

Il est dangereux de stocker des données confidentielles (comme des mots de passe) dans le Registre sous forme de texte brut, même si la clé de Registre est protégée par des listes de contrôle d’accès.

L’utilisation du Registre peut compromettre la sécurité en accordant un accès inapproprié à des ressources système ou à des informations protégées. Pour utiliser ces propriétés, vous devez disposer des autorisations de lecture et d’écriture de l’énumération RegistryPermissionAccess, qui contrôle l’accès aux variables de Registre. Tout code s’exécutant avec une confiance totale (sous la stratégie de sécurité par défaut, il s’agit de n’importe quel code installé sur le disque dur local de l’utilisateur) dispose des autorisations nécessaires pour accéder au Registre. Pour plus d'informations, consultez la classe RegistryPermission.

Les variables de Registre ne doivent pas être stockées dans des emplacements de mémoire où du code sans RegistryPermission peut y accéder. De même, quand vous accordez des autorisations, accordez les privilèges minimaux nécessaires pour effectuer la tâche.

Les valeurs des autorisations d’accès au Registre sont définies par l’énumération RegistryPermissionAccess. Le tableau suivant détaille ses membres.

Value Accès aux variables de Registre
AllAccess Créer, lire et écrire
Create Créer
NoAccess Aucun accès
Read Lire
Write Write

Vérification des valeurs dans les clés de Registre

Quand vous créez une valeur de Registre, vous devez déterminer ce qu’il faut faire si cette valeur existe déjà. Il est possible qu’un autre processus, éventuellement malveillant, ait déjà créé la valeur et y ait accès. Quand vous placez des données dans la valeur de Registre, ces données sont accessibles à l’autre processus. Pour l’éviter, utilisez la méthode GetValue. Elle retourne Nothing si la clé n’existe pas encore.

Important

Lors de la lecture du Registre à partir d’une application web, l’identité de l’utilisateur actuel dépend de l’authentification et de l’emprunt d’identité implémentés dans l’application web.

Voir aussi