DIAS
Présentation
DIAS est un système d'authentification utilisant Jabber. Il permet de s'assurer qu'un utilisateur possède bien l'adresse Jabber qu'il prétend posséder. DIAS se base sur un mécanisme de ticket. L'utilisateur voulant s'authentifier doit d'abord demander un ticket à un agent DIAS en utilisant Jabber. Une fois que l'utilisateur a récupéré un ticket, il peut le fournir au système sur lequel il souhaite s'authentifier. Ce système va ensuite vérifier que le ticket soit valable et trouver à quel identifiant Jabber il correspond. Cela peut se faire de plusieurs manières, par exemple en le demandant à l'agent. Il doit y avoir une relation de confiance entre le système final et l'agent.
Le client DIAS peut être un client dédié à ce travail, il existe par exemple un client en PHP qui ne sert qu'à interroger un agent DIAS.
Avantages
- Permet une authentification en n'utilisant qu'un identifiant Jabber, ni l'agent, ni le serveur n'ont besoin de connaitre le mot de passe de l'utilisateur.
- Contrairement à la XEP 0070, la demande d'authentification se fait à la demande du client et non à la demande du serveur, ce qui évite les risques d'usurpations d'identités
Implémentations existantes
auth.jabberfr.org
JabberFR héberge un agent DIAS, xmpp:auth.jabberfr.org. Il peut gérer l'authentification de plusieurs sites, chaque site étant un sous domaine de auth.jabberfr.org, par exemple xmpp:jabberfr@auth.jabberfr.org . La communication entre l'agent et le serveur se fait à l'aide d'une clé privée commune aux deux programmes. Le ticket délivré par l'agent est une chaine de caractères contenant l'heure d'expiration du ticket et l'adresse Jabber de la personne ayant demandé le ticket, cette chaine est chiffré avec la clé privée avant d'être envoyé au client. Le serveur peut déchiffrer le ticket avec la clé privée pour trouver l'adresse Jabber de la personne, et peut vérifier la validité en regardant l'heure d'expiration du ticket.
Cette implémentation permet de récupérer les tickets soit avec le protocole DIAS, soit en s'enregistrant auprès de l'agent. Il n'est donc pas nécessaire d'avoir un client compatible DIAS pour pouvoir l'utiliser.
Liens externes
- Spécification (en)
- L'anonce sur le blog de davux (fr)