Смекни!
smekni.com

Алгоритмы защиты информации в беспроводных сетях стандарта IEEE 802.11 (стр. 4 из 8)

Рис.2.2 Алгоритм шифрования по протоколу ССМР

В стандарте IEEE 802.Hi определено, что размер ключа AES равен 128 бит. Как и в TKIP, в ССМР используются 48-разрядные IV (здесь они называют­ся номерами пакетов, PN) (рис. 2.3) и несколько видоизмененный алгоритм MIC. В ССМР функции порождения пакетных ключей не реализованы, посколь­ку сильный шифр AES делает их излишними.

2.3 Пакет после шифрования по ССМР.

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

Таблица 1 Возможности протоколов шифрования, используемых в беспроводных сетях.

Отметим, что уже созданы микросхемы с аппаратной реализацией AES, что снижает вычислительную нагрузку на аппаратуру сетевых устройств. Это, а также выход на рынок продуктов, поддерживающих протокол ССМР, влечет полный пересмотр архитектуры оборудования для сетей IEEE 802.11. Кроме то­го, еще остается несколько вопросов, не решенных в стандарте IEEE 802.Hi. В частности, речь идет о безопасности независимых сетей, быстрой передаче пользователя от одной точки доступа к другой, а также о процедурах прекра­щения сеанса и отсоединения.

Модель AAA.

Протокол RADIUS AAA (Authentication, Authorization, Accounting — аутентификация, авториза­ция и учет) считается краеугольным камнем службы удаленной аутентифика­ции пользователей RADIUS (Remote Authentication Dial-In User Service). Она предназначена для управления доступом к компьютерным ресурсам, проведе­ния определенных политик, анализа использования ресурсов и предоставления информации, необходимой для взимания платы за пользование ими. Все эти про­цедуры жизненно важны для эффективного и рационального управления сетью.

В основе модели AAA лежат три понятия — аутентификация, авторизация и учет.

Аутентификация — это способ идентификации пользователя путем за­проса его «верительных грамот» и проверки их правильности. Предполагается, что у каждого пользователя имеется уникальный набор характеристик для по­лучения доступа. Сервер, удовлетворяющий требованиям AAA, сравнивает эти характеристики с теми, которые хранятся в базе данных. Если «верительные грамоты» совпадают, то пользователю предоставляется доступ к запрошенным сетевым ресурсам, в противном случае в доступе будет отказано. По заверше­нии процедуры аутентификации следует авторизация, т. е. принятие решения о том, разрешено ли пользователю выполнять определенные задачи и пользоваться теми или иными сетевыми ресурсами. Обычно авторизация производится одно­временно с аутентификацией; если разрешение получено, то пользователь будет иметь доступ к ресурсам. Таким образом, авторизация — необходимая составная часть разумной политики администрирования. Последняя составляющая модели AAA — это учет. Под учетом понимается процесс измерения и протоколирова­ния используемых сетевых ресурсов. Сюда включается мониторинг и фиксация событий для различных целей, в том числе биллинга, анализа трендов, учета потребления ресурсов, планирования вычислительных мощностей и текущего сопровождения.

Несмотря на то, что протокол RADIUS был разработан еще до оформ­ления модели AAA, он может служить хорошим примером ее практической реализации. Протокол RADIUS широко применяется во многих сетях. Его можно определить как протокол безопасности, в котором для аутентификации удален­ных пользователей используется модель клиент-сервер. Реализуется он в виде серии запросов и ответов, которые клиент передает от сервера доступа к сети (Network Access Server — NAS) до конечного пользователя. Протокол RADIUS был разработан в ответ на настоятельную необходимость иметь некий метод аутентификации, авторизации и учета действий пользователей, которым необ­ходим доступ к разнородным вычислительным ресурсам.

Основные особенности протокола RADIUS:

- Модель клиент-сервер. Сервер NAS выступает в роли клиента RADIUS. Этот клиент отвечает за доставку информации о пользователе RADIUS-cep-веру и выполнении тех или иных действий в зависимости от полученного ответа. RADIUS-серверы отвечают за прием запросов на установление со­единения, аутентификацию пользователей и возврат всех деталей конфигу­рации клиенту, который будет предоставлять пользователю определенные сервисы. Кроме того, RADIUS-сервер может выступать в виде прокси-клиента для других RADIUS-серверов или иных серверов аутентификации.

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

- Гибкие механизмы аутентификации. RADIUS-сервер допускает различные методы аутентификации пользователей. Получив имя пользователя и его пароль, он может поддержать процедуры аутентификации по протоколу PAP, CHAP или ОС UNIX, а также поискать информацию в иных храни­лищах, например РАМ, LDAP, SQL и т. д..

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

Рис. 2.4 Структура пакета протокола RADIUS.

Пакеты протокола RADIUS (рис. 2.4) инкапсулированы в поток данных протокола UDP. Поле кода определяет тип пакета.

Получив пакет с некорректным значением кода, сервер игнорирует его без каких-либо уведомлений. Иденти­фикатор позволяет клиенту RADIUS сопоставить полученный от сервера ответ с ранее посланным запросом. В поле «длина» указывается длина пакета сообще­ния в байтах (от 20 до 4096), включая заголовок. Аутентификатор используется для аутентификации и верификации ответа от RADIUS-сервера, а также как ме­ханизм сокрытия паролей. В этом поле могут передаваться значения двух типов: идентификаторы запроса и ответа.

Аутентификатор запроса может встречаться в пакетах типа Access (Доступ) и Accounting Request (Запрос учетной информации), его значение должно быть случайно и уникально. Ответ передается в пакетах типа Access-Accept (Доступ разрешен), Access-Reject (Доступ запрещен) и Access-Challenge (Запрос). Ау­тентификатор ответа должен содержать значение хеш-функции (по алгоритму MD5), вычисленное по значениям полей кода, идентификатора, длины, аутентификатора, атрибутов и по общему секретному коду.

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

Уязвимости протокола RADIUS.

Известен целый ряд слабостей RADIUS, причиной которых является как сам протокол, так и неудачная реализация клиентов. Перечислим некоторые уязви­мости, далеко не исчерпав весь список проблем протокола. Отметим, что сам по себе протокол UDP позволяет подделывать пакеты. Атаки можно отнести к следующим категориям:

· подбор «верительных грамот» пользователя методом полного перебора;

· DoS-атака;

· повтор сеанса;

· внедрение поддельных пакетов.

Различные виды атак многократно описаны в литературе, отметим лишь некоторые наиболее общие типы.

Атака на аутентификатор ответа.

Аутентификатор ответа (Response Authenticate) — это, по существу, MD5-свертка. Если злоумышленник сумел перехватить корректную последовательность пакетов типа Access-Request, Access-Accept или Access-Reject, то он может, уже не находясь в сети, попробовать вскрыть общий секретный код методом полно­го перебора, поскольку остальные параметры, на основе которых вычисляется свертка, известны (код + идентификатор + длина + аутентификатор + атрибу­ты). Затем возможно повторять эту свертку при каждой попытке угадать общий секретный код.

Атака на общий секретный код на основе атрибута Password.

Мандат, содержащий пару имя-пароль, является защищенным, но противник мо­жет получить информацию об общем секретном коде, если будет следить за попытками аутентификации. Если взломщик предпримет попытку аутентифи-цироваться с известным паролем, а затем перехватит отправляемый в результа­те пакет Accept-Request, то он сможет сравнить защищенную часть атрибута User-Password с паролем, который он сообщил клиенту ранее. Поскольку ау­тентификатор ответа известен (его можно увидеть в пакете Accept-Request), то противник получает возможность провести атаку методом полного перебора на общий секретный код, уже не находясь в сети.

Атака на пароль пользователя.

Эта атака аналогична предыдущей: зная общий секретный код, противник мо­жет пробовать различные пароли путем модификации и воспроизведения паке­тов типа Access-Request. Если сервер не ограничивает число безуспешных по­пыток аутентификации одного пользователя, то атакующий сумеет выполнить полный перебор всех паролей, пока не отыщет правильный. Следует отметить, что применение стойкой схемы аутентификации в пакете Access-Request сделает такую атаку почти невозможной.

Атака на аутентификатор запроса.