Стандарт IEEE 802.11
О чём стандарт?
Стандарт Wi-Fi был разработан в 1998 году на основе IEEE 802.11 (англ.: Institute of Electrical and Electronic Engineers) и довольно скоро получил повсеместное применение в организации внутренних широкополосных сетей, образующих целые инфраструктуры предоставления беспроводного доступа в Интернет. На сегодняшний день сети Wi-Fi могут покрывать даже крупные районы городов.
Однако у такого способа передачи информации есть существенный минус, касающийся среды передачи информации. В отличие от проводных сетей, в беспроводной сети получить доступ к передаваемым данным и оказать влияние на каналы передачи можно всего лишь с помощью специального устройства, помещённого в зону покрытия сети.
Типы сетей
Есть два главных типа создания беспроводной сети:
Ad-Hoc децентрализованная беспроводная сеть, у которой отсутствует постоянная структура.
Hotspot централизованная беспроводная сеть, организованная общей точкой доступа.
Стоит заметить, что для построения Ad-Hoc-сетей используется не только технология Wi-Fi, но и технологии Bluetooth и ZigBee, которые активно применяются в Интернете вещей (англ.: Internet of Things, IoT). А IoT, в свою очередь, является немаловажным звеном в безопасности беспроводных сетей, о чем в рамках данной статьи ещё поговорим.
Говоря же о стандарте Wi-Fi с точки зрения информационной безопасности, нас будет интересовать устройство беспроводной сети Hotspot. Ведь если хакер взломает точку доступа, то он сможет получить доступ к информации не только внутренней беспроводной сети, но и внешних сетей, с которыми взаимодействует точка доступа.
Но не всё так плохо, как могло бы показаться. В Wi-Fi имеются аутентификация (процедура проверки подлинности) и шифрование, о котором далее и пойдёт речь.
WEP
Первым стандартом шифрования был WEP (англ.: Wired Equivalent Privacy). Это алгоритм, в основе которого лежит поточный шифр RC4 шифр, каждый элемент открытого текста которого переводится в символ шифрованного текста под действием ключа и положения открытого текста в потоке. Данный алгоритм был выбран из-за своей высокой скорости работы. Однако он оказался сильно уязвим к методам силового перебора и мог быть взломан в течение нескольких минут.
Формат кадра WEP
-
Незашифрованная часть:
Вектор инициализации (24 бита)
Пустое место (6 бит)
Идентификатор ключа (2 бита)
-
Зашифрованная часть:
Данные
Контрольная сумма (32 бита)
Длина ключей бывает 40 бит для WEP-40 и 104 бита для WEP-104. Сам ключ может быть назначен, а может идти по умолчанию, в случае, если стороны не станут назначать ключ. Для каждого кадра данных создаётся seed, состоящий из ключа с присоединённым вектором инициализации.
Инкапсуляция данных
Вычисление контрольной суммы от поля "данных" по алгоритму CRC32 и добавление её в конец кадра
Шифровка данных с контрольной суммы алгоритмом RC4
Операция XOR над исходным текстом и шифротекстом.
Добавления вектора инициализации и идентификатора в начало кадра
Вычисление контрольной суммы от поля данных по алгоритму CRC32 и добавление её в конец кадра.
Шифровка данных с контрольной суммы алгоритмом RC4,
Операция XOR над исходным текстом и шифротекстом.
Добавления вектора инициализации и идентификатора в начало кадра
Декапсуляция данных
Добавление вектора инициализации к используемому ключу.
Расшифровка с ключом, который равен сиду.
Операция XOR над полученным текстом и шифротекстом.
Проверка контрольной суммы.
Возможность коллизий векторов инициализации стала фатальным недостатком алгоритма, позволившим методом перехвата и анализа быстро взламывать беспроводные сети, защищённые шифрованием WEP.
WPA
В 2004 году была выпущена поправка к стандарту с обозначением IEEE 802.11i, которая включила в себя новые алгоритмы информационной безопасности WPA, WPA2. А уже в 2018 данное семейство алгоритмов пополнилось новым WPA3.
Отличительные особенности WPA:
поддержка стандартов 802.1X*
усовершенствованный потоковый шифр RC4
обязательная аутентификация с использованием EAPцентрализованное управление безопасностью
*802.1X
IEEE 802.1X стандарт IEEE, который описывает инкапсуляцию данных EAP, которые передаются между клиентами, системами проверки подлинности и серверами проверки подлинности. Данным стандартом определяется протокол контроля доступа и аутентификации, ограничивающий права неавторизированных устройств.
EAP
Расширяемый Протокол Аутентификации (англ.: Extensible Authentication Protocol, EAP) программное обеспечение аутентификации, использующееся для определения метода передачи ключей, аутентификации и обработки данных ключей подключаемыми модулями.
Методы EAP: LEAP (Lightweight Extensible Authentication Protocol), EAP-TLS (Transport Layer Security), EAP-TTLS (Tunneled Transport Layer Security), EAP-PSK (Pre- Shared Key).
Схема протокола
Три основных участника процесса:
Аутентификатор
Узел (Клиент)
Аутентификационный сервер
Структура пакета EAP
Процесс аутентификации
EAP-запрос клиента для старта аутентификации. Поле Type несёт в себе информацию об используемом методе EAP.
EAP-ответ аутентификатора клиенту, содержащий поле Type, которое соответствует полю Type из запроса.
Запрос серверу аутентификации от аутентификатора, содержащий метод аутентификации.
Запрос у узла требуемой информации через аутентификатор сервером аутентификации.
Ответ клиента серверу. Пункты 4 и 5 будут повторяться до тех пор, пока аутентификационный сервер не определит: дать доступ, запретить или выдать ошибку.
Аутентификационный сервер отправляет пакет аутентификатору, в котором содержится информация об успехе или же о сбое аутентификации.
Аутентификатор отправляет узлу EAP пакет с кодом, который соответствует ответу аутентификационного сервера (EAP-Failure, EAP- Success)
По своей сути WPA является совокупностью технологий: WPA = 802.1X + EAP + TKIP + MIC.
Разберём оставшиеся две технологии.
TKIP (англ.: Temporal Key Integrity Protocol) увеличивает размер ключа до 128 бит и заменяет один статический WEP ключ на множество ключей. Также в TKIP реализована технология уменьшения предсказуемости ключей, которая заключается в построении иерархии ключей и системы управления. Двусторонний ключ используется для динамической генерации ключей шифрования данных, а они уже используются для шифрования каждого пакета данных. В итоге получаем вместо одного статического ключа WEP 500 миллиардов возможных ключей для шифрования конкретного пакета данных.
MIC (англ.: Message Integrity Check)это механизм проверки целостности сообщений, используемый для предотвращения перехвата пакета с данными в целях изменения содержания и дальнейшей передачи внутри сети. MIC основывается на мощной математической функции, применяемой на сторонах получателя и отправителя с последующим сравнением результатов. В случае, если результаты не совпадают, то пакет объявляется ложным и отбрасывается.
WPA2
WPA2 имеет в себе уже шифрование CCMP (пришло на замену TKIP), и шифрование AES.
Шифрование AES (англ.: Advanced Encryption Standard) на сегодняшний день является одним из самых безопасных алгоритмов шифрования и основывается на весьма производительном и гибком алгоритме двух бельгийских ученых Daemen'а и Rijmen'а, носящем название Rijndael. Сам алгоритм состоит из нескольких подстановок, перестановок и линейных преобразований. Каждая операция выполняется на блоках данных по 16 байтов (отсюда и термин blockcipher; размер блока всегда равен 128 битам) и повторяется по несколько раз, которые называются "раундами". В каждом раунде из ключа шифрования рассчитывается уникальный ключ раунда. Так как структура AES блочная, то изменение отдельного бита в ключе или в блоке открытого текста приводит к абсолютно другому блоку зашифрованного текста.
Ключи AES бывают 128, 192 и 256-битными. А взлом 128-разрядного ключа AES суперкомпьютером потребует более 14 млрд лет!
CCMP (англ.: Counter Mode with Cipher Block Chaining Message Authentication Code Protocol) протокол шифрования, имеющий в своей основе алгоритм AES со 128-битным блоком и 128-битным ключом.
WPA3
Обновлённый же протокол беспроводной безопасности WPA3 дополнился встроенной защитой от brute-force атак (атак методом полного перебора), усовершенствованным стандартом криптографии 192-разрядным пакетом безопасности, более простой настройкой IoT-устройств, индивидуальным шифрованием информации, что усилило конфиденциальность в открытых сетях Wi-Fi.
VPN
Технология VPN (англ.: Virtual Private Network) является ещё одним способом обеспечения информационной безопасности беспроводных сетей. Данная технология обеспечивает электронную подпись и конфиденциальность.
Кроме того, данную технологию можно использовать для усиления уже имеющихся мер защиты.
Например, можно построить безопасный беспроводной доступ с безопасным VPN-соединением, требующим аутентификации и идентификации, для удалённых пользователей корпоративной сети, выделив беспроводных пользователей в отдельный сегмент внутренней сети со своим VPN-шлюзом.
Стандарт IEEE 802.15.1
О чём стандарт?
Технология Bluetooth начала создаваться ещё в 1994 году, а увидела свет только в 2002 году. Сегодня существует уже 10 спецификаций Bluetooth от версии 1.0 до 5.3. Последняя версия вышла совсем недавно 13 июля 2021 года.
Стандарт Bluetooth нашёл широкое применение в IoT-устройствах, которые тесно связаны и с технологией Wi-Fi. А когда есть пересечение технологий с разными уязвимостями в защите, открывающими доступ к целым сетям устройств, то это непременно заинтересует хакеров.
Методы аутентификации устройств
Технология Bluetooth требует спаривания устройств для создания рабочей пары.
Numeric Comparison: идентификация производится методом вывода шестизначных чисел на обоих устройствах, однако это никак не препятствует MITM-атакам (Man in the middle; третье лицо незаметно ретранслирует связь между двумя сторонами).
Just Works: из-за отсутствия экрана у некоторых устройств был придуман аналог Numeric Comparison, шестизначное число которого всегда равно шести нулям.
Passkey Entry: на первом устройстве выводится пароль, а на втором устройстве тот же пароль вводится.
Out Of Band: используются дополнительные протоколы. Например, NFC, использование камеры для сканирования специальных графических паролей.
Так инициализация соединения выглядит для пользователя, но куда интереснее заглянуть в алгоритмы процедуры паринга.
Процесс установления связи
Генерируется ключ
Генерируется ключ связи
Аутентификация
Первые два этапа это сопряжение устройств, целью которого является создание использующегося для последующего "общения" устройств. Формирование секретного ключа происходит по алгоритму Е22, которому в качестве переменных требуются уникальный MAC-адрес устройства (BD_ADDR = 48 бит), PIN-код и его длина, случайная величина (IN_RAND = 128 бит).
Далее создаётся ключ связи для чего происходит обмен между устройствами случайно сгенерированными словами LK_RAND(A) И LK_RAND(B), каждое из которых 128-битное. Затем идёт побитовый XOR с ключом инициализации и очередной обмен значением. После чего вычисляется ключ по алгоритму Е21, которому в качестве переменных необходимы величины BD_ADDR и LK_RAND (128 бит; у каждого устройства хранится и своё значение, и значение от другого устройства).
Остаётся последний этап взаимной аутентификации по схеме запрос-ответ. Первое устройство, ставшее верификатором, создаёт случайную величину AU_RAND(A) и отправляет второму. Второе устройство вычисляет величину SRES по алгоритму Е1, после чего отправляет полученное значение верификатору, после чего происходит сравнение. Если значения SRES совпали, устройства обмениваются ролями и воспроизводят процесс повторно. Алгоритму Е1 в качестве переменных требуются величины AU_RAND, и BD_ADDR.
Все эти 3 алгоритма (Е22, Е21, Е1) работают на основе шифра SAFER+.
SAFER+
Secure And Fast Encryption Routineэто семейство симметричных блочных криптоалгоритмов, основанной на подстановочно-перестановочной сети.
Алгоритм шифрования
Наложение ключабайты входного блока складываются с байтами ключа с использованием сложения по модулю 2 для байтов, номера которых 1, 4, 5, 8, 9, 12, 13 и 16, а для байтов с номерами 2, 3, 6, 7, 10, 11, 14 и 15 сложение по модулю 256.
Нелинейное преобразование: к байтам с номерами 1, 4, 5, 8, 9, 12, 13 и 16 применяется операция причём заменяется нулём. К байтам с номерами 2, 3, 6, 7, 10, 11, 14 и 15 применяется операция причём На практике результаты этих действий хранят в специальных таблицах (для данного случая требуется 512 байт).
Наложение ключабайты входного блока складываются с байтами ключа но в отличие от первого пункта операции сложения по модулям 256 и 2 меняются местами.
Линейное преобразование: умножение 16-байтного блока данных справа на специальную невырожденную матрицу(все операции при этом производятся по модулю 256). Эта часть алгоритма самая большая по вычислению.
После проведения раундов шифрования производится подмешивание ключа аналогичное подмешиванию ключей К слову, количество раундов зависит от размера ключа:
8 раундов для 128-битного ключа;
12 раундов для 192-битного ключа;
16 раундов для 256-битного ключа.
Алгоритм дешифрования
В алгоритме дешифрования операции схожи с операциями шифрования и имеют обратный порядок. Но имеется и разница:
Вместо матрицы умножение происходит с обратной ей матрицей.
Каждая операция сложения по модулю 256 заменяется операцией вычитания.
Операции и являются обратными друг к другу и меняются местами.
Матрица шифрования
Матрица дешифровки
Генерация ключей
Первый подключ это первые 16 байт входного ключа. Остальные ключи генерируются следующим образом: в ключевой регистр полностью записывается исходный ключ длиной на один байт больше самого ключа. Затем байты ключа поразрядно суммируются по модулю 2, а в последний байт регистра записывается результат.
Каждый последующий ключ регистра получается в ходе проведения над содержимым регистра следующих операций (для от 2 до ):
Происходит циклический сдвиг влево на 3 позиции внутри байтов ключевого регистра.
Выбираются 16 байт из регистра. А для ключа выбираются байты регистра начиная с -го и далее по циклу.
Отобранные 16 байт складываются по модулю 256 с байтами слова смещения Результат сложения и будет являться подключом
Слова смещения16-байтные константы, удовлетворяющие следующему выражению:
Здесь это -й байт -го слова смещения. Если то этот байт заменяется на 0.
Интернет вещей
Что это такое?
Интернет вещеймолодая и быстро развивающаяся технология, образующая огромные сети из множества умных устройств. А как мы уже с Вами убедились, где сетьтам и потенциальная брешь в информационной безопасности. А количество таких устройств только растёт. Так, к 2025 прогнозируется 75 млрд устройств Интернета вещей.
К сожалению, в погоне за быстрым выходом на рынок или за удешевлением продукта разработчики не всегда уделяют достаточное внимание защищённости своих устройств, что становится огромной проблемой в многомиллионных сетях. Хакерские атаки на Интернет вещей нарушают конфиденциальность информации пользователей, наносят материальный и финансовый вред большим компаниям, но, что хуже всего, могут причинить физический вред людям, которые зависят от специальных устройств.
В 2017 году botnet Mirai при помощи brute-force атаки взломал огромное количество камер и точек доступа, которые позже использовались для мощной DDoS-атаки на сети провайдеров UK Postal Office, Deutsche Telekom, Talk Talk, KCOM и Ericom. А специалисты "Лаборатории Касперского" только в первой половине 2018 года зафиксировали 105 миллионов атак на IoT-устройства, которые производись с 276 тысяч уникальных IP-адресов.
Сертификация устройств
Рынку требуется простая и быстрая сертификация IoT-устройств, которая бы не мешала развитию прогресса, но при этом задавала планку информационной безопасности от любых возможных атак.
Хоть сертификация и не гарантирует 100% безопасность, она сможет задать необходимые критерии защиты, что значительно улучшит мировую ситуацию.
Технология блокчейна
Куда более интересно выглядит создание децентрализованной системы безопасности, которая позволяет сохранять результаты обмена данными устройств Интернета вещей. Как раз одна из первых сфер применения технологий блокчейна и есть Интернет вещей. Когда система распределяется между всеми участниками, то самой системе намного проще выявлять и отключать от общей сети "заражённые" устройства.
Применение блокчейна стоит рассмотреть в таких сферах IoT, как управление аутентификацией, проверка работоспособности разных сервисов, обеспечение неделимости информации и т.д. Исходя из этого, однозначно правильным решением будет создание технологии блокчейна распределённой базы данных и протокола обмена информацией между IoT устройствами.
Заключение
В современном мире с приходом удобных беспроводных сетей пришли и новые серьёзные проблемы в области информационной безопасности. Сети нуждаются не только в надёжных алгоритмах и грамотных протоколах, но и в хорошем уровне защиты самих устройств.
Спасибо за внимание!