Главная страница
Навигация по странице:

  • Алгоритм DES

  • Хэш-функция

  • Challenge

  • Success

  • 2.5.3 Протокол Microsoft Challenge Handshake Authentication Protocol (MS-CHAP)

  • Algorithm

  • Failure

  • Response

  • Change-Password . Аутентификация MS-CHAP v2 состоит из следующих шагов: Аутентификатор отправляет узлу сообщение MS-CHAP v2 Challenge

  • NT-Response ; 1 октет: флаги. Ответ на запрос NT-Response

  • Peer-Challenge

  • Peer-Challenge . Строка Peer-Challenge

  • NT-Response

  • 1. 1 История tcpIP


    Скачать 340.83 Kb.
    Название1. 1 История tcpIP
    АнкорDLink
    Дата30.05.2022
    Размер340.83 Kb.
    Формат файлаdocx
    Имя файлаDLink.docx
    ТипПротокол
    #557168
    страница5 из 26
    1   2   3   4   5   6   7   8   9   ...   26

    2.5.2 Протокол Challenge Handshake Authentication Protocol (CHAP)


    Протокол СНАР используется для периодической проверки аутентификации противоположной стороны с помощью трехстороннего рукопожатия (3-way handshake). Протокол выполняется после установления канала и может быть повторно использован в любое время после того, как канал установлен. Первоначально CHAP был описан в RFC 1334, а позднее дополнен в RFC 1994.

    Алгоритм DES (Data Encryption Standard) — алгоритм симметричного шифрования, длина блока равна 64 битам, длина ключа равна 56 битам.

    Атаки повторного использования (replay-атаки) — пассивный захват данных с последующей их пересылкой целевой системе для получения несанкционированного доступа.

    Хэш-функция — функция, отображающая данные произвольной длины в строку битов фиксированной длины, которая может использоваться для аутентификации исходных данных.

    Хэш-код — результат, создаваемый хэш-функцией.

    Процесс аутентификации СНАР показан на рисунке 2.18.

    Аутентификация состоит из следующих шагов:

    • После завершения фазы установления канала, аутентификатор посылает узлу сообщение Challenge. Оно содержит идентификатор (Identifier) этого сообщения и вызов (Challenge Value) — произвольную строку символов переменной длины.


    • Узел-получатель выполняет одностороннюю хэш-функцию (обычно Message Digest 5 (MD5)) над информацией, полученной из сообщения Challenge (идентификатором и вызовом) и паролем. Вычисленное значение он отправляет аутентификатору в сообщении Response. Идентификатор сообщения Response аналогичен идентификатору сообщения Challenge.

    • Аутентификатор сравнивает полученное значение с собственным вычисленным значением хэш-функции. Хэш-функция на стороне аутентификатора выполняется над идентификатором и вызовом оригинального сообщения Challenge и паролем. Поэтому у аутентификатора и узла должны быть одинаковые пароли. Если вычисленное и полученное значения хэш-функции совпали, аутентификация считается успешной и аутентификатор отправляет сообщение Success. В противном случае соединение сбрасывается и отправляется сообщение Failure.

    • Через произвольные интервалы времени аутентификатор отправляет новый Challenge и шаги 1–3 повторяются.

    СНАР обеспечивает защиту от replay-атак благодаря использованию при каждой отправке сообщения Challenge уникального значения идентификатора и случайного набора символов переменной длины. Таким образом, нет возможности воспользоваться перехваченной информацией для получения неавторизованного доступа к сети. Повторная отправка сообщений Challenge в течение сессии CHAP предназначена для ограничения времени на проведения любых единичных атак. Аутентификатор управляет частотой и временем отправки сообщений Challenge.

    Метод аутентификации CHAP основан на том, что оба участника знают некий секрет (пароль), который никогда не отправляется по каналу. Хотя аутентификация односторонняя, стороны могут договориться о применении CHAP в обоих направлениях и использовать одинаковый пароль для обеспечения взаимной аутентификации. Т. к. CHAP может использоваться для аутентификации множества различных устройств, поле Имя (Name) в сообщениях Challenge и Response может служить индексом для поиска правильного пароля в больших таблицах, хранящих их. Также это позволяет создавать для каждого устройства более одной пары имя/пароль и изменять используемый пароль в любое время в течение сессии.

    Аутентификация CHAP имеет свои недостатки, в частности требует, чтобы пароль хранился в открытом виде. При этом она устраняет одну из уязвимостей PAP — пароль не передается по сети в открытом виде, а используется вызов и хэширование ответа, что позволяет избежать replay-атак. Также, в отличие от PAP, аутентификация CHAP может выполняться несколько раз за сессию. В 1996 году IETF обновила стандарт, описывающий аутентификацию PPP, и оставила в нем только CHAP. Новый стандарт получил название RFC 1994 «PPP Challenge Handshake Authentication Protocol (CHAP)». RFC 1334 в настоящее время является устаревшим.

    2.5.3 Протокол Microsoft Challenge Handshake Authentication Protocol (MS-CHAP)

    MS-CHAP (Microsoft Challenge Handshake Authentication Protocol) был создан компанией Microsoft для аутентификации удаленных рабочих станций Windows. Существует две версии этого протокола: MS-CHAP v1 и MS-CHAP v2.

    Первая версия протокола MS-CHAP описана в RFC 2433. Там, где это возможно, она согласуется со стандартом CHAP. Различия между MS-CHAP v1 и стандартным CHAP следующие:

    • Согласование MS-CHAP в процессе переговоров LCP аналогично согласованию стандартного СНАР, за исключением того, что поле Algorithm опции Authentication Protocol имеет значение 0x80.

    • Пакет MS-CHAP Response представлен в формате, обеспечивающем совместимость с Microsoft Windows NT 3.5, 3.51 и 4.0 и Windows 95. Формат MS-CHAP не требует хранение аутентификатором пароля в открытом или в обратимо зашифрованном виде.

    • MS-CHAP обеспечивает механизмы запроса аутентифицирующей стороной повторной аутентификации и изменения пароля.

    • MS-CHAP определяет набор значений кодов, сообщающих о причине отказа, которые возвращаются узлу в сообщении Failure при неудачной аутентификации.


    Аутентификация MS-CHAP v1 состоит из трех шагов:

    1. Аутентификатор отправляет сообщение MS-CHAP Challenge, содержащее 8-байтную произвольную строку символов (вызов).

    2. Узел отправляет сообщение MS-CHAP Response. По сравнению с CHAP его поле Value отформатировано по-другому:

      • 24 октета: ответ на запрос совместимый с LAN Manager;

      • 24 октета: ответ на запрос совместимый с Windows NT;

      • 1 октет: флаг совместимости с Windows NT.


    Ответ на запрос совместимый с LAN Manager является результатом функции шифрования LmChallengeResponse(), выполненной над хэшем пароля в формате LAN Manager и полученной 8-байтной строки символов. Узел использует хэш пароля в формате LAN Manager, чтобы получить 3 ключа алгоритма DES. Каждый из этих ключей применяется для шифрования полученного вызова. Получается три зашифрованных блока, которые объединяются в 24-байтный ответ.

    Ответ на запрос совместимый с Windows NT является результатом функции шифрования NTChallengeResponse(), выполненной над хэшем пароля в формате Windows NT и полученной 8-байтной строки символов. Узел создает второй 24-байтный ответ, используя хэш пароля в формате Windows NT и аналогичную процедуру.

    Если флаг совместимости с Windows NT равен 1, это указывает на то, что поддерживается ответ в формате Windows NT и он предпочтительнее ответа, совместимого с LAN Manager.


    1. Аутентификатор расшифровывает полученный ответ, используя известный ему хэш пароля совместимый с LAN Manager или с Windows NT в зависимости от установленного в ответе флага. Если расшифрованные блоки совпадают с отправленным вызовом, аутентификация считается успешной и аутентификатор отправляет сообщение Success. В противном случае отправляется сообщение Failure.


    По сравнению с CHAP, в MS-CHAP v1 появилось новое сообщение Change Password, которое позволяет узлу изменить пароль, указанный в последнем отправленном пакете Response.

    Основным недостатком MS-CHAP v1 является отправка клиентом ответа, содержащего две величины: в формате совместимости с LAN Manager и в формате совместимости с Windows NT.

    Несмотря на то что по сравнению с CHAP в MS-CHAP v1 появилось шифрование ответа, он не является безопасным протоколом аутентификации. Для формирования ответа вызов шифруется с помощью ключей DES, основанных на хэше пароля. Возможность взлома пароля зависит от криптографической стойкости используемой хэш-фунции. Хэш в формате LAN Manager значительно слабее хэша формате Windows NT. Всякий раз, когда пользователь подключается с одним и тем же паролем, создаются одни и те же ключи шифрования. Поэтому в средах с большой вероятностью прослушивания необходимо достаточно часто менять пароль.

    Протокол MS-CHAP версии 2 (описан в RFC 2759) соответствует как протоколу MS-CHAP v1, так и стандартному протоколу СНАР. Отличия между MS-CHAP v1 и MS-CHAP v2 следующие:

    • Согласование MS-CHAP v2 в процессе переговоров LCP аналогично согласованию стандартного СНАР, за исключением того, что поле Algorithm опции Authentication Protocol имеет значение 0x81.

    • Протокол MS-CHAP v2 обеспечивает взаимную аутентификацию участников, добавляя в сообщении Response вызов узла (Peer-Challenge'>Peer-Challenge), на который аутентификатор отвечает в сообщении Success.

    • В MS-CHAP v2 больше не поддерживается формат LAN Manager. Ответ в этом формате заменен в сообщении Response на Peer-Challenge.

    • Изменен формат поля Message в пакете Failure.

    • Пакеты Change Password версий 1 и 2 больше не поддерживаются. Они заменены единым пакетом Change-Password.

    Аутентификация MS-CHAP v2 состоит из следующих шагов:

    1. Аутентификатор отправляет узлу сообщение MS-CHAP v2 Challenge, которое содержит идентификатор и 16-байтную произвольную строку символов (вызов).

    1. Узел посылает ответ MS-CHAP v2 Response. По сравнению с CHAP его поле Value отформатировано по-другому:

      • 16 октетов: произвольная строка символов, сгенерированных узлом (Peer-Challenge);

      • 8 октетов: зарезервировано;

      • 24 октета: ответ на запрос NT-Response_;_1_октет:_флаги._Ответ_на_запрос_NT-Response'>NT-Response;

      • 1 октет: флаги.


    Ответ на запрос NT-Response является результатом функции шифрования GenerateNTResponse(), входными данными для которой являются пароль, имя пользователя, строка Peer-Challenge и полученная из сообщения Challenge 16-байтная строка символов. Шифрование выполняется с помощью алгоритма DES.

    Аутентификатор отправляет узлу 16-байтный вызов, но в отличие от MS-CHAP v1, узел его напрямую не использует. Он получает из него следующим образом 8-байтный вызов:

      • Узел генерирует произвольную строку символов, называемую Peer-Challenge.

      • Строка Peer-Challenge объединяется с 16-байтным вызовом, полученным от аутентификатора, и именем пользователя.

      • Полученный результат хэшируется с помощью SHA-1.

      • Первые 8 байтов полученного хэша становятся 8-байтным вызовом.

    Далее узел создает 24-байтный ответ, используя хэш-функцию Windows NT и полученный 8-байтный вызов. Процедура получения ответа аналогична MS-CHAP v1.

    1. Аутентификатор расшифровывает полученный NT-Response, используя известный ему хэш пароля узла. Если расшифрованные блоки совпадают с отправленным вызовом, аутентификация считается успешной и аутентификатор отправляет сообщение Success. В противном случае отправляется сообщение Failure. Сообщение Success в поле Message содержит ответ аутентификатора длиной 20 байт, представленный в кодировке ASCII в виде 40 шестнадцатеричных чисел и текстовую строку.

    Ответ аутентификатора получается следующим образом:

      1. Аутентификатор хранит хэшированный с помощью MD4 пароль узла. Он хэширует этот хэш пароля с использованием MD4, чтобы получить хэш хэша пароля.

      2. Аутентификатор объединяет хэш хэша пароля, 24-байтный ответ NT-Response и константу «Magic1», затем хэширует полученный результат с помощью SHA.

      3. К полученному хэшу присоединяется 8-байтный вызов из ответа на запрос и константа «Magic2». Результат хэшируется с помощью SHA.

    Полученный ответ используется для взаимной аутентификации узла и аутентификатора.

    1. Узел проверяет ответ аутентификатора, проводя аналогичные вычисления и сравнивая полученный ответ с вычисленным. Если они не совпали, узел прерывает соединение.
    1   2   3   4   5   6   7   8   9   ...   26


    написать администратору сайта