LM hash: differenze tra le versioni

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
mNessun oggetto della modifica
Riga 26: Riga 26:
* [http://www.LMcrack.com/ Tool online per craccare gli hash LM utilizzando Rainbow tables]
* [http://www.LMcrack.com/ Tool online per craccare gli hash LM utilizzando Rainbow tables]


{{Portale|informatica}}
{{Portale|crittografia}}
[[Categoria:Hash crittografici]]
[[Categoria:Hash crittografici]]



Versione delle 01:27, 28 ott 2008

L'LM hash o LAN Manager hash è uno dei formati che Microsoft LAN Manager e Microsoft Windows usano per memorizzare password che sono lunghe non più di 15 caratteri. Questo tipo di hash è l'unico metodo per criptare password usato in LAN Manager (da cui il nome dell'hash) e da versioni di Windows fino a Windows Me. È anche supportato da versioni più recenti di Windows per assicurare la retrocompatibilità, anche se in Windows Vista deve essere attivato manualmente.

Algoritmo

L'LM hash funziona nel seguente modo[1]

  1. La password dell'utente viene convertita da stringa OEM a tutto maiuscolo.
  2. La password viene anche troncata dopo 14 byte.
  3. La password viene a sua volta divisa in due metà da 7 byte.
  4. Questi valori sono usati per creare due chiavi DES, una per ogni blocco da 7 byte, convertendo i sette byte a un flusso di bit e aggiungendo un bit zero alla fine di ogni sette bit. Questo genera i 64 bit necessari per ogni chiave DES.
  5. Ognuna di queste di chiavi è usata per cifrare con il DES la stringa costante in ASCII “KGS!@#$%”, trasformandola in due valori da 8 byte.
  6. Questi due valori sono concatenati per formare un valore da 16 byte, il quale è l'LM hash.

Sicurezza

Sebbene sia basato sul DES, un cifrario a blocchi ben noto e studiato, l'LM hash può essere violato molto facilmente a causa di due debolezze nella sua implementazione. La prima è che le password più lunghe di 7 caratteri sono divise in due ed ogni metà è trattata separatamente. La seconda è che tutte le lettere minuscole della password sono convertite in maiuscolo prima del calcolo dell'hash.

La prima debolezza permette di attaccare separatamente le due metà della password: mentre ci sono differenti password ottenibili da 14 caratteri ASCII stampabili, questi scendono a con i soli 7 caratteri di una metà della password. Riducendo, inoltre, il campo dei caratteri a causa della conversione da minuscolo a maiuscolo, si riducono anche il numero delle possibili combinazioni per ogni metà a . Con un attacco a forza bruta condotto sulle due singole metà, un moderno computer può violare un LM hash in poche ore.

Dato che l'LM hash non include un nonce, vale a dire non include un valore univoco ma utilizza l'hash puro, un attacco di tipo a Rainbow tables, porta alla scoperta delle password in pochi secondi. Questo tipo di attacco sfrutta il cosiddetto compromesso tempo-memoria: per accelerare il calcolo della password vengono caricati in memoria milioni di hash precalcolati che vengono confrontati con quello da violare. Un confronto è molto più veloce di un calcolo puro dell'hash. Esistono molti software che integrano la possibilità di sferrare un simile attacco: tra questi abbiamo RainbowCrack, L0phtCrack, Cain & Abel[2], Ophcrack[3]

Per ovviare alle debolezze dell'LM Hash, Microsoft introdusse in Windows NT 3.1 un nuovo algoritmo denominato NTLM, poi aggiornato alla versione 2 con Windows NT 4.0.

Riferimenti

Collegamenti esterni

  Portale Crittografia: accedi alle voci di Wikipedia che trattano di crittografia