Attaque par dictionnaire
225230
30869562
2008-06-22T08:37:29Z
HERMAPHRODITE
288856
/* Salage de mot de passe */
L''''attaque par dictionnaire''' est une méthode utilisée en [[cryptanalyse]] pour [[Cassage de mot de passe|trouver un mot de passe]] ou une [[Clé de chiffrement|clé]]. Elle consiste à tester une série de mots de passe potentiels, les uns à la suite des autres, en espérant que le mot de passe utilisé pour le [[cryptographie|chiffrement]] soit contenu dans le dictionnaire. Si tel n'est pas le cas, l'attaque échouera.
Cette méthode repose sur le fait que de nombreuses personnes utilisent des mots de passe courants (''par ex : un prénom, une couleur, le nom d'un animal...''). C'est pour cette raison qu'il est toujours conseillé de '''bien réfléchir avant de choisir un mot de passe'''.
Le leet est une pratique simple et très efficace pour se protéger de ce genre d'attaque.
L'attaque par dictionnaire est souvent une méthode utilisée en complément de l'[[attaque par force brute]] qui consiste à tester de manière exhaustive les différentes possibilités de mots de passe. Cette dernière est particulièrement efficace pour des mots de passe n'excédant pas 5 ou 6 caractères.
=== Contenu du dictionnaire et règles ===
Outre le contenu habituel d'un [[dictionnaire]] qui renferme un ensemble de mots, le dictionnaire peut être fortement amélioré en combinant les mots ou en appliquant certaines règles. Par exemple, pour chaque mot, on peut essayer de changer la [[casse (typographie)|casse]] de certaines lettres ou les remplacer par leurs équivalents en [[leet speak]]. Une autre astuce consiste à répéter deux fois le mot (par exemple « secretsecret »), dans l'espoir que l'utilisateur fasse appel à cette méthode '''peu sûre''' pour renforcer son mot de passe. On peut aussi générer des dictionnaires, par exemple pour des numéros de plaque, des numéros de sécurité sociale, des dates de naissance, etc.
=== Logiciels ===
Le logiciel ''[[John the Ripper]]'', le plus connu dans ce domaine, est fourni avec une liste de règles qui permettent d'étendre l'espace de recherche et explorer les failles classiques dans l'élaboration des mots de passe ou des clés par les utilisateurs. Il existe des dictionnaires qui contiennent plusieurs millions de mots et qui ne sont pas fournis avec le logiciel. Citons encore [[L0phtcrack]] et [[Cain & Abel]] qui fournissent des services similaires.
Toutefois, ce type de [[logiciel]]s n'est pas forcément utilisé dans un but malicieux. Ces outils peuvent être utiles pour les [[Administrateur réseau|administrateurs]] qui veulent sécuriser les mots de passe et alerter les utilisateurs sur les risques encourus.
=== Détection ===
Il est possible de détecter les attaques de force brute en limitant la durée entre deux tentatives d’authentification ce qui augmente considérablement la durée de déchiffrage. Autre possibilité, le système des cartes à puces (exemple carte bancaires) ou les [[cartes SIM]] qui bloque le système au bout de 3 tentatives infructueuses ce qui rend impossible toute attaque par force brute.
=== Salage de mot de passe ===
Dans les applications, les mots de passe sont souvent stockés sous forme de ''[[hash]]'' à partir desquels il est très difficile de retrouver le contenu du mot de passe. Certains dictionnaires utilisés pour les attaques comportent le résultat des signatures des mots de passe les plus communs. Une personne malveillante ayant accès aux résultats du hachage des mots de passe pourrait donc deviner le mot de passe originel. Dans ce cas on peut utiliser le "salage" du mot de passe. C'est-à-dire l'ajout d'une séquence de bit servant à modifier la séquence finale.
Prenons par exemple le mot de passe ‘Wikipedia’, qui utilisé avec l’algorithme [[SHA-1]] produit : ‘664add438097fbd4307f814de8e62a10f8905588’. Nous allons maintenant utiliser un salage du mot de passe en y ajoutant ‘salé’. En hachant « Wikipediasalé » nous obtenons le hashage : ‘1368819407812ca9ceb61fb07bf293193416159f’ rendant tout dictionnaire inutile.
Une bonne pratique est de ne pas utiliser une clé de salage unique mais de la générer aléatoirement pour chaque enregistrement. Même si la clé de salage est lisible il faudra pour chaque mot de passe régénérer un dictionnaire salé complet. On peut aussi intégrer une partie dynamique et une partie intégrée au code source de l’application pour une sécurité maximum. Le système d’exploitation UNIX utilise un système de mots de passe hachés.
=== Articles connexes ===
* [[Cassage de mot de passe]]
* [[Attaque par force brute]]
* [[Authentification forte]]
=== Liens externes ===
[http://www.authsecu.com/dictionnaire/dictionnaire.php Liste de Dictionnaires de mots courants sur AuthSecu.com]
[http://darkm60.free.fr/md5breaker/ Dictionnaire de hash MD5]
{{Mesures de sécurité cryptographique}}
{{Portail|cryptologie|sécurité informatique}}
[[Catégorie:Cryptanalyse]]
[[da:Ordbogsangreb]]
[[de:Wörterbuchangriff]]
[[en:Dictionary attack]]
[[es:Ataque de diccionario]]
[[it:Attacco a dizionario]]
[[ja:辞書攻撃]]
[[nl:Woordenlijstaanval]]
[[pl:Atak słownikowy]]
[[ru:Перебор по словарю]]
[[simple:Dictionary attack]]
[[sv:Dictionary attack]]