Flux rss
Collection CommentCaMarche.net

Comment bien stocker et vérifier un mot de passe

Publié par sebsauvage, dernière mise à jour le mardi 25 novembre 2008 à 18:59:44 par Ssylvainsab

Si vous développez une application qui doit gérer les mots de passe, il est important de bien le faire, sous peine de risquer le piratage de votre système et la compromission des données de vos utilisateurs.

Il existe de bonnes pratiques pour stocker un mot de passe.

La bonne manière de stocker


Stockez le login et hash(login+salt+motdepasse)

Pseudo-code: passwordHash = MD5( login + "zo5pro$1pvkhj6*cz4a8ùtvb#ui4oeuio" + motdepasse )
Stockez login et passwordHash. Ne stockez pas motdepasse.

Pourquoi un hash ?


Il ne faut jamais stocker le mot de passe en clair.

Risque: Si quelqu'un s'introduit dans votre base de mots de passe, il pourrait les récupérer directement et les utiliser.

Protection: Le hash permet de calculer une empreinte du mot de passe. Comme l'algorithme n'est pas réversible, on ne peut pas retrouver immédiatement le mot de passe à partir du hash.
C'est pour cela qu'on utilise un hash cryptographique. Typiquement MD5, SHA-1 ou autre (SHA-256, SHA-512...)
Ne jamais utiliser de CRC ou CRC32.

Pourquoi un salt ?


Les rainbow-tables sont de grosses tables contenant des hash (MD5 et autres) précalculées.
Cela permet de retrouver très rapidement le mot de passe qui a donné un hash précis.

Risque: Si vous utilisez juste MD5(motdepasse), les rainbow-tables permettent de retrouver le mot de passe correspondant au MD5 en quelques minutes, voire quelques secondes.

Protection: En utilisant un salt, cela rend les rainbow-tables totalement inutiles.
Le salt est une valeur arbitraire, de la longueur de votre choix. Définissez-la comme une constante dans votre application.

Pourquoi ajouter le login ?


Si vous stockez juste MD5(salt+motdepasse) ou MD5(motdepasse), cela veut dire que deux utilisateurs ayant le même mot de passe auront le même hash.

Risque: On peut repérer très facilement les utilisateurs ayant le même mot de passe. Si un utilisateur est compromis, cela permet d'accéder immédiatement à d'autres utilisateurs (qui ont peut-être des droits supérieurs).

Protection: En ajoutant le login avant de hasher, la MD5 résultante sera différente pour chaque utilisateur, même s'ils ont le même mot de passe.

Vérification


Lorsque vous recevez login et mot de passe, il vous suffit de refaire le même calcul:
  • Rechercher dans votre base le hash correspondant à ce login
  • Comparer la valeur avec hash(login+salt+motdepasse)
  • Si les deux hash sont identiques, le mot de passe entré est correct.
Probleme avec un $_SESSION vide (Résolu) Bonjour, Voilà j'ai un problème : j'ai une page dans laquelle j'ai deux input (login et password) pour faire un login , je les passe à une page veriflogin.php qui vérifie si password correspond au mot de passe de ma base de données , si... www.commentcamarche.net/forum/affich-6800360-probleme-avec-un-session-vide
Limite de bande passante sur mon reseau loca? (Résolu) salut ! j'aimerai savoir si il existe une façon de contrôler la bande passante de mon réseau ... je m'explique ; je dispose d'un routeur edimax sur une connexion pppea avec un débit de 1024 k ! j' offre la connexion (gracieusement)... www.commentcamarche.net/forum/affich-6645074-limite-de-bande-passante-sur-mon-reseau-loca
Récupération mots de passe lors changement pc (Résolu) Bonjour, Voilà j'ai récemment changé de PC..et je voudrais comment récuperer tous mes mots de passe enregistrés dans firefox sans avoir à repasser par tous les sites et tout retaper.. merci. www.commentcamarche.net/forum/affich-2886959-recuperation-mots-de-passe-lors-changement-pc
[MSN] Empêcher le démarrage sans mot de passe(Testé sous XP) 1°) Fermer totalement Messenger clic droit sur l'icone dans la barre des taches choisir "Quitter" Relancer Messenger et vérifier que lorsque Msn vous demande votre pseudo et votre mot de passe : la case "Mémoriser mon... www.commentcamarche.net/faq/sujet-1157-msn-empecher-le-demarrage-sans-mot-de-passe
[Matériel] Mon PC ne démarre pas1. Branchement des câbles 2. Vérification de l'écran 3. Analyse du fonctionnement interne 4. Retrait des périphériques 5. Test des périphériques Bilan Quand j'allume mon PC, rien ne se passe, l'écran reste noir. 1.... www.commentcamarche.net/faq/sujet-3529-materiel-mon-pc-ne-demarre-pas
Impossible d'accéder ou de se connecter à Hotmail - Page blancheSi l'accès à votre compte Hotmail aboutit à une page vide, veuillez suivre les étapes suivantes : 1. Vérifier le mot de passe utilisé, ainsi que l'identifiant (login) Vérifier en particulier que l'identifiant est bien saisi sous forme d'une adresse... www.commentcamarche.net/faq/sujet-2852-impossible-d-acceder-ou-de-se-connecter-a-hotmail-page-blanche
[Thunderbird] Dossier de stockage mails,... (Résolu)Bonjour, Par sécurité, je souhaite sauvegarder mes mails; éventuellement les paramètres de comptes afin de les restaurer ultérieurement en cas de pb. Il y a beaucoup d'info sur ccm pour Win mais pas pour le Pengouin. Est ce que quelqu'un... www.commentcamarche.net/forum/affich-2321045-thunderbird-dossier-de-stockage-mails
Probleme de patch 2.0.0.6080 sur WoW (Résolu)Bonjour a tous, j'ai un bon gros problème ^^ sur World of Warcraft : Je l'avais déjà TELECHARGE( ah oui c'est pas bien ^^) au mons une dizaines de fois,sans probleme tout marche et tout,et là je l'ai ACHETE tout va bien pendant... www.commentcamarche.net/forum/affich-4616535-probleme-de-patch-2-0-0-6080-sur-wow
JSP verification d'un mot de passe saisi (Résolu)slut tout le monde J'ai un probleme, j'ai une page JSP qui e permet de modifier mon mot de passe Cependant, on doit le saisir 2 fois, la seconde étant pour la confirmation La page d'apres va verifier si les champs aisis sont identiques... www.commentcamarche.net/forum/affich-1418751-jsp-verification-d-un-mot-de-passe-saisi
Télécharger My Password ManagerMy Password Manager est un puissant gestionnaire de mot de passe conçu pour stocker les données confidentielles. Il est intuitif, simple, rapide et 100% sûr et sécurisé. En effet, il adopte le système de cryptage AES (Advanced Encryption Standard) 256... www.commentcamarche.net/telecharger/telecharger-34057873-my-password-manager
Télécharger My Personal DiaryMy Personal Diary est un gestionnaire d'informations personnelles. Les entrées sont stockées par catégorie et dans un fichier crypté par mot de passe. Les informations peuvent contenir du texte mis en forme, des images, du sons et même d'autres... www.commentcamarche.net/telecharger/telecharger-34057875-my-personal-diary
Télécharger Black BookLe blackBook est un annuaire téléphonique. Il vous permet de stocker vos mots de passe, numéros de téléphone, les adresses de courrier électronique, les adresses postales ou toutes autres informations nécessitant un cryptage. L'application peut être... www.commentcamarche.net/telecharger/telecharger-34057788-black-book
Les clés USB passent à 64 Go de stockage(Paris - Relax news) - Les clés USB se rapprochent à grande vitesse des capacités de stockage de certains disques durs externes ou ordinateurs portables. Après les modèles de 8, 16, puis 32 Go au printemps dernier, les fabricants proposent, en cette... www.commentcamarche.net/actualites/les-cles-usb-passent-a-64-go-de-stockage-5847426-actualite.php3
[Brève] Le stockage externe passe au disque 2 To(Paris - Relaxnews) - LaCie annonce la sortie d'une nouvelle version de son Big Disk : le Big Disk Extreme+. Ce disque dur externe à triple interface (FireWire 800, FireWire 400 et USB 2.0) permet de stocker jusqu'à 2 To (2.000 Go) de données. Il est... www.commentcamarche.net/actualites/breve-le-stockage-externe-passe-au-disque-2-to-3202538-actualite.php3
Servlets - Gestion des sessionsHTTP: un protocole non connecté Le protocole HTTP est un protocole non connecté (on parle aussi de protocole sans états, en anglais stateless protocol), cela signifie que chaque requête est traitée indépendamment des autres et qu'aucun historique... www.commentcamarche.net/contents/servlets/servsession.php3
Compression de donnéesPourquoi compresser les données? De nos jours, la puissance des processeurs augmente plus vite que les capacités de stockage, et énormément plus vite que la bande passante des réseaux, car cela demande d'énormes changements dans les... www.commentcamarche.net/contents/video/compress.php3