Mysql
 sql >> Base de données >  >> RDS >> Mysql

Nom d'utilisateur, mot de passe, salage, cryptage, hachage - Comment tout cela fonctionne-t-il ?

Si vous excluez les captchas, essayez les limites, les verrouillages, etc.... alors oui. Il vous suffit de forcer brutalement la chaîne de texte brut.

Cependant, cela prend du temps - à tout le moins, il est limité par la vitesse à laquelle le serveur répondra aux demandes de connexion. Même si le développeur n'ajoute aucune mesure pour empêcher la force brute, le serveur lui-même ne peut passer par le processus de cryptage + vérification que si rapidement et ne peut gérer qu'un nombre limité de requêtes parallèles.

Cela dit, c'est pourquoi il est important de

  • En tant qu'utilisateur, utilisez un mot de passe fort et difficile à forcer
  • En tant que développeur, ayez des mesures adéquates pour empêcher le forçage brutal de votre processus de connexion

Le hachage et le salage des mots de passe ne visent pas à se protéger contre les personnes qui forcent brutalement le processus de connexion naturel (il existe d'autres éléments qui protègent contre cela). Au lieu de cela, ils doivent protéger contre la compromission potentielle du stockage du mot de passe lui-même (par exemple, quelqu'un vide le contenu de la base de données).

Le hachage et le salage servent à diminuer la vitesse à laquelle une personne ayant accès aux mots de passe stockés peut récupérer la chaîne de texte en clair dont elle aurait besoin pour pouvoir passer par le processus de connexion naturel (de votre site ou d'autres sites , étant donné que les mots de passe sont couramment partagés entre les sites) sans déclencher les mesures de sécurité anti-brute-forcing.