08 - Glossaire
Ce glossaire rassemble tous les termes utilises dans cette serie sur l'authentification et la sécurité web. Chaque définition est concise, avec un renvoi vers l'article qui en parle en détail.
Prerequisites
Aucun. Tu peux utiliser ce glossaire comme référencé independante ou comme complement aux autres articles de la serie.
Access Token
Token a duree de vie courte (15 minutes a 1 heure) qui autorise l'acces a une ressource protégée. Emis par un serveur d'autorisation apres authentification. Dans OAuth2, c'est le token que tu envoies dans le header Authorization: Bearer <token>.
Voir : Article 04 - Refresh tokens
Argon2
Algorithme de hashing de mots de passe, vainqueur du Password Hashing Competition en 2015. Memory-hard, ce qui le rend resistant aux attaques sur GPU. Trois variantes : argon2d, argon2i, argon2id. Utilise argon2id. Voir : Article 05 - Hashing
Authentification (Authentication)
Processus qui vérifié l'identité d'un utilisateur. "Qui es-tu ?" Exemples : login + mot de passe, clé SSH, certificat client. A ne pas confondre avec l'autorisation. Voir : Article 00 - Introduction
Autorisation (Authorization)
Processus qui vérifié les permissions d'un utilisateur authentifié. "Qu'as-tu le droit de faire ?" Exemples : rôles, ACL, whitelist IP. Voir : Article 00 - Introduction
bcrypt
Algorithme de hashing de mots de passe créé en 1999 pour OpenBSD. Inclut un sel automatique et un coût configurable. Reste le standard de facto. Sur Bun : Bun.password.hash(pwd, { algorithm: "bcrypt", cost: 12 }).
Voir : Article 05 - Hashing
Bearer Token
Schema d'authentification HTTP ou le client envoie un token dans le header : Authorization: Bearer eyJhbG.... Defini par la RFC 6750. Le serveur ne vérifié que le token, pas l'identité du porteur (d'ou "bearer" = porteur).
Voir : Article 02 - JWT
Brute Force
Attaque qui teste toutes les combinaisons possibles de mots de passe. Protection : rate limiting, blocage apres N échecs, hashing lent (bcrypt, argon2). Voir : Article 07 - Failles
Cookie
Petit fichier texte stocke par le navigateur et envoye automatiquement avec chaque requête HTTP vers le domaine concerne. Utilise pour les sessions. Les flags HttpOnly, Secure et SameSite le protegent. Voir : Article 01 - Sessions et cookies
CORS (Cross-Origin Resource Sharing)
Mecanisme qui permet a un serveur de spécifier quels domaines peuvent acceder a ses ressources. Le navigateur envoie une requête "preflight" (OPTIONS) avant les requêtes cross-origin. Configure via les headers Access-Control-Allow-Origin, Access-Control-Allow-Methods, etc.
CSRF (Cross-Site Request Forgery)
Attaque qui force le navigateur d'un utilisateur authentifié a envoyer une requête non voulue. Exploite le fait que les cookies sont envoyes automatiquement. Protection : SameSite=Strict, tokens CSRF, vérification de l'Origin.
Voir : Article 07 - Failles
Hash (fonction de hachage)
Fonction mathematique qui transforme une entree de taille quelconque en une sortie de taille fixe. A sens unique : impossible de retrouver l'entree à partir de la sortie. Pour les mots de passe, utilise bcrypt ou argon2 (pas SHA-256 ni MD5). Voir : Article 05 - Hashing, serie clés et chiffrement
HMAC (Hash-based Message Authentication Code)
Méthode de signature qui combine une fonction de hachage avec une clé secrete. Utilise dans JWT (HS256 = HMAC-SHA256) et dans la vérification d'intégrité. Defini par la RFC 2104. Voir : Article 02 - JWT
HttpOnly
Flag de cookie qui empeche JavaScript d'acceder au cookie via document.cookie. Protection contre le vol de session par XSS.
Voir : Article 01 - Sessions et cookies
JWT (JSON Web Token)
Token auto-contenu compose de trois parties (header, payload, signature) encodees en base64 et separees par des points. Signe mais pas chiffre (le payload est lisible). Defini par la RFC 7519. Voir : Article 02 - JWT
MFA / 2FA (Multi-Factor / Two-Factor Authentication)
Authentification qui exige plusieurs facteurs : quelque chose que tu sais (mot de passe), quelque chose que tu as (telephone, clé materielle), quelque chose que tu es (biometrie). Le 2FA en est un cas particulier avec exactement deux facteurs.
OAuth2
Protocole d'autorisation qui permet a une application tierce d'acceder a des ressources au nom d'un utilisateur, sans que l'utilisateur partage ses identifiants. Defini par la RFC 6749. Trois flows principaux : Authorization Code, PKCE, Client Credentials. Voir : Article 03 - OAuth2
OIDC (OpenID Connect)
Couche d'identité construite par-dessus OAuth2. Ajoute le concept d'authentification ("qui est l'utilisateur ?") a OAuth2 (qui ne gere que l'autorisation). Renvoie un id_token (JWT) avec les informations de l'utilisateur.
Voir : Article 03 - OAuth2
OWASP
Open Worldwide Application Security Project. Organisation a but non lucratif qui produit des guides, des outils et des standards de sécurité. Le OWASP Top 10 est la référencé des risques de sécurité web. Voir : Article 07 - Failles
PBKDF2 (Password-Based Key Derivation Function 2)
Algorithme de derivation de clé qui applique une fonction de hachage (SHA-256 typiquement) des milliers de fois. Utilise pour transformer un mot de passe en clé de chiffrement. Moins resistant aux GPU que bcrypt ou argon2 pour le stockage de mots de passe.
Permission
Droit d'effectuer une action spécifique sur une ressource. Exemples : articles:read, users:delete. En RBAC, les permissions sont attribuees aux rôles, pas directement aux utilisateurs.
Voir : Article 06 - RBAC
PKCE (Proof Key for Code Exchange)
Extension d'OAuth2 (RFC 7636) qui sécurisé le flow Authorization Code pour les clients publics (SPA, mobile). Utilise un couple code_verifier / code_challenge a usage unique.
Voir : Article 03 - OAuth2
RBAC (Rôle-Based Access Control)
Modèle d'autorisation ou les utilisateurs se voient attribuer des rôles, et les rôles definissent des permissions. Alternative plus simple que l'ABAC (Attribute-Based Access Control). Voir : Article 06 - RBAC
Refresh Token
Token a longue duree de vie (7-30 jours) utilise pour obtenir un nouvel access token sans re-authentifier l'utilisateur. Doit etre stocke de facon sécurisée (cookie HttpOnly cote web, secure storage cote mobile). La rotation invalide l'ancien token a chaque utilisation. Voir : Article 04 - Refresh tokens
Salt (sel)
Valeur aleatoire ajoutee au mot de passe avant le hashing. Chaque utilisateur a un sel différent, ce qui rend les rainbow tables inutiles. bcrypt et argon2 generent et stockent le sel automatiquement. Voir : Article 05 - Hashing
SameSite
Flag de cookie qui contrôle l'envoi du cookie sur les requêtes cross-site. Trois valeurs : Strict (jamais envoye cross-site), Lax (envoye sur les navigations top-level), None (toujours envoye, nécessité Secure).
Voir : Article 01 - Sessions et cookies
Scope
Dans OAuth2, les scopes definissent les permissions que l'application demande. Exemples : read:user, repo, email. L'utilisateur voit les scopes demandes et peut accepter ou refuser.
Voir : Article 03 - OAuth2
Session
État stocke cote serveur qui lie un identifiant (session ID, envoye via cookie) a des donnees utilisateur. Le serveur peut la revoquer a tout moment en supprimant l'entree. Stockage possible en mémoire, Redis ou base de donnees. Voir : Article 01 - Sessions et cookies
Token Rotation
Technique ou chaque refresh token est a usage unique. Quand un refresh token est utilise, un nouveau est emis et l'ancien est invalide. Permet de détecter le vol de token (double utilisation). Voir : Article 04 - Refresh tokens
XSS (Cross-Site Scripting)
Faille qui permet d'injecter du JavaScript dans une page web. Trois types : stocke (en base), reflete (dans l'URL), DOM-based (cote client). Protection : echappement du contenu, Content-Security-Policy, cookies HttpOnly.
Voir : Article 07 - Failles
Pour aller plus loin
Cette serie couvre les bases de l'authentification et de la sécurité pour les développeurs web. Pour approfondir :
- La serie clés, chiffrement et authentification couvre SSH, GPG, TLS et la gestion des clés
- La serie secrets et variables d'environnement couvre la gestion sécurisée des secrets en production
Navigation : Precedent : 07 - XSS, CSRF, injection | Retour a l'introduction
Sources
- OWASP Cheat Sheet Series par OWASP
- MDN Web Docs - Security par Mozilla
- Auth0 Identity Glossary par Auth0
Retrouve d'autres articles techniques sur paltemps.fr.