SEMINARIO DI SICUREZZA DEI SISTEMI INFORMATICI KERBEROS 27 Maggio 2010 STUDENTE: Daniele Pierboni MATR: 0000544958
INDICE GENERALE 1)INTRODUZIONE 2)LE ORIGINI DI KERBEROS 3)SVILUPPO 4)COS’E’ KERBEROS 5)FUNZIONAMENTO DI KERBEROS 6)CIFRATURA E SICUREZZA 7)ATTACCHI 8)PREGI E DIFETTI DI KERBEROS 9)UTILIZZI
INTRODUZIONE -“La rete è insicura” Internet per natura è una rete insicura Ed i pericoli possibili sono diversi… (solo alcuni): - furto di informazioni riservate; - defacing (modifica contenuto sito Web); - intercettazione del traffico (packet sniffer); Esistono tanti modi per renderla sicura (o quasi)!!
DEFINIZIONE DI AUTENTICAZIONE L’autenticazione rappresenta una prova di identità, qualcosa che ci identifica in modo univoco Può essere: - una caratteristica fisica (sistemi biometrici); - un oggetto che possediamo(Bancomat); - qualcosa che conosciamo(codice Bancomat).
MODELLO DI AUTENTICAZIONE TRADIZIONALE (1) In Internet la forma di autenticazione più utilizzata è quella che si basa sulla “ conoscenza segreta di qualcosa” . User ID, Password Accedo se autenticato Server User
MODELLO DI AUTENTICAZIONE TRADIZIONALE (2) VANTAGGI: - Semplicità di implementazione e utilizzo; - Molto economica. PROBLEMI DI SICUREZZA: - Vulnerabilità delle Password (es.guessing, snooping, sniffing, spoofing e fishing). PROBLEMI IMPLEMENTATIVI: - Per evitare che utenti non autorizzati accedano alle risorse occorre implementare un meccanismo di autenticazione per ciascun servizio; - L’utente deve ricordarsi molte password; - Per garantire la sicurezza di ciascun servizio bisogna implementare meccanismi complessi per ciascuno di essi; - In un ambiente distribuito il cui i client interagiscono spesso con i server il sistema di autenticazione decentralizzato appesantisce molto l’attività dei server. SOLUZIONE: - Protocollo di rete per l’autenticazione tramite crittografia simmetrica (KERBEROS) che fa uso del modello di autenticazione a tre parti .
LE ORIGINI DI KERBEROS(1) Il 27 maggio 1983 il M.I.T (Massachussetts Institute of Tecnology) vara un progetto chiamato Athena. OBIETTIVO: A model for distributed campus Computing. Sono scaturite diverse importanti tecnologie tra cui il sistema di autenticazione Kerberos.
LE ORIGINI DI KERBEROS(2) Il nome deriva da Cerbero (mitologia Greca). SCOPI AUTORIZZAZIONE KERBEROS AUTHENTICATION SYSTEM AUTENTICAZIONE CIFRATURA -ACCOUNTING
SVILUPPO Ci sono diverse versioni del protocollo. Fine anni ’80 è stata pubblicata dai principali sviluppatori di Kerberos ( Steve Miller e Clifford Neuman) la versione 4. Gli U.S.A né vietarono l’esportazione perché questo utilizzava l’algoritmo di crittazione DES (con chiavi da 56 bit) e quindi classificato come arma. La versione utilizzata attualmente è la versione 5.
COS’E’ 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 (1978) introducendo delle varianti ed una sua terminologia, utilizzando il modello di fiducia a tre parti.
MUTUA AUTENTICAZIONE USERNAME SFIDA 1 RISPOSTA 1 CLIENT SERVER SFIDA 2
PROTOCOLLO DI NEEDHAM-SCHROEDER A CHIAVE SEGRETA {KAB, A}KB-KDC (3) A, B, NA (1) KDC {KAB, (KAB, A)KB-KDC, NA, B} KA-KDC (2) {NB - 1}KAB (5) ALICE (CLIENT) {NB }KAB BOB (SERVER) (4) KDC = Key Distribution Center
PROTOCOLLO DI NEEDHAM-SCHROEDER A CHIAVE SEGRETA (2) Alice (A) e Bob(B) sono due entità di rete che devono comunicare in modo sicuro utilizzando un collegamento di rete non sicuro. KDC è un server fidato, ovvero che gode della fiducia di entrambe le parti. KA-KDC è una chiave simmetrica nota esclusivamente ad A e KDC. KB-KDC è una chiave simmetrica nota esclusivamente ad B e KDC. KAB è una chiave simmetrica di sessione generata da KDC. NA e NB sono numeri casuali creati da A e da B.
LE ASSUNZIONI DI KERBEROS Alla base del suo funzionamento Kerberos si basa su alcune assunzioni relative al sistema e all’ambiente di lavoro: - le password dei client non sono facili; - le workstation sono sicure; - la rete è “insicura”.
COMPONENTI PRINCIPALI DI KERBEROS Autenthication Server (AS) Ticket Granting Server (TGS) DB Key Distribution Center (KDC)
TICKET E AUTHENTICATOR KERBEROS
FUNZIONAMENTO DI KERBEROS(1) Il suo funzionamento può essere riassunto in tre fasi: 1)AUTHENTICATION SERVER; 2)TGS- TICKET GRANTING SERVICE EXCHANGE; 3)CLIENT/SERVER AUTHENTICATION EXCHANGE.
FUNZIONAMENTO DI KERBEROS(2) richiesta TGS; (AS) (TGS) KDC KA [IDA; IDB;TIME] User ID, PWD KA [SA;KTGS[TGT]] IDB;KTGS[TGT]; SA[AA] SA[SAB, KB[TBA]] SAB [AA], KB[TBA] SAB [TIMEA+1] BOB (SERVER) ALICE (CLIENT)
CIFRATURA E SICUREZZA ALGORITMI USATI: - la parte cifrata riveste un ruolo fondamentale all’interno delle singole fasi legate al processo di scambio delle credenziali alla base di Kerberos. Funzione molto importante è la funzione STRING2KEY. Per implementare lo scambio di messaggi tra AS, client e server, sono necessari tre elementi: - Un algoritmo di crittografia forte; - Una funzione HASH; - Una funzione che implementi il checksum per l’Authenticator. Nella versione 5 (attuale) gli algoritmi disponibili sono: - DES e Triplo DES per la crittografia (chiave da 64bit); - DES-CBC per l’hash; - CRC32 per il checksum.
PUNTI DEBOLI DI KERBEROS 1) SPOOFING ATTACK (nella gestione dei ticket); 2) ATTACCO BRUTE FORCE (intercettazione chiave privata rilasciate) 3) NELLA VERSIONE 5 POSSIBILITA’ DI ATTACCHI DDOS.
ATTACCHI Altri possibili attacchi: - Attacco alle credenziali di amministratore di Kerberos; - Denial of service; - The Insider; - Social engineering and password exposure; - Security holes in the Kerberos software itself.
PREGI DI KERBEROS - Elimina la trasmissione in chiaro attraverso la rete della password; - COSTO DI UTILIZZO: È un sistema FREE e può essere installato liberamente; - FLESSIBILITA’: se si vuole aggiungere una nuova tecnologia di autenticazione a Kerberos, l’unica cosa da fare è modificare il proprio KDC - La gestione centralizzata delle chiavi e degli utenti (revoca, rinnovo, cancellazione ecc..) è più semplice ed efficiente che in altri sistemi come SSL.
DIFETTI DI KERBEROS I principali limiti possono essere riassunti nei seguenti punti: - Non protegge dalla possibilità di scoperta della password dell’utente; - Richiede un cammino sicuro attraverso il quale deve transitare la password dell’utente, inoltre richiede di generare una macchina dedicata e sicura come KDC; - Per poterlo utilizzare le applicazioni devono essere in parte riscritte; - L’uso del DES è stato superato tuttavia sussistono ancora conflitti con la legislazione degli USA; - La sua installazione è piuttosto “intrusiva”.
UTILIZZI AFS, NFS Coda File System (distributed networked file system) APACHE (mod_auth_kerb) e APACHE 2 (libapache-mod-auth-kerb) Mac OS x Microsoft Windows 2000 e successivi (default authentication protocol) E’ possibile modificare qualsiasi applicazione affinchè utilizzi Kerberos.
BIBLIOGRAFIA http://web.mit.edu/kerberos/ http://en.wikipedia.org/wiki/Kerberos_(protocol) http://en.wikipedia.org/wiki/Needham- Schroeder_protocol http://www.dia.unisa.it/~ads/corso- security/www/CORSO-0001/kerberos/index.html www.ippari.unict.it/infapp/didattica/appunti/.../tesin e/Kerberos.pdf