PAP против CHAP
PAP в основном работает как нормальная процедура входа в систему. Клиент опознает себя, посылая имя пользователя и пароль серверу, который сравнивает их с базой данных. Этот метод легко уязвим для посторонних наблюдателей, которые могут попытаться получить пароль, слушая последовательную линию.
PAP против CHAP
PAP в основном работает как нормальная процедура входа в систему. Клиент опознает себя, посылая имя пользователя и пароль серверу, который сравнивает их с базой данных. Этот метод легко уязвим для посторонних наблюдателей, которые могут попытаться получить пароль, слушая последовательную линию.
CHAP не имеет этих недостатков. С CHAP аутенфикатор (сервер) посылает беспорядочно сгенерированную "challenge"-строку клиенту, наряду с именем хоста. Клиент использует имя хоста (hostname) для того, чтобы искать соответствующий шифр, объединяет его с challenge и шифрует строку, используя однонаправленную hash-функцию. Результат будет возвращен на сервер наряду с hostname клиента. Сервер теперь выполняет те же самые вычисления и опознает клиента.
Другая особенность CHAP то, что он не требует опознания клиента для опознания самого себя при запуске, но посылает challenge в определенные промежутки времени, чтобы удостовериться, не был ли клиент заменен злоумышленником, например, переключив телефонные линии.
Пакет pppd хранит секретные ключи для CHAP и PAP в двух отдельных файлах, называемых соответственно /etc/ppp/pap-secrets и /etc/ppp/chap-secrets. Записывая удаленный хост в один или другой файл, Вы имеете хороший контроль над CHAP или PAP.
По умолчанию pppd не требует установления подлинности удаленной машины, но соглашается опознавать себя, когда она запросит опознание. Так как CHAP намного более совершенен, чем PAP, pppd пробует использовать его всякий раз, когда это возможно. Если удаленная машина этого не поддерживает, или если pppd не может найти CHAP-шифр для удаленной системы в файле chap-secrets, он возвращается к PAP. Если он не имеет также и PAP-шифра, то связь закроется.
Это поведение может быть изменено. Например, когда дается ключевое слово auth, pppd требует, чтобы другой конец линии опознал сам себя. pppd согласится использовать CHAP или PAP для этого, как только будет имеет соответствующий шифр в базе данных CHAP или PAP соответственно. Имеются другие опции, чтобы включить или выключить частный опознавательный протокол, но я не буду описывать их здесь.
Если все системы, с которыми Вы работаете по PPP соглашаются опознавать самих себя, Вы должны поместить опцию auth в глобальный файл /etc/ppp/options и определить пароли для каждой системы в файле chap-secrets. Если система не поддерживает CHAP, добавьте запись к файлу pap-secrets. Таким образом, Вы можете удостовериться в том, что никакая неопознанная система не соединяется с Вашим хостом.
Следующие два раздела обсуждают два PPP файла шифров: pap-secrets и chap-secrets. Они размещены в /etc/ppp и содержат тройки клиентов, серверов и паролей, необязательно сопровождаемых списком адресов IP. Интерпретация клиента и сервера отлична для CHAP и PAP.