paint-brush
Protégez vos mots de passe contre le piratage : Comprendre les concepts mathématiquespar@smoothmaruf
1,675 lectures
1,675 lectures

Protégez vos mots de passe contre le piratage : Comprendre les concepts mathématiques

par Abubakar Maruf8m2022/08/04
Read on Terminal Reader
Read this story w/o Javascript

Trop long; Pour lire

Un mot de passe est une phrase secrète ou un mot connu d'un utilisateur seul ou d'un groupe restreint d'utilisateurs. D'innombrables sites Web nécessitent un mot de passe pour sécuriser les comptes des utilisateurs. Le mot de passe peut nécessiter un nombre minimum de caractères ou un symbole et une combinaison de chiffres. Mais cela garantit-il un mot de passe plus sûr ? Indépendamment des intentions des internautes, les politiques les obligent souvent à choisir des mots de passe terribles. Les preuves démontrent que lorsque des séquences de procédures arbitraires sont mises en œuvre, les utilisateurs deviennent irrités et sélectionnent des mots de passe affreux. Cela se produit en partie parce que la plupart des gens n'ont aucune idée de la façon dont leurs mots de passe peuvent être manœuvrés.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Protégez vos mots de passe contre le piratage : Comprendre les concepts mathématiques
Abubakar Maruf HackerNoon profile picture

Un mot de passe est une phrase secrète ou un mot connu d'un utilisateur seul ou d'un groupe restreint d'utilisateurs. D'innombrables sites Web nécessitent un mot de passe pour sécuriser les comptes des utilisateurs. Le mot de passe peut nécessiter un nombre minimum de caractères ou un symbole et une combinaison de chiffres.


Mais cela garantit-il un mot de passe plus sûr ?


Indépendamment des intentions des internautes, les politiques les obligent souvent à choisir des mots de passe terribles. Les preuves démontrent que lorsque des séquences de procédures arbitraires sont mises en œuvre, les utilisateurs deviennent irrités et sélectionnent des mots de passe affreux. Cela se produit en partie parce que la plupart des gens n'ont aucune idée de la façon dont leurs mots de passe peuvent être manœuvrés.


Malgré les avertissements répétés de la communauté de la cybersécurité, beaucoup pensent que le remplacement des lettres par leur variante numérique - comme "3ebra" - rend leurs mots de passe plus difficiles à déchiffrer lors d'une attaque lorsqu'elle ne fait rien. Dès lors, les utilisateurs ont deux problèmes : un mot de passe non sécurisé et un délire de sécurité car le mot de passe leur paraît difficile mais simple à déchiffrer pour un ordinateur.


Vous pouvez générer ou enseigner aux autres comment configurer de bons mots de passe en comprenant mieux comment les mots de passe sont compromis et les mathématiques impliquées.

Tout au même endroit

Supposons qu'un pickpocket a volé votre carte de crédit et a ensuite essayé de l'utiliser pour accéder à votre compte. (Imaginons également que votre banque ne gèle pas la carte de crédit volée après cinq tentatives infructueuses ou plus, comme c'est le cas de nos jours). Comme la plupart des banques, un code PIN à 4 chiffres est utilisé pour retirer de l'argent à un guichet automatique. Alors, quelles sont vos chances que votre argent soit en sécurité ?


Quelles sont les chances qu'il réussisse à deviner votre mot de passe uniquement par hasard ?


Il y a dix combinaisons possibles puisque le premier chiffre de votre code PIN peut être n'importe quel chiffre de 0 à 9. Il y a aussi dix options car il n'y a pas de limitation pour le deuxième chiffre qui restreindrait ses possibilités (par exemple, si vous ne pouviez pas t utiliser un code PIN avec des numéros récurrents). Il en va de même pour les troisième et quatrième chiffres.


Il existe 10 000 mots de passe possibles, dont un pourrait être le vôtre : 10 x 10 x 10 x 10=10 000. Un échantillon aléatoire de 10 000 mots de passe aurait une probabilité de 1 sur 10 000 qu'un attaquant prédise avec précision votre mot de passe.


Parce que les humains ne peuvent pas générer de nombres aléatoires ou quoi que ce soit d'autre, ce n'est pas tout à fait vrai dans la réalité. Les préjugés dans notre cerveau nous retiennent captifs. Même s'il semble que nous ayons trouvé les nombres au hasard, nous avons tendance à utiliser des nombres séquentiels et à penser plus fréquemment par groupes de deux ou quatre nombres.


En pratique, un sous-ensemble de ces 10 000 possibilités se produit beaucoup plus fréquemment dans le monde réel. Par exemple, 1234 ou 1111 apparaissent beaucoup plus régulièrement que 7148.


Bien qu'il soit improbable que le criminel ait suffisamment de temps pour saisir 10 000 combinaisons dans un guichet automatique, un ordinateur standard peut effectuer des dizaines de milliards de tentatives par seconde. Un attaquant pourrait facilement décoder un code PIN à 4 chiffres.


Cependant, s'il est peu probable que le criminel ait suffisamment de temps pour taper 10 000 combinaisons dans un guichet automatique, un ordinateur ordinaire peut aujourd'hui accomplir des dizaines de milliards d'essais par seconde. Un code PIN à 4 chiffres serait piraté rapidement. Augmenter autant que possible l'espace d'échantillonnage de votre mot de passe peut le rendre difficile à déchiffrer ; il est plus difficile de déduire le bon mot de passe d'un billion de combinaisons que d'un millier.

Qu'est-ce que l'espace de mot de passe ?

L'espace de mot de passe est le nombre total de combinaisons de mot de passe possibles pour un alphabet spécifique, un ensemble de caractères et une longueur de mot de passe maximale. Il mesure la sécurité et la vulnérabilité des mots de passe en calculant le nombre de suppositions aléatoires qui peuvent être faites pour trouver un mot de passe lors d'une attaque par force brute.


La taille des caractères autorisés (alphabets, chiffres, symboles, etc.) et la longueur du mot de passe déterminent la taille de l'espace de mot de passe potentiel. En conséquence, plus les mots de passe sont longs et complexes, plus il devient difficile pour les adversaires de forcer brutalement un mot de passe quelque peu indéchiffrable, car l'espace de mot de passe devient large.

Comment calculer l'espace d'échantillonnage du mot de passe

À partir de l'exemple de carte de crédit discuté précédemment, nous avons calculé l'espace échantillon du code PIN en multipliant le nombre de caractères autorisés par les chiffres autorisés. Dix caractères éligibles ont été saisis pour chaque chiffre ; 10 x 10 x 10 x 10 ou 104.


Pour calculer l'espace d'échantillonnage du mot de passe, nous pouvons utiliser la formule S = CN


Où:

S = nombre total de mots de passe possibles dans l'espace échantillon

C = le nombre de personnages dans le pool de personnages disponibles

N = le nombre de caractères de notre mot de passe.


• Si vous utilisez un mot de passe qui ne contient que des lettres majuscules, alors C =26 • Si vous utilisez un mot de passe qui contient des majuscules et au moins une lettre minuscule, alors C =52 • Si vous utilisez un mot de passe qui contient des lettres majuscules, au moins une une lettre minuscule et des chiffres, alors C =62 • Si vous utilisez un mot de passe qui s'étend sur tous les caractères, alors C =95 Maintenant, comparons différents mots de passe et voyons comment leur espace échantillon sera différent les uns des autres : Exemple : YGMEOH C = 26 (majuscules uniquement) N = 6 S = 308 915 776 ou environ 309 millions de combinaisons de mots de passe

S= CN S= 266 = 308 915 776 combinaisons En utilisant tous les caractères et en laissant la longueur du mot de passe à 6 caractères, nous avons :

Exemple : @Q:t-2

C = 95

N=6

S = 735 091 890 625 soit environ 735 milliards de combinaisons de mots de passe

S= CN S= 956 = 735 091 890 625 combinaisons.

En utilisant uniquement des lettres majuscules et en augmentant la longueur à 16 caractères, nous avons

Exemple : tfucbxqhjyepvgmw C = 26

N = 16 S = 43 608 742 899 428 874 059 776 combinaisons de mots de passe, environ 59 milliards de fois supérieures à @Q:t-2, notre dernier exemple. S= CN S= 2616 = 43 608 742 899 428 874 059 776 combinaisons. D'après l'illustration ci-dessus, il est évident que l'espace d'échantillonnage rend un mot de passe difficile à déchiffrer, et non l'inclusion de symboles ou de chiffres. Vous pouvez augmenter la taille de l'espace échantillon en longueur avec plus de caractères.


Comment mesurer la force d'un mot de passe : l'entropie


L'entropie à cet égard est une mesure de la taille de l'espace échantillon d'un mot de passe particulier, c'est-à-dire une mesure de la force du mot de passe. Il n'est pas facile de mesurer à quel point il peut être difficile de déchiffrer un mot de passe sans savoir comment il a été généré. Néanmoins, avoir un nombre -exprimé en bits d'entropie- qui montre si un mot de passe peut être facile ou difficile à déchiffrer est pratique. Plus l'entropie est élevée, plus il devient difficile de déchiffrer le mot de passe ; plus l'entropie est faible, plus il est facile de craquer. Rappelez-vous que les chiffres décimaux ont dix possibilités ; 0 à 9 mais un chiffre binaire – aussi appelé bit – n'a que deux possibilités qui sont 0 et 1 ; c'est-à-dire que S=CN pour le chiffre décimal est 10N, mais pour un bit, c'est 2E ; où E est le nombre de bits. Donc, si un bit représente un espace échantillon de deux possibilités, alors l'entropie de 50 bits définira un espace de 250= 2 x 2 x 2 x … possibilités. Par conséquent, un mot de passe de 50 bits d'entropie sera obtenu à partir d'un pool de 250 mots de passe uniques. De même, un mot de passe de 51 bits sera obtenu à partir d'une collection de 251, ce qui le rendra plus difficile à déchiffrer qu'un mot de passe de 50 bits. La formule ci-dessous peut être utilisée pour calculer l'entropie d'un mot de passe E= log2 (CN) OU E = N x log2 (C) Par exemple, calculons l'entropie de BerbeCUE201 Ici C= 26 +26 + 10 =62 N = 11 E = N x log2 (C) E = 11 x log2 (62) = 11 x 5,9541 E = 65,5 bits De S= 2E S = 265,5 S = 52 175 271 301 331 128 849,398 combinaisons Pour Berbecue2(!0>}}} l'entropie sera E = N x log2 (C) E = 16 x log2 (95) = 16 x 6,5698 E = 105,1 bits De S= 2E S = 2105,1 S = 43 476 296 738 970 232 553 127 150 068 066,389 combinaisons Les exemples ci-dessus confirment que plus l'entropie est élevée, plus il devient difficile de déchiffrer un tel mot de passe . Ainsi, l'entropie indique le nombre d'essais nécessaires pour forcer brutalement un mot de passe. Statistiquement, un adversaire obtiendra le mot de passe avant la dernière tentative ; il n'a pas besoin de passer par toutes les combinaisons avant d'obtenir la bonne. Ainsi, lors du calcul d'un la force du mot de passe, le nombre attendu de suppositions est pris en compte ; il s'agit souvent de 50 % du nombre de tentatives pour deviner correctement . Pour un mot de passe de 105,1 bits, S= 2E – 1 S = 2105,1 – 1 S = 21 738 148 369 485 116 276 563 575 034 033,194 combinaisons.


Pourquoi la haute entropie n'est pas suffisante

Le choix d'un mot de passe sécurisé implique de nombreux facteurs, dont l'entropie du mot de passe. Si deux mots de passe ont la même entropie, l'un peut être modérément fort tandis que l'autre est incroyablement faible. Cela est dû aux dictionnaires de mots de passe, qui sont des catalogues de mots de passe divulgués disponibles sur Internet.

L'utilisation de tels catalogues est connue sous le nom d'attaque par dictionnaire, où tout adversaire tentant de déchiffrer votre mot de passe essaierait les dictionnaires de mots de passe avant de tenter une attaque par force brute. Donc, si vous utilisez un mot de passe dans ce dictionnaire, le nombre de bits d'entropie n'aura pas d'importance car le mot de passe sera rapidement déchiffré.


Algorithme de hachage de mot de passe

Si les administrateurs Web stockent le mot de passe en texte brut sur leur serveur, il sera facile pour les attaquants d'obtenir les mots de passe s'ils peuvent accéder au serveur Web, même si les mots de passe sont forts. C'est pourquoi il est fortement recommandé que les mots de passe soient salés et hachés avant de les stocker. Au lieu de stocker le mot de passe lui-même, une signature du mot de passe est produite via un mécanisme de hachage, et le hachage est stocké.

Le salage des mots de passe consiste à ajouter une chaîne de 32 caractères aléatoires ou plus à un mot de passe avant de hacher les mots de passe.

Les algorithmes de hachage sont des processus unidirectionnels qui rendent impossible la reconstruction d'un mot de passe à partir de la signature de hachage. Cet algorithme transforme les mots de passe en une série opaque de chiffres et de lettres irréversibles. De nombreux algorithmes peuvent être utilisés pour le hachage, notamment bcrypt, MD5, SHA, NTLM, etc.

Comment les mots de passe peuvent être piratés


  1. Hachage de tous les mots de passe possibles dans l'espace échantillon Puisqu'il est impossible d'inverser les mots de passe hachés en texte brut, ce que vous pouvez faire pour casser un mot de passe est de hacher tous les mots de passe possibles de cet espace échantillon et de trouver le hachage qui correspond à votre cible. S'il est trouvé, vous avez réussi à déchiffrer le mot de passe. Le hachage des mots de passe nécessite un taux de hachage - une puissance de calcul - et certains algorithmes de hachage sont plus difficiles à calculer que d'autres, ce qui les rend chronophages ou même incapables de se casser. C'est pourquoi l'algorithme SHA-1 est un mauvais choix de hachage car les hachages SHA-1 sont calculés très rapidement par l'ordinateur, ce qui le rend vulnérable.

    Comme expliqué précédemment, plus votre espace échantillon de mot de passe est complet, plus un attaquant a de possibilités de hachage avant de trouver un hachage correspondant. Parfois, un espace d'échantillonnage plus vaste peut rendre impossible le déchiffrement de votre mot de passe, prenant des centaines de milliers d'années à déchiffrer.


  2. Attaque par force brute Une attaque par force brute se produit lorsqu'un attaquant essaie de deviner le mot de passe correct parmi les possibilités de mot de passe sur l'espace d'échantillonnage. Cela se fait en soumettant plusieurs mots de passe jusqu'à ce que le bon soit trouvé. Cette approche est relativement rare car elle est tellement inefficace. Cela ne fonctionne que si votre mot de passe est très court, comme moins de huit caractères, ou si l'attaquant sait que vous n'avez utilisé qu'un jeu de caractères particulier (par exemple, des chiffres, des alphabets ou uniquement des caractères alphanumériques).


  3. Attaque par dictionnaire Les attaquants font généralement des suppositions sur la façon dont les gens créent des mots de passe, en particulier des mots de passe plus longs, où l'attaque par force brute est inefficace. Comme mentionné précédemment à propos des préjugés humains, nos choix sont influencés par certains comportements. Ainsi, les attaquants créent un catalogue d'expressions, de modèles et de mots de passe couramment utilisés comme "mypassword" et commencent à les essayer pour voir si leurs hachages correspondent à leur cible. Si ce n'est pas le cas, ils l'ajustent légèrement, comme le changer en "myp4ssword", et réessayent.


    Toute attaque résultant de ce type est appelée une attaque par dictionnaire , où la puissance de calcul est utilisée pour créer des mots de passe factices à partir de mots que la plupart des gens sont susceptibles d'utiliser.