1 Этап - аутентификация пользователя.
Для аутентификации пользователей PPTP может задействовать любой из протоколов, применяемых для PPP, которые перечислены ниже.
CHAP
Microsoft CHAP
Microsoft CHAP Version2
SPAP (Shiva Password Authentication Protocol)
Unencrypted password (PAP)
EAP (Extensible Authentication Protocol), вариант MD5-Challenge или Smart Card or Other Certificate
Лучшими считаются протоколы MSCHAP версии 2 и Transport Layer Security (EAP-TLS), поскольку они обеспечивают взаимную аутентификацию, т. е. VPN-сервер и клиент идентифицируют друг друга. Во всех остальных протоколах только сервер проводит аутентификацию клиентов.
CHAP (Challenge Handshake Authentication Protocol) — широко распространённый алгоритм проверки подлинности, предусматривающий передачу не самого пароля пользователя, а косвенных сведений о нём. При использовании CHAP сервер удаленного доступа отправляет клиенту строку запроса. На основе этой строки и пароля пользователя клиент вычисляет хеш-код MD5 (Message Digest-5) и передает его серверу. Хеш-функция является алгоритмом одностороннего (необратимого) шифрования, поскольку значение хеш-функции для блока данных вычислить легко, а определить исходный блок по хеш-коду с математической точки зрения невозможно за приемлемое время. Сервер, которому доступен пароль пользователя (и который помнит отправленную им строку запроса!), выполняет те же самые вычисления и сравнивает результат с хеш-кодом, полученным от клиента. В случае совпадения учётные данные клиента удалённого доступа считаются подлинными.
MS-CHAP (протокол, разработанный корпорацией Microsoft) генерирует запрос и ответ с помощью алгоритма хеширования MD4 (Message Digest 4) и алгоритма шифрования DES (Data Encryption Standard); предусмотрены также механизмы возврата сообщений об ошибках подключения и возможности изменения пароля пользователя.
MS-CHAP v2 обеспечивает двустороннюю проверку подлинности, называемую также взаимной проверкой подлинности; также он является более безопасным.
PAP (Password Authentication Protocol) — протокол простой проверки подлинности, предусматривающий отправку имени пользователя и пароля на сервер удаленного доступа открытым текстом (без шифрования). Протокол PAP крайне ненадежен, поскольку пересылаемые пароли можно легко читать в пакетах PPP, которыми обмениваются стороны в ходе проверки подлинности. Обычно PAP используется только при подключении к старым серверам удаленного доступа на базе UNIX, которые не поддерживают никакие другие протоколы проверки подлинности.
EAP
Операционные системы семейства Windows Server 2003 поддерживают два типа EAP:
EAP-MD5 CHAP (аналог протокола проверки подлинности CHAP);
EAP-TLS (применяется для проверки подлинности на основе сертификатов пользователей). В ходе процесса проверки подлинности клиент удаленного доступа отправляет сертификат пользователя, а сервер удаленного доступа отправляет свой сертификат компьютера. Если хотя бы один из этих сертификатов не будет передан или окажется недействительным, подключение разрывается.
