2010-06-03 2 views
1

J'utilise le plugin wsseapi de gsoap et j'aimerais stocker les mots de passe sha1 hachés plutôt que du texte brut. J'ai passé une quantité ridicule de temps à expérimenter avec différentes méthodes de hachage du mot de passe en texte brut pour le stockage.Comment puis-je hacher un mot de passe et le stocker pour une vérification ultérieure avec un autre résumé?

Quelqu'un peut-il suggérer un moyen de hacher un mot de passe afin qu'il puisse être vérifié plus tard par rapport à un résumé de jeton de nom d'utilisateur envoyé par le client?

Je n'arrive pas à obtenir le mot de passe du client pour m'authentifier par rapport à ma table de hachage stockée.

Répondre

0

Il semble que le mot de passe en texte clair soit requis des deux côtés. C'est ainsi que sur le serveur, le mot de passe stocké est haché en utilisant le nonce créé du côté client, puis les hachages de mot de passe sont comparés.

Je pensais qu'il y avait un moyen pour le client d'entrer un mot de passe alphanumérique normal et que le serveur récupérait une version préenregistrée du même mot de passe pour la comparaison. Cela semble impossible à cause du nonce, de l'horodatage, etc

1

Ne roulez pas votre propre crypto; utiliser un schéma bien connu et accepté par la communauté, tel que PBES2 (tel que spécifié par PKCS#5 v2.1). Si vous avez de la chance, vous trouverez une implémentation prête à l'emploi (indice: OpenSSL probablement).

+0

J'essayais de hacher seulement la partie mot de passe du résumé (en laissant de côté le nonce et le temps créé) en utilisant sha1 basique. Ma pensée ici était que je pourrais vérifier rapidement le hachage envoyé par le client contre celui stocké. Je ne suis pas sûr que je puisse obtenir spécifiquement le hash de mot de passe envoyé par le client lorsque le hash est construit avec le mot de passe, le nonce et un horodatage. – oxygen8

0

ne pas stocker les mots de passe en texte clair est bon. choisir un hachage qui a été développé pour être calculé très rapidement est .. pas si intelligent. En savoir plus sur "key-derivation" au http://www.tarsnap.com/scrypt.html. fondamentalement, il ralentit "calcul du mot de passe haché" A LOT, de sorte qu'un attaquant est ralenti dans ses tentatives d'utiliser la force brute.

+0

Merci, gsoap a un soap_wsse_session_verify() qui semble empêcher d'éventuelles attaques de rejeu. J'espère que cela ferait l'affaire. – oxygen8

Questions connexes