По материалам: Паршивлюк считает, что "Анжи" повезло.
СТАНДАРТ 802.1X/EAP (ENTERPRISE-РЕЖИМ) PDF Print E-mail
Written by Administrator   
Sunday, 19 August 2012 20:54

Проблемы, с которыми столкнулись разработчики и пользователи сетей на основе стандарта 802.11 вынудили искать новые решения защиты беспроводных сетей. Были выявлены компоненты, влияющие на системы безопасности беспроводной локальной сети:

1)    Архитектура аутентификации;

2)    Механизм аутентификации;

3)    Механизм обеспечения конфиденциальности и целостности данных.

Архитектура аутентификации IEEE 802.1x - стандарт IEEE 802.1x описывает Алгоритм аутентификации Extensible Authentication Protocol или EAP (Расширяемый протокол идентификации) поддерживает централизованную аутентификацию элементов инфраструктуры беспроводной сети и её пользователей с возможностью динамической генерации ключей шифрования.

Архитектура IEEE 802.1x

Архитектура IEEE 802.1x включат в себя следующие обязательные логические элементы (рис. 2.30):

-    Клиент (Supplicant) - находится в операционной системе абонента;

-    Аутентификатор (Authenticator) - находится в программном обеспечении точки радиодоступа;

-    Сервер аутентификации (Authentication Server) - находится на RADIUS-сервере.
IEEE 802.1x предоставляет абоненту беспроводной локальной сети лишь средства передачи атрибутов серверу аутентификации и допускает использование различных методов и алгоритмов аутентификации. Задачей сервера аутентификации является поддержка требуемых политикой сетевой безопасностью методов аутентификации.

Аутентификатор, находясь в точке радиодоступа, создаёт логический порт для каждого клиента на основе его идентификатора ассоциирования. Логический порт имеет два канала для обмена данными. Неконтролируемый канал беспрепятственно пропускает трафик из беспроводного сегмента в проводной и обратно, в то время как контролируемый канал требует успешной аутентификации для беспрепятственного прохождения фреймов.
Таким образом, в терминологии стандарта 802.1х точка доступа играет роль коммутатора в проводных сетях Ethernet. Очевидно, что проводной сегмент сети, к которому подключена точка доступа, нуждается в сервере аутентификации. Его функции обычно выполняет RADIUS-сервер, интегрированный с той или иной базой данных пользователей, в качестве которой может выступать стандартный RADIUS, LDAP, NDS или Windows Active Directory. Коммерческие беспроводные шлюзы высокого класса могут реализовывать как функции сервера аутентификации, так и аутентификатора.

Клиент активизируется и ассоциируется с точкой радиодоступа (или физически подключается к сегменту в случае проводной локальной сети). Аутентификатор распознаёт факт подключения и активизирует логический порт для клиента, сразу переводя его в состояние «неавторизован». В результате этого через клиентский порт возможен обмен лишь трафиком протокола IEEE 802.1x, для всего остального трафика порт заблокирован. Клиент также может (но не обязан) отправить сообщение EAP Start (начало аутентификации EAP) (рис. 2.31) для запуска процесса аутентификации.

Аутентификатор отправляет сообщение EAP Request Identity (запрос имени EAP) и ожидает от клиента его имя (Identity). Ответное сообщение клиента EAP Response (ответ EAP), содержащее атрибуты, перенаправляется серверу аутентификации.
После завершения аутентификации сервер отправляет сообщение RADIUS-ACCEPT (принять) или RADIUS-REJECT (отклонить) аутентификатору. При получении сообщения RADIUS-ACCEPT аутентификатор переводит порт клиента в состояние “авторизован“, и начинается передача всего трафика абонента.
Механизм аутентификации
Первоначально стандарт 802.1x задумывался для того, чтобы обеспечить аутентификацию пользователей на канальном уровне в коммутируемых проводных сетях.

Алгоритмы аутентификации стандарта 802.11 могут обеспечить клиента динамическими, ориентированными на пользователя ключами. Но тот ключ, который создается в процессе аутентификации, не является ключом, используемым для шифрования фреймов или проверки целостности сообщений. В стандарте WPA для получения всех ключей используется так называемый мастер-ключ (Master Key). На рис. 2.32 представлена иерархия ключей с учетом последовательности их создания.

Механизм генерации ключей шифрования осуществляется в четыре этапа.

1)    Клиент и точка доступа устанавливают динамический ключ (он называется парный мастер-ключ, или PMK, от англ. Pairwise Master Key), полученный в процессе аутентификации по стандарту 802.1x.

2)    Точка доступа посылает клиенту секретное случайное число, которое называется временный аутентификатор (Authenticator Nonce, ANonce), используя для этого сообщение EAPoL-Key стандарта 802.1x.

3)    Этот клиент локально генерирует секретное случайное число, называемое временный проситель (Supplicant Nonce, SNonce).

4)    Клиент генерирует парный переходный ключ (Pairwise Transient Key, PTK) путем комбинирования PMK, SNonce, ANonce, MAC-адреса клиента, MAC-адреса точки доступа и строки инициализации. MAC-адреса упорядочены, MAC-адреса низшего порядка предшествуют MAC-адресам высшего порядка. Благодаря этому гарантируется, что клиент и точка доступа “выстроят” MAC-адреса одинаковым образом (рис. 2.33).

5)    Это комбинированное значение пропускается через псевдослучайную функцию (Pseudo Random Function, PRF), чтобы получить 512-разрядный PTK.

6)    Клиент посылает число SNonce, сгенерированное им на этапе 3, точке доступа с помощью сообщения EAPoL-Key стандарта 802.1x, защищенное ключом EAPoL-Key MIC.

7)    Точка доступа использует число SNonce для вычисления PTK таким же образом, как это сделал клиент.

8)    Точка доступа использует выведенный ключ EAPoL-Key MIC для проверки целостности сообщения клиента.

9)    Точка доступа посылает сообщение EAPoL-Key, показывающее, что клиент может установить PTK и его ANonce, защищенные ключом EAPoL-Key MIC. Данный этап позволяет клиенту удостовериться в том, что число ANonce, полученное на этапе 2, действительно.

10)    Клиент посылает сообщение EAPoL-Key, защищенное ключом EAPoL-Key MIC, указывающее, что ключи установлены.
Парный мастер-ключ (PMK) и парный переходный ключ (PTK) являются одноадресными по своей природе. Они только шифруют и дешифруют одноадресные фреймы, и предназначены для единственного пользователя. Широковещательные фреймы требуют отдельной иерархии ключей, потому что использование с этой целью одноадресных ключей приведет к резкому возрастанию трафика сети. Точке доступа (единственному объекту BSS, имеющему право на рассылку широковещательных или многоадресных сообщений) пришлось бы посылать один и тот же широковещательный или многоадресный фрейм, зашифрованный соответствующими пофреймовыми ключами, каждому пользователю.

Широковещательные или многоадресные фреймы используют иерархию групповых ключей. Групповой мастер-ключ (Group Master Key, GMK) находится на вершине этой иерархии и выводится в точке доступа. Вывод GMK основан на применении PRF, в результате чего получается 256-разрядный GMK. Входными данными для PRF-256 являются шифровальное секретное случайное число (или Nonce), текстовая строка, MAC-адрес точки доступа и значение времени в формате синхронизирующего сетевого протокола (NTP). На рис. 2.34 представлена иерархия групповых ключей.
Групповой мастер-ключ, текстовая строка, MAC-адрес точки доступа и GNonce (значение, которое берется из счетчика ключа точки доступа) объединяются и обрабатываются с помощью PRF, в результате чего получается 256-разрядный групповой переходный ключ (Group Transient Key, GTK). GTK делится на 128-разрядный ключ шифрования широковещательных/многоадресных фреймов, 64-разрядный ключ передачи MIC (transmit MIC key) и 64-разрядный ключ приема MIC (MIC receive key).

С помощью этих ключей широковещательные и многоадресные фреймы шифруются и дешифруются точно так же, как с помощью одноадресных ключей, полученных на основе парного мастер-ключа (PMK).

Клиент обновляется с помощью групповых ключей шифрования через сообщения EAPoL-Key. Точка доступа посылает такому клиенту сообщение EAPoL, зашифрованное с помощью одноадресного ключа шифрования. Групповые ключи удаляются и регенерируются каждый раз, когда какая-нибудь станция диссоциируется или деау-тентифицируется в BSS. Если происходит ошибка MIC, одной из мер противодействия также является удаление всех ключей с имеющей отношение к ошибке приемной станции, включая групповые ключи.
В домашних сетях или сетях, предназначенных для малых офисов, развертывание RADIUS-сервера с базой данных конечных пользователей маловероятно. В таком случае для генерирования сеансовых ключей используется только предварительно разделенный РМК (вводится вручную). Это аналогично тому, что делается в оригинальном протоколе WEP.

Поскольку в локальных сетях 802.11 нет физических портов, то ассоциация между беспроводным клиентским устройством и точкой доступа считается сетевым портом доступа. Беспроводный клиент рассматривается как претендент, а точка доступа - как аутентификатор.

В стандарте 802.1х аутентификация пользователей на канальном уровне выполняется по протоколу EAP, который был разработан Группой по проблемам проектирования Интернет (IETF). Протокол EAP - это замена протокола CHAP (Challenge Handshake Authentication Protocol, протокол взаимной аутентификации), который применяется в РРР (Point to Point Protocol, протокол соединения «точка-точка»), он предназначен для использования в локальных сетях. Спецификация EAPOL определяет, как фреймы ЕАР инкапсулируются во фреймы 802.3, 802.5 и 802.11. Обмен фреймами между объектами, определенными в стандарте 802.1x, схематично изображен на рисунке 2.35.

EAP является «обобщённым» протоколом в системе аутентификации, авторизации и учёта (authentication, authorization, and accounting, AAA), обеспечивающим работу разнообразных методов аутентификаци. AAA-клиент (сервер доступа в терминологии AAA, в беспроводной сети представлен точкой радиодоступа), поддерживающий EAP, может не понимать конкретных методов, используемых абонентом и сетью в процессе аутентификации. Сервер доступа туннелирует сообщения протокола аутентификации, циркулирующие между абонентом и сервером аутентификации. Сервер доступа интересует лишь факт начала и окончания процесса аутентификации.
Есть несколько вариантов ЕАР, спроектированных с участием различных компаний-производителей. Такое разнообразие вносит дополнительные проблемы совместимости, так что выбор подходящего оборудование и программного обеспечения для беспроводной сети становится нетривиальной задачей. При конфигурировании способа аутентификации пользователей в беспроводной сети вам, вероятно, придется столкнуться со следующими вариантами ЕАР:

-    EAP-MD5 - это обязательный уровень ЕАР, который должен присутствовать во всех реализациях стандарта 802.1х, именно он был разработан первым. С точки зрения работы он дублирует протокол CHAP. Мы не рекомендуем пользоваться единую архитектуру контроля доступа к портам с использованием разнообразных методов аутентификации абонентов.

-    EAP-TLS (EAP-Transport Layer Security, протокол защиты транспортного уровня) поддерживает взаимную аутентификацию на базе сертификатов. EAP-TLS основан на протоколе SSLv3 и требует наличия удостоверяющего центра. Протоколы TLS и SSL используют ряд элементов инфраструктуры PKI (Public Key Infrastructure): Абонент должен иметь действующий сертификат для аутентификации по отношению к сети. AAA-сервер должен иметь действующий сертификат для аутентификации по отношению к абоненту. Орган сертификации с сопутствующей инфраструктурой управляет сертификатами субъектов PKI. Клиент и RADIUS-сервер должны поддерживать метод аутентификации EAP-TLS. Точка радиодоступа должна поддерживать процесс аутентификации в рамках 802.1x/EAP, хотя может и не знать деталей конкретного метода аутентификации.

-    EAP-LEAP (Lightweight ЕАР, облегчённый EAP) - это запатентованный компанией Cisco вариант ЕАР, реализованный в точках доступа и беспроводных клиентских картах Cisco. LEAP был первой (и на протяжении длительного времени единственной) схемой аутентификации в стандарте 802.1x, основанной на паролях. Поэтому LEAP приобрел огромную популярность и даже поддержан в сервере Free-RADIUS, несмотря на то, что это запатентованное решение. Сервер аутентификации посылает клиенту запрос, а тот должен вернуть пароль, предварительно выполнив его свертку со строкой запроса. Будучи основан на применении паролей, EAP-LEAP аутентифицирует пользователя, а не устройство.
В то же время очевидна уязвимость этого варианта для атак методом полного перебора и по словарю, не характерная для методов аутентификации с применением сертификатов.

-    PEAP (Protected ЕАР, защищённый EAP) и EAP-TTLS (Tunneled Transport Layer Security ЕАР, протокол защиты транспортного уровня EAP), разработанный компанией Certicom and Funk Software. Эти варианты также достаточно развиты, и поддерживаются производителями, в частности D-link. Для работы EAP-TTLS требуется, чтобы был сертифицирован только сервер аутентификации, а у претендента сертификата может и не быть, так что процедура развертывания упрощается. EAP-TTLS поддерживает также ряд устаревших методов аутентификации, в том числе PAP, CHAP, MS-CHAP, MS-CHAPv2 и даже EAP-MD5. Чтобы обеспечить безопасность при использовании этих методов, EAP-TTLS создает зашифрованный по протоколу TLS туннель, внутри которого эти протоколы и работают. Примером практической реализации EAP-TTLS может служить программное обеспечение для управления доступом в беспроводную сеть Odyssey от компании Funk Software. Протокол РЕАР очень похож на EAP-TTLS, только он не поддерживает устаревших методов аутентификации типа РАР и CHAP. Вместо них поддерживаются протоколы PEAP-MS-CHAPv2 и PEAP-EAP-TLS, работающие внутри безопасного туннеля. Поддержка РЕАР реализована в пакете программ точек доступа D-link, и хорошо реализована в Windows XP начиная с Service Pack 2. - Еще два варианта ЕАР - это EAP-SIM и ЕАР-АКА для аутентификации на базе SIM и USIM. В настоящий момент оба имеют статус предварительных документовIETF и в основном они предназначены для аутентификации в сетях GSM, а не в беспроводных сетях 802.11. Тем не менее, протокол EAP-SIM поддержан в точках доступа и клиентских устройствах некоторых производителей.