logo
Беспроводные технологии / Методические материалы / 04 - Конспект лекций(Беспроводные технологии)_СОС

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

Первоначально стандарт 802.1x задумывался для того, чтобы обеспечить аутентификацию пользователей на канальном уровне в коммутируемых проводных сетях.

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

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

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-адреса одинаковым образом.

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, указывающее, что ключи установлены.

Рисунок 3.11.13 – Создание ключей

Рисунок 3.11.14 – Генерация парного переходного ключа

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

Широковещательные или многоадресные фреймы используют иерархию групповых ключей. Групповой мастер-ключ (Group Master Key, GMK) находится на вершине этой иерархии и выводится в точке доступа. Вывод GMK основан на применении PRF, в результате чего получается 256-разрядный GMK. Входными данными для PRF-256 являются шифровальное секретное случайное число (или Nonce), текстовая строка, MAC- адрес точки доступа и значение времени в формате синхронизирующего сетевого протокола (NTP). На рисунке 3.11.15 представлена иерархия групповых ключей.

Рисунок 3.11.15 – Иерархия групповых ключей

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

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

Рисунок 3.11.16 – Механизм аутентификации в 802.1x/EAP

Есть несколько вариантов ЕАР, спроектированных с участием различных компаний- производителей. Такое разнообразие вносит дополнительные проблемы совместимости, так что выбор подходящего оборудование и программного обеспечения для беспроводной сети становится нетривиальной задачей. При конфигурировании способа аутентификации пользователей в беспроводной сети вам, вероятно, придется столкнуться со следующими вариантами ЕАР:

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

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

Точка радиодоступа должна поддерживать процесс аутентификации в рамках 802.1x/EAP, хотя может и не знать деталей конкретного метода аутентификации. Общий вид EAP-TLS выглядит примерно так (рисунок 3.11.17):

Рисунок 3.11.17 – Процесс аутентификации EAP-TLS

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. В общем виде схема обмена РЕАР выглядит следующим образом (рисунок 3.11.18):

Рисунок 3.11.18 – Процесс аутентификации PEAP

Еще два варианта ЕАР – это EAP-SIM и ЕАР-АКА для аутентификации на базе SIM и USIM. В настоящий момент оба имеют статус предварительных документов IETF и в основном они предназначены для аутентификации в сетях GSM, а не в беспроводных сетях 802.11. Тем не менее, протокол EAP-SIM поддержан в точках доступа и клиентских устройствах некоторых производителей.

Наглядно, уровни архитектуры 802.1x показаны на рисунке 3.11.19.

Рисунок 3.11.19 – Уровни архитектуры 802.1x

Здесь в качестве механизма обеспечения конфиденциальности и целостности данных выступают стандарты шифрования WPA и WPA2.