Mot de passe, minuscules, majuscules et caractères spéciaux ?

Lors d’une Cryptoparty, une question sur la composition d’un mot de passe m’a était posée, la personne m’expliquait que l’informaticien de son boulot lui avait confirmé qu’un mot de passe de 15 caractères en minuscules était robuste, et que l’ajout de majuscule et/ou des caractères spéciaux ne servirait à rien.

J’ai répondu que cela était faux, et pour que le mot de passe soit le plus complexe possible il faut obligatoirement ajouter des majuscules et des caractères spéciaux.

En fait, nous avons raisons tous les deux, et ce fut une erreur de ma part de dire que l’informaticien avait tord.

Oui un mot de passe de 15 caractères tout en minuscule est un mot de passe robuste à l’heure actuelle, même si l’ajout des majuscules et des caractères spéciaux le rendent beaucoup plus complexe.

Plus c’est long plus c’est bon

Plus le mot de passe est long, moins il a besoin d’être d’être complexe, une chaîne aléatoire de caractère minuscule suffit, j’ai fais moi même des calcules avec mon ordinateur doté d’un processeur core i5.

L’attaque d’un mot de passe par Brute force est basé sur les mathématiques des « Permutations avec Répétition »

Si nous gardons notre exemple avec un mot de passe de 15 caractères

Cas N° 1 – Si il est composé uniquement de minuscule, il existe environ 3.7×1030 (3.7 Dekillion) de combinaisons possibles
Cas N° 2 – Si il est composé de minuscule et majuscule, il existe environ 14*1060 (14 Icosillion) de combinaisons possibles
Cas N° 3 – Si il est composé de minuscule, majuscule et de 18 caractères spéciaux, il existe environ 21*1081 (21 Icosiheptillion) de combinaisons possibles
Cas N° 4 – Si il est composé de minuscules, majuscules, chiffres et de 18 caractères spéciaux, il existe environ 1220*1090 (1220 Triacontillion) de combinaisons possibles

En sachant qu’un ordinateur de maison (Le mien en occurrence) avec un processeur de base (i5) combiné à un script de génération de combinaisons qui utilise les permutations avec Répétition, peut faire environ 256*1020 (256 Hexillion) de combinaisons/minute[1].

Il faut plus de 28209 ans pour tester toutes les combinaisons du premier cas, et a plus de 110*1033 année pour le Cas N° 2

Mais la période se réduit considérablement avec les superordinateurs, dont le plus puissant à l’heure actuel est le TaihuLight, il est 4,6 million de fois plus performant que notre petit i5.
En faisant un calcule grossier, il faut environ 2 jours et demi pour tester toutes les combinaisons du cas 1. Je vous rassure, tout le monde n’a pas de superordinateur sous la main.

Mais pour le cas n° 2, c’est a dire un mot de passe de 15 caractères, constitué de majuscules et minuscules on passe à 8,63*1030 années

Et cela n’est pas tous, dans les 4 cas que nous avons vu, nous connaissons le nombre de caractère, c’est a dire 15, imaginez vous, alors, le nombre de combinaisons possibles si le nombre de caractère était inconnu ?

Cela démontre bien qu’il est impossible, à l’heure actuelle, de casser un mot de passe de 15 caractères[2], même si celui-ci n’est constitué que de minuscules pour de « simple mortel » comme nous, mais que cela reste possible pour un superordinateur (2,5 jours)

Ce petit exemple démontre bien l’importance d’ajouter à ses mots de passe les majuscules, les chiffres et les caractères spéciaux.

Mais ce qu’il faut également retenir, c’est qu’il ne faut jamais donner les caractéristiques de son mot de passe, c’est à dire sa longueur et le type de caractères dont il est composé. Car en donnant ces deux informations, vous réduisez drastiquement le nombre de combinaisons possibles pour le casser, et cela est d’autant plus vrais si ce dernier fait moins de 10 caractères.

Je vous recommande de lire mon précédent article sur le gestion des mots de passe


[1]Théoriquement, le core i5 a une “puissance” d’environ 20 GigaFlops, alors que TaihuLight a lui une puissance de 93 pétaflops

[2]Ici je parles uniquement de mot de passe dont les caractères ont étaient générés aléatoirement, et non de mot de passe constitué de “mot” du dictionnaire ou du quotidien

Zenzla

À propos de Zenzla

Je suis un passionné des logiciels libres, et tous ce qui tourne autour!! j'essaie de plus en plus de me débarrasser de l'oppression des Big Brothers du net. Je suis aussi Formateur en base de donnée, Gnu/Linux et bien autre chose.

9 réflexions sur “ Mot de passe, minuscules, majuscules et caractères spéciaux ? ”

  • 14 février, 2017 à 13 h 25 min
    Permalink

    > Cas N° 1 – Si il est composé uniquement de minuscule, il existe environ 3.7×1030 (3.7 Dekillion) de combinaisons possibles
    > Cas N° 2 – Si il est composé de minuscule et majuscule, il existe environ 14*1060 (14 Icosillion) de combinaisons possibles
    > Cas N° 3 – Si il est composé de minuscule, majuscule et de 18 caractères spéciaux, il existe environ 21*1081 (21 Icosiheptillion) de combinaisons possibles
    > Cas N° 4 – Si il est composé de minuscules, majuscules, chiffres et de 18 caractères spéciaux, il existe environ 1220*1090 (1220 Triacontillion) de combinaisons possibles

    Je ne sais pas comment vous faites votre calcul mais je n’obtiens pas du tout les mêmes valeurs:

    In [937]: ‘%e’ % 26**15
    Out[937]: ‘1.677259e+21’

    In [938]: ‘%e’ % 52**15
    Out[938]: ‘5.496043e+25’

    In [939]: ‘%e’ % 70**15
    Out[939]: ‘4.747562e+27’

    In [940]: ‘%e’ % 80**15
    Out[940]: ‘3.518437e+28’

    Du coup, la conclusion va complètement à l’inverse : il est inutile d’agrandir l’alphabet du mot de passe, il est plus efficace de rallonger son mot de passe.

    Le comic de la fin : https://www.xkcd.com/936/

    Réponse
  • 10 février, 2017 à 15 h 48 min
    Permalink

    Bonjour,

    Quelques interrogations après la lecture de cet article :
    – s’il est possible de mémoriser un mot de passe de 15 caractères, quid de 5, 10, 15 mots de passe ? quelle solution ?
    – l’usage de passphrases composée de mots facilite cette mémorisation par des humains, mais l’analyse n’est pas la même si on se base sur des mots plutôt que sur des caractères comme entité de base (plus de 25 mots dans un dictionnaire).

    Je n’osai pas vraiment le demander de but en blanc, mais tu n’envisagerai pas d’effectuer le même genre d’étude pour la cas des passphrase ? 🙂

    Réponse
    • Zenzla
      10 février, 2017 à 16 h 17 min
      Permalink

      Bonjour Olm,

      La meilleur solution, est de mémoriser les mots de passe d’accès aux données les plus sensibles ; la banque en ligne, compte PayPal, etc… c’est-à-dire les données sensibles dont la perte vous cause d’énormes soucis ; financiers, personnels, professionnels.
      Je recommande l’utilisation de phrase de passe avec un mélange de majuscule, minuscule, chiffre et caractères spéciaux : J’aime les plats de mamie = “gmLe$Pl@ts2M@m!”

      En suite pour les autres mots de passe qui sont très importants mais non critiques, il existe des très bon outils libres et très ergonomiques qui font office de coffre fort de mot de passe, Keepass en est un excellent.

      Pour l’analyse sur les phrase de passe, cela reste envisageable, si j’ai le temps.

      Réponse
  • 10 février, 2017 à 11 h 52 min
    Permalink

    Ah, la fameuse question du mot de passe robuste.

    Un mot de passe robuste, c’est quatre chiffres.

    Si, si, quatre chiffres et un bon contrôle par derrière.
    Exemple : DAB ou accès à un compte bancaire dans les grandes surfaces…
    => Contrôle : 3 erreurs = carte avalée ou compte bloqué.

    On le voit bien dans l’article. Un gros ordinateur pourra toujours craquer un mot de passe, c’est une question de temps et de puissance. Mais un gros ordinateur qui devrait attendre une heure après trois essais ratés, puis voir son IP bloqué une journée au bout de 6-10 essais sera tout aussi inefficace qu’un petit smartphone à ce jeu du craquage.

    Alors, avec un peu de recul, on comprend que :
    – La réflexion sur la sécurité ne doit pas porter sur la longueur du mot de passe, mais sur la robustesse du contrôle et sur sa durée. (avec une riposte graduée face aux “erreurs” répétées)
    – On ne traite pas un accès sécurisé comme on traite un téléchargement ou un échange UC disque dur. On prend le temps qu’il faut pour vérifier (et on le programme ce temps)
    – Ce n’est pas l’utilisateur qui est fautif, qui choisit mal son mot de passe ou sa longueur, c’est le programmeur du contrôle qui est un gros nul.

    Rappelez-vous : 4 chiffres, c’est un mot de passe robuste.
    Si le contrôle est bon. 🙂

    Réponse
  • 10 février, 2017 à 9 h 32 min
    Permalink

    Mais alors, combien faut-il de caractères parmi les minuscules, majuscules, chiffres et spéciaux, au mot de passe pour avoir environ la même solidité que celui de 15 caractères en minuscules?

    Réponse
  • 10 février, 2017 à 8 h 56 min
    Permalink

    Oui, mais en passant seulement de 15 à 19 caractères minuscules, on surpase la difficuté du code à 15 caractères minuscule/majuscules.

    Plus précisément, si a=26 et n=15,
    a^m=(2a)^n
    a pour solution m=18.19

    Le fait est que a^x monte beaucoup plus vite en x que en a. Donc allonger le mot de passe est plus efficace qu’augmenter le nombre de caractères à la base.

    Pour le cas numéro 4 :

    26*2+10+18=80, donc on résoud ceci :

    sage: solve( 26^x==80**15,x )
    [x == log(35184372088832000000000000000)/log(26)]
    sage: m=log(35184372088832000000000000000)/log(26)
    sage: numerical_approx(m)
    20.1744787955313
    Bref, il faut monter à seulement 21 caractères minuscules pour faire aussi bien (en fait beaucoup mieux) que 15 caractères complètement mélangés.

    Réponse
    • Zenzla
      10 février, 2017 à 10 h 12 min
      Permalink

      Bonjour Laurent

      Je suis totalement en accord avec toi, et c’est ce que je dis dans l’article “Plus le mot de passe est long, moins il a besoin d’être d’être complexe”

      Zenzla

      Réponse
  • 9 février, 2017 à 14 h 51 min
    Permalink

    Merci l’article est tres intéressant. La sécurité aussi se standardise et de plus en plus de sites notamment imposent au moins 1 majuscule 1 minuscule 1 caractère spécial et des chiffres, sous peine de se voir rejeter le mot de passe. Ça va finir soit en prise de tête avec l’oubli régulier du mot de passe qu’il faut recommencer à activer, ou bien mettre le même partout, et là on perd au niveau de la sécurité, voire pire à mon avis, cocher la case “voulez vous être reconnu sur ce site à votre prochaine visite”. La nécessité d’un coffre fort numérique va devenir rapidement indispensable à tous.

    Réponse
    • Zenzla
      10 février, 2017 à 10 h 09 min
      Permalink

      Bonjour,

      Je pense déja que l’utilisation de coffre fort numérique comme Keepass est indispensable auourd’hui, dans l’exemple de l’article je parle d’un mot de passe de 15 caractères générés aléatoirement, et un humain et incapable de retenir ce type de mot de passe.

      Pour le “voulez vous être reconnu sur ce site à votre prochaine visite”, c’est plus une histoire de cookies que de mot de passe, ce n’est pas forcement dangereux si ta machine est bien protégée

      Réponse

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *