Разница между NTLM и Kerberos

Интегрированный в IIS модуль аутентификации Windows реализует два основных протокола аутентификации: NTLM и протокол аутентификации Kerberos. Он вызывает трех разных поставщиков услуг безопасности (SSP): Kerberos, NTLM и Negotiate. Эти SSP и протоколы аутентификации обычно доступны и используются в сетях Windows. NTLM реализует аутентификацию NTLM, а Kerberos реализует аутентификацию Kerberos v5. Согласование отличается, потому что он не поддерживает какие-либо протоколы аутентификации. Поскольку встроенная проверка подлинности Windows включает в себя несколько протоколов проверки подлинности, она требует фазы согласования, прежде чем может произойти фактическая проверка подлинности между веб-браузером и сервером. На этом этапе согласования поставщик согласований определяет, какой протокол аутентификации использовать между веб-браузером и сервером..

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

Что такое NTLM?

NT LAN Manager - это протокол проверки подлинности на основе запросов и ответов, используемый компьютерами Windows, которые не являются членами домена Active Directory. Клиент инициирует аутентификацию через механизм запроса / ответа, основанный на трехстороннем рукопожатии между клиентом и сервером. Клиент начинает связь, отправляя сообщение на сервер с указанием своих возможностей шифрования и с именем учетной записи пользователя. Сервер генерирует 64-битное случайное значение, называемое одноразовым номером, и отвечает на запрос клиента, возвращая этот одноразовый номер, который содержит информацию о его собственных возможностях. Этот ответ называется вызовом. Затем клиент использует строку запроса и его пароль для расчета ответа, который он передает на сервер. Затем сервер проверяет ответ, полученный от клиента, и сравнивает его с ответом NTLM. Если два значения идентичны, аутентификация прошла успешно.

Что такое Kerberos?

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. Kerberos

В то время как оба протокола способны аутентифицировать клиентов без передачи паролей по сети в любой форме, NTLM аутентифицирует клиентов через механизм запроса / ответа, основанный на трехстороннем рукопожатии между клиентом и сервером. Kerberos, с другой стороны, является протоколом проверки подлинности на основе билетов, который более безопасен, чем NTLM, и поддерживает взаимную проверку подлинности, что означает, что проверяется подлинность клиента и сервера. Кроме того, Kerberos поддерживает как олицетворение, так и делегирование, а NTLM поддерживает только олицетворение. NTLM не так безопасен, как Kerberos, поэтому всегда рекомендуется максимально использовать Kerberos.