Interested Article - A8 (шифр)

A8 — алгоритм формирования ключа шифрования , который впоследствии используется для обеспечения конфиденциальности передаваемой по радиоканалу информации в стандарте мобильной сотовой связи GSM . A8 является одним из алгоритмов обеспечения секретности разговора в GSM вместе с A5 и A3 . Его задача — генерация сеансового ключа Kc для потокового шифрования информации в канале связи между сотовым телефоном (MS — Mobile Station) и базовой станцией (BTS — Basic Transmitter Station) после аутентификации. По причине безопасности формирование Kc происходит в Sim-карте .

Обеспечение безопасности

Под «безопасностью» в GSM будем понимать невозможность несанкционированного использования системы и секретность переговоров абонентов. В этой статье рассматриваются некоторые механизмы безопасности:

  1. аутентификация
  2. секретность передачи данных

Механизм аутентификации

Схема аутентификации на шифре A8 для сетей GSM.

Для исключения несанкционированного использования ресурсов системы связи вводятся механизмы аутентификации. У каждого подвижного абонента есть стандартный модуль подлинности абонента ( SIM-карта ), которая содержит:

  1. международный идентификационный номер подвижного абонента ( IMSI — International Mobile Subscriber Identity)
  2. свой индивидуальный 128-битный ключ аутентификации ( Ki )
  3. алгоритм аутентификации (A3), и генерации сеансового ключа (А8).

Ключ аутентификации пользователя Ki уникален и однозначно связан с IMSI, оператор связи по значению IMSI «умеет» определять Ki и вычисляет ожидаемый результат. От несанкционированного использования SIM защищена вводом индивидуального идентификационного номера ( PIN-код — Personal Identification Number), который присваивается пользователю вместе с самой картой.

Рассмотрим процедуру проверки подлинности абонента. Сеть генерирует — случайный номер (RAND) и передаёт его на мобильное устройство. В Sim-карте происходит вычисление значения отклика (SRES — Signed Response) и сеансового ключа, используя RAND, Ki и алгоритмы A3, А8. Мобильное устройство вычисляет SRES и посылает его в сеть, которая сверяет его с тем, что вычислила сама. Если оба значения совпадают, то аутентификация пройдена успешно и мобильное устройство получает от сети команду войти в шифрованный режим работы. Из-за секретности все вычисления происходят внутри SIM. Секретная информация (такая как Ki ) не поступает вне SIM-карты. Ключ Kc также не передаётся по радиоканалу. Подвижная станция (ПС) и базовая станция (БС) вычисляют их отдельно друг от друга.

Реализация алгоритма

Формат входных и выходных данных для алгоритма A8 строго определён консорциумом 3GPP . Но A8 не является стандартизованным, а определяется оператором. Алгоритмы A3 и А8 реализованы как единое вычисление, выходные данные которого (96 бит) трактуются так: 32 бита для образования SRES и 64 бита для образования Kc . Длина значимой части ключа Kc , выданная алгоритмом А8 может быть меньше 64 бит. Тогда значимые биты дополняются нулями до количества 64, указанного в спецификации алгоритма. В настоящее время известны следующие стандартные реализации алгоритма A3/A8:

  • COMP128
  • COMP128-2
  • COMP128-3
  • MILENAGE

Хотя существуют альтернативы COMP128, но этот протокол по-прежнему поддерживается в подавляющем большинстве сетей GSM . По данным SDA (Smarcard Developer Assosiation), большинство операторов связи не производит проверку на одновременное включение «одинаковых» абонентов, настолько они уверены в невозможности клонирования Sim-карт.

COMP128

История

COMP128 — ключевая хеш-функция , генерирующая за один проход SRES и Kc . А3, А5, А8 были разработаны в Великобритании, и изготовители мобильных телефонов, желающие реализовать эту технологию шифрования в своих продуктах, должны соглашаться на неразглашение тайны и получать специальные лицензии от британского правительства. Разногласия между изготовителями мобильных телефонов и британским правительством вокруг экспорта технологии шифрования в GSM были улажены в 1993. Но в 1998 году некоторые документы с описанием были опубликованы в Интернете. Несмотря на неполное описание, было установлено, какие именно криптографические методы используются в GSM. и буквально за день взломали алгоритм COMP128, так как его ключ был слишком коротким. Криптографический алгоритм COMP128 все ещё используется, но в улучшенной форме под названием COMP 128-2. Криптографические алгоритмы A3 и A8 специфицированы для сетевых операторов, хотя некоторые параметры стандартизованы для обеспечения взаимодействия между сетями.

Общие утверждения

На вход алгоритму подается 128-битный (16 байт ) RAND, полученный от базовой станции и 128-битный Ki , прошитый в Sim-карте. Выходом является 96-битная (12 байт) последовательность. Спецификация стандарта утверждает, что первые 4 байта являются SRES, который мобильный аппарат отправляет для аутентификации, а байты с 5-го по 12-й — это сессионный ключ Kc . Следует заметить, что биты ключа с 42 по 95, за которыми идут 10 нулей. То есть у 64-битного ключа Kc энтропия не превосходит 54 бита. Это представляет существенное ослабление криптостойкости шифра A5 более чем в 1000 раз.

Ослабление криптостойкости

Одной из причин, объясняющих, почему разработчики GSM держали в секрете алгоритмы, возможно, является их сотрудничество со службами контроля.

«Единственная сторона, которая заинтересована в ослаблении защиты, это национальные службы надзора,

— сказал директор SDA (Smartcard Developer Association ) Марк Брисено, —

покупателям нужна секретность переговоров, а операторы не несут дополнительных расходов от использования полноразмерного ключа»

.

3GPP

В архитектуре 3GPP (как и в GSM) всем операторам не обязательно использовать одинаковые алгоритмы аутентификации и генерации ключа. Конечно существуют рекомендации и в качестве примера приводится один алгоритм. Однако, как показывает практика, именно он становится повсеместно используемым. В 3GPP таким примером стал MILENAGE. MILENAGE построен на основе шифра Rijndael (победитель конкурса AES на лучший американский криптостандарт, сменивший DES ). Что касается А5 — шифрования переговоров и обеспечения целостности сообщений, то он непременно должен быть одинаков у всех операторов, чтобы они могли предоставлять услугу роуминг . Этот алгоритм в 3GPP построен на основе блочного шифра KASUMI .

Проблемы безопасности

  • Активные атаки — злоумышленник исполняет роль сетевого элемента (например, роль BTS).
  • Небезопасная передача ключевой информации: RAND, SRES передаются в явном виде внутри и между сетями.
  • Односторонняя идентификация :
    1. Обеспечивается только аутентификация пользователя для сети.
    2. Нет средств идентификации сети для пользователя.
  • Слабые алгоритмы шифрования. Длина ключа слишком мала, в то время как скорости вычислений растут
  • Негибкость. Неадекватная гибкость, что мешает модернизировать и улучшать функциональные возможности защиты со временем.

См. также

Примечания

  1. . Дата обращения: 3 декабря 2009. 14 января 2010 года.
  2. (англ.) . Архивировано из 2 декабря 1998 года.
  3. . Дата обращения: 3 декабря 2009. Архивировано из 22 августа 2009 года.

Ссылки

  • (недоступная ссылка)
  • (недоступная ссылка)
Источник —

Same as A8 (шифр)