FLASH INFORMATIQUE FI



Tequila logout, quitte ou double ?


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.



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.


Claude LECOMMANDEUR


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 :

  • 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.
  • 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 :
    • 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.
    • 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.

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 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.



Cherchez ...

- dans tous les Flash informatique
(entre 1986 et 2001: seulement sur les titres et auteurs)
- par mot-clé

Avertissement

Cette page est un article d'une publication de l'EPFL.
Le contenu et certains liens ne sont peut-être plus d'actualité.

Responsabilité

Les articles n'engagent que leurs auteurs, sauf ceux qui concernent de façon évidente des prestations officielles (sous la responsabilité du DIT ou d'autres entités). Toute reproduction, même partielle, n'est autorisée qu'avec l'accord de la rédaction et des auteurs.


Archives sur clé USB

Le Flash informatique ne paraîtra plus. Le dernier numéro est daté de décembre 2013.

Taguage des articles

Depuis 2010, pour aider le lecteur, les articles sont taggués:
  •   tout public
    que vous soyiez utilisateur occasionnel du PC familial, ou bien simplement propriétaire d'un iPhone, lisez l'article marqué tout public, vous y apprendrez plein de choses qui vous permettront de mieux appréhender ces technologies qui envahissent votre quotidien
  •   public averti
    l'article parle de concepts techniques, mais à la portée de toute personne intéressée par les dessous des nouvelles technologies
  •   expert
    le sujet abordé n'intéresse que peu de lecteurs, mais ceux-là seront ravis d'approfondir un thème, d'en savoir plus sur un nouveau langage.