Русская Википедия:Безопасность в сетях WiMAX
Шаблон:ОРИСС Шаблон:Нет ссылок Вопросы безопасности в сетях WiMAX, основанных на стандарте IEEE 802.16, так же, как и в сетях WiFi (IEEE 802.11), стоят более остро, чем в проводных сетях в связи с легкостью подключения к сети.
Стандарт IEEE 802.16 определяет протокол PKM (privacy and key management protocol), протокол приватности и управления ключом. На самом же деле, имеется в виду конфиденциальность (confidentiality), а не приватность (privacy) [1].
Защищенные связи
Защищенная связь (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 вычисляется следующим образом:
- Проводится конкатенация шестнадцатеричного числа 0x53 с самим собой 64 раза. Получаются 512 бит.
- Справа приписывается ключ авторизации.
- Вычисляется хеш-функция SHA-1 от этого числа. Получаются 160 бит на выходе.
- Первые 128 бит берутся в качестве KEK, остальные отбрасываются.
Ключи HMAC вычисляются следующим образом:
- Проводится конкатенация шестнадцатеричного числа 0x3A (uplink) или 0x5C (downlink) с самим собой 64 раза.
- Справа приписывается ключ авторизации.
- Вычисляется хеш-функция SHA-1 от этого числа. Получаются 160 бит на выходе. Это и есть ключ 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.
Авторизация
- Абонентская станция начинает обмен, посылая сообщение, содержащее X.509 сертификат изготовителя абонентской станции. Обычно этот сертификат никак не используется базовой станцией, хотя возможно настроить базовую станцию так, что авторизоваться будут только абонентские станции от доверяемых производителей.
- Сразу после первого сообщения абонентская станция отправляет сообщение, содержащее сертификат X.509 самой абонентской станции, её криптографические возможности и идентификатор первичной SA (Primary SA).
- Базовая станция по сертификату абонента определяет, авторизован ли он. Если он авторизован, она посылает сообщение, содержащее зашифрованный ключ авторизации, последовательный номер данного ключа авторизации, его время жизни, а также список идентификаторов статических SA, в которых абонент авторизован. Ключ авторизации шифруется алгоритмом RSA с публичным ключом, получаемым из сертификата абонентской станции.
Однажды авторизовавшись, абонентская станция будет периодически переавторизовываться.
Обмен ключами
- Базовая станция посылает сообщение, принуждающее абонентскую станцию обновить ключ шифрования трафика TEK. Сообщение содержит:
- последовательный номер ключа авторизации, который был использован при генерации HMAC
- идентификатор того SA, TEK которого необходимо обновить
- HMAC для того, чтобы абонентская станция могла проверить подлинность этого сообщения.
- В ответ на первое сообщение (при успешной проверке HMAC), или же по собственной инициативе абонентская станция посылает запрос на обновление ключа TEK, содержащий:
- последовательный номер ключа авторизации, который был использован при генерации HMAC
- идентификатор того SA, TEK которого необходимо обновить (совпадает с идентификатором из первого сообщения, если оно было)
- HMAC для того, чтобы базовая станция могла проверить подлинность этого сообщения.
- Если предыдущее сообщение пройдет аутентификацию 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.[2]
- Уязвимость, связанная с неслучайностью генерации базовой станцией ключей авторизации. Взаимное участие базовой и абонентской станции, возможно, решило бы эту проблему.[3]
- Возможность повторно использовать ключи TEK, чей срок жизни уже истек. Это связано с очень малым размером поля EKS индекса ключа TEK. Так как наибольшее время жизни ключа авторизации 70 суток, то есть 100800 минут, а наименьшее время жизни ключа TEK 30 минут, то необходимое число возможных идентификаторов ключа TEK — 3360. А это означает, что число необходимых бит для поля EKS — 12.
- Еще одна проблема связана, как уже упоминалось, с небезопасностью использования шифрования DES. При достаточно большом времени жизни ключа TEK и интенсивном обмене сообщениями возможность взлома шифра представляет реальную угрозу безопасности. Эта проблема была устранена с введением шифрования AES в поправке к стандарту IEEE 802.16e. Однако, большое число пользователей до сих пор имеет оборудование, поддерживающее лишь старый стандарт IEEE 802.16.
Примечания
См. также
Литература
- Glore, N. & Mishra, A., Chapter 11 «Privacy and Security in WiMax Networks» in «WiMAX Standards and Security» (Edited by M. Ilyas & S. Ahson) — Boca Raton, Florida: CRC Press, 2008 — ISBN 978-1-4200-4523-9
- Стандарт IEEE 802.16-2001Шаблон:Недоступная ссылка.
- Поправка к стандарту IEEE 802.16e-2005.
- ↑ См. например: Fernandez, E.B. & VanHilst, M., Chapter 10 «An Overview of WiMAX Security» in «WiMAX Standards and Security» (Edited by M. Ilyas & S. Ahson), CRC Press, June 2007
- ↑ Y. Fan, Z. Huaibei, Z. Lan, and F. Jin, An Improved Security Scheme in WMAN Based on IEEE Standard 802.16, Wuhan, China, 2005 (Улучшенная схема безопасности в сетях WMAN на основе стандарта IEEE 802.16).
- ↑ D. Johnston and J. Walker, Overview of IEEE 802.16 security, IEEE Security & Privacy, Vol. 2, pp. 40-48, 2004 (Обзор безопасности в стандарте IEEE 802.16, безопасность и приватность IEEE, том 2, стр. 40-48)