Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources 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 29/04/2006, 22h46   #1
Membre actif
 
Avatar de renaudjuif
 
Inscription : avril 2006
Messages : 300
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 300
Points : 174
Points : 174
Par défaut [Sécurité] Cryptage MD5 et sécurité ?

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.
renaudjuif est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2006, 22h50   #2
Membre du Club
 
Inscription : janvier 2005
Messages : 244
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 244
Points : 54
Points : 54
Envoyer un message via MSN à dark_vidor
http://fr3.php.net/manual/fr/function.sha1.php

http://fr.wikipedia.org/wiki/SHA-1

vs

http://fr.wikipedia.org/wiki/Md5
dark_vidor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2006, 22h52   #3
Membre expérimenté
 
Inscription : octobre 2004
Messages : 872
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 872
Points : 582
Points : 582
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
jeff_! est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2006, 22h56   #4
Membre actif
 
Avatar de renaudjuif
 
Inscription : avril 2006
Messages : 300
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 300
Points : 174
Points : 174
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...
renaudjuif est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2006, 19h18   #5
wkd
Nouveau Membre du Club
 
Inscription : janvier 2004
Messages : 112
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 112
Points : 33
Points : 33
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...
wkd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2006, 19h51   #6
Membre confirmé
 
Matthieu
Étudiant
Inscription : septembre 2004
Messages : 381
Détails du profil
Informations personnelles :
Nom : Matthieu
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2004
Messages : 381
Points : 278
Points : 278
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 ....
paterson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2006, 19h52   #7
Membre actif
 
Avatar de renaudjuif
 
Inscription : avril 2006
Messages : 300
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 300
Points : 174
Points : 174
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.
renaudjuif est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2006, 20h35   #8
Membre Expert
 
Inscription : juillet 2004
Messages : 1 033
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 1 033
Points : 1 050
Points : 1 050
En utilisant un salt tu rends obsolète le dico.
ePoX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2006, 20h59   #9
Membre actif
 
Avatar de renaudjuif
 
Inscription : avril 2006
Messages : 300
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 300
Points : 174
Points : 174
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 ?
renaudjuif est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2006, 22h00   #10
Membre éprouvé
 
Inscription : février 2004
Messages : 456
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 456
Points : 428
Points : 428
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 , ils expliquent la technique du grain de sel un peu mieux que moi...

Sinon va voir , ya la base pour un site sécurisé (avec un minimum d'effort...).
billoum est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/05/2006, 01h22   #11
Membre Expert
 
Inscription : juillet 2004
Messages : 1 033
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 1 033
Points : 1 050
Points : 1 050
Citation:
Avant l'envoi du formulaire, son mot de passe est encrypté en MD5 par javascript.
oula, tu veux pas lui dire quels sont tes accès root au passage ?

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é.
ePoX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/05/2006, 01h52   #12
Membre actif
 
Avatar de renaudjuif
 
Inscription : avril 2006
Messages : 300
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 300
Points : 174
Points : 174
Citation:
Envoyé par ePoX
oula, tu veux pas lui dire quels sont tes accès root au passage ?

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.
...
crypt est à oublié.
Je hash côté client et côté serveur. Le MD5 côté client n'est qu'une sécurité (partielle) supplémentaire. J'aime pas trop ça (+ ça va et moins j'utilise le javascript, il n'y a que le côté serveur de vraiment stable ) mais je me dis que c'est mieux que rien.
Quant à crypt(), effectivement j'ai oublié... sha1 avec un salt, ça me paraît bien.
renaudjuif 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 03h18.


 
 
 
 
Partenaires

Hébergement Web