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 20/02/2006, 09h51   #1
Membre actif
 
Avatar de yotsumi
 
Julien L
Inscription : mars 2005
Messages : 187
Détails du profil
Informations personnelles :
Nom : Julien L
Âge : 22
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : mars 2005
Messages : 187
Points : 154
Points : 154
Envoyer un message via MSN à yotsumi
Par défaut [Sécurité] Fonction de cryptage rapide

Bonjour à vous,

En vue de protéger un peu plus les mots de passe des mes membres, je souhaiterez en plus de la fonction md5() les crypter par une autre fonction ( si un pirate réussi à récuperer la bdd, les dicos md5 sont assez performant pour décrypter la pluspart des pass, un second cryptage lui poserait plus de problème).

Le second cryptage peut être réversible ou non.
Par contre, il faudrait que sa soit le plus rapide possible ( logique ! ) et que sa ne génère pas de caractères spéciaux ( risque de problèmes avec mysql )


Donnez moi vos idées !
yotsumi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 09h56   #2
Membre expérimenté
 
Avatar de dj-julio
 
Inscription : décembre 2005
Messages : 742
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Finistère (Bretagne)

Informations forums :
Inscription : décembre 2005
Messages : 742
Points : 576
Points : 576
le mieux à faire c'esty que tu ajoutes un grain de sel dans ton cryptage md5
__________________
Mon Site/Cv.
dj-julio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 09h57   #3
Membre chevronné
 
Avatar de Kioob
 
Olivier Bonvalet
Inscription : septembre 2004
Messages : 550
Détails du profil
Informations personnelles :
Nom : Olivier Bonvalet
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : septembre 2004
Messages : 550
Points : 723
Points : 723
Envoyer un message via MSN à Kioob
Hello,

l'idéal est d'utiliser un "grain de sel". Ainsi l'utilisation de la fonction CRYPT() suffit. D'autre part la fonction CRYPT() est un standard sous Unix, on la retrouve dans la plupart des langages, PHP et MySQL y compris ; c'est également elle qui est utilisée pour le stockage des mots de passe système sous Linux et pour un grand nombre d'applications sous Unix en général.

http://at2.php.net/manual/fr/function.crypt.php
Kioob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 09h59   #4
Membre actif
 
Avatar de yotsumi
 
Julien L
Inscription : mars 2005
Messages : 187
Détails du profil
Informations personnelles :
Nom : Julien L
Âge : 22
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : mars 2005
Messages : 187
Points : 154
Points : 154
Envoyer un message via MSN à yotsumi
Je viens de penser à une chose, un double md5 sa doit être pas mal non ?

Sinon la fonction crypt() me parait trés bien aussi !
Moi qui était aller me faire ***** avec les fonctions mcrypt_create_iv, je vois qu'il y a plus simple !
yotsumi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 10h04   #5
Membre chevronné
 
Avatar de Kioob
 
Olivier Bonvalet
Inscription : septembre 2004
Messages : 550
Détails du profil
Informations personnelles :
Nom : Olivier Bonvalet
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : septembre 2004
Messages : 550
Points : 723
Points : 723
Envoyer un message via MSN à Kioob
Non, dans tous les cas le hash d'un même mot de passe sera toujours identique.

Une seule solution : grain de sel.
Kioob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 10h05   #6
Membre éprouvé
 
Homme Cyrill Gremaud
Ingénieur systèmes et réseaux
Inscription : août 2005
Messages : 1 002
Détails du profil
Informations personnelles :
Nom : Homme Cyrill Gremaud
Âge : 23
Localisation : Suisse

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Enseignement

Informations forums :
Inscription : août 2005
Messages : 1 002
Points : 429
Points : 429
je te conseil de faire un cryptage personnel... moi c'est ce que j'ai fais et pour le moment personne n'a réussi a trouver une solution...
cyrill.gremaud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 10h08   #7
Membre actif
 
Avatar de yotsumi
 
Julien L
Inscription : mars 2005
Messages : 187
Détails du profil
Informations personnelles :
Nom : Julien L
Âge : 22
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : mars 2005
Messages : 187
Points : 154
Points : 154
Envoyer un message via MSN à yotsumi
Citation:
Envoyé par Kioob
Non, dans tous les cas le hash d'un même mot de passe sera toujours identique.

Une seule solution : grain de sel.
Je ne parle pas de faire un md5 deux fois sur le même mot de pass, mais de faire un double md5 :

md5(md5($pass)); différent de md5($pass);

Mais je viens de tester la fonction crypt sa me va trés bien !

Le cryptage personnel j'y est pensé mais je pense que c'est moins optimisé niveau temps d'éxécution.
yotsumi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 10h09   #8
Membre chevronné
 
Avatar de Kioob
 
Olivier Bonvalet
Inscription : septembre 2004
Messages : 550
Détails du profil
Informations personnelles :
Nom : Olivier Bonvalet
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : septembre 2004
Messages : 550
Points : 723
Points : 723
Envoyer un message via MSN à Kioob
lol... parce que tu n'es jamais tombé sur un expert...

A quoi bon ré-inventer la roue ? A moins que tu penses vraiment pouvoir faire mieux que les mathématiciens spécialisés dans le domaine, je ne vois pas l'intérêt.
Kioob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 10h11   #9
Membre chevronné
 
Avatar de Kioob
 
Olivier Bonvalet
Inscription : septembre 2004
Messages : 550
Détails du profil
Informations personnelles :
Nom : Olivier Bonvalet
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : septembre 2004
Messages : 550
Points : 723
Points : 723
Envoyer un message via MSN à Kioob
Citation:
Envoyé par yotsumi
Citation:
Envoyé par Kioob
Non, dans tous les cas le hash d'un même mot de passe sera toujours identique.

Une seule solution : grain de sel.
Je ne parle pas de faire un md5 deux fois sur le même mot de pass, mais de faire un double md5 :

md5(md5($pass)); différent de md5($pass);

J'avais bien compris.... mais tu peux refaire 500 fois ton "md5(md5($pass));", tu obtiendras toujours le même résultat... et c'est ça le problème.
Or, avec un grain de sel, tu n'as pas ce soucis.
Kioob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 10h13   #10
Membre actif
 
Avatar de yotsumi
 
Julien L
Inscription : mars 2005
Messages : 187
Détails du profil
Informations personnelles :
Nom : Julien L
Âge : 22
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : mars 2005
Messages : 187
Points : 154
Points : 154
Envoyer un message via MSN à yotsumi
Bon au final je vais prendre sa :

$md5crypt = crypt( md5($pass) ,$cle_DES_etendu);

Merci à vous !
yotsumi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 10h14   #11
Membre chevronné
 
Avatar de Kioob
 
Olivier Bonvalet
Inscription : septembre 2004
Messages : 550
Détails du profil
Informations personnelles :
Nom : Olivier Bonvalet
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : septembre 2004
Messages : 550
Points : 723
Points : 723
Envoyer un message via MSN à Kioob
ce qui ne sert absolument à rien...
Kioob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 10h14   #12
Membre actif
 
Avatar de yotsumi
 
Julien L
Inscription : mars 2005
Messages : 187
Détails du profil
Informations personnelles :
Nom : Julien L
Âge : 22
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : mars 2005
Messages : 187
Points : 154
Points : 154
Envoyer un message via MSN à yotsumi
Citation:
Envoyé par Kioob
ce qui ne sert absolument à rien...
? A propos de quoi ?
yotsumi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 10h15   #13
Membre chevronné
 
Avatar de Kioob
 
Olivier Bonvalet
Inscription : septembre 2004
Messages : 550
Détails du profil
Informations personnelles :
Nom : Olivier Bonvalet
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : septembre 2004
Messages : 550
Points : 723
Points : 723
Envoyer un message via MSN à Kioob
crypt() suffit largement... ça ne te sert à rien d'ajouter une couche de MD5()...
Kioob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 10h18   #14
Membre actif
 
Avatar de yotsumi
 
Julien L
Inscription : mars 2005
Messages : 187
Détails du profil
Informations personnelles :
Nom : Julien L
Âge : 22
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : mars 2005
Messages : 187
Points : 154
Points : 154
Envoyer un message via MSN à yotsumi
Ouais c vrai que la $clé permet d'avoir la garanti d'une unicité ( pas de dicos possible )
yotsumi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 11h09   #15
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Citation:
Envoyé par Kioob
J'avais bien compris.... mais tu peux refaire 500 fois ton "md5(md5($pass));", tu obtiendras toujours le même résultat... et c'est ça le problème.
Or, avec un grain de sel, tu n'as pas ce soucis.
@Kioob : J'aimerais savoir qui t'as assuré cela car :
Code :
1
2
3
4
5
6
<?php
 
$string = 'test';
echo md5($string).'<br />'.md5(md5($string));
 
?>
Affiche :
Code :
1
2
098f6bcd4621d373cade4e832627b4f6
fb469d7ef430b0baf0cab6c436e70375
À moins que je doive me racheter des yeux...
Finalement, c'est un comportement un peu plus logique que ce que tu proposais (à savoir que crypter un cryptage ne change rien) puisque, du point de vue de md5(), le retour d'un autre md5() est une chaîne : pas moyen de savoir que c'est une chaîne cryptée qu'il ne doit pas crypter davantage.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 11h16   #16
Membre chevronné
 
Avatar de Kioob
 
Olivier Bonvalet
Inscription : septembre 2004
Messages : 550
Détails du profil
Informations personnelles :
Nom : Olivier Bonvalet
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : septembre 2004
Messages : 550
Points : 723
Points : 723
Envoyer un message via MSN à Kioob
Kirkis... relis bien avant de sortir de tels trucs...

Je parle de ça :
Code :
1
2
3
$pass = 'toto';
echo md5(md5($pass)), "<br />\n";
echo md5(md5($pass)), "<br />\n";
Tu obtiendras deux fois la même chose, ce qui n'est pas le cas en utilisant un salt.
Kioob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 13h02   #17
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Citation:
Envoyé par yotsumi
Je ne parle pas de faire un md5 deux fois sur le même mot de pass, mais de faire un double md5 :

md5(md5($pass)); différent de md5($pass);
Citation:
Envoyé par Kioob
tu peux refaire 500 fois ton "md5(md5($pass));", tu obtiendras toujours le même résultat...
Je pense que tu as mal saisi ce qu'il voulait dire mais ce n'est que mon avis.
Après, je t'ai mal compris toi car je l'avais bien compris lui
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 13h14   #18
Membre chevronné
 
Avatar de Kioob
 
Olivier Bonvalet
Inscription : septembre 2004
Messages : 550
Détails du profil
Informations personnelles :
Nom : Olivier Bonvalet
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : septembre 2004
Messages : 550
Points : 723
Points : 723
Envoyer un message via MSN à Kioob
Non j'ai parfaitement compris ce qu'il cherchait à faire, et lui ai répondu en fonction de ça : il voulait faire du double MD5 pour éviter les attaques par dictionnaire. Je lui ai donc expliqué que cela ne changeait rien, et que la méthode du grain de sel était - elle - efficace.

C'est d'ailleurs pourquoi il a décidé d'utiliser crypt() au lieu de md5()...


Note : s'il faut que je te ré-explique tous mes posts à chaque fois, on va pas s'en sortir hein... Prends le temps de lire stp.
Kioob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2006, 10h34   #19
Membre éclairé
 
Avatar de XtofRoland
 
Inscription : août 2005
Messages : 361
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 361
Points : 340
Points : 340
jusqu'a ce dernier message j'ai halluciné!

Kioob contrairement a ce que tu peux croire, tu es loin d'etre clair...



il y a un topic interessant , securité totale ;-)
__________________
Le but de tout developpeur OO est de devenir une référence.
Mon avatar est un ambigramme, les curieux peuvent le retourner ;-)
Aider <> Faire a la place de!!!
XtofRoland est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2006, 13h17   #20
Membre chevronné
 
Avatar de Kioob
 
Olivier Bonvalet
Inscription : septembre 2004
Messages : 550
Détails du profil
Informations personnelles :
Nom : Olivier Bonvalet
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : septembre 2004
Messages : 550
Points : 723
Points : 723
Envoyer un message via MSN à Kioob
et qu'est ce qui n'est pas clair pour toi dans une simple phrase comme celle ci ?
Citation:
tu peux refaire 500 fois ton "md5(md5($pass));", tu obtiendras toujours le même résultat
Kioob est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h36.


 
 
 
 
Partenaires

Hébergement Web