Bases de la sécurité de l'information

Lorsqu'un service web stocke les mots de passe de ses utilisateurs, il ajoute au mot de passe une valeur aléatoire différente pour chaque utilisateur (un sel) avant de calculer et de stocker la valeur de hachage. Quel est le but principal du sel ?

  1. APermettre de retrouver le mot de passe d'origine à partir de la valeur de hachage grâce au sel, afin de l'envoyer aux utilisateurs qui l'ont oublié
  2. BFaire en sorte que les valeurs de hachage stockées diffèrent même lorsque des utilisateurs ont le même mot de passe, ce qui rend difficile le cassage au moyen de tables de valeurs de hachage précalculées
  3. CRaccourcir la valeur de hachage pour économiser de la place dans la base de données
Afficher la réponse et l'explication

Réponse : B. Faire en sorte que les valeurs de hachage stockées diffèrent même lorsque des utilisateurs ont le même mot de passe, ce qui rend difficile le cassage au moyen de tables de valeurs de hachage précalculées

La règle de base est de ne pas stocker les mots de passe tels quels, mais leurs valeurs de hachage calculées par une fonction de hachage. À la connexion, on calcule la valeur de hachage du mot de passe saisi et on la compare à la valeur stockée. Si l'on ne stocke que de simples valeurs de hachage, cependant, des utilisateurs ayant le même mot de passe ont la même valeur, et il suffit de consulter une table de valeurs précalculées pour les mots de passe courants (comme une rainbow table) pour découvrir de nombreux mots de passe. Un sel est une valeur générée aléatoirement pour chaque utilisateur, ajoutée au mot de passe et stockée avec la valeur de hachage. Le sel n'a pas besoin d'être secret, mais comme il diffère d'un utilisateur à l'autre, un même mot de passe donne des valeurs de hachage différentes et les tables précalculées deviennent inutiles. L'attaquant doit refaire les calculs pour chaque utilisateur, ce qui augmente fortement l'effort.

S'entraîner sur ce thème Retour au thème

Autres questions sur Bases de la sécurité de l'information

  1. Pour stocker des mots de passe, il est recommandé de ne pas utiliser directement une fonction de hachage rapide comme SHA-256, mais un procédé délibérément conçu pour être long à calculer, comme bcrypt ou Argon2. Pourquoi ?
  2. On recherche un mot de passe de 8 caractères par force brute, en essayant tous les candidats. Si l'on peut essayer 1×10^10 candidats par seconde, quelle combinaison est la plus proche du temps nécessaire pour essayer tous les candidats, d'une part pour un mot de passe composé uniquement de lettres minuscules (26 types), d'autre part pour un mot de passe composé de majuscules, de minuscules et de chiffres (62 types) ?
  3. A appose une signature numérique sur un document envoyé à B. Quelle combinaison indique correctement les clés utilisées pour créer et vérifier la signature, et ce que la signature numérique permet de confirmer ?
  4. Quelle affirmation compare correctement un code d'authentification de message (MAC) et une signature numérique ?
  5. On découvre que la clé privée correspondant au certificat serveur d'un serveur web a peut-être fuité. Le certificat n'a pas encore expiré. Quelle est l'action la plus appropriée pour l'exploitant ?