Skip to main content

Skillber v1.0 is here!

Learn more

Authentification Unique (SSO)

Checking access...

L’authentification unique (SSO) permet aux utilisateurs de s’authentifier une seule fois et d’accéder à plusieurs applications sans ressaisir leurs identifiants. Le SSO améliore à la fois la sécurité (moins de mots de passe, moins de fatigue de connexion) et l’expérience utilisateur (un clic pour accéder aux applications).

Protocoles SSO

SAML 2.0 vs OIDC vs Kerberos

CaractéristiqueSAML 2.0OIDC (OpenID Connect)Kerberos
Année200520141980 (révisé en 2005)
FormatXML (assertion)JSON (JWT)Binaire (ticket)
TransportHTTP POST, Redirect, ArtifactHTTP GET/POSTUDP/TCP (ports 88, 464)
Cas d’usageSSO d’entreprise, fédération B2BSSO moderne, mobile, APISSO Windows natif, réseau
Gestion de sessionBasée sur cookie IdPBasée sur jeton (JWT)Basée sur ticket TGT
PropriétésLourd, complexe, matureLéger, moderne, simpleRapide, domaine uniquement
Déconnexion unique (SLO)Complexe (plusieurs profils)Simple (RP-initiated, session management)Basée sur renouvellement TGT
Support mobileLimitéNatifNon

Flux SSO SAML 2.0

Flux initié par le fournisseur de service (SP)

1. Utilisateur tente d'accéder à l'application (SP)
2. SP génère une AuthnRequest SAML
3. SP redirige le navigateur vers l'IdP avec AuthnRequest
4. IdP authentifie l'utilisateur (nom/mot de passe + MFA si requis)
5. IdP génère une assertion SAML (signée, optionnellement chiffrée)
6. IdP redirige le navigateur vers l'ACS (Assertion Consumer Service) du SP
7. SP valide l'assertion (signature, horodatage, audience)
8. SP crée une session locale et donne accès à l'utilisateur

Flux initié par le fournisseur d’identité (IdP)

1. L'utilisateur se connecte d'abord au portail IdP (Okta/Azure AD)
2. IdP affiche les applications disponibles
3. L'utilisateur clique sur une application
4. IdP génère une assertion SAML et la POSTe vers l'ACS du SP
5. SP valide l'assertion et crée une session
6. L'utilisateur accède à l'application

Flux SSO OIDC

1. Application (RP - Relying Party) redirige vers l'IdP (OP - OpenID Provider)
2. OP authentifie l'utilisateur
3. OP redirige vers le RP avec un code d'autorisation
4. RP échange le code contre un ID Token (JWT) et un Access Token
5. RP valide l'ID Token (signature, nonce, aud, exp)
6. RP extrait les claims utilisateur (sub, email, name) de l'ID Token
7. RP crée une session locale

Types de Jetons SSO

TypeContenuDurée de VieSécurité
Assertion SAMLIdentité, attributs, conditions d’authentification5-30 minutesSignée, optionnellement chiffrée, horodatage
ID Token (OIDC)Identité utilisateur (sub, email, name, etc.)1-60 minutesJWT signé, vérification de l’audience et du nonce
Access Token (OAuth)Permissions d’accès (scopes, audiences)15-60 minutesJWT opaque, validé par l’API ressource
Refresh Token (OAuth)Obtention de nouveaux access tokensHeures à joursUsage unique, stockage côté serveur
Session IdPSession utilisateur au niveau de l’IdPHeures à joursCookie HttpOnly, Secure, SameSite

Modèles de Déploiement SSO

IdP Cloud comme point central

Architecture la plus courante pour les organisations modernes :

┌──────────────────┐
│ IdP Cloud │
│ (Okta/Azure AD) │
└────┬──────┬──────┘
│ │
┌──────────┘ └──────────┐
│ │
┌────┴────┐ ┌────┴────┐
│ Apps │ │ Apps │
│ Cloud │ │ Sur │
│ SaaS │ │ Site │
└─────────┘ └─────────┘
AvantageInconvénient
Gestion centralisée des politiques SSODépendance à la disponibilité du cloud IdP
Provisionnement SCIM intégréLatence réseau pour l’authentification
Catalogue d’applications pré-intégréCoût par utilisateur
MFA et conditional access intégrésDéfis de conformité pour données résidentes

SSO pour applications Legacy

Les applications legacy sans support SAML/OIDC nécessitent des adaptateurs :

ApprocheMécanismeComplexité
Proxy d’authentificationPingAccess, Azure AD App Proxy, Apache mod_auth_oidcFaible-Moyenne
En-tête HTTP (Header)IdP écrit l’identité dans un en-tête HTTP après authentificationFaible (mais moins sécurisé)
Plugin / AgentPlugin installé sur le serveur d’applications (IIS, Tomcat)Moyenne
Adaptateur LDAPLe proxy SSO s’authentifie via LDAP et injecte l’identitéMoyenne
Réécriture (Kerberos)Pont entre Kerberos et SAML/OIDC via ADFS ou equivalentÉlevée

Risques de Sécurité SSO

RisqueDescriptionMitigation
Défaillance unique (SPOF)Si l’IdP tombe, TOUTES les applications SSO sont indisponiblesIdP HA avec basculement multi-région
Vol de session IdPVol de cookie de session IdP = accès à toutes les appsLiaison de session (IP, empreinte), durée de session limitée
Déconnexion unique incomplèteL’utilisateur se déconnecte d’une app mais pas des autresImplémentation SLO complète, session management OIDC
Confusion SP-IdPConfiguration incorrecte du SP acceptant des assertions non signéesValider TOUJOURS la signature, ne jamais accepter d’assertions non signées
Attaque de rejeuRéutilisation d’une assertion SAML capturéeAssertion with NotBefore/NotOnOrAfter, OneTimeUse
Provisionnement non synchroniséUtilisateur supprimé dans l’annuaire mais session SSO toujours activeRéduction de la durée de session, vérification périodique de l’appartenance aux groupes

Points Clés à Retenir

  • Les trois protocoles SSO principaux sont SAML 2.0 (XML, entreprise, fédération B2B), OIDC (JSON/JWT, moderne, mobile, API) et Kerberos (binaire, Windows natif, réseau) — le choix dépend du type d’applications et de l’infrastructure existante
  • Les flux SSO SAML 2.0 incluent le flux initié par le SP (l’utilisateur accède d’abord à l’application) et le flux initié par l’IdP (l’utilisateur part du portail IdP) — le flux initié par le SP est le plus courant
  • OIDC est le protocole SSO moderne recommandé pour les nouvelles applications — plus simple que SAML, meilleur support mobile et API, et compatible avec les architectures microservices
  • Les applications legacy sans support SAML/OIDC nécessitent des proxies d’authentification (PingAccess, Azure AD App Proxy) ou des agents/plugins pour intégrer le SSO
  • Le SSO concentre le risque : la compromission de la session IdP donne accès à toutes les applications — la liaison de session, les durées de session courtes et la MFA renforcée sont des mitigations essentielles
  • La déconnexion unique (SLO) est notoirement difficile à implémenter correctement — testez rigoureusement tous les scénarios de déconnexion, en particulier dans les architectures SAML complexes avec de multiples SP