Wat is Kerberos?

Kerberos is een authenticatieprotocol van een computernetwerk. Het is ontworpen bij MIT om netwerkbronnen op een veilige manier toe te staan. In dit artikel gaan we het Kerberos-concept en de werking ervan aan de hand van een voorbeeld bespreken.

Hoe werkt Kerberos?

Kerberos werkt in drie stappen. Laten we nu die drie stappen één voor één bespreken.

Stap 1:

Log in

De cliënt voert zijn naam in op een willekeurig werkstation. Vervolgens verzendt het werkstation de naam naar de authenticatieserver in tekstformaat.
Als reactie hierop voert de verificatieserver een actie uit. Eerst maakt het het pakket van gebruikersnaam, dwz Client, en genereert de sessiesleutel. Het codeert dit pakket met een symmetrische sleutel die de authenticatieserver deelt met Ticket Granting Server (TGS). De output van dit proces wordt een Ticket Granting Ticket (TGT) genoemd. Vervolgens combineert de authenticatieserver zowel TGT als sessiesleutel en codeert deze samen met behulp van de symmetrische sleutel die is afgeleid van het wachtwoord van de client.

Opmerking: TGT kan alleen worden geopend met behulp van TGS en de uiteindelijke uitvoer kan alleen worden geopend door de client.

Nadat dit bericht is ontvangen, vraagt ​​het werkstation van de gebruiker om het wachtwoord. Wanneer een gebruiker of client zijn wachtwoord invoert, genereert het werkstation de symmetrische sleutel afgeleid van het wachtwoord van een authenticatieserver. Deze sleutel wordt gebruikt om de sessiesleutel en TGT te extraheren. Daarna vernietigt het werkstation het wachtwoord van de client uit zijn geheugen om de aanval te voorkomen.
Opmerking: gebruikers kunnen het Ticket Granting Ticket niet openen.

Stap 2:

Het verkrijgen van een service die ticket verleent.

Laten we aannemen dat de gebruiker na de succesvolle aanmelding via de mailserver met andere gebruikers wil communiceren. Want die client laat zijn werkstation weten dat hij contact wil opnemen met een andere gebruiker X. Dus de client heeft een ticket nodig om met de X te communiceren. Op dit moment maakt het clientwerkstation een bericht aan dat bedoeld is voor een server die kaartjes verleent, die onderstaande items bevat -
• Ticket toekennen ticket
• de id van de X wiens services zijn geïnteresseerd in klanten.
• De huidige tijdstempel moet worden gecodeerd met dezelfde sessiesleutel.

Ticket verlenen, het ticket wordt alleen gecodeerd met de geheime sleutel van de ticket-verlenende server, dus alleen de ticket-verlenende server kan een ticket-verlenende ticket openen. Vanwege deze ticket-verlenende server gelooft dat het bericht van de inderdaad client komt. Ticket dat ticket en sessiesleutel verleent, is gecodeerd door de sessieverificatieserver.

Een authenticatieserver codeert deze met behulp van de geheime sleutel die is afgeleid van het wachtwoord van de client. Daarom kan de enige klant het pakket openen en het ticket ophalen Ticket verlenen
Zodra de server die de kaartjes heeft verleend tevreden is met de door de klant ingevoerde gegevens, maakt de kaartjes een kaartsleutel KAB aan voor de klant om de beveiligde communicatie met X uit te voeren. Kaartjes verleende server stuurt deze twee keer naar de klant - de eerste keer dat deze wordt gecombineerd met X's id en gecodeerd met sessiesleutel, de tweede keer dat het wordt verzonden in combinatie met client-id's en gecodeerd met X's geheime sleutel KB.

In dit geval kan de aanvaller proberen het eerste bericht te ontvangen dat door de client is verzonden en kan hij proberen een antwoord aan te vallen. Dit zou echter mislukken omdat het clientbericht een gecodeerde tijdstempel bevat en de aanvaller de tijdstempel niet kan vervangen omdat hij de sessiesleutel niet heeft.

Stap 3:

Gebruiker neemt contact op met X voor toegang tot de server.

Een client stuurt KAB naar X om een ​​sessie met X te maken. Voor veilige communicatie stuurt de client KAB gecodeerd met de geheime sleutel van X naar X. X heeft toegang tot KAB. Ter bescherming tegen een antwoordaanval verzendt de client een tijdstempel naar X die is gecodeerd met KAB.

X gebruikt zijn geheime sleutel om de informatie te verkrijgen, van deze informatie gebruikt hij KAB om de stempelwaarde te decoderen. Vervolgens voegt X 1 toe aan de tijdstempelwaarde en codeert deze met KAB en verzendt deze naar de client. De client opent vervolgens het pakket en verifieert de stempel verhoogd met X. Vanuit dit proces zorgt de client ervoor dat de X dezelfde KAB ontving die door de client is verzonden.

Nu kunnen client en X veilig met elkaar communiceren. Beide gebruiken gedeelde geheime sleutel KAB yo coderen de gegevens op het moment van verzending en ontcijferen het bericht met dezelfde sleutel. Stel dat de client mogelijk met een andere server Y wil communiceren, in dat geval moet de client gewoon n3d krijgen om een ​​andere geheime sleutel te verkrijgen van Ticket Granting server. Na het verkrijgen van de geheime sleutel kan hij op dezelfde manier met Y communiceren als we hebben besproken in het geval van X. Als de client opnieuw met X kan communiceren, kan hij dezelfde vorige sleutel gebruiken, het is niet nodig om elke keer een ticket te genereren. Alleen voor de eerste keer moet hij het ticket krijgen.

Voor- en nadelen van Kerberos

Hieronder staan ​​de voor- en nadelen:

Voordelen van Kerberos

  1. In Kerberos worden clients en services wederzijds geverifieerd.
  2. Het wordt ondersteund door verschillende besturingssystemen.
  3. Tickets in Kerberos hebben een beperkte periode. Ook als het ticket wordt gestolen, is het moeilijk om het ticket opnieuw te gebruiken vanwege sterke authenticatiebehoeften.
  4. Wachtwoorden worden nooit ongecodeerd over het netwerk verzonden.
  5. In Kerberos worden geheime sleutels gedeeld die efficiënter zijn dan het delen van openbare sleutels.

Nadelen van Kerberos

  1. Het is kwetsbaar voor zwakke of herhaalde wachtwoorden.
  2. Het biedt alleen authenticatie voor services en clients.

Conclusie

In dit artikel hebben we gezien Wat is Kerberos, hoe werkt het samen met zijn voor- en nadelen. Ik hoop dat je dit artikel nuttig zult vinden.

Aanbevolen artikelen

Dit is een gids voor Kerberos. Hier bespreken we Wat is Kerberos, Hoe werkt Kerberos en zijn voor- en nadelen. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie–

  1. Soorten webhosting
  2. Wat is een webtoepassing?
  3. Wat is sterrenschema?
  4. Arrays in Java Programming