34 votes

Recommandé # d'itérations lors de l'utilisation de PKBDF2-SHA256?

Je suis curieux de savoir si quelqu'un a des conseils ou points de référence quand il s'agit de déterminer le nombre d'itérations est "assez bon" lors de l'utilisation de PBKDF2 (plus précisément avec l'algorithme SHA-256). Certes, "suffisamment bonne" est subjective et difficile à définir, varie selon la demande et le profil de risque, et ce qui est "suffisamment bonne" aujourd'hui n'est probablement pas "suffisamment bonne" de demain...

Mais la question demeure, qu'est-actuellement, l'industrie pense que "suffisamment bonne" est? Ce que les points de référence sont disponibles pour la comparaison?

Quelques références que j'ai trouve:

  • Septembre 2000 - 1000+ tours recommandé (source: RFC 2898)
  • Février 2005 - AES dans Kerberos 5 'par défaut' à 4096 tours de SHA-1. (source: RFC 3962)
  • Sept 2010 - ElcomSoft revendications iOS 3.x utilise de 2 000 itérations, iOS 4.x utilise de 10 000 itérations, montre BlackBerry utilise 1 (exacte algorithme de hachage n'est pas indiqué) (source: ElcomSoft)
  • Mai 2011 - LastPass utilise 100 000 itérations de l'algorithme SHA-256 (source: LastPass)

Je te remercie de toutes les références ou des commentaires au sujet de comment vous avez déterminé le nombre d'itérations a été "suffisamment bonne" pour votre application.

Merci à l'avance...

PS: Comme complément d'information, je suis en train d'étudier PBKDF2-SHA256 que la méthode utilisée pour le hachage des mots de passe utilisateur pour le stockage d'un conscientes de la sécurité du site web. Mes PBKDF2 sel est: par utilisateur aléatoire de sel (stocké en clair avec chaque enregistrement de l'utilisateur) XOR ed mondiale de sel. L'objectif est d'augmenter le coût de la force brute des mots de passe et pour éviter de révéler des paires d'utilisateurs avec des mots de passe identiques.

Références:

  • RFC 2898: PKCS #5: Mot de passe-Cryptographie Basé sur la Spécification v2.0
  • RFC 3962: Advanced Encryption Standard (AES) Chiffrement Kerberos 5
  • PBKDF2: le Mot de passe Fonction de Dérivation de Clé v2

(Mise à jour de correctif de mise en forme, je dois faire de mon premier post look assez =)

16voto

OWASP a un Mot de passe de Stockage de Feuille de Triche avec quelques conseils; ils recommandent de 64 000 PBKDF2 itérations minimum à compter de 2012, de doubler tous les deux ans (c'est à dire 90,510 en 2013).

Un nombre variable d'itérations [c'est à dire 90,510 + RAND(32000) itérations par l'utilisateur, de stocker le nombre d'itérations tout comme vous le magasin de l'aléatoire par utilisateur sel] permettrait de compliquer un adversaire tâche encore plus... et il serait facile de force augmente pendant au moins les utilisateurs qui se connectent fréquemment (l'ouverture de la session, vous avez le mot de passe en texte clair - re-hachage avec un nouveau sel et un nombre élevé d'itérations, enregistrez le nombre d'itérations et le sel et pommes de terre, et de passer).

Notez qu'une seule machine avec 8 moderne GPU peut se fissurer 1 million de WPA/WPA2 [c'est à dire PBKDF2(HMAC-SHA1, mot de passe, ssid, 4096, 256)] les mots de passe par seconde, ce qui équivaut à plus ou moins 4 milliards de PBKDF2 itérations par seconde. Par conséquent, à 90,510 itérations par l'entrée, que seul, pas très cher machine peut effectuer environ 44 000 essais par seconde, soit environ 3,8 milliards de dollars essaie par jour. Clairement, les mots de passe forts sont toujours en demande, comme ce sont cadencées par un programme qui n'fondé sur des règles, les attaques par dictionnaire (c'est à dire prendre cette liste de mots, essayez d'ajouter les nombres de 0 à 999 à la fin, 1337ify il, 1337ify et mettre en majuscule la première lettre, etc. etc.), pas simplement à la force brute! Référence: (https://hashcat.net/oclhashcat-plus/)

D'autre part, que cette machine pouvait essayer d'environ 17,7 milliards de salé unique SHA-1 itérations par seconde, soit environ 1,5 trillions d'essais par jour, de sorte que le PBKDF2 option est clairement beaucoup mieux, même si plus d'itérations est clairement mieux.

11voto

Tails Points 1389

Obtenu une bonne réponse à cette question, à la Sécurité informatique du Site:

Recommandé # d'Itérations Lors de l'Utilisation de PKBDF2-SHA256

Fondamentalement, vous avez besoin de tester votre propre serveur et de voir combien de temps cela prend. Le nombre d'itérations doit être réglé à la valeur la plus élevée, tout en conservant des performances acceptables. Une bonne règle de base est de viser plus de 8 millisecondes.

2voto

tragano Points 11

Vous pouvez simplement le faire comme encfs. Vérifier le nombre d'itérations qu'il faut pour maintenir l'ordinateur occupé pendant 0,5 secondes (et 3 secondes en mode paranoïa). Enregistrer ce numéro ainsi que le sel.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X