Cos'è kerberos?

Kerberos: Autenticazione di Rete Sicura

Kerberos è un protocollo di autenticazione di rete che consente a client e server di autenticarsi reciprocamente in modo sicuro su una rete non sicura. Funziona utilizzando la crittografia a chiave simmetrica e si basa su un "trusted third party" chiamato Key Distribution Center (KDC).

Principi Fondamentali:

  • Autenticazione Reciproca: Sia il client che il server verificano l'identità l'uno dell'altro.
  • Trusted Third Party (KDC): L'autenticazione è centralizzata e gestita da un'entità fidata, il KDC.
  • Crittografia a Chiave Simmetrica: Kerberos utilizza algoritmi di crittografia a chiave simmetrica come AES o DES.
  • Ticket: L'accesso ai servizi è autorizzato tramite ticket, che sono credenziali temporanee che concedono l'accesso a specifiche risorse.

Componenti Chiave:

  • Client: L'entità che richiede l'accesso a un servizio.
  • Server: L'entità che fornisce il servizio.
  • Key Distribution Center (KDC): Il centro di autenticazione responsabile della gestione delle chiavi e dell'emissione dei ticket. Il KDC è composto da due parti logiche:
    • Authentication Server (AS): Autentica i client e rilascia un Ticket Granting Ticket (TGT).
    • Ticket Granting Service (TGS): Rilascia i ticket di servizio ai client, basandosi sul TGT.

Processo di Autenticazione:

  1. Richiesta di Autenticazione: Il client invia una richiesta di autenticazione all'AS.
  2. Autenticazione e TGT: L'AS autentica il client e rilascia un TGT crittografato con la chiave del TGS.
  3. Richiesta di Ticket di Servizio: Il client invia il TGT al TGS insieme alla richiesta per un ticket di servizio.
  4. Rilascio del Ticket di Servizio: Il TGS decrittografa il TGT e, se valido, rilascia un ticket di servizio crittografato con la chiave del server.
  5. Richiesta di Servizio: Il client invia il ticket di servizio al server.
  6. Autenticazione del Server: Il server decrittografa il ticket di servizio e autentica il client. Se l'autenticazione ha successo, il server concede l'accesso al servizio richiesto.

Vantaggi:

  • Sicurezza: Fornisce un'autenticazione forte e resistente agli attacchi di "man-in-the-middle".
  • Autenticazione Centralizzata: Semplifica la gestione delle credenziali e delle politiche di sicurezza.
  • Single Sign-On (SSO): Consente agli utenti di accedere a più servizi con un'unica autenticazione.
  • Delega: Supporta la delega delle credenziali, permettendo a un servizio di agire per conto di un utente.

Svantaggi:

  • Punto Singolo di Fallimento: Il KDC è un punto singolo di fallimento. Se il KDC non è disponibile, l'autenticazione non può avvenire.
  • Sincronizzazione dell'Orologio: Richiede una sincronizzazione dell'orologio precisa tra i client, i server e il KDC. Differenze significative di tempo possono causare problemi di autenticazione.
  • Complessità: La configurazione e la gestione di Kerberos possono essere complesse.

Concetti Importanti:

Kerberos è ampiamente utilizzato in ambienti aziendali e governativi per proteggere l'accesso alle risorse di rete. Implementazioni comuni includono Active Directory di Microsoft e sistemi operativi Unix-like.