Sécuriser un Cookie d'authentification

Nouveau WRInaute
Bonjour,

Je voudrais utiliser le système des cookies pour faire une authentification automatique. Cependant nombres d'entre vous savent que les cookies peuvent être facilement modifié ou capté...

Je pensais donc utiliser les cookies mais en codant les données dans un chaine JSON crypté avec MD5.

Pour que cela soit efficace, je voudrais rajouter un donnée unique (type adresse MAC, ou une autre donnée propre à la machine de l'utilisateur). Ainsi lors du contrôle, si cette donnée ne correspond pas à celle de la machine, je peux savoir que quelque chose ne va pas...

Cela vous semble t il correct comme idée?
Si oui quelle donnée utiliser? Et comment la récupérer en php?

Merci à vous.
 
WRInaute passionné
ben l'ip peut changer pour ton visiteur, surtout s'il passe derriere un proxy (clients aol par exemple).
La meilleur solution, ben c'est de mettre une session.
 
WRInaute accro
Inclus un timestamp et un hash (MD5 par exemple) sur le timestamp, l'id de l'utilisateur et son mot de passe, ça devrait suffire, non?

Jacques.
 
WRInaute passionné
jcaron a dit:
Inclus un timestamp et un hash (MD5 par exemple) sur le timestamp, l'id de l'utilisateur et son mot de passe, ça devrait suffire, non?

Jacques.
quel serait le but?

car si un pirate arrive a te prendre tes cookies, il pourra les utiliser ...
 
WRInaute accro
Ca permet d'éviter que le cookie soit créé de toutes pièces (par opposition à un cookie qui dit simplement "authentification réussie, user=xxx" par exemple), et ça limite sa durée de vie, donc si quelqu'un arrive à le capter, il ne pourra pas l'utiliser éternellement (c'est toujours ça de pris). Le timestamp permet aussi de gérer des changements de clefs, par exemple.

Maintenant, si tu veux que le cookie ne puisse pas être intercepté, pas de miracle, il va falloir passer en SSL.

Jacques.
 
WRInaute accro
L'explication donnée a l'air très bien (je n'ai pas lu, juste parcouru), par contre la solution me semble assez faiblarde, et pas forcément évidente (le choix des headers à inclure n'est pas forcément trivial: certains changent trop facilement, et d'autres sont tellement prévisibles que leur inclusion n'apporte pas grand chose). Ceci dit, s'il s'agit de sécuriser une ID de session sans authentification préalable, il n'y a pas grand chose à faire (mais il ne devrait pas y avoir grand chose à y récupérer non plus), la meilleure solution (pour éviter le risque que quelqu'un "devine" l'ID plutôt que ne le capture), étant probablement d'avoir des IDs non prévisibles (i.e. pas bêtement séquentiels).

Jacques.
 
Discussions similaires
Haut