Resúmenes
Apuntes universitarios en formato Markdown desde Obsidian.
Kerberos
download Descargar MDNato a metà anni '80, Kerberos è un protocollo progettato per l'autenticazione distribuita in rete, permettendo a utenti, applicazioni e computer di autenticarsi a vicenda senza inviare password in chiaro.
1. Modello di Fiducia
- Kerberos Server (Ente Fidato): Unico punto di fiducia centrale per tutte le macchine della rete.
- Chiavi Simmetriche: Ogni utente/server condivide una chiave segreta solo con il Kerberos Server.
- Mutua Autenticazione: Client e server si riconoscono reciprocamente grazie alla mediazione del server centrale.
2. Componenti e Protocollo
- KDC (Key Distribution Center): Gestisce le chiavi.
- TGS (Ticket Granting Service): Rilascia i ticket per i servizi specifici.
- Tickets: Funzionano come capabilities riutilizzabili per una durata limitata.
Fasi del Protocollo
- Richiesta TGS: Il client $C$ contatta il KDC dichiarando la propria identità e richiedendo di parlare con il TGS.
- Risposta TGS: Il KDC invia a $C$ un ticket per il TGS.
- Richiesta Servizio: $C$ presenta il ticket al TGS.
- Ticket Servizio: Il TGS restituisce a $C$ un ticket per il server di destinazione $M$ (es. server di stampa). Il messaggio è cifrato con la chiave tra Client e TGS e contiene:
- La chiave di sessione tra Client e $M$.
- Il ticket per $M$ (cifrato con la chiave tra $M$ e Kerberos).
- Accesso: $C$ presenta il ticket a $M$. Avviene la mutua autenticazione e i due iniziano a comunicare con la chiave condivisa.
3. Evoluzione e Difetti
Differenze tra Versioni
- V4: Utilizzava DES. Gli autenticatori non erano legati al messaggio, permettendo usi non previsti.
- V5 (Standard attuale, usato in AD): Supporta AES. Include informazioni sul messaggio corrente nell'autenticatore per prevenire usi impropri. Richiede un timestamp cifrato nella richiesta iniziale per prevenire attacchi brute force e replay.
Vulnerabilità note
- Reflection Attack: Client e server usano la stessa chiave per andata e ritorno. Se un attaccante forza il server a cifrare un contenuto scelto da lui (es. in un server mail), può scoprire informazioni.
- Brute Force: Se le richieste non sono autenticate, chiunque può chiedere ticket cifrati con chiavi altrui per tentare il cracking offline.