+ All Categories
Home > Documents > Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve...

Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve...

Date post: 21-Jun-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
21
Protocolli di Protocolli di t ti i autenticazione Ing. Michela Cancellaro Ing. Federica Battisti Autenticazione L'autenticazione è il processo che consente di identificare qualcun altro. altro. L'autenticazione deve avvenire on-line, cioè istantaneamente. Deve essere distinta dall'autenticazione di colloqui passati, concetto che investe la firma elettronica. Sulla rete l'autenticazione deve essere effettuata solamente utilizzando scambi di messaggi e dati che fanno parte di un protocollo di scambi di messaggi e dati, che fanno parte di un protocollo di autenticazione. L'autenticazione deve essere fatta prima di iniziare lo scambio di informazioni, quindi il protocollo di autenticazione viene prima degli altri (si parla di protocolli di hand-shaking). In effetti prima di parlare ci si presenta o almeno ci si sal ta! ci si presenta o almeno ci si saluta! …quello che si sa L’identità di un principal può essere verificata in base a tre fattori: fattori: 1. Quello che si sa: password. La password è una chiave che si deve inserire per provare di conocerla. La password dovrebbe essere sufficientemente complessa da essere difficile da indovinare, ed al tempo stesso sufficientemente semplice affinchè l’utente la possa ricordare ricordare. …quello che si ha 2. Quello che si ha: smartcard. Una smartcard è una carta in plastica, simile ad una carta di credito, contenente al suo interno un micro-chip. Sulla superficie della carta possono essere impresse alcune informazioni: un codice a barre od una striscia magnetica, le generalità del possessore della carta, la data di scadenza della carta ed alcune informazioni riguardanti il produttore. Attraverso i contatti la carta può i li t i di d ti l t it i f tti di h d ricevere alimentazione, comandi e dati; le carte necessitano infatti di un hardware esterno per operare, che fornisce loro anche la necessaria alimentazione. Recentemente sono state sviluppate della carte prive di contati fisici che comunicano con l’esterno tramite una antenna Le dimensioni della carta sono stabilite dallo con l’esterno tramite una antenna. Le dimensioni della carta sono stabilite dallo standard ISO 7816 che definisce anche le caratteristiche fisiche della plastica, la posizione dei contatti e le modalità di comunicazione.
Transcript
Page 1: Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve avvenire on-line, cioè istantaneamente.Deve essere distinta dall'autenticazione di colloqui

Protocolli diProtocolli di t ti iautenticazione

Ing. Michela Cancellaro Ing. Federica Battisti

Autenticazione• L'autenticazione è il processo che consente di identificare qualcun

altro.altro.• L'autenticazione deve avvenire on-line, cioè istantaneamente. Deve

essere distinta dall'autenticazione di colloqui passati, concetto cheinveste la firma elettronica.

• Sulla rete l'autenticazione deve essere effettuata solamente utilizzandoscambi di messaggi e dati che fanno parte di un protocollo discambi di messaggi e dati, che fanno parte di un protocollo diautenticazione.

• L'autenticazione deve essere fatta prima di iniziare lo scambio dipinformazioni, quindi il protocollo di autenticazione viene prima deglialtri (si parla di protocolli di hand-shaking). In effetti prima di parlareci si presenta o almeno ci si sal ta!ci si presenta o almeno ci si saluta!

…quello che si sa• L’identità di un principal può essere verificata in base a tre

fattori:fattori:1. Quello che si sa: password. La password è una chiave che si deve

inserire per provare di conocerla. La password dovrebbe esserep p psufficientemente complessa da essere difficile da indovinare, ed altempo stesso sufficientemente semplice affinchè l’utente la possaricordarericordare.

…quello che si ha2. Quello che si ha: smartcard. Una smartcard è una carta in plastica, simile ad una

carta di credito, contenente al suo interno un micro-chip. Sulla superficie della cartapossono essere impresse alcune informazioni: un codice a barre od una strisciamagnetica, le generalità del possessore della carta, la data di scadenza della carta edalcune informazioni riguardanti il produttore. Attraverso i contatti la carta puòi li t i di d ti l t it i f tti di h dricevere alimentazione, comandi e dati; le carte necessitano infatti di un hardware

esterno per operare, che fornisce loro anche la necessaria alimentazione.Recentemente sono state sviluppate della carte prive di contati fisici che comunicanocon l’esterno tramite una antenna Le dimensioni della carta sono stabilite dallocon l’esterno tramite una antenna. Le dimensioni della carta sono stabilite dallostandard ISO 7816 che definisce anche le caratteristiche fisiche della plastica, laposizione dei contatti e le modalità di comunicazione.

Page 2: Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve avvenire on-line, cioè istantaneamente.Deve essere distinta dall'autenticazione di colloqui

…quello che si è3. Quello che si è: dati biometrici. I meccanismi sono diversi: riconoscimento della voce, delle

impronte digitali, delle dimensioni delle dita della mano, della forma dei vasi sanguigni dellaretina, dei pattern di colore dell’iride dell’occhio, ecc. In ogni caso sono necessari dei complessidispositivi fisici per effettuare il riconoscimento. Usi:

1. Autenticazione: l’accertamento che la caratteristica sia quella dell’utente che la presenta.q p

2. Identificazione: dato un campione biometrico, si vuole scoprire a chi appartiene.

3. Unicità: dato un campione biometrico, si vuole verificare se il proprietario è gà nel database

Proprietà dei protocolli di autenticazione

• Reciprocità dell’autenticazione• Complessità• Complessità

– Efficienza computazionaleEfficienza della comunicazione– Efficienza della comunicazione

• Costo• Terze parti• Terze parti

– Se una terza parte è necessaria– Se è necessaria in tempo realeSe è necessaria in tempo reale– Natura della fiducia richiesta dalla terza parte

• Quali garanzie di sicurezza sono offerteQuali garanzie di sicurezza sono offerte• Come e dove sono mantenute le chiavi e/o i segreti

Passwords (Autenticazione Debole)(Autenticazione Debole)

Passwords (Autenticazione Debole)

• Stringhe di 6 - 8 caratteri che permettono l’identificazionePassword fisse/PIN password one time– Password fisse/PIN, password one-time

• Forma di autenticazione su “qualcosa che sai”• Forma di autenticazione su qualcosa che sai

• Proprietà• Proprietà– Non reciprocità – normalmente le password permettono

identificazione unilaterale– Bassa complessità – molto efficienti sia dal punto di vista

computazionale che dal punto di vista della comunicazione– Normalmente non è richiesta una terza parte, (il Single Sign On

rappresenta l’eccezione)L hi è l t t t i d ll’ t t d i fil– La chiave è normalmente tenuta a memoria dall’utente ed in un filedal sistema

Page 3: Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve avvenire on-line, cioè istantaneamente.Deve essere distinta dall'autenticazione di colloqui

Attacchi alla Password fisse• Attacchi Replay

– Osservazione durante l’inserimento, social engineering (attaccanteOsservazione durante l inserimento, social engineering (attaccanteconvince in modo subdolo un dipendente a fornirgli le informazioninecessarie per accedere al sistema), cavalli di TroiaE d i l di i i i hi– Eavesdropping su un canale di comunicazione in chiaro

• Ricerca esaustiva– Random o sistematicamente tentare le password onlineRandom o sistematicamente tentare le password online– Ricerca offline su un file di password

• Attacchi tipo dizionario– Si assume che non tutte le password abbiano la stessa probabilità– E’ sufficiente che un utente scelga una password debole

L’attacco a di ionario pro a solamente le possibili pass ord più probabili– L’attacco a dizionario prova solamente le possibili password più probabili• Attacchi su password note

– Molti sistemi sono provvisti di password “standard” (di servizio op p (ripristino).

Sicurezza delle Password Fisse• Password criptate

Scopo: evitare un troppo facile accesso dallo staff interno– Scopo: evitare un troppo facile accesso dallo staff interno– Normalmente, la password non è criptata usando una chiave

simmetrica, ma piuttosto usando una funzione di hash one-way, p y• e.g., la password di Alice è immagazzinata come h(Alice,pwd)

• Regole sulle Password• la password deve avere almeno 8 caratteri, o usare passphrase

(insieme di parole brevi usate come singola password)• la pass ord de e incl dere mai scole min scole cifre e caratteri• la password deve includere maiuscole, minuscole, cifre e caratteri

speciali• la password non dovrebbe avere un significato• è necessario modificare la password con regolarità (tipicamente 30

giorni)• non si deve utilizzare la stessa password su sistemi diversi• non si deve utilizzare la stessa password su sistemi diversi

Sicurezza delle Password Fisse• Rallentamento nella verifica della password

Lo scopo è limitare l’uso di programmi per la ricerca esaustiva– Lo scopo è limitare l uso di programmi per la ricerca esaustiva– Normalmente si ottiene applicando in maniera ricorsiva una

funzione più semplice in cui l’iterazione t+1 usa il risultatop pdell’iterazione t

– Deve essere accettabile per gli utenti (e.g., un secondo)• Salting

– Scopo: limitare l’uso di attacchi simultanei tipo dizionario– Aggiunge alcuni bit alla password prima dell’hashing– Normalmente, qualcosa legato al tempo o allo user id– L’informazione rimane nel file delle password

Personal Identification Numbers• Normalmente usati come “qualcosa che si conosce” in

combinazione con “qualcosa che si possiede”combinazione con qualcosa che si possiede– Molto spesso una carta di credito o di bancomat– Tipicamente brevi (4 cifre), per essere ricordati a memoria.Tipicamente brevi (4 cifre), per essere ricordati a memoria.

• Per impedire ricerche esaustive, carta viene ritirata (o disabilitata)dopo 3- 4 tentativi.p

• Per permettere l’uso con dispositivi offline, il PIN può essereimmagazzinato sulla carta, alcune volte criptato con una “masterkey”

• Questa è una forma di autenticazione a due livelli, dove laseconda chiave ad alta entropia è immagazzinata sulla carta

Page 4: Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve avvenire on-line, cioè istantaneamente.Deve essere distinta dall'autenticazione di colloqui

Passkeys (passwd-derived keys)• Password utente fatta corrispondere (mediante 1WHF) a una

chiave crittografica (i e DES a 56-bit): chiamata passkeychiave crittografica (i.e., DES a 56-bit): chiamata passkey

• passkey usata per criptare la comunicazione• passkey usata per criptare la comunicazione– Più resistente della password contro un attacco di tipo replay (se

ricerca esaustiva su passwd non piu` facile di passkey)p p p y)– Per ottenere passkey che cambia nel tempo, aggiungere contatore

alla password– A volte aggiunto salt basato su userid

One-time Password• Verso autenticazione forte: soluzione parziale contro attacchi tipo

eavesdropping e replayeavesdropping e replay.• Variazioni:

– Liste condivise di one-time passwordListe condivise di one time password– Aggiornamento sequenziale delle one-time password

• Password i+1 concordata quando avviene autenticazione con password iq p– Uso di funzioni one-way per creare una sequenza

• Lamport: Pi= H(Pi+1), dove H( ) è una 1WF– Nota 1: autenticazione richiede un contatore– Note 2: un attacco tipo replay sarebbe possibile se la sequenza

fosse in avantifosse in avanti

• Implementazioni commerciali con generatori automatici hardware

Identificazione Challenge-ResponseIdentificazione Challenge Response (Autenticazione Forte)

Autenticazione basata su un segreto condiviso

Protocolli Challenge-response: autenticazione a due vie

Ri sono le richieste (challenge), i indica il richiedente (numeri moltodi d tti NONCE d ti i hi )grandi detti NONCE mandati in chiaro)

Ki sono le chiaviK è la session keyKS è la session key

Page 5: Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve avvenire on-line, cioè istantaneamente.Deve essere distinta dall'autenticazione di colloqui

Autenticazione basata su un segreto condiviso

Protocolli Challenge-response: autenticazione a due vie ridotto

Purtroppo talvolta l’utente C rompe il funzionamento delprotocollo con l’attacco per riflessioneprotocollo con l attacco per riflessione

Regole generali1. Fare in modo che chi inizi l’autenticazione provi la sua

identità prima che lo faccia chi rispondeidentità prima che lo faccia chi risponde.

2 Far sì che i due soggetti usino chiavi differenti per autenticarsi2. Far sì che i due soggetti usino chiavi differenti per autenticarsianche se ciò significa usare due chiavi condivise.

3. Far sì che i due soggetti usino, per le richieste, numeri presi dainsiemi diversi.

4. Rendere il protocollo resistente ad attacchi che coinvolgonop guna seconda sessione parallela, dove le informazioni ottenuteda una sessione possono essere usate per l’altra.

Attacco per riflessione… Soluzione: HMAC

Non c’è possibilità di illudere Alice che Trudy sia Bob perchéTrudy non riesce ad indurre nessuna delle due parti a cifrare ocalcolare l’hash di un valore a sua scelta. Entrambi gli HMACincludono dei valori scelti dalla destinazione cioè qualcosaincludono dei valori scelti dalla destinazione, cioè qualcosache Trudy non può controllare.

Page 6: Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve avvenire on-line, cioè istantaneamente.Deve essere distinta dall'autenticazione di colloqui

Scambio di chiave: Deffie-Hellman

Tuttavia…Trudy può effettuare un attacco bucket brigade detto manin the middle

Autenticazione con KDCIntroducendo un centro di distribuzione delle chiavi KDC (keydistribution center), ogni utente ha una singola chiave condivisa colKDC cui sono affidate la gestione dell’autenticazione e della chiave diKDC cui sono affidate la gestione dell autenticazione e della chiave disessione

Svantaggio: il metodo è vulnerabile rispetto al replay attack (attaccodi i ti i )di ripetizione)Soluzioni:

timestamp (contrassegno temporale): i messaggi scaduti vengono– timestamp (contrassegno temporale): i messaggi scaduti vengonosubito scartati dal destinatario;

– mettendo un nonce in ogni messaggio, il soggetto scarta tutti ig gg , ggmessaggi contenenti nonce già usati.

– Needham-Schroeder

Needham-Schroeder

D b l d hi hi di i lDebolezza: ottenendo una vecchia chiave di sessione nel testoin chiaro, Trudy sarà in grado di stabilire una sessione conBob Le basterà ripetere il messaggio 3 che corrisponde allaBob. Le basterà ripetere il messaggio 3 che corrisponde allachiave compromessa e Bob sarà convinto di essere incomunicazione con Alice.

Otway-ReesÈ una versione modificata di Needham-Schroeder:

Page 7: Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve avvenire on-line, cioè istantaneamente.Deve essere distinta dall'autenticazione di colloqui

Autenticazione con la crittografia asimmetrica

Protocollo sicuro

Difesa dagli attacchi a sistemi Challenge-Response

• Attacco replay (l’avversario intercetta i messaggi scambiati e li ritrasmette inun’esecuzione successiva)– Usare nonces, includere l’identità nella risposta

• Attacco di tipo interleaving (Se sono in corso più esecuzioni contemporaneedel protocollo, ossia delle sessioni parallele), l’avversario può usare in unap , p ), psessione dati ottenuti in un’altra)– Concatenare i messaggi del protocollo

• Attacco “man-in-the-middle” (l’avversario si fa passare per A nei confronti di• Attacco man-in-the-middle (l avversario si fa passare per A nei confronti diB e viceversa)– Autenticazione reciproca per impedire all’avversario di impersonare il

sistema partnersistema partner• Attacco “reflection” (l’avversario ritrasmette a una parte dati che la parte

stessa ha trasmesso in una sessione parallela)– Include l’identità del partner, usare chiavi uni-direzionali

• Attacco su testi scelti– Usare un confounder in ogni messaggiog gg– Usare protocolli zero-knowledge

l ll bIl protocollo Kerberos

Il protocollo Kerberos

• Nasce nei primi anni ’80 dalla collaborazione diIBM, Digital e M.I.T.

• Il nome deriva dalla mitologia greca• Autorizzazione: determinare se un client è

autorizzato ad usufruire di un servizioautorizzato ad usufruire di un servizio• Autenticazione: determinare se l’identità

dichiarata dal client è vera• Cifratura - accounting: garantire la segretezza

della comunicazione e prevenire che partiestranee la modificano o la intercettano

Page 8: Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve avvenire on-line, cioè istantaneamente.Deve essere distinta dall'autenticazione di colloqui

Il protocollo Kerberos

• È un protocollo distribuito che fornisce la sicurezza diÈ un protocollo distribuito che fornisce la sicurezza diautenticazione su reti aperte e insicure dove la comunicazione tragli host può essere intercettata.

• Utilizza uno schema Third Party Trust e si basa sull’uso dichiavi segrete per cifrare le informazioni scambiate tra le entità

• Gli utenti, i client e i server si autenticano a vicenda tramite ilKDC, Key Distribution Center.

Obiettivi• La password dell'utente non viene inviata sulla rete, non viene

memorizzata sull’ host (non dovrebbe essere memorizzata “inmemorizzata sull host (non dovrebbe essere memorizzata inchiaro” neanche nel database del KDC) e viene cancellata dopol’utilizzo

• Single Sign-On: l'utente inserisce la password all’inizio dellag g psessione di lavoro. Può accedere, senza reinserirla durante talesessione, a tutti i servizi per il quale è autorizzato

• Mutua autenticazione: anche i server applicativi provano la loroautenticità ai client

Obiettivi• Il processo di autenticazione risulta invisibile all'utente e

realizza uno scambio di Ticket cifrati senza che sulla reterealizza uno scambio di Ticket cifrati senza che sulla retecircolino informazioni segrete.

• Si limita così l’invio delle informazioni di autenticazioneattraverso la rete ed agisce su host e su server applicativi (imap,g pp ( p,pop, smtp, telnet, ftp, ssh , AFS ) considerati vulnerabili.

• La gestione delle informazioni di autenticazione ècentralizzata e protetta sul sistema KDC.

Obiettivi• Le informazioni di autenticazione dei client non vengono

memorizzate sui server applicativimemorizzate sui server applicativi.

• Viene limitata la ridondanza di informazioni di autenticazione e• Viene limitata la ridondanza di informazioni di autenticazione eridotte le locazioni “attaccabili”.

• L'account di un utente può essere disabilitato agendo direttamentesul KDC.

• Dopo autenticazione e autorizzazione, la connessione trap ,client e server viene impostata come sicura e i dati vengonotrasmessi e criptati con l’uso delle chiavi.

Page 9: Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve avvenire on-line, cioè istantaneamente.Deve essere distinta dall'autenticazione di colloqui

Il protocollo Kerberos• Elimina la trasmissione delle informazioni di autenticazione sulla rete

riducendo le locazioni “attaccabili” da utenti estranei.riducendo le locazioni attaccabili da utenti estranei.

• Non si ha la necessità di dimostrare il possesso di informazionipsegrete.

• Il sistema di autenticazione è supportato solo dal KDC e senza l’ausiliodi certificati digitali contenenti le chiavi pubbliche degli utenti firmatecon la chiave privata di un’autorità di certificazionecon la chiave privata di un autorità di certificazione.

• Kerberos è flessibile, per aggiornarlo occorre modificare il KDC, è un, p gg ,pacchetto libero e può essere installato senza costi di licenza, al contrariodi SSL.

Schema generale

Il protocollo Kerberos

DBAutenthication

Server AS

Client

Ticket Granting

Server TGS

Key Distribution Center (KDC)

Application Server

Il protocollo KerberosSi hanno più realm ognuno con il proprio AS eTGS. Il realm èl’inisieme di sistemi che usano Kerberos come sistema di

i i

REALM 2REALM 1

autenticazione

REALM 2Server……

Server…

Client …Client

REALM 3

Server……Client

Page 10: Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve avvenire on-line, cioè istantaneamente.Deve essere distinta dall'autenticazione di colloqui

Componenti: Realm

• È il dominio amministrativo di autenticazione, entro cui il/i serverdi autenticazione è responsabile dell'autenticare un utente o unservizio

• Rappresenra l'insieme di utenti e di server appartenenti edi ti d ifi A th ti ti Scoordinati da uno specifico Authentication Server

U t t / i i ti d R l l di id• Un utente/servizio appartiene ad un Realm se e solo se condivide unpassword/chiave con il server di autenticazione AS

Componenti: Realm

Il nome del Realm coincide con il dominio DNS semplifica lapconfigurazione e l’integrazione del sistema Kerberos

Dominio DNSDominio DNS Realm KerberosRealm Kerberos

example.comexample.com EXAMPLE.COMEXAMPLE.COM

Realm KerberosRealm Kerberos

Cross-Authentication: l'autenticazioneavviene anche se le entità attive fanno parteavviene anche se le entità attive fanno partedi Realm differenti

Componenti: Principal• Rappresenta la entry del database del KDC

• È l’associazione usata per identificare ogni utente, host oservizio all’interno del proprio Realm per assegnare leservizio all interno del proprio Realm, per assegnare lecredenziali di accesso alle risorse

• component1/component2/.../componentN@REALM• user@EXAMPLE [email protected]• admin/[email protected]

• L'istanza è opzionale e si usa per specificare il tipo di utente

Componenti: Principal• Se le entry sono riferite a servizi, i principal sono definiti come:

Servizio/Hostname@REALMServizio/Hostname@REALMimap/[email protected]/server example com@EXAMPLE COMhost/[email protected]

afs/[email protected]

• Ci sono principal che non fanno riferimento nè ad utenti nè ai i h l l f i t d l i t diservizi, ma hanno un ruolo nel funzionamento del sistema di

autenticazionek bt t/REALM@REALM l i hi i t• krbtgt/REALM@REALM, con la cui chiave associata,viene criptato il Ticket Granting Tickett

Page 11: Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve avvenire on-line, cioè istantaneamente.Deve essere distinta dall'autenticazione di colloqui

Componenti: KDC• Il cuore del sistema è il Key Distribution Center

• È strutturato in tre parti, centralizzate su un unico server:• Database, Authentication Server(As), Ticket Granting

Server(Tgs)

l d b i l hi i d li i l hi i• Nel database sono memorizzate le chiavi degli utenti e le chiavidei servizi, ed è in grado di scambiare con ognuno di loro deimessaggi cifratimessaggi cifrati

• Kerberos supporta solo algoritmi simmetrici, quindi la stessapp g , qchiave è usata sia per criptare che per decriptare

• Vengono usate come default le porte 88 per il KDC e la porta 749per il server di amministrazione

Componenti: Ticket• Contiene informazioni criptate con una chiave segreta:

• Il principal del richiedenteIl principal del richiedente• Il principal del server/servizio a cui è destinato• Il timestamp, con data ed ora dell’inizio della sua validitàIl timestamp, con data ed ora dell inizio della sua validità• L'indirizzo IP della macchina client• Il tempo massimo di vitap• La chiave di sessione Ks

• È usato dal client per dimostrare l’autenticità della suaidentità ad un server applicativo

• Esistono diversi tipi ognuno caratterizzato dal valore dei flag:I iti l P th ti t d i d ll’AS L• Initial e Pre-authenticated: viene emesso dall’AS. Leopzioni PRE-AUTHENT e HW-AUTHENT possono essereutilizzate per fornire informazioni addizionali nella fase dipautenticazione iniziale

Componenti: Ticket• Invalid: indica un ticket non valido• Renewable: sono i ticket utilizzati per minimizzare i danni• Renewable: sono i ticket utilizzati per minimizzare i danni

derivanti dal possibile furto di tickets, è caratterizzato da duetempi di scadenza:tempi di scadenza:– il tempo di scadenza associato al singolo ticket ed il massimo

tempo di rinnovo possibilep p• Postdated: ticket generato per essere utilizzato in seguito• Proxiable e proxy: nel caso in cui un principal permette ad unp y p p p

servizio di effettuare delle operazioni al suo posto. Il serviziosarà in grado di sostituire il client, ma solo per un determinatoscopo

• Forwardable: è una versione particolare di ticket proxy, nellal l i i è tit l tit i i t t l d l li tquale al servizio è garantita la sostituizione totale del client

Le fasi di Kerberos

1 AS exchange1. AS exchange

2. TGS exchange

3. Client – Server exchangeKDCKDCClientClient

Page 12: Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve avvenire on-line, cioè istantaneamente.Deve essere distinta dall'autenticazione di colloqui

Le fasi di Kerberos in dettaglio

AS Req Autenthication Server AS

AS_Rep

AS_ReqClient Fase 1

Ticket Granting

DBTGS_Req

Fase 2Granting

Server TGSTGS_Rep

AP_Req

Key Distribution Center (KDC)Fase 3

Application Server

AP_Rep

AS exchange

• Il client invia all'AS una richiesta di autenticazione perIl client invia all AS una richiesta di autenticazione peraccedere ad una applicazione fornita da un server

• Il messaggio di richiesta contiene:Il messaggio di richiesta contiene:• il nome - principal

il d l i l d• il nome del server a cui vuole accedere• una data di scadenza calcolata a partire dalla

sua data e ora locale

AS exchange (2)

AS_ReqAutenthication

Client

Server AS

AS R

Richiesta Autenticazione

AS_Rep

K K liKser Kcli

Ticket Tgs Ticket Tgt

AS exchange (3)

• L'AS riceve ed invia al client due Ticket di risposta:L AS riceve ed invia al client due Ticket di risposta:• Uno è detto TGS ed è cifrato con la chiave del server Kser,

per cui è stata fatta la richiesta, assieme all'Id del clientp ,• L'altro è detto TGT ed è cifrato con la chiave del client

Kcli• In entrambi i Ticket c'è la data di scadenza ricevuta dal client

ed una copia della chiave di sessione Ks, criptata con l'hashdella password dell'utente, valida per l'algoritmo crittograficoscelto

Page 13: Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve avvenire on-line, cioè istantaneamente.Deve essere distinta dall'autenticazione di colloqui

AS exchange (4)

• La chiave di sessione presente in entrambi i Ticket permetteLa chiave di sessione, presente in entrambi i Ticket, permettedi stabilire una comunicazione cifrata con il serverinteressato

• Se è abilitata la pre-autenticazione sull'utente, nellarichiesta viene inserito un timestamp criptato con l'hashdella password

• Una volta decriptato il timestamp, l’AS accertandosi dellalidità è t h i t tt di l b k tt k i èvalidità, è certo che non si tratta di un playback attack, cioè

di una richiesta precedente, e invierà al client i due Ticket• L’uso dei timestamp in un sistema distribuito comporta• L’uso dei timestamp in un sistema distribuito comporta

l’uso corretto della sincronizzazione

TGS exchange• Ricevuti i due Ticket, il client decripta il TGT con la sua

chiave segreta Kcli:g• estrae la chiave di sessione (Ks)• prepara un Ticket speciale, detto Authenticator, cifrato con

la chiave di sessione Ks e inserisce: un timestamp calcolatoa partire dalla sua ora locale, un checksum e alcune opzionidi cifraturadi cifratura

• Il client invia al server TGS:• l'Authenticatorl Authenticator• il ticket Tgs, ricevuto dall’AS e cifrato con la chiave Kser, a

cui vuole accedere

TGS exchange (2)

TGS_ReqTicket Granting

Kser Ks

Client

Server TGSKser Ks

TGS R

Ticket Tgs Authenticator

TGS_Rep

Kservice

Ticket Service

TGS exchange (3)• Il server Tgs decripta il Ticket Tgs con la chiave segreta

Kser e così estrae la chiave di sessione Ks, con la quale, qdecripta l'Authenticator• Ne può verificare la scadenza usando l'informazione

l Ti k T i h ècontenuta nel Ticket Tgs e si accerta che è stata generatadall’ AS

• Decifrando l'Authenticator il server verifica l'integritàDecifrando l Authenticator, il server verifica l integritàdel Ticket controllando il timestamp e si accerta chenon si tratti di un Ticket replica

• Lo scambio risulta sicuro dato che la richiesta è stata fatta dalclient associato all’ Authenticator, unico a conoscenza dellachiave di sessione Kschiave di sessione Ks

Page 14: Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve avvenire on-line, cioè istantaneamente.Deve essere distinta dall'autenticazione di colloqui

TGS exchange (4)• Un client in possesso di un TGT con il time-to-live valido invia le

sue richieste al TGS e non più all'ASsue richieste al TGS e non più all AS• Le comunicazioni tra TGS e client sono cifrate con la chiave

di sessione Ksdi sessione Ks• Crea in modo random una chiave di sessione, SKService. Crea il

Ticket service inserendo il principal del client richiedente, ilp p ,principal del servizio, la lista di indirizzi IP, un timestamp delKDC, il lifetime, il valore minimo tra il lifetime del TGT e quello

i l i i l d l i i i fi l i kassociato al principal del servizio e infine la session keySKServiceIl TGS genera n'altra chia e di sessione Kser ice tile sia• Il TGS genera un'altra chiave di sessione, Kservice, utile siaper il client che per l’ Application server ed invia al client ilService TicketService Ticket

Client – Server Exchange• In questa fase il KDC non è coinvolto, perciò non vi è una

strategia definita affinchè il client mostri le sue credenzialigal server applicativo, ma userà la Kservice per stabilire lasessioneRi il S i Ti k il li A h i• Ricevuto il Service Ticket, il client crea un Authenticatorcontenente il suo principal, un timestamp e cripta tutto con lachiave di sessione Kservice

• Il server decripta le informazioni usando la propria chiaveKservice, stabilita in precedenza con il Kdc

• Mutua Autenticazione, se abilitata, il server ritorna untimestamp cifrato con la chiave di sessione del Service Ticket.Non solo il client è stato autenticato ma anche il serverNon solo il client è stato autenticato, ma anche il serverapplicativo non ha comunicato direttamente con il Kdc

Client – Server Exchange (2)

AP_Req

Ks SKservice

Client

Application Server

S i Ti k t A th ti tService Ticket Authenticator

AP_Rep

Accesso al servizio

Client – Server Exchange (3)• In Kerberos versione 5, nei server applicativi e nel Tgs si è

implementata la Replay Cache ossia la capacità di tenerimplementata la Replay Cache, ossia la capacità di tenertraccia degli Authenticator ricevuti dal Tgs

• Le richieste con stesso Authenticator, cioè le richiesteLe richieste con stesso Authenticator, cioè le richiestereplicate, sono eliminate e si evita che utenti estranei riescanoad acquisire sia il Ticket che l’Authenticator

• Per garantire il meccanismo di autenticazione è necessarioche tutti i pricipal coinvolti abbiano l'orologio di sistemai isincronizzato

Page 15: Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve avvenire on-line, cioè istantaneamente.Deve essere distinta dall'autenticazione di colloqui

Client – Server Exchange (4)

• È ammessa l'autenticazione tra Realm differenti tramiteÈ ammessa l autenticazione tra Realm differenti tramitel’uso della Cross-Realm key, una session key nota tra idifferenti AS

• Il client effettua una richiesta al proprio TGS che individua ilTGS remoto appartente all’ altro Realm

• Il client riceve il TGT per la richiesta al TGS remoto• Questo TGT sarà cifrato con la chiave condivisa tra i due TGS e

così il TGS remoto potrà autenticare il client fornendogli unService Ticket, utile allo scambio con l’Application Serverremotoremoto

Crittografia• Kerberos fa largo uso della crittografia nei Ticket

scambiati tra le diverse entità coinvolte nell'autenticazionescambiati tra le diverse entità coinvolte nell autenticazione• 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 per il checksum dell’ Authenticator

• Non ci sono limitazioni sulla lunghezza della passwordd ll' t t lti l it i di if t tili hidell'utente, molti algoritmi di cifratura utilizzano una chiave alunghezza fissa

Crittografia (2)• Fino alla versione 4, l'unico algoritmo di crittografia supportato

era il DES, a cui era associato l’uso di una funzione HASH,ottenuta dal DES in una particolare modalità operativa el'algoritmo CRC-32 per il calcolo dei checksum

• Nella versione 5, non è stato fissato a priori il numero e iltipo di encryption da supportare dipende dalla specificatipo di encryption da supportare, dipende dalla specificaimplementazione e dalla piattaforma

• La tecnica adottata nelle operazioni di cifratura è basata sullafunzione string2key

Crittografia (3)• È stata introdotta la funzione string2key, che trasforma una

password in chiaro in una encryption key in base al tipo dipassword in chiaro in una encryption key, in base al tipo dicrittografia, ed è una funzione hash irreversibile, cioèdall’encryption key non si può determinare la password

• Viene richiamata quando un utente cambia la sua passwordo quando per autenticarsi si avvia una sessione

• Gli algoritmi disponibili sono:• DES e Triplo DES per la crittografia• hmac e CRC32 per i chksum• sha1, md5 e la funzione derivata da DES-CBC per l'hash

Page 16: Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve avvenire on-line, cioè istantaneamente.Deve essere distinta dall'autenticazione di colloqui

Crittografia (4)• Di default il salt aveva un valore nullo, con in nuovo Kerberos

v5 come valore di salt si usa il principal dell’ utente:v5, come valore di salt, si usa il principal dell utente:• Kclient=string2key ( Pclient + “[email protected]"

))• Kclient diventerà l'encryption key del client, dove Pclient è

la password in chiaro, in tal modo si hanno i vantaggi:p , gg• due principal appartenenti allo stesso Realm ed aventi la

stessa password in chiaro, hanno chiavi differenti• se un utente ha account su Realm diversi, è possibile che

la password in chiaro coincida. Con l’uso del salt, sievita un'eventuale compromissione dello stato degliaccount

U i i di id il KDC hi• Un servizio condivide con il KDC una chiave e non unapassword

Crittografia (5)• Alla stringa composta dalla concatenazione della password

e del SALT, viene applicata una funzione HASH, così da, pp ,rendere la trasformazione dipendente dalla macchina

• Questa flessibilità ed estensibilità del protocollo ha mostratodei problemi di interoperabilità tra le varie implementazioni,poiché si può applicare una qualsiasi funzione Hash ed un

l i i l it i h k t biliqualsiasi algoritmo per i checksum, occorre stabilire unencryption type in comune

S S k t L (SSL)Secure Socket Layer (SSL)

Secure Socket Layer (SSL)• Sistema sviluppato in origine da Netscape e poi da Microsoft• La versione 3 sviluppata con review esterna con alcune• La versione 3 sviluppata con review esterna con alcune

modifiche, è diventata un progetto di standard noto come TLSTLS = Transport Layer SecurityTLS Transport Layer Security

• SSL ha due strati protocollari• Disponibili molte implementazioni e librerie, p.e. Open-SSLDisponibili molte implementazioni e librerie, p.e. Open SSL• Utilizza la crittografia simmetrica e asimmetrica e le funzioni

hash per fornire l’atentiazione del server, la cifratura deip ,messaggi e l’integrità dei dati.

• Quando si passa da una pagina pubblica a una sicura, il webserver invoca SSL (l’utente vede https) e compare un’icona(lucchetto) e il client è invitato a mandare i propri parametri diisicurezza.

Page 17: Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve avvenire on-line, cioè istantaneamente.Deve essere distinta dall'autenticazione di colloqui

SSL: funzionalità

• Cifratura simmetrica• Cifratura simmetrica• Cifratura asimmetrica

Fi di it li• Firme digitali• Certificati digitali (X509v.3)

S ifi h hi f li• Specifiche chiare e formali• Negoziazione dei parametri

H d h k l d ll i• Handshake al momento della connessione• Riutilizzo di parametri negoziati in precedenza

Componenti di SSL• Handshake protocol

Permette alle parti di negoziare i diversi algoritmi necessari per la– Permette alle parti di negoziare i diversi algoritmi necessari per lasicurezza delle transazioni

– Consente l’eventuale autenticazione tra le partip• Record protocol

– Si occupa della compressione, del MAC e della cifraturap p ,• Alert protocol

– Notifica situazioni anomale o segnala eventuali problemig p• Change Cipher Spec protocol

– Impone l’esecuzione di un nuovo handshake per rinegoziare iparametri di sicurezza e ripetere l’autenticazione

Protocollo Handshake

Fase 1Definisce le caratteristiche

di sicurezza

F 2Fase 2Authenticazione del server

e scambio chiavi servere scambio chiavi server

Fase 3Authenticazione del clientAuthenticazione del client

e scambio chiavi client

Fase 4Fine

Fase I• Il client trasmette:

1. Version – Più alta versione del protocollo che il client è in grado di capire2 R d Ti t di 32 bit di 28 bit2. Random – Timestamp di 32 bit e nonce di 28 bit3. Identificativo di sessione

• Valore non nullo: Aggiornamento parametri di connessione esistente• Valore nullo Nuova connessione e sessione• Valore nullo. Nuova connessione e sessione

4. Elenco delle cipher suite in ordine di preferenza• Protocollo per key exchange e altri parametri

5 Elenco di metodi di compresssione supportati5. Elenco di metodi di compresssione supportati• Il server trasmette:

1. Version – Più alta versione fornita dal client e che il server può supportare2. Tempo e nonce del server2. Tempo e nonce del server

• Indipendenti dai parametri omologhi forniti dal client3. Identificatore della sessione

• Se il client ha fornito un valore diverso da zero ò lo stesso valore• Diversamente proposto dal server

4. Cipher suite (la prima proposta dal client che sia supportata dal server)5. Metodo di compressione (il primo proposto dal client che sia supportato dal

server)

Page 18: Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve avvenire on-line, cioè istantaneamente.Deve essere distinta dall'autenticazione di colloqui

Fase IICertificate:

Richiesto in tutti i casi eccettoRichiesto in tutti i casi eccettoche per il Diffie-Hellmananonimo

Server Key Exchange:Richiesto in tutti i casi eccettoRSA e fixed Diffie HellmanRSA e fixed Diffie-Hellman.Materiale dipendente dalprotocollo.p

Certificate request:Richiede al client un certificato

Server Hello Done:Indica la fine dei messaggi delserver

Fase IIIIl client verifica il certificato e i parametri del server. Se tutto èsoddisfacente trasmette al server 3 pacchetti:soddisfacente trasmette al server 3 pacchetti:

Certificate:Se il client richiede una risorsaper cui serve autenticazione

Client Ke E change:Client Key Exchange:Materiale dipendente dalprotocolloprotocollo

Certificate verify:Fornisce verifica esplicita delsuo certificato

Fase IVChange Cipher Spec:

Il client copia il pending CipherSpec nelIl client copia il pending CipherSpec nelcurrent CipherSpec

Finish:Verifica il successo del processo diautenticazione inviando 2 hashautenticazione inviando 2 hash

Change Cipher Spec:Il server copia il pending CipherSpec nelcurrent CipherSpec

Finish:Comunica il successo del processo

Protocollo record• Confidenzialità

Ottenuta utilizzando un cipher simmetrico con una shared key– Ottenuta utilizzando un cipher simmetrico con una shared keydefinita dal protocollo handshake;

– usa pure una compressione (?)p p ( )• Integrità

– Utilizza un MAC con shared key simile a HMACy

Page 19: Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve avvenire on-line, cioè istantaneamente.Deve essere distinta dall'autenticazione di colloqui

Uso diffuso di SSL

• Commercio elettronico• Commercio elettronico– Ordinazioni: le form con cui si ordina un prodotto vengono inviate

usando SSLusando SSL– Pagamenti: quando viene inserito un numero di carta di credito,

l’invio dei dati avviene usando SSL

• Accesso ad informazioni sicure– La consultazione di informazioni accessibili solo da utenti

“qualificati”L’i i di d lt i d ti i ti– L’invio di password o altri dati riservati

OpenSSL• OpenSSL è un package open source

• E’ sottoposto a manutenzione continua

• E’ utilizzato per lo sviluppo di importanti applicazioni (modSSL)

• Contiene implementazioni di vari algoritmi di crittografia

• Contiene implementazioni di Big Number, formati DER, PEM,pkcs7, pkcs12….

• Implementa il protocollo SSL/TLS

• Ha i comandi per gestire certificati digitali

Transport Layer Security (TLS)• TLS definito nella RFC 2246

• Molto simile a SSL v3 ma migliore per la sicurezzaTolleranza alla criptoanalisi– Tolleranza alla criptoanalisi

– Conforme ai criteri della FIPS 140-2 (Security Requirements forCryptographic Modules)Cryptographic Modules)

– Diverso progetto di MAC, funzioni hash, etc

• Oltre ciò– Definiti codici di alert addizionali– Cambiamenti nei cipher supportati– Variazioni sui tipi di certificati e negoziazioni– Variazioni sul calcolo dei parametri criptografici

CHAPEAP

Page 20: Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve avvenire on-line, cioè istantaneamente.Deve essere distinta dall'autenticazione di colloqui

CHAP• CHAP(Challenge Authentication Password Protocol): metodo di

autenticazione nel quale è centrale la conoscenza della passwordautenticazione nel quale è centrale la conoscenza della passworddell’utente piuttosto che la password stessa.– L'autenticatore, vale a dire il server di accesso remoto o il server,

IAS (Internet Authentication Server), invia una verifica al client diaccesso remoto costituita da un identificativo di sessione e da unastringa casuale di verifica così da generare ogni volta messaggistringa casuale di verifica così da generare ogni volta messaggidifferenti (challenge string) lunda 8 byte (264 stringhe possibili)

– Il client di accesso remoto usa la stringa di verifica e la propriaIl client di accesso remoto usa la stringa di verifica e la propriapassword per calcolare un’impronta MD5; invia quindi al Serveruna risposta che contiene l’impronta

– Il Server, che può accedere alla password dell’utente, ri-esegue ilcalcolo dell’impronta e la confronta con quella ricevuta: secoincidono le credenziali di accesso sono considerate autenticatecoincidono le credenziali di accesso sono considerate autenticate.

MS-CHAP• Protocollo di autenticazione implementato da Microsoft per

l’autenticazione di stazioni Windows Remote è simile a CHAPl autenticazione di stazioni Windows Remote, è simile a CHAPma fornisce formati coerenti con i prodotti Windows. Entrambele versioni permettono la crittografia simmetrica.

• v1, la prima versione, fa uso di MD4 ed è facilmente violabile.Consente tra l’altro la modifica della password. Usa chiavi di 40bit e dell’algoritmo MPPE (Microsoft Point to Point Encryption)

• v2, la seconda versione, fa uso di MD5 ed è maggiormenteprotetta– non consente la modifica della password

f di hi i di i d ti i i ti i ti (128 bit)– fa uso di chiavi diverse per i dati inviati e ricevuti (128 bit)– realizza un’autenticazione duale (del client e del Server)

EAP• EAP (Extensible Authentication Protocol) è un'estensione del

protocollo PPP (Point-to-Point Protocol) in risposta alla richiestaprotocollo PPP (Point-to-Point Protocol) in risposta alla richiestadi un sistema di autenticazione di utenti che accedono da unsistema remoto che consenta di utilizzare altri dispositivi diprotezione

• Fornisce un meccanismo standard per il supporto di metodi diautenticazione aggiuntivi nell'ambito delle connessioni PPP

• Possibile aggiungere supporto per altri schemi di autent. tra cui:– Token card– Password temporanee

A i i di hi i bbli h i d– Autenticazione di chiavi pubbliche tramite smart card– Certificati

è lt tili t• non è molto utilizzato

PPP• PPP (Point-to-Point Protocol ) nasce per la gestione di

connessioni punto a punto cioè per consentire la connettivitàconnessioni punto a punto, cioè per consentire la connettivitàhost-host o router-router.

• Sviluppato come estensione dell’HDLC, cerca di risolvere tuttiSviluppato come estensione dell HDLC, cerca di risolvere tuttiquei problemi a cui SLIP andava incontro e di sopperire allelimitazioni di HDLC

• Supporta molti protocolli tra cui IP, IPX e ARA.• Comprime automaticamente i dati• È dotato di meccanismi di autenticazione quali CHAP, PAP ed

EAP• Due varianti Microsoft: MS-CHAP v1 e MS-CHAP v2• Fornisce un meccanismo di controllo e di gestione degli errori

Page 21: Protocolli diProtocolli di autti itenticazione di autenticazione.pdf• L'autenticazione deve avvenire on-line, cioè istantaneamente.Deve essere distinta dall'autenticazione di colloqui

PPP• Garantisce un metodo non ambiguo per la suddivisione e

l’incapsulamento dei datagrammil incapsulamento dei datagrammi• Fornisce possibilità di crittografia che prevedono la scelta iniziale

dell’algoritmo crittografico (DES, 3DES, ecc.) e della chiave (didell algoritmo crittografico (DES, 3DES, ecc.) e della chiave (disolito password utente)

• PPP è il protocollo utilizzato comunemente da Costruttori DSL epService Provider.– Se un programma rispetta gli standard PPP può essere usato per

ricevere chiamate e fornire l’accesso a internet (come avviene inWindows 2000/2003 server)Viene abbondantemente utilizzato lungo reti Ethernet e ATM da– Viene abbondantemente utilizzato lungo reti Ethernet e ATM, daqui gli acronimi PPPoE e PPPoA


Recommended