Che cos'è Kerberos?

Kerberos è un protocollo di autenticazione della rete di computer. È progettato al MIT per consentire risorse di rete in modo sicuro. In questo articolo vedremo discusso il concetto di Kerberos e il suo funzionamento con l'aiuto di un esempio.

Come funziona Kerberos?

Kerberos funziona in tre passaggi. Ora parliamo di questi tre passaggi uno per uno.

Passo 1:

Accesso

Il cliente inserisce il suo nome in una stazione di lavoro arbitraria. Quindi la workstation invia il nome al server di autenticazione in formato testo normale.
In risposta, il server di autenticazione esegue alcune azioni. Innanzitutto, crea il pacchetto del nome utente, ad esempio Client e genera la chiave di sessione. Crittografa questo pacchetto con una chiave simmetrica condivisa dal server di autenticazione con Ticket Granting Server (TGS). L'output di questo processo è chiamato Ticket Granting Ticket (TGT). Quindi il server di autenticazione combina sia TGT che la chiave di sessione e li crittografa insieme utilizzando la chiave simmetrica derivata dalla password del client.

Nota: TGT può essere aperto solo utilizzando TGS e l'output finale può essere aperto solo dal client.

Dopo aver ricevuto questo messaggio, la workstation dell'utente richiede la password. Quando un utente o un client immette la sua password, la workstation genera la chiave simmetrica derivata dalla password di un server di autenticazione. Questa chiave viene utilizzata per estrarre la chiave di sessione e TGT. Successivamente, la workstation distrugge la password del client dalla sua memoria per impedire l'attacco.
Nota: gli utenti non possono aprire il Ticket di concessione del biglietto.

Passo 2:

Ottenere un servizio che concede il biglietto.

Supponiamo che, dopo aver effettuato correttamente l'accesso, l'utente desideri comunicare con altri utenti tramite il server di posta. Per quel client informa la sua workstation che vuole contattare un altro utente X. Quindi il client ha bisogno di un ticket per comunicare con la X. A questo punto, la workstation client crea un messaggio destinato a un server che concede ticket, che contiene gli elementi di seguito indicati -
• Ticket Concessione del biglietto
• l'id della X i cui servizi sono interessati ai clienti.
• Il timestamp corrente deve essere crittografato con la stessa chiave di sessione.

Concessione del biglietto, il biglietto viene crittografato solo con la chiave segreta del server che concede il biglietto, quindi solo il server che concede il biglietto può aprire un biglietto che concede il biglietto. A causa di questo server di concessione dei ticket ritiene che il messaggio provenga dal client effettivamente. Il ticket di concessione del ticket e la chiave di sessione sono stati crittografati dal server di autenticazione della sessione.

Un server di autenticazione lo crittografa utilizzando la chiave segreta derivata dalla password del client. Quindi l'unico cliente può aprire il pacchetto e recuperare il ticket Concessione del biglietto
Una volta che il server di concessione ticket è soddisfatto dei dettagli immessi dal client, il ticket di concessione ticket crea una chiave di sessione KAB per il client per eseguire la comunicazione protetta con X. Ticket Granting Server lo invia due volte al client - la prima volta che invia quando combinato con l'ID di X e crittografato con la chiave di sessione, la seconda volta viene inviato quando combinato con l'ID client e crittografato con la chiave segreta di X KB.

In questo caso, l'attaccante può provare a ottenere il primo messaggio inviato dal client e può tentare un attacco di risposta. Tuttavia, ciò non riuscirebbe poiché il messaggio client contiene un timestamp crittografato e l'attaccante non può sostituire il timestamp in quanto non dispone della chiave di sessione.

Passaggio 3:

L'utente contatta X per accedere al server.

Un client invia KAB a X per creare una sessione con X. Per comunicazioni sicure, il client inoltra KAB crittografato con la chiave segreta di X a X. X può accedere a KAB. Per proteggere da un attacco di risposta, il client invia un timestamp a X che è crittografato con KAB.

X usa la sua chiave segreta per ottenere le informazioni, da queste informazioni usa KAB per decrittografare il valore del timbro. Quindi X aggiunge 1 nel valore data / ora e lo crittografa utilizzando KAB e lo invia al client. Il client quindi apre il pacchetto e verifica il timbro incrementato di X. Da questo processo il client assicura che la X abbia ricevuto lo stesso KAB che viene inviato dal client.

Ora client e X possono comunicare tra loro in modo sicuro. Entrambi utilizzano la chiave segreta condivisa KAB per crittografare i dati al momento dell'invio e decrittografare il messaggio utilizzando la stessa chiave. Supponiamo che il client possa voler comunicare con un altro server Y, in tal caso, il client ha appena n3d per ottenere un'altra chiave segreta dal server di concessione ticket. Dopo aver ottenuto la chiave segreta, può comunicare con Y in modo simile, come abbiamo discusso nel caso di X. Se il client può comunicare di nuovo con X, può utilizzare la stessa chiave precedente, non è necessario generare un ticket ogni volta. Solo per la prima volta, deve ottenere il biglietto.

Vantaggi e svantaggi di Kerberos

Di seguito sono riportati i vantaggi e gli svantaggi:

Vantaggi di Kerberos

  1. In Kerberos, i clienti e i servizi si autenticano reciprocamente.
  2. È supportato da vari sistemi operativi.
  3. I biglietti in Kerberos hanno un periodo limitato. Inoltre, se il biglietto viene rubato, è difficile riutilizzarlo a causa delle forti esigenze di autenticazione.
  4. Le password non vengono mai inviate in rete non crittografate.
  5. In Kerberos, le chiavi segrete sono condivise che sono più efficienti della condivisione di chiavi pubbliche.

Svantaggi di Kerberos

  1. È vulnerabile a password deboli o ripetute.
  2. Fornisce autenticazione solo per servizi e client.

Conclusione

In questo articolo abbiamo visto Cos'è Kerberos, come funziona insieme ai suoi vantaggi e svantaggi. Spero che questo articolo ti sia stato utile.

Articoli consigliati

Questa è una guida a Kerberos. Qui discutiamo cos'è Kerberos, come funziona Kerberos e i suoi vantaggi e svantaggi. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più–

  1. Tipi di Web Hosting
  2. Che cos'è l'applicazione Web?
  3. Che cos'è Star Schema?
  4. Matrici nella programmazione Java

Categoria: