Valentino Ricci Prof. Luciano Margara

Slides:



Advertisements
Presentazioni simili
La sicurezza dei sistemi informatici
Advertisements

CORSO DI SICUREZZA SU RETI II PROF. A. DE SANTIS ANNO 2006/07 Informatica granata Gruppo 2 ISP Gruppo 3 ISP.
Unità D1 Architetture di rete.
ISA Server 2004 Configurazione di Accessi via VPN
Microsoft Visual Basic MVP
Fatti e misfatti dei protocolli di autenticazione LM, NTLM e Kerberos
Configuring Network Access
Public Key Infrastructure
Laurea Magistrale in Informatica Reti 2 (2007/08)
Seminario Sicurezza a.a. 2001/2002 Barbara Anconelli
1 I KEYLOGGERS COSA SONO CONTROMISURE UN ESEMPIO.
La sicurezza nelle Griglie
Sicurezza II Prof. Dario Catalano Errori di Implementazione.
Sicurezza II Prof. Dario Catalano Autentica Mediata.
Sicurezza II Prof. Dario Catalano Security Handshake Pitfalls.
Sicurezza II Prof. Dario Catalano Autentica di Umani.
Sicurezza II Prof. Dario Catalano Strong Password Protocols.
Progetto Mini di Sistemi Distribuiti – AA 2007/08 Secure Group Communication with GDH.1 Alessandro Licata Caruso Matr:
Organizzazione di una rete Windows 2003
Per crittografia si intende la protezione
Testo consigliato Crittografia, P. Ferragina e F. Luccio, Ed. Bollati Boringhieri, € 16.
IEEE 802.1x (Port Based Network Access Control)
Secure Shell Giulia Carboni
corso: RETI DI CALCOLATORI E SICUREZZA
UNIVERSITÀ DEGLI STUDI DI BOLOGNA
Parma, 20 marzo 2003 Francesco Schinaia Firma Digitale e strumenti di accesso ai servizi
Certification Authority Fase I : Setup e Configurazione Componenti del gruppo : Marino Pasquale Marra Maria Cristina Molaro Alfonso Rullo Esterino.
SSL (Secure Socket Layer)
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.
4 Cosa è una rete? ã Punto di vista logico: sistema di dati ed utenti distribuito ã Punto di vista fisico: insieme di hardware, collegamenti, e protocolli.
Modelli ed Applicazioni di Reti di Calcolatori L-S Anno Accademico Università degli Studi di Bologna Ing. Fabio Tarantino –
Kerberos v5 Presentazione dello studente Flavio Caroli per il corso di Griglie Computazionali prof. Tiziana Ferrari - a.a. 2005/06 -
Un servizio di autenticazione per sistemi di rete aperti
Protocollo di autenticazione KERBEROS
Gruppo Directory Services Rapporto dell'attivita' svolta - Marzo 2000.
> Remote Authentication Dial In User Service
Modulo 7 – reti informatiche u.d. 2 (syllabus – )
Ottobre 2006 – Pag. 1
Guida IIS 6 A cura di Nicola Del Re.
Protezione degli account e delle password degli utenti
1 Modello di utilizzo n° 1 Login al sistema. 2 Accedere al sistema con autenticazione debole: PASSWORD ? PASSWORD scaduta ? La password è adeguata alle.
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)
Server Web in una rete Windows Sommario Meccanismi di accesso remoto Meccanismi di accesso remoto Introduzione ai Server Web Introduzione ai Server.
Un problema importante
PORTALE CISCO PROJECT WORK: PORTALE CISCO A cura di: Bellifemine Davide DAlonzo Salvatore Trombino Angelo Zappacosta Luca.
Amministrazione della rete: web server Apache
06/12/2007 Progetto cedolini online di Lottomatica Automatizzare il processo di consegna dei cedolini delle buste paga.
IPSec Fabrizio Grossi.
Virtualization by Security A novel antivirus for personal computers Università degli Studi di Bergamo Corso di Laurea Specialistica In Ingegneria Informatica.
Crittografia MITTENTE DESTINATARIO messaggio messaggio chiave-1
Analisi e sperimentazione di una Certification Authority
La sicurezza dei sistemi informatici. Il sistema deve soddisfare i seguenti requisiti di sicurezza (CIANA)  Confidenzialità (Riservatezza)  Integrità.
Fedora Directory Server Dael Maselli Workshop AAI - 30 Maggio LNF.
UNIVERSITÀ DEGLI STUDI DI PAVIA Anno accademico 2009/2010 Sicurezza e frodi informatiche in Internet: la Firma Digitale come garanzia di autenticità e.
Certificati e VPN.
La Crittografia nell’ambito del protocollo HTTP Classe: V istituto professionale (gestione aziendale) Obiettivo 1: Generazione di competenze e preparazione.
Sicurezza informatica
PKI e loro implementazione Corso di Sisitemi Informativi Teledidattico A.A. 2006/07
PiattaformePiattaformePiattaformePiattaforme Antonio Cisternino 28 Gennaio 2005 OpenSourceOpenSourceOpenSourceOpenSource e ProprietarieProprietarieProprietarieProprietarie.
Sicurezza delle comunicazioni1 Introduzione Consistente sviluppo delle applicazioni telematiche dovuto a: –Evoluzione tecnologica delle trasmissioni –potenze.
Reti di calcolatori e sicurezza “Configurare il web-server Apache” a cura di Luca Sozio.
Progettazione e realizzazione di un’applicazione J2EE Parte 2.
Procedure operative di sicurezza di un sistema informatizzato in un dipartimento servizi.
La firma digitale. Che cosa é la firma digitale? La firma digitale è una informazione aggiunta ad un documento informatico al fine di garantirne integrità.
Le basi di dati.
Cenni di Crittografia Luigi Vetrano TechnoLabs S.p.A. L’Aquila, Aprile 2011.
INFN-AAI Autenticazione e Autorizzazione Dael Maselli Tutorial INFN-AAI Plus Marzo 2012.
SEMINARIO DI SICUREZZA DEI SISTEMI INFORMATICI
Transcript della presentazione:

Valentino Ricci Prof. Luciano Margara Kerberos Valentino Ricci Prof. Luciano Margara

Cos’è Kerberos? Kerberos è un protocollo di rete per l'autenticazione. Modello client-server, fornisce mutua autenticazione. Si basa sulla crittografia simmetrica e sul protocollo Needham-Schroeder, utilizza però una terza parte affidabile.

Utilizzi AFS, NFS, Coda File System (distributed networked file system ) Apache (mod_auth_kerb) e Apache 2 (libapache-mod-auth-kerb) Cisco routers and switches running Eudora, Mulberry (e-mail client) Mac OS X Microsoft Windows 2000 e successivi (default authentication protocol) OpenSSH SSH protocol (Kerberos v5) PAM Pluggable authentication modules (pam_krb5 module) Samba, Netatalk networking protocol SOCKS Internet protocol X Window System standard toolkit and protocol to build GUI Qualsiasi software che usi il framework SASL (OpenLDAP, Dovecot IMAP4 , POP3, Postfix) La suite di Kerberos contiene versioni kerberizzate di rsh, FTP e Telnet Qualsiasi software java che utilizzi JAAS/JGSS È possibile modificare qualsiasi applicazione affinché utilizzi Kerberos

Un po’ di storia Realizzato dal MIT per il progetto ATHENA in alternativa al sistema di autenticazione tradizionale. La versione 4 fu ideata nel 1987 da Steve Miller e Clifford Neuman. La Versione 5 (RFC 1510 proposed standard) fu ideata nel 1990 John Kohl e Clifford Neuman . Le autorità degli USA classificarono Kerberos come arma e ne vietarono l'esportazione poiché utilizzava l'algoritmo di crittazione DES (con chiavi da 56 bit). Una implementazione di Kerberos non statunitense, KTH-KRB sviluppata in Svezia, rese il sistema disponibile anche al di fuori degli Stati Uniti.

Perché Kerberos? Il nome KERBEROS deriva dalla mitologia greca (Cerbero) Cerbero 3 teste = Kerberos 3 moduli: Authentication: un servizio che consente di accertare l'identita' dichiarata da una entita' mediante la verifica di credenziali. Authorization: Protegge l'accesso ad una risorsa mediante l'applicazione di “Security Policy”. Audit: Registrazione di eventi di sistema o di rete. Consente di rintracciare, ricostruire l'utilizzo delle risorse. In realtà le ultime due componenti non sono mai state realizzate (la 2 implementata nel Kerberos di Microsoft).

Motivazioni L’obbiettivo di Athena era quello di creare e amministrare un ambiente distribuito scalabile fino a 10000 workstation. Problema: Gli utenti collegati alle workstation desiderano accedere a servizi forniti da server distribuiti sulla rete. I server devono essere in grado di consentire gli accessi solo a utenti autorizzati e di autenticare le richieste di servizi. (rischio spoofing e sniffing)

Le assunzioni di Kerberos Le password non sono "facili“. Le workstation sono sicure (no keylogger o software simili). La rete è insicura.

Autenticazione tradizionale pwd User id 1 - Richiesta di autenticazione Server User 2 – Se l’utente è riconosciuto ACCESSO

Autenticazione tradizionale Problemi: per evitare che utenti non autorizzati accedano alle risorse occorre implementare un meccanismo di autenticazione per ciascun servizio per garantire la sicurezza di ciascun servizio bisogna implementare meccanismi complessi per ciascuno di essi (nell’esempio precedente password in chiaro non è sicuro) in un ambiente distribuito in cui i client interagiscono spesso con i server il sistema di autenticazione decentralizzato appesantisce molto l’attività dei server Soluzione: Authentication server (AS): l’autenticazione è centralizzata, l’AS condivide con ciascun server e ciascun utente una chiave segreta

Authentication Server IDV PU IDU 1 - Richiesta di autenticazione AS Ticket User 2 – Se l’utente è riconosciuto viene restituito un Ticket = EKV[ IDU | ADU | IDV ] che permette di accedere alla risorsa V Ticket IDU Server V

Authentication Server Problemi: Richiesta di password per accedere a ciascun servizio (ticket utilizzabile una volta sola). Richiesta di password per accedere a servizi diversi (ticket riutilizzabile). Possibile sniffing del ticket e successivo spoofing per impersonare l’utente (si risolverà più avanti). Password in chiaro (bleah!!!). Soluzione: Ticket granting server (TGT): distributore di ticket per le risorse. Protocollo che non prevede il passaggio della password in chiaro.

Ticket granting server IDTGS IDU AS EKU[TicketTGS] 1 – L’AS restituisce TicketTGS=EKTGS[IDU|ADU|IDTGS|TS1|Tvalidità1] cifrato con la chiave segreta dell’utente (una sola volta per connessione) IDV IDU TicketTGS User TGS TicketV TicketV IDU 2 – TGS restituisce TicketV=EKV[IDU|ADU|IDV|TS2|Tvalidità2] (una sola volta per tipologia di servizio) Server V 3 – Il server fornisce il servizio al client (una sola volta per sessione di servizio)

Ticket granting server Problemi: Tempo di validità Se il tempo di validità del TicketTGS è basso all’utente verrà chiesta molte volte la password Se il tempo di validità del TicketTGS è alto (ore) c’è la possibilità che un avversario faccia sniffing del ticket e lo riutilizzi quando l’utente leggittimo si sarà disconesso impersonificandolo. Analogo discorso si può fare per il TicketV Un avversario potrebbe mettersi nel mezzo e fare in modo che i messaggi siano inviati a un server fasullo impedendo all’utente di comunicare con il vero server. Soluzione: Autenticatore: permette a un server di assicurarsi che la persona che utilizza il ticket è la stessa per cui il ticket è stato emesso. Chiavi di sessione: permettono ai server di autenticarsi agli utenti (MUTUA ESCLUSIONE, CONFIDENZIALITÀ).

Kerberos v4 AS TGS IDTGS IDU TS1 EKU[KU,TGS|IDTGS|TS2|Tvalidità2|TicketTGS] 1 – TicketTGS=EKTGS[KU,TGS|IDU|ADU|IDTGS|TS2|Tvalidità2] (una sola volta per connessione) AutetenticatoreU IDU TicketTGS TGS User EKU,TGS[KU,V|IDV|TS4|Tvalidità4] EKU,V[TS5 +1] TicketV AutenticatoreU2 2 – TicketV= EKV [KU,V|IDU|ADU|IDV|TS4|Tvalidità4] AutenticatoreU= EKU,TGS[IDU|ADU|TS3] (una sola volta per tipologia di servizio) 3 – AutenticatoreU = EKU,TGS[IDU|ADU|TS5] Anche V si autentica (M.A. e CONF.) (una sola volta per sessione di servizio) Server V

Definizioni KDC (Key Distribution Center) = è sinonimo di AS e TGS, nonostante la divisione in due parti, le due funzioni vengono svolte entrambe da un server program che risiede sul sistema KDC Client = è un entità che puo’ ottenere un “ticket”puo’ essere sia un utente che un “host” Host = è un computer accessibile dalla rete Keytab = Una tabella usata dagli host o dai servizi per memorizzare la loro chiave segreta Principal = Denota un utente o un servizio a cui assegnamo delle credenziali. È una stringa del tipo: Primary/instance@REALM Primary equivale al nome dell’utente/servizio Instance e’ la qualifica di un utente Realm = E’ una rete “logica” che fa capo ad un unico database. Definisce un area di validita’ dei ticket

Differenze tra V4 e V5 Dalla versione 4 alla versione 5 sono stati introdotti molti miglioramenti sia all'implementazione che al protocollo, essi possono essere riassunti nei seguenti punti: I nomi dei Principal sono multi-componente piuttosto che del tipo user@host Nuovi flag nei ticket Autenticazione two-tgt user-to-user Sostituzione dell'algoritmo di cifratura Indipendenza dal tipo di indirizzo

Cifratura La parte cifrata riveste un ruolo fondamentale all'interno dei singoli passaggi legati al processo di scambio delle credenziali alla base del Kerberos string2key: funzione che converte password in chiave di cifratura simmetrica per implementare lo scambio di messaggi tra AS, client e server, sono necessari tre elementi: una algoritmo di crittografia forte; una funzione HASH; una funzione che implementi il checksum per l'Authenticator; nelle prime versioni di Kerberos l’alg. di crittografia usato era solo il DES,e non si usava il SALT nella versione 5 (attuale) algoritmi disponibili sono DES e Triplo DES per la crittografia (si ottiene chiave da 64 bit ) DES-CBC per l'hash CRC32 per i checksum

Attacchi Nella gestione dei ticket è possibile per un pirata intromettersi nella workstation (Backdoor,trojan) intercettare un ticket, prelevare le credenziali e spacciarsi per il client Nella risposta di Kerberos ad un principal, possibilità di intercettazione della chiave privata rilasciata (attacco BRUTE FORCE) Nella versione 5 trovate due falle (nel software, non nel protocollo) con possibili attacchi Ddos (creare carico di lavoro elevato tale da bloccare il sistema)

Pregi e difetti Le limitazioni possono essere riassunte nei seguenti punti: Non protegge dalla possibilità di scoperta della password dell'utente Richiede in genere una macchina dedicata e sicura come KDC Le applicazioni devono essere in parte riscritte Superato il DES sussistono ancora conflitti con la legislazione degli USA l'installazione e' molto "intrusiva”

Pregi e difetti Kerberos ha molti dei pregi: La gestione centralizzata delle chiavi e degli utenti (revoca, rinnovo, cancellazione,ecc,ecc) è più semplice ed efficiente che in altri sistemi come SSL. è un sistema FREE cioè aperto a tutte le modifiche e contributi. è sicuro perché la chiave non circola sulla rete e non e’ memorizzata in nessun posto oltre che la testa dell’utente e il KDC. è flessibile, volendo usare una nuova tecnologia di autenticazione (per esempio un nuovo tipo di Smart Card con il proprio algoritmo), basta ”solo” modificare il KDC.

Bibliografia http://web.mit.edu/Kerberos/#what_is W. Stalling. Sicurezza delle reti, Addison Wesley, 2001. Bill Bryant. Designing an Authentication System: a Dialogue in Four Scenes. 1988. Afterword by Theodore Ts'o, 1997. Brian Tung. The Moron's Guide to Kerberos. B. Clifford Neuman and Theodore Ts'o. Kerberos: An Authentication Service for Computer Networks, IEEE Communications, 32(9):33-38. September 1994. John T. Kohl, B. Clifford Neuman, and Theodore Y. T'so, The Evolution of the Kerberos Authentication System. In Distributed Open Systems, pages 78-94. IEEE Computer Society Press, 1994. John Kohl and B. Clifford Neuman. The Kerberos Network Authentication Service (Version 5). Internet Request for Comments RFC-1510. September 1993. http://en.wikipedia.org/wiki/Kerberos_%28protocol%29 http://tools.ietf.org/html/rfc4120 http://www.dia.unisa.it/~ads/corso-security/www/CORSO-0001/kerberos/index.html http://www.amagri.it/Sicurezza_MS_Windows/Metodi_autenticazione/Kerberos/kerberos.htm http://www.tu-chemnitz.de/docs/lindocs/RH73/RH-DOCS/rhl-rg-it-7.3/ch-kerberos.html