CHAP
CHAP (англ. Challenge Handshake Authentication Protocol) — протокол аутентификации с косвенным согласованием. Является алгоритмом проверки подлинности и предусматривает передачу не самого пароля пользователя, а косвенных сведений о нём. Аутентификация узла выполняется путём трехэтапной процедуры согласования[1][2]. Протокол CHAP широко используется различными поставщиками серверов и клиентов сетевого доступа[3]. Определён в RFC 1994.
Принцип работы
Можно выделить цикл, который состоит из трёх основных частей[1]:
- После установления PPP-соединения и одобрения обеих сторон на подключение по CHAP-протоколу аутентификатор отправляет на узел пакет CHAP, имеющий тип Сhallenge (вызов), который содержит в себе открытый ключ.
- Узел на основе полученного открытого ключа и своего секрета, вычисляет хеш с помощью алгоритма хеширования MD5 и отправляет пакет CHAP, имеющий тип Response (отклик), содержащий в себе вычисленный хеш.
- Аутентификатор сравнивает полученное значение хеша со своим расчётом ожидаемого значения хеша. Если значения совпадают, то проверка подлинности считается успешной. При отличающихся значениях происходит разрыв соединения.
Через различные промежутки времени аутентификатор посылает новый запрос узлу, и шаги 1-3 повторяются[4][5].
Структура пакетов CHAP
В информационное поле пакетов PPP с полем протокола 0xc223 инкапсулируется единственный пакет CHAP, который содержит следующие поля[6][7]:
- Code (Код). Поле Code длиной один октет идентифицирует тип пакета CHAP и может принимать одно из следующих значений:
- Сhallenge (вызов, проверка);
- Response (отклик);
- Success (успех);
- Failure (отказ).
- Identifier (Идентификатор). Поле Identifier длиной один октет позволяет провести дополнительную идентификацию в зависимости от типа пакета. Участвует в согласовании запроса, ответа и подтверждения.
- Length (Длина). Поле Length длиной два октета определяет длину пакета CHAP, включая все поля (код, идентификатор, длина и данные).
- Data (Данные). Длина поля Data равна нулю или более октетов. Содержит данные в формате, определяемом полем кода.
Требования к архитектуре
- Длина секрета должна быть не менее 1 октета. Предпочтительно, чтобы секрет был примерно той же длины, что и значение хеша используемой хеш-функции (16 октетов для MD5). Это необходимо, чтобы обеспечить достаточно большой диапазон для секрета, в целях защиты от атак повторного воспроизведения[8].
- Каждое значение запроса должно иметь глобальную и временную уникальность и быть полностью непредсказуемым, чтобы злоумышленник не смог обмануть узел предугаданным будущим запросом и отправить ответ аутентификатору[8].
Преимущества
- CHAP обеспечивает защиту от атак повторного воспроизведения. Достигается подобная защита из-за возрастающего значения идентификатора и переменного значения открытого ключа[9].
- Метод проверки подлинности основан на том, что аутентификатору и узлу известен секрет, который никогда не посылается по каналу. Именно поэтому CHAP обеспечивает лучшую защиту по сравнению с PAP[9][10].
- Несмотря на то, что проверка подлинности производится только в одну сторону, CHAP-переговоры можно вести в обоих направлениях c помощью того же секрета, обеспечивая взаимную аутентификацию[2].
Недостатки
Примечания
- Nitish Dalal, Jenny Shah, Khushboo Hisaria, Devesh Jinwala. A Comparative Analysis of Tools for Verification of Security Protocols (англ.). — 2010. — P. 785.
- Cisco - PPP CHAP (англ.).
- Microsoft Technet - CHAP (англ.).
- W. Simpson. PPP Challenge Handshake Authentication Protocol (CHAP) (англ.). — 1996. — P. 2.
- M. W. Youssef, Hazem El-Gendy. Securing Authentication of TCP/IP Layer Two By Modifying Challenge-Handshake Authentication Protocol (англ.) // Advanced Computing: An International Journal. — 2012. — March. — P. 11. Архивировано 24 декабря 2017 года.
- W. Simpson. PPP Challenge Handshake Authentication Protocol (CHAP) (англ.). — 1996. — P. 6.
- M. W. Youssef, Hazem El-Gendy. Securing Authentication of TCP/IP Layer Two By Modifying Challenge-Handshake Authentication Protocol (англ.) // Advanced Computing: An International Journal. — 2012. — March. — P. 12. Архивировано 24 декабря 2017 года.
- W. Simpson. PPP Challenge Handshake Authentication Protocol (CHAP) (англ.). — 1996. — P. 4.
- W. Simpson. PPP Challenge Handshake Authentication Protocol (CHAP) (англ.). — 1996. — P. 3.
- Microsoft Technet - PAP (англ.).
- Guy Leduc. Verification of two versions of the Challenge Handshake Authentication Protocol (CHAP) (англ.). — 1999. — February. — P. 1.
Литература
- Nitish Dalal, Jenny Shah, Khushboo Hisaria, Devesh Jinwala. A Comparative Analysis of Tools for Verification of Security Protocols (англ.). http://www.scirp.org/. International Journal of Communications, Network and System Sciences (October 2010).
- W. Simpson. PPP Challenge Handshake Authentication Protocol (CHAP) (англ.). https://www.ietf.org/ (August 1996).
- Guy Leduc. Verification of two versions of the Challenge Handshake Authentication Protocol (CHAP) (англ.). http://orbi.ulg.ac.be/. Annals of Telecommunications (February 1999).
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.