http://www.esup-portail.org
Le mécanisme de Single Sign-On CAS
(Central Authentication Service)
ESUP Portail – groupe SSO - Pascal Aubry
• Généralités
• Fonctionnement de base– Tickets utilisés– URLs utilisées– Premier accès à une application– Accès suivants à la même application– Accès à une autre application
• Fonctionnement multi-tiers– Tickets utilisés– Premier accès à un mandataire– Accès suivants à un mandataire– Avec session entre mandataire et service
Plan
Table des matièresAccueilLe mécanisme SSO CAS – groupe SSO
Généralités
• Sous forme de servlets java• Ne traite que l’authentification
(mais extensions à priori aisées)• S’intègre dans uportal sans développement• Utilisé par différentes universités américaines• Fonctionnalité de proxy très intéressante• Nombreuses bibliothèques clientes
– perl, java, pl-sql, PHP, …
• Modules apache et pamTable des matièresAccueilLe mécanisme SSO CAS – groupe SSO
Fonctionnement de base
• Similaire aux autres mécanismes de SSO, mais– Utilisation de tickets opaques
– Sécurité accrue
• Pas de fonctionnement multi-tier– Nécessite un « contact » direct entre l’application ayant besoin
d’authentification et le navigateur web
Table des matièresAccueilLe mécanisme SSO CAS – groupe SSO
Tickets utilisés
• TGC : Ticket Granting Ticket (Cookie)– Valable pour un utilisateur
– Cookie de session privé et protégé (https)du serveur CAS vers le navigateur
– Permet d’obtenir les ST
– Évite les ré-authentifications (rejouable)
• ST : Service Ticket– Valable pour un service et un utilisateur
– Authentifie une personne, pour une application (une URL)
– À usage unique (non rejouable)Table des matièresAccueilLe mécanisme SSO CAS – groupe SSO
Table des matièresAccueilLe mécanisme SSO CAS – groupe SSO
URLs utilisées
• /Login : connexion, HTTPS– En cas de succès, positionnement du TGC– Permet d’éviter une ré authentification
• /Logout : déconnexion, HTTP(S)– Suppression du TGC– Suppression des références de l’utilisateur
au niveau du serveur CAS
• /Validate (ou /serviceValidate), HTTP(S)– Passage du ST pour validation– Retour de l’identifiant de l’utilisateur– Invalidation du ST
navigateursweb
applications
Premier accèsà une application
serveur CAS
client web
application 1base
d’authentification
premier accès
(sans S
T ni sessio
n applicative)formulaire
d’authentification
ID appli 1
redirection (GET)
ID appli 1
ID appli 1
pas de TGC
Sans TGC, l’utilisateur doit s’authentifier auprès du serveur CAS
Table des matièresAccueilLe mécanisme SSO CAS – groupe SSO
Premier accèsà une application
serveur CAS
client web
application 1base
d’authentification
authentification
redirection(GET)
ST
TGCaccès avec ST
ST
demande de validationST
TGC
demanded’authentification
(HTTPS)
ID appli 1
user
password
Le ST doit être validé par le serveur CAS
ST
TGC
identification
Le TGC (rejouable) est stocké par le navigateur
Table des matièresAccueilLe mécanisme SSO CAS – groupe SSO
Premier accèsà une application
serveur CAS
client web
application 1base
d’authentification
authentification
redirection(GET)
ST
TGCaccès avec ST
ST
demande de validationST
TGC
identificationcréation d’une session
applicative
ID session 1
page web
ID session 1demande
d’authentification(HTTPS)
ID appli 1
user
password
ID session 1identification
L’identificateur de session est stocké sur le navigateur
TGC
identification
Le ST (non rejouable) est supprimé
Table des matièresAccueilLe mécanisme SSO CAS – groupe SSO
Accès suivantsà la même application
serveur CAS
client web
application 1base
d’authentification
TGC
ID session 1
ID session 1identification
page webaccès avec sessio
n applicative
ID session 1
Les applications gèrent ensuite leurs propres sessions
TGC
identification
Table des matièresAccueilLe mécanisme SSO CAS – groupe SSO
Accès à uneautre application
serveur CAS
client web application 2
based’authentification
premier accès(sans ST ni session applicative)
redirection (GET)ID appli 2
TGC
ID session 1
ID appli 2
accès avec TGC
TGC
TGC
identification
ST
Le TGC est connu, un nouveau ST est généré
Table des matièresAccueilLe mécanisme SSO CAS – groupe SSO
Accès à uneautre application
serveur CAS
client web application 2
based’authentification
premier accès(sans ST ni session applicative)
redirection (GET)ID appli 2
TGC
ID session 1
ID appli 2
accès avec TGC
TGC
redirection (GET)
ST
accès avec STST
demande de validationST
TGC
identification
ST
Le ST doit être validé par le serveur CAS
Table des matièresAccueilLe mécanisme SSO CAS – groupe SSO
Accès à uneautre application
serveur CAS
client web application 2
based’authentification
premier accès(sans ST ni session applicative)
redirection (GET)ID appli 2
TGC
ID session 1
ID appli 2
accès avec TGC
TGC
redirection (GET)
ST
accès avec STST
demande de validationST
identification
page webID session 2
création d’une session applicative
ID session 2identification
ID session 2
TGC
identification
Le ST (non rejouable) est supprimé
Le TGC permet ensuite l’accès à d’autres applications sansré-authentificationToutes les redirections sont transparentes pour l’utilisateur
Table des matièresAccueilLe mécanisme SSO CAS – groupe SSO
Le fonctionnement multi-tiers
• Possibilité pour une application (mandataire) d’interroger une autre application (service)
• Aucun lien n’est nécessaire entre le navigateur et l’application tiers
• Possibilité de chaîner les mandataires
Table des matièresAccueilLe mécanisme SSO CAS – groupe SSO
Tickets utilisés
• TGC : Ticket Granting Ticket
• ST : Service Ticket
• PGT : Proxy Granting Ticket– Valable pour un utilisateur
– Envoyé par le serveur CAS à une appli proxy CAS
– Permet d’obtenir les PT
– Évite les ré-authentifications des applications (rejouable)
• PT : Proxy Ticket– Valable pour un service et un utilisateur
– Équivalent du ST pour les mandataires
– Utilisé pour les services n’ayant pas de lien avec le navigateur
Table des matièresAccueilLe mécanisme SSO CAS – groupe SSO
Premier accèsà un mandataire
serveur CAS
client web application 1(mandataire)
based’authentification
premier accès(sans ST ni session applicative)
redirection (GET)ID mand.
TGC
ID mand.
accès avec TGC
TGCredirection (GET)
ST
accès avec STST
application 2(service)
demande de validation
ST
TGC
identification
ST
Table des matièresAccueilLe mécanisme SSO CAS – groupe SSO
Premier accèsà un mandataire
serveur CAS
client web application 1(mandataire)
based’authentification
premier accès(sans ST ni session applicative)
redirection (GET)ID mand.
TGC
ID mand.
accès avec TGC
TGCredirection (GET)
ST
accès avec STST
application 2(service)
demande de validation
ST
identificationPGT id
PGT id
PGT
Le PGT est envoyé à travers un canal chiffré séparé pour assurer l’identité du mandataire
TGC
identification
PGT
Table des matièresAccueilLe mécanisme SSO CAS – groupe SSO
Premier accèsà un mandataire
serveur CAS
client web application 1(mandataire)
based’authentification
premier accès(sans ST ni session applicative)
redirection (GET)ID mand.
TGC
ID mand.
accès avec TGC
TGCredirection (GET)
ST
accès avec STST
application 2(service)
demande de validation
ST
TGC
identification
PGT
identification
PGT
PGT
Le PGT est stocké sur le mandataireIl permet d’obtenir un PT
demande de PT PGTID appli 2
Table des matièresAccueilLe mécanisme SSO CAS – groupe SSO
Premier accèsà un mandataire
serveur CAS
client web application 1(mandataire)
based’authentification
premier accès(sans ST ni session applicative)
redirection (GET)ID mand.
TGC
ID mand.
accès avec TGC
TGCredirection (GET)
ST
accès avec STST
application 2(service)
demande de validation
ST
TGC
identification
PGT
identification
PGT
PGT
demande de PT PGTID appli 2
Accèsavec PT
PT
PT
PT
Le PT doit être validé par le serveur CAS
Table des matièresAccueilLe mécanisme SSO CAS – groupe SSO
Premier accèsà un mandataire
serveur CAS
client web application 1(mandataire)
based’authentification
premier accès(sans ST ni session applicative)
redirection (GET)ID mand.
TGC
ID mand.
accès avec TGC
TGCredirection (GET)
ST
accès avec STST
application 2(service)
demande de validation
ST
TGC
identification
PGT
identification
PGT
PGT
demande de PT PGTID appli 2
Accèsavec PT
PT
PT
PT
demande de validationPT
Table des matièresAccueilLe mécanisme SSO CAS – groupe SSO
Premier accèsà un mandataire
serveur CAS
client web application 1(mandataire)
based’authentification
premier accès(sans ST ni session applicative)
redirection (GET)ID mand.
TGC
ID mand.
accès avec TGC
TGCredirection (GET)
ST
accès avec STST
application 2(service)
demande de validation
ST
TGC
identification
PGT
identification
PGT
PGT
demande de PT PGTID appli 2
Accèsavec PT
PT
PT
demande de validationPT
identification
ID sessionidentification
création d’une session applicativepage web
ID session
ID session
Toutes les redirections sont transparentes pour l’utilisateur
Table des matièresAccueilLe mécanisme SSO CAS – groupe SSO
application 2(service)
Accès suivantsà un mandataire
serveur CAS
client web application 1(mandataire)
based’authentification
TGC
ID session
identification
ID session 1
ID sessionidentification
page web
PT
Accèsavec PT
PT
demande de validationPT
demande de PT
PGT
ID appli 2
PGT
TGC
identification
PGT
Table des matièresAccueilLe mécanisme SSO CAS – groupe SSO
application 2(service)
Avec session entre mandataire et service
serveur CAS
client web application 1(mandataire)
based’authentification
TGC
ID session 1
ID session 1
ID session 1identification
page web
ID session 2identification
accès avecsession applicative
ID session 2
ID session 2
PGT
Les mandataire gèrent ensuite leurs propres sessions avec les services
TGC
identification
PGT
Table des matièresAccueilLe mécanisme SSO CAS – groupe SSO