Comment generer un mot de passe solide selon l'ANSSI ?
L'Agence Nationale de la Securite des Systemes d'Information (ANSSI) publie des recommandations detaillees sur la gestion des mots de passe (guide ANSSI "Recommandations relatives a l'authentification multifacteur et aux mots de passe", 2021).
Les seuils recommandes par l'ANSSI :
- 12 caracteres minimum pour les comptes courants avec un nombre de tentatives limite
- 16 caracteres minimum sans limitation de tentatives (acces web sans blocage)
- Entierement aleatoire : pas de mots du dictionnaire, pas de noms propres, pas de dates
- Unique par service : reutiliser un mot de passe transforme une seule fuite en compromission multiple
L'ANSSI reconnait deux strategies complementaires : les mots de passe longs et aleatoires stockes dans un gestionnaire, et les phrases de passe (une suite de plusieurs mots aleatoires) pour les usages ou la memorisation est necessaire.
Pour les comptes critiques (messagerie professionnelle, acces VPN, administration systeme), l'ANSSI recommande 20 caracteres ou plus avec activation de l'authentification multifacteur.
Qu'est-ce qui rend un mot de passe difficile a craquer ?
Les attaquants utilisent trois techniques principales : les attaques par dictionnaire (listes de mots courants et de mots de passe issus de fuites), le credential stuffing (paires identifiant-mot de passe d'une fuite testees sur d'autres services), et la force brute (toutes les combinaisons, praticable seulement contre les mots de passe courts).
Un mot de passe de 16 caracteres, entierement aleatoire et unique par compte, resiste aux trois. Les regles de complexite (majuscule, chiffre, symbole) comptent beaucoup moins que la longueur et le caractere aleatoire.
L'ANSSI deconseille le renouvellement periodique force en l'absence de compromission : il pousse les utilisateurs vers des mots de passe plus faibles et predictibles ("janvier2024!" devient "fevrier2024!").
Comment verifier si vos donnees ont ete exposees dans une fuite ?
Si un service que vous utilisez est pirate, votre adresse email et votre mot de passe (hache ou, dans les services mal geres, en clair) peuvent etre revendus sur des forums criminels. Verifier si votre email apparait dans des fuites connues permet de savoir quels mots de passe changer en priorite.
Have I Been Pwned (haveibeenpwned.com) est le service de reference : il repertorie des milliards de paires d'identifiants issus de milliers de fuites. La saisie de votre email indique dans quelles fuites il est apparu et quelles donnees ont ete exposees.
Si votre email apparait dans une fuite, changez immediatement le mot de passe du service concerne, verifiez si vous avez utilise ce meme mot de passe ailleurs, et activez la 2FA. La CNIL recommande ce type de verification dans le cadre de ses bonnes pratiques numeriques.
Comment le hachage protege-t-il les mots de passe stockes ?
Quand un service stocke votre mot de passe correctement, il ne conserve jamais le texte en clair. Il passe le mot de passe dans une fonction de hachage, une operation a sens unique qui produit une sortie de longueur fixe appelee hash ou empreinte numerique.
A la connexion, le service hache ce que vous avez saisi et compare avec le hash stocke. Si les deux correspondent, l'authentification reussit sans que le serveur ait jamais connu le mot de passe reel.
Proprietes fondamentales du hachage cryptographique :
- A sens unique : impossible de retrouver l'entree d'origine a partir du hash
- Deterministe : la meme entree produit toujours le meme hash
- Resistant aux collisions : deux entrees differentes ne doivent pas produire le meme hash
Pour le stockage des mots de passe, les algorithmes lents sont preferables : bcrypt, scrypt et Argon2 sont concus pour etre couteux en calcul, rendant les attaques par force brute impraticables meme en cas de vol de base de donnees. SHA-256 et SHA-512 sont rapides (adaptes pour la verification d'integrite de fichiers) mais trop rapides pour les mots de passe, un GPU moderne peut tester des milliards de hashes SHA-256 par seconde.
L'article 32 du RGPD exige des "mesures techniques appropriees" pour les donnees personnelles stockees. La CNIL considere le hachage correct des mots de passe (bcrypt ou Argon2) comme une exigence de base. L'utilisation de MD5 ou le stockage en clair a deja fait l'objet de sanctions de la CNIL.
Le Base64 est-il un chiffrement ou une protection ?
Non. Le Base64 est un encodage, pas un chiffrement. Il convertit des donnees binaires en une chaine de texte utilisant 64 caracteres ASCII imprimables. Le resultat semble brouille, mais n'importe quel outil, y compris la console developpeur d'un navigateur, peut l'inverser instantanement, sans aucune cle.
Le Base64 sert a transporter des donnees binaires dans des systemes qui ne gèrent que du texte : images embarquees dans des emails HTML, tokens JWT, charges utiles binaires d'API.
Ne jamais utiliser le Base64 pour dissimuler des donnees sensibles. Un encodage n'est pas une protection. Un mot de passe ou une cle d'API stocke en Base64 est pratiquement stocke en clair. Une vraie protection necessite un vrai chiffrement (AES-256 ou equivalent).
Qu'est-ce que l'authentification a deux facteurs (2FA) ?
L'authentification a deux facteurs (2FA) ajoute une verification supplementaire au-dela du mot de passe. Meme si un attaquant connait votre mot de passe (par une fuite, du phishing ou une devinette), il ne peut pas se connecter sans le second facteur.
Les trois types courants de 2FA, du moins au plus sur :
- Application d'authentification (Google Authenticator, Authy, Microsoft Authenticator), genere un code a 6 chiffres qui change toutes les 30 secondes. Resiste a la plupart des attaques de phishing standard.
- Cle de securite physique (YubiKey, Passkey FIDO2), dispositif physique que l'on branche ou que l'on approche. L'option la plus sure : la cle est liee au site specifique, les attaques de phishing ne peuvent pas intercepter le code.
- Code par SMS, meilleur que l'absence de 2FA, mais vulnerable aux attaques de SIM swapping.
L'ANSSI et le CERT-FR recommandent d'activer la 2FA en priorite sur la messagerie (qui est le mecanisme de recuperation de presque tous les autres comptes), puis sur les services bancaires et les acces professionnels.
Pour les developpeurs, implementez TOTP (Time-based One-Time Password, RFC 6238). Des bibliotheques existent dans tous les langages courants.
Recapitulatif pratique
- Mots de passe : 12 caracteres minimum (ANSSI), 16+ recommande, entierement aleatoires, uniques par service
- Stockage : gestionnaire de mots de passe (Bitwarden est gratuit et open source)
- Verifier vos fuites : recherchez vos emails sur haveibeenpwned.com
- Responsabilite developpeur : hacher avec bcrypt ou Argon2, jamais MD5 ni stockage en clair
- 2FA : activer sur la messagerie, les banques et tout compte avec donnees personnelles ou paiement
- Le Base64 n'est pas de la securite, utiliser AES-256 pour ce qui doit vraiment etre protege