Метод eap какой выбрать при подключении вайфая с телефона
Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal
Ещё один компьютерный пост.
Недавно построил WiFi-сетку с аутентикацией по 802.1x, использующую сертификаты для опознания юзеров. В числе прочего, пришлось настраивать для работы с ней устройства на Android – смартфоны и планшетки. Тут-то и выяснилось, что нормального howto, как это сделать, найти не получается – те, которые были, касались сценариев с паролями, а мне от них-то и хотелось избавиться. Потому и решил свести информацию по вопросу в один пост.
Что такое 802.1x и как его использовать на Windows и Linux, написано предостаточно, поэтому тут будет только про настройку клиента на Android.
Итак, в чём цель? Надо создать сетку с приличным шифрованием и надёжной аутентикацией, при этом требуется, чтобы аутентикация была как можно более удобна для юзера, но при этом защищена от юзера же. То есть я, в качестве админа, не хочу, чтобы юзер мог передать кому другому свой пароль или файл с секретным ключом, или же подключился с устройства, с которого я не хочу позволять ему подключаться – например, личного лэптопа. В общем, мрак и диктатура.
Для этого делаем следующее: на устройство (телефон, планшетку) ставится сертификат с секретным ключом (на каждый девайс – отдельный ключ). Управление ключами в Андроиде весьма примитивно, однако даёт ровно тот минимум, какой нам требуется – даёт импортировать ключ и использовать его, но не извлекать обратно (по крайней мере, без пароля, который мы выдавать не собираемся). Эти ключи и будут выдаваться access point’у в ответ на требование представиться.
Процедурка вся укладывается в 4 шага:
1. Подготовка “credential storage”:
Перед тем, как заводить в девайсину какие-либо секретные ключи, надо подготовить для них хранилище, где ключи будут сохраняться в зашифрованном виде. Шифрование будет происходить на основе пароля, который вводится лишь при создании хранилища. Для использования секретного ключа пароль вводить не нужно – лишь для его экспорта (который к тому же невозможно осуществить через обычный андроидный UI). Посему пароль мы этот оставим у себя, а юзеру выдавать отнюдь не будем. Evil laughter прилагается.
[Update: увы, не выйдет. При выключении девайса пароль уходит, и для использования ключей его придётся вводить заново. У этого есть и хорошие, и плохие стороны:
* Сохранять пароль в тайне от юзера не выйдет - иначе придётся вводить его всякий раз при включении.
* Это значит, что теоретически юзер может скопировать из девайса секретный ключ - что с админской точки зрения плохо. Но, насколько я понимаю, ему для этого требуется рутовый доступ. Получение такого доступа хлопотно, но возможно.
* Хорошая сторона в том, что сам пароль в флэш-памяти не сохраняется - а криптоключи, которые сохраняются, шифруются этим паролем по AES.
* Ну и к тому же, если пароль при включении введён ещё не был, то это даёт защиту от кого-то постороннего, кто попытается использовать ключ, пароля не зная.
]
Пароль можно впоследствии сменить – но лишь при знании нынешнего. Можно и обнулить всё хранилище – при этом пароль уйдёт, и юзер сможет выставить свой, но с ним погибнет безвозвратно также и секретный ключ, прямо как тайна верескового мёда.
Собственно процесс: Settings --> Location and security --> Set password . Ввести пароль дважды. После чего галочка “ Use secure credentials ” включится автоматически.
Чтобы поменять пароль: “ Set password ” повторно.
Чтобы обнулить всё нафиг: “ Clear storage ” там же.
2. Импорт корневого сертификата:
Нужно забросить в девайс файл с расширением .crt ( .cer не принимается) и в формате PEM, также известном как Base-64. Можно это сделать через USB, можно через Bluetooth. Файл должен быть скопирован в директорию /sdcard – та, что видна как корень при подключении девайса через USB или при просмотре файлов через “ My Files ”.
Затем: Settings --> Location and security --> Install encrypted certificates (хоть в данном случае сертификат и не encrypted). Сертификат будет добавлен в список доверяемых, а файл в /sdcard стёрт.
Можно также забросить файл .p12 через URL, но я бы не стал – в отличие от сертификатов, расползания ключей, хоть и в шифрованном виде, стоит избегать.
4. Подключение к собственно сети:
После того, как ключ задан, остались лишь настройки WiFi-сети. Ничего секретного в этом этапе нет, можно оставить его юзерам, выслав инструкцию.
Итак: Settings --> Wireless and network --> Wi-Fi settings . Найти сеть в списке, либо, если SSID скрыт, жмякнуть на “ Add Wi-Fi network ”.
Затем:
Network SSID: | если нужно |
Security: | 802.1x EAP |
EAP method: | TLS [1] |
Phase 2 authentication: | None |
CA certificate: | корневой сертификат, введённый на шаге 2. |
User certificates: | юзерский сертификат с секретным ключом, введённый на шаге 3. |
Identity: | юзернейм в полном формате, типа [email protected] [2] |
Anonymous identity: | не нужно |
Password: | не нужно |
На более продвинутых устройствах можно задать также для каждой сети настройки proxy, что очень удобно.
Всё. После этого юзеру останется только жмякнуть по названию сетки и подключиться. Если же он по недомыслию как-нибудь нажмёт на “ Forget network ” и сотрёт настройки, для восстановления достаточно лишь пройти заново шаг 4 – процедура несекретная, юзер её может проделать сам.
Примечания:
[1] В принципе, есть также опция PEAP. Протокол PEAP-EAP-TLS считается чуть более защищённым – к примеру, юзерский сертификат в нём пересылается в зашифрованном виде по установленному туннелю TLS. Однако мои усилия заставить Андроид работать в этом режиме ни к чему не привели. Подозреваю, что дело в том, что поле “ Phase 2 authentication ” не содержит опции для использования юзерского сертификата – поэтому приходится удолетворяться EAP-TLS, которому никакой phase 2 не нужен. Но разница минимальна и несущественна.
[2] Понятия не имею, зачем нужен. В принципе, юзер должен опознаваться по полю CN в сертификате.
В этой статье содержится пример конфигурации аутентификации EAP (протокол расширенной аутентификации) беспроводных пользователей в локальной базе данных сервера RADIUS на точке доступа, работающей под управлением Cisco IOS®.
Благодаря пассивной роли, которую играет точка доступа в EAP (она преобразует беспроводные пакеты клиентов в пакеты, передающиеся по проводам, и направляет их на сервер аутентификации, и наоборот), данная конфигурация используется практически со всеми методами EAP. Эти методы включают (но не ограничиваются) LEAP, защищенный EAP (PEAP)-MS-протокол взаимной аутентификации (CHAP) версии 2, PEAP-плата Generic Token (GTC), гибкая аутентификация EAP через безопасный туннель (FAST), EAP-протокол безопасности транспортного уровня (TLS) и EAP-Tunneled TLS (TTLS). Необходимо соответствующим образом настроить сервер аутентификации для каждого из методов EAP. Данная статья содержит только сведения по настройке точки доступа.
Требования
При проведении настройки могут понадобиться следующие знания:
- Общее представление о Cisco IOS GUI или CLI.
- Общее представление о концепции аутентификации EAP.
Используемые компоненты
Сведения, содержащиеся в данном документе, касаются следующего программного и аппаратного обеспечения:
- Точка доступа Cisco Aironet, работающая под управлением Cisco IOS.
- Виртуальная LAN (VLAN), предположим, что в сети она только одна.
- RADIUS сервер аутентификации, успешно выполняющий интеграцию в базу данных пользователя.
- Cisco LEAP и EAP-FAST поддерживают следующие серверы аутентификации:
- Сервер контроля доступа (ACS) Cisco Secure
- Регистратор доступа Cisco (CAR)
- Funk Steel Belted RADIUS
- Interlink Merit
- Microsoft Internet Authentication Service (IAS)
- Cisco Secure ACS
- Funk Steel Belted RADIUS
- Interlink Merit
- Авторизацию могут выполнять любые другие серверы аутентификации Microsoft.
- Необходимо проконсультироваться с производителем оборудования, установленного у клиента, чтобы уточнить при каких условиях сервера аутентификации, работающие по методам EAP-TLS, EAP-TTLS и другим EAP-методам, поддерживаются их продуктами.
Сведения, представленные в данном документе, были получены на тестовом оборудовании в специально созданных лабораторных условиях. При написании данного документа использовались только данные, полученные от устройств с конфигурацией по умолчанию. В рабочей сети необходимо понимать последствия выполнения всех команд.
Настройка
Данная конфигурация предполагает настройку EAP-аутентификации на точке доступа, работающей под управлением IOS.
Как большинство алгоритмов аутентификации, основанных на применении пароля, Cisco LEAP чувствителен к словарным атакам. Речь не идет о новом виде атаки или новом уязвимом месте Cisco LEAP. Для того, чтобы смягчить словарные атаки, необходимо разработать политику стойкого пароля. Это включает в себя использование устойчивых паролей и периодическую их смену.
Сетевой EAP или открытая аутентификация с EAP
При любом методе аутентификации, основанном на EAP/802.1x, может возникнуть вопрос о том каковы различия между сетевым EAP и открытой аутентификацией с EAP. Это относится к значениям в поле Authentication Algorithm в заголовках пакетов управления и связывания. Большинство производителей беспроводных клиентских устройств устанавливают значение этого поля равным 0 (открытая аутентификация), а затем сообщают о желании проводить аутентификацию EAP позднее, во время процесса ассоциации. В продуктах Cisco это значение задается по-другому, а именно с начала ассоциации с флагом сетевого протокола EAP.
Если в сети есть клиенты, которые являются:
- Клиентами Cisco – необходимо использовать сетевой EAP.
- Клиентами стороннего производителя (в том числе продукты, совместимые с CCX) – необходимо использовать открытую аутентификацию с EAP.
- Сочетанием клиентских устройств Cisco и сторонних производителей – необходимо выбрать и сетевой EAP и открытую аутентификацию с EAP.
Определение сервера аутентификации
Первым шагом в настройке EAP является определение сервера аутентификации и установление связи с ним.
- Ввести IP адрес сервера аутентификации в поле Server.
- Указать общий секретный ключ и порты.
- Нажать Apply для того, чтобы создать определение и заполнить выпадающие списки.
- Задать IP адрес сервера в поле Default Server Priorities > EAP Authentication type > Priority 1.
- Нажать Apply.
Enter configuration commands, one per line. End with CNTL/Z.
2. Точка доступа должна быть настроена на сервере аутентификации как ААА клиент.
Например, на сервере контроля доступа Cisco Secure это настраивается на странице Network Configuration, на которой определены имя точки доступа, IP адрес, общий секретный пароль и метод аутентификации (RADIUS Cisco Aironet или RADIUS Cisco IOS/PIX). Для получения информации по серверам аутентификации, не принадлежащим к разряду серверов контроля доступа, обратитесь к документации их производителя.
Необходимо убедиться в том, что сервер аутентификации настроен на применение желаемого метода аутентификации EAP. Например, для сервера контроля доступа Cisco Secure, применяющего LEAP, необходимо настроить аутентификацию LEAP на странице System Configuration - Global Authentication Setup. Нажать System Configuration, затем нажать Global Authentication Setup. Для получения информации по серверам аутентификации, не принадлежащим к разряду серверов контроля доступа, или другим методам EAP обратитесь к документации их производителя.
На следующем рисунке показана настройка ACS Cisco Secure на применение PEAP, EAP-FAST, EAP-TLS, LEAP и EAP-MD5.
Определение методов аутентификации клиента
Примечание: Эти инструкции предназначены для установки, основанной на WEP.
Также можно выполнить из CLI следующие команды:
Enter configuration commands, one per line. End with CNTL/Z.
- Выбрать желаемый SSID.
- В пункте "Authentication Methods Accepted," установить флажок Open и использовав выпадающий список выбрать With EAP.
- Установить флажок Network-EAP при наличии клиентской карты Cisco.
- Нажать Apply.
Также можно выполнить из CLI следующие команды:
Enter configuration commands, one per line. End with CNTL/Z.
Как только правильная работа основной функциональной возможности с основной настройкой EAP будет подтверждена, можно будет добавить дополнительные функциональные возможности и управление ключами. Расположите более сложные функции на вершине функциональной базы для того, чтобы сделать поиск и устранение неисправностей легче.
Проверка
В данном разделе содержатся сведения, которые могут быть использованы при проверке работы конфигурации.
Поиск и устранение неисправностей
Процедура поиска и устранения неисправностей
Для того, чтобы осуществить поиск и устранение неисправностей в своей конфигурации, необходимо выполнить следующие действия.
-
В утилите на стороне клиента или в программном обеспечении необходимо создать новый профиль или соединение с теми же или похожими параметрами для того, чтобы убедиться в том, что в настройках клиента ничего не было повреждено.
Команды поиска и устранения неисправностей
Раздел Отладка аутентификации содержит значительное количество подробностей того, как можно собрать и интерпретировать выходные данные команд отладки, связанных с EAP.
Примечание: Перед тем, как выполнять команды debug, необходимо ознакомиться с разделом Важная информация о командах отладки.
- debug dot11 aaa authenticator state-machine – Выводит основные разделы (или состояния) согласования между клиентом и сервером аутентификации.
Примечание: В программном обеспечении Cisco IOS релизов, предшествующих 12.2(15)JA, синтаксис команды debug является следующим debug dot11 aaa dot1x state-machine. - debug dot11 aaa authenticator process – Выводит единичные записи диалогов согласования между клиентом и сервером аутентификации.
Примечание: В программном обеспечении Cisco IOS релизов, предшествующих 12.2(15)JA, синтаксис команды отладки следующий debug dot11 aaa dot1x process. - debug radius authentication – Выводит согласования RADIUS между сервером и клиентом, связанными мостом с точкой доступа.
- debug aaa authentication – Выводит согласования ААА для аутентификации между клиентским устройством и сервером аутентификации.
Есть вопросы?
Обращайтесь в "Аквилон-А", чтобы узнать подробности и получить именно то, что вам требуется.802.1X — это протокол доступа к портам для защиты сетей с помощью аутентификации. В результате этого метод аутентификации очень пригодится в среде Wi-Fi, поскольку носитель носителя имеет характер. Если пользователь Wi-Fi аутентификация через 802.1X для доступа к сети, на точке доступа, разрешаемой для связи, будет открыт виртуальный порт. Если это не разрешено, виртуальный порт не доступен, и коммуникации заблокированы.
Существует три базовых варианта аутентификации 802.1X:
- Supplicant Программный клиент, работающий на рабочей станции Wi-Fi.
- Аутентификация Точка доступа Wi-Fi.
- Сервер аутентификации База данных аутентификации, обычно сервер радиуса, такой как Cisco ACS*, Funk Steel-Belted RADIUS* или Microsoft IAS*.
Протокол extensible Authentication Protocol (EAP) используется для передавать данные аутентификации между заменяющей (рабочая станция Wi-Fi) и сервером аутентификации (Microsoft IAS или другим). Тип EAP фактически обрабатывает и определяет аутентификацию. Точка доступа, действующая как аутентификация, является только прокси-сервером, позволяющим проконтликатору и серверу аутентификации взаимодействовать.
Какую информацию необходимо использовать?
Тип EAP для реализации или реализации 802.1X напрямую зависит от уровня безопасности, необходимого организации, административных накладных расходов и желаемых функций. Приведенные здесь описания и сравнительная таблица легко облегчит понимание различных доступных типов EAP.
Типы аутентификации Extensible Authentication Protocol (EAP)
Поскольку безопасность локальной сети Wi-Fi (WLAN) имеет важное значение, а типы аутентификации EAP обеспечивают потенциально более надежное средство обеспечения безопасности WLAN, поставщики быстро разрабатывают и добавляют типы аутентификации EAP в свои точки доступа WLAN. Некоторые из наиболее часто используемых типов аутентификации EAP включают EAP-MD-5, EAP-TLS, EAP-PEAP, EAP-TTLS, EAP-Fast и Cisco LEAP.
- Задача EAP-MD-5 (Message Digest) — тип аутентификации EAP, обеспечивающий поддержку EAP на базовом уровне. EAP-MD-5 обычно не рекомендуется для внедрения Wi-Fi LAN, так как может разрешать получение пароля пользователя. Она обеспечивает только одностолевую аутентификацию — взаимная аутентификация клиентских сетей Wi-Fi и сети невозмещ. И очень важно, что она не предоставляет средства для получения динамических ключей проводного эквивалента конфиденциальности (WEP) на сеанс.
- EAP-TLS (Transport Layer Security) обеспечивает взаимную аутентификацию клиента и сети на основе сертификатов. Для выполнения аутентификации он опирается на клиентские и серверные сертификаты и может использоваться для динамического создания ключей WEP на базе пользователей и сеансов для обеспечения последующей связи между клиентом WLAN и точкой доступа. Одно из основных преимуществ EAP-TLS заключается в том, что сертификатами необходимо управлять как на клиентской, так и на серверной стороне. Для большой установки WLAN это может быть очень сложной задачей.
- EAP-TTLS (Tunneled Transport Layer Security) была разработана Funk Software* и Certicom*, как продолжение EAP-TLS. Этот метод безопасности обеспечивает взаимную аутентификацию клиента и сети через зашифрованный канал (или тоннель), а также возможность получения динамических ключей WEP на каждого пользователя в сеансе. В отличие от EAP-TLS, для EAP-TTLS требуются только сертификаты на стороне сервера.
- Функция EAP-FAST (Гибкая аутентификация через безопасный тоннель) была разработана компанией Cisco*. Вместо использования сертификата для взаимной аутентификации. EAP-FAST authenticates с помощью PAC (Protected Access Credential), который может динамически управляться сервером аутентификации. PAC можно передавать клиенту (один раз) вручную или автоматически. Подготовка вручную — это доставка клиенту с помощью диска или защищенного сетевого дистрибутива. Автоматический резервинг — это часть передачи по воздуху и дистрибутиву.
- Метод extensible Authentication Protocol для идентификации абонента GSM (EAP-SIM) — это механизм аутентификации и распределения ключей сеанса. В нем используется глобальный модуль идентификации абонента (GSM) для мобильной связи (SIM). В EAP-SIM используется динамический ключ weP на основе сессий, полученный из клиентского адаптера и сервера RADIUS, для шифрования данных. Для связи с модулем идентификации абонента (SIM) необходимо ввести код проверки пользователя или PIN-код. SIM-карта — это особая смарт-карта, используемая цифровыми сотовыми сетьми глобальной системы мобильной связи (GSM).
- EAP-AKA (Extensible Authentication Protocol Method for UMTS Authentication and Key Agreement) — это механизм EAP для аутентификации и распределения ключей сеанса с использованием модуля идентификации абонента Universal Mobile Telecommunications System (UMTS) USIM. Карта USIM — это специальная смарт-карта, используемая в сотовых системах для проверки данных пользователей сети.
- LEAP (Lightweight Extensible Authentication Protocol) — тип аутентификации EAP, используемый, главным образом, в WLAN Cisco A linuxnet*. Она шифрует передачу данных с помощью динамически генерируемых ключей WEP и поддерживает взаимную аутентификацию. В настоящее время компания Cisco лицензирует LEAP для различных других производителей в рамках программы Cisco Compatible Extensions.
- PEAP (Protected Extensible Authentication Protocol) предоставляет метод для безопасной передачи данных аутентификации, включая устаревшие протоколы с паролем, через сети Wi-Fi 802.11. Для этого выполняется PEAP, используя тоннель между клиентами PEAP и сервером аутентификации. Подобно конкурирующей стандартной технологии Tunneled Transport Layer Security (TTLS), PEAP аутентификация клиентов Wi-Fi LAN с помощью только сертификатов на стороне сервера, упрощая внедрение и администрирование безопасной сети Wi-Fi. Microsoft, Cisco и RSA Security разработали PEAP.
Типы EAP 802.1X
Функция / преимущество
БЫСТРЫЙ
---
Гибкая аутентификация с помощью безопасного туннелингаВ обзоре вышеперечисленных обсуждений и таблиц обычно содержатся следующие выводы:
- MD5 обычно не используется, так как она выполняет только одновременную аутентификацию, и еще важнее то, что они не поддерживают автоматическое распространение и перенаправление ключей WEP, поэтому ничего не делает для облегчения административного нагрузки обслуживания ключей WEP вручную.
- TLS, хотя и является очень безопасным, требует установки клиентских сертификатов на каждой рабочей станции Wi-Fi. Для обслуживания инфраструктуры PKI требуется дополнительный административный опыт и время в дополнение к обслуживанию самой WLAN.
- TTLS устраняет проблему сертификата путем туннелинга TLS и тем самым устраняет необходимость получения сертификата на стороне клиента. Поэтому этот вариант часто является предпочтительным. Funk Software* является основным рекламатором TTLS, и существует плата за серверное по дляпроизводительных и аутентификационных серверов.
- LEAP имеет новейшую историю, и хотя ранее компания Cisco проприетарна (работает только с адаптерами Cisco Wi-Fi), cisco лицензирует LEAP для различных других производителей в рамках программы Cisco Compatible Extensions. Если для аутентификации используется LEAP, необходимо использовать политику надежного пароля.
- EAP-FAST теперь доступна для предприятий, которые не могут обеспечить надежное соблюдение политики паролей и не хотят развертывать сертификаты для аутентификации.
- Последнее время PEAP работает аналогично EAP-TTLS, поскольку для этого не требуется сертификат на стороне клиента. ПОДДЕРЖКА PEAP поддерживается Cisco и Microsoft и предоставляется бесплатно в Microsoft. При желании перехода с LEAP на PEAP сервер проверки подлинности ACS компании Cisco будет работать одновременно.
Другой вариант — VPN
Вместо того, чтобы использовать сеть Wi-Fi LAN для аутентификации и конфиденциальности (шифрование), многие предприятия внедряют VPN. Это выполняется путем размещения точек доступа за пределами корпоративного брандмауэра и открытия пользовательского тоннеля через VPN-шлюз , точно так же, как если бы они были удаленным пользователем. Недостатки внедрения решения VPN — это затраты, сложности начальной установки и постоянные накладные расходы на администрирование.
Тема безопасности беспроводных сетей по-прежнему остается актуальной, хотя уже достаточно давно существуют надежные (на сегодняшний момент, конечно же) методы защиты этих сетей. Разумеется, речь идет о технологии WPA (Wi-Fi Protected Access).
Большинство существующего на данный момент Wi-Fi оборудования имеет поддержку данной технологии, но, к сожалению, до сих пор в нашей лаборатории попадаются экземпляры, не знающие о WPA. Это более чем странно — заканчивается 2005 год, а некоторые производители до сих пор считают, что технология WEP спасет пользователей беспроводной сети от утечки информации. WEP уже давно устарела. На смену этой технологии пришел WPA, а также на горизонте виднеется новый стандарт 802.11i (некоторые производители преподносят его, как WPA2).
- протокол 802.1x — универсальный протокол для аутентификации, авторизации и учета (AAA)
- протокол EAP — расширяемый протокол аутентификации (Extensible Authentication Protocol)
- протокол TKIP — протокол временнОй целостности ключей, другой вариант перевода — протокол целостности ключей во времени (Temporal Key Integrity Protocol)
- MIC — криптографическая проверка целостности пакетов (Message Integrity Code)
- протокол RADIUS
За шифрование данных в WPA отвечает протокол TKIP, который, хотя и использует тот же алгоритм шифрования — RC4 — что и в WEP, но в отличие от последнего, использует динамические ключи (то есть ключи часто меняются). Он применяет более длинный вектор инициализации и использует криптографическую контрольную сумму (MIC) для подтверждения целостности пакетов (последняя является функцией от адреса источника и назначения, а также поля данных).
RADIUS-протокол предназначен для работы в связке с сервером аутентификации, в качестве которого обычно выступает RADIUS-сервер. В этом случае беспроводные точки доступа работают в enterprise-режиме.
Если в сети отсутствует RADIUS-сервер, то роль сервера аутентификации выполняет сама точка доступа — так называемый режим WPA-PSK (pre-shared key, общий ключ). В этом режиме в настройках всех точек доступа заранее прописывается общий ключ. Он же прописывается и на клиентских беспроводных устройствах. Такой метод защиты тоже довольно секьюрен (относительно WEP), очень не удобен с точки зрения управления. PSK-ключ требуется прописывать на всех беспроводных устройствах, пользователи беспроводных устройств его могут видеть. Если потребуется заблокировать доступ какому-то клиенту в сеть, придется заново прописывать новый PSK на всех устройствах сети и так далее. Другими словами, режим WPA-PSK подходит для домашней сети и, возможно, небольшого офиса, но не более того.
В этой серии статей будет рассмотрена работа WPA совместно с внешним RADIUS-сервером. Но прежде чем перейти к ней, немного подробнее остановимся на механизмах работы WPA. А перед этим рассмотрим технологию WPA2.
Технология WPA являлась временной мерой до ввода в эксплуатацию стандарта 802.11i. Часть производителей до официального принятия этого стандарта ввели в обращение технологию WPA2, в которой в той или иной степени используются технологии из 802.11i. Такие как использование протокола CCMP (Counter Mode with Cipher Block Chaining Message Authentication Code Protocol), взамен TKIP, в качестве алгоритма шифрования там применяется усовершенствованный стандарт шифрования AES (Advanced Encryption Standard). А для управления и распределения ключей по-прежнему применяется протокол 802.1x.
Как уже было сказано выше, протокол 802.1x может выполнять несколько функций. В данном случае нас интересуют функции аутентификации пользователя и распределение ключей шифрования. Необходимо отметить, что аутентификация происходит «на уровне порта» — то есть пока пользователь не будет аутентифицирован, ему разрешено посылать/принимать пакеты, касающиеся только процесса его аутентификации (учетных данных) и не более того. И только после успешной аутентификации порт устройства (будь то точка доступа или умный коммутатор) будет открыт и пользователь получит доступ к ресурсам сети.
- EAP-SIM, EAP-AKA — используются в сетях GSM мобильной связи
- LEAP — пропреоретарный метод от Cisco systems
- EAP-MD5 — простейший метод, аналогичный CHAP (не стойкий)
- EAP-MSCHAP V2 — метод аутентификации на основе логина/пароля пользователя в MS-сетях
- EAP-TLS — аутентификация на основе цифровых сертификатов
- EAP-SecureID — метод на основе однократных паролей
рис.1, структура EAP-кадраКроме вышеперечисленных, следует отметить следующие два метода, EAP-TTLS и EAP-PEAP. В отличие от предыдущих, эти два метода перед непосредственной аутентификацией пользователя сначала образуют TLS-туннель между клиентом и сервером аутентификации. А уже внутри этого туннеля осуществляется сама аутентификация, с использованием как стандартного EAP (MD5, TLS), или старых не-EAP методов (PAP, CHAP, MS-CHAP, MS-CHAP v2), последние работают только с EAP-TTLS (PEAP используется только совместно с EAP методами). Предварительное туннелирование повышает безопасность аутентификации, защищая от атак типа «man-in-middle», «session hihacking» или атаки по словарю.
- Supplicant — софт, запущенный на клиентской машине, пытающейся подключиться к сети
- Authenticator — узел доступа, аутентификатор (беспроводная точка доступа или проводной коммутатор с поддержкой протокола 802.1x)
- Authentication Server — сервер аутентификации (обычно это RADIUS-сервер)
Описанный процесс проиллюстрирован на рис.3 (там показан один из простейших методов EAP):
рис.3, процесс аутентификацииКак видно из рисунка, для коммуникации между клиентом (supplicant) и точкой доступа (authenticator) используются пакеты EAPOL. Протокол RADIUS используется для обмена информацией между аутентификатором (точкой доступа) и RADIUS-сервером (сервером аутентификации). При транзитной пересылке информации между клиентом и сервером аутентификации пакеты EAP переупаковываются из одного формата в другой на аутентификаторе.
Детальное рассмотрение алгоритмов шифрования, а также методы генерации сессионных ключей шифрования, пожалуй, выходят за рамки данного материала, поэтому рассмотрю их лишь вкратце.
Первоначальная аутентификация производится на основе общих данных, о которых знают и клиент, и сервер аутентификации (как то логин/пароль, сертификат и т.д.) — на этом этапе генерируется Master Key. Используя Master Key, сервер аутентификации и клиент генерируют Pairwise Master Key (парный мастер ключ), который передается аутентификатору со стороны сервера аутентификации. А уже на основе Pairwise Master Key и генерируются все остальные динамические ключи, которым и закрывается передаваемый трафик. Необходимо отметить, что сам Pairwise Master Key тоже подлежит динамической смене.
Теперь перейдем от сухой теории к реальности, а именно реализации WPA в Windows XP. Нормальная поддержка WPA (с поддержкой AES) появилась, только начиная с windows service pack 2.
- MD5-Challenge — самый примитивный и слабый, рассматривать не будем;
- PEAP (Protected EAP) позволяет производить аутентификацию на основе сертификатов или логина/пароля. Он нам интересен в первую очередь возможностью аутентификации пользователя, используя логин/пароль. При этом нам не требуется настраивать инфраструктуру открытых ключей (PKI). Достаточно подключить RADIUS-сервер к какой-либо базе (обычный файл, mysql, ldap) с хранящимися пользователями и производить аутентификацию пользователей по ней.
- Smart Card or Other Certificate — обычный EAP-TLS. Требует настроенной PKI, использует сертификаты для аутентификации клиентов. Более гибок (разумеется, после настройки PKI), чем аутентификация по логину/паролю. А также является единственным способом получить работающую связку беспроводных пользователей, работающих в Windows-домене.
Во второй части статьи будет рассмотрена настройка Windows-клиентов (Windows XP SP2), RADIUS-сервера (FreeRadius), и PKI на основе OpenSSL. Последние два компонента работают в операционной системе Gentoo Linux.
Читайте также:
- Cisco LEAP и EAP-FAST поддерживают следующие серверы аутентификации: