Un servizio di autenticazione per sistemi di rete aperti

Slides:



Advertisements
Presentazioni simili
Elementi di Crittografia MAC e FUNZIONI HASH
Advertisements

Cos’è la posta elettronica
Il FURTO D’IDENTITÀ Dijana Kryezi IV A SIA.
CORSO DI SICUREZZA SU RETI II PROF. A. DE SANTIS ANNO 2006/07 Informatica granata Gruppo 2 ISP Gruppo 3 ISP.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Sicurezza in EGEE Vincenzo Ciaschini Roma.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D1 Architetture di rete.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
Microsoft Visual Basic MVP
Configuring Network Access
INTERNET: RISCHI E PERICOLI
Safe.dschola.it Attenti alle sovrapposizioni! Procedure Reali Procedure Qualità Procedure Privacy Le politiche per la privacy e la sicurezza non si risolvono.
Sicurezza II Prof. Dario Catalano Autentica Mediata.
Sicurezza II Prof. Dario Catalano Security Handshake Pitfalls.
Sicurezza II Prof. Dario Catalano Sistemi di Autentica.
Sicurezza II Prof. Dario Catalano Autentica di Umani.
Sicurezza II Prof. Dario Catalano Strong Password Protocols.
NESSUS.
Hash Tables Indirizzamento diretto Tabelle Hash Risoluzioni di collisioni Indirizzamento aperto.
Per crittografia si intende la protezione
Secure Shell Giulia Carboni
corso: RETI DI CALCOLATORI E SICUREZZA
Parma, 20 marzo 2003 Francesco Schinaia Firma Digitale e strumenti di accesso ai servizi
Prof. Zambetti -Majorana © 2008
Autenticazione. Definizione L'autenticazione è il processo attraverso il quale è verificata l'identità di un computer o di una rete: è il sistema che.
Kerberos v5 Presentazione dello studente Flavio Caroli per il corso di Griglie Computazionali prof. Tiziana Ferrari - a.a. 2005/06 -
Supporto per servizi di File Hosting Presentazione di progetto per lesame di Reti di Calcolatori LS Valerio Guagliumi
Protocollo di autenticazione KERBEROS
Gruppo Directory Services Rapporto dell'attivita' svolta - Marzo 2000.
COME TRASFERIRE I FILE IN LAVORAZIONE DA UNA CONSOLLE ALLALTRA TRAMITE SERVER La funzione è utile sia per lavorare su più computer, uno a casa e uno in.
Modulo 7 – reti informatiche u.d. 2 (syllabus – )
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
LA CRITTOGRAFIA QUANTISTICA
SERVIZIO EDI – Primo Accesso
Chi è Autentica Autentica nasce come società specializzata nel trattamento della sicurezza dei transponder Deriva la sua esperienza dal decennale lavoro.
Fabrizio Grossi Verifica delle attività. L'operato degli amministratori di sistema deve essere oggetto, con cadenza almeno annuale, di un'attività
Secure Socket Layer (SSL) Transport Layer Security (TLS)
“La firma elettronica per Pavia Digitale”
Creare pagine web Xhtlm. Struttura di una pagina.
Sicurezza Informatica. Conoscere ed evitare! 2/19 I Virus e le truffe informatiche.
Internet Explorer I preferiti Stampa di pagine web Salvataggio di pagine web Copia di elementi di pagine web in altri applicativi.
Architettura e modelli disponibili. SoLo mobile solutions, architecture Software nei cellulari Appliance presso data centre cliente.
_________________________________________________________________ Trade System Srl - Viale Gran Sasso Corropoli (TE) Tel: Fax:
06/12/2007 Progetto cedolini online di Lottomatica Automatizzare il processo di consegna dei cedolini delle buste paga.
L’architettura a strati
IPSec Fabrizio Grossi.
Creato da Riccardo Nuzzone
Nemesi Creazione e pubblicazione di una rivista online tramite l’utilizzo di Java Message Service.
Analisi e sperimentazione di una Certification Authority
Registrazione degli ospiti INFN e gestione del database via web M.Corosu, A.Brunengo INFN Sezione di Genova Linguaggio di programmazione: perl Web server:
Relatore: Prof. Ing. Stefano SalsanoLaureando: Flaminio Antonucci.
PKI e loro implementazione Corso di Sisitemi Informativi Teledidattico A.A. 2006/07
Infrastruttura per la gestione distribuita di un sistema di prenotazione Progetto di: Fabio Fabbri Matricola
27 marzo 2008 Dott. Ernesto Batteta.  Le minacce nello scambio dei documenti  Crittografia  Firma digitale.
Sicurezza delle comunicazioni1 Introduzione Consistente sviluppo delle applicazioni telematiche dovuto a: –Evoluzione tecnologica delle trasmissioni –potenze.
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
Reti di calcolatori e sicurezza “Configurare il web-server Apache” a cura di Luca Sozio.
Servizi Internet Claudia Raibulet
Progetto e Realizzazione di un servizio di Chat Progetto di: Nicoli Leonardo Corso di: Reti di Calcolatori L-S.
1 Laboratorio di Introduzione alla Programmazione §II MODULO §3 crediti §Esame e voto unico (su 6 crediti totali)
Universita` degli studi di Perugia Corso di Laurea in Matematica Attribute Certificate Valentina Hamam Rosa Leccisotti.
Alex Marchetti Infrastruttura di supporto per l’accesso a un disco remoto Presentazione del progetto di: Reti di calcolatori L-S.
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
Servizio per l’Informatica Centrale di Ateneo Portale della Didattica Un’introduzione
GUIDA ALL’UTILIZZO DEL
IT SECURITY Comunicazioni. Posta elettronica I messaggi ( ) commerciali viaggiano in rete “criptati”, cioè scritti con una “chiave pubblica” nota.
La firma digitale. Che cosa é la firma digitale? La firma digitale è una informazione aggiunta ad un documento informatico al fine di garantirne integrità.
PPT- Postecert PEC – 05/2009 Postecert Posta Elettronica Certificata.
Cenni di Crittografia Luigi Vetrano TechnoLabs S.p.A. L’Aquila, Aprile 2011.
FESR Trinacria Grid Virtual Laboratory La sicurezza dei dati in ambiente Trigrid Giordano Scuderi.
Un sistema di sicurezza dei dati.  La crittografia, il cui termine indica "nascosto", è la branca della crittologia che tratta delle "scritture nascoste",
Transcript della presentazione:

Un servizio di autenticazione per sistemi di rete aperti Kerberos Un servizio di autenticazione per sistemi di rete aperti Tesina corso di sicurezza a/a 2001/02 a cura di Rossi Daniele

Introduzione Kerberos è un servizio di autenticazione distribuito che permette ad un processo (client) in nome di un utente (user) di provare la sua identità senza spedire dati attraverso la rete che possano permettere ad un intruso di impersonarlo successivamente. Il nome deriva dal cane a tre teste della mitologia greca che sorveglia le porte dell'Ade, il regno dei morti. Fu sviluppato a metà degli anni 80 come parte del progetto Athena al MIT e attualmente è alla versione 5.

Introduzione (2) Basato sul modello di distribuzioni delle chiavi sviluppato da Needham e Schroeder usa la crittografia a chiave simmetrica per cifrare e decifrare le comunicazioni tra client e server. Sono cruciali in questo protocollo le figure dell‘ "Authentication Server" (AS) e del “Ticket Granting Server” (TGS). L'AS conserva in un suo database le chiavi degli utenti; il suo compito è quello di fornire ad un client che vuole comunicare con un server un ticket (TGT). Tramite questo ticket il client potra’ provare la sua identita’ al TGS e ricevere da questo una chiave di sessione con la quale potra’ stabilire una comunicazione cifrata col server.

Cosa succede nel dettaglio Supponiamo che il client voglia accedere ad un server : Inizialmente effettua una richiesta di autenticazione all’AS inviando un messaggio contenente Nome del client Nome del server a cui si vuole accedere Una data di scadenza calcolata a partire dalla data e dall’ora locale del client Nome client, Nome Server, scadenza Client AS Server TGS

L’AS prepara 2 copie di una chiave di sessione Ks valida per l’ algoritmo crittografico scelto e crea 2 ticket che inviera’ al client: uno cifrato con la chiave del TGS; l’altro cifrato con la chiave del client. In ogni ticket c’e’ una copia di Ks, c’e’ la data di scadenza ricevuta dal cliente ci sono 2 identificativi: l’ID del client nel ticket cifrato con Ktgs e l’ID del server nel ticket cifrato con Kcli. Nome client, Nome Server, scadenza Client AS Kcli (scadenza,Ks,ID server) Ktgs(scadenza,Ks,ID client) Server TGS

timestamp chksum [other] Quando il client riceve i due Ticket decifra quello cifrato con la sua chiave segreta, estrae la chiave di sessione Ks, prepara un ticket speciale chiamato “authenticator” cifrato con Ks ed invia al TGS l’ ”authenticator” e il Ticket cifrato con Ktgs. Questo Ticket e’ chiamato TGT (Ticket Granting Ticket) ed ha una vita relativamente breve, circa 8 ore. L’ “authenticator” contiene un timestamp calcolato a partire dall’ora locale del client e un chksum per un controllo dell‘ integrita’ del ticket. Ticket Authenticator Scadenza Ks ID server timestamp chksum [other] Nome client, Nome Server, scadenza Client AS Kcli (scadenza,Ks,ID server) Ktgs(scadenza,Ks,ID client) Ktgs(scadenza,Ks,ID client) Ks(timestamp,chksum,ID server) Server TGS

Il TGS quindi riceve il Ticket e l’ “authenticator”, con la propria chiave segreta decifra il Ticket ed estrae la chiave di sessione Ks. Con Ks decifra l’ “authenticator”, grazie al quale puo’ verificare la scadenza della chiave usando l'informazione contenuta nel Ticket, se questa è valida ha la certezza che essa sia stata generata dall’ AS perché solo quest'ultimo conosce la sua chiave segreta; analogamente decifrando l'Authenticator il TGS ne verifica l'integrità con il chksum e controlla che esso non sia stato già spedito usando il timestamp in esso contenuto (non si accettano msg con lo stesso timestamp). Questo da la certezza al TGS che la richiesta sia stata fatta dal client associato al Ticket perchè solo lui poteva conoscere la chiave di sessione. Nome client, Nome Server, scadenza Client AS Kcli (scadenza,Ks,ID server) Ktgs(scadenza,Ks,ID client) Ktgs(scadenza,Ks,ID client) Ks(timestamp,chksum,ID server) Server TGS

Una volta autenticato il client, il TGS rilascera' un ticket e una session key per la comunicazione client/server. Al client la session key verra' comunicata criptata con la Ks. Opzionalmente può esser richiesta la "mutua autenticazione" che in genere consiste di un messaggio cifrato con Ks2 contenente il timestamp ricevuto dal client incrementato di un’ unita’. Anche in questo caso il client accetterà il Ticket solo se esso non contiene un timestamp non valido. [Naturalmente l'uso dei timestamp in un sistema distribuito necessita di una forte sincronizzazione dei vari host partecipanti allo scambio. ] Nome client, Nome Server, scadenza Client AS Kcli (scadenza,Ks,ID server) Ktgs(scadenza,Ks,ID client) Ks2(timestamp, chksum) Kser(scadenza,Ks2,ID client) Ktgs(scadenza,Ks,ID client) Ks(timestamp,chksum,ID server) Ks2(timestamp+1) Server TGS Ks(scadenza,Ks2,ID server) Kser(scadenza,Ks2,ID client)

Kcli (scadenza,Ks,ID server) Ktgs(scadenza,Ks,ID client) AS Client Server Nome client, Nome Server, scadenza TGS Ks(timestamp,chksum,ID server) Ks(scadenza,Ks2,ID server) Kser(scadenza,Ks2,ID client) Ks2(timestamp, chksum) Ks2(timestamp+1) Se il client vuole richiedere servizi ad un altro server deve solo comunicare la richiesta al TGS, senza dover richiedere un nuovo TGT al AS. I progettisti di Kerberos previdero la possibilità di avere più domini. Un REAME è l’insieme di tutti i clients e servers registrati presso lo stesso AS. Ogni reame dispone di un AS e di un TGS. Invece di creare un account separato in ognuno dei reame per lo stesso client, cosa inaccettabile per grosse reti, si è introdotta la condivisione di chiavi gerarchiche in modo da limitare il numero di registrazioni da gestire.

Differenze con v4 Dalla versione 4 alla versione 5 sono stati introdotti molti miglioramenti sia all'implementazione che al protocollo. Essi possono essere riassunti nei seguenti punti: Maggior livello di astrazione Virtualmente è supportato qualsiasi algoritmo crittografico, inoltre si potrebbe scegliere una qualsiasi funzione HASH per la conversione "password2key" ed un qualsiasi algoritmo per la generazione dei checksum.

Maggior sicurezza (salt in password2key) L'approccio che si segue è quello di applicare una funzione HASH alla stringa composta concatenando la password dell'utente con un "SALT" il cui valore varia a secondo delle versioni di Kerberos e che serve ad es a rendere la trasformazione sulla password dipendente dalla macchina sulla quale è effettuata. (replay cache) In kerberos v4 le autenticazioni hanno una durata di 5 minuti: se un intruso si impossessa dell’autenticazione, ha accesso ai servizi per 5 minuti. In kerberos v.5 e’ stata aggiunta una replay cache nel server. Questo per salvare l’ authenticator spedito negli ultimi minuti in modo da accorgersi di quando qualcuno sta cercando di ritrasmettere un messaggio gia’ usato.

Kcli (scadenza,Ks,ID server) Ktgs(scadenza,Ks,ID client) AS Client Server Nome client, Nome Server, scadenza TGS Ks(timestamp,chksum,ID server) Ks(scadenza,Ks2,ID server) Kser(scadenza,Ks2,ID client) Ks2(timestamp, chksum) Ks2(timestamp+1) (cifratura nella richiesta di autenticazione all’AS) Kerberos 4 è passibile dell’attacco detto OFF-LINE GUESSING PASSWORD. Un attaccante, sfruttando il fatto che il primo msg è trasmesso interamente in chiaro, crea una copia falsa e ottiene così in risposta un msg dall’ AS cifrato con la chiave privata del client.Ora l’intruso può con un attacco a dizionario decifrare il messaggio ottenuto e ricavarne un ticket valido con cui impersonare il client presso l’ AS ed accedere a servizi per cui non sarebbe autorizzato. In Kerberos 5 il primo messaggio è mandato con la scadenza cifrata con la chiave privata del client.

Ticket Esiste una vasta gamma di autorizzazioni che corrispondono a diverse tipologie di Ticket, distinguiamo in particolare: Ticket iniziali Alcuni servizi possono scegliere di accettare solo quei ticket che sono stati rilasciati direttamente dall'AS, perché il loro rilascio è strettamente legato all'inserimento una password, invece di usare le informazioni in cache. Ticket Pre-Autenticati Il server AS chiede ai client di far di più che mandare solo un messaggio per dimostrare la loro identità.es timestamp corrente criptato con Kcli Ticket postdatati (ticket del TGS) Ticket rinnovabili (TGT) Ticket proxy Un client potrebbe desiderare un servizio che a sua volta richiede ticket per poter usufruire di altri servizi come se fosse il client. Questo è il caso quando il primo servizio ha privilegi d'accesso ad un altro servizio. Per permettere questo, può essere spedito un TGT al servizio, il quale lo re-indirizza al secondo servizio.

Analisi e comparazioni Le principali limitazioni possono essere riassunte nei seguenti punti : non protegge contro la possibilità di scoperta della password dell'utente (può cadere vittima di attacchi con dizionari di password se l’utente sceglie una password a cui altri possano risalire facilmente. soluzione: usare policy per la gestione delle password e il blocco degli account.) richiede un cammino sicuro attraverso il quale deve transitare la password dell'utente, inoltre richiede in genere una macchina dedicata e sicura per AS e TGS per poterlo utilizzare le applicazioni devono essere in parte riscritte, devono essere delle "Kerberized Applications" Sebbene dal punto di vista dell'utente Kerberos sia totalmente trasparente, la sua installazione è tuttaltro che indolore. L'installazione di Kerberos è piuttosto "intrusiva" e necessita di un adattamento del sistema su cui gira che consiste nella modifica di diversi file di configurazione e nella sostituzione di gran parte dei "server" standard, il che a volte crea un conflitto con software già esistenti che non possono essere kerberizzati.

Differenze con SSL In generale il confronto tra SSL e Kerberos è il confronto tra il sistema di autenticazione a chiavi private con terza parte fidata contro quello a chiavi pubbliche basato sui certificati. Come si nota subito SSL ha due maggiori vantaggi su Kerberos: SSL non richiede una terza parte fidata; esso può essere usato per stabilire una connessione sicura anche quando tra le due parti non esistono segreti come chiavi, password ecc.. Questi due vantaggi rendono SSL ideale per la comunicazione sul Web e per applicazioni simili.

Ovviamente anche SSL ha i suoi inconvenienti: Le chiavi revocate: se un certificato valido rilasciato ad un utente è compromesso e deve essere revocato, come fanno tutti i server con cui quell'utente interagisce a sapere che quel certificato non è più valido? Ogni revoca di certificati deve essere propagata a tutti i server più importanti più volte oppure i server verifica ogni volta i certificati entranti con il "revocation server". In questo caso il server delle revoche deve essere disponibile ogni momento e comunque deve assicurare una comunicazione sempre efficiente essendo una terza parte necessaria, e con ciò si va a perdere uno dei maggiori vantaggi di SSL su Kerberos. In Kerberos una chiave revocata può essere disabilitata attraverso il KDC e il ticket diventerà inutilizzabile al più presto senza nessuna operazione dei server.

La sicurezza delle chiavi in SSL: quando si ottiene un certificato, esso risiederà sull'hard disk del sistema. Essendo cifrato con una password memorizzata nel sistema e’ vulnerabile ad eventuali attacchi di hacker. In Kerberos invece non c'è la necessità di ricerca di certificati per l'autenticazione, tranne che per la password che è nella testa dell'utente e non sull'hard disk.

Costo di utilizzo: Kerberos è un pacchetto libero e può essere installato liberamente, mente SSL è licenziato e il suo utilizzo deve essere pagato. Discorso analogo per quanto riguarda la documentazione. La flessibilità: Kerberos è più flessibile di SSL. Per esempio se si vuole aggiungere una nuova tecnologia di autenticazione (ad es un nuovo tipo di Smart Card con il proprio algoritmo), l'unica cosa da fare è modificare il proprio AS in modo tale da accettare questo nuovo tipo di autenticazione Invece se si vuole implementare una nuova tecnologia di autenticazione in SSL, è fortemente consigliato attendere il rilascio di una nuova versione di SSL che supporti quella tecnologia.

In conclusione non si può dire quale sistema di autenticazione sia più efficiente tra Kerberos e SSL. Una cosa sicura è che esistono applicazioni con cui Kerberos è più efficiente di SSL e viceversa.

FINE