Sdílet prostřednictvím


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í).

  1. (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.

  2. Klient odešle uživatelské jméno na server (v prostém textu).

  3. Server vygeneruje 8bajtů náhodné číslo označované jako výzva nebo a odešle ho klientovi.

  4. Klient tento problém zašifruje hodnotou hash hesla uživatele a vrátí výsledek na server. Tomu se říká odpovědi.

  5. 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
  6. Ř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.

  7. Ř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í.