Механизм аутентификации
Первоначально стандарт 802.1x задумывался для того, чтобы обеспечить аутентификацию пользователей на канальном уровне в коммутируемых проводных сетях.
Алгоритмы аутентификации стандарта 802.11 могут обеспечить клиента динамическими, ориентированными на пользователя ключами. Но тот ключ, который создается в процессе аутентификации, не является ключом, используемым для шифрования фреймов или проверки целостности сообщений. В стандарте WPA для получения всех ключей используется так называемый мастер-ключ (Master Key). На рис. 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-адреса одинаковым образом (рис. 14).
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, указывающее, что ключи установлены.
Рис. 15. Создание ключей
Рис. 16. Генерация парного переходного ключа
Парный мастер-ключ (PMK) и парный переходный ключ (PTK) являются одноадресными. Они только шифруют и дешифруют одноадресные фреймы, и предназначены для единственного пользователя.
Широковещательные фреймы требуют отдельной иерархии ключей, потому что использование с этой целью одноадресных ключей приведет к резкому возрастанию трафика сети. Точке доступа (единственному объекту BSS, имеющему право на рассылку широковещательных или многоадресных сообщений) пришлось бы посылать один и тот же широковещательный или многоадресный фрейм, зашифрованный соответствующими пофрей-мовыми ключами, каждому пользователю.
Широковещательные или многоадресные фреймы используют иерархию групповых ключей. Групповой мастер-ключ (Group Master Key - GMK) находится на вершине этой иерархии и выводится в точке доступа. Вывод GMK основан на применении PRF, в результате чего получается 256-разрядный GMK. Входными данными для PRF-256 являются шифровальное секретное случайное число (или Nonce), текстовая строка, MAC-адрес точки доступа и значение времени в формате синхронизирующего сетевого протокола (NTP). На рис. 17 представлена иерархия групповых ключей.
Рис. 17. Иерархия групповых ключей
Групповой мастер-ключ, текстовая строка, 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, который был разработан Группой по проблемам проектирования Internet (IETF). Протокол EAP - это замена протокола CHAP (Challenge Handshake Authentication Protocol - протокол взаимной аутентификации), который применяется в РРР (Point to Point Protocol - протокол соединения "точка-точка"), он предназначен для использования в локальных сетях. Спецификация EAPOL определяет, как фреймы ЕАР инкапсулируются во фреймы 802.3, 802.5 и 802.11. Обмен фреймами между объектами, определенными в стандарте 802.1x, схематично изображен на рис. 18.
EAP является "обобщенным" протоколом в системе аутентификации, авторизации и учета (Authentication, Authorization, and Accounting - AAA), обеспечивающим работу разнообразных методов аутентификации. AAA-клиент (сервер доступа в терминологии AAA, в беспроводной сети представлен точкой радиодоступа), поддерживающий EAP, может не понимать конкретных методов, используемых абонентом и сетью в процессе аутентификации. Сервер доступа туннелирует сообщения протокола аутентификации, циркулирующие между абонентом и сервером аутентификации. Сервер доступа интересует лишь факт начала и окончания процесса аутентификации.
Рис. 18. Механизм аутентификации в 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 выглядит примерно так (рис. 19):
Рис. 19. Процесс аутентификации 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. В общем виде схема обмена РЕАР выглядит следующим образом (рис. 20):
Рис. 20. Процесс аутентификации PEAP
- Еще два варианта ЕАР - это EAP-SIM и ЕАР-АКА для аутентификации на базе SIM и USIM. В настоящий момент оба имеют статус предварительных документов IETF и в основном предназначены для аутентификации в сетях GSM, а не в беспроводных сетях 802.11. Тем не менее протокол EAP-SIM поддержан в точках доступа и клиентских устройствах некоторых производителей.
Наглядно уровни архитектуры 802.1x показаны на рис. 21. Здесь в качестве механизма обеспечения конфиденциальности и целостности данных выступают стандарты шифрования WPA и WPA2.
Рис. 21. Уровни архитектуры 802.1x
(с)www.INTUIT.ru