IIS oferuje wiele różnych technologii uwierzytelniania. Jednym z nich jest integracja uwierzytelniania Windows. Zintegrowana Autyzacja Windows wykorzystuje negocjacje Kerberos lub NTLM do uwierzytelniania użytkowników na podstawie zaszyfrowanych zgłoszeń przekazywanych między przeglądarką a serwerem.
Najczęstszym scenariuszem uwierzytelniania NTLM jest prawdopodobnie uwierzytelnianie stosowane w przeglądarkach (protokół http). W rzeczywistości NTLM określa jedynie proces uwierzytelniania i format komunikatu uwierzytelniającego. Nie dotyczy to konkretnych umów. Więc nie ma koniecznie powiązania z http. Przeglądarka przenosi tylko wiadomość NTLM na nagłówku protokołu http i przekazuje uwierzytelnienie. Wiemy, że http zwykle jest w tekście jawnym, więc jeśli bezpośrednia transmisja haseł jest bardzo niebezpieczna, NTLM skutecznie zapobiega temu problemowi.
Proces certyfikacji
Uwierzytelnianie NTLM wymaga trzech kroków do ukończenia, a szczegółowy proces żądań można obejrzeć w skrzynce narzędzi Fiddler.
Krok 1
Użytkownik loguje się do hosta klienta, wpisując numer konta Windows i hasło. Przed zalogowaniem klient zapisuje heš wpisanego hasła, a oryginalne hasło jest usuwane ("oryginalne hasło nie może być buforowane w żadnym wypadku", to podstawowa zasada bezpieczeństwa). Użytkownik, który pomyślnie zaloguje się do klienta Windows, musi wysłać żądanie do drugiej strony, jeśli ta spróbuje uzyskać dostęp do zasobów serwera. Żądanie zawiera nazwę użytkownika w formie jawnej.
Krok 2
Gdy serwer otrzymuje żądanie, generuje losową liczbę o długości 16 bitów. Ta losowa liczba nazywana jest wyzwaniem lub nonce. Wyzwanie jest zapisywane zanim serwer wyśle je klientowi. Wyzwania są wysyłane w formie tekstu jawnego.
Krok 3
Po otrzymaniu wyzwania przesłanego przez serwer, klient szyfruje je z hashem hasła zapisanym w kroku 1, a następnie wysyła zaszyfrowane wyzwanie na serwer.
Krok 4
Po otrzymaniu zaszyfrowanego wyzwania przesłanego przez klienta, serwer wysyła żądanie uwierzytelnienia do klienta do domeny (DC). Żądanie zawiera głównie następujące trzy treści: nazwę użytkownika klienta; Wyzwanie i oryginalne wyzwanie z zaszyfrowanym hasłem klienta.
Kroki 5 i 6
DC szyfruje oryginalne wyzwanie, uzyskując hasło konta na podstawie nazwy użytkownika. Jeśli zaszyfrowane wyzwanie jest takie samo jak to wysłane przez serwer, oznacza to, że użytkownik ma poprawne hasło i weryfikacja przebiega, w przeciwnym razie weryfikacja się nie udaje. Kontroler wysyła wyniki weryfikacji do serwera, a następnie przekazuje je klientowi.
Artykuły referencyjne:
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.
|