SEMINARIO DI SICUREZZA DEI SISTEMI INFORMATICI KERBEROS 27
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 User Server
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 AUTENTICAZIONE CIFRATURA ACCOUNTING KERBEROS AUTHENTICATION SYSTEM
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 CLIENT RISPOSTA 1 SFIDA 2 RISPOSTA 2 SERVER
PROTOCOLLO DI NEEDHAMSCHROEDER A CHIAVE SEGRETA {KAB, A}KB-KDC (3) A, B, NA (1) {KAB, (KAB, A)KB-KDC, NA, B} KA-KDC (2) KDC {NB - 1}KAB (5) ALICE (CLIENT) {NB }KAB (4) KDC = Key Distribution Center BOB (SERVER)
PROTOCOLLO DI NEEDHAMSCHROEDER 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) DB Ticket Granting Server (TGS) 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; KA [IDA; IDB; TIME] User ID, PWD (AS) IDK B; K A [S TGS A; K [TGT]; TGS[TGT]] SA[AA] SA[SAB, KB[TBA]] SAB [AA], KB[TBA] (TGS ) KDC SAB [TIMEA+1] ALICE (CLIENT) BOB (SERVER)
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 STRING 2 KEY. � 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 64 bit); - DES-CBC per l’hash; - CRC 32 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/corsosecurity/www/CORSO-0001/kerberos/index. html � www. ippari. unict. it/infapp/didattica/appunti/. . . /tesin e/Kerberos. pdf
- Slides: 25