IIS oferă multe tehnologii diferite de autentificare. Unul dintre ele este integrarea autentificării Windows. Autentificarea integrată Windows folosește Kerberos de negociere sau NTLM pentru a autentifica utilizatorii pe baza mesajelor de tichet criptate transmise între browser și server.
Cel mai comun scenariu de aplicație al autentificării NTLM este probabil autentificarea folosită în browsere (protocolul http). Dar, în realitate, NTLM specifică doar procesul de autentificare și formatul mesajului de autentificare. Nu are legătură cu acorduri specifice. Deci nu există neapărat o conexiune cu http. Browserul transportă doar mesajul NTLM pe antetul protocolului http și trece autentificarea. Știm că http este de obicei în text clar, așa că dacă transmiterea directă a parolelor este foarte nesigură, NTLM previne efectiv această problemă.
Procesul de certificare
Autentificarea NTLM necesită trei pași pentru a fi finalizată, iar procesul detaliat de cerere este vizualizat prin toolbox-ul Fiddler.
Pasul 1
Utilizatorul se conectează la gazda clientului introducând numărul contului Windows și parola. Înainte de a se autentifica, clientul stochează în cache hash-ul parolei introduse, iar parola originală este eliminată ("parola originală nu poate fi stocată în cache sub nicio formă", aceasta este o linie directivă de securitate de bază). Un utilizator care reușește să se logheze pe clientul Windows trebuie să trimită o cerere către cealaltă parte dacă încearcă să acceseze resursele serverului. Cererea conține un nume de utilizator în text clar.
Pasul 2
Când serverul primește cererea, generează un număr aleator pe 16 biți. Acest număr aleatoriu se numește provocare sau nonce. Provocarea este salvată înainte ca serverul să o trimită clientului. Provocările sunt trimise în text clar.
Pasul 3
După ce primește provocarea trimisă înapoi de către server, clientul o criptează cu hash-ul parolei salvat la pasul 1, apoi trimite provocarea criptată către server.
Pasul 4
După ce primește provocarea criptată trimisă înapoi de client, serverul trimite o cerere de autentificare către client către DC (Domeniu). Cererea include în principal următoarele trei conținuturi: numele de utilizator al clientului; Provocare și provocare originală cu hash-ul parolei clientului criptat.
Pașii 5 și 6
DC criptează provocarea originală prin obținerea hash-ului parolei contului pe baza numelui de utilizator. Dacă provocarea criptată este aceeași cu cea trimisă de server, înseamnă că utilizatorul are parola corectă și verificarea trece, altfel verificarea eșuează. DC-ul trimite rezultatele verificării către server și, în final, transmite feedback către client.
Articole de referință:
Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă.
|