This commit is contained in:
Francois Lesueur 2023-01-22 17:48:38 +01:00
parent cf4c382e33
commit b9acf55d44

View File

@ -24,7 +24,7 @@ Ces deux mesures sont bien complémentaires car il est du devoir de chaque site
Squelette de code fourni Squelette de code fourni
======================== ========================
Vous devez télécharger le squelette de code [ici](td-passwords-files). Vous pouvez récupérer l'intégralité du dépôt en tapant `git clone https://git.kaz.bzh/francois.lesueur/LPDLIS.git`, puis aller dans le dossier `td-passwords-files`. Vous pourriez avoir besoin d'installer la bibliothèque python PyCryptodome (de préférence, et nécessaire avec Python 3.8) ou PyCrypto (dépréciée, mais a priori fonctionnelle jusque Python 3.7). Par exemple avec pip3 pour avoir PyCryptodome uniquement (les deux ne peuvent pas coexister sur le système) : Vous devez télécharger le squelette de code [ici](td-passwords-files). Vous pourriez avoir besoin d'installer la bibliothèque python PyCryptodome (de préférence, et nécessaire avec Python 3.8) ou PyCrypto (dépréciée, mais a priori fonctionnelle jusque Python 3.7). Par exemple avec pip3 pour avoir PyCryptodome uniquement (les deux ne peuvent pas coexister sur le système) :
``` ```
pip3 uninstall PyCrypto pip3 uninstall PyCrypto
@ -48,6 +48,8 @@ Vous pouvez visualiser tous ces fichiers dans un éditeur de texte classique et
* le résultat d'un test unitaire d'authentification (doit toujours être vrai) * le résultat d'un test unitaire d'authentification (doit toujours être vrai)
* l'appel (chronométré) à une fonction pour casser la base (fonctions non implémentées dans le squelette fourni) * l'appel (chronométré) à une fonction pour casser la base (fonctions non implémentées dans le squelette fourni)
Attention : le squelette de base s'exécute avec succès et rapidement, mais les fonctions de cassage de mot de passe ne sont pas implémentées (ce sera votre travail) ! Pour chaque schéma, ce sera à vous de compléter la fonction ad hoc de `skeleton.py` en suivant les conseils donnés en commentaires, afin qu'elle affiche des mots de passe retrouvés lors de l'exécution.
Analyse des différents schémas Analyse des différents schémas
============================== ==============================
@ -62,37 +64,6 @@ Pour chaque schéma (clair `plain`, chiffré `enc`, hash `sha`, hash salé `salt
* implémenter la fonction pour casser la base * implémenter la fonction pour casser la base
<!--
Notations
=========
* h(m) est le hash du message m
* Si K<sub>A</sub> est une clé symétrique, {m}<sub>K<sub>A</sub></sub> est le chiffré de m avec la clé K<sub>A</sub>, m = { {m}<sub>K<sub>A</sub></sub>}<sub>K<sub>A</sub></sub>
* Si Pub<sub>A</sub> et Priv<sub>A</sub> sont des clés asymétriques complémentaires publique/privée, {m}<sub>Pub<sub>A</sub></sub> est le chiffré de m avec la clé Pub<sub>A</sub> et m = { {m}<sub>Pub<sub>A</sub></sub>}<sub>Priv<sub>A</sub></sub>
* m signé avec la clé Priv<sub>A</sub> est noté m.{h(m)}<sub>Priv<sub>A</sub></sub>
-->
<!--
Côté client
===========
Un gestionnaire de mots de passe conserve une table liant un titre, un login et un mot de passe. Par exemple :
| Titre | Login | Password |
| - | - | - |
| CDiscount | Alice31 | hujk15tr |
| laposte.net | AliceLefur@laposte.net | jku78!io |
| CB | 4785 1547 4554 6657 | 7514 |
Considérons que l'utilisation de ce gestionnaire de mots de passe nécessite la saisie préalable d'un mot de passe maître, lors de l'ouverture.
Proposez la mise en œuvre d'un gestionnaire de mots de passe local puis d'un gestionnaire de mots de passe en ligne. Analysez les risques d'attaques par les différents acteurs (eux-mêmes ou suite à comprommission de leur infrastructure).
-->
Pour approfondir Pour approfondir
================ ================