Różnica między NTLM a Kerberos

Zintegrowany moduł uwierzytelniania 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 Negotiate. Te SSP i protokoły uwierzytelnienia są zwykle dostępne i używane w sieciach Windows. NTLM implementuje uwierzytelnianie NTLM, a Kerberos implementuje uwierzytelnianie Kerberos v5. Negocjacja jest inna, ponieważ nie obsługuje żadnych protokołów uwierzytelniania. Ponieważ zintegrowane uwierzytelnianie systemu Windows obejmuje kilka protokołów uwierzytelniania, przed faktycznym uwierzytelnieniem między przeglądarką sieci Web a serwerem potrzebna jest faza negocjacji. Podczas tej fazy negocjacji negocjator SSP określa, który protokół uwierzytelnienia ma być używany między przeglądarką sieci Web 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 serwerach proxy HTTP, ponieważ wymaga prawidłowego połączenia przeglądarki internetowej z serwerem. Uwierzytelnianie Kerberos jest dostępne tylko w przeglądarkach IE 5.0 i serwerach internetowych IIS 5.0 lub nowszych. Działa tylko na komputerach z systemem Windows 2000 lub nowszym i wymaga otwarcia niektórych dodatkowych portów w zaporach ogniowych. NTLM nie jest tak bezpieczny jak Kerberos, dlatego zawsze zaleca się używanie Kerberos w jak największym stopniu. Przyjrzyjmy się dwóm.

Co to jest NTLM?

NT LAN Manager to protokół uwierzytelniania oparty na wyzwaniach, używany przez komputery z systemem Windows, które nie są członkami domeny Active Directory. Klient inicjuje uwierzytelnianie za pomocą mechanizmu wyzwania / odpowiedzi opartego na trójstronnym uzgadnianiu między klientem a serwerem. Klient rozpoczyna komunikację, wysyłając do serwera wiadomość określającą jego możliwości szyfrowania i zawierającą nazwę konta użytkownika. Serwer generuje 64-bitową wartość losową zwaną wartością jednorazową i odpowiada na żądanie klienta, zwracając tę ​​wartość jednorazową, która zawiera informacje o jego własnych możliwościach. Ta odpowiedź nazywa się wyzwaniem. Następnie klient wykorzystuje ciąg wyzwania i hasło do obliczenia odpowiedzi, którą przesyła do serwera. Serwer następnie sprawdza odpowiedź otrzymaną od klienta i porównuje ją z odpowiedzią NTLM. Jeśli dwie wartości są identyczne, uwierzytelnianie powiodło się.

Co to jest Kerberos?

Kerberos to oparty na biletach protokół uwierzytelniania używany przez komputery z systemem Windows, które są członkami domeny Active Directory. Uwierzytelnianie Kerberos jest najlepszą metodą dla wewnętrznych instalacji IIS. Uwierzytelnianie Kerberos v5 zostało zaprojektowane na MIT i zdefiniowane w RFC 1510. Windows 2000 i nowsze implementują Kerberos podczas wdrażania Active Directory. Najlepsze jest to, że zmniejsza liczbę haseł, które każdy użytkownik musi zapamiętać, aby użyć całej sieci do jednego - hasło Kerberos. Ponadto zawiera szyfrowanie i integralność wiadomości, aby zapewnić, że poufne dane uwierzytelniające nigdy nie będą przesyłane przez sieć w sposób jawny. System Kerberos działa poprzez zestaw scentralizowanych centrów dystrybucji kluczy lub KDC. Każde KDC zawiera bazę danych nazw użytkowników i haseł dla użytkowników i usług z obsługą Kerberos.

Różnica między NTLM a Kerberos

Protokół NTLM i Kerberos

- NTLM jest protokołem uwierzytelniania opartym na wyzwaniach, używanym przez komputery z systemem Windows, które nie są członkami domeny Active Directory. Klient inicjuje uwierzytelnianie za pomocą mechanizmu wyzwania / odpowiedzi opartego na trójstronnym uzgadnianiu między klientem a serwerem. Z drugiej strony Kerberos to protokół uwierzytelniania oparty na biletach, który działa tylko na komputerach z systemem Windows 2000 lub nowszym i działających w domenie Active Directory. Oba protokoły uwierzytelnienia oparte są na kryptografii klucza symetrycznego.

Wsparcie

- Jedną z głównych różnic między tymi dwoma protokołami uwierzytelniania jest to, że Kerberos obsługuje zarówno personifikację, jak i delegowanie, podczas gdy NTLM obsługuje tylko personifikację. Delegowanie to w zasadzie ta sama koncepcja co podszywanie się, które polega jedynie na wykonywaniu czynności w imieniu tożsamości klienta. Jednak personifikacja działa tylko w zakresie na jednym komputerze, podczas gdy delegowanie działa również w sieci. Oznacza to, że bilet uwierzytelniający tożsamości oryginalnego klienta może zostać przekazany na inny serwer w sieci, jeśli serwer, do którego uzyskano pierwotny dostęp, ma na to pozwolenie.

Bezpieczeństwo

- Chociaż oba protokoły uwierzytelniania są bezpieczne, NTLM nie jest tak bezpieczny jak Kerberos, ponieważ wymaga prawidłowego połączenia przeglądarki internetowej z serwerem. Kerberos jest bezpieczniejszy, ponieważ nigdy nie przesyła haseł przez sieć w sposób jawny. Jest unikalny w użyciu biletów, które potwierdzają tożsamość użytkownika na danym serwerze bez wysyłania haseł przez sieć lub buforowania haseł na dysku twardym lokalnego użytkownika. Uwierzytelnianie Kerberos jest najlepszą metodą dla wewnętrznych instalacji IIS (strony używane tylko przez klientów domeny).

Poświadczenie

- Jedną z głównych zalet Kerberos w porównaniu z NTLM jest to, że Kerberos oferuje wzajemne uwierzytelnianie i jest ukierunkowany na model klient-serwer, co oznacza, że ​​weryfikowana jest zarówno autentyczność klienta, jak i serwera. Jednak zarówno usługa, jak i klient muszą działać w systemie Windows 2000 lub nowszym, w przeciwnym razie uwierzytelnianie nie powiedzie się. W przeciwieństwie do NTLM, który dotyczy tylko serwera IIS7 i klienta, uwierzytelnianie Kerberos obejmuje również kontroler domeny Active Directory.

NTLM vs. Kerberos: Tabela porównawcza

Podsumowanie NTLM vs. Kerberos

Podczas gdy oba protokoły są w stanie uwierzytelniać klientów bez przesyłania haseł przez sieć w dowolnej formie, NTLM uwierzytelnia klientów za pomocą mechanizmu wyzwania / odpowiedzi opartego na trójstronnym uzgadnianiu między klientem a serwerem. Z drugiej strony Kerberos to protokół uwierzytelniania oparty na biletach, który jest bezpieczniejszy niż NTLM i obsługuje wzajemne uwierzytelnianie, co oznacza, że ​​weryfikowana jest zarówno autentyczność klienta, jak i serwera. Ponadto Kerberos obsługuje zarówno personifikację, jak i delegowanie, podczas gdy NTLM obsługuje tylko personifikację. NTLM nie jest tak bezpieczny jak Kerberos, dlatego zawsze zaleca się używanie Kerberos w jak największym stopniu.