Безопасность в сетях WiMAX
Вопросы безопасности в сетях WiMAX, основанных на стандарте IEEE 802.16, так же, как и в сетях WiFi (IEEE 802.11), стоят более остро, чем в проводных сетях в связи с легкостью подключения к сети.
Стандарт IEEE 802.16 определяет протокол PKM (privacy and key management protocol), протокол приватности и управления ключом. На самом же деле, имеется в виду конфиденциальность (confidentiality), а не приватность (privacy) .
Защищенные связи
Защищенная связь (Security Association, SA) — одностороннее соединение для обеспечения защищенной передачи данных между устройствами сети. SA бывают двух типов:
- Data Security Association, защищенная связь для данных.
- Authorization Security Association, защищенная связь для авторизации.
Защищенная связь для данных
Защищенная связь для данных бывает трех типов:
- Первичная (основная) (Primary SA);
- Статическая (Static SA);
- Динамическая (Dynamic SA).
Первичная защищенная связь устанавливается абонентской станцией на время процесса инициализации. Базовая станция затем предоставляет статическую защищенную связь. Что касается динамических защищенных связей, то они устанавливаются и ликвидируются по мере необходимости для сервисных потоков. Как статическая, так и динамическая защищенные связи могут быть одной для нескольких абонентских станций.
Защищенная связь для данных определяется:
- 16-битным идентификатором связи.
- Методом шифрования, применяемым для защиты данных в соединении.
- Двумя Traffic Encryption Key (TEK, ключ шифрования трафика), текущий и тот, который будет использоваться, когда у текущего TEK закончится срок жизни.
- Двумя двухбитными идентификаторами, по одному на каждый TEK.
- Временем жизни TEK. Может иметь значение от 30 минут до 7 дней. Значение по умолчанию 12 часов.
- Двумя 64-битными векторами инициализации, по одному на TEK (требуется для алгоритма шифрования DES).
- Индикатором типа связи (первичная, статическая или динамическая).
Абонентские станции обычно имеют одну защищенную связь для данных для вторичного частотного канала управления (secondary management channel); и либо одну защищенную связь для данных для соединения в обе стороны (uplink и downlink), либо одну защищенную связь для данных для соединения от базовой станции до абонентской и одну — для обратного.
Защищенная связь для авторизации
Абонентская станция и базовая станция разделяют одну защищенную связь для авторизации. Базовая станция использует защищенную связь для авторизации для конфигурирования защищенной связи для данных.
Защищенная связь для авторизации определяется:
- сертификатом X.509, идентифицирующим абонентскую станцию, а также сертификатом X.509, идентифицирующим производителя абонентской станции.
- 160-битовым ключом авторизации (authorization key, AK). Используется для аутентификации во время обмена ключами TEK.
- 4-битовым идентификатором ключа авторизации.
- Временем жизни ключа авторизации. Может принимать значение от 1 дня до 70 дней. Значение по умолчанию 7 дней.
- 128-битовым ключом шифрования ключа (Key encryption key, KEK). Используется для шифрования и распределения ключей TEK.
- Ключом HMAC для нисходящих сообщений (downlink) при обмене ключами TEK.
- Ключом HMAC для восходящих сообщений (uplink) при обмене ключами TEK.
- Списком data SA, для которого данная абонентская станция авторизована.
KEK вычисляется следующим образом:
Ключи HMAC вычисляются следующим образом:
Расширяемый протокол аутентификации
Extensible Authentication Protocol (EAP, расширяемый протокол аутентификации) — это протокол, описывающий более гибкую схему аутентификации по сравнению с сертификатами X.509. Она была введена в дополнении к стандарту IEEE 802.16e. EAP-сообщения кодируются прямо в кадры управления. В связи с этим в протокол PKM были добавлены два новых сообщения PKM EAP request (EAP-запрос) и PKM EAP response (EAP-ответ). Стандарт IEEE 802.16e не устанавливает какой-либо определенный метод аутентификации EAP, эта область сейчас активно исследуется.
Протокол авторизации и ключей шифрования
Privacy and Key Management Protocol (PKM Protocol) — это протокол для получения авторизации и ключей шифрования трафика TEK.
Авторизация
Однажды авторизовавшись, абонентская станция будет периодически переавторизовываться.
Обмен ключами
- последовательный номер ключа авторизации, который был использован при генерации HMAC
- идентификатор того SA, TEK которого необходимо обновить
- HMAC для того, чтобы абонентская станция могла проверить подлинность этого сообщения.
- последовательный номер ключа авторизации, который был использован при генерации HMAC
- идентификатор того SA, TEK которого необходимо обновить (совпадает с идентификатором из первого сообщения, если оно было)
- HMAC для того, чтобы базовая станция могла проверить подлинность этого сообщения.
- последовательный номер ключа авторизации, который был использован при генерации HMAC
- идентификатор SA, для которого проводится обновление ключа TEK
- прежний TEK, то есть текущий TEK того SA, для которого запрошено обновление
- новый TEK, то есть TEK, который будет использоваться, когда истечет срок жизни текущего TEK
- HMAC для проверки подлинности данного сообщения.
Оба ключа TEK передаются в зашифрованном виде. В IEEE 802.16 для этого используется тройной DES в режиме электронной кодовой книги c ключом KEK:
Здесь KEK 1 — это первые 64 бит ключа KEK, а KEK 2 — последние 64 бит ключа KEK.
Шифрование данных
Стандарт IEEE 802.16 использует алгоритм DES в режиме сцепления блока шифров для шифрования данных. В настоящее время DES считается небезопасным, поэтому в дополнении к стандарту IEEE 802.16e для шифрования данных был добавлен алгоритм AES.
DES
Шифрование данных проходит следующим образом. Вектор инициализации из данного data SA и поле синхронизации проходят побитовую операцию исключающего ИЛИ и подаются как инициализирующий вектор алгоритму DES в режиме сцепления блока шифров (CBC, cipher block chaining). Также на вход схемы подается ключ TEK для шифрования и открытый текст сообщения. Алгоритм выдает зашифрованный текст. Заголовок Generic MAC header (GMH) не меняется за исключением битового поля EC, а концевик CRC, если он имеется, меняется под зашифрованный текст.
AES
Стандарт 802.16e определяет использование шифрования AES в четырех режимах:
- Cipher Block Chaining (CBC, режим сцепления блока шифров)
- Counter Encryption (CTR, шифрование счетчика)
- Counter Encryption with Cipher Block Chaining message authentication code (CCM, счетчиковое шифрование с message authentication code, полученным сцеплением блока шифров). Добавляет возможность проверки подлинности зашифрованного сообщения к режиму CTR.
- Electronic Code Book (ECB, режим электронной кодовой книги). Используется для шифрования ключей TEK.
Nonce
В режиме CCM, для шифрования полезной информации передающая станция генерирует на каждый пакет nonce — байтовую последовательность, первые 5 байт которой представляют собой начало Generic MAC Header. Далее идут 4 зарезервированных байта, имеющих нулевые значения. Затем следует 4-байтовый номер пакета Packet Number (PN) в данном data SA. Значение Packet Number ставится в 1 при установлении нового data SA или нового TEK.
Блок CBC
Блок CBC состоит из однобайтового флага, имеющего значение 00011001, последовательности nonce и поля, содержащего длину информационной части сообщения.
Блок Counter
Блок Counter состоит из однобайтового флага, имеющего значение 00000001, последовательности nonce и поля, содержащего номер i Counter-блока. Число i может меняться от нуля до n, где n — количество Counter-блоков, необходимых для покрытия всего сообщения и кода message authentication code.
Создание и шифрование message authentication code в AES — CCM
При создании message authentication code используется модифицированный режим CBC, в котором вместо инициализирующего вектора IV, к началу информационной части сообщения присоединяется начальный (нулевой) блок CBC. Далее эта пара зашифровывается алгоритмом AES в режиме CBC с ключом TEK. Последние 128 бит зашифрованного текста берутся в качестве message authentication code (кода аутентичности). Далее message authentication code шифруется побитовым сложением по модулю два исходного message authentication code и зашифрованного с помощью алгоритма AES в режиме CTR начального (нулевого) Counter-блока.
Шифрование информационной части сообщения
Каждый из n оставшихся Counter-блоков (нулевой уже был задействован в шифровании message authentication code) зашифровывают методом AES в режиме CTR с ключом TEK. Затем результат складывают побитовым сложением по модулю два с информационной частью сообщения. Полученный зашифрованный текст вместе с зашифрованным message authentication code, номером пакета данных, заголовком Generic MAC Header и CRC-концевиком отправляется на физический уровень. При этом в заголовке GMH поле EC (Encryption Control) устанавливают в единицу, поскольку данные были зашифрованы, а в двухбитовом поле EKS (Encryption Key Sequence) стоит индекс использованного при этом ключа TEK (traffic encryption key).
Уязвимости в стандарте IEEE 802.16
- Атаки физического уровня, такие как глушение передачи сигнала, ведущее к отказу доступа или лавинный наплыв кадров (flooding), имеющий целью истощить батарею станции. Эффективных способов противостоять таким угрозам на сегодня нет.
- Самозваные базовые станции, что связано с отсутствием сертификата базовой станции. В стандарте проявляется явная несимметричность в вопросах аутентификации. Предложенное решение этой проблемы — инфраструктура управления ключом в беспроводной среде (WKMI, wireless key management infrastructure), основанная на стандарте IEEE 802.11i. В этой инфраструктуре есть взаимная аутентификация с помощью сертификатов X.509.
- Уязвимость, связанная с неслучайностью генерации базовой станцией ключей авторизации. Взаимное участие базовой и абонентской станции, возможно, решило бы эту проблему.
- Возможность повторно использовать ключи TEK, чей срок жизни уже истек. Это связано с очень малым размером поля EKS индекса ключа TEK. Так как наибольшее время жизни ключа авторизации 70 суток, то есть 100800 минут, а наименьшее время жизни ключа TEK 30 минут, то необходимое число возможных идентификаторов ключа TEK — 3360. А это означает, что число необходимых бит для поля EKS — 12.
- Еще одна проблема связана, как уже упоминалось, с небезопасностью использования шифрования DES. При достаточно большом времени жизни ключа TEK и интенсивном обмене сообщениями возможность взлома шифра представляет реальную угрозу безопасности. Эта проблема была устранена с введением шифрования AES в поправке к стандарту IEEE 802.16e. Однако, большое число пользователей до сих пор имеет оборудование, поддерживающее лишь старый стандарт IEEE 802.16.