Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Général Conception Web > Sécurité
Sécurité Forum d'entraide sur la sécurité des sites Web, les protections, l'authentification, etc. Avant de poster -> Cours Sécurité.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/07/2011, 11h01   #1
Rédacteur
 
Avatar de thierryler
 
Homme Thierry Leriche-Dessirier
Inscription : octobre 2007
Messages : 1 211
Détails du profil
Informations personnelles :
Nom : Homme Thierry Leriche-Dessirier
Localisation : France

Informations forums :
Inscription : octobre 2007
Messages : 1 211
Points : 3 330
Points : 3 330
Par défaut Les mots de passe oubliés

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.
thierryler est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 11h40   #2
Membre actif
 
Homme Thomas Feron
Chef d'entreprise
Inscription : novembre 2010
Messages : 94
Détails du profil
Informations personnelles :
Nom : Homme Thomas Feron
Localisation : Belgique

Informations professionnelles :
Activité : Chef d'entreprise
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2010
Messages : 94
Points : 164
Points : 164
Envoyer un message via Skype™ à tho.feron
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.
tho.feron est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2011, 11h24   #3
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 806
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 806
Points : 1 520
Points : 1 520
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 ?
__________________
Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2011, 11h57   #4
Rédacteur
 
Avatar de thierryler
 
Homme Thierry Leriche-Dessirier
Inscription : octobre 2007
Messages : 1 211
Détails du profil
Informations personnelles :
Nom : Homme Thierry Leriche-Dessirier
Localisation : France

Informations forums :
Inscription : octobre 2007
Messages : 1 211
Points : 3 330
Points : 3 330
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.
thierryler est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2011, 15h59   #5
Membre actif
 
Homme Thomas Feron
Chef d'entreprise
Inscription : novembre 2010
Messages : 94
Détails du profil
Informations personnelles :
Nom : Homme Thomas Feron
Localisation : Belgique

Informations professionnelles :
Activité : Chef d'entreprise
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2010
Messages : 94
Points : 164
Points : 164
Envoyer un message via Skype™ à tho.feron
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
tho.feron est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h24.


 
 
 
 
Partenaires

Hébergement Web