MILENAGE
MILENAGE — это набор алгоритмов аутентификации и генерации ключей (Authentication and Key Agreement, AKA), используемый в сетях мобильной связи третьего (UMTS) и четвёртого (LTE) поколений. Разработан консорциумом 3GPP (3rd Generation Partnership Project) и описан в спецификации 3GPP TS 35.205–35.208. Основное назначение MILENAGE — обеспечение взаимной аутентификации абонента и сети, а также шифрование передаваемых данных и защита целостности сигнального трафика.
История создания
Разработка MILENAGE началась в конце 1990-х годов в рамках стандартизации сетей UMTS (Universal Mobile Telecommunications System). Предшествующие алгоритмы, используемые в сетях GSM (например, COMP128), имели серьёзные уязвимости, позволявшие клонировать SIM-карты и перехватывать трафик. Для устранения этих недостатков 3GPP потребовался новый, более стойкий криптографический механизм.
В 2000 году была опубликована первая версия спецификации 3GPP TS 35.205, описывающая набор алгоритмов MILENAGE. В отличие от GSM, где алгоритмы аутентификации были закрытыми и не публиковались, MILENAGE был открыт для анализа и рецензирования, что способствовало выявлению и исправлению потенциальных уязвимостей. Впоследствии алгоритмы MILENAGE были адаптированы для сетей LTE (4G) и частично для 5G NR (New Radio), хотя в 5G применяются также более новые алгоритмы, такие как 5G AKA.
Принцип работы
MILENAGE реализует протокол AKA (Authentication and Key Agreement), который состоит из двух основных этапов: вызов-ответ и генерация сессионных ключей.
Взаимная аутентификация
Процесс аутентификации инициируется сетью (MSC, SGSN, MME), которая отправляет абонентскому устройству (UE) запрос аутентификации, содержащий случайное число RAND (Random challenge) и автономный токен AUTN (Authentication Token). Абонентское устройство, используя алгоритмы MILENAGE, встроенные в SIM-карту (UICC), вычисляет ожидаемый ответ XRES (Expected Response) и проверяет подлинность AUTN. Если проверка проходит успешно, устройство отправляет сети ответ RES (Response). Сеть, в свою очередь, сравнивает RES с XRES. Совпадение подтверждает подлинность абонента.
Генерация ключей
После успешной аутентификации MILENAGE генерирует несколько ключей:
- CK (Cipher Key) — ключ шифрования, используемый для защиты конфиденциальности передаваемых данных.
- IK (Integrity Key) — ключ целостности, используемый для защиты от подмены и модификации данных.
- AK (Anonymity Key) — ключ анонимности, используемый для маскировки идентификатора абонента (IMSI) в некоторых режимах.
Эти ключи являются сессионными и действительны только в течение одного сеанса связи или до повторной аутентификации.
Структура и алгоритмы
MILENAGE представляет собой набор из пяти алгоритмов, обозначаемых как f1, f1*, f2, f3, f4, f5. Каждый из них выполняет строго определённую функцию:
- f1 — вычисление MAC (Message Authentication Code) для проверки подлинности AUTN.
- f1* — вычисление MAC для случая ресинхронизации (при сбое счётчика последовательности SQN).
- f2 — вычисление ожидаемого ответа XRES.
- f3 — генерация ключа шифрования CK.
- f4 — генерация ключа целостности IK.
- f5 — генерация ключа анонимности AK.
Все алгоритмы основаны на блочном шифре AES (Advanced Encryption Standard) с длиной ключа 128 бит. В спецификации MILENAGE используется модифицированная версия AES, работающая в режиме, близком к режиму сцепления блоков (CBC), но с дополнительными операциями, такими как циклический сдвиг и XOR. Конкретная реализация описана в 3GPP TS 35.206.
Применение
В сетях UMTS (3G)
В UMTS MILENAGE является обязательным для реализации на стороне сети и абонентского устройства. Алгоритмы f1–f5 используются для аутентификации и генерации ключей длиной 128 бит. Это обеспечивает значительно более высокий уровень безопасности по сравнению с GSM, где ключи шифрования имели длину всего 64 бита.
В сетях LTE (4G)
В LTE MILENAGE применяется в рамках протокола EPS AKA (Evolved Packet System AKA). Алгоритмы f1, f1*, f2, f3, f4, f5 используются аналогично UMTS, но с некоторыми изменениями. Например, ключ шифрования CK и ключ целостности IK могут быть дополнительно преобразованы в ключи KASME (Key for Access Security Management Entity) с помощью функции KDF (Key Derivation Function). Это позволяет адаптировать алгоритмы к архитектуре LTE, где функции управления мобильностью и безопасности разделены.
В сетях 5G
В 5G NR MILENAGE не является основным алгоритмом, но может использоваться в качестве одного из вариантов для обратной совместимости. Основной алгоритм аутентификации в 5G — 5G AKA, который также основан на протоколе AKA, но использует более длинные ключи (256 бит) и дополнительные механизмы защиты, такие как защита от атак с перехватом IMSI. Однако для старых SIM-карт, поддерживающих только MILENAGE, предусмотрена возможность работы в сетях 5G с использованием алгоритмов MILENAGE.
Криптостойкость
MILENAGE считается криптостойким алгоритмом, устойчивым к известным атакам, включая атаки на основе линейного и дифференциального криптоанализа. Открытость спецификации позволила криптографам провести независимый аудит. В 2010 году исследователи из Университета Калифорнии в Беркли выявили потенциальную уязвимость, связанную с возможностью предсказания случайных чисел RAND, но она не была признана критической, так как требовала физического доступа к SIM-карте. В 2019 году группа китайских учёных опубликовала работу, демонстрирующую возможность атаки на MILENAGE с использованием квантовых вычислений, но на практике такая атака пока остаётся теоретической.
Ограничения
Несмотря на высокую стойкость, MILENAGE имеет ряд ограничений:
- Длина ключа — 128 бит, что в перспективе может быть недостаточно для защиты от квантовых атак.
- Отсутствие поддержки постквантовой криптографии — алгоритмы MILENAGE не предусматривают замены AES на постквантовые шифры.
- Зависимость от случайных чисел — безопасность протокола AKA критически зависит от качества генерации RAND. Если RAND предсказуемы, возможны атаки на аутентификацию.
- Сложность реализации — для корректной работы требуется точное соблюдение спецификации, особенно в части обработки счётчика последовательности SQN, что может приводить к ошибкам при ресинхронизации.
Источники
- 3GPP TS 35.205: «3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; 3G Security; Specification of the MILENAGE Algorithm Set: An example algorithm set for the 3GPP authentication and key generation functions f1, f1, f2, f3, f4, f5 and f5; Document 1: Algorithm specification».
- 3GPP TS 35.206: «3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; 3G Security; Specification of the MILENAGE Algorithm Set: An example algorithm set for the 3GPP authentication and key generation functions f1, f1, f2, f3, f4, f5 and f5; Document 2: Implementor's test data».
- 3GPP TS 33.102: «3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; 3G Security; Security architecture».
- 3GPP TS 33.401: «3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; 3GPP System Architecture Evolution (SAE); Security architecture».
- 3GPP TS 33.501: «3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Security architecture and procedures for 5G system».
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →