20.05.2015 Views

Télécharger - Site personnel de Serge Moutou

Télécharger - Site personnel de Serge Moutou

Télécharger - Site personnel de Serge Moutou

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Fichier <strong>de</strong> mots <strong>de</strong> passe : structure utilité<br />

1°) la fonction <strong>de</strong> cryptage UNIX crypt (man crypt)<br />

Chapitre 9 : L'authentification<br />

La fonction crypt est celle utilisée pour le cryptage <strong>de</strong>s mots-<strong>de</strong>-passe. Elle est basée sur l'algorithme DES (Data<br />

Encryption Standard)avec <strong>de</strong>s variantes prévues entre autres choses pour éviter l'implémentation matérielle d'un<br />

casseur <strong>de</strong> co<strong>de</strong>.<br />

L'argument clé est le mot-<strong>de</strong>-passe saisi par l'utilisateur, la chaîne encodée est constituée par <strong>de</strong>s 0.<br />

salt est une chaîne <strong>de</strong> <strong>de</strong>ux caractères pris dans l'ensemble [a-zA-Z0-9./].Cette chaîne est utilisée pour introduire une<br />

perturbation (parmi 4096) dans l'algorithme.<br />

En utilisant les 7 bits <strong>de</strong> poids faibles <strong>de</strong> chaque caractère <strong>de</strong> la clé,une clé <strong>de</strong> 56-bits est obtenue, qui est alors<br />

utilisée pour crypter <strong>de</strong> manière répétée une chaîne <strong>de</strong> caractères constante (souvent une chaîne <strong>de</strong> zéros).<br />

La valeur renvoyée pointe sur le mot <strong>de</strong> passe crypté, une chaîne <strong>de</strong> 13 caractères ASCII imprimables, les <strong>de</strong>ux<br />

premiers caractères représentant l'argument salt lui-même. Cette valeur renvoyée pointe sur <strong>de</strong>s données statiques<br />

dont le contenu est écrasé à chaque appel.<br />

Attention : L'espace <strong>de</strong>s clés consistent en 2^56, soit 7,2.10^16 valeurs possibles.Une recherche exhaustive est<br />

possible en utilisant <strong>de</strong>s ordinateurs massivement parallèles.Certains logiciels sont disponibles, comme crack(1), qui<br />

exploreront la portion <strong>de</strong> l'espace <strong>de</strong>s clés contenant les mots <strong>de</strong> passe habituellement utilisés par les humains. Ainsi,<br />

le choix d'un mot <strong>de</strong> passe doit au minimum éviter les noms propres ou communs. On recomman<strong>de</strong> fortement<br />

l'utilisation d'un programme comme passwd(1) pour vérifier la fiabilité <strong>de</strong>s mots <strong>de</strong> passe dès la saisie.<br />

L'algorithme DES lui-même a quelques inconvénients qui ren<strong>de</strong>nt l'utilisation <strong>de</strong> crypt(3) peu recommandable pour<br />

autre chose que le cryptage <strong>de</strong> mots <strong>de</strong> passe. Si vous comptez développer un projet cryptographique en utilisant<br />

crypt(3), abandonnez cette idée : achetez un bon bouquin sur la cryptographie, et utilisez une bibliothèque DES<br />

toute faite comme il en existe tant.<br />

Linux 19 Juillet 1997 (Christophe Blaess, 1997.)<br />

2°) Ficher <strong>de</strong>s mots <strong>de</strong> passe<br />

Le fichier standard <strong>de</strong>s mots <strong>de</strong> passe est : /etc/passwd<br />

Le format <strong>de</strong> ce fichier est :<br />

Nom:Mot <strong>de</strong> passe:Numéro utilisateur:Numéro <strong>de</strong> groupe:Champ spécial:répertoire <strong>de</strong> base:Programme <strong>de</strong> démarrage<br />

Par exemple : username:Npge08pfz4wuk:503:100:Full Name:/home/username:/bin/sh<br />

Np est le "salt" et le reste l'encodage. Il existe 4096 façons différentes <strong>de</strong> co<strong>de</strong>r un mot <strong>de</strong> passe.Par exemple ce<br />

même mot <strong>de</strong> passe, ici le très mauvais "password" peut être aussi codé : kbeMVnZM0oL7I. Pourquoi 4096 ? La<br />

chaîne qui est donnée ici est codée en base 64=2^6 et les <strong>de</strong>ux premiers qui font 12 bits peuvent être n'importe quoi.<br />

Et n'importe quoi sur 12 bits donne 4096.<br />

102 /163

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!