Ajouter la vérification de la sécurité du mot de passe #13
Labels
No Label
Core
bug
duplicate
easy
enhancement
help wanted
invalid
performance
proposal
question
security
warning
wontfix
No Milestone
No Assignees
4 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: devs/PCv5#13
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
En ce moment on vérifie juste que le mdp fait plus de 10 caractères.
Je propose d'ajouter les vérifications suivantes :
C'est une excellente idée que de partager sur un site tiers tous les mots de passes créés par les membres xD
Pour ce qui est de la solidité du mot de passe, je propose de suivre les conseils de l'ANSSI (page 9 de ce guide), à la différence près qu'on peut descendre la limite de caractères à 10. Après moi 12 ça me va bien aussi, si on met un petit mot expliquant pourquoi c'est important de faire un mot de passe long. Et ça participe à la sensibilisation sur le sujet.
Bref, ça donne
Faire attention dans le validateur à l'erreur : il faut pas que l'on s'y reprenne à cinq fois pour trouver un mot de passe valide ^^
(PTN ce document est génial, la méthode de création de mdp avec une phrase est hyper utile)
J'ai pas vraiment pensé à comment vérifier avec les sites externes mais en effet il n'y a pas de moyen de le faire de manière sécurisé, donc on oublie cette proposition.
Je propose d'avoir 10 caractères minimum, 12 de conseillé(avec un message explicatif) et le caractères qui n'est pas dans les autres catégories, c'est juste n'importe quel caractère utf-8 supporté par python, de toute façon c'est hashé en bdd donc pas de risque d'avoir des problèmes de longueur ni de caractère non reconnu par le LDAP.
Si ça vous convient, on peut clore l'issue.
Pour les sites externes, c'est à la fois un problème de communication (être sûr que les mdp ne soient pas interceptés en chemin), et un problème de confiance (comment être sûr que le site ne garde pas les mdp en mémoire). Jamais j'irai mettre mon mot de passe dans un site de ce genre. À la rigueur si j'ai accès en local à la liste de mots de passes corrompus je cherche chez moi, mais il est hors de question de faire ça en ligne.
Oui en plus ces sites ne peuvent check que les mails et faire le lien entre m'adresse mail et son existence(ou non) dans les fichiers qu'ils ont
Ajouter des limitations autre qu'une longueur minimale, ça réduit l'entropie des mots de passes…
Normalement on le stocke pas en BDD, juste dans LDAP (à moins que tu considère LDAP comme une BDD, ce qui n'est pas totalement faux, mais comme PCv5 aura une BDD classique et un LDAP…). Et oui, dans LDAP ça se stocke hashé.
Et évidemment, pas d'envoi automatique à travers le net des mot de passes vers des serveurs tiers, c'est quoi cette idée bancale x)
Sauf que :
Ajouter la vérification de la sécurité deu mot de passeto Ajouter la vérification de la sécurité du mot de passeJe suis d'accord avec ce que Darks propose, 10 ou 12 vont tous les deux pour moi. De toute façon il faudra que je change le mien, j'ai pas de majuscule... xD
Je rejoins aussi l'opinion sur les sites externes, jamais je ne partage les mots de passe de mes utilisateurs avec qui que ce soit.
Sérieusement ? Pour 95 caractères, mot de passe de taille 12, ça retire 4.38% des possibilités.
En échange de ça, un mot de passe de taille 12 sans caractères spéciaux peut être déhahsé avec une table arc-en-ciel en l'affaire de moins d'une heure...
Soit dit en passant je pense que tu te méprends sur la notion d'entropie, qui ici diminue moins en supprimant ces combinaisons qu'elle ne monte en ajoutant un caractère de plus.
Oui, LDAP uniquement. Il y a moyen de contrôler l'algorithme utilisé pour le hachage ?
https://tools.ietf.org/html/rfc2307 §5.3
https://gitea.planet-casio.com/devs/VPS-config/wiki/LDAP#ldif-dun-membre
C'est la combinaison de multiples règles qui pose soucis. Imposer deux caractères spéciaux dans un ensemble réduit par exemple, c'est pire que juste imposer d'avoir au moins deux catégories différentes. Si tu imposes d'avoir 3 voire 4 catégories, pareil, ça réduis pas mal le nombre de possibilités. Ou pas de suite, ou pas de doublons… bref, faut avoir un minimum de limitations pour laisser un maximum de possibilités.
Et typiquement, un mdp uniquement alphanumérique de 25 caractères c'est tout aussi safe que 10 caractères dont un spécial – surtout si tu n'interdit pas d'avoir des caractères spéciaux.
Après, oui, effectivement, ça doit être négligeable, mais bon, ça m'arrive d'avoir des mots de passe sans caractère spécial ou sans chiffre, mais tout de même très forts.
Ok pour l'algorithme, merci.
Il est question ici d'imposer une minuscule, une majuscule, et n'importe quel autre caractère. La dernière n'est même pas une catégorie tant elle est vaste.
Ça passe très mal aux tables arc-en-ciel. C'est beaucoup plus facile de déhasher 25 lettres minuscules que 3 lettres minuscules et un emoji, à cause de la façon dont les tables sont calculées.