La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Protocollo di autenticazione KERBEROS Corso di Sistemi di elaborazione delle informazioni: sicurezza Anno Accademico 2000-2001 Daniela Demergasso.

Presentazioni simili


Presentazione sul tema: "Protocollo di autenticazione KERBEROS Corso di Sistemi di elaborazione delle informazioni: sicurezza Anno Accademico 2000-2001 Daniela Demergasso."— Transcript della presentazione:

1 Protocollo di autenticazione KERBEROS Corso di Sistemi di elaborazione delle informazioni: sicurezza Anno Accademico Daniela Demergasso

2 KERBEROS KERBEROS: un protocollo di autenticazione. Storia Le componenti del processo di autenticazione. Protezione della rete entro un dominio (reame). Protezione della rete tra più domini. Kerberos versioni 4 e 5. Limiti.

3 Servizio di autenticazione Kerberos Permette ad un processo (client), in nome di un utente (user), di provare la sua identità ad un verificatore (verifier) senza spedire dati attraverso la rete. E della categoria authentication for real-time. Usato per applicazioni quali: remote login, file system r/w, information retrieval su Web.

4 Storia di Kerberos E stato sviluppato a metà degli anni 80 dall MIT (Massachusset Institute of Tecnology), come parte del Project Athena Network. La release Kerberos 4 è stata la prima ad essere usata al di fuori dellMIT. Dai limiti di Kerberos 4 (Es. luso del DES) si è realizzata limplementazione di Kerberos 5. Kerberos 5 è definito dal Request for Comment (RFC) 1510.

5 Componenti di Kerberos Kerberos ha processo di autenticazione three- sided a chiave segreta condivisa(DES). Il processo coinvolge tre componenti: lapplicazione client che rappresenta lutente che accede a un servizio lapplication server: è la risorsa che vuole accertarsi che i client siano autorizzati il repository centralizzato delle chiavi, Key Distribution Center (KDC), e il servizio di generazione ticket Ticket Granting Service (TGS) (Authentication Server)

6 Componenti di Kerberos

7 DES (Data Encryption Standard) E un cifrario composto sviluppato dallIBM. Il testo in chiaro è codificato in blocchi di 64 bit generando 64 bit di testo cifrato. Usa una chiave a 56 bit che permette codifica e decodifica eseguendo 19 passi.

8 Protezione della rete entro un dominio Un client C1 che vuole accedere a informazioni su di un application server S1 allinterno di un reame contatta il KDC per ottenere lautenticazione. A fronte di tale richiesta è generata una catena di eventi che porta allautenticazione di C1. In corrispondenza di tali eventi sono generati dei messaggi della forma: KDC > C1: {12345} K C1,S1 Protezione della rete entro un dominio

9 Client C1 KDC TGS Server S1 C1 KDC ts1 { K C1,TGS {C1 K C1,TGS ts2}K TGS }K C1 {S1 K C1,S1 }K C1,TGS {C1 K C1,S1 }K S1 { ts4 + 1} K C1,S1 {C1 K C1,S1 }K S1 {ts4}K C1,S1 S1 {C1 K C1,TGS ts2}K TGS {ts3 cks}K C1,TGS

10 Protezione della rete entro un dominio PASSO 1 C1 effettua la richiesta di autenticazione al KDC. Il messaggio inviato è: C1>KDC: C1 KDC ts1 Il timestamp ts1 è lidentificativo della richiesta presso il KDC.

11 Protezione della rete entro un dominio PASSO 2 KDC risponde con Ticket Granting Ticket (TGT) criptato con una chiave K TGS conosciuta solo dal TGS. K C1,TGS chiave di sessione tra TGS e C1. TGT contiene K C1,TGS e un timestamp ts2. Lintera risposta del KDC è criptata con la chiave privata di C1. Messaggio: KDC>C1: {K C1,TGS {C1 K C1,TGS ts2}K TGS }K C1

12 Protezione della rete entro un dominio PASSO 3 C1decifra con la sua chiave K C1 il messaggio ricevuto e ne estrae il TGT e la chiave di sessione K C1,TGS. C1 manda la richiesta al TGS composta da: nome dellapplication server S1 TGT un authenticator criptato con K C1,TGS contenente un timestamp ts3 per i controlli di validità un checksum cks per i controlli di integrità. Messaggio: C1>TGS: S1 {C1 K C1,TGS ts2}K TGS {ts3 cks}K C1,TGS

13 Protezione della rete entro un dominio PASSO 4 TGS decripta il TGT con la sua chiave e controlla la validità della chiave di sessione K C1,TGS ricevuta. Se è valida decripta lauthenticator e ne controlla validità e integrità. Se tutto è corretto genera la chiave di sessione per C1 ed S1 K C1,S1 costruisce un ticket per S1contente lidentità di C1 e K C1,S1, criptato con K S1( chiave privata di S1). Completa il messaggio con una parte contenente lidentità di S1 e la chiave K C1,S1, criptati con K C1,TGS. TGS>C1: {S1 K C1,S1 }K C1,TGS {C1 K C1,S1 }K S1

14 Protezione della rete entro un dominio PASSO 5 C1 decripta parte del messaggio, con la chiave che condivide con il TGS, ottenendo la chiave di sessione per comunicare con lapplication server K C1,S1. Manda a S1 un messaggio contenente il ticket ricevuto dal TGS per S1 un timestamp ts4 criptato con K C1,S1. Messaggio: C1>S1: {C1 K C1,S1 }K S1 {ts4}K C1,S1

15 Protezione della rete entro un dominio PASSO 6 S1 decifra con la sua chiave privata il ticket ottenendo la chiave di sessione condivisa con C1 K C1,S1. Controlla la validità del messaggio. Poiché è sicuro di parlare con C1 gli manda un messaggio contenente il timestamp ts4 incrementato di uno e criptato con la chiave di sessione. Messaggio: S1>C1: { ts4 + 1} K C1,S1 Questo messaggio è per C1 la prova che sta comunicando con S1.

16 Protezione della rete entro un dominio Ora C1 e S1 sono sicuri delle reciproche identità. Se C1 vuole comunicare con un altro application server S2 deve solo ripetere la richiesta (a partire dal passo 3) specificando S2 al posto di S1. Non deve autenticarsi di nuovo presso il KDC. Il TGS gli fornirà subito un ticket cifrato per il server S2 che C1 potrà inviargli per autenticarsi e iniziare una nuova sessione. Il ticket presentato è solo unautenticazione, quello che C1 può fare dipende solo dal server contattato.

17 Protezione della rete tra più domini Kerberos può coprire più domini. Ogni reame dispone di un KDC e di un TGS. C1 per autenticarsi presso un server in altro reame fa una richiesta ai propri KDC e TGS locali. TGS riconosce la richiesta per un altro reame e fornisce a C1 un TGT per la richiesta al TGS remoto. Il TGT è cifrato con la chiave condivisa dai due TGS.

18 Protezione della rete tra più domini Il TGS remoto autentica il client fornendogli il ticket per il server voluto. I client dovrebbero registrarsi nei diversi domini: proposta inaccettabile. Kerberos 5 prevede la condivisione di chiavi gerarchica. C1 contatta un reame che conosce laltro reame e così via fino a che non si trova il TGS remoto che emette i ticket per il server voluto.

19 Kerberos 4 e Kerberos 5 Kerberos 4 è passibile del off-line password guessing. In Kerberos 5 si è risolto il problema: il timestamp ts1 del primo messaggio viene criptato con la chiave privata del client, ottenuta dallimmediata digitazione della password e solo dopo è inviato al KDC. C1>KDC: C1 KDC {ts1} K C1 KDC determina la K C1 dal suo data base locale, decifra ts1e solo se il tempo è corretto manda il TGT.

20 Kerberos 4 e Kerberos 5 Client C1 KDC C1 KDC ts1 Client C1 KDC C1 KDC {ts1}K C1 Kerberos 5: Il primo messaggio inviato e` criptato. Kerberos 4: Il primo messaggio inviato non e` criptato.

21 Limiti di Kerberos E soggetto ad attacchi con dizionari di password. Ogni programma che lo usa deve essere kerberizzato e questo non è sempre possibile. Il server di autenticazione KDC deve essere fisicamente protetto. Tutte le password sono crittografate con una singola master key. Un server compromesso implica il cambiamento di tutte le password.

22 Limiti di Kerberos Il server di Kerberos deve essere sempre disponibile. Non cè protezione contro le modifiche del sistema Sw: un utente non può sapere se il server è compromesso. Kerberos non lavora bene in ambiente time- sharing. (Esempio: memorizzazione dei ticket in /tmp di Unix) Il tempo limitato per la validità dei ticket è un problema per applicazioni con run time elevato.

23 Riferimenti Reti di computer Tanenbaum -Terza Edizione - Edizione Italiana (1997) UTET (Prentice Hall International) Kerberos Authentication System G.Gramegna - Università degli studi di Padova Un cerbero per proteggere i dati Michael E. Chacon


Scaricare ppt "Protocollo di autenticazione KERBEROS Corso di Sistemi di elaborazione delle informazioni: sicurezza Anno Accademico 2000-2001 Daniela Demergasso."

Presentazioni simili


Annunci Google