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:
- Richiesta di Autenticazione: Il client invia una richiesta di autenticazione all'AS.
- Autenticazione e TGT: L'AS autentica il client e rilascia un TGT crittografato con la chiave del TGS.
- Richiesta di Ticket di Servizio: Il client invia il TGT al TGS insieme alla richiesta per un ticket di servizio.
- Rilascio del Ticket di Servizio: Il TGS decrittografa il TGT e, se valido, rilascia un ticket di servizio crittografato con la chiave del server.
- Richiesta di Servizio: Il client invia il ticket di servizio al server.
- 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.