S'abonner :  Newsletters    Magazines
[ SÉCURITÉ ]
Kerberos : le chien de garde à trois têtes
Avec Kerberos V5, le MIT fournit en open source un élément clé permettant de garantir la sécurité de systèmes d'information distribués. Conçu dans un esprit de simplicité, il reprend la syntaxe de commandes Unix traditionnelles.

Laurent Maury , Décision Micro (n° 488), le 03/12/2001 à 00h00

Kerberos V5 est un système d'authentification développé par l'université de Berkeley sous le contrôle du MIT (Massachusetts Institute of Technology). Le nom de ce système provient de la figure mythologique grecque du chien de garde à trois têtes qui garde l'entrée des enfers. Kerberos V5 gère les authentifications et le chiffrement des communications entre deux points quelconques reliés par un réseau IP. Il fournit ainsi un composant essentiel dans la sécurité globale du système d'information, y compris au sein même de l'entreprise, c'est-à-dire une fois passé un éventuel coupe-feu. Une récente étude révèle, à ce propos, que près de 50 % des intrusions et des violations sont opérées depuis le coeur même des entreprises.

Disponible en versions commerciales

Kerberos est disponible en open source (téléchargeable depuis le site Internet du MIT). Cependant, certains éditeurs, dont Microsoft, proposent des versions commerciales (et donc payantes) de ce système. Ces logiciels respectent de manière générale les principes de fonctionnement du code source original qui est maintenu par le MIT. Kerberos a été conçu dans un esprit de simplicité. Lorsqu'il n'est pas incorporé dans un logiciel commercial, la plupart de ses commandes reprennent la syntaxe des commandes traditionnelles d'Unix.

Avec Kerberos, un client (un utilisateur ou un service quelconque, par exemple) commence une session en émettant une demande de ticket au sous-système KDC (centre de distribution de clés) par le biais du programme kinit. Après vérification de son identité, et en particulier de la validité de son mot de passe, le KDC produit un ticket spécial, le TGT (Ticket-Granting Ticket), à l'attention du client du système Kerberos. Il encode alors ce ticket générique à l'aide du mot de passe fourni par le client lui-même (lors de sa demande de ticket transmise au KDC). Le client peut ainsi décoder le TGT à l'aide de ce même mot de passe. Une fois correctement décodé, le client conserve le TGT qui garantit son identité vis-à-vis de Kerberos.

Le TGT, qui expire à une date et à une heure déterminées, permet au client d'obtenir d'autres tickets associés à des permissions spéciales d'accès à d'autres services (TGS pour Ticket-Granting Service). Une fois le TGT obtenu, la manipulation des tickets additionnels est totalement transparente pour l'utilisateur du système Kerberos. Par défaut, la durée de validité de ce TGT est fixée à 10 heures. Naturellement, cette durée peut être limitée ou étendue selon les besoins. Mais, une fois obtenu, le TGT reste valable pendant toute la durée de la session et aucun autre mot de passe ne sera demandé.

C'est pourquoi, il convient de protéger l'accès à chaque poste de travail afin d'éviter qu'un intrus puisse usurper l'identité d'une personne détenant un TGT encore valide. Deux options sont alors possibles. Soit l'utilisateur se déconnecte et efface explicitement ses tickets (grâce, par exemple, à la commande kdestroy) lorsqu'il quitte son poste de travail, soit il utilise un écran de veille qui est lui-même protégé par un mot de passe. Les tickets d'authentification délivrés par Kerberos sont associés à des composants spécifiques du système d'information.

Accéder à un poste distant

Ces composants, appelés Principal, sont identifiés par un nom unique composé de trois parties. La structure primaire correspond au nom d'utilisateur (username) ou à l'identité du poste de travail (host) lorsque le Principal désigne l'ordinateur. La deuxième partie du nom, l'instance, est une chaîne de caractères optionnelle qui qualifie la structure primaire. L'instance permet, par exemple, de définir le rôle que l'utilisateur envisage de tenir au cours de sa session (administration, visiteur, etc.). Sinon, cette zone contient le nom de l'ordinateur concerné. Enfin, la troisième partie, l'extension, permet de spécifier un nom de domaine. Naturellement, une même personne peut librement solliciter Kerberos afin d'obtenir plusieurs TGT associés à plusieurs noms de domaine. Lors de sa connexion au système, l'utilisateur demande au KDC de produire un TGT capable de générer des tickets additionnels (TGS). Cette option lui permet de rendre ces tickets transmissibles à d'autres ordinateurs (avec le même nom de domaine). Dès lors, sous réserve de disposer des droits d'accès nécessaires, ceux-ci pourront être connectés à des ordinateurs distants (par exemple, en utilisant la fonction rlogin ou Telnet). Kerberos présentera alors ce TGT au système distant puis demandera au KDC distant de produire un ticket additionnel spécifique. Cette opération sera mise en oeuvre de manière totalement transparente pour l'utilisateur qui ne saisira son mot de passe Kerberos qu'une seule fois. À tout instant, il pourra obtenir la liste de ses tickets en cours de validité grâce à la commande klist. Pour finir, même s'il est fiable, Kerberos possède néanmoins quelques faiblesses. Ainsi, un pirate peut utiliser d'anciens authentifiants et réutiliser les tickets, soit durant leur période de validité, soit en modifiant les horloges des ordinateurs en jeu. Autre attaque possible, un hacker peut remplacer tous les logiciels clients par une version qui réalise les protocoles Kerberos et enregistre les mots de passe.

Glossaire

TGT - Ticket-Granting Ticket :

clé générique permettant au système Kerberos d'identifier un utilisateur ou un service. Le TGT sert à produire des tickets additionnels spécifiques à chaque service ou ordinateur distant auxquels on souhaite accéder de manière sécurisée.

KDC - Key Distribution Center :

sous-système de Kerberos gérant la production des tickets (TGT et tickets additionnels).

Principal :

chaîne de caractères qui désigne une entité du système à laquelle des droits d'accès sont associés (un ordinateur ou un utilisateur, par exemple).


Qu'est-ce qu'un ticket Kerberos ?

Un ticket Kerberos est composé d'un ensemble d'informations (identité du poste initial, heure de validité et d'expiration, nom, mot de passe, statut, etc.) permettant de vérifier l'identité d'un utilisateur ou la validité d'un service quelconque. Un ticket peut être sauvegardé dans un fichier ou résider de manière temporaire en mémoire. Kerberos distingue deux sortes de ticket : le TGT et le TGS (ticket additionnel). Le TGT fonctionne sur le principe des forfaits groupés comme ceux qui permettent à un skieur d'accéder aux remontées mécaniques de plusieurs stations pendant une durée déterminée. Lorsqu'il rejoint une nouvelle station, celui-ci présente son forfait groupé (son TGT) et obtient un nouveau forfait (un TGS) valable spécifiquement dans cette station et pour une durée limitée. Le lendemain, s'il désire skier dans une autre station, il devra à nouveau obtenir le forfait idoine. Kerberos simplifie encore ce principe en rendant transparentes pour l'utilisateur les transactions permettant d'obtenir les tickets additionnels (forfaits spécifiques à chaque station) à partir du TGT.


En savoir plus

Le site du MIT ( http://web.mit.edu/kerberos ) contient toutes les informations relatives à la version open source de Kerberos. Il est également possible de télécharger directement le code source (Unix BSD) de ce système.



Service Kiosque :
Téléchargez ce magazine sur votre PC/Mac à volonté et en moins de 2 mins !

publicité
Photos
720 corps nus pour sauver la feuille de vigne.

classement FAI
Retrouvez chaque semaine le classement des fournisseurs d'accès avec ip-label 1 Orange 2 Free 3 Bouygues Telecom > Plus de détails
offres d'emploi
> Jeu en ligne :
Everest Poker
Atteignez les sommets du poker mondial...

Service 01net
Newsletters 01net
abonnez vous gratuitement !
  
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Tous droits réservés © 1999 - 2009 Internext - 01net.