Protocol Kerberos

De la Viquipèdia, l'enciclopèdia lliure.
Saltar a la navegació Saltar a la cerca
Esquema del funcionament del protocol Kerberos

En tecnologia de la informació i telecomunicacions, Kerberos és un protocol de xarxa per a una autenticació forta que permet a diversos terminals comunicar - se en una xarxa informàtica insegura , demostrant la seva identitat mitjançant l’ús de tècniques de xifratge simètric . Kerberos evita atacs com ara intercepcions i atacs de reproducció i garanteix la integritat de les dades . Els seus dissenyadors s’orienten principalment a un model client-servidor i proporcionen autenticació mútua, és a dir, tant l’ usuari com el proveïdor de serveis poden verificar la identitat de l’altre.

Història

L’Institut Tecnològic de Massachusetts (MIT) va desenvolupar Kerberos per protegir els serveis de xarxa proporcionats pel Projecte Athena . El protocol va ser batejat com el personatge mitològic Cèrber , que en la mitologia grega era el gos de tres caps que custodiava l’ Hades . Hi ha diverses versions del protocol; les versions 1 a 3 només es van utilitzar al MIT.

Steve Miller i Clifford Neuman, els principals desenvolupadors de la versió 4 de Kerberos, van llançar aquesta versió a finals dels anys vuitanta, tot i que es va desenvolupar principalment per al Projecte Athena.

La versió 5, dissenyada per John Kohl i Clifford Neuman, es va formalitzar a la RFC 1510 el 1993 (obsoleta per la RFC 4120 el 2005 ), amb la intenció de resoldre les limitacions i problemes de seguretat de la versió 4.

El MIT proporciona una implementació gratuïta de Kerberos sota una llicència similar a BSD .

Les autoritats nord-americanes van classificar Kerberos com a arma [ sense font ] i va prohibir-ne l'exportació, ja que feia servir l' algoritme de xifratge DES (amb claus de 56 bits ). Una implementació de Kerberos fora dels EUA, KTH-KRB desenvolupada a Suècia , va fer que el sistema també estigués disponible fora dels EUA, abans que canviessin la seva llei d’exportació d’algoritmes criptogràfics (cap al 2000 ). La implementació sueca del protocol es va basar en una versió de Kerberos anomenada eBones. eBones es basava en la versió MIT Bones (bàsicament una versió de Kerberos sense funcions criptogràfiques i les seves trucades) derivada del nivell de patch 9. Kerberos 4. L'australià Eric Young, autor de diverses biblioteques criptogràfiques, va tornar a introduir les trucades a les funcions criptogràfiques mitjançant la pròpia biblioteca libdes . Aquesta versió limitada de Kerberos es deia eBones. Una implementació de Kerberos versió 5, Heimdal , va ser llançada bàsicament pel mateix grup que va crear KTH-KRB.

Windows 2000 , Windows XP i Windows Server 2003 utilitzen una variant de Kerberos com a sistema d’autenticació per defecte. Algunes addicions de Microsoft a Kerberos estan documentades a RFC 3244 " Microsoft Windows 2000 Kerberos Canvia la contrasenya i estableix els protocols de contrasenya ". MacOS d’ Apple també utilitza Kerberos tant en la versió client com en la versió de servidor.

El 2005, elgrup de treball IETF Kerberos va actualitzar l'especificació [1] . Les actualitzacions recents inclouen:

Descripció

Kerberos es basa en el protocol Needham-Schroeder . Utilitza un tercer fiable per centralitzar la distribució de claus anomenada Centre de distribució de claus (KDC), que consta de dues parts separades lògicament: el servidor d’autenticació (AS) i el servidor de concessió de bitllets (TGS). Kerberos funciona utilitzant "tickets" (anomenats bitllets ) que s'utilitzen per demostrar la identitat dels usuaris.

L'AS manté una base de dades de claus secretes; totes les entitats de la xarxa, ja sigui un client o un servidor, comparteixen la clau secreta només amb l'AS. El coneixement d’aquesta clau serveix per demostrar la identitat d’una entitat. Per a la comunicació entre dues entitats, Kerberos genera una clau de sessió, que els dos terminals poden utilitzar per comunicar-se.

El protocol

El protocol es pot definir de la següent manera mitjançant la notació per a protocols de seguretat , on Alice ( A ) s’autentifica a Bob ( B ) mitjançant el servidor S :

La seguretat del protocol depèn en gran mesura de les marques de temps T i de les vides L com a indicadors fiables de la creació recent de la comunicació per evitar atacs de reproducció (vegeu la lògica BAN ).

És important tenir en compte que el servidor S és alhora un servei d’autenticació (AS) i un servei de concessió de tiquets (TGS).

Operacions Kerberos

A continuació es mostra una descripció simplificada del protocol. S'utilitzaran les següents abreviatures: AS = Servidor d'autenticació, TGS = Servidor de concessió de tiquets, SS = Servidor de serveis.

En resum: el client s’autentifica amb AS que li proporciona un tiquet de sessió per accedir a TGS, s’autentifica amb TGS i rep el tiquet per obrir una sessió de comunicació amb SS.

En detall:

Usuari: autenticació bàsica

  1. Un usuari introdueix el nom d’usuari i la contrasenya al client.

Client: autenticació AS

  1. El client envia un missatge sense xifrar a l’AS que sol·licita serveis per a l’usuari. ("L'usuari XYZ vol sol·licitar serveis"). Ni la clau secreta ni la contrasenya no s’envien a l’AS.
  2. L’AS comprova si el client es troba a la seva base de dades. Si és així, envia dos missatges al client:
    • Missatge A: clau de sessió Client-TGS xifrada mitjançant la clau secreta de l'usuari.
    • Missatge B: Ticket-Granting Ticket (que inclou identificador de client, adreça de xarxa, temps de validesa del bitllet i clau de sessió client-TGS ). El tiquet que concedeix el bitllet es xifra mitjançant la clau secreta de TGS.
  3. Quan el client rep els missatges A i B, desxifra el missatge A per obtenir la clau de sessió client-TGS . Aquesta clau s'utilitza per a comunicacions posteriors amb el TGS. (Nota: el client no pot desxifrar el missatge B, que es va xifrar amb la clau secreta de TGS). En aquest moment, el client té els mitjans per autenticar-se amb TGS.

Client: autenticació TGS

  1. Quan sol·licita serveis, el client envia els dos missatges següents a TGS:
    • Missatge C: consistent en el tiquet de concessió de tiquets (que li envia l’AS al missatge B) i l’identificador del servei sol·licitat
    • Missatge D: autenticador (que consisteix en identificador de client i marca de temps), xifrat amb la clau de sessió del client - TGS .
  2. En rebre els missatges C i D, TGS desxifra el missatge C amb la seva pròpia clau i del missatge extreu la clau de sessió del client - TGS que utilitza per desxifrar el missatge D (autenticador). En aquest moment, envia els dos missatges següents al client:
    • Missatge E: bitllet client-servidor (que inclou identificador de client, adreça de xarxa de client, període de validesa i clau de sessió client-servidor) xifrat mitjançant la clau secreta del servidor que ofereix el servei.
    • Missatge F: clau de sessió client-servidor xifrada mitjançant la clau de sessió client-TGS .

Client: autenticació SS

  1. En rebre els missatges E i F del TGS, el client pot autenticar-se amb la SS. El client es connecta a la SS i envia els dos missatges següents:
    • Missatge E: bitllet client-servidor xifrat amb la clau secreta SS.
    • Missatge G: un nou autenticador, que inclou l’identificador de client, la marca de temps i que es xifra mitjançant la clau de sessió client-servidor .
  2. El servidor desxifra el bitllet mitjançant la seva clau secreta i envia el següent missatge al client per confirmar la seva identitat i la seva voluntat de proporcionar el servei al client:
    • Missatge H: la marca de temps trobada a l'autenticador incrementada en una, xifrada mitjançant la clau de sessió client-servidor .
  3. El client desxifra la confirmació mitjançant la clau de sessió client-servidor i comprova que la marca de temps s’actualitza correctament. Si és així, el client pot confiar en el servidor i començar a fer sol·licituds de servei.
  4. El servidor proporciona els serveis al client.

Usos

El següent programari és capaç d’utilitzar Kerberos per a l’autenticació:

  • OpenSSH (amb Kerberos 5 o posterior)
  • NFS (a partir de la versió NFSv4)
  • PAM (amb el mòdul pam_krb5)
  • SOCKS (de SOCKS5)

Bibliografia

  • Kerberos , a Enciclopèdia del pirata informàtic , Sprea International, 2011, pp. 39-43.
  • B. Clifford Neuman i Theodore Ts'o, Kerberos: Un servei d'autenticació per a xarxes d'ordinadors , comunicacions IEEE, 32 (9) pp33-38. Setembre de 1994. [2]
  • John T. Kohl, B. Clifford Neuman i Theodore Y. T'so, L'evolució del sistema d'autenticació Kerberos . Sistemes oberts distribuïts, pp78-94. IEEE Computer Society Press, 1994.

Articles relacionats

Altres projectes

Enllaços externs

Control de l'autoritat GND ( DE ) 4648184-9