Authentification, autorisation et MFA
Définition
L'authentification prouve l'identité d'un utilisateur (qui êtes-vous ?), l'autorisation détermine ses droits (que pouvez-vous faire ?), et la traçabilité (accounting) enregistre ses actions (qu'avez-vous fait ?). Ces trois piliers forment le modèle AAA.
Les trois A de la sécurité
Authentification
- Facteurs :
- Quelque chose que vous savez : mot de passe, PIN, phrase secrète
- Quelque chose que vous avez : carte, badge, smartphone, clé FIDO2, OTP
- Quelque chose que vous êtes : empreinte, visage, iris, voix (biométrie)
- Quelque chose que vous faites : signature, frappe clavier (comportemental)
- Contexte : localisation, appareil, horaire (risque comportemental)
- MFA (Multi-Factor Authentication) : combiner au moins 2 facteurs de catégories différentes. 2FA = cas particulier (2 facteurs).
Autorisation
- RBAC (Role-Based Access Control) : droits attachés aux rôles, l'utilisateur a les rôles
- ABAC (Attribute-Based Access Control) : politiques sur attributs (département, niveau, heure, IP)
- PBAC / ReBAC : permissions par politique / relations (graphe)
- Moindre privilège : minimum de droits nécessaires, durée limitée (JIT - Just-In-Time)
- Séparation des tâches (SoD) : éviter qu'une personne contrôle un processus entier (fraude)
- Exemples : ACL, sudo, NTFS, IAM policies, Azure RBAC, GCP IAM roles
Traçabilité (Accounting / Audit)
- Journaux d'authentification : succès/échecs, source, horodatage
- Journaux d'accès : ressources consultées, actions, fichiers
- SIEM : agrégation, corrélation, alertes (événements 4624/4625 Windows, auth.log Linux)
- Rétention : conforme réglementation (RGPD, PCI DSS, SOX, ISO 27001)
Mots de passe : bonnes pratiques
- Longueur > complexité : 12-16+ caractères, phrases de passe (passphrases)
- Pas de réutilisation entre services (credential stuffing)
- Gestionnaire de mots de passe : KeePassXC, Bitwarden, 1Password, LastPass — génération, stockage chiffré
- Rotation : seulement si compromission suspectée (NIST SP 800-63B déconseille la rotation forcée périodique)
- Stockage côté serveur : hash salé lent (bcrypt, scrypt, Argon2), jamais en clair, jamais MD5/SHA1
- Verrouillage / throttling : après N échecs, augmentation du délai (évite brute force)
MFA : méthodes et risques
| Méthode | Force | Points d'attention |
|---|---|---|
| FIDO2 / WebAuthn (clé matérielle, Windows Hello, passkeys) | Très haute | Résiste phishing, pas de code volable |
| TOTP (Google Authenticator, Authy, FreeOTP) | Haute | Code 30s, secret dans l'app |
| Push (approbation) | Moyenne-haute | MFA fatigue / push bombing |
| SMS (OTP) | Faible-moyenne | SIM swap, interception SS7 |
| Email OTP | Faible | Compte email compromis = tout compromis |
| Questions de sécurité | Faible | Réponses souvent publiques ou devinables |
Kerberos et tickets (Windows / AD / Linux)
- KDC (Key Distribution Center) : AS (Authentication Service) + TGS (Ticket Granting Service)
- Flux :
- Client → AS : AS-REQ (identité)
- AS → Client : AS-REP (TGT - Ticket Granting Ticket, chiffré avec clé krbtgt)
- Client → TGS : TGS-REQ (TGT + SPN demandé)
- TGS → Client : TGS-REP (ticket de service ST, chiffré avec clé du service)
- Client → Service : AP-REQ (ST présenté)
- Clé krbtgt : si compromise → Golden Ticket (falsification totale)
- Kerberoasting : extraction hash RC4 du ST d'un SPN → crack offline
- Pass-the-ticket / Pass-the-hash : réutilisation ticket/hash sans mot de passe clair
Concepts clés modernes
- Zero Trust : "never trust, always verify" — chaque accès authentifié et autorisé, indépendamment du réseau
- Continuous Access Evaluation (CAE) : révocation d'accès en temps réel (changement de risque, appareil)
- PAM (Privileged Access Management) : coffre-fort de comptes admin, sessions enregistrées, rotation MDP (CyberArk, HashiCorp Vault, BeyondTrust)
- SSO (Single Sign-On) : une authentification → plusieurs applications (OIDC, SAML, Kerberos)
- Passkeys : remplacement du mot de passe par paire de clés liée au device (FIDO2, multi-appareil synchro)