Kerberos

Kerberos

Kerberos est un protocole d'authentification réseau qui repose sur un mécanisme de clés secrètes (chiffrement symétrique) et l'utilisation de tickets, et non de mots de passe en clair, évitant ainsi le risque d'interception frauduleuse des mots de passe des utilisateurs. Créé au Massachusetts Institute of Technology (MIT), il porte le nom grec de Cerbère, gardien des Enfers (Κέρϐερος). Kerberos a d'abord été mis en œuvre sur des systèmes Unix.

Sommaire

Fonctionnement

Dans un réseau simple utilisant Kerberos, on distingue plusieurs entités :

  • le client (C), a sa propre clé secrète KC
  • le serveur (S), dispose aussi d'une clé secrète KS
  • le service d'émission de tickets (TGS pour Ticket-Granting Service), a une clé secrète KTGS et connaît la clé secrète KS du serveur
  • le centre de distribution de clés (KDC pour Key Distribution Center), connaît les clés secrètes KC et KTGS

Le client C veut accéder à un service proposé par le serveur S.

Principe de fonctionnement de Kerberos

La première étape pour le client consiste à s'identifier auprès du serveur de clés (KDC). Le client a une clé secrète KC, celle-ci est également connue par le serveur de clés. Le client envoie son nom au serveur de clés et lui indique le TGS qui l'intéresse. Après vérification sur l'identité du client (cette partie dépend des implémentations, certains serveurs utilisent des mots de passe à usage unique), le serveur de clés lui envoie alors un ticket TTGS. Ce ticket autorise le client à faire des requêtes auprès du TGS.

Ce ticket TTGS est chiffré par le serveur de clés avec la clé du TGS (KTGS). Il contient notamment des informations sur le client mais également la clé utilisée pour établir la communication entre le client et le TGS. Cette clé de session, nous la noterons KC,TGS. Le client reçoit également cette clé de session KC,TGS, elle a toutefois été chiffrée avec la clé secrète KC du client.

À ce stade, le client possède un ticket TTGS (qu'il ne peut pas déchiffrer) et une clé KC,TGS.

La deuxième étape est l'envoi par le client d'une demande de ticket auprès du TGS. Cette requête contient un identifiant (des informations sur le client ainsi que la date d'émission) chiffré avec la clé de session KC,TGS (qui est trouvée par le client en déchiffrant les informations reçues depuis le serveur de clés avec sa clé secrète). Le client envoie aussi le ticket qui lui avait été transmis par le serveur de clés.

Le TGS reçoit alors son ticket et il peut le déchiffrer avec sa clé secrète KTGS. Il récupère le contenu du ticket (la clé de session) et peut ainsi déchiffrer l'identifiant que lui a envoyé le client et vérifier l'authenticité des requêtes. Le TGS peut alors émettre un ticket d'accès au serveur. Ce ticket est chiffré grâce à la clé secrète du serveur KS. Le TGS envoie aussi ce ticket chiffré avec la clé secrète du serveur KS et la clé de session KC,S chiffrée à l'aide de la clé KC,TGS au client pour les communications entre le serveur final et le client.

La troisième étape est le dialogue entre le client et le serveur. Le client reçoit le ticket pour accéder au serveur ainsi que l'information chiffrée contenant la clé de session entre lui et le serveur. Il déchiffre cette dernière grâce à la clé KC,TGS. Il génère un nouvel identifiant qu'il chiffre avec KC,S et qu'il envoie au serveur accompagné du ticket.

Le serveur vérifie que le ticket est valide (il le déchiffre avec sa clé secrète KS) et autorise l'accès au service si tout est correct.

Sécurité

Une fois qu'un client s'est identifié, celui-ci obtient un ticket (généralement, un fichier texte - mais son contenu peut aussi être stocké dans une zone de mémoire sécurisée). Le ticket joue le rôle d'une carte d'identité à péremption assez courte, huit heures généralement. Si nécessaire, celui-ci peut être annulé prématurément. Sous les systèmes Kerberos comme celui du MIT, ou de Heimdal, cette procédure est généralement appelée via la commande « kdestroy ».

La sécurité de Kerberos repose sur la sécurité des différentes machines qu'il utilise. Une attaque sur le serveur de clés serait dramatique car elle pourrait permettre à l'attaquant de s'emparer des clés privées des clients et donc de se faire passer pour eux. Un autre problème qui pourrait survenir sur la machine du client est le vol des tickets. Ils pourraient être utilisés par une tierce personne pour accéder aux services offerts par les serveurs (si la clé entre le client et le serveur est connue).

L'expiration du ticket permet de limiter les problèmes liés au vol des tickets. De plus, un ticket peut contenir l'adresse IP du client et le ticket n'est alors valable que s'il est employé depuis cette IP (ce champ est toutefois optionnel dans Kerberos, qui peut tout à fait être utilisé sur un réseau attribuant dynamiquement les IP au travers de DHCP). Une attaque sur les identifiants échouera car Kerberos leur ajoute un élément. Cela évite les attaques par renvoi d'identifiants qui auraient été interceptés. Les serveurs conservent l'historique des communications précédentes et peuvent facilement détecter un envoi frauduleux.

L'avantage de Kerberos est de limiter le nombre d'identifiants et de pouvoir travailler sur un réseau non-sécurisé. Les identifications sont uniquement nécessaires pour l'obtention de nouveaux tickets d'accès au TGS.

Actuellement, deux implémentations de Kerberos version 5 existent pour OpenLDAP :

  • MIT krb5
  • Heimdal

Similarité

Le fonctionnement de Kerberos est calqué sur ce que pratiquent les ouvreuses des théâtres et anciennement des cinémas :

  • au moment d'accéder à la séance de cinéma, le client paye son ticket qui l'identifie.
  • au point d'accès de la salle, l'ouvreuse déchire le ticket en deux, conserve une partie et laisse l'autre au client.
  • en cas de contrôle, on constate si les deux morceaux du ticket se recollent.
  • la durée de vie du ticket est limité à une séance.

Utilisations

L'identification Kerberos (ou GSSAPI) peut être utilisée par ces protocoles/applications :

Implémentations

  • GNU Shishi

Voir aussi

Articles connexes

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Kerberos de Wikipédia en français (auteurs)

Игры ⚽ Нужно решить контрольную?

Regardez d'autres dictionnaires:

  • Kerberos — /kɛərbərəs/  сетевой протокол аутентификации, позволяющий передавать данные через незащищённые сети для безопасной идентификации. Ориентирован , в первую очередь , на клиент серверную модель и обеспечивает взаимную аутентификацию  оба… …   Википедия

  • Kerberos — es un protocolo de autenticación de redes de ordenador que permite a dos computadores en una red insegura demostrar su identidad mutuamente de manera segura. Sus diseñadores se concentraron primeramente en un modelo de cliente servidor, y brinda… …   Wikipedia Español

  • Kerberos — may refer to:* the hound of Hades, also known as Cerberus * Kerberos (saga), a science fiction series by Mamoru Oshii * Kerberos (protocol), a computer security protocol * Kerberos Dante, an anime character * Kerberos, a more common name for… …   Wikipedia

  • Kerbĕros — (lat. Cerberus), im griech. Mythus der dreiköpfige, schlangenhaarige Hund, der die Unterwelt bewachte und jedermann hinein , aber niemand herausließ, nach Hesiod Sohn des Typhaon und der Echidna. Herakles schleppte ihn gefesselt auf die Oberwelt …   Meyers Großes Konversations-Lexikon

  • Kerberos — {{Kerberos}} Der riesige Hund, der den Eingang zur Unterwelt hütet. Er stammt von Typhon* und Echidna* ab und wird in der Regel dreiköpfig dargestellt; Hesiod gibt ihm gar fünfzig Köpfe und nennt ihn »fies und grausam«: Jeden, der den Hades*… …   Who's who in der antiken Mythologie

  • Kerberos — ist: Kerberos (Mythologie), der Höllenhund in der griechischen Mythologie, der den Eingang zur Unterwelt bewacht Kerberos (Informatik), ein Netzwerkauthentifikationsprotokoll in der Informatik Diese Seite ist eine Begriffsklärung …   Deutsch Wikipedia

  • Kerbĕros — Kerbĕros, 1) Höllenhund, Sohn des Typhon u. der Echidna, mit drei Köpfen, 100 Schlangen statt der Haare, mit Drachenschwanz, giftigem Athem u. Geifer. Er ist ein Bild des unterirdischen Dunkels u. ewigen Verschlusses, bewachte in einer Höhle… …   Pierer's Universal-Lexikon

  • Kerberos — Kerbĕros (grch.; lat. Cerberus), der den Eingang der Unterwelt bewachende riesige Hund mit Schlangenmähne und Schweif und mehrern Köpfen …   Kleines Konversations-Lexikon

  • Kerberos —    A network security system developed as a part of Project Athena at MIT. Kerberos is used to authenticate a user who is asking for permission to use a particular network service.    Kerberos can be used to control the initial connection to a… …   Dictionary of networking

  • Kerberos — Kẹrberos,   Cẹrberus, Zẹrberus, griechischer Mythos: Sohn des Typhon und der Echidna, der Höllenhund, der den Eingang zur Unterwelt bewachte und keinen der Eingetretenen mehr herausließ. Er wurde nur zweimal überwunden: durch Orpheus und sein… …   Universal-Lexikon

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”