EAP
EAP[1] (англ. Extensible Authentication Protocol, Расширяемый Протокол Аутентификации) —фреймворк аутентификации, который часто используется в беспроводных сетях и соединенияхточка-точка. Формат был впервые описан вRFC 3748 и обновлён вRFC 5247.
EAP используется для выбора метода аутентификации, передачиключей и обработки этих ключей подключаемыми модулями называемымиметодами EAP. Существует множество методов EAP, как определенных вместе с самим EAP, так и выпущенных отдельными производителями. EAP не определяет канальный уровень, он только определяет формат сообщений. Каждый протокол, использующий EAP, имеет собственный протокол инкапсуляции сообщений EAP.
EAP довольно популярный формат, он используется вIEEE 802.11 (Wi-Fi), около ста методов EAP изIEEE 802.1X были приняты в качестве официальных механизмов аутентификации в стандартахWPA иWPA2.
Схема протокола
[править |править код]В процессе аутентификации можно выделить три основных участника процесса:

- Аутентификатор (англ. authenticator) — участник процесса, требующий провести аутентификацию (WiFi точка доступа,сетевой коммутатор и т. д.).
- Узел или клиент (англ. peer) — участник процесса, который будет аутентифицирован (компьютер,ноутбук,телефон и т. д.).
- Сервераутентификации (англ. authentication server) — участник процесса, способный по некоторым данным от узла аутентифицировать его.
В некоторых случаях сервер аутентификации и аутентификатор могут быть одним устройством, например, домашние устройства, использующие метод EAP-PSK.В целом процесс аутентификации происходит следующим образом:

- Клиент отправляет EAP-запрос для начала своей аутентификации. Запрос в поле Type содержит в себе информацию о том, какой метод будет использоваться (EAP-TLS, EAP-PSK и т. д.). Клиент не обязательно шлёт этот запрос, например, если аутентификация на порту, к которому подключен клиент, не обязательна, в таком случае для начала процедуры аутентификации клиент должен послать пакет с полем Code, соответствующим типу Initiate.
- Аутентификатор посылает клиенту EAP-ответ в случае правильного запроса от клиента. Ответ содержит в себе поле Type, соответствующее полю Type в запросе.
- Аутентификатор посылает запрос серверу аутентификации, передавая информацию о том, какой метод аутентификации используется.
- Сервер аутентификации запрашивает у клиента необходимую информацию через аутентификатор, в этот момент аутентификатор фактически работает какпрокси.
- Клиент отвечает серверу, передавая запрашиваемую информацию. Пункт 4 и 5 повторяются до тех пор, пока сервер аутентификации не примет решение о разрешении доступа, запрете или ошибке.
- Сервер аутентификации посылает аутентификатору пакет, сообщающий о успехе или сбое аутентификации.
- Аутентификатор посылает клиенту EAP пакет с кодом, соответствующим ответу сервера аутентификации (EAP-Success или EAP-Failure).
Сводная таблица кодов пакетов EAP:
| Код | Название | Описание |
|---|---|---|
| 0 | Undefined | Не используется |
| 1 | Request | Используется для начала процесса аутентификации аутентификатором, содержит в себе информацию о поддерживаемых методах EAP. |
| 2 | Response | Используется для подтверждения начала аутентификации клиентом. |
| 3 | Success | Используется для сообщения клиенту о успешной аутентификации. |
| 4 | Failure | Используется для сообщения клиенту о провале аутентификации. |
| 5 | Initiate | Используется клиентом чтобы «попросить» аутентификатор начать процесс аутентификации. |
Методы
[править |править код]Поскольку EAP являетсяфреймворкомаутентификации, а не конкретным механизмом[2], он обеспечивает некоторые общие функции и согласование методовпроверки подлинности (методы EAP). В настоящее время определено около 40 различных методов. Обычно методы определяются вIETF, например:EAP-MD5,EAP-POTP,EAP-GTC,EAP-TLS,EAP-IKEv2,EAP-SIM,EAP-AKA иEAP-AKA'. Также существуют методы и предложения конкретныхпоставщиков решений и производителей оборудования. Обычно используются современные методы, способные работать в беспроводных сетях, к примеру:EAP-TLS,EAP-SIM,EAP-AKA,LEAP иEAP-TTLS. Требования к методам, используемым в беспроводных сетях, описаны вRFC 4017. Этот стандарт также описывает, при каких условиях может быть использован метод управления ключами AAA, описанный вRFC 4962.
LEAP
[править |править код]Облегченный расширяемый протокол аутентификации (англ. Lightweight Extensible Authentication Protocol), метод, разработанный компаниейCisco доратификацииIEEE стандарта безопасности802.11i[3]. Cisco распространил протокол через CCX (Cisco Certified Extensions) как часть протокола802.1X и динамическогоWEP из-за отсутствия отдельного промышленного стандарта в индустрии. Воперационных системах семействаWindows отсутствует встроенная поддержка протокола LEAP[4], однако поддержка протокола широко распространена в сторонних программах-клиентах (чаще всего идущих в комплекте с беспроводным оборудованием). Поддержка LEAP вWindows может быть добавлена путём установки клиентского ПО компании Cisco, которое обеспечивает поддержку протоколов LEAP и EAP-FAST. Многие другие производителиWLAN оборудования также поддерживают протокол LEAP из-за его высокой распространённости.
LEAP использует модифицированную версию протоколаMS-CHAP — слабо защищённого протоколааутентификации, информация о пользователе и пароле в котором легкокомпрометируется; в начале 2004 года Джошуа Райтом был написанэксплойт протокола LEAP, названный ASLEAP[5]. Взлом основан на том, что, во-первых, все элементы запроса и ответа, помимо хеша пароля, передаются в незашифрованном виде или легко рассчитываются на основе данных, которые отправляются по сети. Это означает, что злоумышленнику типачеловек посередине будет достаточно получить хеш пароля, чтобы повторно авторизоваться. Во-вторых, создание ключей является потенциально слабым. Дополнение 5 байт нулями означает, что последний ключ имеет ключевое пространство 216. Наконец, один и тот же исходный текст шифруется с помощью двух ключей (при отправке хеша серверу и при ответе), что означает, что сложности 256 достаточно, чтобы взломать оба ключа. После того, как злоумышленник имеет все ключи, он получает хеш пароля, которого достаточно для повторной аутентификации (подробнее вMS-CHAP).
Cisco рекомендует заказчикам, которые не могут отказаться от использования LEAP, использовать сложные пароли, хотя сложные пароли трудно вводить, запоминать и контролировать соблюдение требований сложности. Последняя рекомендацияCisco заключается в том, чтобы использовать новые и более защищённые протоколы EAP, такие как EAP-FAST, PEAP или EAP-TLS.
EAP-TLS
[править |править код]Безопасность Транспортного Уровня(англ. Transport Layer Security), метод определен вRFC 5216, являетсяоткрытым стандартом и использует протоколTLS. Метод аутентифицирует как клиента, так и сервер (то есть является методом взаимной аутентификации). Хорошо поддерживается производителями беспроводного оборудования. EAP-TLS был первым стандартом беспроводной версии протокола аутентификации LAN EAP.
EAP-TLS до сих пор считается одним из самых безопасных стандартов, при условии, что пользователь понимает риск использования ложных учётных данных, и поддерживается практически всеми производителями беспроводного оборудования и разработчиками сетевого ПО. До апреля 2005 года EAP-TLS был единственным методом, поддержка которого была необходима для прохождения сертификации соответствия стандартам WPA или WPA2[1].
Встроенная поддержка этого метода есть во всех операционных системах семействаWindows (начиная сWindows 2000 SP4), Linux иMac OS X (с версии 10.3).
В отличие от многих других реализацийTLS, например вHTTPS, большинство реализаций EAP-TLS требует предустановленного сертификатаX.509 у клиента, не давая возможности отключить требование, хотя стандарт не требует этого в обязательном порядке[6][7]. Это могло помешать распространению «открытых», но зашифрованных точек беспроводного доступа[6][7]. В августе 2012 годаhostapd иwpa_supplicant была добавлена поддержка UNAUTH-TLS — собственного метода аутентификации EAP[8] и 25 февраля 2014 добавлена поддержка WFA-UNAUTH-TLS, метода аутентификации, аутентифицирующий только сервер[9][10]. Это позволит работать через EAP-TLS так же, как черезHTTPS, где беспроводная точка доступа даёт возможность свободного подключения (то есть не требует проверки подлинности клиентов), но при этом шифрует трафик (IEEE 802.11i-2004, то естьWPA2) и позволяет пройти аутентификации при необходимости. В стандартах также содержатся предложения по использованиюIEEE 802.11u в точках доступа, чтобы сигнализировать о доступности метода EAP-TLS, аутентифицирующего только сервер, используя стандартный протокол EAP-TLS IETF, а не стороннего метода EAP[11].
Требование предустановленного сертификата на стороне клиента — одна из причин высокой защищённости метода EAP-TLS и пример «жертвования» удобства в пользу безопасности. Для взлома EAP-TLS недостаточно скомпрометировать пароль пользователя, для успешной атаки злоумышленнику также потребуется завладеть соответствующим пользователю сертификатом клиента. Наилучшей безопасности можно добиться, храня сертификаты клиентов всмарт-картах.[12]
EAP-TTLS
[править |править код]Tunneled Transport Layer Security (Безопасность Транспортного Уровня через Туннель),метод EAP, расширяющий возможности метода TLS. Он разработан компаниямиFunk Software иCerticom и довольно хорошо поддерживается большинством платформ (Windows с версии 8, а Windows Mobile с версии 8.1[13][14]).
Клиент может (но не обязан) быть аутентифицирован сервером при помощи подписанногоЦентром СертификацииPKI-сертификатом. Необязательность аутентификации клиента сильно упрощает процедуру настройки, так как нет необходимости генерировать и устанавливать на каждый из них индивидуальный сертификат.
После того, как сервер аутентифицирован клиентом при помощи сертификата, подписанногоЦентром Сертификации и, опционально, клиент-сервером, сервер может использовать получившееся защищённое соединение (туннель) для дальнейшей аутентификации клиента. Туннель позволяет использовать протоколы аутентификации, рассчитанные на каналы, не защищённые от атакиMITM и от «прослушки». При использовании метода EAP-TTLS никакая информация, используемая для аутентификации, не передается в открытом виде, что ещё больше затрудняет взлом.
EAP-PSK
[править |править код]Pre-Shared Key (Заранее известный ключ), метод определённый вRFC 4764, использующий для взаимной аутентификации и обменасессионным ключом заранее оговорённый ключ. Метод разработан для работы в незащищённых сетях, таких какIEEE 802.11, и в случае успешнойаутентификации обеспечивает защищённое двустороннее соединение между клиентом и точкой доступа.
EAP-PSK задокументирован в экспериментальнойRFC и обеспечивает лёгкий и расширяемый EAP метод, не использующийасимметричное шифрование. Этот метод требует четырёх сообщений (минимально возможное количество) для взаимной аутентификации.
Примечания
[править |править код]- ↑12Understanding the updated WPA and WPA2 standards . techrepublic.com. Архивировано 31 декабря 2007 года.
- ↑RFC 3748 . Дата обращения: 23 декабря 2014. Архивировано 8 января 2015 года.
- ↑George Ou. Ultimate wireless security guide: An introduction to LEAP authentication // TechRepublic : Интернет-журнал. — 2007.
- ↑FreeRADIUS Community EAP Overview . Дата обращения: 23 декабря 2014. Архивировано 29 декабря 2014 года.
- ↑Dan Jones. Look Before You LEAP (1 октября 2003). Архивировано 9 февраля 2008 года.
- ↑12Byrd, Christopher. "Open Secure Wireless (5 мая 2010). Архивировано изоригинала 12 декабря 2013 года.
- ↑12The certificate_request message is included when the server desires the peer to authenticate itself via public key. While the EAP server SHOULD require peer authentication, this is not mandatory, since there are circumstances in which peer authentication will not be needed (e.g., emergency services, as described in [UNAUTH]), or where the peer will authenticate via some other means. (март 2008). Дата обращения: 24 декабря 2014. Архивировано 25 декабря 2014 года.
- ↑Add UNAUTH-TLS vendor specific EAP type . Архивировано изоригинала 13 февраля 2013 года.
- ↑HS 2.0R2: Add WFA server-only EAP-TLS peer method . Архивировано изоригинала 30 сентября 2014 года.
- ↑HS 2.0R2: Add WFA server-only EAP-TLS peer method . Архивировано изоригинала 30 сентября 2014 года.
- ↑Byrd, Christopher. Open Secure Wireless 2.0 (1 ноября 2011). Архивировано изоригинала 26 ноября 2013 года.
- ↑Rand Morimoto; Kenton Gardinier, Michael Noel and Joe Coca. Microsoft Exchange Server 2003 Unleashed. — 2003. — С. 244. — ISBNISBN 978-0-672-32581-6.
- ↑802.1x / EAP TTLS support? - Windows Phone Central Forums . Дата обращения: 26 декабря 2014. Архивировано 15 августа 2014 года.
- ↑Enterprise Wi-Fi authentication (EAP) . Дата обращения: 26 декабря 2014. Архивировано 26 декабря 2014 года.