OpenWiki

Wi Fi Misconcepts

Edit this page (last edited August 4, 2008)
Palm Notes | Recent Changes | Title Index | User Preferences | Random Page | Help
  • Введение
  • Стандарты
  • Базовые определения
  • Процесс соединения беспроводных устройств
  • Криптозащита
  • WEP
  • WPA
  • Аутентификация WPA
  • WPA2
  • Информационный элемент IE
  • Подведение итогов
  • Разбор полетов с помощью формы Status&Log -> Wireless роутера WL-500g
  • Изучение поведения различных беспроводных устройств
  • Роутер Asus WL-500g Deluxe. WPA/WPA2
  • IP-камера Trendnet IP-TV312W
  • Роутер Asus WL-500g Deluxe. Добавляем поддержку WEP
  • КПК Mitac Mio P550
  • Введение

    В статье разъясняются некоторые заблуждения и недопонимания, связанные с беспроводными сетями стандарта IEEE 802.11, также известного как Wi Fi. Это следующий шаг от популярной статьи или описания, прилагаемого к беспроводной карте, к нахождению ответа на вопрос "почему я не могу связать КПК с точкой доступа?".

    Стандарты

    Начнём с именования стандартов. В группу стандартов 802.11 входят документы, созданные соответствующей рабочей группой. Какие документы были выпущены?

    Стандарт 802.11-1999. Как понятно из названия, этот документ вышел в 1999 году. Стандарт описывает все аспекты беспроводных сетей от физического уровня до шифрования данных (WEP). Правда стандарт описывал сети с низкими скоростями, порядка 2Мбит/c, поэтому после его выхода была продолжена работа над повышением пропускной способности беспроводных сетей. Этот документ является базовым. Все остальные документы расширяют этот стандарт.

    Проблему с производительностью решили расширения 802.11a и 802.11b. Эти стандарты описывали физический уровень, способ передачи данных, позволяющий достичь скорости 54Мбит/c в диапазоне частот 5GHz (802.11a) и 11Мбит/с в диапазоне частот 2.4GHz (802.11b). Все остальные решения наследовались из оригинального стандарта. 802.11a нас не интересует из-за того, что 5GHz диапазон в России недоступен для нелицензируемого частного использования, а вот 802.11b стал достаточно популярным и беспроводные устройства, поддерживающие его до сих пор встречаются. Важно понимать, что слово 802.11b часто используется для обозначения не только физического уровня, но всех остальных аспектов беспроводных сетей, которые, строго говоря, входят в 802.11-1999.

    Всё ещё недостаточная скорость в популярном диапазоне частот 2.4GHz была решена дополнением 802.11g, который применял технологии 802.11a в диапазоне частот 2.4GHz. Таким образом, дополнение 802.11g подняло производительность в этом диапазоне до 54Мбит/c.

    Параллельно с работой над 802.11g велась работа над расширением 802.11i. Этот стандарт кардинально улучшал криптографическую защищенность беспроводных сетей, особенно если учесть, что криптографические методы оригинального стандарта оказались фикцией. Продукты с поддержкой 802.11i называются совместимыми со спецификациями WPA и WPA2.

    Из-за выхода продуктов, сертифицированных и по 802.11g и по 802.11i одновременно (это связано с одновременностью выхода стандартов), обе эти возможности приписывают буковке g в названии стандарта. То есть в общепринятом представлении есть два поколения беспроводных устройств, первое поколение 802.11b - это 11Мбит/с и WEP, и второе поколение 802.11g - это 54Мбит/с и WPA(2). Чаще всего это представление совпадает с действительностью, но встречаются и исключения. К исключениям относятся КПК и устройства, выпущенные незадолго до начала сертификации по этим стандартам.

    Сейчас (в 2008 году) ведутся работы над стандартом 802.11n, который будет принят не раньше ноября 2009 года, хотя уже появились первые промышленные устройства, поддерживающие этот стандарт. Стандарт описывает новый физический уровень, поднимающий скорость до 248Мбит/с. Стоит ожидать очередной путаницы с именованием устройств и разделением на устройства pre-n и post-n.

    Стоит заметить, что в 2007 году все принятые расширения были объединены в единый стандарт IEEE 802.11-2007, который описывает и новые физические уровни, и новые способы защиты. Но, поскольку наименование 802.11-2007 нечасто встречается в анонсах продуктов, дальше мы будем ссылаться на оригинальный стандарт и расширения.

    Базовые определения

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

    Затея с ESS и DS была придумана ради обеспечения плавного перемещения между BSS внутри одного ESS. DS позволяет отслеживать перемещение клиента между BSS и сохранять все текущие соединения. Домашние беспроводные сети обычно не имеют DS, но, поскольку точки доступа или роутеры позволяют интегрироваться в проводную сеть и выходить в интернет, то называть такую систему IBSS как-то не получается. Скорее это вырожденная ESS из одной BSS. По этой причине поле, в котором прописывается имя сети может именоваться и SSID и ESSID, что для большинства домашних устройств непринципиально.

    Процесс соединения беспроводных устройств

    Для дальнейшего изложения полезно знать фазы процесса соединения беспроводных устройств.

    Криптозащита

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

    Начнём с того, что было описано в 802.11-1999.

    WEP

    Оригинальный стандарт 802.11-1999 определял поддерживаемый уровень защиты беспроводной сети как Wired Equivalent Privacy (WEP), уравнивая в защите беспроводное соединение с кабельным соединением, не больше и не меньше. Как таковой, отдельной спецификации WEP не существует, это просто часть 802.11-1999, описывающая криптозащиту беспроводных соединений. Аббревиатура WEP одинаково используется и для наименования спецификации и для наименования протокола шифрования.

    Протокол шифрования использовал патентованный алгоритм RC4. Протокол строился на существовании ключа (WEP key), который должны были знать все клиенты, допущенные к использованию сети, равно как и точка доступа. Правильно введенный на клиенте ключ позволял расшифровать сообщения от точки доступа и зашифровать отправляемые ей сообщения. Ключ задавался числом, которое вводилось в 16-ричной системе счисления. Существует два варианта шифрования с разными длинами ключа: 40 бит (5 байт или 10 шестнадцатиричных цифр) или 104 бита (13 байт или 26 цифр). Поскольку при шифровании каждого пакета к ключу добавлялись дополнительные 24 бита (так называемый initialization vector, IV), то для "круглости чисел" варианты чаще именуют по полной длине ключа: WEP-64 и WEP-128. Иногда встречаются и обозначения WEP-40 и WEP-104, но это то же самое. Стандарт предполагал наличие четырех ключей шифрования, причём номер используемого ключа передавался с каждым пакетом. Видимо предполагалось, что точка доступа будет динамически менять номер ключа, но современные устройства ограничиваются вводом индекса ключа, который будет использован до следующей перенастройки точки доступа.

    Важно! Иногда в диалогах настройки можно встретить поле, куда предлагается ввести текстовую строку, по которой будут сгенерированы ключи. Алгоритм генерации у каждого производителя свой. Если уж вы решили использовать упрощенную генерацию ключей, то делайте это только на точке доступа, а при настройке клиентов вводите ключи в виде шестнадцатиричных цифр. В принципе использование такого генератора ослабляет стойкость шифрования, но в случае с WEP это ничего не изменит, поскольку о стойкости речь не идёт в принципе.

    Стандарт описывает два способа аутентификации: открытый (open) и с использованием ключа (shared key). Открытая аутентификация допускает до точки доступа всех без исключения. Аутентификация с ключем проверяет знание клиентом WEP key путем посылки ему произвольного текста (challenge text) и проверки правильности шифрования этого текста клиентом на ключе.

    Необходимость шифрования определялась выставлением точкой доступа признака privacy в рассылаемой точкой доступа информации о себе. Метод аутентификации определялся клиентом на стадии подключения путем посылки кода аутентификации.

    По мере роста популярности Wi-Fi стали выявляться дефекты WEP. Сначала обратили внимание, что аутентификация с ключем позволяет перехватчику пакетов аутентифицироваться без знания ключа. Оказалось, что открытая аутентификация, допускающая всех надежнее, чем аутентификация, проверяющая знание секрета. Поскольку аутентификация и шифрование - это непересекающиеся аспекты защиты, то стали советовать выставлять на точках доступа открытую аутентификацию и включать шифрование. Ибо пустить точка пустит любого, а что он дальше будет делать не зная ключа?

    Но дальше стало ещё хуже. Нашлись способы анализа зашифрованных пакетов, позволяющие взломать протокол шифрования. Выяснилось, что протокол WEP использует базовый алгоритм RC4 не самым удачным способом. Окончательно добило WEP наличие слабых мест у алгоритма RC4. После этого атака на WEP стала простой и доступной подросткам с ноутбуком.

    Что же делать тем, у кого осталось оборудование, которое позволяет использовать только WEP? Выкинуть его. Если по каким-то причинам это невозможно , то следует установить открытытую аутентификацию и шифрование WEP с ключем той длины, которая устраивает, ибо WEP-128 ломается не сложнее, чем WEP-64.

    WPA

    Ответом на указанный провал WEP стала разработка дополнения 802.11i. К сожалению, стало понятно, что комитет не успевает с выпуском законченного стандарта к сроку, поэтому было решено внедрять то, что успели написать, черновой вариант стандарта (draft 3). Черновик решили заморозить как есть и предложить в качестве промежуточной спецификации. Спецификация получила название Wi-Fi Protected Access (WPA).

    Что может сертифицированное WPA устройство? Во-первых были предложены новые протоколы шифрования. На смену WEP был выпущен алгоритм Temporal Key Integrity Protocol (TKIP). TKIP использует в качестве базового всё тот же RC4, но при этом была исправлена проблема с предсказуемой сменой ключей шифрования. Алгоритм TKIP был реализован как хак, позволяющий использовать старое железо с аппаратной поддержкой RC4.

    Также WPA-устройство опционально могло использовать новый протокол шифрования CCMP, реализованный на базе свежего на то время алгоритма шифрования AES. Поскольку в настройках беспроводного оборудования CCMP часто называют AES, стоит объяснить что есть что. AES - это базовый алгоритм шифрования одного блока данных, наравне с RC4. CCMP - это протокол, позволяющий шифровать поток, аналогично протоколам WEP и TKIP. CCMP описывает не просто процесс шифрования одного блока, но порядок шифрования последующих блоков, равно как и методы защиты от искажения блоков. Почему же тогда WEP и TKIP называют именем протокола, а не базового алгоритма RC4, а CCMP принято называть по используемому базовому алгоритма шифрования? Скорее всего дело в том, что расшифровка CCMP (Counter Mode with Cipher Block Chaining Message Authentication Code Protocol) описывает режим использования алгоритма шифрования. поэтому название получилось безыдейным, в то время как упоминание об алгоритме AES, который только что выиграл конкурс за право быть междунароным промышленным стандартом, могло придать солидности новым механизмам защиты. Напротив, упоминать использование RC4 в протоколе TKIP было "неудобно", несмотря на то, что облажавшиеся с WEP разработчики стандарта предложили достойную замену. Но "осадок остался".

    Необходимость сертификации WPA можно определить как "перед пацанами неудобно". Комитету нужно было срочно выпустить на замену дискредитировавшему себя WEP нечто, что смогло бы работать на старом железе, чтобы не терять наработки производителей. И, если firmware у старых карт можно было перепрограммировать, то заменить аппаратный RC4-процессор на AES-процессор было бы не просто.

    Аутентификация WPA

    Следущим нововведением WPA стали новые методы аутентификации. Старая, фиктивная открытая аутентификация была оставлена для совместимости со тсарыми устройствами, а новая, полноценная аутентификация была реализована после этапа ассоциации. Для аутентификации был использован стандарт 802.1X.

    Что такое 802.1X? Обратите внимание, что он 802.1, а не 802.11. Был взят стандарт другой группы, поскольку он хорошо подходил. Кстати, во избежание путаницы решено было зарезервировать 802.11X и не использовать. Так вот этот стандарт описывает аутентификацию с использованием дополнительного сервера аутентификации. Протокол общения с сервером аутентификации называется Extensible Authentication Protocol (EAP) и не специфицирует конкретные методы и алгоритмы, а просто является фреймворком, в который можно завернуть разнообразные методы аутентификации. Существует много конкретных методов аутентификации, они обычно удлинняют аббервиатуру EAP: LEAP, PEAP, EAP-TLS, EAP-MSCHAPv2 итд. Основное отличие между ними в списке производителей беспроводного оборудования, поддерживающих конкретный протокол. Для пользователя эти методы различаются задаваемой информацией: логин/пароль или сертификат, а также возможностью взаимной аутентификации. Поскольку этот режим требует наличия дополнительного ПО, которое не входит в состав точки доступа, то этот режим предпочтителен для крупных организаций, и часто называется WPA Enterprise. Стоит заметить, что точке доступа вообще безразличны методы аутентификации, используемые клиентом и сервером. Всё, что нужно точке - это получение от сервера аутентификации подтверждения права доступа клиента и выработанный клиентом и сервером сеансовый ключ шифрования. Во время аутентификации точска доступа работает передастом, разрешая клиенту только одно: обмениваться данными с сервером аутентификации.

    Для "бедных" сетей, где сервер аутентификации излишен, есть метод preshared key (PSK), который задает общий для точки доступа и клиентов пароль (passphrase). Наличие общего пароля удобно для домашних сетей, поэтому этот метод часто называют WPA Personal. Несмотря на схожесть с WEP key, пароль WPA обеспечивает высокую степень защиты.

    WPA2

    Завершение работ над 802.11i было ознаменовано выходом новой спецификации WPA2, полностью соответствующей расширению 802.11i. Теперь от производителей требовалась обязательная поддержка CCMP, также были уточнены некоторые детали повторной аутентификации. Исторически именно к WPA2 относят поддержку CCMP, хотя ее поддерживали и некоторые устройства, сертифицированные по WPA.

    За исключением информационного элемента, о котором пойдет речь ниже, остальные нововведения WPA2 незначительны и касаются ускорения процесса аутентификации и переаутентификации.

    Информационный элемент IE

    Еще одно отличие между WPA и WPA2 - это так называемый информационный элемент (Information Element, IE). Так называются структуры, которые включается в управляющие пакеты, рассылаемые точкой доступа. IE позволяют клиентам определить возможности точки доступа, в частности методы шифрования, которые они поддерживают. В WPA элемент, описывающий способы шифрования называется WPA IE, а в WPA2 он называется RSN IE.

    В оригинальных WEP-сетях всё было проще: единственный бит в управляющем пакете отвечал за необходимость шифрования. А протокол 802.11i подразумевает поддержку семейства протоколов. Что описывают WPA/RSN IE?

    Форматы RSN IE и WPA IE очень похожи, но отличаются порядковыми номерами и минимальными отличиями в расположении данных. Комитет сознательно пошёл на несовместимость форматов этих структур, так что WPA-клиент не увидит чисто WPA2 точку, равно как не увидит и WPA2-клиент WPA-точку, хотя дальнейший обмен данными мог бы совпадать с точностью до минимальных деталей.

    Рассмотрим поподробнее различные ситуации несовпадения спецификаций клиента и точки доступа:

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

    Обсуждение темы "чем отличается WPA с AES от WPA2?" с участием члена комитета можно найти здесь: http://www.dslreports.com/forum/remark,12691890? .

    Подведение итогов

    Теперь мы можем подытожить вышесказанное и перечислить возможные варианты настроек криптозащиты на точке доступа

    В настройках точке доступа обычно нет отдельного поля с указанием спецификации. Чаще всего она неявно совмещается с методом аутентификации. Спецификация WEP обычно указывается как аутентификации Open и Share Key. Спецификации WPA и WPA2 угадываются из аутентификаций PSK и 802.1x. Аутентификация PSK может выглядеть как Personal, как просто WPA и как WPA-PSK. Аутентификация 802.1X также может упоминаться как Enterprise и как WPA. Толковать обозначения следует от очевидного: если одна из альтернатив называется 802.1X, то вторая с именем WPA - это PSK. И наоборот, если одна альтернатива - это WPA-PSK, то под второй WPA скрывается 802.1X. С угадыванием спецификации немного сложнее. Если производитель порядочный, то он явно укажет WPA или WPA2. А вот если указывается только WPA и двоечка не присутствует, то следует ориентироваться по наличию протокола шифрования AES (CCMP). Если он присутствует, то устройство скорее всего предлагает WPA2, если предлагается только TKIP - то это WPA.

    Другая ловушка, которая может встретиться в процессе настройки защиты - это несовершенство пользовательского интерфейса беспроводного устройства, особенно это касается веб-интерфейсов. Далеко не все возможные комбинации опций приводят к работоспособным вариантам. Так, ниже упоминается тренднетовская айпи-камера, интерфейс которой позволяет выставить два вида протокола шифрования для WPA2, в действительности же логика камеры жестко привязывает к WPA2 протокол CCMP (AES).

    Разбор полетов с помощью формы Status&Log -> Wireless роутера WL-500g

    Небольшую помощь в решении проблем с подключением может оказать страничка веб-интерфейса роутера Status&Log -> Wireless. На этой страничке приводится информация о присоединившихся устройствах в виде:
    00:14:D1:F0:25:3F  associated authorized
    
    Что можно подчерпнуть из этой информации? Сам факт нахождения в этом списке означает что устройство аутентифицировалось, а слова associated и authorized означают соответственно ассоциировано и авторизовано.

    Изучение поведения различных беспроводных устройств

    Выше уже упоминалось, что точка доступа анонсирует поддерживаемые алгоритмы шифрования. Эту информацию можно узнать из пакетов-маяков (beacon), которые периодически рассылает точка доступа. Также точка доступа добавляет IE в ответ на запрос зондирования (probe request/response). Клиент выбирает желаемые алгоритмы и оповещает о своем выборе точку в сообщении запроса на ассоциацию (association request). Перехват пакетов-маяков можно произвести с помощью сниффера wireshark ( http://www.wireshark.org ).

    Роутер Asus WL-500g Deluxe. WPA/WPA2

    Проанализируем содержимое маяков в зависимости от выставленных опций на примере роутера Asus WL-500g Deluxe с кастомизированной прошивкой от Олега ( http://oleg.wl500g.info ).

    Настройка точки Рассылаемые IE Используемые алгоритмы Алгоритм для броадкастов
    WPA-Personal/TKIPWPA IETKIPTKIP
    WPA-Personal/AESWPA IEAESAES
    WPA-Personal/TKIP+AESWPA IETKIP,AESTKIP
    WPA2-Personal/TKIPRSN IETKIPTKIP
    WPA2-Personal/AESRSN IEAESAES
    WPA2-Personal/TKIP+AESRSN IETKIP,AESTKIP
    WPA-Auto-Personal/TKIPWPA IETKIPTKIP
    WPA-Auto-Personal/AESRSN IEAESAES
    WPA-Auto-Personal/TKIP+AESWPA IE, RSN IETKIP,AESTKIP

    Самым общим явился режим WPA-Auto-Personal, который предлагал в маяке оба IE, позволяя одновременно использовать и WPA и WPA2 клиентов. Если нет клиентов, у которых от такого богатства выбора сносит крышу, то этот режим можно рекомендовать для сетки с зоопарком экзотических беспроводных устройств.

    Изучение фреймов beacon от роутера Asus WL-330gE с фирменной прошивкой показал аналогичные результаты, правда возможных комбинаций аутентификации и шифрования было меньше.

    IP-камера Trendnet IP-TV312W

    Теперь проделаем другой опыт: посмотрим с какими настройками точки доступа будет работать IP-камера от Trendnet. У неё в настройках допустимы четыре варианта: Open system/plaintext, Shared key/WEP, WPA-PSK/ с шифрацией TKIP и WPA2-PSK с шифрацией AES. Проигнорируем отсутствие шифрации и WEP и посмотрим на работу в режимах WPA(2). То, что веб-интерфейс не позволяет ввести комбинации WPA-PSK/AES и WPA2-PSK/TKIP Наводит на мысль о том, что сочетание аутентификации и алгоритма шифрования жестко связаны.

    Настройка точкиКамера в режиме WPA-PSK/TKIPКамера в режиме WPA2-PSK/AES
    WPA-Personal/TKIP + -
    WPA-Personal/AES - -
    WPA-Personal/TKIP+AES + -
    WPA2-Personal/TKIP - -
    WPA2-Personal/AES - +
    WPA2-Personal/TKIP+AES - +
    WPA-Auto-Personal/TKIP + -
    WPA-Auto-Personal/AES - +
    WPA-Auto-Personal/TKIP+AES + +

    Приведенная таблица подтверждает тот факт, что камера жестко привязывает алгоритм шифрования к спецификации WPA и WPA2.

    Замечание: ко времени написания вышла новая прошивка для камеры, которая стала корректно обрабатывать комбинации типа WPA2+TKIP.

    Роутер Asus WL-500g Deluxe. Добавляем поддержку WEP

    Теперь усложним конфигурацию и добавим ко включённому WPA/WPA2 поддержку WEP. WL-500g Deluxe позволяет поддерживать одновременно и WEP и WPA. Это осуществляется активацией одного из WPA-режимов одновременно с включением опции "WEP Encryption". Перебор опций показывает, что независимо от режима WPA/WPA2/WPA-Auto происходит следующее:

    Самым неприятным в совмещении WEP и WPA является необходимость использования WPA для групповых сообщений. Это может не поддерживаться некоторыми беспроводными клиентами.

    КПК Mitac Mio P550

    Устройство на Windows Mobile 5 AKU 2.2 - это типичный "дурацкий" клиент. Он поддерживает только WPA, это можно понять из отсутствия CCMP в списке выбора метода шифрования. Все было бы хорошо, подумаешь, WPA устройство, у нашей точки доступа есть волшебная конфигурация WPA-Auto-Personal/TKIP+AES в которой поддерживаются все возможные варианты, но в действительности КПК не может присоединиться к точке. Изучение пакетов показывает, что Wi-Fi стек в КПК тупо (слово "тупо" здесь не дань моде, а редкий случай правильного словарного использования) копирует WPA IE из ответа на зонд в запрос на ассоциацию. И ему абсолютно безразлично содержимое этого IE. Даже если в списке сеансовых протоколов указан и TKIP и CCMP. Даже если вдогонку к этому в качестве группового протокола указан WEP-64. Забавно, не правда ли? А теперь спросим у господ разработчиков Wi-Fi стека Windows Mobile 5, как они ухитрились написать такой чудо-код? Понятно, что в AKU 3 с поддержкой WPA2 эта ошибка исчезла, но что делать пользователям неплохого вообщем-то устройства? И как пользователи смогут без сниффера разобраться в проблеме? Выход вообщем-то простой, урезать точку доступа до WPA/TKIP. Наверное эта комбинация наиболее совместимая из всех возможных, так что её использование несущественно снижая защиту позволяет использовать широкий круг устройств.


    Palm Notes | Recent Changes | Title Index | User Preferences | Random Page | Help
    Edit this page | View other revisions
    Print this page | View XML
    Find page by browsing, searching or an index
    Edited August 4, 2008 (diff)
    Valid XHTML 1.0!Valid CSS!