Attaque par force brute

L’attaque par force brute est une méthode utilisée en cryptanalyse pour trouver un mot de passe ou une clé en testant toutes les possibilités.

Cette méthode est considérée comme la plus naïve et permet ainsi de casser tout mot de passe en un temps fini indépendamment de la protection utilisée. Par contre le temps augmente exponentiellement avec la longueur du mot de passe ou de la clé.

Pour les mots de passe :

Prenons par exemple un mot de passe qui contient N caractères, le nombre maximum d’essais se monte alors à :

  • 26N pour un mot de passe composé de lettres de l’alphabet (soit tout en majuscule, soit tout en minuscule).
  • 62N pour un mot de passe qui prend en compte l’alphabet (les majuscules ET les minuscules) ainsi que les chiffres.
  • 256N pour un mot de passe qui utilise des caractères ASCII (ex: $, ù, %, …).
  • 109 000N pour un mot de passe utilisant d’autres caractères appartenant à l’Unicode (ex: औ, ௵, ✆, ☺, …)

Le tableau ci-dessous donne le nombre maximum d’essais nécessaires pour trouver des mots de passe. Il faut en moyenne deux fois moins d’essais pour trouver le mot de passe.

Type 1 caractère 3 caractères 6 caractères 9 caractères 12 caractères
lettres minuscules 26 17 576 308 915 776 5,4 × 1012 6,5 × 1016
minuscules, majuscules et chiffres 62 238 328 5,6 × 1010 1,3 × 1016 3,2 × 1021
CARACTÈRES ASCII 256 16 777 216 2,8 × 1014 4,7 × 1021 7,9 × 1030
CARACTÈRES UNICODES 109 000 1,3 × 1015 1,7 × 1030 2,2 × 1045 2,8 × 1060

Prenons un ordinateur « classique » pouvant tester environ un million de mots de passe par seconde (un microprocesseur cadencé à 2,5 GHz a une cadence théorique de 10 GFLOPS. FLOPS = opérations à virgule flottante par seconde ). Ainsi un ensemble de 62 caractères avec un mot de passe de 6 caractères (~56 milliards de possibilités) ne tiendrait que  56 800 secondes = 15 heures 46 minutes 40 secondes tout au plus. En moyenne ce mot de passe résisterait moins de 8 heures.

Un mot de passe de 6 caractères codés en ASCII mettrait 281 474 977  secondes = 8 années 337 jours 19 heures 29 minutes et 36 secondes. Donc environ 4 années et demi de calculs.

Cependant, avec un mot de passe de 6 caractères utilisant des caractères Unicode n’existant pas dans l’ASCII (donc ~1 700 quadrilliards de possibilités (1700 × 1027), le temps de décryptage prendrait ~1 677 trilliards (1 677 × 1021) secondes = 5,318 × 1016 années. Donc en moyenne 26 590 247 milliards d’années par mot de passe de 6 caractères (l’univers n’a que 14 milliards d’années).

Ce type d’attaque est envisageable tant que le mot de passe n’est pas codé en Unicode (la plupart des mots de passe de sites sont codés en ASCII) et que nous connaissons par avance le nombre de caractères du mot de passe. En effet dans nos recherches du nombre de possibilités à tester, nous avons calculé seulement pour un certain nombre de caractères donné.

Une autre possibilité serait d’utiliser des supercalculateurs (ex: Tianhe-2 : 33.86 PFLOPS). Ainsi un mot de passe de 6 caractères utilisant des caractères Unicode ne prendrait « que » 495 304 226 474 010 632 secondes = 15 705 993 990 années 62 jours 3 heures 50 minutes 26 secondes à en tester toutes les possibilités. Donc ~ 8 milliards d’années à décrypter. En ASCII, pour un mot de passe de 6 caractères, cela ne prendrait que 42 secondes en moyenne !

Cette méthode est souvent combinée avec l’attaque par dictionnaire (l’Académie française estime que les dictionnaires encyclopédiques comptent environ 200 000 mots), ce qui réduit considérablement le temps de calcul (peu de personnes utilisent comme mot de passe t$ù5f€).

Il est fortement conseillé d’utiliser des mots de passe de PLUS de 8 caractères composés de lettres entremêlées de chiffres et de symboles (~ 31 jours 12 heures 39 minutes et 33 secondes pour Tianhe-2).

 

Pour les clés :

La longueur des clés est souvent donnée en bits. Dans ce cas, le nombre de possibilités à explorer est de l’ordre de 2NN est la longueur de la clé en bits. Ainsi, une clé de 128 bits (~3.4028 × 1038 possibilités) représente une durée de décryptage impossible à atteindre actuellement.

 

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.