Table des matières

Sécurité des mots de passe

Disposer d'une gestion de mots de passe sécurisés consiste à traiter les points suivants :

Politique des mots de passe

Commencer par définir une politique de gestion des mots de passe cohérente et complète :

Communication des mots de passe

L'identifiant et le mot de passe d'un utilisateur doivent lui être communiqués à la création de son compte. Considérant que ces informations sont d'une importance fondamentale qu'il convient de protéger, il sera bon de raisonner avec sérieux les moyens employés pour leur communication.
Bonnes pratiques :

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 :

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 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 : 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

Les utilisateurs ne perçoivent pas nécessairement tous les enjeux liés aux mots de passe. La multiplication des comptes et les différences qui existent d'une politique de mots de passe à une autre peuvent engendrer des pratiques contre-productives. Il est donc important de réaliser un travail d'accompagnement qui s'orientera sur deux axes :