Wpa pre shared key что это
Private PSK (Pre-Shared Key) – особенности и возможности платформы ExtremeCloud IQ
WPA3 уже принят, и с июля 2020 обязателен для устройств которые проходят сертификацию в WiFi-Alliance, WPA2 никто не отменял и не собирается. При этом и WPA2, и WPA3 предусматривают работу в режимах PSK и Enterprise, но мы предлагаем рассмотреть в нашей статье технологию Private PSK, а также преимущества которых можно добиться с её помощью.
Проблемы WPA2-Personal давно известны и, в основном, уже были исправлены (Priority Management Frames, исправления для уязвимости KRACK и др.). Основной остающийся недостаток WPA2 c использованием PSK в том, что слабые пароли достаточно легко взламываются атакой по словарю. В случае же компрометации и смены пароля на новый, необходимо будет переконфигурировать все подключенные устройства (и точки доступа), что может оказаться весьма трудоёмким процессом (для решения проблемы «слабого пароля» WiFi-Alliance рекомендует использовать пароли длиной не менее 20 символов).
Еще одним вопросом, который порой невозможно решить с помощью WPA2-Personal это назначение различных профайлов (vlan, QoS, firewall…) на группы устройств, подключенных к одному и тому же SSID.
С помощью WPA2-Enterprise возможно решить все описанные выше проблемы, но платой за это будут:
При этом еще необходимо учитывать, что более 95% существующих клиентов в настоящее время не поддерживают WPA3 и SAE, а WPA2 успешно продолжает работать на миллиардах уже выпущенных устройств.
Для того чтобы получить решение описанных выше существующих, или потенциально возможных, проблем компанией Extreme Networks была разработана технология Private Pre-Shared Key (PPSK). PPSK совместима с любым клиентом Wi-Fi, который поддерживает WPA2-PSK, и позволяет получить уровень безопасности сравнимый с уровнем который достигается при использовании WPA2-Enterprise, без необходимости построения инфраструктуры 802.1X/EAP. Private PSK — это по сути WPA2-PSK, но каждый пользователь (или группа пользователей) может иметь свой собственный динамически генерируемый пароль. Управление PPSK ничем не отличается от управления PSK, поскольку весь процесс автоматизирован. Базу данных с ключами можно хранить локально на точках доступа или в облаке.
Пароли могут генерироваться автоматически, есть возможность гибко задавать им длину/стойкость, период или срок действия, способ доставки до пользователя (на почту или SMS):
Можно также настроить максимальное количество клиентов, которые смогут подключится с помощью одного PPSK или даже настроить “MAC-binding” подключаемым устройствам. По команде администратора сети любой ключ может быть легко отозван, и доступ в сеть будет запрещен без необходимости переконфигурирования всех остальных устройств. Если в момент отзыва ключа клиент подключен, точка доступа автоматически его отключит от сети.
Защита беспроводных сетей, WPA: теория и практика (часть первая)
Тема безопасности беспроводных сетей по-прежнему остается актуальной, хотя уже достаточно давно существуют надежные (на сегодняшний момент, конечно же) методы защиты этих сетей. Разумеется, речь идет о технологии WPA (Wi-Fi Protected Access).
Большинство существующего на данный момент Wi-Fi оборудования имеет поддержку данной технологии, но, к сожалению, до сих пор в нашей лаборатории попадаются экземпляры, не знающие о WPA. Это более чем странно — заканчивается 2005 год, а некоторые производители до сих пор считают, что технология WEP спасет пользователей беспроводной сети от утечки информации. WEP уже давно устарела. На смену этой технологии пришел WPA, а также на горизонте виднеется новый стандарт 802.11i (некоторые производители преподносят его, как WPA2).
За шифрование данных в 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-TTLS и EAP-PEAP. В отличие от предыдущих, эти два метода перед непосредственной аутентификацией пользователя сначала образуют TLS-туннель между клиентом и сервером аутентификации. А уже внутри этого туннеля осуществляется сама аутентификация, с использованием как стандартного EAP (MD5, TLS), или старых не-EAP методов (PAP, CHAP, MS-CHAP, MS-CHAP v2), последние работают только с EAP-TTLS (PEAP используется только совместно с EAP методами). Предварительное туннелирование повышает безопасность аутентификации, защищая от атак типа «man-in-middle», «session hihacking» или атаки по словарю.
На рис.1 показана структура EAP кадра. Протокол PPP засветился там потому, что изначально EAP планировался к использованию поверх PPP туннелей. Но так как использование этого протокола только для аутентификации по локальной сети — излишняя избыточность, EAP-сообщения упаковываются в «EAP over LAN» (EAPOL) пакеты, которые и используются для обмена информацией между клиентом и аутентификатором (точкой доступа).
Описанный процесс проиллюстрирован на рис.3 (там показан один из простейших методов EAP):
Как видно из рисунка, для коммуникации между клиентом (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.
Во второй части статьи будет рассмотрена настройка Windows-клиентов (Windows XP SP2), RADIUS-сервера (FreeRadius), и PKI на основе OpenSSL. Последние два компонента работают в операционной системе Gentoo Linux.
Строим сеть своими руками, часть третья: настройка 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.1x обеспечивает аутентификацию удаленных клиентов и выдачу им временных ключей для шифрования данных. Ключи (в зашифрованном виде) высылаются клиенту на незначительный промежуток времени, после которого генерируется и высылается новый ключ. Алгоритм шифрования не изменился — тот же RC4, но частая ротация ключей очень сильно затрудняет вероятность взлома. Поддержка этого протокола есть только в операционных системах (от Microsoft) Windows XP. Его большой минус (для конечного пользователя) в том, что протокол требует наличие RADIUS-сервера, которого в домашней сети, скорее всего, не будет.
Устройства, поддерживающие стандарт 802.11g, поддерживают улучшенный алгоритм шифрования WPA — Wi-Fi Protected Access. По большому счету это временный стандарт, призванный заполнить нишу безопасности до прихода протокола IEEE 802.11i (так называемого WPA2). WPA включает в себя 802.1X, EAP, TKIP и MIC.
Большое число достоинств протокола TKIP не покрывает его основной недостаток— используемый для шифрования алгоритм RC4. Хотя на данный момент случаев взлома WPA на основе TKIP зарегистрировано не было, но кто знает, что преподнесет нам будущее? Поэтому сейчас все популярнее становится использование стандарта AES (Advanced Encryption Standard), который приходит на замену TKIP. К слову, в будущем стандарте WPA2 есть обязательное требование к использованию 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.
Типы Open System/Shared Key (Открытая система/Общий ключ) являются подмножествами алгоритма аутентификации, встроенного в WEP. Режим Open System является небезопасным, и его категорически не рекомендуется включать при возможности активации Shared Key. Это связано с тем, что в режиме Open System для входа в беспроводную сеть (ассоциации с другой станцией или точкой доступа) достаточно знать лишь SSID сети, а в режиме Shared Key — нужно еще установить общий для всей сети WEP-ключ шифрования.
Далее выбираем шифрование (Encryption) — WEP, размер ключа — 128 бит (64-битный ключ лучше не использовать вовсе). Выбираем формат ключа, HEX (ввод ключа в шестнадцатеричном виде) или генерация ключа из ASCII последовательности (не забываем, что алгоритмы генерации могут различаться у производителей). Так же учитываем, что WEP-ключ (или ключи) должны быть одинаковы на всех устройствах в одной сети. Всего можно ввести до четырех ключей. Последним пунктом выбираем, какой из ключей будет использоваться (Default Key). В данном случае есть еще один способ — запустить использовать все четыре ключа последовательно, что повышает безопасность. (совместимость только у устройств одного и того же производителя).
При поддержке на всех устройствах (обычно это 802.11g устройства) настоятельно рекомендуется использовать этот режим, вместо устаревшего и уязвимого WEP.
В качестве алгоритмов шифрования можно выбрать TKIP или AES. Последний реализован не на всех беспроводных клиентах, но если он поддерживается всеми станциями, то лучше остановиться именно на нем. Wireless Network Key — это тот самый общий Pre Shared Key. Желательно сделать его длиннее и не использовать слово из словаря или набор слов. В идеале это должна быть какая-нибудь абракадабра.
После нажатия на кнопку Apply (или Ok), заданные настройки будут применены к беспроводной карте. На этом процедуру настройки шифрования на ней можно считать законченной.
Интерфейс управления в реализации от Ralink — Asus WL-130g
Настройка не очень отличается от уже рассмотренного интерфейса от ASUS WLAN CC. В окне открывшегося интерфейса идем на закладку Profile, выбираем нужный профиль и жмем Edit.
Настройка шифрования осуществляется в закладке Authentication and Security. В случае активации WEP шифрования, выбираем Shared в Authentication type (т.е. общий ключ).
Выбираем тип шифрования — WEP и вводим до четырех ASCII или шестнадцатеричных ключей. Длину ключа в интерфейсе задать нельзя, сразу используется 128-битный ключ.
Если в 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 шифрование.
В настройках беспроводного адаптера переходим на закладку Беспроводные сети. Далее выбираем нашу беспроводную сеть и жмем кнопку Настроить.
В появившемся окне активируем Шифрование данных. Также активируем Проверку подлинности сети, отключение этого пункта приведет к включению аутентификации типа «Open System», т.е. любой клиент сможет подключиться к сети, зная ее SSID.
Вводим ключ сети (и повторно его же в следующем поле). Проверяем его индекс (порядковый номер), обычно он равен единице (т.е. первый ключ). Номер ключа должен быть одинаков на всех устройствах.
Ключ (сетевой пароль), как нам подсказывает операционная система, должен содержать 5 или 13 символов или быть полностью введен в шестнадцатеричном виде. Еще раз обращаю внимание, что алгоритм перевода ключа из символьного вида в шестнадцатеричной может отличаться у Microsoft и производителей собственных интерфейсов к управлению беспроводными адаптерами, поэтому надежнее будет ввести ключ в шестнадцатеричном виде (т.е. цифрами от 0 до 9 и буквами от A до F).
В интерфейсе есть еще флаг, отвечающий за Автоматическое предоставление ключа, но я точно не знаю, где это будет работать. В разделе помощи сказано, что ключ может быть зашит в беспроводной адаптер производителем оного. В общем, лучше не активировать эту функцию.
На этом настройку шифрования для 802.11b адаптера можно считать законченной.
Кстати, о встроенной в ОС помощи. Большинство из сказанного здесь и даже более того можно найти в Центре справки и поддержки, которая обладает хорошей системой помощи, достаточно лишь ввести ключевые слова и нажать на зеленую стрелку поиска.
Рассмотрев настройку шифрования на примере 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 шифрование и выбираем способ ввода ключа. Генерацию можно предоставить операционной системе или ввести ключи вручную. Если выбрано первое, то далее выскочит окошко с предложением ввести нужный ключ (или ключи).
Если выбран режим сохранения на Flash, то в следующем окне предложат вставить Flash-носитель и выбрать его в меню.
Если было выбрано ручное сохранение параметров, то после нажатия кнопки Напечатать…
… будет выведен текстовый файл с параметрами настроенной сети. Обращаю внимание, что генерируется случайный и длинные (т.е. хороший) ключи, но в качестве алгоритма шифрования используется TKIP. Алгоритм AES можно позже включить вручную в настройках, как было описано выше.
Итого
Мы закончили настройку шифрования на всех адаптерах беспроводной сети. Теперь можно проверить видят ли компьютеры друг друга. Как это сделать, рассказывалось во второй части цикла «сети своими руками» (действуем аналогично способу, когда шифрование в сети не было включено).
Следующая статья цикла будет посвящена настройкам беспроводной сети с использованием точек доступа, а так же вывод этой сети в Интернет через MS Windows, установленной на одной из машин сети.