Microsoft NTLM
Windows Challenge/Response (NTLM) je ověřovací protokol používaný v sítích, které zahrnují systémy s operačním systémem Windows a samostatné systémy.
Balíček zabezpečení microsoft Kerberos přidává k systémům v síti větší zabezpečení než NTLM. I když Protokolu Kerberos je protokol, protokol NTLM se stále podporuje. Protokol NTLM musí být také používán k ověřování přihlášení v samostatných systémech. Další informace o protokolu Kerberos naleznete v tématu Microsoft Kerberos.
Přihlašovací údaje NTLM jsou založeny na datech získaných během interaktivního procesu přihlášení a skládají se z názvu domény, uživatelského jména a jednosměrného hash hesla uživatele. PROTOKOL NTLM používá šifrovaný protokol výzvy a odpovědi k ověření uživatele bez odeslání hesla uživatele přes drát. Místo toho musí systém žádající o ověření provést výpočet, který prokáže, že má přístup k zabezpečeným přihlašovacím údajům NTLM.
Interaktivní ověřování NTLM přes síť obvykle zahrnuje dva systémy: klientský systém, kde uživatel požaduje ověření, a řadič domény, kde se uchovávají informace související s heslem uživatele. Neinteraktivní ověřování, které může být nutné, aby již přihlášený uživatel mohl přistupovat k prostředku, jako je serverová aplikace, obvykle zahrnuje tři systémy: klient, server a řadič domény, který provede výpočty ověřování jménem serveru.
Následující kroky představují osnovu neinteraktivního ověřování NTLM. Prvním krokem jsou přihlašovací údaje NTLM uživatele, ke kterému dochází pouze v rámci procesu interaktivního ověřování (přihlášení).
(Pouze interaktivní ověřování) Uživatel přistupuje k klientskému počítači a poskytuje název domény, uživatelské jméno a heslo. Klient vypočítá kryptografickou hodnotu hash hesla a zahodí skutečné heslo.
Klient odešle uživatelské jméno na server (v prostém textu).
Server vygeneruje 8bajtů náhodné číslo označované jako výzva nebo a odešle ho klientovi.
Klient tento problém zašifruje hodnotou hash hesla uživatele a vrátí výsledek na server. Tomu se říká odpovědi.
Server odešle řadiči domény následující tři položky:
- Uživatelské jméno
- Výzva odeslaná klientovi
- Odpověď přijatá od klienta
Řadič domény používá uživatelské jméno k načtení hodnoty hash hesla uživatele z databáze Správce účtů zabezpečení. K zašifrování výzvy používá tuto hodnotu hash hesel.
Řadič domény porovná zašifrovanou výzvu, kterou vypočítá (v kroku 6) s odpovědí vypočítanou klientem (v kroku 4). Pokud jsou identické, ověřování je úspěšné.
Aplikace by neměla přistupovat k balíčku zabezpečení NTLM přímo; místo toho by měl použít balíček zabezpečení Negotiate. Negotiate umožňuje vaší aplikaci využívat pokročilejší protokoly zabezpečení , pokud jsou podporovány systémy, které se týkají ověřování. V současné době balíček zabezpečení Negotiate vybere mezi Kerberos a NTLM. Vyjednává výběr protokolu Kerberos, pokud ho nemůže používat některý ze systémů zapojených do ověřování.