Tequila logout, quitte ou double ? - Flash informatique

Transcription

Tequila logout, quitte ou double ? - Flash informatique
À votre service
Tequila logout,
quitte ou double ?
Claude.Lecommandeur@epfl.ch, EPFL - Domaine IT, père de Tequila
The Tequila authentication tool allows use of a single sign-on. Its behaviour, particularly at logout
time, might surprise you. After reading this article,
it is you who will surprise your colleagues with your
knowledge.
L’outil d’authentification Tequila implémente le
single sign-on. Son comportement, en particulier
lors de la déconnexion (logout) est parfois surprenant. Après avoir lu cet article, c’est vous qui surprendrez vos collègues par votre savoir.
Il arrive que des utilisateurs d’applications sécurisées par Tequila
soient surpris de se retrouver authentifiés dans cette application
alors qu’ils viennent juste de s’en déconnecter.
Que se passe-t-il ? Y aurait-il un bug, une erreur, un virus, voire
une carabistouille quelconque qui se serait glissé dans le système
d’authentification de l’EPFL pourtant reconnu dans le monde entier et dont le président Obama me disait encore hier toute l’admiration qu’il y porte ? Eh bien non, ce comportement est normal,
conséquence directe et terrifiante à la fois du single sign-on.
Que se passe-t-il quand une personne (peut-être toi cher lecteur)
s’authentifie via Tequila ? Deux cas se présentent:
z Vous êtes déjà authentifié auprès de l’application: celle-ci
s’en aperçoit, car votre navigateur lui a envoyé un cookie
qu’elle a reconnu comme un identificateur de session valide,
c’est-à-dire correct et pas trop vieux. Il ne se passe donc rien,
vous avez le droit de faire toutes les bêtises auxquelles votre
authentification vous donne droit.
z Vous n’êtes pas authentifié auprès de l’application: soit vous
n’avez pas présenté de cookie, soit il n’est pas ou plus valide. L’application, qui est correctement écrite délègue votre
authentification auprès du serveur Tequila. Deux sous-cas:
w C’est la première fois de la journée que Tequila vous voit:
il vous présente alors le formulaire de login usuel dans
lequel vous devez entrer votre username et votre mot de
passe. Puis, si tout s’est bien passé, il vous redirige vers
l’application initiale avec sa bénédiction. Mais il fait autre
chose: il dépose un cookie dans votre navigateur qui vous
identifiera la prochaine fois que vous viendrez. C’est le
sous-cas suivant.
w Vous avez déjà effectué une authentification correcte
dans la journée: Tequila s’en aperçoit car vous lui avez
présenté le cookie magique du point précédent. Dans ce
cas, point n’est besoin de vous assommer avec le formulaire de login, vous êtes authentifié automatiquement. Et
donc, tout aussi automatiquement, vous êtes redirigé vers
l’application initiale.
16
Flash informatique – 24 mai 2011 - N° 5 Dans ces deux sous-cas, vous revenez triomphalement vers votre
application, celle-ci dépose elle aussi un cookie dans votre navigateur qui lui permettra ensuite de vous reconnaître,vous tomberez
(sans vous faire mal) dans le premier cas.
L’idée derrière tout ça est de vous demander votre username et votre mot de passe un nombre minimum de fois. Une
authentification auprès d’une application, vous authentifie du
même coup pour toutes les autres. C’est ce qu’on appelle généralement le single sign-on.
Pour revenir à la question initiale, vous êtes dans le premier cas,
c’est-à-dire que vous êtes authentifié auprès d’une application,
vous cliquez innocemment sur le bouton Logout ou Déconnexion. L’application va détruire votre session, c’est-à-dire la
petite boite qui contient votre identité, ainsi que le cookie correspondant. Mais elle ne va pas détruire le cookie posé par le serveur
Tequila. Elle pourrait le faire, mais ce ne serait pas une bonne idée,
car elle prendrait alors une décision qui ne la concerne pas: vous
déconnecter globalement sort de ses compétences.
Donc, vous avez détruit votre session et vous retournez auprès de
la même application. Quelle mouche vous a donc piqué de faire
ça ?… je passe, en tout cas vous l’avez bel et bien fait. Vous tombez alors dans le second cas et même très probablement dans le
second sous-cas: à l’insu de votre plein gré, vous avez donné au
serveur Tequila le cookie magique que tout le monde nous envie
tant. Votre authentification est donc automatique et vous vous
retrouvez connecté à l’application dont vous venez juste de vous
déconnecter. D’où la surprise.
Vous allez me dire: mais à quoi sert donc ce bouton Logout dans
les applications ? Dans un environnement single sign-on comme
le nôtre, absolument à rien.
Vous poursuivez donc par: mais si je suis sur un ordinateur public
que quelqu’un d’autre va utiliser, je dois bien me délogger, comment faire ? Une seule solution, sortir du navigateur.
Ainsi, toutes vos sessions ouvertes, aussi bien celles de Tequila
que celles de toutes les applications que vous avez visitées seront
détruites irrémédiablement, pour le meilleur comme pour le pire.
Les plus hardis me diront alors, c’est bien beau tout ça, mais si je
veux me déconnecter du serveur Tequila sans sortir du navigateur,
je fais quoi ? Il suffit de visiter l’URL: tequila.epfl.ch/logout mais
attention, vous serez déconnecté du serveur Tequila, mais pas
des applications actives.
Autre cas épineux, vous passez chez un collègue et vous voulez
vous connecter à Tequila dans son navigateur. Bien sûr, il refuse
catégoriquement d’en sortir. Si le navigateur est correct (Firefox,
Chrome, IE9…) vous avez la possibilité d’ouvrir une fenêtre privée:
Firefox -> tools -> start private browsing, Chrome -> New
Incognito Window, …) qui ne partage pas les cookies avec les
autres fenêtres. Quand vous le quitterez, la déconnexion automatique se fera. n
ISSN 1420-7192

Documents pareils