Quel est le suppléant à passwordDigest lorsque le mot de passe en texte clair ne sont pas stockées sur le producteur-service Web?

StackOverflow https://stackoverflow.com/questions/3109232

Question

Scénario:

producteur-services Web ont seulement hachage SHA-1 des mots de passe stockés dans la base de données. Nous avons besoin pour authentifier les utilisateurs de services Web en utilisant la combinaison Nom / mot de passe de l'utilisateur.


Web services de sécurité UsernameToken profil nous permet d'ajouter des en-têtes de savon à cet effet:

  

L'élément est   introduit dans le WSS: Message SOAP   Les documents de sécurité comme un moyen de   fournir un nom d'utilisateur.

     

Dans l'élément, un    élément peut être   spécifié. Les mots de passe de type   PasswordText et passwordDigest sont   sans s'y limiter aux mots de passe réels,   bien que ce soit une affaire commune.    (146-151)

moyens PasswordText de type de mot de passe que le mot de passe est envoyé sur le fil en texte brut qui est un problème de sécurité si nous ne sommes pas recours à des mécanismes de transport Niveau de sécurité. PasswordDigest évite d'envoyer des mots de passe en texte clair et envoie un hachage. Mais pour éviter les attaques replay (attaquant-e en utilisant l'écoute électronique pour capturer le mot de passe crypté et un renverrons avec une autre demande) la passwordDigest ajoute un horodatage et un nombre aléatoire de mot de passe avant de calculer le hachage. Il en résulte d'addition à restriction suivante:

  

Notez que passwordDigest ne peut   être utilisé si le mot de passe de texte brut (ou   mot de passe équivalent) est disponible   à la fois le demandeur et la   bénéficiaire. (196-197)


Mais dans notre cas, nous n'avons pas le mot de passe de texte brut. Ma question est: quelle alterne-il d'autres que pour faire des mots de passe en texte clair sur le serveur

Était-ce utile?

La solution

Le SHA-1 peut être parfaitement utilisé comme mot de passe "texte brut".

  • Demandez à l'utilisateur le mot de passe
  • convertir en SHA-1
  • l'exécuter throught la chose passwordDigest
  • le serveur va faire la même chose avec le SHA-1 dans la base de données
  • le serveur trouver qu'ils correspondent et permettent un accès
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top