J'ai lu l'article sur l'incident Gawker et plusieurs articles ont été publiés concernant l'utilisation de bcrypt pour hacher les mots de passe et je veux m'assurer que mon mécanisme de hachage est suffisamment sécurisé pour évitez de passer à une autre méthode. Dans mon application actuelle, j'ai opté pour une implémentation PBKDF2 utilisant sha2-512 et un minimum de 1000 itérations. Puis-je demander des avis sur l'utilisation de PBKDF2 vs Bcrypt et si oui ou non je devrais implémenter un changement?Cryptage du mot de passe: PBKDF2 (avec sha512 x 1000) vs Bcrypt
Répondre
Vous êtes bon avec PBKDF2, pas besoin de passer à bcrypt.
Bien que la recommandation d'utiliser 1000 itérations ait été faite en l'an 2000, maintenant vous voudriez beaucoup plus.
En outre, vous devriez prendre plus de précautions lors de l'utilisation bcrypt:
Il est également intéressant de noter que, même si bcrypt est plus forte que PBKDF2 pour la plupart des types de mots de passe, il est en retard de longues phrases de passe; cela résulte de l'incapacité de bcrypt à utiliser plus que les 55 premiers caractères d'une phrase de passe alors que nos coûts estimés et NIST. les estimations de l'entropie de phrase secrète suggèrent que la limite de 55 caractères de bcrypt n'est pas susceptible de causer des problèmes à l'heure actuelle, les implémenteurs de systèmes qui comptent sur bcrypt pourraient être bien avisés de contourner cette limitation (p. Ex. un mot de passe pour le faire entrer dans la limite de 55 caractères) ou pour prendre des mesures pour empêcher les utilisateurs de placer trop d'entropie de mot de passe dans le 56e et les suivants caractères (par exemple, en demandant aux utilisateurs d'un site Web de taper leur mot de passe dans une entrée boîte qui ne dispose que de 55 caractères).
Cela dit, il y a aussi scrypt.
Toute comparaison serait incomplète sans la table du papier scrypt mentionné ci-dessus:
compte pour Iteration PBKDF2-HMAC-SHA256 utilisés il y a 86.000 et 4.300.000.
Commentaire (re: le titre):
- Ne pas utiliser le chiffrement (réversible) pour stocker les mots de passe à moins que vous devez.
- Puisque vous avez présenté une option de hachage (non-réversible) comme alternative, je suppose que vous n'avez pas besoin de réversibilité.
avis sur l'utilisation PBKDF2 vs Bcrypt et si je ou non mettre en œuvre un changement ?
Mon avis:
Utilisez PBKDF2 sur Bcrypt. (J'ai juste plus de foi dans SHA que Blofish, pour aucune raison)
Quant à savoir si vous devriez «implémenter un changement», je ne sais pas ce que vous demandez.
Edité pour séparer plus clairement la discussion de cryptage/hachage de l'affichage de mon algorithme de préférences w/r/t.
- 1. Cryptage du mot de passe
- 2. cryptage du mot de passe
- 3. Cryptage manuel du mot de passe
- 4. Cryptage avec DES et mot de passe
- 5. Cryptage de mot de passe
- 6. protection par mot de passe de PHP: md5 pour SHA512
- 7. mot de passe Ruby réplication de hachage SHA512 utilisant PHP
- 8. Existe-t-il un standard pour utiliser PBKDF2 comme mot de passe?
- 9. Cryptage du champ de mot de passe SQLite de l'iPhone
- 10. Cryptage de mot de passe dans Jackrabbit
- 11. Cryptage du mot de passe weblogic SALTEDHASHED en java
- 12. Cryptage Python: cryptage du mot de passe à l'aide de la clé publique PGP
- 13. Cryptage des fichiers zip avec un mot de passe basé sur le cryptage Zip 2.0
- 14. Quel cryptage de mot de passe Hudson utilise-t-il?
- 15. Migration du stockage de mot de passe clair vers authlogic
- 16. Cryptage AES - mot de passe, sel non résolu?
- 17. hachage une chaîne de mot de passe en utilisant SHA512 comme C#
- 18. Utilisation d'un mot de passe pour générer deux hachages distincts sans réduire la sécurité du mot de passe
- 19. Chiffrement du mot de passe
- 20. Enregistrement du texte du mot de passe original
- 21. Délai d'expiration du mot de passe CS4
- 22. PBKDF2-HMAC-SHA1
- 23. Authlogic: vérification du login/mot de passe
- 24. Validation du mot de passe (regex?)
- 25. Ai-je besoin de stocker le sel avec bcrypt?
- 26. X-PAYPAL-SECURITY-USERID, MOT DE PASSE et SIGNATURE
- 27. Mot de passe et confirmer le mot de passe
- 28. Implémentation de PBKDF2 en C# avec Rfc2898DeriveBytes
- 29. Modification du mot de passe avec Jabber Net
- 30. Modifier la longueur minimale du mot de passe avec restful_authentication
"demandant aux utilisateurs d'un site Web de taper leur mot de passe dans une zone de saisie qui ne dispose que de 55 caractères." Je suis désolé, mais comment cela s'applique-t-il au monde réel? Je peux difficilement trouver 8 mots de passe. – m33lky
Je connais un gars qui utilise des séquences de super jeux d'échecs comme mots de passe. Il salue les séquences avec les noms des joueurs, les dates, les villes jouées, etc. Je connais une autre personne qui utilise des vers de poèmes épiques, avec des erreurs intentionnelles introduites. Il existe de nombreuses façons d'obtenir des mots de passe longs. – Cheeso
Il convient de noter qu'il y avait une erreur dans le papier scrypt, et la coupure algorithmique réelle de bcrypt est de 72 caractères. Donc, il y a toujours une coupure, mais il y a 128 bits d'entropie de plus. Ce qui est extrêmement important. – ircmaxell