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