La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Fatti e misfatti dei protocolli di autenticazione LM, NTLM e Kerberos.

Presentazioni simili


Presentazione sul tema: "Fatti e misfatti dei protocolli di autenticazione LM, NTLM e Kerberos."— Transcript della presentazione:

1 Fatti e misfatti dei protocolli di autenticazione LM, NTLM e Kerberos

2 Autenticazione e Autorizzazione Autenticazione: Verifica lidentità dei Security Principal Basata su diversi fattori Qualcosa che si conosce (password, pin, …) Qualcosa che si possiede (smartcard, token, …) Qualcosa che ci definisce (biometria) I fattori possono essere combinati per aumentare la sicurezza Autorizzazione: Consente o nega laccesso alle risorse Autorizzazione legata a liste di accesso (ACL) I dati di autorizzazione comprendono appartenenza a gruppi di sicurezza e la definizione di privilegi di sistema

3 Protocolli di autenticazioni in Windows In Windows sono disponibili i protocolli di autenticazione: LM (Lan Manager) NTLM v1 e v2 Kerberos SSL Certificati digitali Sono usati in situazioni diverse e hanno un diverso grado di affidabilità

4 Autenticazione (AuthN) Winlogon passa le informazioni di autenticazione a LSASS LSASS determina quale stack di AuthN usare: Login locale o remoto? Se è remoto Kerberos MSV1_0 NTLMv2, NTLM, LM Lo stack scelto genera i dati di AuthN

5 Autenticazione LM Usato per autenticare laccesso a Server LAN Manager Windows 9x con password a livello di share Usato per autenticare laccesso da Windows CE/Windows 3.x Tra server di un cluster In alcuni casi usato da RTC Meccanismo basato su challenge-response Usa hash LM

6 Autenticazione NTLM Usata per autenticazioni a Membri di dominio da non membri di dominio Membri di dominio quando si usa indirizzo IP \\server\share Kerberos \\ \share NTLM Non-domain members Macchine Windows 9x con password a livello utente o autenticazione pass-through verso domain controller Usa hash NT

7 Autenticazione NTLM e LM Authn_Request Response – DES(LM Hash, nonce) Server_Challenge – nonce Authn_Result Client Server Response – DES(Unicode pwd, nonce)

8 Autenticazione NTLMv2 Considerabilmente più forte di NTLM Usata per autenticare laccesso a qualsiasi cosa Non cè una configurazione di default Usata per autenticare laccesso da Everyone Non cè negoziazione tra NTLM e NTLMv2 Windows 9x richiede Directory Services client Disegnato per proteggere il traffico di rete meglio di NTLM Usa hash NT

9 Autenticazione NTLMv2 Authn_Request Challenge_Response (over secured channel) Server_Challenge – nonce Authn_Result Client Server

10 LMCompatibilityLevel LivelloInviaAccettaInvii proibiti 0*0* LM, NTLM,LM, NTLM, NTLMv2NTLMv2, Session security 1LM, NTLM, Session security LM, NTLM, NTLMv2 NTLMv2 2*2* NTLM, Session securityLM, NTLM, NTLMv2LM e NTLMv2 3NTLMv2, Session securityLM, NTLM, NTLMv2LM e NTLM LivelloInviaAccettaAccettazioni proibite 4NTLMv2, Session securityNTLM, NTLMv2LM 5NTLMv2, Session securityNTLMv2LM and NTLM Impatto lato client Impatto lato server * Default per alcuni OS

11 Rappresentazione delle password Hash LM Vecchia tecnologia usata in LAN Manager Hash NT A.k.a., password unicode password o hash MD4 Usata per autenticazione nei più recenti sistemi Windows Credenziali in cache Derivazioni di hash NT Nomi utente e password salvate Le diverse applicazioni decidono come salvare i dati

12 Generazione di hash LM Hash Password convertita in TUTTE MAIUSCOLE Riempimento con NULL fino a 14 caratteri Divisa in due blocchi da 7 Chiave Costante Seattle1 SEATTLE1****** = + LM Hash Chiave Costante Concatena DES

13 Meccanismo challenge/response di LM DES maiuscola(password[1-7]) LM_hash[1-8] DES maiuscola(password[8-14]) LM_hash[9-16] LM_hash[17-21] Come chiave 00

14 Meccanismo challenge/response di LM DES 00 Risposta-LM[1-8] DES 00 Risposta-LM [9-16] Risposta-LM [17-24] Hash-LM[1-7] Hash-LM[8-14] Hash-LM[15-21] DES Codice di sfida Come chiave

15 Password con meno di 8 caratteri… 00 DES 00 Risposta-LM[9-16] Risposta-LM[17-24] Hash-LM[8-14] Hash-LM[15-21] EE04B51435AAD3B4 DES Codice di sfida Come chiave DES maiuscola(password[8-14]) Hash-LM[9-16] 35AAD3B4EEB51404 Come chiave 00

16 Considerazioni su hash LM Non è un hash Insieme di caratteri limitato Solo linsieme comune di caratteri alfanumerici Non distingue maiuscoe e minuscole (case insensitive) Variazioni di carattere 69 Riempimento a esattamente 14 caratteri In pratica sono due password da sette caratteri Massima entropia 7.5*10 12 password Unsalted

17 Generazione di hash NT Esecuzione dellhash della password Salvataggio dellhash Unicode Pwd Seattle1 MD4

18 Autenticazione NTLMv2 MD4 HMAC MD5 unicode(password) Come chiave unicode(maiuscolo(nome-utente) +dominio-o-host) Come chiave Sfida del server + sfida del client Risposta NTLMv2

19 Considerazioni su hash NT Vengono preservate maiuscole e minuscole Variazioni di caratteri > 630 Lunghezza massima = 127 caratteri Entropia per password di 14 caratteri con lo stesso insieme usato da hash LM 5.6*10 25 Entropia per password di 14 caratteri (insieme di caratteri pieno) 1.5*10 39 password Entropia per password di 110 caratteri > 8.4* Excel non riesce ad eseguire il calcolo del numero di password con 127 caratteri Unsalted

20 Generazione delle credenziali in cache Salvate al logon Gestite da LSA Hash di un hash Unicode Pwd MD5 Nome utenteDominio Concatena Credenziali in cache

21 Considerazioni sulle credenziali in cache Sono salvate localmente Possono essere compromesse È veramente diffcile Servono attacchi offline Le credenziali in cache non possono essere usate cosi come sono per accedere a risorse in rete

22 Nomi utenti e passwords salvate in locale Credential Manager Salva credenziali basate su password localmente Le applicazioni possono usarlo per salvare le password Usa DPAPI o Protected Storage

23 Dove sono le password? Security Accounts Manager Usato in Windows NT 4.0 e per credenziali locali in Win2000/WinXP/Win2003 Active Directory Usata per le credenziali di dominio in Win2000/2003 Credenziali in cache salvate nel registry Nomi utenti e password salvati localmente DPAPI o Protected Storage

24 Autenticazione multipiattaforma Windows Server UNIX-Linux Server Active Directory Dati di Autenticazione Locali o Remoti impostati via file di testo Logon KERBEROS

25 Vantaggi di Kerberos Standard de facto per lautenticazione Disponibile per molte diverse piattaforme Non definisce standard per i dati di autorizzazione Consente la mutua autenticazione Client/Server Riduce i tempi di connessione Client/Server Consente la delega di identità Versione attuale Kerberos 5

26 Autenticazione con Messaggi Criptati Come funziona Kerberos Gli attori Server Chiave utente generata dalla password di logon Chiave host generata durante il join al dominio Database di Security Principal User Tutti gli attori sono parte del realm Kerberos Per comunicare con fiducia devono condividere un segreto KDC Chiave KDC generata durante la creazione del ruolo DC

27 Come funziona Kerberos Visione dinsieme 1 - Richiesta di autenticazione 2 – Se lutente è riconosciuto viene restituito un Ticket-Granting-Ticket che consente la richiesta di service ticket TGT SR 3 – Viene richiesto un Service Ticket per accedere alla macchina Linux1. Nella richiesta è passato anche il TGT che identifica lutente 4 – Il KDC rilascia un Service Ticket per laccesso al server Linux1 ST KDC ST Server TGT User

28 Come funziona Kerberos Ticket rilasciati TGT: identifica lutente presso il KDC durante le richieste di Service Ticket Evita il mantenimento dei dati di logon ST: Valido solamente tra User e Servizio Consente la mutua autenticazione Accellera la velocità di connessione perché rende non necessaria lautenticazione da parte del servizio La criptatura assicura che i ticket siano usati solo dagli attori appropiati

29 Cosè e come funziona Kerberos Componenti Il KDC consiste di due componenti Authentication Service (AS) Riceve: AS_REQuest Invia: AS_REPly Ticket Granting Server (TGS) Riceve: TGS_REQuest Invia: TGS_REPly

30 Come funziona Kerberos AS_REQ KDC Windows Server User

31 Come funziona Kerberos Logon Iniziale LAS verifica lesistenza dellaccount e costruisce un Reply criptato Criptatura eseguita con la chiave generata dalla password utente Solo lutente vero sarà in grado di leggere la risposta User KDC Client principal name Timestamp Krbtgt principal name Requested lifetime AS_REQ

32 Come funziona Kerberos Pre-autenticazione Il KDC può richiedere la pre-autenticazione Riduce i rischi di riuso dei ticket associati ad attacchi off-line a dizionario/forza bruta Abilitata per default inWindows 2000/2003 User KDC Client principal name Timestamp Krbtgt principal name Requested lifetime AS_REQ AS decripta il timestamp e, se corrisponde allora attuale (con il delta consentito – 5 per default), la richiesta è considerata valida

33 Come funziona Kerberos AS_REP TGT KDC Windows Server User

34 Come funziona Kerberos Risposta dellAS User KDC AS_REP USER-TGS key Krbtgt principal name Ticket lifetime TGT USER-TGS key Client principal name Ticket lifetime KDC Timestamp Client IP address USER-TGS Key generata dallAS Criptato con la chiave utente Criptato con la chiave del TGS TGT TGT viene salvato in locale e viene usato per le successive transazioni tra utente e TGS

35 Come funziona Kerberos TGS_REQ TGT KDC Windows Server TGT User

36 Come funziona Kerberos Il TGS – accesso ai servizi LAutenticator garantisce che la richiesta arrivi dal client e impedisce gli attacchi di tipo reply Criptato con la chiave del TGS User KDC TGT USER-TGS key Client principal name Ticket lifetime KDC Timestamp Client IP address TGS_REQ Service principal name Requested lifetime Client timestamp Autenticator Criptato con la USER-TGS key

37 Come funziona Kerberos Il TGT Il KDC non mantiene la USER-TGS key La copia della USER-TGS key viene inviata con il TGT Criptato con la chiave del TGS User KDC TGT USER-TGS key Client principal name Ticket lifetime KDC Timestamp Client IP address Inviato con TGS_REQ Dialogo criptato con la USER-TGS key

38 Come funziona Kerberos TGS_REP TS KDC Windows Server TGT User

39 Come funziona Kerberos Risposta del TGS User KDC TGS_REP Service Ticket USER-SERVICE key Client principal name Ticket lifetime KDC Timestamp Client IP address USER-TGS Key generata dallAS Criptato con la USER-TGS key Criptato con la chiave SERVICE-TGS TGT USER-TGS key Ticket lifetime USER-SERVICE key ST

40 Come funziona Kerberos SERVICE_REQ TS KDC Windows Server TGT TS User

41 Dialogo criptato con la USER-SERVICE key Come funziona Kerberos Il TGT Kerberos non definisce un protocollo per la richiesta dei servizi e per lautorizzazione di accesso Criptato con la chiave SERVICE-TGS User Service Ticket USER-SERVICE key Client principal name Ticket lifetime KDC Timestamp Client IP address Service Request Server Client timestamp Autenticator Criptato con la USER-SERVICE key

42 Installazione di Kerberos In Windows 2000/XP/2003 è supportato in modo nativo e automaticamente installato Non si deve fare nulla È disponibile solo per logon verso domini Active Directory o altri Realm Kerberos (configurazione manuale)

43 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.


Scaricare ppt "Fatti e misfatti dei protocolli di autenticazione LM, NTLM e Kerberos."

Presentazioni simili


Annunci Google