Серверная операционная система Microsoft Windows 2003




Протоколы MS-CHAP и MS-CHAP v2


Протокол MS-CHAP (Microsoft Challenge Handshake Protocol) представляет собой реализацию протокола CHAP, предложенную компанией Microsoft. В отличие от CHAP, для хэширования паролей применяется алгоритм MD4. Существует две версии протокола MS-CHAP. Вторая версия протокола MS-CHAP (MS-CHAP v2) предлагает более эффективный механизм аутентификации (табл. 14.1). В частности, реализован механизм взаимной аутентификации. Сервер удаленного доступа по окончании процедуры аутентификации клиента удаленного доступа предоставляет ему информацию о собственных полномочиях. Соединение не считается установленным до тех пор, пока клиент не удостоверится в подлинности сервера удаленного доступа.

Таблица 14.1. Сравнение протоколов MS-CHAP версий 1 и 2

Проблемы MS-CHAP версии 1
Решение в MS-CHAP версии 2
Кодирование ответа по схеме LAN Manager, которое используется для обратной совместимости со старыми клиентами Microsoft удаленного доступа, использует слабое шисррование
MS-CHAP v2 более не поддерживает ответы, закодированные по схеме LAN Manager
Кодирование пароля по схеме LAN Manager использует слабое шифрование
MS-CHAP v2 более не поддерживает передачу изменений паролей, закодированных по схеме LAN Manager
Возможна только однонаправленная проверка подлинности. Клиент удаленного доступа не может проверить, соединился он с подлинным или с ложным (подставным) сервером удаленного доступа
MS-CHAP v2 поддерживает двустороннюю проверку подлинности, также называемую взаимной проверкой подлинности. Клиент удаленного доступа проверяет, к тому ли серверу удаленного доступа он подключился
При 40-разрядном шифровании ключ шифрования основывается на пароле пользователя. Каждый раз, когда пользователь подключается с тем же самым паролем, будет сгенерирован тот же самый ключ
При использовании MS-CHAP v2 ключ шифрования основывается на пароле пользователя и произвольной строке запроса. Каждый раз, когда пользователь подключается с тем же самым паролем, используется другой ключ
Используется единый ключ шифрования для данных, передаваемых в обоих направлениях соединения
Используются отдельные ключи шифрования, которые генерируются для передаваемых и получаемых данных