PROJET 03 : Système d'Authentification Sécurisé (PBKDF2 & JWT)
Construire un microservice d'authentification complet résistant aux attaques par brute-force, avec dérivation de clé étirée, jetons JWT sécurisés et limitation de débit.
PROJET 03 : Système d'Authentification Sécurisé & Anti-Bruteforce
Contexte Opérationnel
L'authentification est le premier rempart protégeant les données des utilisateurs. Une implémentation naïve (mots de passe en clair, MD5 sans sel, jetons sans signature) expose l'application à des fuites catastrophiques.Livrables Techniques
1. Stockage Cryptographique : Dérivation de clés avec PBKDF2-HMAC-SHA256 avec sel aléatoire CSPRNG (os.urandom(16)) et 600 000 itérations recommandées par l'OWASP.
2. Vérification Temporelle Constante : Utilisation obligatoire de secrets.compare_digest() pour neutraliser les attaques par canaux auxiliaires temporels.
3. Limitation de Débit (Rate Limiting) : Verrouillage temporaire d'un compte ou temporisation exponentielle après 5 tentatives infructueuses consécutives.
4. Gestion de Sessions JWT : Émission de jetons signés avec algorithme asymétrique RS256 ou HMAC-SHA256 et date d'expiration stricte.
Prérequis & Spécifications
- Backend réalisé en Python (FastAPI ou Flask). - Base de données SQLite ou PostgreSQL avec requêtes préparées. - Aucun mot de passe stocké en clair. - Suite de tests d'intrusion automatisés validant la résistance au bruteforce.
Règles d'Éthique & Sécurité
N'utilisez jamais d'algorithmes dépréciés tels que MD5 ou SHA-1 pour le stockage des mots de passe.
Enregistrer ma Réalisation
Liez votre code source et intégrez ce projet à votre portfolio RayLab.
Expérimentez votre logique, vos fonctions critiques et vos requêtes réseau dans le bac à sable interactif et le terminal de RayLab.
Ouvrir l'Atelier Virtuel