Ajouter la vérification de la sécurité du mot de passe #13

Closed
opened 2019-06-07 09:20:37 +02:00 by Eragon · 9 comments
Member

En ce moment on vérifie juste que le mdp fait plus de 10 caractères.
Je propose d'ajouter les vérifications suivantes :

  • Un ou deux caractères spéciaux(@à.,?§!ù%*µ etc) minimum.
  • Un ou deux chiffre minimum.
  • On bloque les mdp "simples" à définir dans une liste(dans le config de la v5) par exemple on bloque: "abcde12345.", "password_1", etc.
  • Une vérification sur Firefox monitor ou sur Have i been pwned ?
En ce moment on vérifie juste que le mdp fait plus de 10 caractères. Je propose d'ajouter les vérifications suivantes : - Un ou deux caractères spéciaux(@à.,?§!ù%*µ etc) minimum. - Un ou deux chiffre minimum. - On bloque les mdp "simples" à définir dans une liste(dans le config de la v5) par exemple on bloque: "abcde12345.", "password_1", etc. - Une vérification sur Firefox monitor ou sur Have i been pwned ?
Owner

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

  • 10 (12 ?) caractères minimum
  • une minuscule
  • une majuscule
  • un chiffre
  • un caractère qui ne rentre pas dans l'une des trois catégories ci-dessus (on peut très bien mettre un emoji dans son mot de passe 😜)

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

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](https://www.ssi.gouv.fr/uploads/2017/01/guide_cpme_bonnes_pratiques.pdf)), à 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 - 10 (12 ?) caractères minimum - une minuscule - une majuscule - un chiffre - un caractère qui ne rentre pas dans l'une des trois catégories ci-dessus (on peut très bien mettre un emoji dans son mot de passe :stuck_out_tongue_winking_eye:) 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 ^^
Author
Member

(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.

(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.
Owner

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.

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.
Author
Member

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

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
Member

Ajouter des limitations autre qu'une longueur minimale, ça réduit l'entropie des mots de passes…

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.

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)

Ajouter des limitations autre qu'une longueur minimale, ça réduit l'entropie des mots de passes… > 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. 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)
Owner

Ajouter des limitations autre qu’une longueur minimale, ça réduit l’entropie des mots de passes…

Sauf que :

  • soit le mot de passe a une entropie correcte, et avec 10-12 caractères la probabilité qu'il ne respecte pas les règles est très faible (comprendre négligeable) ;
  • soit l'utilisateur fait son mot de passe à la main, et tu l'augmente nécessairement.
> Ajouter des limitations autre qu’une longueur minimale, ça réduit l’entropie des mots de passes… Sauf que : - soit le mot de passe a une entropie correcte, et avec 10-12 caractères la probabilité qu'il ne respecte pas les règles est très faible (comprendre négligeable) ; - soit l'utilisateur fait son mot de passe à la main, et tu l'augmente nécessairement.
Darks changed title from Ajouter la vérification de la sécurité deu mot de passe to Ajouter la vérification de la sécurité du mot de passe 2019-06-07 14:47:28 +02:00
Owner

Je 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.

Ajouter des limitations autre qu’une longueur minimale, ça réduit l’entropie des mots de passes…

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.

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é.

Oui, LDAP uniquement. Il y a moyen de contrôler l'algorithme utilisé pour le hachage ?

Je 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. > Ajouter des limitations autre qu’une longueur minimale, ça réduit l’entropie des mots de passes… 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. > 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é. Oui, LDAP uniquement. Il y a moyen de contrôler l'algorithme utilisé pour le hachage ?
Member

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

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éhashé avec une table arc-en-ciel.

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.

> 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 > 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éhashé avec une table arc-en-ciel. 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.
Owner

Ok pour l'algorithme, merci.

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.

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.

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.

Ç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.

Ok pour l'algorithme, merci. > 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. 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. > 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. Ç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.
Darks closed this issue 2019-06-11 00:46:46 +02:00
Sign in to join this conversation.
No description provided.