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
Verifica l’identità 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 l’accesso 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 l’accesso a
Server LAN Manager Windows 9x con password a livello di share Usato per autenticare l’accesso 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 Usa hash NT
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 Server_Challenge – nonce Response – DES(LM Hash, nonce) Response – DES(Unicode pwd, nonce) Authn_Result Client Server

8 Autenticazione NTLMv2 Considerabilmente più forte di NTLM
Usata per autenticare l’accesso a qualsiasi cosa Non c’è una configurazione di default Usata per autenticare l’accesso 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 Server_Challenge – nonce
Challenge_Response (over secured channel) Authn_Result Client Server

10 LMCompatibilityLevel
Impatto lato client Livello Invia Accetta Invii proibiti 0* LM, NTLM, LM, NTLM, NTLMv2 NTLMv2, Session security 1 LM, NTLM, Session security NTLMv2 2* NTLM, Session security LM e NTLMv2 3 LM e NTLM Impatto lato server Livello Invia Accetta Accettazioni proibite 4 NTLMv2, Session security NTLM, NTLMv2 LM 5 NTLMv2 LM and NTLM * 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 Seattle1 = SEATTLE + 1****** Chiave Chiave DES DES Costante Costante LM Hash Concatena

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

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

15 Password con meno di 8 caratteri…
maiuscola(password[8-14]) 00 00 00 00 00 00 00 Come chiave Hash-LM[9-16] DES AA D3 B4 35 B5 14 04 EE Hash-LM[8-14] B5 14 35 AA D3 B4 Come chiave Codice di sfida DES Risposta-LM[9-16] Hash-LM[15-21] EE 04 00 00 00 00 00 Come chiave Codice di sfida DES Risposta-LM[17-24]

16 Considerazioni su “hash” LM
Non è un hash Insieme di caratteri limitato Solo l’insieme 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*1012 password Unsalted

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

18 Autenticazione NTLMv2 unicode(password) MD4 HMAC MD5 HMAC MD5
Come chiave unicode(maiuscolo(nome-utente) +dominio-o-host) HMAC MD5 Come chiave Sfida del server + sfida del client HMAC MD5 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*1025 Entropia per password di 14 caratteri (insieme di caratteri pieno) ≈ 1.5*1039 password Entropia per password di 110 caratteri > 8.4*10307 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 Nome utente Dominio MD5 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 Active Directory
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
Active Directory KERBEROS Logon Windows Server Logon Dati di Autenticazione Locali o Remoti impostati via file di testo UNIX-Linux Server

25 Vantaggi di Kerberos Standard de facto per l’autenticazione
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 Come funziona Kerberos Gli attori
Chiave KDC generata durante la creazione del ruolo DC KDC User Autenticazione con Messaggi Criptati Database di Security Principal Chiave utente generata dalla password di logon Server Chiave host generata durante il join al dominio Tutti gli attori sono parte del realm Kerberos Per comunicare con fiducia devono condividere un segreto

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

28 Come funziona Kerberos Ticket rilasciati
TGT: identifica l’utente 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 l’autenticazione 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
KDC Windows AS_REQ User Server

31 Come funziona Kerberos Logon Iniziale
Client principal name Timestamp Krbtgt principal name Requested lifetime AS_REQ KDC User L’AS verifica l’esistenza dell’account e costruisce un Reply criptato Criptatura eseguita con la chiave generata dalla password utente Solo l’utente vero sarà in grado di leggere la risposta

32 Come funziona Kerberos Pre-autenticazione
Client principal name Timestamp Krbtgt principal name Requested lifetime AS_REQ KDC User AS decripta il timestamp e, se corrisponde all’ora attuale (con il delta consentito – 5’ per default), la richiesta è considerata valida 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

33 Come funziona Kerberos
KDC Windows AS_REP TGT User Server

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

35 Come funziona Kerberos
KDC Windows TGS_REQ TGT TGT User Server

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

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

38 Come funziona Kerberos
KDC Windows TGS_REP TS TGT User Server

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

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

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

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
© 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