Authentification et sécurité web - 08 - Glossaire

Tous les termes de l'authentification et la sécurité web : OAuth2, JWT, RBAC, XSS, CSRF, bcrypt et plus.

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

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 :


Navigation : Precedent : 07 - XSS, CSRF, injection | Retour a l'introduction


Sources

Retrouve d'autres articles techniques sur paltemps.fr.

Réservez un audit gratuit de 30 minutes. Je vous montre concrètement ce qu'on peut automatiser.