21
Propositions de mécanisme de SSO dans un environnement d’applications web Université Nancy 2 - CR

Propositions de mécanisme de SSO dans un environnement dapplications web Université Nancy 2 - CRI

Embed Size (px)

Citation preview

Page 1: Propositions de mécanisme de SSO dans un environnement dapplications web Université Nancy 2 - CRI

Propositions de mécanisme de SSO dans un environnement

d’applications web

Université Nancy 2 - CRI

Page 2: Propositions de mécanisme de SSO dans un environnement dapplications web Université Nancy 2 - CRI

04/12/2002 - Proposition d'un mécanisme de SSO

2

Préalable

• Pas une solution, mais une réflexion

• Simpliste, démarche générale

• Pas mis en oeuvre

• Inspiré de mécanismes existants

Page 3: Propositions de mécanisme de SSO dans un environnement dapplications web Université Nancy 2 - CRI

04/12/2002 - Proposition d'un mécanisme de SSO

3

Plan

• Etat des lieux– Existant– Besoins

• Pré-requis

• Propositions (3 scénarios)

• Extensions souhaitables

• Démo

Page 4: Propositions de mécanisme de SSO dans un environnement dapplications web Université Nancy 2 - CRI

04/12/2002 - Proposition d'un mécanisme de SSO

4

Etat des lieux

Situation actuelle• Existant :

– Un compte unique pour un utilisateur– Ré-authentifications successives

• Limites– Sécurité du mot de passe -> https?– Traçabilité– Evolutions difficiles (certificats de personnes, …)

Page 5: Propositions de mécanisme de SSO dans un environnement dapplications web Université Nancy 2 - CRI

04/12/2002 - Proposition d'un mécanisme de SSO

5

Etat des lieux

Besoins

• Eviter les ré-authentifications

• Indépendance des applis par rapport aux mécanismes d’authentification

• Délégation d’authentification

Page 6: Propositions de mécanisme de SSO dans un environnement dapplications web Université Nancy 2 - CRI

04/12/2002 - Proposition d'un mécanisme de SSO

6

Contraintes

• Compatibilité avec navigateurs standards

• Sécurisation des échanges de mot de passe

• Indépendance pas rapport aux mécanismes internes d’authentification

• Extension à un mécanisme inter-établissement

Page 7: Propositions de mécanisme de SSO dans un environnement dapplications web Université Nancy 2 - CRI

04/12/2002 - Proposition d'un mécanisme de SSO

7

Propositions

• Points communs aux 3 scénarios proposés

• Scénario 1 : communication directe appli – serveur d’authentification

• Scénario 2 : le navigateur web sert de transport à la communication

• Scénario 3 : amélioration du scénario 2

• Passage du mot de passe aux applications

Page 8: Propositions de mécanisme de SSO dans un environnement dapplications web Université Nancy 2 - CRI

04/12/2002 - Proposition d'un mécanisme de SSO

8

Points communs aux propositions

• Un serveur Web dédié à l’authentification : SAW (Service d’Authentification Web)

• Un ticket d’authentification : JAA (Jeton d’Authentification Applicatif)

• Une session SAW portée par le JAG (Jeton d’Authentification Global)

• Le JAG est porté par un cookie• Sessions applicatives

Page 9: Propositions de mécanisme de SSO dans un environnement dapplications web Université Nancy 2 - CRI

04/12/2002 - Proposition d'un mécanisme de SSO

9

SAW : Service d’Authentif. Web

• Un serveur web dédié, accessible en https

• Lui seul fait appel au(x) mécanisme(s) d’authentification de l’Université (proxy)

• Génère le JAA pour les applis

• Gère des sessions pour éviter ré-authentifications

• Dispose d’un couple clé privée/clé publique

Page 10: Propositions de mécanisme de SSO dans un environnement dapplications web Université Nancy 2 - CRI

04/12/2002 - Proposition d'un mécanisme de SSO

10

JAA (Jeton d’Authent. Applis)

• Authentifie une personne• Spécifique à une appli, et limité en temps

(quelques secondes)

• Contient différentes informations :l’uid, l’ID d’appli, un timestamp (validité du JAA), l’IP du client, le type d’authentif, la base utilisée, ..

• Le JAA est signé avec la clé privée du SAW

Page 11: Propositions de mécanisme de SSO dans un environnement dapplications web Université Nancy 2 - CRI

04/12/2002 - Proposition d'un mécanisme de SSO

11

JAG : ID de session SAW

• SAW doit gérer une session (mémoriser infos sur users préalablement authentifiés)

• Infos à conserver : l’uid, l’IP du client, un timestamp (validité de la session SAW), le type d’authentif, l’ID d’appli, la base utilisée, ..

• Durée de session et reconduction

• Id de session SAW (JAG) porté par cookie

Page 12: Propositions de mécanisme de SSO dans un environnement dapplications web Université Nancy 2 - CRI

04/12/2002 - Proposition d'un mécanisme de SSO

12

Problèmes à résoudre

• Communication applis – SAW

• Protection du mot de passe

• Comment transporter le JAG

• Sécurité, et vol possible du JAA ou JAG

Page 13: Propositions de mécanisme de SSO dans un environnement dapplications web Université Nancy 2 - CRI

04/12/2002 - Proposition d'un mécanisme de SSO

13

Scénario 1

• Communication directe appli – SAW

• Utilisation de ‘services web’?

• Le client Web n’a pas de communication directe avec le SAW

• JAG signé avec clé privée du SAW

Page 14: Propositions de mécanisme de SSO dans un environnement dapplications web Université Nancy 2 - CRI

14

04/12/2002 - Proposition d'un mécanisme de SSO

Scénario 1: dialogue appli - SAW

NavigateurWeb

Premier accèsPas de JAG

Appli 1

Serviced’Authentification

Web

Appli 2

Based’authentification

Saisie Login / mot de passe

EnvoiLogin / mot de passe

authentification

Jeton d’Authentif. D’Appli (JAA)retourné en service web

Page Web en retourEt JAG en cookie

Accès vers autre appliJAG présent

Contrôle JAG

Page Web en retour

Intérêts :

Authentification externalisée

Pas de rebonds du client Web

SAW ne communique qu’avec des applis et non des clients Web

Inconvénients :

Piratage du JAG

Cookie nécessaire

Login/password géré par les applis

Password pas nécessairement protégé en https

Jeton d’Authentif. D’Appli (JAA)et Jeton Global (JAG) passés en service web

Page 15: Propositions de mécanisme de SSO dans un environnement dapplications web Université Nancy 2 - CRI

04/12/2002 - Proposition d'un mécanisme de SSO

15

Impossibilité du scénario 1

• JAG peut être volé très facilement

• Saisie login/mot de passe à charge de l’appli

Page 16: Propositions de mécanisme de SSO dans un environnement dapplications web Université Nancy 2 - CRI

04/12/2002 - Proposition d'un mécanisme de SSO

16

Scénario 2 : redirections http

• Pas de communication directe appli – SAW

• Rebonds http (GET - POST ?)

• Interactions avec le client Web et SAW

• JAG est un cookie privé de SAW en https

Page 17: Propositions de mécanisme de SSO dans un environnement dapplications web Université Nancy 2 - CRI

17

04/12/2002 - Proposition d'un mécanisme de SSO

Scénario 2 : redirections http

NavigateurWeb

Appli 1

Serviced’Authentification

Web

Appli 2

Based’authentification

Intérêts :

Authentification externalisée

Simple

Password protégé en https

Login/password non géré par appli

Protection du JAG

Inconvénients :

Multiples redirections

Cookies / javascript nécessaire

Premier accès :Pas de session interne

Redirection Post ou GETPassage de paramètres

Pas de JAG

SaisieLogin/mot de passe

authentification

Jeton d’Authentif. D’appli (JAA)Passé en champ de formulaire

Jeton D’Authentif Global (JAG)Passé en cookie privé

Redirection vers l’appliAvec le JAA

Page webEn retour

Accès vers autre appli

Redirection Post ou GetPassage de paramètres

JAG présent

Jeton d’Authentif. D’appli (JAA)Passé en formulaire

Redirection vers l’appliAvec le JAA

Page webEn retour

Page 18: Propositions de mécanisme de SSO dans un environnement dapplications web Université Nancy 2 - CRI

04/12/2002 - Proposition d'un mécanisme de SSO

18

Scénario 3 : JAA non renouvelable

• Proche du scénario 2

• JAA non rejouable

• Communication directe Appli -> SAW après réception du JAA

• Permet la récupération d’infos annexes

• Apporte de la sécurité

Page 19: Propositions de mécanisme de SSO dans un environnement dapplications web Université Nancy 2 - CRI

19

04/12/2002 - Proposition d'un mécanisme de SSO

Scénario 3 : JAA non renouvelable

NavigateurWeb

Appli 1

Service Webd’Authentification

Appli 2

Based’authentification

Page Web en retourAccès vers autre appli

Redirection Post ou GetPassage de paramètres

JAG présent

Passage du JAA

Redirection vers l’appliAvec le JAA

Demande de paramètres et de validation du JAA

(SAML?)

JAA validéEt paramètres transmis

(SAML?)

Intérêts :

Mêmes que précédemment

JAA ne porte pas d’info

Meilleure sécurité

Protocole de transport d’infos

Inconvénients :

Plus complexe

Page 20: Propositions de mécanisme de SSO dans un environnement dapplications web Université Nancy 2 - CRI

04/12/2002 - Proposition d'un mécanisme de SSO

20

Extensions possibles

• A-t-on besoin du mot de passe?

• Traiter l’Autorisation (droits des applis)– Quelles infos nécessaires pour l’Autorisation ?– Autres infos utiles aux applis

• Restrictions d’accès par le serveur http

• Aspects inter-établissement– Groupe de travail à venir

Page 21: Propositions de mécanisme de SSO dans un environnement dapplications web Université Nancy 2 - CRI

04/12/2002 - Proposition d'un mécanisme de SSO

21

Conclusion

• Demo : http://cridev.univ-nancy2.fr:7999/PORTAIL/

• Voir les implémentations existantes

• Faire quelque chose de souple, évolutif

• Proposer un mécanisme général et des modules clients