|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre actif
![]() Inscription : avril 2006 Messages : 300 ![]() |
Bonjour à tous,
je suis en train de faire une classe "user" pour la gestion des accès sécurisés, et je me pose des questions sur les meilleurs cryptages... j'utilise 2 méthodes qui sont le crypt() de php avec le "salt", et le MD5. Je n'ai pas du tout confiance avec le MD5, qui semble pourtant une référence. On sait que que logiciels de password crackers en viennent à bout. Qu'en pensez-vous ? et pendant qu'on y est, que pensez-vous de la fonction crypt() ? Merci de vos éclaircissements. |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() |
|
|
|
00
|
|
|
#3 |
|
Membre expérimenté
![]() Inscription : octobre 2004 Messages : 872 ![]() |
salut
le probleme ne vient pas tant du principe de cryptage bien que md5(est un hash), mais vient des mots de passe utilisateur bien souvent trop light je pense que le mieux est d'utilisé une classe disons Sécurité afin que ta class user ne depande pas du type de cryptage que tu utilise personnelemnet j'utilise sha1 |
|
|
00
|
|
|
#4 |
|
Membre actif
![]() Inscription : avril 2006 Messages : 300 ![]() |
C'est vrai, les pb de sécurité viennent souvent du choix des mots de passe trop lights...
J'ai prévu un dictionnaire des mots de passe courants (16000 mots de passe) qui est parcouru quand 1 utilisateur change son mot de passe. Si son mot de passe est dedans, c'est pas accepté et l'utilisateur doit en choisir 1 autre... |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2004 Messages : 112 ![]() |
t'as pas à avoir peur, il ne fonctionne ke dans un seul sens le MD(hashage)
__________________
Le forum est là pour ceux qui ont déjà passé des heures et des heures à chercher la petite bête et qui n'ont pas encore trouvé le moyen de l'attraper... |
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() Matthieu Étudiant Inscription : septembre 2004 Messages : 381 ![]() |
le seul probléme a mon sens du md5 s'est que des hackers en ont fait des base de données .....
A savoir toutes les bases peuvent avoir se probléme , si une personne souhaite hacker les mot de passe ... S'est pourquoi , tout les utilisateur , doivent savoir qui ne faut jamais toujours métre le méme mot de passe .... |
|
|
00
|
|
|
#7 |
|
Membre actif
![]() Inscription : avril 2006 Messages : 300 ![]() |
Tu as raison WKD, mais ce qui m'inquiète c'est l'efficacité des logiciels de crackage par "brute force" pour ce genre de cryptage...
Et qui marchent plutôt bien... Et là je rejoins l'avis de jeff_!, plus le mot de passe est robuste, plus le mdp est long à trouver. |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Inscription : juillet 2004 Messages : 1 033 ![]() |
En utilisant un salt tu rends obsolète le dico.
|
|
|
00
|
|
|
#9 |
|
Membre actif
![]() Inscription : avril 2006 Messages : 300 ![]() |
Pourquoi le dico est obsolète ?
La vérif se fait comme ça: l'utilisateur entre son nouveau mot de passe. Avant l'envoi du formulaire, son mot de passe est encrypté en MD5 par javascript. la vérif se fait côté serveur sur un dico MD5 par rapport au mot de passe reçu et déjà encrypté en MD5. S'il n'y a pas de similarité, on encrypte le mot de passe (déjà en MD5) avec crypt() et on insert dans la base. Donc le salt est utilisé après la vérif du dico. Ca doit marcher, non ? |
|
|
00
|
|
|
#10 |
|
Membre éprouvé
![]() Inscription : février 2004 Messages : 456 ![]() |
Salut à tous,
le salt est utile parce que sans lui, si tu trouves l'algorithme de chiffrement utilisé, tu peux déchiffrer tous les mot de passes de ta bdd. => utile si ton serveur mysql a été hacké... Avec le salt, tu connais uniquement le chiffrement d'un seul mdpasse, les autres ne sont donc pas compromis (n'oublie pas que même avec un mdpasse crypté, tu peux t'authentifer!!) Tu peux aussi aller voir là, ils expliquent la technique du grain de sel un peu mieux que moi... Sinon va voir là, ya la base pour un site sécurisé (avec un minimum d'effort... |
|
|
00
|
|
|
#11 | |
|
Membre Expert
![]() Inscription : juillet 2004 Messages : 1 033 ![]() |
Citation:
Sachant qu'aucne méthode n'est sur travail par obsfucation autant que possible. Donc hash le pass coté serveur. Et utilise SSL pour ne pas envoyer le password en clair si tu flippes tant que cela. Pour ce qui est de l'utilisation du salt dans ce cas précis, c'est juste l'ajout d'un ou N caractères en fin de password lorsque c'est en clair, puis de le hasher. Ainsi en utilisant un salt tels TTFGKFDKG et un pasword light tels que toto, le hashage se fera sur : totoTTFGKFDKG Ce qui est beaucoup plus compliqué à casser avec un dico, et autant plus compliquè à casser par un brute force, surtout par internet. Après tu l'auras compris il n'y à plus qu'à comparé l'empreinte enregistré dans la base donnée avec le password modifié avec ton salt privé puis hasher pour savoir si le mot de passe fournit correspond à l'utilisateur. crypt est à oublié. |
|
|
|
00
|
|
|
#12 | |
|
Membre actif
![]() Inscription : avril 2006 Messages : 300 ![]() |
Citation:
Quant à crypt(), effectivement j'ai oublié... sha1 avec un salt, ça me paraît bien. |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com