CHAP (Challenge Handshake Authentication Protocol) используется для периодической аутентификации центрального компьютера или конечного пользователя с помощью согласования по трем параметрам. Аутентификация происходит в момент установления связи, но может повторяться и после ее установления.На рисунке 1 показан процесс аутентификации CHAP. Маршрутизатор и сервер доступа используют общий секретный ключ "trustme".
Аутентификация РРР CHAP
Маршрутизатор отделения пытается провести аутентификацию сервера сетевого доступа (NAS) или "аутентификатора". CHAP обеспечивает безопасность сети, требуя от операторов обмена "текстовым секретом". Этот секрет никогда не передается по каналу связи. По завершении этапа установления связи аутентификатор передает вызывающей машине запрос, который состоит из аутентификатора (ID), случайного числа и имени центрального компьютера (для местного устройства) или имени пользователя (для удаленного устройства). Вызывающая машина проводит вычисления с помощью односторонней хэш-функции. Аутентификатор, случайное число и общий "текстовый секрет" один за другим подаются на вход хэш-функции. После этого вызывающая машина отправляет серверу ответ, который состоит из хэша и имени центрального компьютера или имени пользователя удаленного устройства. По получении ответа аутентификатор проверяет проставленное в ответе имя и выполняет те же вычисления. Затем результат этих вычислений сравнивается с величиной, проставленной в ответе. Если эти величины совпадают, результат аутентификации считается положительным, система выдает соответствующее уведомление, и LCP устанавливает связь. Секретные пароли на местном и удаленном устройстве должны быть идентичны. Поскольку "текстовый секрет" никогда не передается по каналам связи, никто не может подслушать его с помощью каких-либо устройств и использовать для нелегального входа в систему. Пока сервер не получит адекватный ответ, удаленное устройство не сможет подключиться к местному устройству.
CHAP обеспечивает защиту от использования чужих паролей за счет пошаговых изменений аутентификатора и применения переменной величины запроса. Повторяющиеся запросы предназначены для ограничения времени, в течение которого система теоретически остается подверженной любой отдельной хакерской атаке. Частоту и количество неудачных попыток входа в систему контролирует аутентификатор.