Outils pour utilisateurs

Outils du site


bloc3:secure-passwords

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
bloc3:secure-passwords [2023/11/09 16:23] – [Salage des mots de passe] adminbloc3:secure-passwords [2024/07/11 14:56] (Version actuelle) – [Hachage des mots de passe] admin
Ligne 16: Ligne 16:
   * A toute autre méthode, <color blue>préférer l'envoi d'un lien temporaire d'activation qui intègrera une étape de choix du mot de passe</color>.   * A toute autre méthode, <color blue>préférer l'envoi d'un lien temporaire d'activation qui intègrera une étape de choix du mot de passe</color>.
  
-===== Hachage des mots de passe =====+===== Stockage des mots de passe ===== 
 +==== Hachage des mots de passe ====
 Afin de garantir la sécurité des mots de passe, les points suivants devront être traités : Afin de garantir la sécurité des mots de passe, les points suivants devront être traités :
   * Hacher les mots de passe au moyen d'un <color blue>algorithme actualisé</color> (actuellement hash-code à 256 bits) ;   * Hacher les mots de passe au moyen d'un <color blue>algorithme actualisé</color> (actuellement hash-code à 256 bits) ;
Ligne 22: Ligne 23:
   * Hacher les mots de passe <color blue>le plus tôt possible</color> dans le traitement et <color blue>supprimer définitivement et le plus tôt possible toute trace du mot de passe en clair</color> ;   * Hacher les mots de passe <color blue>le plus tôt possible</color> dans le traitement et <color blue>supprimer définitivement et le plus tôt possible toute trace du mot de passe en clair</color> ;
   * Mémoriser les mots de passe sous leur seule forme hachée ;   * Mémoriser les mots de passe sous leur seule forme hachée ;
-  * Pour l'authentification, <color blue>ne JAMAIS comparer le mot de passe saisi avec celui stocké en base de données en utilisant SQL</color>. Le risque est d'amener le mot de passe en clair dans le SGBD où il sera enregistré dans les Logs ; +  * Pour l'authentification, <color blue>ne JAMAIS utiliser SQL pour comparer le mot de passe saisi avec celui stocké en base de données</color>. Le risque est d'amener le mot de passe en clair dans le SGBD où il sera enregistré dans les Logs ; 
-  * Dans le cas général, pour l'authentification, comparer dans le langage de programmation le mot de passe saisi et fraichement haché avec le mot de passe haché stocké en base de données ;+  * Dans le cas général, pour l'authentification, <color blue>comparer dans le langage de programmation le mot de passe saisi et fraichement haché avec le mot de passe haché stocké en base de données</color> ; 
 +  * <color blue>Une variable qui mémorise un mot de passe en clair doit avoir une durée de vie la plus courte possible</color>. Ce qui signifie que la donnée doit être explicitement détruite ou effacée au plus vite.
  
  
 +
 +==== Salage des mots de passe ====
 +Le hachage des mots de passe a beau être un procédé à haut niveau de sécurité lorsqu'il est convenablement mis en place (non-réversibilité, taille du hash-code élevée, algorithme lent, etc.), il n'en reste pas moins que l'ensemble comporte une fragilité particulière dans l'hypothèse du vol d'une base de données complète. Dans ce cas, un individu malveillant disposant de beaucoup de temps et d'un outillage spécialisé (**tables arc-en-ciel**) pourrait compromettre de nombreux mots de passe en s'appuyant sur l'homogénéité du hachage appliqué.
 +
 +Pour contrer cette capacité, on appliquera un **salage** des mots de passe. Le [[https://fr.wikipedia.org/wiki/Salage_%28cryptographie%29|salage]] consiste à ajouter une information aléatoire (le sel) au mot de passe avant son hachage. __Le sel étant variable d'un hachage à l'autre, on aura un hash-code différent pour le hachage du même mot de passe à deux moments différents__. Dans, ce cas, les tables arc-en-ciel deviennent inopérantes. \\ \\ 
 +Exemple de hash-code produit avec l'algorithme BCrypt :
 +{{:bloc3:bcrypt.png?600|Format d'un hash-code BCrypt}}
 +
 +A titre d'exemple, PHP propose une fonction **password_hash** qui intègre un hachage BCrypt et le salage automatique. 
  
 ===== Accompagner les utilisateurs ===== ===== Accompagner les utilisateurs =====
bloc3/secure-passwords.1699543426.txt.gz · Dernière modification : 2023/11/09 16:23 de admin