MS-CHAP: различия между версиями

[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
Строка 1:
'''MS-CHAP ''' ({{lang-en|Microsoft Challenge Handshake Authentication Protocol}}) — протокол, разработанный корпорацией [[Microsoft]] для выполнения процедур проверки подлинности удалённых рабочих станций [[Windows]]. Протокол поддерживает функциональные возможности, привычные пользователям локальных сетей, и интегрирует алгоритмы шифрования и хеширования, действующие в сетях Windows. Для проведения проверки подлинности без передачи пароля протокол MS-CHAP, как и [[CHAP]], использует [[Вызов-ответ (аутентификация)|механизм «вызов-ответ»]].
 
Протокол MS-CHAP генерирует запрос и ответ с помощью алгоритма хеширования [[MD4]] ({{lang-en|Message Digest 4}}) и алгоритма шифрования [[DES]] ({{lang-en|Data Encryption Standard}}); предусмотрены также механизмы возврата сообщений об ошибках подключения и возможности изменения пароля пользователя. Ответный пакет использует специальный формат, предназначенный для использования сетевыми средствами систем [[Windows 95]], [[Windows 98]], [[Windows Millennium Edition]], [[Windows NT]], [[Windows 2000]] и [[Windows XP]].
Строка 12:
* Сервер удаленного доступа дублирует хэш и сравнивает его с ответом. Если хэш такие же, сервер удаленного доступа посылает обратно сообщение об успехе. Если хэши разные, то отправляется сообщение об отказе.
MS-CHAP v1 также учитывает [[Код ошибки|коды ошибок]], в том числе такие как "срок действия пароля истек" код и изменение пароля. MS-CHAP v1 защищает от повторяющихся атак, используя произвольную строку запроса (arbitrary challenge string) на каждую попытку аутентификации. MS-CHAP v1 не обеспечивают защиту от имитации удаленного сервера.
 
Если MS-CHAP v1 выбран в качестве протокола аутентификации и используется шифрование MPPE, то общие секретные ключи шифрования генерируются каждым PPP пиром. MS-CHAP v1 также поддерживает набор сообщений, которые позволяют пользователю изменить свой пароль при процессе аутентификации.
Строка 58:
# Запрос на проверку подлинности, основанный на отправленной строке запроса, строке запроса, зашифрованном ответе клиента и пароле пользователя.
* Клиент удаленного доступа проверяет ответ на проверку подлинности и, если он верен, использует подключение. Если же ответ на проверку подлинности не верен, клиент удаленного доступа разрывает подключение.
 
то есть:
 
* <math>C = SHA1 (CS, CC, UNAME)</math>
* <math>P = MD4 (password) </math>
* <math>K1|K2|K3 = P|5 byte of 0 </math>
* <math>R = DES(K1,C)|DES(K2,C)|DES(K3,C) </math>
 
== Криптоанализ и атаки ==
В этом алгоритме есть ряд проблем, совокупность которых могут привести к его успешному взлому:
в 2012 году было показано что MS-CHAP v2 подвержен атаке человек по середине, при которой злоумышленник может получить между клиентом клиентом и аутентификатором во время аутентификации.
 
Во-первых, все элементы вызова и ответа помимо [[MD4]]-хеш пароля передаются в незашифрованном виде по проводам или могут быть легко рассчитывается на основе позиций, которые отправляются по сети. Это означает, что для злоумышленника типв [[Человек посередине|человек посередине]], получение хэша пароля будет достаточно, чтобы повторно авторизоваться.
 
Во-вторых, создание ключей является потенциально слабым. Дополнение 5 байт нулями означает, что последний ключ DES имеет только ключевую пространство 2 ^ 16.
 
Наконец, один и тот же исходный текст шифруется с помощью K1 и K2, что означает поиски сложности 2 ^ 56 достаточно, чтобы взломать как K1, так и K2.
 
После того, как злоумышленник имеет K1, K2 и K3 он имеет MD4 пароля, который достаточно повторной аутентификации.
 
В MS-CHAPv2 существует несколько уязвимостей, некоторые из которых сильно уменьшают сложность атаки brute-force на современном оборудовании.