Строим сеть своими руками, часть третья: настройка WEP/WPA шифрования в одноранговой беспроводной сети


В предыдущей статье шифрованию в беспроводных сетях было посвящено всего несколько слов — было обещано осветить этот вопрос в отдельной статье. Сегодня мы выполняем свое обязательство :)

Для начала — немного теории.

Шифрованию данных в беспроводных сетях уделяется так много внимания из-за самого характера подобных сетей. Данные передаются беспроводным способом, используя радиоволны, причем в общем случае используются всенаправленные антенны. Таким образом, данные слышат все — не только тот, кому они предназначены, но и сосед, живущий за стенкой или «интересующийся», остановившийся с ноутбуком под окном. Конечно, расстояния, на которых работают беспроводные сети (без усилителей или направленных антенн), невелики — около 100 метров в идеальных условиях. Стены, деревья и другие препятствия сильно гасят сигнал, но это все равно не решает проблему.

Изначально для защиты использовался лишь SSID (имя сети). Но, вообще говоря, именно защитой такой способ можно называть с большой натяжкой — SSID передается в открытом виде и никто не мешает злоумышленнику его подслушать, а потом подставить в своих настройках нужный. Не говоря о том, что (это касается точек доступа) может быть включен широковещательный режим для SSID, т.е. он будет принудительно рассылаться в эфир для всех слушающих.

Поэтому возникла потребность именно в шифровании данных. Первым таким стандартом стал WEP — Wired Equivalent Privacy. Шифрование осуществляется с помощью 40 или 104-битного ключа (поточное шифрование с использованием алгоритма RC4 на статическом ключе). А сам ключ представляет собой набор ASCII-символов длиной 5 (для 40-битного) или 13 (для 104-битного ключа) символов. Набор этих символов переводится в последовательность шестнадцатеричных цифр, которые и являются ключом. Драйвера многих производителей позволяют вводить вместо набора ASCII-символов напрямую шестнадцатеричные значения (той же длины). Обращаю внимание, что алгоритмы перевода из ASCII-последовательности символов в шестнадцатеричные значения ключа могут различаться у разных производителей. Поэтому, если в сети используется разнородное беспроводное оборудование и никак не удается настройка WEP шифрования с использованием ключа-ASCII-фразы, — попробуйте ввести вместо нее ключ в шестнадцатеричном представлении.

А как же заявления производителей о поддержке 64 и 128-битного шифрования, спросите вы? Все правильно, тут свою роль играет маркетинг — 64 больше 40, а 128 — 104. Реально шифрование данных происходит с использованием ключа длиной 40 или 104. Но кроме ASCII-фразы (статической составляющей ключа) есть еще такое понятие, как Initialization Vector — IV — вектор инициализации. Он служит для рандомизации оставшейся части ключа. Вектор выбирается случайным образом и динамически меняется во время работы. В принципе, это разумное решение, так как позволяет ввести случайную составляющую в ключ. Длина вектора равна 24 битам, поэтому общая длина ключа в результате получается равной 64 (40+24) или 128 (104+24) бит.

Все бы хорошо, но используемый алгоритм шифрования (RC4) в настоящее время не является особенно стойким — при большом желании, за относительно небольшое время можно подобрать ключ перебором. Но все же главная уязвимость WEP связана как раз с вектором инициализации. Длина IV составляет всего 24 бита. Это дает нам примерно 16 миллионов комбинаций — 16 миллионов различных векторов. Хотя цифра «16 миллионов» звучит довольно внушительно, но в мире все относительно. В реальной работе все возможные варианты ключей будут использованы за промежуток от десяти минут до нескольких часов (для 40-битного ключа). После этого вектора начнут повторяться. Злоумышленнику стоит лишь набрать достаточное количество пакетов, просто прослушав трафик беспроводной сети, и найти эти повторы. После этого подбор статической составляющей ключа (ASCII-фразы) не занимает много времени.

Но это еще не все. Существуют так называемые «нестойкие» вектора инициализации. Использование подобных векторов в ключе дает возможность злоумышленнику практически сразу приступить к подбору статической части ключа, а не ждать несколько часов, пассивно накапливая трафик сети. Многие производители встраивают в софт (или аппаратную часть беспроводных устройств) проверку на подобные вектора, и, если подобные попадаются, они молча отбрасываются, т.е. не участвуют в процессе шифрования. К сожалению, далеко не все устройства обладают подобной функцией.

В настоящее время некоторые производители беспроводного оборудования предлагают «расширенные варианты» алгоритма WEP — в них используются ключи длиной более 128 (точнее 104) бит. Но в этих алгоритмах увеличивается лишь статическая составляющая ключа. Длина инициализационного вектора остается той же самой, со всеми вытекающими отсюда последствиями (другими словами, мы лишь увеличиваем время на подбор статического ключа). Само собой разумеется, что алгоритмы WEP с увеличенной длиной ключа у разных производителей могут быть не совместимы.

Хорошо напугал? ;-)

К сожалению, при использовании протокола 802.11b ничего кроме WEP выбрать не удастся. Точнее, некоторые (меньшинство) производители поставляют различные реализации WPA шифрования (софтовыми методами), которое гораздо более устойчиво, чем WEP. Но эти «заплатки» бывают несовместимы даже в пределах оборудования одного производителя. В общем, при использовании оборудования стандарта 802.11b, есть всего три способа зашифровать свой трафик:

  • 1. Использование WEP с максимальной длиной ключа (128 бит или выше), если оборудование поддерживает циклическую смену ключей из списка (в списке — до четырех ключей), желательно эту смену активировать.
  • 2. Использование стандарта 802.1x
  • 3. Использование стороннего программного обеспечения для организации VPN туннелей (шифрованных потоков данных) по беспроводной сети. Для этого на одной из машин ставится VPN сервер (обычно с поддержкой pptp), на других — настраиваются VPN клиенты. Эта тема требует отдельного рассмотрения и выходит за рамки этой статьи.

802.1x использует связку из некоторых протоколов для своей работы:

  • EAP (Extensible Authentication Protocol) — протокол расширенной аутентификации пользователей или удаленных устройств;
  • TLS (Transport Layer Security) — протокол защиты транспортного уровня, он обеспечивает целостность передачи данных между сервером и клиентом, а так же их взаимную аутентификацию;
  • RADIUS (Remote Authentication Dial-In User Server) — сервер аутентификации (проверки подлинности) удаленных клиентов. Он и обеспечивает аутентификацию пользователей.

Протокол 802.1x обеспечивает аутентификацию удаленных клиентов и выдачу им временных ключей для шифрования данных. Ключи (в зашифрованном виде) высылаются клиенту на незначительный промежуток времени, после которого генерируется и высылается новый ключ. Алгоритм шифрования не изменился — тот же RC4, но частая ротация ключей очень сильно затрудняет вероятность взлома. Поддержка этого протокола есть только в операционных системах (от Microsoft) Windows XP. Его большой минус (для конечного пользователя) в том, что протокол требует наличие RADIUS-сервера, которого в домашней сети, скорее всего, не будет.

Устройства, поддерживающие стандарт 802.11g, поддерживают улучшенный алгоритм шифрования WPA — Wi-Fi Protected Access. По большому счету это временный стандарт, призванный заполнить нишу безопасности до прихода протокола IEEE 802.11i (так называемого WPA2). WPA включает в себя 802.1X, EAP, TKIP и MIC.

Из нерассмотренных протоколов тут фигурируют TKIP и MIC:

  • TKIP (Temporal Key Integrity Protocol) — реализация динамических ключей шифрования, плюс к этому, каждое устройство в сети так же получает свой Master-ключ (который тоже время от времени меняется). Ключи шифрования имеют длину 128 бит и генерируются по сложному алгоритму, а общее кол-во возможных вариантов ключей достигает сотни миллиардов, а меняются они очень часто. Тем не менее, используемый алгоритм шифрования — по--прежнему RC4.
  • MIC (Message Integrity Check) — протокол проверки целостности пакетов. Протокол позволяет отбрасывать пакеты, которые были «вставлены» в канал третьим лицом, т.е. ушли не от валидного отправителя.

Большое число достоинств протокола TKIP не покрывает его основной недостаток— используемый для шифрования алгоритм RC4. Хотя на данный момент случаев взлома WPA на основе TKIP зарегистрировано не было, но кто знает, что преподнесет нам будущее? Поэтому сейчас все популярнее становится использование стандарта AES (Advanced Encryption Standard), который приходит на замену TKIP. К слову, в будущем стандарте WPA2 есть обязательное требование к использованию AES для шифрования.

Какие выводы можно сделать?

  • при наличии в сети только 802.11g устройств лучше пользоваться шифрованием на основе WPA;
  • по возможности (при поддержке всеми устройствами) включать AES шифрование;

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

Cardbus адаптер Asus WL-100g установлен на ноутбуке. Интерфейс управления картой — утилита от ASUS (ASUS WLAN Control Center).

Внешний адаптер с USB-интерфейсом ASUS WL-140. Управление адаптером — через встроенный в Windows XP интерфейс (Zero Wireless Configuration). Эта карта стандарта 802.11b, поэтому поддержки WPA не имеет.

Плата с PCI интерфейсом Asus WL-130g. Интерфейс управления в реализации от Ralink (производитель чипсета данной PCI карты).

ASUS WLAN Control Center — ASUS WL-100g

Начнем с настройки шифрования в интерфейсе управления ASUS WLAN Control Center. Все настройки сосредоточены в разделе Encryption. Сначала выберем тип аутентификации (Network Authentication), нам доступны три типа: Open System, Shared Key и WPA.

1. WEP-шифрование.

Типы Open System/Shared Key (Открытая система/Общий ключ) являются подмножествами алгоритма аутентификации, встроенного в WEP. Режим Open System является небезопасным, и его категорически не рекомендуется включать при возможности активации Shared Key. Это связано с тем, что в режиме Open System для входа в беспроводную сеть (ассоциации с другой станцией или точкой доступа) достаточно знать лишь SSID сети, а в режиме Shared Key — нужно еще установить общий для всей сети WEP-ключ шифрования.

Далее выбираем шифрование (Encryption) — WEP, размер ключа — 128 бит (64-битный ключ лучше не использовать вовсе). Выбираем формат ключа, HEX (ввод ключа в шестнадцатеричном виде) или генерация ключа из ASCII последовательности (не забываем, что алгоритмы генерации могут различаться у производителей). Так же учитываем, что WEP-ключ (или ключи) должны быть одинаковы на всех устройствах в одной сети. Всего можно ввести до четырех ключей. Последним пунктом выбираем, какой из ключей будет использоваться (Default Key). В данном случае есть еще один способ — запустить использовать все четыре ключа последовательно, что повышает безопасность. (совместимость только у устройств одного и того же производителя).

2. WPA-шифрование.

При поддержке на всех устройствах (обычно это 802.11g устройства) настоятельно рекомендуется использовать этот режим, вместо устаревшего и уязвимого WEP.

Обычно беспроводные устройства поддерживают два режима WPA:

  • Стандартный WPA. Нам он не подходит, так как требует наличие RADIUS сервера в сети (к тому же работает лишь в связке с точкой доступа).
  • WPA-PSK — WPA с поддержкой Pre Shared Keys (заранее заданных ключей). А это то, что нужно — ключ (одинаковый для всех устройств) вручную задается на всех беспроводных адаптерах и первичная аутентификация станций осуществляется через него.

В качестве алгоритмов шифрования можно выбрать TKIP или AES. Последний реализован не на всех беспроводных клиентах, но если он поддерживается всеми станциями, то лучше остановиться именно на нем. Wireless Network Key — это тот самый общий Pre Shared Key. Желательно сделать его длиннее и не использовать слово из словаря или набор слов. В идеале это должна быть какая-нибудь абракадабра.

После нажатия на кнопку Apply (или Ok), заданные настройки будут применены к беспроводной карте. На этом процедуру настройки шифрования на ней можно считать законченной.

Интерфейс управления в реализации от Ralink — Asus WL-130g

Настройка не очень отличается от уже рассмотренного интерфейса от ASUS WLAN CC. В окне открывшегося интерфейса идем на закладку Profile, выбираем нужный профиль и жмем Edit.

1. WEP шифрование.

Настройка шифрования осуществляется в закладке Authentication and Security. В случае активации WEP шифрования, выбираем Shared в Authentication type (т.е. общий ключ).

Выбираем тип шифрования — WEP и вводим до четырех ASCII или шестнадцатеричных ключей. Длину ключа в интерфейсе задать нельзя, сразу используется 128-битный ключ.

2. WPA шифрование.

Если в Authentication type выбрать WPA-None, то мы активируем WPA-шифрование с общим ключом. Выбираем тип шифрования (Encryption)   TKIP или AES и вводим общий ключ (WPA Pre-Shared Key).

На этом и заканчивается настройка шифрования в данном интерфейсе. Для сохранения настроек в профиле достаточно нажать кнопку Ok.

Zero Wireless Configuration (встроенный в Windows интерфейс) — ASUS WL-140

ASUS WL-140 является картой стандарта 802.11b, поэтому поддерживает только WEP шифрование.

1. WEP шифрование.

В настройках беспроводного адаптера переходим на закладку Беспроводные сети. Далее выбираем нашу беспроводную сеть и жмем кнопку Настроить.

В появившемся окне активируем Шифрование данных. Также активируем Проверку подлинности сети, отключение этого пункта приведет к включению аутентификации типа «Open System», т.е. любой клиент сможет подключиться к сети, зная ее SSID.

Вводим ключ сети (и повторно его же в следующем поле). Проверяем его индекс (порядковый номер), обычно он равен единице (т.е. первый ключ). Номер ключа должен быть одинаков на всех устройствах.

Ключ (сетевой пароль), как нам подсказывает операционная система, должен содержать 5 или 13 символов или быть полностью введен в шестнадцатеричном виде. Еще раз обращаю внимание, что алгоритм перевода ключа из символьного вида в шестнадцатеричной может отличаться у Microsoft и производителей собственных интерфейсов к управлению беспроводными адаптерами, поэтому надежнее будет ввести ключ в шестнадцатеричном виде (т.е. цифрами от 0 до 9 и буквами от A до F).

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

На этом настройку шифрования для 802.11b адаптера можно считать законченной.

Кстати, о встроенной в ОС помощи. Большинство из сказанного здесь и даже более того можно найти в Центре справки и поддержки, которая обладает хорошей системой помощи, достаточно лишь ввести ключевые слова и нажать на зеленую стрелку поиска.

2. WPA шифрование.

Рассмотрев настройку шифрования на примере 802.11b адаптера ASUS WL-140, мы не коснулись настройки WPA в Windows, так как карта не поддерживает этот режим. Рассмотрим этот аспект на примере другого адаптера — ASUS WL-100g. Возможность настройки WPA в Windows XP появляется с установкой Service Pack версии 2 (или же соответствующими обновлениями, лежащими на сайте Microsoft).

Service Pack 2 сильно расширяет функции и удобство настроек беспроводной сети. Хотя основные элементы меню не изменились, но к ним добавились новые.

Настройка шифрования производится стандартным образом: сначала выбираем значок беспроводного адаптера, далее жмем кнопку Свойства.

Переходим на закладку Беспроводные сети и выбираем, какую сеть будем настраивать (обычно она одна). Жмем Свойства.

В появившемся окне выбираем WPA-None, т.е. WPA с заранее заданными ключами (если выбрать Совместимая, то мы включим режим настройки WEP шифрования, который уже был описан выше).

Выбираем AES или TKIP (если все устройства в сети поддерживают AES, то лучше выбрать его) и вводим два раза (второй в поле подтверждения) WPA-ключ. Желательно какой-нибудь длинный и трудноподбираемый.

После нажатия на Ok настройку WPA шифрования также можно считать законченной.

В заключении пару слов о появившемся с Service Pack 2 мастере настройки беспроводной сети.

В свойствах сетевого адаптера выбираем кнопку Беспроводные сети.

В появившемся окне — жмем на Установить беспроводную сеть.

Тут нам рассказывают, куда мы попали. Жмем Далее.

Выбираем Установить беспроводную сеть. (Если выбрать Добавить, то можно создать профили для других компьютеров в той же беспроводной сети).

В появившемся окне устанавливаем SSID сети, активируем, если возможно, WPA шифрование и выбираем способ ввода ключа. Генерацию можно предоставить операционной системе или ввести ключи вручную. Если выбрано первое, то далее выскочит окошко с предложением ввести нужный ключ (или ключи).

Далее предлагается два способа сохранения установок беспроводной сети:

  • В текстовом файле, для последующего ручного ввода на остальных машинах.
  • Сохранение профиля на USB-флешке, для автоматического ввода на других машинах с Windows XP с интегрированным Service Pack версии 2.

Если выбран режим сохранения на Flash, то в следующем окне предложат вставить Flash-носитель и выбрать его в меню.

Если было выбрано ручное сохранение параметров, то после нажатия кнопки Напечатать

… будет выведен текстовый файл с параметрами настроенной сети. Обращаю внимание, что генерируется случайный и длинные (т.е. хороший) ключи, но в качестве алгоритма шифрования используется TKIP. Алгоритм AES можно позже включить вручную в настройках, как было описано выше.

Итого

Мы закончили настройку шифрования на всех адаптерах беспроводной сети. Теперь можно проверить видят ли компьютеры друг друга. Как это сделать, рассказывалось во второй части цикла «сети своими руками» (действуем аналогично способу, когда шифрование в сети не было включено).

Если нас постигла неприятность, и не все компьютеры видят друг друга, то проверяем общие настройки у адаптеров:

  • Алгоритм аутентификации должен быть одинаков у всех (Shared Keys или WPA);
  • Алгоритм шифрования должен быть одинаков у всех (WEP-128bit, WPA-TKIP или WPA-AES);
  • Длина ключа (в случае WEP-шифрования) должна быть одинаковой у всех станций в сети (обычная длина — 128bit);
  • Сам ключ должен быть одинаковым на всех станциях сети. Если используется WEP, то возможная причина — использование ASCII-ключа и в сети используется разнородное оборудование (от разных производителей). Попробуйте ввести ключ в шестнадцатеричном представлении.
  • В случае WEP шифрования, номер ключа (порядковый номер, индекс) должен быть одинаков на всех станциях, (т.е., например, на всех машинах используется третий ключ).

Следующая статья цикла будет посвящена настройкам беспроводной сети с использованием точек доступа, а так же вывод этой сети в Интернет через MS Windows, установленной на одной из машин сети.

 

Навигация

 




Дополнительно

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.