Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

Attaque des mots de passe par tables arc-en-ciel

Attaque par tables arc-en-ciel : compromis entre temps infini à casser un mot de passe en force brute et taille mémoire infinie des dictionnaires exhaustifs.

cr  10.11.2009      r+  05.11.2022      r-  27.04.2024      Pierre Pinard.         (Alertes et avis de sécurité au jour le jour)

En 1980, Martin E. Hellman, un cryptologue américain, inventeur de la cryptographie asymétrique (utilisation d'une paire de clés, publique et privée), formalise ce compromis temps/mémoire. Il avance une méthode d'attaques sur les cryptosystèmes symétriques avec un compromis temps/mémoire pour casser les chiffrements par bloc. Il propose l'utilisation de tables inverses partiellement précalculées pour diminuer :

  • Le temps infini qu'il faudrait passer à faire des calculs (en moyenne, la moitié de toutes les combinaisons possibles) lors d'attaques en force brute.

  • La mémoire de stockage infinie de dictionnaires inverses de toutes les combinaisons possibles lors d'attaques par dictionnaire exhaustif.

Cela commence avec les CRC (CRC-16, CRC-32, CRC-64). Cette méthode est appelée "Compromis Temps - Mémoire" et Hellman la publie dans un article "A cryptanalytic time-memory trade-off", en 1980.

Plus tard, MD5 sera inventé par Ronald Rivest en 1991, puis la NSA publiera SHA-1 en 1995 et la famille SHA-2 en 2001. Les chiffrements des mots de passe explosent et se répandent partout.

Le principe de ces tables inverses partiellement précalculées sera étendu à ces algorithmes et à d'autres, pour révéler les mots de passe chiffrés.

En 2003, Philippe Oechslin améliore considérablement la méthode en proposant des structures de tables appelées "Rainbow Tables".

Les Rainbow Tables (Tables arc-en-ciel) sont une technologie utilisée en cryptanalyse pour remonter du hashcode d'un mot de passe d'une longueur finie à la chaîne de caractères d'origine, le mot de passe que l'on cherche à casser, malgré l'utilisation d'un algorithme de cryptage univoque (à sens unique).

Mis à part quelques tables arc-en-ciel gratuites, ces tables sont des travaux professionnels et commerciaux.

Voir l'article de notre encyclopédie Rainbow tables.


En 1980, Martin E. Hellman, un cryptologue américain, inventeur de la cryptographie asymétrique (utilisation d'une paire de clés, publique et privée), formalise ce compromis temps/mémoire. Il avance une méthode d'attaques sur les cryptosystèmes symétriques avec un compromis temps/mémoire pour casser les chiffrements par bloc. Il propose l'utilisation de tables inverses partiellement précalculées pour diminuer :

  • Le temps infini qu'il faudrait passer à faire des calculs (en moyenne, la moitié de toutes les combinaisons possibles) lors d'attaques en force brute.

  • La mémoire de stockage infinie de dictionnaires inverses de toutes les combinaisons possibles lors d'attaques par dictionnaire exhaustif.

Cela commence avec les CRC (CRC-16, CRC-32, CRC-64). Cette méthode est appelée "Compromis Temps - Mémoire" et Hellman la publie dans un article "A cryptanalytic time-memory trade-off", en 1980.

Plus tard, MD5 sera inventé par Ronald Rivest en 1991, puis la NSA publiera SHA-1 en 1995 et la famille SHA-2 en 2001. Les chiffrements des mots de passe explosent et se répandent partout.

Le principe de ces tables inverses partiellement précalculées sera étendu à ces algorithmes et à d'autres, pour révéler les mots de passe chiffrés.

En 2003, Philippe Oechslin améliore considérablement la méthode en proposant des structures de tables appelées "Rainbow Tables".

Les Rainbow Tables (Tables arc-en-ciel) sont une technologie utilisée en cryptanalyse pour remonter du hashcode d'un mot de passe d'une longueur finie à la chaîne de caractères d'origine, le mot de passe que l'on cherche à casser, malgré l'utilisation d'un algorithme de cryptage univoque (à sens unique).

Mis à part quelques tables arc-en-ciel gratuites, ces tables sont des travaux professionnels et commerciaux.

Voir l'article de notre encyclopédie Rainbow tables.





Un des usages de la cryptographie est de partir d'une donnée et d'en calculer un condensat (un hashcode ou chiffre clé). Exemple :

La moindre modification du mot de passe entraine la production d'un condensat totalement différent. Si l'algorithme est bon, le condensat produit est toujours unique, aucun autre texte ne conduira à un condensat identique (ce qui conduit, d'ailleurs, à déconseiller MD5 avec lequel on arrive à provoquer des collisions [2006 - MD5 Collision Demo]).

Un condensat est une valeur calculée par un algorithme de hachage appliqué à une donnée (contenu d'un fichier, chaîne de caractères saisie, etc.), uniquement la donnée et toute la donnée. Si la donnée est dans un fichier, peu importe le nom du contenant, ses attributs, ses dates prétendues de création ou de dernière modification, etc., qui sont toutes des informations extérieures à la donnée elle-même (comme avec le courrier postal elles forment l'enveloppe dont on ne doit pas tenir compte - on ne tient compte que du contenu).

Les algorithmes de hachage les plus universellement utilisés en matière de chiffrement des mots de passe, en 2021, sont MD5, SHA-1, SHA-256.

Les mots de passe ne sont pas conservés, seuls les condensats sont conservés. Comment remonter du condensat au mot de passe ?

  1. On peut chercher à s'attaquer aux condensats des mots de passe par attaque par dictionnaire exhaustif en construisant un dictionnaire intégral de toutes les possibilités de caractères pour chaque longueur de mots de passe couramment imposée (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 caractres) et générer automatiquement tous les condensats. On monte chaque dictionnaire en fichier à recherche indexée pour faire des recherches instantanées. Le problème est que la taille de chacun de ces dictionnaires est monstrueuse et que seuls ses états peuvent essayer de mettre en place de tels centres de données.

  2. On peut chercher à s'attaquer aux condensats des mots de passe par attaque en force brute. Aucune taille de mémoire nécessaire, mais du temps de calcul monstrueusement long (on peut compter, pour des mots de passe utilisant des minuscules, majuscules, chiffres, caractères accentués et caractères spéciaux, des milliards de milliards de siècles, même avec des ordinateurs spéciaux d'une puissance inimaginable.)

Sont alors apparues les tables arc-en-ciel (rainbow tables) qui permettent un compromis temps/mémoire.

]




La réputation de l'algorithme de calcul d'un hashcode (calcul d'un condensat - fonction de hachage) est de ne jamais produire deux hashcodes identiques si les objets chiffrés contiennent la moindre différence. La fonction de hachage doit donc produire une clé unique d'identification d'une donnée unique (calcul homogène).


Exemples d'algorithmes de hachage

CRC-16

Produit un hashcode (condensat) de 16 bits (4 caractères hexadécimaux)

CRC-32

Produit un hashcode (condensat) de 32 bits (8 caractères hexadécimaux)

CRC-64

Produit un hashcode (condensat) de 64 bits (16 caractères hexadécimaux)

MD5

Produit un hashcode (condensat) de 128 bits (32 caractères hexadécimaux)

SHA-1

Produit un hashcode (condensat) de 160 bits (40 caractères hexadécimaux)

SHA-256

Produit un hashcode (condensat) de 256 bits (64 caractères hexadécimaux)

SHA-512

Produit un hashcode (condensat) de 512 bits (128 caractères hexadécimaux)

Etc.

...


Exemples de stockages chiffrés (cryptés) d'un même
mot de passe selon divers algorithmes de hachage :

Mot de passe

Secret 1

Bytes

53:65:63:72:65:74:20:31 (longueur=8)

Adler32

0d5002b8

CRC-32

f12d6570

Haval

45d48542b5ee305a769ad2a772a2f240

MD2

4934bfbb60dacd24004f3f9eba0dae5b

MD4

681960160ad1ee6aba6574beae65299e

MD5

3827558347b988089547698445ea8dc4

RipeMD128

1e7a09422c54864d1ff83c9d61bcf409

RipeMD160

a4cf327f6bb9ff9903a64fd5e9f409d7f36dd5ef

SHA-1

7136a0430119d37b00f9723177bc14eb4e5a3a84

SHA-256(SHA-2)

5a1c45473a963981e0a182815a9431caa6ba32c7c464f9aa8e24e9b9c14f5df7

SHA-384 (SHA-2)

70e52c8258950198be14b23167b5ef78ec4f73d46f3e4263c3ef7fae539d9f25413a2804cd08454ed259f79db0b06316

SHA-512 (SHA-2)

22ffbc4c4f0c243d8dff78aac024c7699db6dffba5e25032353eceab3237ee7b02c72c24a3ce8928a84f171363065bec3b3031b47c18e16b8fd98f98d6504b66

Tiger

7ef5afbb8327bd37166ab63cb27cd64752284f237d8da6d6

Whirlpool

baac0f62f8a9fb13a9b6d797380b4a335f915332c791487aa9214c883caf2d1aa9676fc03819500c25eafd0c9aea69b87efe3b5000e26fff4aa7f9ee7484a46b

]




L'intérêt d'un condensat (hashcode) d'une donnée est triple :

  1. Intégrité des données
    Il est impossible de modifier la donnée (injection d'un parasite, tel un virus, modification d'un seul bit ou, tout simplement, nouvelle version de la donnée...) en lui conservant un même résultat de calcul de condensat (hashcode). Par exemple : un fichier est proposé en téléchargement et son condensat en MD5 ou SHA-1 est affiché sur le site proposant ce fichier (c'est le cas de Assiste.com - regardez les zones de téléchargements du site). Une fois le fichier réceptionné, vous utilisez SummerProperties pour recalculer ce condensat avec le même algorithme MD5 ou SHA-1. Si les deux condensats sont identiques, le fichier réceptionné est strictement le même que celui d'origine. C'est le principe du contrôle d'intégrité des données qui ne doit pas être confondu avec l'innocuité des données - vous pouvez seulement vous assurer que le téléchargement s'est bien passé, rien d'autre - si le fichier téléchargé est un virus, vous vérifiez ainsi que vous avez reçu un virus en parfait état ! Faites-le analyser gratuitement et immédiatement par plus de 70 antivirus simultanés avant de l'exécuter (avant de l'ouvrir) !

  2. Calcul à sens unique (théoriquement)
    Il n'est, théoriquement, pas possible de faire le calcul inverse : de remonter d'un condensat (hashcode) à la chaîne de caractères d'origine (il n'est pas possible [théoriquement] de retrouver le mot de passe à partir de son condensat). Nous pouvons voir, dans les attaques en force brute, comme dans les attaques par dictionnaires exhaustifs, que ce vœu pieux est battu en brèche pour MD5 et les algorithmes inférieurs.

  3. Unicité du condensat
    De purs travaux de laboratoire ont permis la création de condensats (hashcodes) identiques (appelés collisions) à partir de données différentes. Ce risque est total avec les algorithmes antédiluviens et abandonnés comme CRC-16, CRC-32 et CRC-64. Ce risque existe avec les algorithmes MD5 avec lesquels il est désormais possible de créer des collisions. Pour prendre un peu d'avance sur les futurs développements matériels et logiciels des cybercriminels, même SHA-1 n'est plus recommandé en haute sécurité et l'on préconise désormais, depuis plusieurs années (VirusTotal depuis 2015), d'utiliser le calcul des condensats avec les algorithmes SHA-256 ou supérieurs.




Lorsque vous créez un mot de passe pour protéger l'accès à une ressource (votre ordinateur, un fichier, un compte sur un site, un forum ou un cloud, un service de gestion d'un compte bancaire d'entreprise ou de particulier, un document secret d'un chercheur, d'un journaliste, d'un avocat..., les correspondances d'un diplomate ou d'un homme politique, etc.), le mot de passe n'est pas (normalement) stocké en clair. Le site de confiance le crypte, sous forme d'un hashcode, le plus souvent avec l'algorithme MD5, SHA-1 ou SHA-256 et stocke uniquement votre identifiant et le hashcode de votre mot de passe, mais ne stocke jamais le mot de passe lui-même.

Lorsque vous revenez vous identifier pour utiliser cette ressource protégée, vous saisissez (composez) à nouveau votre identifiant (login) et votre mot de passe. Le site refait un calcul de hashcode avec le même algorithme.

Le site compare alors le hashcode de référence du mot de passe au hashcode du mot de passe qui vient d'être saisi. Si les deux hashcodes sont identiques, c'est que les deux mots de passe sont identiques. L'autorité vous donne alors accès à la ressource, sinon elle vous en interdit l'accès.

  • Note 1
    D'où l'intérêt des logiciels en « Open Source » où l'on peut voir comment sont traitées les données sensibles tandis qu'on ne peut qu'avoir des soupçons de malveillances avec les logiciels « propriétaire » et les sites pour lesquels aucune confiance ne peut être accordée (comme tous les réseaux sociaux, les éditeurs de logiciels proches de leurs gouvernements, les nébuleuses du « Cloud Computing », etc.)

  • Note 2
    C'est la raison pour laquelle, lorsque vous perdez votre « mot de passe », il n'est pas possible de le retrouver, car s'il est possible de calculer un MD5 ou un SHA-1 ou un SHA-256 à partir d'un « mot de passe », il n'est théoriquement pas possible de retrouver (recalculer) le « mot de passe » d'origine à partir de son MD5, de son SHA-1 ou de son SHA-256.

  • Note 3
    Il serait préférable que, lors de la saisie de votre mot de passe, la communication entre votre ordinateur et celui du site distant se fasse dans un protocole de communication sécurisé (HTTPS), sinon une attaque par sniffer lira vos mots de passe en clair, avant qu'ils ne soient cryptés. Regardez, au début de la zone d'adresse de votre navigateur, si un cadenas fermé apparaît (d'où l'intérêt d'utiliser des mots de passe différents pour chaque compte que vous êtes amené à créer - vos navigateurs de confiance [Firefox] vous proposent un mécanisme ultra sécurisé de mémorisation de vos mots de passe [les collusions de Google et Microsoft avec la NSA et le FBI ne font pas de leurs navigateurs (Chrome, Edge) des navigateurs de confiance ni des sociétés de confiance]).

  • Note 4
    Certains sites Internet usurpent l'apparence de sites ayant pignon sur rue est utilisent des URL trompeuses. Sur de tels sites de « phishing », vers lesquels vous êtes souvent dirigés depuis un e-mail trompeur, vos identifiant et mot de passe sont stockés en clair et exploités immédiatement par des cybercriminels. Et absolument rien ne permet d'être certain de ce que font les très grands sites à la solde des gouvernements, comme Microsoft (Microsoft vous espionne) ou Google (Google vous espionne).




Le cybercriminel, qui s'est procuré un mot de passe chiffré (son code de hachage) ou le piratage de millions de hashcodes des clients d'une banque, d'un site e-marchand, d'un réseau social, etc. (par divers procédés de piratage), va utiliser un logiciel spécialisé et, éventuellement, du matériel spécialisé, pour attaquer en force brute les hashcodes qu'il s'est procurés afin de remonter du hashcode au mot de passe en clair, bien que le hachage soit considéré comme une opération univoque (il n'est, en théorie, pas possible de remonter d'un code de hachage au texte d'origine en clair). Cette forme d'attaque en force brute contre les hashcodes consiste à tenter toutes les combinaisons possibles de caractères des mots de passe et calculer tous leurs hashcodes jusqu'à trouver les bonnes combinaisons de caractères qui correspondent aux hashcodes détenus.

Si l'algorithme de hachage utilisé est, par exemple, SHA-1, qui crypte les mots de passe en hashcodes de 160 digits de long, le nombre de calculs qui doivent être effectués est 2 ^ 160 ^ 4 (2 puisque chaque position binaire (chaque bit) ne peut prendre que deux valeurs, 0 ou 1, à la puissance 160 et que chaque digit comporte 4 bits) soit 4,5624406176222E+192 opérations. Si l'on dispose d'une puissance de calcul de cent mille milliards de calculs de hashcodes à la seconde, il faudra, pour chaque mot de passe, 5,84 centaines de milliards de milliards de milliards de siècles pour y arriver. On ira de plus en plus vite avec la montée en puissance des machines et le nombre de machines mises en oeuvre, mais c'est le problème du temps. Accéder à une donnée avec des années de retard sur sa signifiance risque de conduire à une donnée totalement périmée, n'ayant plus aucune valeur.


Note :

Le cybercriminel gagne du temps s'il sait quel est le jeu de caractères autorisé pour la création des « mots de passe » qu'il tente de casser, ainsi que les longueurs minimum et maximum de ces mots de passe. Ces informations sont faciles à obtenir : il suffit de tenter d'ouvrir un compte sur le système attaqué pour que l'autorité vous dise, la plupart du temps, que votre « mot de passe » doit faire tant de caractères de long et ne comporter que tels et tels caractères. Le choix de l'algorithme d'attaque en « Force brute » ou du dictionnaire pour une « attaque par Dictionnaire » ou de la Rainbow table est ainsi précisé.


On peut oser un rapprochement incongru et déclarer que les « attaques par dictionnaires » sont une forme « intelligente » d'« attaque en force brute ».




L'attaque des mots de passe par dictionnaire est une forme d'attaque dirigée contre les mots de passe en clair, pas contre leurs chiffrements (pas contre les hashcodes). On se limite à tenter des mots existants réellement dans divers dictionnaires.

L'idée est qu'un utilisateur aura tendance, naturellement, à aller vers la facilité et donc à utiliser quelque chose de facile à retenir, quelque chose existant déjà, au lieu d'une suite barbare de caractères impossibles à mémoriser (ce qui est, pourtant, l'une des règles de bonne pratique avec les mots de passe).

L'attaque par dictionnaire cherche donc à pallier le problème du temps soulevé par les attaques en force brute. Elle risque de passer à côté de mots de passe tarabiscotés, mais est beaucoup plus rapide que la force brute.

Dans une attaque par dictionnaire, on va tenter tous les mots présents dans de simples dictionnaires ou listes finies : langues, dates, immatriculations, noms d'animaux, patronymes, prénoms, etc., ainsi que les mots de passe faibles habituels (mots de passe par défaut (d'usine, d'origine), mots de passe imbéciles, etc.)

Ces dictionnaires mettent un certain temps à être construits et représentent, finalement, l'intégralité des mots et termes normalement interdits en tant que mot de passe.

Quant aux dictionnaires exhaustifs (voir l'article étendu sur les dictionnaires exhaustifs), ils occupent une place folle et un coût délirant impossibles à mettre en place sauf au niveau d'un état.

Seul le compromis temps/mémoire avec les tables Arc-en-ciel arrive à casser relativement rapidement tous les mots de passe en faisant un compromis temps/mémoire.




Lorsqu'un cybercriminel pénètre sur un serveur d'un site ou d'un service en ligne (gouvernements, banques, entreprises, particuliers...) et en vole les comptes, il se trouve (normalement) face à des listes de comptes dont les mots de passe ne sont représentés que par leurs condensats (hashcodes).

Lorsqu'un service informatique d'une entreprise ou un service après vente ou une police anticriminalité se trouve face à des mots de passe perdus (un employé licencié ou décédé, ou vous-même qui avez oublié votre mot de passe...), il se trouve face au stockage de la version cryptée du mot de passe, son condensat. Ces gens là se trouvent devant votre appareil ou vos serveurs et savent supprimer un mot de passe (directement dans le registre Windows). Mais le cybercriminel, au loin, doit remonter du condensat au mot de passe.

Ce sont donc développés deux axes de recherches pour remonter au mot de passe d'origine à partir de son condensat. Chacun de ces deux axes pose un problème :

  1. Le problème du temps pour craquer un mot de passe par une attaque en force brute :

  2. Le problème du volume de mémoire pour craquer un mot de passe par une attaque par dictionnaires exhaustifs.

Il a donc fallu trouver un « Compromis Temps / Mémoire » pour attaquer les condensats. C'est l'objet des « tables Arc-en-ciel » (« Rainbow Tables ») qui contiennent des précalculs intermédiaires permettant de construire des structures de tables conduisant à des calculs finaux rapides. Pratiquement tous les mots de passe peuvent être cassés en quelques minutes, quelque soit l'algorithme (standard) utilisé et quelques soit la plateforme utilisée (Windows, Linux, Unix...) à condition que la table ait été construite (ce qui nécessite des puissances de calcul colossales obtenues, pour l'élaboration de tables gratuites, avec des solutions de calcul distribué et l'exploitation des phénoménales puissances de calcul des processeurs graphiques - Programmes CUDA et processeurs graphiques NVidia dans l'accélération du calcul distribué).

Il existe également des outils, adossés à des « tables Arc-en-ciel » (« Rainbow Tables »), permettant de craquer les documents protégés et chiffrés Word et Excel de Microsoft Office (dès les versions Office 97) en quelques minutes, avec un taux de réussite de 99,6%.

Les algorithmes CRC-16, CRC-32 et CRC-64, ridiculement anciens et faibles, n'offrent strictement aucune fiabilité. Des discussions déjà anciennes (1, 2), qui remontent à 2001, à propos de l'antivirus controversé Viguard, dans le groupe de discussion animé fr.comp.securite.virus, laissait entendre que des droppers comme Zhengxi (improprement qualifié de virus) arrivaient à tromper les algorithmes CRC-32.




Durant le DEF CON 20, en 2012 (convention de hackers la plus connue au monde, depuis 1993, à laquelle assistent régulièrement les professionnels de la sécurité des systèmes d'information, des crackers, hackers, journalistes, avocats, employés du gouvernement fédéral intéressés par la programmation, l'architecture, le phreaking, la modification de matériel informatique et tout ce qui peut être hacké, ainsi que les agents fédéraux du FBI, du département de la défense américaine et les inspecteurs des services postaux), une société spécialisée dans le cassage de mots de passe, Stricture-Group, met des tables Arc-en-ciel à disposition dans un Cloud. Il n'est pas nécessaire de les télécharger.

Cette démonstration publicitaire ne sera pas poursuivie, seules les tables Arc-en-ciel contre les algorithmes de hachage de bas niveau et quasiment plus utilisés sont gratuites, toutes les autres étant des produits lourds à construire et proposés sous forme de services commerciaux.


Chargement...

Stricture-Group - conférence sur les tables arc-en-ciel durant le DefCom 2012
Autorisez cette vidéo à être lue avec le lecteur universel
VLC (un lecteur multimédia gratuit, open source et libre).



Ces tables Arc-en-Ciel gratuites, terminées le 26 janvier 2012,
utilisées pour craquer rapidement les protections par mot de passe,
ne vont pas plus loin que des mots de passe de
1 à 9 caractères et ignorent les caractères spéciaux.



Les tables Arc-en-Ciel utiles sont commerciales.




Utiliser des mots de passe durs. Aujourd'hui, un mot de passe faible, de moins de 10 caractères, utilisant un mixte limité de majuscules (26 lettres) / minuscules (26 lettres) et chiffres (10 chiffres), peut être craqué en quelques secondes grâce à des tables Arc-en-ciel (Rainbow tables).

Nous autres, francophones, avons la chance d'avoir tout un tas de lettres accentuées auxquelles les cybercriminels, souvent anglophones, ne pensent pas. Utilisons-les dans nos jeux de caractères des mots de passe. Ajoutons à nos mots de passe quelques-uns de ces caractères accentués et signes spéciaux. La plupart des tables Arc-en-ciel (Rainbow tables) n'en tiennent pas encore compte.

Les tables Arc-en-ciel (Rainbow tables) proposées en janvier 2012 utilisent uniquement :

  1. Le jeu de caractères de type 3 "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" (aucun caractère spécial et aucun caractère accentué)

  2. Des chaînes de caractères limitées à 1 à 9 caractères.

Donc un mot de passe de 14 caractères ou plus, utilisant le jeu de caractères de type 4 "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789²&é"'(-è_çà)=#{[|^@]}$£¤ù%*µ,?;.:/!§" ne sera pas attaquable par des tables Arc-en-ciel (Rainbow tables) courantes ou gratuites.

Quant aux tables professionnelles, très chères, elles sont utilisées par des pirates professionnels, des polices et gouvernements et ont peu de chance d'être utilisées contre un particulier qui n'a rien de particulier (qui ne se fait pas remarquer, qui ne sort pas la tête de l'eau...).

On remarquera également que le caractère "espace" est presque toujours ignoré donc c'est une bonne idée de l'utiliser (si on peut l'utiliser, car, curieusement, la plupart des procédures de création de mots de passe interdisent de durcir un mot de passe : jeu réduit de caractères, longueur du mot de passe limitée).

Sur le plan de l'implémentation de l'algorithme de hachage, par l'autorité, une règle est d'utiliser un grain de sable (appel "salt" - sel). Si le code de l'algorithme et connu (open source) et casser son chiffrement horriblement long et compliqué, le grain de sel utilisé par l'autorité complique furieusement la vie du hacker et de ses outils, y compris les tables Arc-en-ciel (Rainbow tables).

Sur le plan de la confiance, il est impératif de n'utiliser que des outils open source.




  1. Outils en ligne
    Outils ou services de calcul de condensats et/ou de calcul inverse (casser un condensat pour retrouver un mot de passe) :

    Est-il utile de vous dire qu'il est préférable de ne jamais utiliser ces services en ligne pour chiffrer (crypter) vos mots de passe réels. De nombreux sites (tous ?) offrant ce type de services de calcul en ligne sont des sites de cybercriminels collectant ainsi des mots de passe. Il en va de même en ce qui concerne le décryptage d'un condensat (hashcode) : à partir du moment où vous demandez un tel décryptage, il y a fort à parier que cela concerne l'un de vos propres mots de passe et, comme l'ordinateur distant connaît l'adresse IP de votre ordinateur, le pirate qui est derrière sait quelle machine attaquer et dispose d'un mot de passe en clair à exploiter.

    Services en ligne

    Outils à installer de manière locale

    • SummerProperties - petit programme gratuit de calcul des MD5 et SHA-1 d'un fichier sous Windows - s'implante en onglet additionnel des propriétés des fichiers de Windows (obsolète).

    • HashTab - petit programme gratuit de calcul de nombreux algorithmes (Adler32; Btih; CRC32; ED2K; Gost; MD2; MD4; MD5; Ripemd-128; Ripemd-256; Ripemd-320; SHA-1; SHA-256; SHA-384; SHA-512; SHA3-224; SHA3-256; SHA3-384; SHA3-512; TTH; Tiger; Whirlpool) de condensats (hashcodes) - s'implante en onglet additionnel des propriétés des fichiers de Windows - vivement recommandé).

  2. Outils à télécharger pour un usage local
    Rcracki_mt (Outil open source d'attaque utilisant les deux malheureuses attaques gratuites par tables arc-en-ciel contre des algorithmes de condensats ultras faibles et totalement périmés.)
    Projet "Tables Arc-en-ciel gratuites"
    Client de Calcul distribué pour le projet "Tables Arc-en-ciel gratuites" - (ne croyez pas participer ou être acteur dans quelque chose de grand, d'important : ce client, dans la paire client/serveur, transforme votre ordinateur en un zombie injecté dans un botnet au plus grand profit de son auteur qui fait commerce des tables arc-en-ciel.)

    Ophcrack (Outil Open Source d'attaque par l'inventeur des « Tables Arc-en-ciel »)
    Tables gratuites pour Ophcrack (Tables gratuites)
    Tables professionnelles pour Ophcrack (Tables commerciales)

    Ophcrack_office (Commercial - craque les "mots de passe" Word/Excel en 5 minutes - (chiffrement compatible Office 97))

    John the Ripper







En 1980, Martin E. Hellman, un cryptologue américain, inventeur de la cryptographie asymétrique (utilisation d'une paire de clés publique et privée), formalise une méthode utilisant des tables inverses partielles, fonction de l'algorithme de cryptage utilisé, pour récupérer des clés à partir de leurs traces cryptées. Cette méthode cherche un compromis entre :

  • Le temps qu'il faudrait passer à faire un calcul exhaustif (en moyenne, la moitié de toutes les combinaisons possibles : attaque en "Force Brute").

  • La mémoire de stockage impensable d'annuaires inverses complets.

Cette méthode est appelée « Compromis Temps – Mémoire », publiée dans un article « A cryptanalytic time-memory trade-off », en 1980.

En 2003, Philippe Oechslin améliore considérablement la méthode en proposant des structures de tables appelées « Rainbow Tables ».

Attaque par tables arc-en-ciel - Derrière le rideau

Dossier (collection) : Mots de passe

Introduction au dossier

Concepts, attaques, défenses
16 formes d'attaques des mots de passe
Attaque en force brute
Attaque Man in the Middle
Attaque par authentification faible
Attaque par authentification frauduleuse
Attaque par caméra de surveillance
Attaque par dictionnaire exhaustif
Attaque par espionnage humain
Attaque par ingénierie sociale
Attaque par keylogger
Attaque par keylogger acoustique
Attaque par keylogger électromagnétique
Attaque par le virus PEBCAK
Attaque par phishing
Attaque par sniffing sur protocole HTTPS
Attaque par tables arc-en-ciel
Attaques célèbres et réussies de mots de passe
Décrypter un hashcode
Double authentification
Générateur de hashcode cryptographique
Générateur de mots de passe
Générateur d'identifiant (pseudo)
Heartbleed (faille dans OpenSSL) affecte les mots de passe
Identifiant
Identifier l'algorithme de hachage utilisé
Jeux de caractères utilisés dans les mots de passe
Logiciels craqueurs de mots de passe
Mot de passe
Mot de passe : test de solidité
Mots de passe imbéciles
Mots de passe par défaut (usine, constructeur, éditeur)
Risque juridique de complicité passive de l'internaute
Virer le mot de passe protégeant le BIOS

Termes (encyclopédie)
CRC
CRC-1
CRC-12
CRC-16
CRC-32
CRC-64
MD5
NTLM
SHA-1
SHA-2
SHA-224
SHA-256
SHA-384
SHA-512
BIOS
Chiffre clé
Clavier virtuel
CMOS
Condensat
Cryptographie
Exploit
Hack
Hacker
Hashcode
Heartbleed
Identifiant
Ingénierie sociale
Keylogger
Login
Mots de passe
Password Cracker
Password Revealer
Password Stealer
Phishing
Rainbow Tables (Tables Arc-en-ciel)
Spyware
UEFI

Logithèque
HashTab - Calcul de condensats (Windows)
SummerProperties - Calcul de condensats