Le systeme d authentification Kerberos.

Kerberos est un protocole rseau supplmentaire qui permet aux utilisateurs de s'authentifier en
passant par l'intermdiaire d'un serveur scuris. Des services comme l'ouverture de session 
et la copie  distance, la copie scurise de fichiers entre systmes et autres fonctionnalits  
haut risque deviennent ainsi considrablement plus srs et contrlables. ( FreeBSD FAQ)

Le systeme Kerberos est entierement base sur la connaisance des password par un seul et meme serveur
A la diffrence des passwords Unix, qui sont chiffrs avec un algorithme  sens unique qui ne peut
pas tre renvers , les passwords  Kerberos sont enregistrs sur le serveur chiffrs avec un algorithme
conventionnel dans ce cas-ci on utilise DES de sorte qu'ils puissent tre dchiffrs par le serveur.
Le fait que le serveur  Kerberos a accs au mot de passe dchiffr de l'utilisateur est un rsultat du
fait que Kerberos n'utilise pas de cles publique de crypthologie. Il faut alors que le serveur soit
enormement protege phisyquement, et galement tre immunis contre des attaques de procdure 
de connexion si un attaquant peut se loger  sur le serveur et devenir root, cet attaquant 
pourrait, voler tous les mots de passe.
le serveur de Kerberos rpond simplement au request des utilisateur avec des tickets. 
cette conception le rend relativement simple pour crer les serveurs replis et secondaires qui
peuvent manipuler des demandes d'authentification quand le serveur primaire est  indisponible.
Malheureusement, ces serveurs secondaires ont besoin des copies compltes de la base de donnes 
entire de Kerberos, qui signifie qu'elles doivent galement tre physiquement et de informatiquement
bloqu .

Se Loger sur une station UNIX utilisant Kerberos revient au meme pour un simple utilisateur. Il appercoit le
tradittionelle login: et password:. Vous tapez votre login puis votre pass et si tout cela est correct vous 
pouvez vous logez et acceder au service habituelle (ftp , mail etc....)

Mais derriere tout cela que se passe t il ? c est ce que nous allons voir.

Kerberos 4 :

Avec Kerberos 4 des que vous tapez votre login , votre station envoi un message au serveur Kerberos 
ce message contient votre login et avertit le serveur que vous voulez vous logez.Kerberos regarde si 
vous etes bien dans la base de donne si oui il envoie un packet crypte a la station de travail avec votre
login et votre password. Des que la station de travail a recu ce packet elle vous demande comme d 
habitude votre password et elle essaie maintenant de decrypte le packet encrypte en utilisant votre 
password comme *clef*.Si le password est bon , la station l oublie et ne garde exclusivement le packet
encrypte.Si ca ne marche elle vous redonne une chance ;)

Kerberos 5:

Avec Kerberos 5  , la station de travail attend que vous ayez tapee votre login et password avant de 
contacter le serveur.Des que ceci est fait il envoie un message constitue de votre login et  a cote un
message contenant l heure crypte , elle est crypte avec votre password comme *clef*.Le serveur
Kerberos regarde si votre login existe si oui il regarde votre password et a l aide de celui ci il essaie
de decrypter le message contenant l heure. Si il y arrive , il envoie a votre station de travail un packet
*gagnant*  encrypt avec votre  password.


Figure  1 :

--------------                                                                  ---------------
 Station de Travail  ==================================>      Serveur Kerberos
--------------                        login                                   ---------------
--------------                                                                  ---------------
  Station de Trvail   <==================================     Serveur Kerberos
--------------            [ticket]K(passwd)                               ---------------

C est quoi exactement le ticket gagnant ? c est une bloc de donnes contenant 2  informations :

- les clef de la session : Kses
-  Un ticket pour Kerberos , il st encrypte et contient les clef de la session et 
clefs du ticket *gagant*: EKtgsEKses{Ttgs}

L utilisateure de la station de travail peux maintenant contacter Kerberos et obtenir
des tickets pour X et Y raison.

Note :

  * Les passwords ne sont pas stockes sur les stations de travail mais seulement sur
les serveur Kerberos
  * le mot de passe de l'utilisateur n'est jamais transmis sur le rseau encrypte
 ou autrement 
  * Si un pirate intercepte le packet encrypte il ne lui sert a rien que la clef de
ce message est le password est celui ci n est jamais transmis sur le reseaux

Kerberos 4 Vs Kerberos 5

Kerberos 5 est la version de Kerberos la plus recente.j ai mentionne deux
difference importantes entre ces deux versions.
Kerberos 4 est plus efficace que Kerberos 5  , mais plus limite.
Par exemple Kerberos 4 ne peut etre mis en place que sur des reseaux TCP/IP
Kerberos 5 corrige quelque probleme dans le protocole Kerberos et il plus
resistant aux attaques sur le reseau .Il est aussi plus flexible : il peut
travailler sur different types de reseaux. Kerberos 5 peut aussi utilise
d autres techniques de cryptage que DES ( voir article de coder).

Kerberos vs Secure RPC

Kerberos est un systeme d authtentification , non un systeme RPC*.
Kerberos peut etre utilise avec des systemes RPC. Des versions de Kerberos
sont disponible pour Sun RPC  et pour different Systeme Xwindows.Mais 
Kerberos peut simplement utilise pour des echanges de clefs(keys).
le MIT a aussi modifie le systeme NFS pour travailler avec Kerberos.

Il ya aussi plusieur difference en matiere de securite :

- les mots de passe Secure RPC utilise une clef de cryptage publique et non prive 

- Secure RPC garde les clef prive et publique des utilisateurs sur le 
serveur NIS.

Kerberos peut etre utilise avec des tas d autre protcole reseaux.
Le projet Athena utilise Kerberos avec NFS  , telnet  et le courier 
electronique. Sun  a ajouter la compactibilite  entre Kerberos et son 
systeme RPC. IBM entre autres utilise Kerberos pour ses systemes.

Installe Kerberos

Pour une description complete de l installation de Kerberos alle voir sur:
www.openbsd.org (Voir FAQ) ou www.freebsd.org (FAQ) vous noterez aussi
que ces deux FAQS ont etes traduit en francais . Vous pouvez les trouver
sur : www.bsdfr.org(la partie concernant Kerberos n a pas ete encore 
traduite a ce jour ) et www.freebsd-fr.org.

Les autres systemes d authentifications 

DCE : Distributed Computing Environement est devloppe par L Open Software
Foundation : www.osf.org/dce

SESAME : Secure European Syteme for Application in Multi-vendor European.
Ce systeme ressemble beaucoup a Kerberos.

Il y a encore beaucoup de chose a dire sur Kerberos , je le ferai
peut etre dans un prochain article si celui la vous a plus
mais pour l instant regardons un peu les differents adisories :

L0phtkrb.txt est une advisorie pour Kerberos 4

c est tout ce que j ai trouve de complet .

Il faut aussi notez qu il existe une implentation de kerberos 
pour sshd.

Documentation : FreeBSD FAQ, OpenBSD FAQ , Practicial Unix and Internet 
Security(surtout ca :)) et PacketStorm.

Greetz : Lionel , prfalken , Seb-sb , Spoty , Ankou et tout le
reste

mail : shado@ifrance.com

