Beruflich Dokumente
Kultur Dokumente
Kerberos
Kerberos
Historique du docum ent
I. INTRODUCTION
aKu m6uNt>zb.gV zgQ{ s[M 7%):wO, D*<^
Le dbut de ce document est crypt. En effet, pourquoi dciderions - nous de laisser ces informations la vue de tous ? Comment savoir dans quel but vous voulez y avoir accs ? Et puis, tout d'abord... qui tes - vous ? Voici autant de questions que l'on peut se poser ds le dbut d'une conversation entre deux personnes. Autant de questions qui peuvent survenir autant dans la vie de tous les jours que dans le monde virtuel. Si, lors d'une conversation banale, la prsence d'oreilles indiscrtes (o qu'elles se trouvent) est tolrable, il n'en va pas de mme dans le domaine de l'informatique. Des donnes circulent en permanence, reprsenta n t autan t de donnes confidentielles que de donnes personnelles. Lorsque l'on consulte des donnes confidentielles, comme l'tat de notre compte bancaire via Internet, il est vident que l'on ne veut comm u niq uer qu'avec notre banque. Et pour tre certain qu'il s'agisse bien de notre banque , il va nous falloir les outils adquats pour la reconnatre.
Kerberos
Pourquoi utiliser un service d'aut hentification ?
Page 4 / 29
Kerberos
Le protocole Needha m Schroeder, base de Kerberos
un client ; un serveur proposa nt le service que l'utilisateur veut utiliser ; un serveur d'authentification.
Le client reprsente la machine effectuant la requte d'authentification : en gnral, il s'agit d'un PC. Le serveur est un serveur applicatif, comme par exemple un serveur de messagerie ou bien un serveur de fichiers. Enfin, le serveur d'authentification est un serveur ddi, dtenant l'ensemble des cls de cryptage des clients et des serveurs du rseau. Il ne s'agit pas ici d'authentifier l'utilisateur avec le serveur d'authentification en utilisant un simple mot de passe. Le protocole Needham - Schroeder fournit un mcanisme permetta n t de distribuer une cl de cryptage au client et au service, celle- ci disposant d'une validit limite dans le temps. L'authentification des deux parties se fait alors au travers de cet change.
Page 5 / 29
Kerberos
Le protocole Needha m Schroeder, base de Kerberos
2 Droulement du protocole
Premirement, le client contacte le serveur d'authentification. Il envoie un message contenant son identit ainsi que celle du serveur d'application qu'il tente de contacter. Il y joint galement une valeur alatoire.
Le serveur d'authentification reoit ces informations, et recherche les cls prives de cryptage correspon d a n t au service et l'utilisateur. Il adjoint une troisime cl utilisation unique, gnre alatoirement, appele cl de session et utilise pour scuriser les comm u nications entre le serveur d'application et le client. Dans ce protocole, le serveur d'authentification ne comm u nique jamais directement avec le serveur d'application. Il retour ne au client un message contenant la cl de session ainsi que l'identit vrifie des deux parties. Comment ce message peut - il tre protg d'une personne coutant sur le rseau ? Et avant cela, comment le serveur d'authentification peut - il tre certain de l'identit du client lorsqu'il le contacte ? La rponse est apporte par plusieurs couches de cryptage. Tout d'abord, le message est constr uit de manire ce que seul le serveur d'authentification puisse le lire. Il contient le nom du client ainsi qu'une cl de session. Afin d'viter la possibilit d'tre capt sur le rseau, il est crypt l'aide de la cl du serveur d'application. Or, seuls le serveur de service et le serveur d'authentification connaissen t cette cl. Dans la terminologie de Kerberos, on parlera de ticket pour un tel message.
Page 6 / 29
Kerberos
Le protocole Needha m Schroeder, base de Kerberos
Le message de retour destin au client contient le message d'origine, le nom du serveur d'application, une copie de la cl de session ainsi que la cl alatoire du client. Ce message est crypt l'aide de la cl prive du client. Le serveur d'authentification ne peut pas dter miner si le client est bien qui il prten d tre. Il retour nera ce message quiconque le lui demander a, pour autant que l'utilisateur fasse bien partie de sa base d'infor matio n s. Cependant, comme le message est crypt l'aide de la cl du client, seul celui- ci pourra dcrypter ce message.
Le client reoit donc le message, et doit alors entrer la cl (le mot de passe) permettan t de le dcrypter. S'il ne donne pas le bon, l'authentification aura chou. En cas de succs, le client aura alors charge de faire suivre la cl de session au serveur d'application. Il pourra alors lui faire parvenir le ticket , contenant une copie de la cl de session et le nom du client, le tout crypt l'aide de la cl du serveur d'application. Seul le serveur de services est alors capable de dcrypter le message, et donc de rcuprer la cl de session.
du ticket de service
Page 7 / 29
Kerberos
Le protocole Needha m Schroeder, base de Kerberos
A partir de l, la comm u nication entre les deux parties ne peut tre interprete que par elles. Le client sait qu'il s'adresse au bon serveur, puisque lui seul tait en mesure de dcrypter le message contenant la cl de session. De son ct, le serveur d'application sait que le client est bien qui il prten d tre, puisqu'il a t capable de dcrypter le message contenant la cl de session et l'identit du client qui lui a t ensuite transfr. Cependant, il reste une attaque laquelle faire face. Le rseau tant considr comme non scuris, une personne mal intentionne serait en mesure de rcuprer tous les messages circulant, et en particulier le message d'authentification envoy par le client au serveur d'application. Elle pourrait alors utiliser ce message plus tard et le renvoyer au serveur d'application. Dans ce cas, si le serveur n'utilisait pas la cl de session pour scuriser la comm u nication avec le client, l'attaqua n t pourrait se faire passer pour sa victime. La solution apporte par le protocole Needham Schroeder oblige le client prouver qu'il dtient bien la cl de session : pour ce faire, le serveur d'application gnre un autre nombre alatoire, qu'il crypte l'aide de la cl de session et fait parvenir au client. Le client dcrypte alors ce nombre et doit, par exemple, lui ajouter une unit, puis le renvoyer crypt avec cette mme cl de session. De cette manire, seul le vrai client, dtenant la cl de session, est en mesure de rpondre au serveur de service avec le bon nombre.
Le protocole Kerberos utilise une approche similaire pour viter ce type d'attaq ue, mais il est bas sur un systme d'horloges synchronises.
Page 8 / 29
Kerberos
Le protocole Needha m Schroeder, base de Kerberos
Page 9 / 29
Kerberos
Le protocole Needha m Schroeder, base de Kerberos
Page 10 / 29
Kerberos
Le protocole Needha m Schroeder, base de Kerberos
Page 11 / 29
Kerberos
Le protocole Needha m Schroeder, base de Kerberos
Le KDC envoie un message compor ta n t deux botes , l'une contenant une copie de la cl de session ainsi que le nom du service, crypte l'aide de sa cl prive ; la seconde contenant la deuxime copie de la cl de session, ainsi que le nom de l'utilisateur, et crypte l'aide de la cl du serveur d'application. Cette deuxime cl est appele ticket .
L'utilisateur ouvre la premire bote avec sa cl et rcupre le nom du service. Il ne peut pas ouvrir la seconde, puisqu'elle a t ferme avec la cl du serveur d'application. Il va alors composer un nouveau message contenan t non seulement cette deuxime bote, mais aussi une bote contenant son nom et l'heure d'envoi et crypte l'aide de la cl de session. Cette troisime bote est appele authenticator dans le jargon Kerberos. Le serveur d'application reoit ce message, ouvre la deuxime bote l'aide de sa cl prive, obtient ainsi la cl de session qu'elle contient et peut enfin ouvrir la troisime bote qui lui tait destine. Le service connat ainsi le nom de son interlocuteur, et l'heure de son poste de travail. Cette information est trs importante, puisqu'elle permet de s'assurer que personne n'a copi le ticket. Comme les horlo ges ne sont pas toujours en parfaite synchronie, une marge de cinq minutes est autorise par dfaut. De plus, le service maintient une liste des authenticator envoys, afin de s'assurer qu'ils ne soient pas r- mis.
Page 12 / 29
Kerberos
Le protocole Needha m Schroeder, base de Kerberos
Ticket de service
Authenticator
En gnral, l' authenticator contient beaucoup plus d'infor ma tions que celles que nous exposons ici, comme par exemple un checksum pour valider l'intgrit des donnes, ou une cl de cryptage pour assurer la confidentialit des comm u nications futures entre le client et le service. Parfois, l'utilisateur souhaite que le service s'authentifie son tour. Pour cela, le service rcupre l'heure de la troisime bote ( authenticator ), le met dans une quatrime bote avec son nom, et la crypte l'aide de la cl de session. Quoi qu'il en soit, cette bote doit contenir l'heure contenue dans la troisime, pour assurer au client la provenance du message, car lui- seul est en mesure de valider cette information.
5 TGS / TGT
Les changes dcrits jusqu'ici sont ncessaires chaque fois qu'un utilisateur tente d'atteindre un service, et chaque fois qu'il doit entrer un mot de passe (qui permet de dcrypter la premire bote). Une solution consisterait stocker la cl drive du mot de passe, mais cela engendrerait un problme de scurit : une copie de ces cls permettr ait de se faire passer pour l'utilisateur. Kerberos offre une solution ce problme, en rpartissant les fonctionnalits du KDC : d'un ct le serveur d'authentification ( Authentication Server ) ; de l'autre, le serveur d'obtention de ticket ( Ticket - Granting Server ). Le serveur d'authentification est charg de produire les tickets pour le TGS.
Page 13 / 29
Kerberos
Le protocole Needha m Schroeder, base de Kerberos
Le client fourni un mot de passe, en change duquel le TGS lui donne un ticket ( Ticket - Granting Ticket ) et la cl de session associe (cf Figure 4.2). Celui- ci est valable en gnral pendant huit heure. Il s'agit de la seule comm u nication entre le client et le serveur d'authentification. Comme le TGT est le premier ticket obtenu, il est aussi appel ticket initial . Ensuite, quel que soit le service dont voudra bnficier le client, il enverra le TGT au TGS afin d'obtenir un ticket ordinaire (cf Figures 4.3 et 4.4). Il n'aura donc plus besoin d'entrer son mot de passe, puisque le KDC et lui- mme partagent la cl de session. L'utilisateur peut donc simplement adresser un message au TGS, contenant le TGT ainsi qu'un nouvel authenticator , ce qui l'identifiera immdiate men t.
Page 14 / 29
Kerberos
Le protocole Needha m Schroeder, base de Kerberos
Le cas d'un client voulant atteindre un service au travers d'un routeur mais dont l'adresse est translate (NAT) pose une difficult, car l'adresse IP de la machine mettant la requte apparat dans les tickets. La solution consiste soit paramtrer chaque client du rseau NAT afin qu'il utilise l'adresse interne du routeur pour les demandes de tickets, soit utiliser l'option - A de l'application kinit , pour prciser une demande de tickets sans adresse IP. Il est aussi possible de modifier le fichier /etc / k r b 5.co n f en y ajoutant, dans la section libdefaults , la ligne :
noad d re s s e s = true
Toutes ces procdures vous semblent sans doute bien compliques, mais aux yeux de l'utilisateur, tout ceci est transparent : les program m es Kerberos se chargent de contacter le bon royaume, et l'utilisateur n'a plus qu' simplement utiliser le service qu'il dsire.
7 Audit
Il est bien entend u important de s'assurer qu'aucune personne extrieure ne soit capable d'attaquer une machine du rseau, mais il est tout aussi important de raliser des audits en interne pour s'assurer de l'abscence de toute activit illicite. Pour cela, Kerberos propose de nombreuses options de journalisation de l'activit. Bien que Windows 2000 ne propose aucun journal par dfaut, ils sont paramtr ables depuis la console de gestion de la politique de scurit.
Page 15 / 29
Kerberos
Le protocole Needha m Schroeder, base de Kerberos
Version Kerberos 5
Port 88 749
Description Service de tickets Kerberos 5 Service Kerberos 5 pour le changement du mot de passe de l'utilisateur Service de conversion Kerberos 5 4 de tickets de
4444 749 464 Kerberos 4 750 751 761 oui oui oui oui oui non oui non
Service d'administration de Kerberos 5 Service de changement de mot de passe pour une machine d'administration KDC Service de tickets Kerberos 4 Service d'administration Kerberos 4 Service de changement de mot de passe Kerberos 4
Page 16 / 29
Kerberos
L'volution de Kerberos, V1 V5
Page 17 / 29
Kerberos
L'volution de Kerberos, V1 V5
3 Versions 4 et 5
3.1 Des origines la version 4
Mise disposition le 24 janvier 1989, la premire version publique du protocole a t rapidement approuve et mise en oeuvre par plusieurs concepteur s de systmes d'exploitation. En rponse la lgislation amricaine leur interdisant l'exportation de leur prod uit, en particulier cause de l'utilisation de DES (algorithme de cryptographie), une version spciale ddie l'exportation a t conue. Surnom me Bone, elle ne contient donc plus aucun code de cryptage. Dans l'universit australienne Bond, Errol Young dveloppe sa propre implmenta tion de l'algorithme DES et l'intgre la version Bones. Cela va donner eBones qui, dveloppe en dehors des Etats - Unis, ne tombe plus sous sa lgislation et peut tre librement exporte. Plusieurs implmenta tions du protocole Kerberos 4 ont t dveloppes. Mme si certaines sont encore assez activement utilises, la version 4 de l'implmenta tion du MIT est dornavant en phase de maintenance, et peut tre considre comme termine. Il est aujour d' h ui recom m a n d d'utiliser la version 5, dernire en date.
la dlgation des tickets des types de cryptage extensibles des authentifications inter - royaumes amliores ...
Page 18 / 29
Kerberos
L'volution de Kerberos, V1 V5
Kerberos
L'volution de Kerberos, V1 V5
Le protocole V5 utilise quant lui une reprsentation totalement diffrente. Il utilise un standar d de formatage des donnes, nomm ASN.1 (pour Abstract Syntax Notation One), standar dis par l'ISO (International Standar d s Organization). Cela permet Kerberos d'tre encore plus flexible, en autorisant des champ s optionnels et/o u de taille variable. Cependant, ce choix entraine le doublement de la taille des messages envoys.
Page 20 / 29
Kerberos
L'volution de Kerberos, V1 V5
Pour limiter les dgts, la version 5 du protocole va aussi intgrer le nom du royau me dans le processus de hachage, ce qui permettr a de gnrer des cls diffrentes, pour un mme mot de passe, mais sur des royaumes diffrents.
Page 21 / 29
Kerberos
Mise en oeuvre sur diffrentes platefor m e s
Page 22 / 29
Kerberos
Mise en oeuvre sur diffrentes platefor m e s
La console d'administration des machines et des utilisateurs d'Active Directory permet ensuite de paramtrer l'utilisation de Kerberos dans la gestion des mots de passe. Nous avons ainsi pu paramtrer les options suivantes
Kerberos utilise DNS pour la localisation des enregistremen t s de service DNS (SRV, RFC 2052) et peut, l'aide des enregistremen t s TXT, localiser le royau me appropri correspon d a n t un nom d'hte ou un nom de domaine. Par contre, lorsqu'il s'agit de contacter un royaume non - Windows, il est ncessaire d'utiliser un program me particulier, ksetu p , pour entrer les informations manuellement. Sous Unix, la translation entre nom de machine et nom de royaume est ralise dans le fichier /etc / k r b 5.co n f , de la mme manire que /etc / h o s t s est utilis pour rsoudre les noms de machines en adresses IP.
Page 23 / 29
Kerberos
Mise en oeuvre sur diffrentes platefor m e s
par
toute
application
Ensuite, chacun des royaumes que le client sera susceptible de contacter doivent tre dcrits, soit dans la partie realms de ce fichier, soit prciss dans le DNS. Concernant le fichier krb5.conf, l'attribut le plus importan t ici est kdc ; Enfin, la section domain_realm fait le lien entre royaume et DNS, en faisant correspon d r e un domaine DNS un nom de royaume.
Sous Linux, si l'on veut utiliser une application avec Kerberos, il convient d'utiliser une version kerbrise de cette application. Ces versions sont gnralement disponibles sur Internet.
Page 24 / 29
Kerberos
L'avenir de Kerberos
2 De nouvelles bases
Il existe plusieurs faons pour authentifier gnralement, une entit) ; on peut se baser sur :
une
personne
(ou
plus
Ce qu'il sait est tout simplement un mot de passe qui va permettre, par comparaison ou par dcryptage, par exemple, de vrifier que la personne est bien celle qu'elle dit tre. Seule cette technique est actuellement utilise par le protocole Kerberos. Ce qu'il a est plus subtil car il fait appel un objet que la person ne cherchant s'authentifier a en sa possession. Le plus souvent, il s'agit d'un appareil gnrant 'alatoiremen t' une suite de nombres / c a r actres. Cette suite ne sera valable uniquemen t que pendant un temps donn, et servira l'authentification. Une version future de Kerberos devrait permettre l'utilisation de suppor ts de type SmartCard, qui permettr aient d'utiliser des cls beaucoup plus longues (mais trs difficiles utiliser dans le premier cas), pour augmenter encore la scurit. Ce qu'il est est justement une mthode encore peu utilise pour le moment, et fait appel des mcanismes de biomtrie (empreinte digitale, rtine...). Cette technique n'est pas encore utilise, entre autres par le manque de logiciels l'utilisant rellement, ainsi que du peu de matriels encore
Page 25 / 29
Kerberos
L'avenir de Kerberos
onreux. L'intrt de ce systme est qu'il supprime la duplication, le vol, l'oubli et la perte. Cependant, long terme, cette technique risque de ne pas tre exempte de piratage. Une autre amlioration dans ce domaine serait la gnralisation, non pas de l'utilisation d'une de ces techniques d'authentification, mais de plusieurs d'entre - elles combines.
Kerberos
L'avenir de Kerberos
centralis, des outils comme le package PGP vont faire intervenir une tierce person ne, connaissant personnellement le propritaire, qui va alors signer la cl publique, et donc permettre une identification formelle . Ces types de mesures sont autant de protections contre des attaques man - in- the- middle . L'utilisation des cls asymtriques avec Kerberos est donc dsor mais d'actualit, mais ncessiterait la rvision complte des mcanismes d'authentification dans le protocole Kerberos.
Page 27 / 29
Kerberos
Conclusion
VII. CONCLUSION
Le protocole Kerberos permet l'authentification des utilisateurs services du rseau. Il assure ainsi un certain degr de scurit.
et des
Du point de vue de l'utilisateur, son utilisation est trans paren te. Cependan t, il perd son anonymat sur le rseau. Cependant, une relle politique de scurit passe aussi par la mise en place de moyens tels que :
paramtrage correct des autorisations dtection des intrusions utilisation de logiciels /syst m e s rgulierement mis jour ...
Kerberos, en tant que systme d'autentification, n'est donc qu'un des maillons indissociables de toute la chane de scurit. Son rle est primor dial, car il va permettre la certification de la validit des interlocuteur s sur le rseau, mais sera totalement inutile si des portes sont laisses grandes ouvertes aux crackers, leur permettan t de prendre possession des comptes avec privilges.
Page 28 / 29
Kerberos
Bibliographie
VIII. BIBLIOGRAPHIE
Kerberos, The Definitive Guide Jason Garman Edition O'Reilly ISBN 0- 596 - 00403 - 6 Kerberos, A Network Authentication System Brian Tung Edition Addison Wesley ISBN 0- 201 - 37924 - 4 redhat magazine #1 (comptes rseau avec LDAP et Kerberos)
Page 29 / 29