En bref
Une attaque par table arc-en-ciel consiste à comparer un hachage de mot de passe volé à une base de données contenant des résultats de hachage précalculés, associés à des mots de passe connus. Cette technique perd toutefois son intérêt lorsque les mots de passe sont correctement stockés avec un sel, une mesure de sécurité aujourd’hui largement adoptée.
Le salage consiste à ajouter une valeur aléatoire et unique à chaque mot de passe avant son hachage. Ainsi, deux utilisateurs ayant choisi le même mot de passe obtiennent des hachages différents. Une table précalculée ne peut donc plus être réutilisée efficacement pour retrouver ces mots de passe.
Cette évolution a considérablement réduit l’efficacité des tables arc-en-ciel contre les systèmes correctement conçus. Mais elle ne signifie pas que le risque de compromission des mots de passe a disparu. Des systèmes anciens qui n’utilisent pas de sel, ou des mots de passe faibles et réutilisés, peuvent encore être vulnérables à différentes techniques de cassage.
L’attaque par table arc-en-ciel continue pourtant d’apparaître dans de nombreuses listes de techniques de piratage. Son nom peut sembler particulièrement sophistiqué, mais son efficacité dépend avant tout de la manière dont les mots de passe sont stockés.
Le principe est finalement simple : en générant un sel unique pour chaque mot de passe, les systèmes modernes empêchent les pirates de s’appuyer efficacement sur de vastes tables de hachages précalculés. Pour renforcer davantage la protection des comptes, Mailfence associe chiffrement et mécanismes de sécurité conçus pour protéger les données dès la création du compte.
La question n’est donc pas seulement de savoir ce qu’est une attaque par table arc-en-ciel, mais surtout de déterminer si les systèmes que vous utilisez appliquent les bonnes pratiques de stockage des mots de passe. L’utilisation d’un sel unique, d’une fonction de hachage adaptée, de mots de passe robustes et de l’authentification multifacteur constitue autant de mesures permettant de réduire les risques.
Qu’est-ce qu’une attaque par table arc-en-ciel ?
Une attaque par table arc-en-ciel consiste à retrouver des mots de passe à partir de leurs hachages en utilisant des données précalculées. Les hachages récupérés sont comparés à une vaste base préparée à l’avance afin d’identifier les mots de passe correspondants, sans avoir à effectuer chaque calcul au moment de l’attaque.
Lorsqu’un service stocke correctement les mots de passe, il ne conserve pas leur version en clair, mais une empreinte cryptographique, appelée hachage. Produite par une fonction à sens unique, cette empreinte est conçue pour qu’il soit extrêmement difficile de retrouver le mot de passe d’origine à partir du hachage seul.
Le problème vient d’une propriété des fonctions de hachage : à entrée identique, résultat identique. Deux comptes protégés par le même mot de passe produisent donc le même hachage lorsqu’aucun sel n’est utilisé. Une table arc-en-ciel exploite précisément cette régularité en précalculant un grand nombre de résultats afin de retrouver plus rapidement les mots de passe associés à des hachages volés.
Cette approche permet ainsi d’accélérer considérablement l’analyse d’une grande quantité de hachages compromis. Mais elle devient largement inefficace lorsque les mots de passe sont stockés avec un sel unique, car un même mot de passe produit alors des hachages différents selon le compte.
Pourquoi parle-t-on de « table arc-en-ciel » ?
Le terme « table arc-en-ciel » ne fait pas référence à son apparence, mais à la manière dont les données qu’elle contient sont générées. Une telle table repose sur des chaînes de calcul qui alternent entre deux opérations : le hachage d’un mot de passe, qui produit une valeur de longueur fixe, et une fonction de réduction.
La fonction de réduction transforme ensuite le hachage obtenu en un nouveau mot de passe susceptible de produire, à son tour, un autre hachage. Elle ne déchiffre pas le résultat et ne permet pas de retrouver directement le mot de passe d’origine : elle sert simplement à poursuivre la chaîne de calcul.
En répétant cette succession d’opérations des dizaines de fois, une seule chaîne peut ainsi représenter un très grand nombre de mots de passe possibles, sans qu’il soit nécessaire de tous les enregistrer. Seules les valeurs de départ et d’arrivée de chaque chaîne sont conservées, ce qui permet de réduire considérablement l’espace de stockage nécessaire.
Dans les tables arc-en-ciel les plus sophistiquées, la fonction de réduction varie également d’une étape à l’autre. Cette variation limite les collisions entre différentes chaînes et permet de couvrir efficacement un grand nombre de possibilités. C’est cette succession de transformations, plutôt que l’apparence de la table elle-même, qui est à l’origine du nom « arc-en-ciel ».
Comment fonctionne une attaque par table arc-en-ciel visant les mots de passe ?
Cinq étapes résument le déroulement d’une attaque par table arc-en-ciel :
- Obtenir les hachages. Le cybercriminel se procure des hachages de mots de passe, généralement via une faille logicielle, une base de données compromise ou un code malveillant.
- Faire correspondre l’algorithme. Il sélectionne ou génère une table arc-en-ciel construite pour l’algorithme de hachage exact utilisé par le système ciblé.
- Faire passer les hachages dans les chaînes. Chaque hachage volé est soumis à la même séquence de réduction que celle utilisée pour construire la table.
- Récupérer la correspondance. Lorsqu’un hachage correspond à la fin d’une chaîne connue, le cybercriminel rejoue cette chaîne depuis le début et en extrait le mot de passe d’origine.
- Réutiliser le mot de passe ailleurs. Il le teste d’abord sur le compte compromis, puis sur d’autres services, car c’est la réutilisation des mots de passe qui peut avoir les conséquences les plus importantes.
Table arc-en-ciel vs dictionnaire vs force brute : quelles différences ?
Les attaques par table arc-en-ciel font partie d’une famille plus large de techniques de piratage de mots de passe. Celle-ci comprend notamment le bourrage d’identifiants (credential stuffing) et la pulvérisation de mots de passe (password spraying).
💡 En clair : le password spraying, également appelé pulvérisation de mots de passe, consiste à tester un mot de passe couramment utilisé sur un grand nombre de comptes, plutôt qu’à tester de nombreux mots de passe sur un seul compte.
Ce qui distingue principalement ces méthodes, c’est la manière dont les calculs sont effectués. La force brute réalise les essais au moment de l’attaque en testant systématiquement différentes combinaisons.
L’attaque par dictionnaire suit une logique similaire, mais se concentre sur une liste de mots de passe et de combinaisons susceptibles d’être utilisés. La table arc-en-ciel, elle, repose sur des calculs effectués à l’avance afin d’accélérer ensuite la recherche.
| Critère | Table arc-en-ciel | Force brute | Dictionnaire |
| Principe | Utilise des chaînes de hachages précalculées pour retrouver un mot de passe | Teste systématiquement de nombreuses combinaisons possibles | Teste des mots et des combinaisons issus d’une liste prédéfinie |
| Préparation | Importante : les calculs sont effectués à l’avance | Aucune préparation particulière | Variable : dépend de la qualité de la liste utilisée |
| Calculs pendant l’attaque | Limités : une recherche dans les données précalculées suffit | Nombreux : chaque combinaison doit être testée | Nombreux : chaque entrée doit être testée |
| Rapidité | Très rapide lorsque les données précalculées couvrent le hachage recherché | Dépend fortement de la complexité du mot de passe et de la puissance de calcul | Rapide lorsque le mot de passe figure dans la liste ou suit un schéma courant |
| Effet d’un sel unique | Empêche la réutilisation des données précalculées pour le hachage concerné | Le calcul doit être effectué avec le sel, mais la méthode reste possible | Le calcul doit être effectué avec le sel, mais la méthode reste possible |
Le salage change donc fondamentalement la situation pour les tables arc-en-ciel. Comme chaque mot de passe est associé à une valeur aléatoire unique avant le hachage, les résultats précalculés ne peuvent plus être réutilisés d’un compte à l’autre. En revanche, le salage ne rend pas la force brute ou les attaques par dictionnaire impossibles : il oblige simplement à effectuer les calculs nécessaires pour chaque hachage, ce qui augmente le coût de l’opération.
Les attaques par table arc-en-ciel représentent-elles encore une menace ?
Sur les systèmes modernes qui stockent correctement les mots de passe, les tables arc-en-ciel ont perdu l’essentiel de leur intérêt. En revanche, elles peuvent encore être utiles lorsqu’elles sont utilisées contre des systèmes anciens ou mal configurés.
Certains formats de stockage non salés, comme LM et NTLM, peuvent encore être présents dans des infrastructures anciennes. Des appareils connectés peuvent également conserver des mots de passe par défaut faibles ou mal protégés. Dans ces situations, des hachages peuvent être retrouvés plus facilement à l’aide de données précalculées.
La fuite de données LinkedIn de 2012 constitue un exemple souvent cité. Les mots de passe concernés étaient protégés par SHA-1, sans salage, et environ 6,5 millions de hachages avaient été rendus publics. Une grande partie de ces mots de passe a ensuite été retrouvée, notamment grâce à des techniques permettant d’exploiter efficacement les hachages non salés.
Le risque ne s’arrête toutefois pas au compte initialement compromis. Les identifiants dérobés ou retrouvés à la suite d’une fuite de données peuvent être réutilisés sur d’autres services lorsque les mêmes mots de passe ont été employés à plusieurs endroits. Le Data Breach Investigations Report de Verizon souligne depuis plusieurs années le rôle important des identifiants compromis dans les violations de données.
C’est pourquoi le salage ne doit pas être considéré comme une protection isolée. Il réduit fortement l’intérêt des tables arc-en-ciel, mais une bonne sécurité des comptes repose également sur des mots de passe uniques et robustes, ainsi que sur l’authentification multifacteur lorsqu’elle est disponible.
En pratique, une table arc-en-ciel n’est donc plus une méthode particulièrement adaptée aux systèmes modernes correctement conçus. Elle reste surtout pertinente lorsqu’un système utilise encore des méthodes anciennes de stockage des mots de passe ou lorsque les bonnes pratiques de sécurité n’ont pas été appliquées.

Quelle est la meilleure défense contre les attaques par table arc-en-ciel ?
Le salage est la principale mesure permettant de se protéger contre les tables arc-en-ciel. Lorsqu’un service ajoute un sel unique à chaque mot de passe avant de le hacher, les données précalculées ne peuvent plus être réutilisées efficacement pour retrouver les mots de passe.
Les fonctions de hachage conçues pour le stockage des mots de passe, comme bcrypt et Argon2, apportent une protection supplémentaire. Contrairement aux fonctions de hachage à usage général telles que SHA-256, elles sont spécifiquement conçues pour rendre le calcul des hachages plus coûteux. Elles permettent d’augmenter le coût des calculs nécessaires pour tester des mots de passe et intègrent la gestion d’un sel unique pour chaque mot de passe.
💡 En termes simples : ces fonctions sont volontairement plus lentes et plus gourmandes en ressources. Elles rendent donc beaucoup plus coûteux les essais répétés nécessaires pour retrouver un mot de passe, même lorsqu’une table précalculée n’est pas utilisée.
Pour l’utilisateur, une autre règle reste essentielle : utiliser un mot de passe long et différent pour chaque compte. Cette précaution ne protège pas directement un hachage contre une table arc-en-ciel, mais elle limite fortement les conséquences d’une fuite de données. Si un mot de passe est retrouvé à la suite d’une compromission, il ne pourra pas être réutilisé pour accéder à d’autres services. C’est notamment ce qui permet de réduire le risque de credential stuffing, une technique qui consiste à essayer des identifiants déjà compromis sur d’autres sites. Découvrez-en davantage sur les habitudes en matière de mots de passe.
Enfin, l’authentification à deux facteurs (2FA) ajoute une barrière supplémentaire. Même si un mot de passe est découvert, l’accès au compte peut rester bloqué sans le second facteur d’authentification.
La protection repose donc sur plusieurs niveaux : salage unique, fonction de hachage adaptée, mots de passe longs et uniques, puis authentification à deux facteurs lorsque celle-ci est disponible.
Comment Mailfence protège votre compte contre les tentatives de piratage par mot de passe
Mailfence effectue le hachage de chaque mot de passe stocké à l’aide d’algorithmes modernes avec sel.
Les mots de passe des comptes sont stockés à l’aide de bcrypt, une fonction de hachage spécialement conçue pour les mots de passe. bcrypt génère automatiquement un sel aléatoire pour chaque mot de passe et l’intègre dans le hachage stocké. Ainsi, deux mots de passe identiques produisent des hachages différents lorsqu’ils sont associés à des sels distincts, ce qui empêche notamment la réutilisation de tables arc-en-ciel précalculées.
Les connexions via le navigateur sont sécurisées par SSL/TLS.
L’authentification à deux facteurs (2FA) est disponible gratuitement pour tous les comptes. Cette fonctionnalité peut être activée à l’aide de n’importe quelle application d’authentification compatible TOTP, et des codes de secours peuvent être générés pour récupérer l’accès au compte. Bien qu’aucune forme d’authentification à deux facteurs ne permette d’éliminer totalement le risque, les codes TOTP pouvant notamment faire l’objet d’attaques par hameçonnage, elle réduit considérablement le risque d’accès non autorisé, même en cas de compromission du mot de passe.
Pour l’accès externe via SMTP, IMAP, POP, EAS, xDAV et XMPP, il convient d’utiliser des mots de passe distincts et révocables, spécifiques à chaque service, et de désactiver tout service dont vous n’avez pas besoin. Cela permet de réduire la surface d’attaque du compte sans toucher à vos identifiants de connexion principaux.
Une série de paramètres de sécurité de compte vous permet de renforcer encore davantage vos mesures de protection au quotidien.
« La meilleure défense contre les attaques d’hier est rarement spectaculaire : c’est la discipline. Nous nous chargeons de la partie la plus difficile de notre côté, en stockant chaque mot de passe à l’aide d’un hachage moderne avec sel, et nous mettons à la disposition des utilisateurs des outils simples, comme l’authentification à deux facteurs, pour combler les lacunes de leur côté. » – Patrick De Schutter, cofondateur de Mailfence
Points clés à retenir
- Une table arc-en-ciel permet de récupérer des mots de passe en recherchant leurs hachages dans une table précalculée, ce qui réduit considérablement les calculs nécessaires au moment de l’attaque.
- Le salage empêche la réutilisation efficace des tables précalculées, ce qui explique en grande partie le recul de cette technique.
- Les systèmes hérités, les hachages sans sel et les appareils connectés mal sécurisés restent vulnérables.
- Un mot de passe fort et unique, associé à une authentification à deux facteurs, réduit considérablement le risque au niveau du compte.
Tables arc-en-ciel : le mot de la fin
L’attaque par table arc-en-ciel était autrefois considérée comme l’une des techniques de craquage de mots de passe les plus dangereuses qui soient. L’utilisation de sels et de fonctions de hachage modernes a considérablement réduit son efficacité. Elle reste néanmoins pertinente face à certains systèmes anciens ou mal configurés.
Un mot de passe solide et unique, associé à l’authentification à deux facteurs, contribue à renforcer la sécurité de votre compte.
Recevez toutes les actualités liées à la confidentialité par mail
Abonnez-vous à la newsletter Mailfence
FAQ : tables arc-en-ciel
Comment les pirates savent-ils quel algorithme de hachage a été utilisé ?
Les hachages présentent souvent des caractéristiques qui permettent d’identifier, ou au moins de soupçonner, la fonction utilisée : longueur du résultat, format, préfixe ou structure particulière. MD5, SHA-1 et NTLM, par exemple, produisent des hachages de formats différents.
Une fois la fonction de hachage identifiée, il est possible de déterminer si des données précalculées adaptées existent. Pour une table arc-en-ciel, il faut en effet que les calculs aient été réalisés à l’avance avec la même fonction et les mêmes paramètres.
Les tables arc-en-ciel permettent-elles de retrouver des mots de passe longs ou complexes ?
C’est peu probable. Plus un mot de passe est long et comporte un grand nombre de caractères possibles, plus le nombre de combinaisons à couvrir augmente rapidement. Une table précalculée ne peut donc représenter qu’une partie limitée de cet espace.
Les tables arc-en-ciel sont surtout adaptées aux mots de passe courts, courants ou prévisibles. Un mot de passe long et aléatoire est beaucoup plus difficile à retrouver, en particulier lorsqu’il est stocké à l’aide d’une fonction de hachage conçue pour les mots de passe et d’un sel unique.
Les tables arc-en-ciel sont-elles efficaces contre des fonctions modernes telles que SHA-256 ?
SHA-256 n’est pas conçu pour le stockage des mots de passe, et l’utilisation de tables arc-en-ciel contre cette fonction présente des limites importantes. Une table complète serait irréaliste en raison du nombre considérable de valeurs possibles.
Sans sel, des données précalculées peuvent néanmoins être utiles pour retrouver certains mots de passe faibles ou courants. Avec un sel unique pour chaque mot de passe, ces données précalculées ne peuvent plus être réutilisées efficacement.
Pour le stockage des mots de passe, il est donc préférable d’utiliser une fonction spécialement conçue à cet effet, comme Argon2 ou bcrypt, plutôt qu’une fonction de hachage généraliste telle que SHA-256.
Les tables arc-en-ciel sont-elles plus rapides qu’une attaque par force brute sur GPU ?
Cela dépend notamment de la fonction de hachage utilisée, des mots de passe recherchés et des données précalculées disponibles.
Lorsqu’une table arc-en-ciel couvre le hachage recherché, elle peut permettre de retrouver rapidement certains mots de passe sans avoir à effectuer tous les calculs au moment de l’attaque. Une attaque par force brute utilisant un GPU effectue, elle, les calculs au moment de l’attaque et peut tester un grand nombre de combinaisons lorsque la fonction de hachage est rapide.
Les deux méthodes reposent donc sur des approches différentes : les tables arc-en-ciel privilégient les calculs effectués à l’avance, tandis que la force brute réalise les calculs au moment de la recherche. Le salage réduit fortement l’intérêt des données précalculées, car les calculs doivent alors tenir compte du sel associé à chaque mot de passe.
L’authentification à deux facteurs (2FA) permet-elle de bloquer une attaque par table arc-en-ciel ?
Le 2FA n’empêche pas de retrouver un mot de passe à partir d’un hachage volé. En revanche, il peut empêcher que ce mot de passe suffise à prendre le contrôle du compte. Une personne qui connaît le mot de passe doit également fournir le second facteur pour se connecter.
L’authentification à deux facteurs ne constitue toutefois pas une garantie absolue. Les méthodes reposant sur des codes à usage unique, comme le TOTP, peuvent notamment être contournées dans certaines attaques par hameçonnage.
Mailfence propose gratuitement l’authentification à deux facteurs avec les applications compatibles TOTP. Elle ajoute ainsi une protection supplémentaire aux mots de passe.
Peut-on détecter une attaque par table arc-en-ciel ?
Pas directement dans la plupart des cas. Une table arc-en-ciel est utilisée hors ligne : les calculs sont effectués à partir de hachages déjà récupérés, sans qu’il soit nécessaire de se connecter au système concerné. Cette étape ne génère donc généralement aucune activité que le service puisse détecter.
La situation change lorsque les mots de passe retrouvés sont ensuite utilisés pour tenter d’accéder à des comptes. Des connexions inhabituelles, des tentatives répétées ou d’autres comportements suspects peuvent alors être détectés par les mécanismes de sécurité du service. C’est l’une des raisons pour lesquelles la prévention reste essentielle : stocker correctement les mots de passe, utiliser un sel unique et privilégier des fonctions de hachage adaptées permet de réduire fortement l’intérêt des tables arc-en-ciel avant même qu’elles ne puissent être utilisées.


