IIS nabízí mnoho různých autentizačních technologií. Jedním z nich je integrace autentizace Windows. Integrovaná Windows autentizace využívá vyjednávací Kerberos nebo NTLM k autentizaci uživatelů na základě šifrovaných tiketů předávaných mezi prohlížečem a serverem.
Nejčastějším scénářem NTLM autentizace je pravděpodobně autentizace používaná v prohlížečích (http protokol). Ve skutečnosti však NTLM specifikuje pouze autentizační proces a formát autentizační zprávy. Netýká se to konkrétních dohod. Takže s http nutně není spojení. Prohlížeč přenáší pouze zprávu NTLM v hlavičce http protokolu a předá autentizaci. Víme, že http je obvykle v otevřeném textu, takže pokud je přímý přenos hesel velmi nebezpečný, NTLM tento problém účinně zabrání.
Proces certifikace
NTLM autentizace vyžaduje tři kroky a podrobný proces požadavků si můžete prohlédnout v Fiddler Toolboxu.
Krok 1
Uživatel se přihlásí do klientského hostitele zadáním čísla účtu Windows a hesla. Před přihlášením klient uloží hash zadaného hesla do mezipaměti a původní heslo je vyřazeno ("původní heslo nelze za žádných okolností uložit do mezipaměti", což je základní bezpečnostní pravidlo). Uživatel, který se úspěšně přihlásí do klienta Windows, musí poslat požadavek druhé straně, pokud se pokusí přistupovat k serverovým zdrojům. Požadavek obsahuje uživatelské jméno v otevřeném textu.
Krok 2
Když server přijme požadavek, vygeneruje 16bitové náhodné číslo. Toto náhodné číslo se nazývá výzva nebo nonce. Výzva se uloží dříve, než ji server odešle klientovi. Výzvy jsou zasílány v otevřeném textu.
Krok 3
Po obdržení výzvy, kterou server pošle zpět, klient ji zašifruje s hashem hesla uloženým v kroku 1 a poté pošle šifrovanou výzvu serveru.
Krok 4
Po obdržení šifrované výzvy vrácené klientem server odešle klientovi požadavek na autentizaci do domény (DC). Žádost obsahuje především následující tři obsahy: uživatelské jméno klienta; Výzva a původní výzva s hashem šifrovaného klientského hesla.
Kroky 5 a 6
DC zašifruje původní výzvu získáním hashe hesla účtu na základě uživatelského jména. Pokud je šifrovaná výzva stejná jako ta, kterou odeslal server, znamená to, že uživatel má správné heslo a ověření projde, jinak ověření selže. Ověřovací výsledky odešle serveru a nakonec je posílá zpět klientovi.
Referenční články:
Přihlášení k hypertextovému odkazu je viditelné.
Přihlášení k hypertextovému odkazu je viditelné.
Přihlášení k hypertextovému odkazu je viditelné.
|