Różnica między NTLM i Kerberos

Różnica między NTLM i Kerberos

Zintegrowany moduł uwierzytelniania systemu Windows IIS implementuje dwa główne protokoły uwierzytelniania: NTLM i protokół uwierzytelniania Kerberos. Wzywa trzech różnych dostawców usług bezpieczeństwa (SSP): Kerberos, NTLM i negocjuje. Te SSP i protokoły uwierzytelniania są zwykle dostępne i używane w sieciach Windows. NTLM implementuje uwierzytelnianie NTLM, a Kerberos implementuje uwierzytelnianie Kerberos V5. Negocjacje są inne, ponieważ nie obsługuje żadnych protokołów uwierzytelniania. Ponieważ zintegrowane uwierzytelnianie systemu Windows obejmuje kilka protokołów uwierzytelniania, potrzebuje fazy negocjacji, zanim będzie mogło nastąpić faktyczne uwierzytelnianie między przeglądarką internetową a serwerem. Podczas tej fazy negocjacji negocjata SSP określa, który protokół uwierzytelniania użyć między przeglądarką internetową a serwerem.

Oba protokoły są wyjątkowo bezpieczne i są w stanie uwierzytelniać klientów bez przesyłania haseł przez sieć w dowolnej formie, ale są ograniczone. Uwierzytelnianie NTLM nie działa na proxy HTTP, ponieważ wymaga połączenia punkt-punkt między przeglądarką internetową a serwerem, aby poprawnie funkcjonować. Uwierzytelnianie Kerberos jest dostępne tylko na IE 5.0 przeglądarek i IIS 5.0 serwerów internetowych lub później. Działa tylko na maszynach z systemem Windows 2000 lub więcej i wymaga otwarcia dodatkowych portów na zaporach zaporowych. NTLM nie jest tak bezpieczny jak Kerberos, więc zawsze zaleca się używanie Kerberos tak bardzo, jak to możliwe. Przyjrzyjmy się na tych dwóch.

””

Co to jest NTLM?

NT LAN Manager to protokół uwierzytelniania oparty na wyzwaniu używany przez komputery Windows, które nie są członkami domeny Active Directory. Klient inicjuje uwierzytelnianie poprzez mechanizm wyzwania/reakcji na podstawie trójstronnego uścisku dłoni między klientem a serwerem. Klient rozpoczyna komunikację, wysyłając wiadomość do serwera, określając jego możliwości szyfrowania i zawierając nazwę konta użytkownika. Serwer generuje 64-bitową wartość losową o nazwie Nonce i odpowiada na żądanie klienta, zwracając ten nonce, który zawiera informacje o jego własnych możliwościach. Ta odpowiedź nazywa się wyzwaniem. Następnie klient używa ciągu wyzwania i jego hasła do obliczenia odpowiedzi, którą przesyła na serwer. Serwer następnie sprawdza odpowiedź, jaką otrzymała od klienta i porównuje ją z odpowiedzią NTLM. Jeśli dwie wartości są identyczne, uwierzytelnianie się powiodło.

Co to jest Kerberos?

Kerberos to protokół uwierzytelniania oparty na biletach używany przez komputery Windows, które są członkami domeny Active Directory. Uwierzytelnianie Kerberos jest najlepszą metodą wewnętrznych instalacji IIS. Uwierzytelnianie Kerberos V5 zostało zaprojektowane w MIT i zdefiniowane w RFC 1510. Windows 2000 i nowszy wdraża Kerberos, gdy wdrażany jest Active Directory. Najlepsza część, zmniejsza liczbę haseł, które każdy użytkownik musi zapamiętać, aby użyć całej sieci do jednego - hasło Kerberos. Ponadto obejmuje szyfrowanie i integralność wiadomości, aby upewnić się, że wrażliwe dane uwierzytelniania nigdy nie są wysyłane przez sieć. System Kerberos działa przez zestaw scentralizowanych kluczowych centrów dystrybucji lub KDC. Każdy KDC zawiera bazę danych nazw użytkowników i haseł zarówno dla użytkowników, jak i usług obsługujących Kerberos.

Różnica między NTLM i Kerberos

Protokół NTLM i Kerberos

- NTLM to protokół uwierzytelniania oparty na wyzwaniu używany przez komputery Windows, które nie są członkami domeny Active Directory. Klient inicjuje uwierzytelnianie poprzez mechanizm wyzwania/reakcji na podstawie trójstronnego uścisku dłoni między klientem a serwerem. Z drugiej strony Kerberos jest protokołem uwierzytelniania opartego na biletach, który działa tylko na maszynach działających systemem Windows 2000 lub wyższej i działającej w domenie Active Directory. Oba protokoły uwierzytelniania są oparte na kryptografii symetrycznej.

Wsparcie

- Jedną z głównych różnic między dwoma protokołami uwierzytelniania jest to, że Kerberos obsługuje zarówno podszywanie się, jak i delegację, podczas gdy NTLM popiera jedynie podszywanie się. Delegacja to w zasadzie ta sama koncepcja, co wcale, która obejmuje jedynie działania w imieniu tożsamości klienta. Jednak podszywanie się po prostu działa w ramach jednego komputera, podczas gdy delegacja działa również w całej sieci. Oznacza to, że bilet uwierzytelniający tożsamość oryginalnego klienta może zostać przekazana na inny serwer w sieci, jeśli pierwotnie dostępny serwer ma na to pozwolenie.

Bezpieczeństwo

- Chociaż oba protokoły uwierzytelniania są bezpieczne, NTLM nie jest tak bezpieczny jak kerberos, ponieważ wymaga połączenia punkt-punkt między przeglądarką internetową a serwerem, aby poprawnie funkcjonować. Kerberos jest bezpieczniejszy, ponieważ nigdy nie przesyła haseł przez sieć. Jest wyjątkowy w użyciu biletów, które dowodzą tożsamości użytkownika na danym serwerze bez wysyłania haseł przez sieć lub buforowania haseł na dysku twardym użytkownika lokalnego. Uwierzytelnianie Kerberos jest najlepszą metodą wewnętrznych instalacji IIS (strony internetowe używane tylko przez klientów domeny).

Uwierzytelnianie

- Jedną z głównych zalet Kerberos w stosunku do NTLM jest to, że Kerberos oferuje wzajemne uwierzytelnianie i skierowane do modelu klienta-serwer. Jednak zarówno usługa, jak i klient muszą działać w systemie Windows 2000 lub wyższym, w przeciwnym razie uwierzytelnianie się nie powiedzie. W przeciwieństwie do NTLM, który obejmuje tylko serwer IIS7 i klienta, uwierzytelnianie Kerberos obejmuje również kontroler domeny Active Directory.

NTLM vs. Kerberos: wykres porównawczy

Podsumowanie NTLM vs. Kerberos

Podczas gdy oba protokoły są w stanie uwierzytelnianie klientów bez przesyłania haseł w sieci w dowolnym formularzu, NTLM uwierzytelnia klientów przez mechanizm wyzwania/reakcji oparty na trójstronnym uścisku między klientem a serwerem. Z drugiej strony Kerberos jest protokołem uwierzytelniania biletowym, który jest bardziej bezpieczny niż NTLM i obsługuje wzajemne uwierzytelnianie, co oznacza, że ​​zarówno klienta, jak i autentyczność serwera są weryfikowane. Ponadto Kerberos obsługuje zarówno podszywanie się, jak i delegację, podczas gdy NTLM obsługuje jedynie podszywanie się. NTLM nie jest tak bezpieczny jak Kerberos, więc zawsze zaleca się używanie Kerberos tak bardzo, jak to możliwe.