From f9414d91b1b0f7978d81a51beabb6ceb0abf2f35 Mon Sep 17 00:00:00 2001 From: Vincent Mazenod <vmazenod@gmail.com> Date: Sun, 17 Feb 2019 18:52:32 +0100 Subject: [PATCH] =?UTF-8?q?ajout=20de=20l'=C3=A9nonce=3D=C3=A9=20du=20proj?= =?UTF-8?q?et=202019?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/Etudiants/zz2-f5-websec.md | 55 ++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/content/Etudiants/zz2-f5-websec.md b/content/Etudiants/zz2-f5-websec.md index 9f0e877..e74a064 100644 --- a/content/Etudiants/zz2-f5-websec.md +++ b/content/Etudiants/zz2-f5-websec.md @@ -241,6 +241,61 @@ Ce bug est dû à la numérotation fantaisiste d'Ubuntu des interfaces réseau . * Examen écrit en fin de session +* Un projet à réaliser par binôme + +### Projets + +#### jwt + +Vous implémenterez un exemple de protection d'API REST via JWT dans l'un des langages au choix + +* php +* nodejs +* python + +Vous implémenterez 2 services et un client + +* un service de génération et de validation de JWT +* un service accessible via REST avec un JWT valide +* un client permettant d'obtenir JWT et capable de l'utiliser pour accéder légitimement à l'API REST + +Dans un premier temps vous implémenterez des JWT avec mot de passe (chiffrement symétrique) +Dans un second temps vous implémenterez des JWT avec des paires de clés publiques / privées (chiffrement asymétrique) + +Dans votre rapport vous analyserez + +* les avantages et les inconvénients, notamment au niveau de la sécurité, de chacune des deux approches +* les conséquences des choix d'implémentation sur + * la validation d'un JWT + * l'enrolement des clients + * la gestion d'une compromission côté serveur + +#### Rendu + +Un repo Gitlab sur https://gitlab.isima.fr ayant la forme suivante + +* symetric + * ... + * README.md +* asymetric + * ... + * README.md +* README.md + +* symetric/README.md et asymetric/README.md contiennent respectivement la marche à suivre pour pouvoir déployer l'implémentation avec des JWT avec mot de passe et avec des clés publiques / privées + +* le fichier README.md contient votre rapport + +* vous mettrez l'utilisateur Vincent Mazenod comme membre en tant que maintainer +* vous m'enverrez l'url du repo dans un message mail chiffré avec GPG + +#### Critère de notation + +* Qualité de l'implémentation, notamment sur l'aspect sécurité (si je by pass les sécurités mises en place c'est 0) +* Qualité de la documentation de déploiement (si je n'arrive pas à installer le projet en local sur ma machine c'est 0) +* Qualité de l'analyse (ce n'est pas forcément long il s'agit présenter tous les scénarios d'utilisation et d'attaque en expliquant les avantages et inconvénients de chacune des deux implémentations) + + <!-- ## Mini projet en binôme -- GitLab