8721 sujets

Développement web côté serveur, CMS

Pages :
(reprise du message précédent)

tournikoti a écrit :
Bon si je suis dans l'erreur, qu'une âme charitable m'explique ce que je n'ai rien compris.

Tous les participants de ce sujet ont essayé de le faire, hélas sans succès.
JJK801 a écrit :

Bien évidement, tu ne peut pas hasher un mot de passe directement aprés la saisie de l'utilisateur, ou tu expose ta methode en JS , ce qui réléve de l'incompétence notoire. Le SSL est le seul bouclier dans ce cas.


Par contre tu peux transmettre une clé publique RSA depuis le serveur, chiffrer le mot de passe (et évidemment effacer la version en clair des champs du formulaire) et déchiffrer côté serveur avec la clé privée (il y a plusieurs implémentation de RSA en JS disponible sur le net). Ça permet d'avoir certaines particularités de SSL sur un hébergement mutualisé sans SSL.
jb_gfx a écrit :
Par contre tu peux transmettre une clé publique RSA depuis le serveur, chiffrer le mot de passe (et évidemment effacer la version en clair des champs du formulaire) et déchiffrer côté serveur avec la clé privée (il y a plusieurs implémentation de RSA en JS disponible sur le net). Ça permet d'avoir certaines particularités de SSL sur un hébergement mutualisé sans SSL.

Cela a pour inconvénient de rendre l'authentification dépendante de JS.
Julien Royer a écrit :

Cela a pour inconvénient de rendre l'authentification dépendante de JS.


Certes, à implémenter en connaissance de cause donc.
C'est ce que j'ai trouvé aussi, par contre fait bien gaffe à ta version de PHP, il faut CRYPT_BLOWFISH activé sur ton serveur de production et ton environnement de dev.
Merci, et à tout hasard tu sais comment faire ? PHPINFO ne donne rien lorsque je recherche cette valeur et Google sort peu de résultat convainquant. Smiley confus

Je suis en 5.3, chez moi et chez OVH mutualisé. Smiley smile
echo CRYPT_BLOWFISH;

Doit renvoyer 1. En 5.3 c'est ok normallement, sur OVH pense a activer PHP 5.3 dans ton htaccess si tu n'es pas sur cette version par défaut :

SetEnv PHP_VER 5_3

Ou même directement :

SetEnv PHP_VER 5_4
Modifié par jb_gfx (24 Jun 2012 - 17:42)
Bon ben finalement j'ai fait quelques recherches et je trouve que l'implémentation de bcrypt en PHP est trop dépendante de la configuration pour mes besoins. Finalement je pense que je vais utiliser PBKDF2 plutôt que Bcrypt.

Il est même recommandé par le NIST pour stocker les mots de passe hashés, ce qui est suffisant pour me donner confiance dans cet algo.

http://csrc.nist.gov/publications/nistpubs/800-132/nist-sp800-132.pdf

Portage en PHP de PBKDF2 :

https://defuse.ca/php-pbkdf2.htm

License : domaine public (parfait)
Et il passe évidemment tous les tests.
Pages :