Файл шифров CHAP

Когда требуется аутентификация на сервере с использованием CHAP, pppd обращается к файлу шифров PAP, чтобы найти запись с клиентской областью, соответствующей локальному hostname, и областью сервера, соответствующей удалённому hostname, отправленному в CHAP Challenge. Если сервер запрашивает аутентификацию клиента, роли меняются: pppd ищет запись с клиентской областью, соответствующей удалённому hostname, и областью сервера, соответствующей локальному хосту.

Рассмотрим типовой файл шифров chap для vlager:

# CHAP secrets for vlager.vbrew.com
#
# client            server             secret                  addrs
#-------------------------------------------------------------------
vlager.vbrew.com   C-3PO.lucas.com    "Use The Source Luke"
vlager.vbrew.com   C-3PO.lucas.com    "riverrun, pasteve"
*                  vlager.vbrew.com   "VeryStupidPassword"     pub.vbrew.com

При установлении связи PPP с C-3PO, C-3PO требует, чтобы vlager аутентифицировал себя с помощью CHAP, отправляя CHAP challenge. Pppd затем просматривает файл chap-shafts для записи с клиентской областью, соответствующей vlager.vbrew.com, и областью сервера, соответствующей C-3PO.lucas.com. Следующим шагом формируется CHAP-ответ на основе challenge string и пароля "Use The Source Luke", который отправляется C-3PO.

CHAP основан на случайной строке "challenge", которую сервер (authenticator) отправляет клиенту. Клиент затем шифрует эту строку с использованием известного пароля и возвращает результат серверу для проверки. Этот метод предоставляет большую безопасность по сравнению с PAP.

Особенностью CHAP является то, что он не требует аутентификации клиента при инициализации, но периодически отправляет challenges для проверки подлинности клиента. Это гарантирует, что клиент не был заменен другим устройством в процессе работы.

Секретные ключи для CHAP и PAP хранятся в двух отдельных файлах, названных /etc/ppp/chap-secrets и /etc/ppp/pap-secrets. Включив удаленный хост в один из этих файлов, вы получаете полный контроль над тем, какой протокол (CHAP или PAP) будет использоваться для аутентификации.

Двойные кавычки в файлах шифров не являются частью пароля; они используются для того, чтобы защитить пробелы внутри пароля. Локальное имя хоста берется из CHAP challenge. Если вы устанавливаете название системы вашему неквалифицированному hostname, вы должны указать его в pppd с помощью доменной области.

Следующие два раздела рассматривают файлы шифров PPP: pap-secrets и chap-secrets. Эти файлы расположены в /etc/ppp и содержат комбинации клиент-сервер и пароли, возможно, дополненные списком IP-адресов.