Comment faire de la sécurité?? [Résolu]

Signaler
Messages postés
125
Date d'inscription
lundi 1 novembre 2004
Statut
Membre
Dernière intervention
4 janvier 2006
-
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015
-
Bonsoir tout le mode.
J'essaye de faire de l'authentification avec php et mysql.
Selon certains articles sur le sujet, j'ai lu que pour sécuriser l'accés aux mots de passe, il faut les crypter. Pour cela, il faudera quand un nouvel utilisateur veut s'inscrire, il choisit son login et son mot de passe, et si c'est ok alors le login sera chiffré via le md5 et sera stoqué sous une forme crypter. quand le user aura besoin de se connecter, il va saisir son mot de passe alors mon programme va crypter ce mot de passe et va le comparer avec celui stocké dans ma base.
Le problème c'est quand un user demande à récupérer son mot de passe(mot de passe oublié), il sera impossible de le faire puisque le md5 est à sens unique, on pourra pas le récupérer.
Alors comment faire ?
est ce que c'est ça le principe ou je me suis trompé quelque part?

10 réponses

Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
8
Salut,



Tu te trompe sur toute la ligne...



La CNIL (dont tu devrais connaitre le nom, sinon ton site est illegal)
oblige au respect de la vie privé des internautes. Donc tu ne dois pas
connaitre leur mot de passe, même si tu es l'administrateur du Site.
Voilà pourquoi tu dois les concerver sous un format haché (md5).



Mais... Entre le client et ton serveur, il est codé le mot de passe ?



tic...tac...tic...tac...



Non ! Donc cela n'a pas grand chose à voir avec la sécurité.





Peu de sites respectent les obligations de la CNIL, pas même ce site (oublié votre mot de passe ? boum, il te le donne se fou)



La bonne procédure est :

oublié votre mot de passe ?

=> vérification de l'identité par un autre moyen

=> création d'un nouveau mot de passe

=> affichage en clair à l'écrant

=> stockage en md5 dans la base !



Point à la ligne !!!





Pour une réelle sécurisation de l'entré de ton site, tu dois utiliser
une SSL (Secured Socket Layer, soit le protocole https://) Mais c'est
trop souvent payant !





Alors, comme je sens que tu n'as pas prévenu la CNIL de l'existance
d'informations personnelles sur ton site... Tu peux laisser tomber le
md5
Messages postés
510
Date d'inscription
samedi 29 décembre 2001
Statut
Membre
Dernière intervention
23 mai 2008

Je suis d'accord avec toi J_G, mais petit conseil comme ca pour
progrima
, afficher le mot de passe à l'écran pourquoi pas (quoique, si il y a qqun derrière qui regarde, c pas top), mais surtout il faut l'envoyer par mail c'est mieux. D'ailleur ca te permet comme ca aussi de vérifier que c'est le bon utilisateur puisque tu envoie le pass sur le mail qu'il à donné à l'origine.


----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
-----------------
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
8
Pas faux...

(Puis j'aime bien ta "devise")
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
Tu peux conserver certaines données utilisateurs sans prévenir la CNIL :)
Mais il y a certaines informations où tu dois être déclaré oui.

Tout dépend ce que tu conserves (login/pass ==> s'en cogne... données personnelles seulements !)
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
8
D'accord, mais l'adresse mail constitue déjà une données peronnelle. Alors la frontière est très vite franchie !
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
Voui mais il parlait d'adresse mail() :)

Mais tu as raison quand même ! C'est vite franchi (et tant mieux d'ailleurs)
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
8
Par ailleurs, je ne comprends pas trop cette histoire de stocker les
mot de passe en md5 pour les cacher de la vue de l'administrateur...



Moi, j'ai accés à la base de données du site développé.

Bon, je ne peux pas lire le mot de passe... Super !

Je peux le modifier, je peux lire le nom de la personne, le dernier
message envoyé sur le site, son numéro de téléphone, ses goûts, ...



Je fais quoi avec ces données je peux pas les hachés... vu quelles doivent être lisible...



Et puis, je fais des base de données RELATIONNELLES. Donc l'identifiant
de l'utilisateur, je le crypt avec une clef hachée en md5 ? C'est ça ?
Sûr que là, heu... les requètes dans ma base seront bien optimisés.



Bref, je trouve que c'est un peu de la poudre aux yeux ce md5 sur le
mot de passe. Mais, certainement parceque quelque chose m'échappe.
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
"Bref, je trouve que c'est un peu de la poudre aux yeux ce md5 sur le
mot de passe. Mais, certainement parceque quelque chose m'échappe."

Tu peux utiliser md5 avec javascript par exemple sur un formulaire, donc tu peux pré-hasher un mot de passe avant son envoi sur le serveur.
Donc même avec un sniffer, tu ne pourras pas lire le mot de passe étant donné qu'il est pré-hashé.

Et pour vérifier ca en php ? Tester la longueur ==> si === 32, alors 'normalement', c'est un mot de passe hashé.
Reste plus qu'à le vérifier avec un preg_match [a-f0-9] et zoup !

Mais c'est vrai qu'un admin peut tout voir... c'est comme ca, c'est la vie :o
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
8
FhX => j'ai effectivement déjà vu des fonction "patch" recréant le hachage md5 coté client (en JS).



Mais là encore, je n'ai pas compris le sens de ce hachage pour la sécurité...





Comment un pirate fait-il pour capter un mot de passe ?

Il écoute une connexion, chope les données au vol les parses et en sort le mot de passe.



Bon, que tu envoye le mot de passe en clair ou en haché, c'est pareil !

Il écoute, trouve une chaine de caractère de 32 caractères Hexa qui
ressemble fort à un mot de passe. Bon bah il peut réutiliser cette
chaine et l'envoyer lui aussi. Comment saura-tu différencier la bonne
séquence hachée de l'usurpatrice?





Peut-être que pour bien faire avec ce codes md5, il faut :

* hacher aussi le nom des variables, avec par exemple l'IP afin de retomber sur ces pattes coté serveur

* Mélanger l'ordre des données envoyées (pas toujours le mot de passe en deuxième

* et pour finir, parasiter les données en y incrustant des leures dans
tous les sens (données inutiles) afin que le pirate ne puisse lire
(password=4eg6f4ez6ds54gg64g86sg4f)



C'est faisable... on peut imaginer encore plus de complexité... Mais à mon avis, jamais totalement sûr.





L'intéret de SSL est que toutes les données sont cryptées ensemble.
Donc le mec peut toujours écouter la connexion. Mais accroche toi pour
en parser le contenu.



La meilleure solution reste de sécuriser au maximum coté serveur,
filtrer les requètes SQL et les fichiers uploader, s'offrir un
hébergement avec sauvegardes journalières, toujours contrôler qui fait
quoi avant de le faire... et croiser les doigts.
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015

Je crois que seul le réel avantage de md5 concernant l'accès aux données c'est plutot au cas où un hacker réussirait à accéder à la bdd... mais à ce moment là y a d'autre soucis à se faire... après comme l'a dit J_G concernant les admin... la confidentialité... lOoo°ooOl... .. . ;o)

@ tchaOo°