it-swarm.dev

Perché Microsoft non implementa salt sulle password degli utenti in Windows?

Abbastanza semplice - Quindi usiamo le tabelle Rainbow per ottenere password dagli utenti dagli hash. Quindi perché Microsoft non implementerà salt sulle password di Windows per essere hash(password+salt)?

Questa implementazione non risparmierà molto dolore, almeno mentre è implementata nel file SAM quando si ha a che fare con il crack delle password degli utenti locali?

17
Franko

La gestione delle password in un sistema operativo Microsoft è complessa perché utilizzano password per molti usi. Il sistema operativo (o il suo controller di dominio) memorizzerà una versione con hash della password, ma ci sono anche valori crittografati simmetricamente con chiavi derivate dalla password o dal relativo hash. I protocolli di autenticazione non includono disposizioni per lo scambio di sali quando è necessario un hash lato client. È difficile modificare gli algoritmi di elaborazione delle password senza influire su molti sottosistemi e potenzialmente interrompere la compatibilità con le versioni precedenti, che è la forza trainante dell'ecosistema Windows.

Si scende a priorità strategiche. Microsoft sa che alterare i protocolli di hashing e autenticazione delle password per includere un salt avrà alcuni costi non trascurabili che dovrebbero assumere (correggendo tutti i componenti che sono così interessati). D'altra parte, non la modifica dell'hash della password è piuttosto "gratuito" per loro, perché un algoritmo di hashing traballante non convincerà i clienti a passare ad altri non -Sistemi Microsoft (il mercato dei sistemi operativi è, in pratica, un mercato vincolato ); ci vuole molto di più per costringere i potenziali clienti a prevedere uno switch OS molto costoso. Inoltre, l'hash della password può essere probabilmente qualificato come "difesa in profondità" , un secondo livello che ha un impatto solo una volta che si è già verificata una violazione; come tale, potrebbe essere presentato come secondario. Pertanto, è logico, se irritante, che Microsoft non aggiorni le sue scarse pratiche di elaborazione delle password.

Storicamente, Microsoft ha fatto un solo aggiornamento, quando sono passati da NTLM v1 a v2, ed era un po 'necessario perché il vecchio hash LM era così debole che stava cominciando a essere imbarazzante . La mia ipotesi è che comportava molta seccatura interna e non sono desiderosi di farlo di nuovo.

23
Thomas Pornin

Il modello del sistema Microsoft è sostanzialmente diverso dal solito modello "web" (e in misura minore UNIX) - nel mondo degli Stati Uniti, generalmente hai un numero di macchine sotto il tuo controllo strettamente legate a pochi repository centrali e tu è probabile che sappiano dove sono molte volte. (Ciò si interrompe quando si tratta di IIS; quindi, molte app Web eseguono il proprio controllo utente.)

Come menzionato in un'altra risposta , gli hash di Microsoft sono stati tradizionalmente deboli e probabilmente sono mantenuti in questo modo per la compatibilità con le versioni precedenti. Ma non è nemmeno fondamentale per il loro modello di sicurezza: nel modello Microsoft è relativamente banale cambiare una password. È relativamente banale forzare la modifica di tutte password. Hai anche un metodo affidabile per la scadenza delle password (quindi eventuali hash persi perderanno rapidamente il loro valore, sicuramente entro 1-2 mesi).

Stai anche operando in un mondo in cui amministratori benevoli hanno ascoltato utenti non tecnici attraverso le insidie ​​dell'informatica; come solo un esempio: non salare significa che un utente può aggiornare la propria password mentre non è in grado di parlare con il controller di dominio e il controller di dominio può elaborare il nuovo hash della password semplicemente guardando le credenziali correnti dell'utente (utente + dominio nuova password) e le loro credenziali precedenti. Questo è un grande vantaggio perché significa che l'esperienza dell'utente (cambiando password ogni xxx giorni) non cambia a seconda dell'accesso alla rete.

Potresti essere interessato a spiegazione tecnica di Microsoft sul loro sistema di password .

7
Bob Watson