Різниця між NTLM та Kerberos

Інтегрований модуль аутентифікації Windows IIS реалізує два основні протоколи аутентифікації: NTLM та протокол аутентифікації Kerberos. Він закликає трьох різних постачальників служб безпеки (SSP): Kerberos, NTLM та Negotiate. Ці протоколи SSP та протоколи аутентифікації зазвичай доступні та використовуються у мережах Windows. NTLM реалізує автентифікацію NTLM, а Kerberos реалізує автентифікацію Kerberos v5. Переговори відрізняються тим, що він не підтримує жодних протоколів аутентифікації. Оскільки інтегрована автентифікація Windows включає декілька протоколів аутентифікації, їй потрібна фаза узгодження, перш ніж може відбутися фактична автентифікація між веб-браузером та сервером. Під час цієї фази узгодження SSP переговорів визначає, який протокол аутентифікації використовувати між веб-браузером та сервером.

Обидва протоколи надзвичайно безпечні, і вони здатні аутентифікувати клієнтів без передачі паролів по мережі в будь-якій формі, але вони обмежені. Перевірка автентичності NTLM не працює для проксі-серверів HTTP, оскільки для належного функціонування потрібне з'єднання між веб-браузером та сервером "точка-точка". Аутентифікація Kerberos доступна лише в браузерах IE 5.0 та веб-серверах IIS 5.0 або новіших версіях. Він працює лише на машинах під керуванням Windows 2000 або новіших версій і вимагає, щоб деякі бранди були відкриті на брандмауерах. NTLM не настільки безпечний, як Kerberos, тому завжди рекомендується використовувати Kerberos якомога більше. Давайте поглянемо на два.

Що таке NTLM?

NT LAN Manager - це протокол автентифікації на основі виклику-відповіді, який використовується комп'ютерами Windows, які не є членами домену Active Directory. Клієнт ініціює аутентифікацію через механізм виклику / відповіді, заснований на тристоронній рукостисканні між клієнтом і сервером. Клієнт розпочинає зв’язок, надсилаючи повідомлення на сервер із зазначенням його можливостей шифрування та містить ім'я облікового запису користувача. Сервер генерує 64-бітове випадкове значення, яке називається nonce, і відповідає на запит клієнта, повертаючи це поняття, що містить інформацію про власні можливості. Ця відповідь називається викликом. Потім клієнт використовує рядок виклику та його пароль для обчислення відповіді, яку він передає серверу. Потім сервер перевіряє відповідь, отриману від клієнта, і порівнює її з відповіддю NTLM. Якщо два значення однакові, аутентифікація проходить успішно.

Що таке Керберос?

Kerberos - протокол аутентифікації на основі квитків, який використовується комп'ютерами Windows, які є членами домену Active Directory. Аутентифікація Kerberos - найкращий метод для внутрішніх установок IIS. Аутентифікація Kerberos v5 була розроблена в MIT і визначена в RFC 1510. Windows 2000 і пізніші версії реалізує Kerberos при розгортанні Active Directory. Найкраще, це зменшує кількість паролів, які повинен запам'ятати кожен користувач, щоб використовувати всю мережу до однієї - пароль Kerberos. Крім того, він включає в себе шифрування та цілісність повідомлення, щоб гарантувати, що чутливі дані аутентифікації ніколи не надсилаються через мережу. Система Kerberos працює за допомогою набору централізованих центрів розподілу ключів або KDC. Кожен KDC містить базу даних імен користувачів та паролів як для користувачів, так і для служб з підтримкою Kerberos.

Різниця між NTLM і Kerberos

Протокол NTLM та Kerberos

- NTLM - протокол аутентифікації на основі викликів і відповідей, який використовується комп'ютерами Windows, які не є членами домену Active Directory. Клієнт ініціює аутентифікацію через механізм виклику / відповіді, заснований на тристоронній рукостисканні між клієнтом і сервером. Kerberos, з іншого боку, є протоколом автентифікації на основі квитків, який працює лише на машинах під керуванням Windows 2000 або новіших версій і працює в домені Active Directory. Обидва протоколи аутентифікації засновані на симетричній ключовій криптографії.

Підтримка

- Однією з головних відмінностей між двома протоколами аутентифікації є те, що Kerberos підтримує як себе, так і делегування, тоді як NTLM підтримує лише себе. Делегування - це в основному те саме поняття, що і імперсонація, що включає лише виконання дій від імені особи клієнта. Однак, видача себе за особистість просто працює в межах сфери роботи на одній машині, в той час як делегування працює також по всій мережі. Це означає, що квиток автентифікації оригінального ідентифікатора клієнта може бути переданий на інший сервер у мережі, якщо сервер, який здійснював доступ, має дозвіл на це..

Безпека

- Хоча обидва протоколи аутентифікації захищені, NTLM не є настільки безпечним, як Kerberos, тому що для належного функціонування він потребує точкового з'єднання між веб-браузером та сервером. Kerberos є більш безпечним, оскільки ніколи не передає паролі по мережі в чистому режимі. Це унікальне використання квитків, які підтверджують особу користувача на даному сервері, не надсилаючи паролі по мережі та кешуючи паролі на жорсткому диску місцевого користувача. Аутентифікація Kerberos - найкращий метод для внутрішніх установок IIS (веб-сайти, які використовуються лише доменними клієнтами).

Аутентифікація

- Однією з головних переваг Kerberos перед NTLM є те, що Kerberos пропонує взаємну аутентифікацію та спрямований на модель клієнт-сервер, що означає достовірність клієнта та сервера. Однак і сервіс, і клієнт повинні працювати на Windows 2000 або новішої версії, інакше автентифікація не вдасться. На відміну від NTLM, який включає лише сервер IIS7 та клієнта, автентифікація Kerberos включає також контролер домену Active Directory.

NTLM vs. Kerberos: Порівняльна діаграма

Підсумок NTLM Vs. Керберос

Хоча обидва протоколи здатні аутентифікувати клієнтів без передачі паролів по мережі в будь-якій формі, NTLM аутентифікує клієнтів, незважаючи на механізм виклику / відповіді, який базується на тристоронній рукостисканні між клієнтом і сервером. Kerberos, з іншого боку, є протоколом автентифікації на основі квитків, який є більш захищеним, ніж NTLM і підтримує взаємну аутентифікацію, що означає, що справжність клієнта та сервера підтверджена. Крім того, Керберос підтримує як себе, так і делегування, тоді як NTLM підтримує лише себе. NTLM не настільки безпечний, як Kerberos, тому завжди рекомендується використовувати Kerberos якомога більше.