2.1 KiB
Kerberos v4
Introduce un terzo elemento (Ticket Granting Service). E' attualmente usato da Microsoft, sviluppato dall'MIT, ottimo per reti locali. L'utilizzo estensivo di Timestamps rende vano il replay attack. L'utilizzo di messaggi authenticator, assicurano l'identita' del client. Complesso.
Funzionamento
E' un dialogo tra 4 soggetti: Client, Authentication Service, Ticket Granting Service, Server. Ogni soggetto condivide alcune chiavi con gli altri soggetti (non tutti) che sono generate manualmente, in maniera sicura. Il Ticket Granting Service e' utilizzato per generare ticket che permettano l'accesso al server.
V = servizio richiesto (server)
LT = lifetime
T = timestamp
Sequenza:
-
C manda ad AS
(IDc, IDtgs, T1)
-
L'AS risponde con
(E[kc,as](Kc,tgs, IDtgs, T2, LT2, ticket[tgs]))
- il ticket[tgs] e'
E[Kc,tgs] (Kc,tgs, IDc, MACc, T2, LT2, IDtgs)
- C manda al TGS
(IDv, ticket[tgs], authenticator[c])
- authenticator[c] e'
E[Kc,tgs] (IDc, MACc, T3)
. E' usato per dimostrare l'identita' di C.
- Il TGS risponde con
E[ktgs,v] (Kc,v, IDv, T4, ticket[v])
.
- il ticket[v] e'
E[Ktgs,v] (Kc,v, IDc, MACc, T5, LT5, IDv)
.
- C a questo punto comunica direttamente con V, mandando
(IDc, ticket[v], authenticator2[c])
.
- authenticator[c] e'
E[Kc,v] (IDc, MACc, T6)
. E' usato per dimostrare l'identita' di C.
- V risponde con
E[kc,v] (T5 + 1)
- il T5 viene restituito modificato (una qualunque funzione va bene, basta che C e V ne siano a conoscenza).
Autenticazione con chiave asimmetrica (SSL/TLS)
In applicativi in cui non e' possibile condividere chiavi simmetriche a priori (ecommerce, banking) e' necessario un protocollo a chiavi asimmetriche.
Digressione: autenticazione HTTP
Il protocollo HTTP utilizza una catena di servizi: Client/Browser, Proxy/Tunnel (un numero vario), Gateway (traduce richieste), Server.
Autenticazione in HTTP
Vari metodi, in ordine di sicurezza:
-
keep-alive: non un vero e proprio sistema di sessione, semplicemente un timeout e un numero di richieste/risposte massimo per mantenere aperta una connessione.
-
Cookie / URL rewriting
-
SSL / TLS