|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
![]() ![]() Thierry Leriche-DessirierInscription : octobre 2007 Messages : 1 211 ![]() |
La plupart des sites web offrent une fonctionnalité liée aux mots de passe oubliés. En général, on y accède via un lien présent en bas du bloc de connexion. Cette option est bien pratique pour l'utilisateur distrait, comme pour l'utilisateur mal intentionné.
Les éditeurs implémentent généralement une des deux solutions suivantes : 1) Le système va rechercher en base le mot de passe et vous l'envoie par email ; 2) Le système génère un nouveau mot de passe, qu'il enregistre en base, et vous l'envoie par email. Très souvent l'accès à cette fonctionnalité est protégé par une question personnelle comme votre parfum de glace préféré. heu chocolat, vanille, fraise au hasard... Mais non, oh la la, au scandale !... Encore aujourd'hui je viens de recevoir un email du premier type, que je n'avais d'ailleurs pas sollicité. Il m'informe que mon mot de passe a été correctement changé il y a deux jours et qu'il est "abcd12" (je change les valeurs pour l'exemple) sachant que j'avais initialement tapé "abcd1234" mais apparemment le site en question (une grosse administration liée au fisc) doit penser que 6 digits suffisent amplement, mais là n'est pas mon point. C'est grave. Pourquoi un système aurait-il besoin de connaitre mon mot de passe ? Dans l'absolu, j'espère au moins qu'il est stocké dans une base à part et crypté (ce dont je doute). Mais s'il est capable de me redonner mon mot de passe, c'est qu'il est capable de le décrypter... A mon sens, quand je me connecte, voici ce qui devrait se passer. Le système crypte mon login et le password que j'ai tapé dans la boite de connexion. Il demande à la base s'il y a une correspondance. Si oui on entre, sinon on reste à l'extérieur. A aucun moment le système n'a besoin de connaitre la valeur stockée en base. Et d'ailleurs le cryptage utilisé devrait être destructif, au moins pour le password (ça peut être gênant pour le login), de sorte que personne ne puisse le décrypter s'il en prend possession. Et le système s'en porterait d'autant mieux. |
|
00
|
|
|
#2 |
|
Membre actif
![]() |
Bonjour,
> "Et d'ailleurs le cryptage utilisé devrait être destructif" Effectivement, dans les applications correctement conçues, on utilise un algorithme de hashage (SHA-1 ou MD5 par exemple) qui va transformer le mot de passe en une autre chaîne. L'opération inverse n'est pas possible (à part par bruteforce). Quand vous vous identifiez, vous envoyez votre mot de passe en clair, le site le hashe en utilisant la même méthode et compare les hashs entre eux. J'ai déjà vu des sites web qui hashait le mot de passe au niveau du client pour renvoyer le hash au serveur. Ce N'est PAS une bonne méthode. En effet, ça veut dire que si on a accès à la base de données et donc aux hashs, on peut s'identifier simplement en renvoyant le hash sans devoir connaître le mot de passe en clair. Avec cette méthode, vous êtes donc seul à connaître votre mot de passe. Malheureusement, les sites web ne sont pas toujours réalisés par des professionnels... Pour aller plus loin, la meilleure méthode selon moi pour les mots de passe oubliés consiste à envoyer une URL contenant un token dans le mail qui mène à un formulaire de changement de mot de passe (avec éventuellement une question secrète en plus). L'intérêt est d'empêcher un utilisateur malicieux de changer le mot de passe de la victime pour en diminuer la complexité et faciliter un bruteforce par la suite (même si, en général, les mots de passes générés sont plus complexes que celui de l'utilisateur mais ce n'est pas toujours le cas *). De plus, l'utilisateur n'a qu'à ignorer le mail s'il n'en est pas à l'origine sans devoir rechanger son mot de passe ou quoi que ce soit. Cordialement, Thomas Feron de LF Création * Certains générateurs renvoient des mots de passes du style 6 caractères dont le deuxième et le cinquième sont des majuscules puis 4 chiffres en croyant augmenter la complexité en mettant des majuscules et des chiffres. En réalité, si on en connait la position, ça n'augmente pas la complexité du tout. |
|
00
|
|
|
#3 |
|
Membre Expert
![]() Baptiste ROUSSELÉtudiant Inscription : janvier 2011 Messages : 806 ![]() |
Hum je me pose une question tout de même par rapport à la remarque de tho.feron
Il est donc plus sécurisé de faire passer un mot de passe en clair ? Mais dans ce cas on peut accéder à n'importe quoi avec le mot de passe sniffé ? Alors que le hash sniffé ne fonctionnera que pour ce site. Je me posais aussi une question suite à ça. Serait-il bon de hasher le mot de passe côté client, l'envoyer au serveur qui le réhasherai ? Ainsi même en récupérant les hash dans la base de données on ne pourrait rien en faire non ? Mais est-il viable de hasher un hash ?
__________________
|
|
|
00
|
|
|
#4 |
![]() ![]() Thierry Leriche-DessirierInscription : octobre 2007 Messages : 1 211 ![]() |
Non, dans tous les cas, il faut que la transmission entre firefox et ton serveur soit cryptée. Cette partie est un peu hors sujet mais effectivement elle est importante. Le serveur décrypte ce password, puis le crypte à nouveau pour le mettre en base. Si je me souviens bien de mes vieux cours, crypter un message déjà crypté, ça ne sert à rien, si on ne change pas l’entropie. Enfin si ça sert à quelque chose, mais ça n'augmente pas le niveau de sécurité, au contraire même. Et puis de toutes manières, faut penser que si le système régénère le password, par exemple "abcd", le crypte en "1234" pour le stocker en base, si l'utilisateur tape "abcd", c'est crypté par firefox en "xyza", puis en "ghdfrg" par le serveur, et donc la comparaison entre "1234" et "ghdfrg" va échouer.
|
|
00
|
|
|
#5 |
|
Membre actif
![]() |
Oui, comme l'a dit thierryler, pour éviter le sniffing, il faut utiliser HTTPS (SSL). Et je pense également avoir déjà lu qu'un hash d'un hash diminue l'entropie.
Thomas Feron de LF Création |
|
00
|
Copyright © 2000-2012 - www.developpez.com