Шифрование и контроль целостности.
Безопасность 802.11 основана на схеме WEP (Wired Equivalent Privacy). Необходимо отметить, что WEP обеспечивает безопасность между станцией и точкой доступа, но не далее. Для обеспечения конфиденциальности и целостности данных используется алгоритм шифрования RC4. Алгоритм контроля целостности – 32-битовая последовательность циклической проверки четности с избыточностью (CRC32), присоединяемая к концу кадра MAC. Для шифрования 40-битный секретный ключ (разрешено к экспорту из США) делится между сообщающимися сторонами. К секретному ключу присоединяется вектор инициализации (IV) – 24 бита (поэтому ключ WEP называют как 40-битным, так и 64-битным). Получившийся блок – начальное число генератора псевдослучайной последовательности (PRNG), определенного в RС4. Генератор создает последовательность битов, длина которой равна длине кадра MAC плюс CRC. Побитовое применение XOR к кадру MAC и псевдослучайной последовательности дает шифрованный текст. К данному тексту присоединяется вектор инициализации и результат передается. Вектор инициализации периодически меняется (при каждой новой передаче – это определено, но не обязательно), следовательно, меняется и псевдослучайная последовательность, что усложняет расшифровку перехваченного текста. При получении приемник извлекает вектор инициализации, добавляет его к секретному ключу, что дает такую же псевдослучайную последовательность, что и источнике. С ней и с поступившими данными выполняется XOR, что дает первоначальный текст. После этого сравнивается вычисленная по данным и полученная CRC, чтобы проверить целостность данных.
WEP использует 4 ключа, определенных по умолчанию. Ключи по умолчанию разделяются всеми станциями, находящимися внутри BSS. Повторное использование ключей, определенное в данном протоколе, делает его уязвимым. Как следствие этого, для взаимных коммуникаций в стандарте WEP определены отображаемые ключи. Две станции, разделяющие ключ имеют отношение отображения ключей. Это соотношение является частью 802.11 MIB.
IV заголовок, как показано на рисунке, занимает 3 байта. Четвертый байт занимает заполнибитов - 0) и идентификатор ключа, используемый в случае применения для шифрования фрейма ключа по умолчанию. Если используется отображение ключей, то в поле идентификатора ключа будетбита CRC (может изменить изменение 1 бита, но криптографически не безопасен – изменив 1 бит мы можем предсказать изменения в полученном сообщении) добавляется к фрейму и также защищается с использованием RC4.
Использование 128-битного ключа шифрования в 802бита – секретный ключ) дает лучшую защиту за счет потери полной совместимости со стандартом.
Проблемы с WEP
1) Ошибки разработки.
А) Распределение ключей неспецифицировано и неавтоматизировано. Если пользователь системы 802.11 покинул организацию – ключи должны быть сменены.
Б) Выбор неслучайных векторов инициализации. Это приводит к повторному выбору ключа, что делает уязвимым шифросистему.
В) Нечастая смена ключей. Может привести к атаке по словарю. Большое количество собранных фреймов может привести к раскрытию шифра (среди них может оказаться большое количество фреймов с одинаковым вектором инициализации).
Атака на RC4.
В августе 2001г. была описана теоретическая атака на WEP. В основе атаки лежит слабость, состоящая в способе генерации шифрованного потока с использованием RC4. 802.11 использует LLC инкапсуляцию; за счет этого известен первый байт открытого текста – 0xAA (заголовок SNAP). За xctn этого первый байт зашифрованного текста может быть получен с использованием операции XOR над открытым текстом.
Атака, описанная в статье исследует класс слабых ключей, записанных в форме (B+3) : ff :N. Каждый слабый IV используется для атаки байта ключа RC4. Байты ключа пронумерованы от 0. Следовательно, слабый IV соответствующий байту 0 секретного ключа имеет форму 3:ff:N. Второй байт равен 0xFF
Стандартный ключ равен 40 битам или 5 байтам (пронумерованным от 0 до 4). Слабый IV, защищенный стандартным WEP должен иметь первый байт в пределах от 3 (B=0) до 7 (B=4), а второй байт равным 255. Третий байт не ограничен специфическим значением. Таким образом, в обычной сети 5*1*256 = 1280 слабых значений IP.
В соответствии с теорией вероятности авторы работы показали, что для определения 1 байта ключа необходимо 60 разрешенных случаев. Для полного ключа необходимо 256 разрешенных случаев. Для восстановления ключа необходимо 5-6 миллионов пакетов, что гораздо меньше числа пакетов, проходящих в относительно занятой среде.
Аутентификация.
802.11 определяет два типа аутентификации – «открытая система» и «общий ключ».
«Открытая система» (отсутствие аутентификации) позволяет двум сторонам договориться о передаче данных без рассмотрения вопросов безопасности. При этом одна станция передает кадр MAC, именуемый кадром аутентификации. Другая сторона отвечает собственным кадром и процесс аутентификации завершен (имеет место простой обмен информацией о себе).
«Общий ключ» требует обмена секретным ключом. В 802.11 процедура аутентификации между двумя сторонами A и B выглядит следующим образом:
1) A посылает кадр аутентификации, в котором указан тип «общий ключ» и идентификатор станции, определяющий станцию-отправителя.
2) B отвечает кадром аутентификации, который включает 128-октетный текст запроса (создается с использованием генератора случайных чисел WEP). Ключ и вектор инициализации, используемые при генерации запроса не важны, т. к. далее в процедуре они не используются.
3) A посылает кадр аутентификации, в котором включен полученный от B текст запроса. Кадр шифруется с использованием схемы WEP.
4) B получает запрос и дешифрует его, используя секретный ключ, которым владеют A и B. Если дешифрование успешно (совпало CRC), B сравнивает полученный текст с текстом, посланным на втором этапе. После этого A отправляется сообщение аутентификации, содержащее код состояния.
В тот момент, когда RC4 был выбран для стандарта 802.11, он казался совершенно безопасным.
Так же как и все симметричные криптоалгоритмы, RC4 зависит от распределения ключей. Однако, в стандарте, алгоритм распределения ключей не определен.
Уровень логического управления каналом (logic link control, LLC)
Уровень LLC связан с передачей PDU канального уровня между двумя станциями без промежуточных коммутационных узлов. Отличают протокол LLC от других протоколов управления каналом передачи данных две характеристики:
1) он должен использовать множественный доступ, составляющий природу канала с совместно используемой средой (что отличается от линии, в которой отсутствует выделенный основной узел)
2) LLC упрощен за счет передачи уровню MAC некоторых элементов управления доступом.
Адресация в LLC включает задание исходного и целевого пользователей LLC (под пользователем понимается вышестоящий протокол или функция управления сетью на станции). Эти адреса пользователей LLC называют точками доступа к службе (service access point - SAP).
Услуги LLC
LLC определяет механизмы задания в среде: адресов станций и управления информационным обменом между двумя пользователями. В основе работы и формата этих стандартов лежит протокол HDLC. Предлагаются три вида услуг:
Услуги без подтверждения и без организации соединения. Работают по принципу использования дейтаграмм. Отсутствуют механизмы управления потоком и контроля ошибок. За надежность чаще всего отвечает более высокий уровень. Требуют минимальной логики и полезны в двух случаях:
1) вышестоящие уровни делают все (TCP) и дублирование не нужно.
2) издержки не оправданы (сбор данных в реальном времени, где потеря одного фрагмента данных не критична).
Услуги с установкой соединения. Подобны аналогичным услугам предлагаемым протоколом HDLC. Между пользователями устанавливается соединение, выполняется управление потоком и защита от ошибок. Могут использоваться в простых устройствах (контроллеры терминалов), имеющих малофункциональные высшие программные уровни.
Услуги с подтверждением и без организации соединения. Нечто среднее. Дейтаграммы подтверждаются, но соединение не устанавливается. Если используются услуги с установкой соединения, программа, управляющая логическим каналом, должна хранить таблицу соединений, отслеживая их состояния. При большом количестве соединений это не практично, хотя надежная доставка данных может потребоваться (управление центральным узлом большим количеством контроллеров на производстве).
Протокол LLC
Отличия LLC и HDLC можно описать так:
1) LLC использует асинхронный сбалансированный режим работы HDLC, ориентированный на установление соединения (режим работы 2). Другие режимы HDLC не используются. Канал между двумя SAP LLC устанавливается до обмена данными. При установлении соединения объект LLC выдает PDU SABME для запроса установления соединения. Если соединение принято пользователем, указанным точкой DSAP, то целевой объект возвращает PDU с ненумерованным подтверждением (при отклонении возвращается PDU разрыва соединения). С этого момента соединение уникально идентифицируется парой SAP. После установления соединения обмен выполняется посредством информационных PDU. Эти PDU включают номера приема и передачи, необходимые для упорядочения потока и управления им. PDU управления, как и в HDLC, используется для управления потоком и защиты от ошибок. Любой объект LLC может разорвать соединение, послав сообщение разрыва (DISC).
2) LLC поддерживает неподтвержденную службу без организации соединения с использованием ненумерованных PDU (режим работы 1). Для передачи данных служат ненумерованные информационные PDU. Выявление ошибок и отклонения кадров имеется на уровне LLC. Два других типа PDUиспользуются во всех трех режимах для поддержки функций управления. Объект LLC может выдать команду (бит C/R=0) XID или TEST. Принимающий объект LLC в ответ выдает команду XID или TEST. PDU XID используется для обмена информацией двух типов: о поддерживаемых режимах и о размере окна. PDU XID используется для проведения теста канала передачи данных между двумя объектами LLC методом обратной петли. После получения команды TEST целевой объект LLC должен как можно быстрее ответить PDU TEST.
3) LLC поддерживает подтвержденную службу без организации соединения путем использования двух ненумерованных PDU (режим работы 3). Каждый переданный PDU подтверждается. Определен новый ненумерованный информационный модуль PDU с подтверждением без организации соединения (Acknowledged Connectionless - AC). Пользовательские данные передаются в PDU AC, а их прием осуществляется с использованием откликов PDU AC.
4) LLC допускает уплотнение путем использования точек доступа к службе LLC (LLC service access point - LSAP).
Все три протокола используют одинаковый формат PDU, состоящий из 4 полей:
DSAP и SSAP содержат адреса исходного и конечного пользователей LLC (по 7 бит каждый). Один бит DSAP показывает, является ли адрес групповым или индивидуальным. Один бит DSAP показывает, является ли PDU командой или откликом.
Услуги 802.11
Показаны на рисунке. Поставщиком услуги может быть либо станция (услуги станций реализуются на каждой станции 802.11, в том числе на точках доступа), либо распределительная система (DS) (предлагаются между базовыми наборами услуг и реализуются на точках доступа или на других специализированных устройствах). Для управления доступом и безопасностью используются 3 услуги. Еще 6 используются для поддержки доставки данных уровня MAC (MSDU – блок данных, передаваемый пользователем MAC на уровень MAC) от станции к станции. Обычно MSDU – это PDU уровня LLC. Если MSDU – большие, то может использоваться фрагментация, в результате которой получается последовательность кадров MAC.
Распределение сообщений в пределах распределительной системы.
В распределении сообщений в пределах DS задействованы 2 услуги – распределение и интеграция. Распределение – основная услуга, используемая станциями для обмена MAC кадрами, которые должны пройти через распределительную систему между станциями, находящимися в разных BSS (если станции находятся в пределах одного BSS, услуга распределения предоставляется точкой доступа этого BSS). Как сообщение передается чрез распределительную систему, в стандарте не описывается.
Услуга интеграции позволяет передать данные между станцией 802.11 и станцией 802.* (проводная локальная сеть). Услуга интеграции разрешает все вопросы, связанные с адресацией, и преобразованием среды.
Услуги, связанные с ассоциацией.
Передачу MSDU между объектами уровня MAC выполняет распределительная система, для функционирования которой требуется информация о станциях в пределах BSS. Эта информация поставляется услугами, связанными с ассоциацией. Перед тем как принимать или посылать данные станция должна установить ассоциацию. Ассоциация бывает: без перехода (стационарна или в пределах одного BSS), переход BSS (переход между BSS в пределах ESS; для доставки данных требуется найти новое местоположение станции), переход ESS (поддерживается только в том смысле, что станция может двигаться, сохранимость соединений высшего уровня, поддерживаемых 802.11, гарантировать нельзя; наиболее вероятен разрыв услуги). С ассоциацией связано 3 услуги:
Ассоциация; установление первоначальной ассоциации между станцией и точкой доступа. Станция осуществляет ассоциацию в пределах BSS, а точка доступа может передать необходимую информацию в пределах ESS.
Повторная ассоциация; разрешает передавать информацию ассоциации между точками доступа, позволяя станции перемещаться между наборами BSS.
Разрыв ассоциации; уведомление от станции или точки доступа об аннулировании существующей ассоциации. Станция должна получить это уведомление до выхода из ESS или отключения. При этом средство управления MAC защищено от станций, которые исчезают без уведомления.
Услуги доступа и безопасность.
Определены следующие виды услуг:
Аутентификация; используется для идентификации станций;
Отмена аутентификации; конфиденциальность (шифрование).


