Comment sauvegarder les mots de passe dans une base de données

Pragmatic Nerdz
Aug 14, 2023 - 3 Minutes

Il est important to sauvegarder les mots de passe de façon à ce qu'en cas de bris de sécurité, vos mots de passe ne soient jamais compromis

Quoi ne pas faire!

Ne sauvegardez jamais vos mots de passes dans la base de données en clair!

N'importe qui ayant accès à la base de données pourra facilement voir les mots de passes des usagers. Si la base de données est compromise,  les pirates auront toutes les informations pour accéder aux comptes de vos usagers!

Comment protéger les mots de passe?

1. Hachez les mots de passes

Avant de sauvegarder des mots de passes, il faut crypter avec une une function de hachage (hash function).

Une fonction de hachage est une fonction à sens unique qui permet de crypter du texte, qui est impossible a décrypter pour obtenir la texte initial. Donc si un pirate obtient le mot de passe haché, il ne peux tout simplement pas l'utiliser pour accéder au compte de l'usager.

Il est important d'utiliser une fonction de hachage moderne,  car elles elles utilisent beaucoup plus de resources de calcul, ce qui les rend robustes aux attaques de force brute:

  • Utilisez la fonction Bcrypt.
  • N'utilisez pas les fonctions MD5 et SHA-1, elles sont très rapides mais moins sécuritaires!

Ces algorithmes de hachage sont disponibles dans tous les languages de programmation.

2. Rajoutez un pincée de sel

Receive my Stories your e-mail inbox as soon as I publish them.
Subscribe to my Blog

Il est important de rajouter du sel (salt) à votre mot de passe avant de le hacher. La pincée de sel rajoutée au mot de passe est une chaine de caractère générée aléatoirement, ce qui le rend unique.

Pourquoi saler le mot de passe?

Il est possible de craquer des mot de passes hachés en utilisant des dictionnaires de valeur de hachage de mots de passe couramment utilisés. Avec cette technique, un pirate peut craquer des mots de passe en quelques secondes!

Saler le mot de passe rend le mot de passe unique et impossible à craquer en utilisant ce type de technique.

Comment sauvegarder les mots de passes?

Le processus de sauvegarde des mots de passe est le suivant:

  1. L'usager saisit sont mot de passe
  2. Le système génère la pincée de sel de façon aléatoire.
  3. Le mot de passe est concaténé avec le sel et haché en utilisant la fonction de hachage, ce qui génère un mot de passe haché unique.
  4. Le mot de passe haché et le sel sont stockés dans la base de données.

Comment valider les mots de passe?

Le processus de validation des mots de passe lors de l'authentification des usagers est le suivant:

  1. L'usager saisit on nom d'usager et mot de passe
  2. Le système retrouve le sel de l'usager en utilisant son nom d'usager
  3. Ce sel est concaténé au mot de passe fourni par l'usager et haché.
  4. La valeur hachée est comparée avec celle en base de données. Si les valeurs sont identiques, alors de mot de passe est valide!

C'est ainsi que le stocke les mots de passe de façon sécuritaire dans les base de données.

Sécurité
Mot De Passe
Fonction De Hashage
Bcrypt
Md5