Suis-je déjà dans une fuite ? Vérifier un mot de passe sans le révéler
Votre mot de passe a-t-il déjà fuité ? Pour le savoir, faut-il le confier à un site web ? La réponse est non, et c'est ce que ce TP démontre.
Petite vérification
Avant de commencer, vérifiez si vous savez encore réaliser ces 3 actions très simples, sur la séance précédente consacrée aux métadonnées des photos :
- dans le dossier
~/tp-photos(à recréer avec l'étape 1 de la séance précédente s'il n'existe plus), afficher avecexiftoolle modèle de l'appareil qui a prisannonce_velo.jpg - donner la commande qui supprime toutes les métadonnées de
annonce_velo.jpg - expliquer pourquoi il ne faut pas publier le contenu du dossier juste après cette commande
📌 Réponse attendue
TP pour réfléchir et résoudre des problèmes
Votre défi pour aujourd'hui consiste à vérifier si des mots de passe ont déjà fuité, sans jamais envoyer ces mots de passe sur Internet
La boulangerie « Le Fournil de Lucie » et ses comptes sont fictifs, construits pour l'exercice. Les mots de passe testés sont ceux fournis dans l'énoncé.
N'utilisez pas, dans ce TP, un mot de passe que vous employez réellement. La méthode étudiée ne l'envoie pas en entier sur le réseau, mais un mot de passe saisi dans une commande reste lisible dans l'historique du terminal (étape 6).
Lucie, la gérante du « Fournil de Lucie », vous confie la liste des mots de passe de ses comptes. Elle a peur qu'ils aient déjà fuité lors d'un piratage ailleurs. Vous les vérifierez sans les transmettre à personne, avec le service Pwned Passwords, un service public qui recense les mots de passe apparus dans des fuites :
| Compte | Mot de passe |
|---|---|
| Caisse enregistreuse | azerty |
| Messagerie | Soleil2024! |
| Tablette de commande | bonjour123 |
| Comptabilité | Cheval-Agrafeuse-Bleu-Nuage-47 |
Étape 1 — Vérifier que le service est joignable
Dans le terminal de votre VM Linux, interrogez le service avec une valeur d'exemple :
curl -s -o /dev/null -w "%{http_code}\n" https://api.pwnedpasswords.com/range/5BAA6
- Que doit afficher cette commande si tout fonctionne ?
- Que faire si vous obtenez autre chose (un code d'erreur, ou rien du tout) ?
📌 Réponse attendue
Étape 2 — Calculer l'empreinte SHA-1 d'un mot de passe
Le service ne manipule jamais les mots de passe en clair, mais leur empreinte SHA-1. Calculez
celle de azerty, puis celle du même texte envoyé avec echo :
printf '%s' 'azerty' | sha1sum
echo 'azerty' | sha1sum
- Combien de caractères comporte l'empreinte ?
- Pourquoi les deux commandes donnent-elles deux résultats différents ?