Открыть сервис

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 →