Стандарт предусматривает двустороннюю аутентификацию (в отличие от WEP, где аутентифицируется только рабочая станция, но не точка доступа). При этом, местами принятия решения о разрешении доступа являются STA и AS, а местами исполнения этого решения — STA и АР. Для работы по стандарту IEEE 802.11i создается иерархия ключей, включающая Master Key (МК), Pairwise Master Key (PMK), Pairwise Transient Key (PTK), а также групповые ключи (GTK), служащие для защиты широковещательного сетевого трафика:
МК — симметричный ключ, воплощающий решение STA и AS о взаимной аутентификации. Для каждой сессии создается новый ключ МК.
РМК — обновляемый симметричный ключ, владение которым означает разрешение (авторизацию) на доступ к среде передачи данных в течение данной сессии. РМК создается на основе МК. Для каждой пары STA и АР в каждой сессии создается новый ключ РМК.
РТК — коллекция операционных ключей, которые используются для привязки РМК к данным STA и АР, распространения GTK и для шифрования данных.
Выделяется пять фаз работы IEEE 802.11i:
I. В фазе обнаружения STA находит АР, с которой может установить связь и получает от нее параметры безопасности, используемые в данной сети. Таким образом STA узнает идентификатор сети (SSID) и методы аутентификации. Затем STA выбирает метод аутентификации и между STA и АР устанавливается соединение.
II. В фазе аутентификации IEEE 802. IX выполняется взаимная аутентификация STA и AS, создаются МК и РМК. В данной фазе STA и АР блокируют весь трафик, кроме трафика IEEE 802.IX.
III. В третьей фазе AS перемещает РМК на точку доступа. Теперь STA и АР владеют действительными ключами РМК.
IV. Четвертая фаза — управление ключами IEEE 802.IX. В этой фазе происходит генерация, привязка и верификация ключа РТК.
V. Пятая фаза — шифрование и передача данных. Для шифрования используется соответствующая часть РТК.
Процесс аутентификации и доставки ключей определяется стандартом IEEE 802.IX. Он предоставляет возможность использовать в беспроводных сетях традиционные серверы аутентификации. Спецификация IEEE 802.11i не определяет тип сервера аутентификации, но де-факто стандартным является использование сервера RADIUS (Remote Authentication Dial-In User Server).
Стандартом IEEE 802.11i предусмотрен режим Pre-Shared Key (PSK), который позволяет обойтись без сервера доступа. При использовании этого режима на STA и на АР вручную вводится Pre-Shared Key, который используется в качестве РМК. Дальше генерация РТК происходит описанным выше порядком. Режим PSK может использоваться в небольших сетях, где нецелесообразно устанавливать AS, а также при работе в режиме ad-hoc. Подробнее рассмотрим перечисленные нами основные элементы стандарта WAP2.
Протокол IEEE 802. IX .
Первоначально стандарт IEEE 802.IX задумывался для обеспечения аутентификации пользователей на уровне 2 в коммутируемых проводных локальных сетях. В беспроводных локальных сетях стандарт IEEE 802.IX имеет дополнительную функцию: динамическое распределение ключей. Для ее поддержки генерируется два набора ключей.
Первый набор состоит из сеансовых (или попарных) ключей, уникальных для каждого соединения (ассоциации) между клиентским хостом и точкой доступа. Сеансовые ключи обеспечивают приватность канала и решают проблему «одного ключа WEP для всех».
Второй набор состоит из групповых ключей. Групповые ключи разделяются всеми хостами в одной соте сети IEEE 802.11 и применяются для шифрования трафика, вещаемого на группу. Длина сеансовых и попарных ключей составляет 128 бит. Попарные ключи порождаются из главного попарного ключа (Pairwise Master Key — PMK) длиной 256 бит. PMK выдается RADIUS-сервером каждому устройству сети. Аналогично, групповые ключи порождаются из главного группового ключа (Groupwise Master Key — GMK). В ходе процедуры порождения РМК и GMK используются в сочетании с четырьмя ключами квитирования EAPOL, которые в совокупности называются попарным временным ключом. Зачастую нецелесообразно применять RADIUS-сервер с базой данных конечных пользователей. В таком случае для генерирования сеансовых ключей используется только предварительно распределенный ключ РМК (вводится вручную). Поскольку в локальных сетях IEEE 802.11 нет физических портов, то ассоциация между беспроводным клиентским устройством и точкой доступа считается сетевым портом доступа. Беспроводной клиент рассматривается как претендент, а точка доступа — как аутентификатор. Таким образом, в терминологии стандарта IEEE 802.IX точка доступа играет роль коммутатора в проводных сетях Ethernet. Очевидно, что проводной сегмент сети, к которому подключена точка доступа, нуждается в сервере аутентификации. Его функции обычно выполняет RADIUS-сервер, интегрированный с той или иной базой данных пользователей, в качестве которой может выступать стандартный RADIUS, LDAP, NDS или Windows Active Directory. Коммерческие беспроводные шлюзы высокого класса могут реализовывать как функции сервера аутентификации, так и аутентификатора. То же относится и к программным шлюзам на базе Linux, которые могут поддержать стандарт IEEE 802. IX с помощью Host АР и установленного RADIUS-сервера.
В стандарте IEEE 802.IX аутентификация пользователей на уровне 2 выполняется по протоколу ЕАР (Extensible Authentication Protocol) ,который был разработан Группой по проблемам проектирования Интернета (IETF). Протокол ЕАР — это замена метода CHAP, который применяется в протоколе «точка-точка» (РРР) , он предназначен для использования в локальных сетях (ЕАР over LAN). Спецификация ЕАР over LAN (EAPOL) определяет, как кадры ЕАР инкапсулируются в кадры сетей стандартов IEEE 802.3, IEEE 802.5 и IEEE 802.10.
Рис. 2.1 Обмен кадрами EAP.
Принцип выполнения аутентификации (рис. 2.1):
после того как канал установлен, аутентификатор посылает начальный запрос идентификации (Identity Request), за которым следует один или несколько запросов о предоставлении информации для аутентификации. Претендент посылает ответ на каждый запрос. Аутентификатор завершает процесс аутентификации отправкой пакета об успехе или неудаче аутентификации. Отметим, что структура сообщения ЕАР аналогична структуре пакета RADIUS. Детальная информация о типах пакетов ЕАР приведена в RFC 3748 .
Существует несколько вариантов протоколов ЕАР, разработанных с участием различных компаний-производителей:
EAP-MD5 — это обязательный уровень ЕАР, который должен присутствовать во всех реализациях стандарта IEEE 802.IX, именно он был разработан первым. Функционально он дублирует протокол CHAP. Мы не рекомендуем пользоваться протоколом EAP-MD5 по трем причинам. EAP-MD5 не поддерживает динамическое распределение ключей. Он уязвим для атаки «человек посередине» с применением фальшивой точки доступа и для атаки на сервер аутентификации, так как аутентифицируются только клиенты. В ходе аутентификации противник может
подслушать запрос и зашифрованный ответ, после чего провести атаку с известным открытым или шифр-текстом.
EAP-TLS (Transport Layer Security, RFC 2716) поддерживает взаимную аутентификацию на базе сертификатов. EAP-TLS основан на протоколе SSLv3 и требует наличия удостоверяющего центра.
EAP-LEAP (Lightweight ЕАР или EAP-Cisco Wireless) — это запатентованный компанией Cisco вариант ЕАР, реализованный в точках доступа и беспроводных клиентских картах Cisco Aironet. LEAP был первой (и на протяжении длительного времени единственной) схемой аутентификации в стандарте IEEE 802.IX, основанной на паролях. Поэтому LEAP приобрел большую популярность и поддерживается в сервере Free-RADIUS, несмотря на то, что это фирменное решение. В основе LEAP лежит прямой обмен запрос-свертка пароля. Сервер аутентификации посылает клиенту запрос, а тот должен вернуть пароль, предварительно выполнив его свертку со строкой запроса. Будучи основанным на применении паролей, EAP-LEAP аутентифицирует пользователя, а не устройство. В то же время очевидна уязвимость этого варианта для атак методом полного перебора и по словарю, не характерная для методов аутентификации с применением сертификатов.
К числу менее распространенных реализаций ЕАР относятся PEAP (Protected ЕАР, неутвержденный стандарт IETF) и EAP-TTLS (Tunneled Transport Layer Security ЕАР), разработанный компанией Certicom and Funk Software. Эти варианты достаточно развиты и поддержаны производителями, в частности Microsoft и Cisco.
Для работы EAP-TTLS требуется, чтобы был сертифицирован только сервер аутентификации, а у претендента сертификата может и не быть, так что процедура развертывания упрощается. EAP-TTLS поддерживает также ряд устаревших методов аутентификации, в том числе PAP, CHAP, MS-CHAP, MS-CHAPv2 и EAP-MD5. Чтобы обеспечить безопасность при использовании этих методов, EAP-TTLS создает зашифрованный по протоколу TLS туннель, внутри которого эти протоколы и работают. Примером практической реализации EAP-TTLS может служить программное обеспечение для управления доступом в беспроводную сеть Odyssey от компании Funk Software (Windows ХР/2000/98/Ме).
Такое разнообразие вносит дополнительные проблемы совместимости. В результате выбор подходящего оборудования и программного обеспечения для беспроводной сети становится нетривиальной задачей.
Протокол шифрования ССМР.
Рассмотренный нами в рамках WAP протокол TKIP не обязателен для реализации в окончательной версии стандарта IEEE 802.11i, но он обратно совместим со старым WEP и не требует полного обновления беспроводного оборудования. Напротив, протокол ССМР обязателен для совместимости со стандартом IEEE 802. 11i. В нем применяется шифр Advanced Security Standard (AES или шифр Rijndael) в режиме счетчика со сцеплением блоков шифр-текста и кодом аутентификации сообщения (СВС-МАС) (рис. 2.2). Режим счетчика (ССМ) был создан специально для стандарта IEEE 802.11i, но позже был представлен комитету NIST для универсального применения совместно с шифром AES.