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.
Il existe un certain nombre de techniques d’atténuation des menaces que vous pouvez utiliser pour mieux sécuriser les mots de passe. Ces techniques sont implémentées à l’aide d’une ou plusieurs des technologies principales suivantes.
| Technologie | Description |
|---|---|
| Chiffrement : Nouvelle génération (CNG) | CNG est l’API de chiffrement préférée pour le développement Windows. Il prend en charge les algorithmes modernes, l’isolation des clés et l’agilité de chiffrement. Pour plus d’informations, consultez Fonctionnalités CNG. |
| Listes de contrôle d’accès | Une liste de contrôle d’accès (ACL) est une liste de protections de sécurité qui s’applique à un objet. Un objet peut être un fichier, un processus, un événement ou tout autre élément qui a un descripteur de sécurité. Pour plus d’informations sur les listes de contrôle d’accès, consultez Access Control Listes. |
| API de protection des données (DPAPI) | DPAPI fournit des fonctions permettant de chiffrer et de déchiffrer des données sensibles liées au compte d’utilisateur ou à l’ordinateur : CryptProtectData, CryptUnprotectData, CryptProtectMemory et CryptUnprotectMemory. |
| gestionnaire d’informations d’identification Windows | Fournit un stockage sécurisé pour les informations d’identification de l’utilisateur (mots de passe, certificats et autres secrets). Utilisez CredWrite et CredRead pour l’accès par programmation. Accessible également via CredUIPromptForWindowsCredentials. |
Note
CryptoAPI (les fonctions héritées Crypt* ) est toujours pris en charge pour la compatibilité descendante, mais le nouveau code doit utiliser les API CNG (Cryptography : Next Generation) pour la prise en charge des algorithmes modernes et une architecture de sécurité améliorée.
Les techniques d’atténuation des menaces suivantes utilisent une ou plusieurs des technologies ci-dessus.
Obtention de mots de passe à partir de l’utilisateur
Lorsque vous autorisez l’utilisateur à configurer un mot de passe, forcez l’utilisation de mots de passe forts. Par exemple, exiger que les mots de passe soient d’une longueur minimale telle que huit caractères ou plus. Les mots de passe doivent également être requis pour inclure des lettres majuscules et minuscules, des chiffres et d’autres caractères clavier tels que le signe dollar ($), le point d’exclamation ( !) ou supérieur à (>).
Après avoir obtenu un mot de passe, utilisez-le rapidement (en utilisant le moins de code possible), puis effacez tous les vestiges du mot de passe. Cela réduit le temps disponible pour un intrus afin de « intercepter » le mot de passe. Le compromis avec cette technique est la fréquence à laquelle le mot de passe doit être récupéré de l’utilisateur ; cependant, le principe devrait être employé dans la mesure du possible. Pour plus d’informations sur la façon d’obtenir correctement les mots de passe, consultez Demander à l’utilisateur des informations d’identification.
Évitez de fournir des options d’interface utilisateur « mémoriser mon mot de passe ». Souvent, les utilisateurs demandent d’avoir cette option. Si vous devez le fournir, vérifiez au minimum que le mot de passe est enregistré de manière sécurisée. Pour plus d’informations, consultez la section Stockage des mots de passe, plus loin dans cette rubrique.
Limitez les tentatives d’entrée de mot de passe. Après un certain nombre de tentatives sans succès, verrouillez l’utilisateur pendant une certaine durée. Si vous le souhaitez, allongez le temps de réponse pour chaque tentative sur un maximum. Cette technique vise à vaincre une attaque devinage.
Stockage des mots de passe
Avertissement
Ne stockez jamais les mots de passe en texte clair (non chiffrés) et non dans les fichiers, le registre, la configuration ou le code source. Le chiffrement des mots de passe augmente considérablement leur sécurité.
Pour plus d’informations sur le stockage de mots de passe chiffrés, consultez CryptProtectData. Pour plus d’informations sur le chiffrement des mots de passe en mémoire, consultez CryptProtectMemory. Stockez les mots de passe dans le plus petit nombre possible de mots de passe. Plus un mot de passe est stocké, plus il est possible qu’un intrus puisse le trouver. Ne stockez jamais de mots de passe dans une page web ou dans un fichier web. Le stockage de mots de passe dans une page web ou dans un fichier web leur permet d’être facilement compromis.
Une fois que vous avez chiffré un mot de passe et l’avez stocké, utilisez des listes de contrôle d’accès sécurisées pour limiter l’accès au fichier. Vous pouvez également stocker des mots de passe et des clés de chiffrement sur des appareils amovibles. Le stockage des mots de passe et des clés de chiffrement sur un média amovible, tel qu’une carte à puce, permet de créer un système plus sécurisé. Une fois qu’un mot de passe est récupéré pour une session donnée, la carte peut être supprimée, supprimant ainsi la possibilité qu’un intrus puisse y accéder.