Протокол аутентификации Challenge-Handshake - Challenge-Handshake Authentication Protocol
В вычислении , то вызов-Рукопожатие Authentication Protocol ( CHAP ) выполняет аутентификацию пользователя или сетевой узел к аутентификационной сущности. Этой организацией может быть, например, провайдер Интернет-услуг .
CHAP обеспечивает защиту от атак повторного воспроизведения со стороны однорангового узла за счет использования постепенно изменяющегося идентификатора и переменного значения вызова. CHAP требует, чтобы и клиент, и сервер знали открытый текст секрета, хотя он никогда не пересылается по сети. Таким образом, CHAP обеспечивает лучшую безопасность по сравнению с протоколом аутентификации пароля (PAP), который уязвим по обеим этим причинам. Вариант MS-CHAP не требует, чтобы какой-либо партнер знал открытый текст, и не передает его, но был нарушен.
Рабочий цикл
CHAP - это схема аутентификации, используемая серверами протокола точка-точка (PPP) для проверки подлинности удаленных клиентов. CHAP периодически проверяет личность клиента , используя трехстороннее рукопожатие . Это происходит во время установления начального соединения (LCP) и может повториться в любое время после этого. Проверка основана на общем секрете (таком как пароль клиента).
- После завершения фазы установления связи аутентификатор отправляет партнеру сообщение «запрос».
- Одноранговый узел отвечает значением, вычисленным с использованием односторонней хеш-функции для объединенного запроса и секрета.
- Аутентификатор проверяет ответ по собственному расчету ожидаемого значения хеш-функции. Если значения совпадают, аутентификатор подтверждает аутентификацию; в противном случае он должен разорвать соединение.
- Через случайные промежутки времени аутентификатор отправляет новый запрос партнеру и повторяет шаги с 1 по 3.
Пакеты CHAP
Описание | 1 байт | 1 байт | 2 байта | 1 байт | Переменная | переменная |
---|---|---|---|---|---|---|
Вызов | Код = 1 | Я БЫ | Длина | Продолжительность испытания | Ценность задачи | имя |
отклик | Код = 2 | Я БЫ | Длина | Длина ответа | Значение ответа | имя |
Успех | Код = 3 | Я БЫ | Длина | Сообщение | ||
Неудача | Код = 4 | Я БЫ | Длина | Сообщение |
ID, выбранный для случайного запроса, также используется в соответствующих пакетах ответа, успеха и отказа. Новая задача с новым идентификатором должна отличаться от последней задачи с другим идентификатором. Если успех или неудача потеряны, тот же ответ может быть отправлен снова, и он активирует ту же индикацию успеха или неудачи. Для MD5 в качестве хэша значение ответа равно MD5(ID||secret||challenge)
MD5 для объединения идентификатора, секрета и запроса.
Смотрите также
- Список протоколов аутентификации
- Протокол аутентификации пароля
- Аутентификация запрос – ответ
- Криптографическая хеш-функция