Векторы инициализации
Вектор инициализации — это номер, добавляемый к ключу, конечным результатом этого является изменение информации ключевого потока. Вектор инициализации связывается с ключом до того, как начнется генерация ключевого потока. Вектор инициализации все время изменяется, то же самое происходит с ключевым потоком. На рис. 4 показаны два сценария. Первый относится к шифрованию с использованием поточного шифра без применения вектора инициализации. В этом случае открытый текст DATA после смешения с ключевым потоком 12345 всегда преобразуется в зашифрованный текст AHGHE. Второй сценарий показывает, как тот же открытый текст смешивается с ключевым потоком, дополненным вектором инициализации для получения другого зашифрованного текста. Обратите внимание на то, что зашифрованный текст во втором случае отличается от такового в первом. Стандарт 802.11 рекомендует изменять вектор инициализации пофреймово (on a per-frame basis). Это означает, что если один и тот же фрейм будет передан дважды, весьма высокой окажется вероятность того, что зашифрованный текст будет разным.
Рис.1 - Шифрование с использованием поточного шифра без применения вектора инициализации
1. Шифрование с использованием поточного шифра без применения вектора инициализации |
Рис. 3. Шифрование и векторы инициализации
Режимы с обратной связью
Режимы с обратной связью представляют собой модификации процесса шифрования, выполненные во избежание того, чтобы один и тот же открытый текст преобразовывался в ходе шифрования в одинаковый зашифрованный текст.
WEP
Спецификация стандарта 802.11 предусматривает обеспечение защиты данных с использованием алгоритма WEP. Этот алгоритм основан на применении симметричного поточного шифра RC4. Симметричность RC4 означает, что согласованные WEP-ключи размером 40 или 104 бит статично конфигурируются на клиентских устройствах и в точках доступа. Алгоритм WEP был выбран главным образом потому, что он не требует объемных вычислений. Хотя персональные компьютеры с беспроводными сетевыми картами стандарта 802.11 сейчас широко распространены, в 1997 году ситуация была иной. Большинство из устройств, включаемых в беспроводные LAN, составляли специализированные устройства (application-specific devices, ASD). Примерами таких устройств могут служить считыватели штрих-кодов, планшетные ПК (tablet PC) и телефоны стандарта 802.11. Приложения, которые выполнялись этими специализированными устройствами, обычно не требовали большой вычислительной мощности, поэтому ASD оснащались слабенькими процессорами. WEP - простой в применении алгоритм, для записи которого в некоторых случаях достаточно 30 строк кода. Малые непроизводительные расходы, возникающие при применении этого алгоритма, делают его идеальным алгоритмом шифрования для специализированных устройств.
|
Чтобы избежать шифрования в режиме ЕСВ, WEP использует 24-разрядный вектор инициализации, который добавляется к ключу перед выполнением обработки по алгоритму RC4. На рис. 4 показан фрейм, зашифрованный по алгоритму WEP с использованием вектора инициализации.
Рис. 4. Фрейм, зашифрованный по алгоритму WEP |
Вектор инициализации должен изменяться пофреймово во избежание IV-коллизий. Коллизии такого рода происходят, когда используются один и тот же вектор инициализации и один и тот же WEP-ключ, в результате чего для шифрования фрейма используется один и тот же ключевой поток. Такая коллизия предоставляет злоумышленникам большие возможности по разгадыванию данных открытого текста путем сопоставления подобных элементов. При использовании вектора инициализации важно предотвратить подобный сценарий, поэтому вектор инициализации часто меняют. Большинство производителей предлагают пофреимовые векторы инициализации в своих устройствах для беспроводных LAN.
|
Спецификация стандарта 802.11 требует, чтобы одинаковые WEP-ключи были сконфигурированы как на клиентах, так и на устройствах, образующих инфраструктуру сети. Можно определять до четырех ключей на одно устройство, но одновременно для шифрования отправляемых фреймов используется только один из них.
WEP-шифрование используется только по отношению к фреймам данных и во время процедуры аутентификации с совместно используемым ключом. По алгоритму WEP шифруются следующие поля фрейма данных стандарта 802.11:
· Данные или полезная нагрузка (payload).
· Контрольный признак целостности (integrity check value, ICV).
Значения всех остальных полей передаются без шифрования. Вектор инициализации должен быть послан незашифрованным внутри фрейма, чтобы приемная станция могла получить его и использовать для корректной расшифровки полезной нагрузки и ICV. На рис. 6 схематично представлен процесс шифрования, передачи, приема и расшифровки фрейма данных в соответствии с алгоритмом WEP.
В дополнение к шифрованию данных спецификация стандарта 802.11 предлагает использовать 32-разрядное значение, функция которого — осуществлять контроль целостности. Этот контрольный признак целостности говорит приемнику о том, что фрейм был получен без повреждения в процессе передачи.
|
Контрольный признак целостности вычисляется по всем полям фрейма с использованием 32-разрядной полиномиальной функции контроля и с помощью циклического избыточного кода (CRC-32). Станция-отправитель вычисляет это значение и помещает результат в поле ICV. Значение поля ICV включается в часть фрейма, шифруемую по алгоритму WEP, так что его не могут просто так "увидеть" злоумышленники. Получатель фрейма дешифрует его, вычисляет значение ICV и сравнивает результат со значением поля ICV полученного фрейма. Если эти значения совпадают, фрейм считается подлинным, неподдельным. Если они не совпадают, такой фрейм отбрасывается.
Механизмы аутентификации стандарта 802.11
Спецификация стандарта 802.11 оговаривает два механизма, которые могут применяться для аутентификации клиентов WLAN:
· Открытая аутентификация (open authentication).
· Аутентификация с совместно используемым ключом (shared key authentication).
Открытая аутентификация по сути представляет собой алгоритм с нулевой аутентификацией (null authentication algorithm). Точка доступа принимает любой запрос на аутентификацию. Это может быть просто бессмысленный сигнал, используемый для указания на применение именно этого алгоритма аутентификации, тем не менее, открытая аутентификация играет определенную роль в сетях стандарта 802.11. Столь простые требования к аутентификации позволяют устройствам быстро получить доступ к сети.
Контроль доступа при открытой аутентификации осуществляется с использованием заранее сконфигурированного WEP-ключа в точке доступа и на клиентской станции. Эта станция и точка доступа должны иметь одинаковые ключи, тогда они могут связываться между собой. Если станция и точка доступа не поддерживают алгоритм WEP, в BSS невозможно обеспечить защиту. Любое устройство может подключиться к такому BSS, и все фреймы данных передаются незашифрованными.
После выполнения открытой аутентификации и завершения процесса ассоциирования клиент может начать передачу и прием данных. Есликл иент сконфигурирован так, что его ключ отличается от ключа точки доступа, он не сможет правильно зашифровывать и расшифровывать фреймы, и такие фреймы будут отброшены как точкой доступа, так и клиентской станцией. Этот процесс предоставляет собой довольно-таки эффективное средство контроля доступа к BSS (рис. 5).
Рис. 5. Процесс открытой аутентификации при различии WEP-ключей |
В отличие от открытой аутентификации, при аутентификации с совместно используемым ключом требуется, чтобы клиентская станция и точка доступа были способны поддерживать WEP и имели одинаковые WEP-ключи. Процесс аутентификации с совместно используемым ключом осуществляется следующим образом.
1. Клиент посылает точке доступа запрос на аутентификацию с совместно используемым ключом.
2. Точка доступа отвечает фреймом вызова (challenge frame), содержащим открытый текст.
3. Клиент шифрует вызов и посылает его обратно точке доступа.
4. Если точка доступа может правильно расшифровать этот фрейм и получить свой исходный вызов, клиенту посылается сообщение об успешной аутентификации.
5. Клиент получает доступ к WLAN.
Предпосылки, на которых основана аутентификация с совместно используемым ключом, точно такие же, как и те, которые предполагались при открытой аутентификации, использующей WEP-ключи в качестве средства контроля доступа. Разница между этими двумя схемами состоит в том, что клиент не может ассоциировать себя с точкой доступа при использовании механизма аутентификации с совместно используемым ключом, если его ключ не сконфигурирован должным образом. На рис. 6 схематично представлен процесс аутентификации с совместно используемым ключом.
Рис. 6. Процесс аутентификации с совместно используемым ключом |
Аутентификация с использованием МАС-адресов
Аутентификация с использованием МАС-адресов не специфицирована стандартом 802.11. но обеспечивается многими производителями. В ходе аутентификации с использованием МАС-адресов проверяется соответствие МАС-адреса клиента локально сконфигурированному списку разрешенных адресов или списку, хранящемуся на внешнем аутентификационном сервере. Аутентификация с использованием МАС-адресов усиливает действие открытой аутентификации и аутентификации с совместно используемым ключом, обеспечиваемыми стандартом 802.11, потенциально снижая тем самым вероятность того, что неавторизованные устройства получат доступ к сети. Например, администратор сети может пожелать ограничить доступ к определенной точке доступа для трех конкретных устройств. Если все станции и все точки доступа BSS используют одинаковые WEP-ключи, при использовании открытой аутентификации и аутентификации с совместно используемым ключом такой сценарий реализовать трудно. Чтобы усилить действие механизма аутентификации стандарта 802.11, он может применить аутентификацию с использованием МАС-адресов.