0

Je comprends qu'il est recommandé d'utiliser une fonction de hachage lente telle que bcrypt, scrypt ou argon2 lors du stockage des mots de passe dans une base de données. La plupart des documents que j'ai lus concernant le choix des paramètres, tels que le temps et le coût de la mémoire, suggèrent des valeurs de réglage aussi élevées que possible pour contrer les tentatives de craquage de mots de passe si un attaquant accède à votre base de données. Ma question est de savoir quel type de consommation de ressources est acceptable lors de l'authentification des utilisateurs dans une application Web? Je comprends que la réponse à cette question varie en fonction de facteurs tels que les spécifications du serveur effectuant l'authentification, la fréquence à laquelle l'authentification se produit, etc., mais je voudrais obtenir quelques suggestions générales sur ce qui serait sensible et ce qui ne serait pas t. Prend une seconde pour l'authentification par mot de passe trop longtemps? Si mon serveur a 8 Go de mémoire, utilise 1 Go pour le coût de la mémoire de hachage trop élevé? Je m'attends à ce que l'application en question n'effectue occasionnellement que l'authentification par mot de passe car elle utilise l'authentification par jeton pour la majorité des requêtes.Combien de temps l'authentification par mot de passe doit-elle prendre?

Répondre

1

La prise d'une seconde pour l'authentification par mot de passe dure-t-elle trop longtemps?

Pas si vos utilisateurs vont le tolérer, mais je pense que quelques centaines de millisecondes devraient suffire. Voir this excellent answer pour une question plus spécifique.

Si mon serveur dispose de 8 Go de mémoire, l'utilisation de 1 Go pour le coût de la mémoire de hachage est-elle trop élevée?

Je ne m'attendrais pas à ce que votre stratégie de hachage de mot de passe nécessite presque autant de mémoire. Le hachage est généralement une tâche liée au processeur/calcul.

+0

Merci pour votre commentaire. Argon2 est une fonction de mémoire dure et vous permet de spécifier un paramètre de coût de mémoire en plus du coût en temps et du parallélisme, c'est pourquoi je me demande combien de mémoire je peux raisonnablement consacrer au hachage. – user3607758

+0

Ah, si vous choisissez une quantité arbitraire de mémoire à utiliser, alors "combien ça va trop" dépendra d'autres facteurs comme la quantité de mémoire que vous pouvez épargner à ~ charges de pointe. 1 Go semble excessif. Il semble que la valeur par défaut de l'interface CLI d'Argon2 est de 4096 Ko. –