Cet article explique pourquoi l’utilisation de Math.random()
pour générer des mots de passe est dangereuse (prédictibilité, absence de sécurité cryptographique) et propose une solution robuste via l’API Web Crypto et sa méthode crypto.getRandomValues()
. Cette dernière utilise des sources d’entropie cryptographiquement sécurisées, évitant les biais de distribution grâce au rejection sampling.
L’article fournit un exemple d’implémentation complète, incluant :
- Une classe
SecurePasswordGenerator
personnalisable (longueur, types de caractères, exclusion des caractères ambigus). - Une méthode pour calculer la force du mot de passe généré.
- Des bonnes pratiques : validation côté serveur, gestion mémoire, et compatibilité navigateur (HTTPS requis).
À retenir : Toujours privilégier crypto.getRandomValues()
et éviter Math.random()
pour toute application sensible. L’API est largement supportée (Chrome, Firefox, Safari) et garantit une sécurité optimale.
L'auteur explique comment il a mené un audit de sécurité dans son entreprise : récupération de la liste des utilisateurs, constitution d'un dictionnaire, préparation d'une machine de calcul, cassage du maximum de mots de passe, et information auprès des personnes concernées. Il en profite pour rappeler quelques conseils de sécurité sur les mots de passe.
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
L'auteur démontre l'assertion selon laquelle la taille d'un mot de passe est l'élément le plus important de sa sécurité.
Bitwarden permet de gérer ses mots de passe. L'auteur montre comment l'installer via docker (image VaultWarden, plus légère)
Pour résumer et paraphraser l'auteur : la sécurité, c'est du temps
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre