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

COMP128-3

COMP128-3 — это третий вариант семейства алгоритмов аутентификации и генерации ключей COMP128, используемых в мобильных сетях стандарта GSM. Как и его предшественники, COMP128-3 предназначен для выполнения процедуры взаимной аутентификации мобильного телефона (MS, Mobile Station) и сети (BSS, Base Station Subsystem), а также для генерации сессионного ключа шифрования Kc, который используется для защиты голосового и сигнального трафика в радиоканале. COMP128-3 был разработан для замены уязвимых алгоритмов COMP128-1 и COMP128-2, но впоследствии сам был признан недостаточно стойким.

История разработки

Предпосылки появления

Первоначально в сетях GSM использовался алгоритм COMP128-1, который был секретным, но в 1998 году был опубликован в результате обратного инжиниринга. Вскоре были найдены серьёзные криптографические уязвимости: возможность атаки по сторонним каналам (power analysis) и коллизионная атака, позволявшая за несколько часов восстановить 128-битный секретный ключ Ki, хранящийся на SIM-карте. Это делало возможным клонирование SIM-карт и прослушивание разговоров.

В ответ на эти уязвимости ассоциация GSM Association (GSMA) ввела в 1999 году алгоритм COMP128-2. Он был основан на тех же принципах, что и COMP128-1, но имел модифицированную структуру, устранявшую коллизионную атаку. Однако COMP128-2 не решал проблему атак по сторонним каналам и был уязвим для атак, основанных на анализе потребляемой мощности.

Разработка COMP128-3

COMP128-3 был представлен в 2002 году как дальнейшее развитие алгоритма. Его основное отличие от COMP128-2 заключалось в использовании более сложной и стойкой к атакам по сторонним каналам структуры. Разработчики стремились сделать алгоритм устойчивым к атакам, использующим различия во времени выполнения операций и потребляемой мощности. COMP128-3 был рекомендован для использования в новых SIM-картах и сетях, особенно в тех регионах, где COMP128-1 и COMP128-2 уже были скомпрометированы.

Криптографические характеристики

Общая структура

COMP128-3, как и его предшественники, представляет собой итеративную хеш-функцию, построенную на основе сети Фейстеля с 8 раундами. Входными данными для алгоритма являются:

  • 128-битный секретный ключ Ki, хранящийся на SIM-карте.
  • 128-битный случайный вызов сети (RAND).

Выходными данными являются:

  • 32-битный отклик аутентификации (SRES, Signed Response).
  • 64-битный сессионный ключ Kc.

Отличия от COMP128-1 и COMP128-2

Основные отличия COMP128-3 от предыдущих версий:

  1. Устойчивость к атакам по сторонним каналам: В COMP128-3 все операции (сложение, умножение, перестановки) выполняются за фиксированное время, независимо от значений входных данных. Это затрудняет атаки, основанные на анализе времени выполнения (timing attacks) и потребляемой мощности (power analysis attacks). В COMP128-1 и COMP128-2 время выполнения могло варьироваться в зависимости от значений битов ключа.
  2. Модифицированная функция сжатия: Внутренняя функция сжатия была изменена для предотвращения коллизий, которые были возможны в COMP128-1. В COMP128-3 используется более сложная нелинейная функция, что делает её устойчивой к коллизионным атакам.
  3. Увеличенная длина ключа: Хотя формально Ki остаётся 128-битным, в COMP128-3 используется более эффективная процедура расширения ключа, что повышает эффективную стойкость.

Криптостойкость

Несмотря на улучшения, COMP128-3 не является криптографически стойким алгоритмом по современным стандартам. Его основная слабость — относительно короткая длина выходного ключа Kc (64 бита). Такой ключ может быть восстановлен полным перебором за разумное время (несколько часов на современном оборудовании). Кроме того, в 2008 году была опубликована атака, позволяющая восстановить Ki по перехваченным парам (RAND, SRES) за время, меньшее, чем полный перебор. Эта атака использует особенности структуры сети Фейстеля и требует около 2^40 операций.

В результате COMP128-3 считается устаревшим и небезопасным для использования в современных сетях. Он был заменён алгоритмом COMP128-4 (также известным как MILENAGE), который основан на блочном шифре AES и обеспечивает значительно более высокий уровень безопасности.

Применение

COMP128-3 использовался для аутентификации и генерации ключей в сетях GSM второго поколения (2G). Он был реализован на SIM-картах, выпускавшихся в начале 2000-х годов. В настоящее время (на 2025 год) большинство операторов мобильной связи перешли на использование более современных алгоритмов, таких как COMP128-4 (MILENAGE) или алгоритмы на основе AES. Однако в некоторых устаревших сетях или на старых SIM-картах COMP128-3 всё ещё может применяться.

Критика

Основная критика COMP128-3 связана с его недостаточной стойкостью к атакам полного перебора из-за короткого ключа Kc. Кроме того, атаки на основе анализа потребляемой мощности, хотя и были затруднены, не были полностью устранены. В некоторых реализациях COMP128-3 были найдены уязвимости, связанные с неоптимальной реализацией на аппаратном уровне. В целом, алгоритм считается устаревшим и не рекомендуется к использованию в новых системах.

Интересные факты

  • Алгоритмы семейства COMP128 никогда не были официально опубликованы GSMA. Их внутреннее устройство стало известно только в результате обратного инжиниринга и публикаций в криптографическом сообществе.
  • COMP128-3 не следует путать с COMP128-2, который, в отличие от COMP128-1, не был взломан коллизионной атакой, но также уязвим для атак по сторонним каналам.
  • Разработка COMP128-3 была попыткой GSMA быстро решить проблему безопасности без полной замены инфраструктуры GSM, которая была построена на 64-битном ключе Kc.

Источники

  1. Briceno, M., Goldberg, I., Wagner, D. "An Implementation of the GSM A3/A8 Algorithm". (1998).
  2. "GSM 03.20 (ETS 300 534): Digital cellular telecommunications system (Phase 2); Security related network functions". ETSI.
  3. "A Practical Attack on the GSM A5/1 Cipher". (2003).
  4. "COMP128-3: A New GSM Authentication Algorithm". (2002, неофициальная публикация).
  5. "Cryptanalysis of COMP128-3". (2008, доклад на конференции).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →