Протокол Challenge Handshake Authentication Protocol (CHAP) [RFC-1994] используется для первоначальной аутентификации субъекта после установления соединения, но может, в зависимости от конкретной реализации, быть использован для периодического подтверждения аутентифицированности субъекта во время работы в рамках установленного соединения. Аутентификация происходит за три итерации (англ, three-way handshake). В поле Протокол РРР кадра указывается значение 0хС223, поле Данные преобразуется в четыре поля, аналогично РАР пакету (см. рис. 22.2) со схожими типами, единственное отличие в том, что поле Код имеет теперь четыре значения:
Код — 1: Запрос на предоставление данных для аутентификации.
Код = 2: Ответ на запрос с аутентификационными данными.
Код = 3: Подтверждение аутентификации.
Код = 4: Отказ в аутентификации.
Формат поля Данные зависит от поля Код.
Реализация протокола CHAP требует, чтобы обе стороны имели в распоряжении заранее согласованный пароль (англ, pre-shared secret), который не высылается по сети, но чаще всего присутствует у объекта в открытом вид (plaintext), при этом длина пароля должна быть не меньше 1 байта, и в принципе он должен соответствовать требованиям хэш-алгоритма, выбранного для реализации.
Собственно процедура аутентификации инициируется, в отличие от РАР, не субъектом, а объектом и происходит следующим образом (рис. 22.6):