Notifications de mise à jour de l'application
Informatique

Authentification

Qui es-tu, et qu'as-tu le droit de faire

51 flashcards
Informatique
Rappel espacé

Questions & réponses

1

Qu'est-ce que l'authentification ?

Vérifier que quelqu'un est bien qui il prétend être

2

Qu'est-ce que l'autorisation ?

Décider ce qu'une identité déjà vérifiée a le droit de faire

3

Quels sont les trois facteurs d'authentification ?

Ce que je sais, ce que je possède, ce que je suis

4

Comment stocker un mot de passe en base de données ?

Jamais en clair ni chiffré : haché avec un algorithme lent et salé (bcrypt, scrypt, Argon2)

5

Comment fonctionne une session classique côté serveur ?

Le serveur stocke l'état de connexion et donne au navigateur un identifiant de session dans un cookie

6

Que fait l'attribut HttpOnly sur un cookie ?

Interdit à JavaScript de lire le cookie : une faille XSS ne peut plus le voler

7

Qu'est-ce qu'une attaque CSRF ?

Un site malveillant fait émettre par ton navigateur une requête vers un site où tu es connecté·e

8

Qu'est-ce qu'un JWT ?

Un jeton en trois parties encodées base64url, header.payload.signature, dont la signature garantit l'intégrité

9

Le contenu d'un JWT est-il confidentiel ?

Non : le payload est seulement encodé en base64, n'importe qui peut le lire

10

Que contient le claim sub d'un JWT ?

Le sujet : l'identifiant de l'utilisateur (ou de la machine) que le jeton représente

11

Que contient le claim exp d'un JWT ?

La date d'expiration, en secondes depuis le 1er janvier 1970 (epoch Unix)

12

Pourquoi vérifier le claim aud (audience) d'un JWT ?

Pour refuser un jeton valide émis pour un autre service

13

Comment fonctionne la signature HS256 d'un JWT ?

HMAC-SHA256 avec un secret partagé : qui vérifie peut aussi signer

14

Comment fonctionne la signature RS256 d'un JWT ?

RSA : la clé privée signe, la clé publique vérifie

15

Quelle est l'attaque alg: none sur les JWT ?

Forger un jeton dont le header déclare alg none, sans signature, qu'une bibliothèque naïve accepte

16

Comment révoquer un JWT avant son expiration ?

On ne peut pas vraiment : d'où des jetons courts (minutes) et une blocklist ou un refresh token

17

Qu'est-ce qu'un refresh token ?

Un jeton longue durée qui sert uniquement à obtenir un nouvel access token, sans refaire le login

18

Où stocker un token côté navigateur : localStorage ou cookie ?

Cookie HttpOnly de préférence : localStorage est lisible par tout script, donc volable par XSS

19

Comment un client envoie-t-il un token à une API HTTP ?

Dans l'en-tête Authorization: Bearer

20

Qu'est-ce qu'OAuth 2.0 ?

Un cadre d'autorisation déléguée : une app obtient un accès limité au nom d'un utilisateur

21

Dans OAuth 2.0, qu'est-ce que l'authorization server ?

Le serveur qui authentifie l'utilisateur, recueille son consentement et émet les tokens

22

Dans OAuth 2.0, qu'est-ce que le resource server ?

L'API qui héberge les données protégées et accepte les access tokens

23

Dans OAuth 2.0, qu'est-ce qu'un client ?

L'application qui demande l'accès, identifiée par un client_id

24

Qu'est-ce qu'un scope OAuth ?

Une permission demandée par le client et affichée à l'utilisateur au consentement

25

Étapes du flow Authorization Code ?

1. Le client redirige le navigateur vers `/authorize` (clientid, redirecturi, scope, state) 2. L'utilisateur s'authentifie et consent chez l'authorization server 3. Redirection vers `redirect_uri` avec un code à usage unique 4. Le client échange ce code contre des tokens sur `/token`, par un appel serveur à serveur 5. Le client appelle l'API avec l'access token

26

Qu'est-ce que PKCE ?

Prouver que celui qui échange le code est celui qui l'a demandé

27

Pourquoi le flow Implicit est-il déprécié ?

Le token arrive dans l'URL du navigateur (fragment), exposé à l'historique, aux scripts et aux extensions

28

Quel flow OAuth utiliser pour une communication machine à machine, sans utilisateur ?

Client Credentials : le client s'authentifie avec son clientid et clientsecret et reçoit un token

29

Pourquoi l'authorization server exige-t-il que la redirect_uri soit enregistrée à l'avance ?

Sinon un attaquant fait envoyer le code (ou le token) vers son propre site

30

À quoi sert le paramètre state dans un flow OAuth ?

À lier la réponse à la requête initiale : protection CSRF du flow

31

Qu'est-ce qu'OpenID Connect (OIDC) ?

Une couche d'identité au-dessus d'OAuth 2.0 : elle ajoute l'authentification et l'ID token

32

Qu'est-ce que l'ID token ?

Un JWT destiné au client, qui atteste l'identité de l'utilisateur authentifié

33

Peut-on envoyer l'ID token à une API comme preuve d'autorisation ?

Non : son audience est le client, pas l'API, et il ne porte pas de scopes

34

Quel scope est obligatoire pour qu'une requête OAuth devienne une requête OIDC ?

openid

35

À quoi sert l'endpoint /userinfo ?

À récupérer les informations de profil de l'utilisateur avec l'access token

36

Qu'est-ce que le document de découverte OIDC ?

Le JSON à /.well-known/openid-configuration qui liste les endpoints, algorithmes et clés du fournisseur

37

Qu'est-ce qu'un JWKS ?

Le jeu de clés publiques du fournisseur, publié en JSON à l'URL jwks_uri, pour vérifier les signatures

38

À quoi sert le paramètre nonce en OIDC ?

À lier l'ID token à la session du client : protection contre le rejeu d'un ID token

39

Qu'est-ce que le SSO (Single Sign-On) ?

Une seule authentification qui ouvre l'accès à plusieurs applications

40

Qu'est-ce qu'un Identity Provider (IdP) ?

Le service qui détient les comptes et authentifie les utilisateurs pour le compte des applications

41

Qu'est-ce que SAML ?

Un protocole de SSO basé sur XML : l'IdP envoie à l'application une assertion signée qui décrit l'utilisateur

42

Qu'est-ce que la fédération d'identité ?

Faire confiance à l'IdP d'une autre organisation pour authentifier ses utilisateurs

43

Qu'est-ce qu'une clé d'API ?

Un secret statique qui identifie une application appelante, sans représenter un utilisateur

44

Qu'est-ce que le RBAC ?

Role-Based Access Control : les permissions vont aux rôles, les utilisateurs reçoivent des rôles

45

Qu'est-ce qu'une passkey ?

Une paire de clés par site, stockée sur l'appareil : le site garde la publique, la privée signe un défi

46

Qu'est-ce que le TOTP ?

Un code à 6 chiffres calculé depuis un secret partagé et l'heure courante, renouvelé toutes les 30 secondes

47

Comment un resource server vérifie-t-il un access token opaque (non JWT) ?

En appelant l'endpoint d'introspection de l'authorization server

48

Que fait l'attribut SameSite sur un cookie ?

Il limite l'envoi du cookie dans les requêtes qui viennent d'un autre site : protection CSRF

49

Qu'est-ce que la rotation du refresh token ?

Chaque usage du refresh token en émet un nouveau et invalide l'ancien

50

Différence entre un 401 et un 403 ?

401 : pas (ou mal) authentifié. 403 : authentifié, mais pas autorisé

51

Pourquoi vérifier le claim iss d'un JWT ?

Pour n'accepter que les jetons des émetteurs attendus, même si la signature est valide

Prêt à t'y mettre ?