Овчаренко М.А.

Государственное высшее учебное заведение "Национальный горный университет", Украина

Конфиденциальность переговоров абонентов мобильной связи стандарта GSM

Создание методов защиты и передачи информации в стандарте GSM осуществлялось секретно, и выдавалось операторам связи только по мере необходимости. Разработчики полагались на безопасность благодаря неизвестности алгоритма, т. е. алгоритмы сложнее взломать, если они не доступны публично. Но согласно предположению Керкхоффа, наиболее безопасными являются системы, криптозащита которых зависит только от ключа, алгоритмы же, наоборот, должны быть открыты и подвергнуты исследованию для выявления уязвимостей.

Раскрытие алгоритмов шифрования и аутентификации привело к снижению безопасности стандарта. В GSM определены следующие механизмы безопасности: аутентификация (авторизация идентификатора абонента), секретность передачи данных (конфиденциальность идентификатора абонента), секретность абонента (конфиденциальность данных), секретность направлений соединения абонентов. Система построена на алгоритмах аутентификации и шифрования.

Аутентификация абонента

Цель аутентификации в GSM — избежание клонирования SIM-карты абонента. Криптозащита в сети GSM является криптографической системой с открытым ключом. Секретным ключом является 128-битный ключ Ki, которым обладает как абонент, так и Центр Аутентификации (AuC — Authentication Centre). Ki хранится в SIM-карте, также как и алгоритм A3. Также в аутентификации принимают участие Домашний реестр местоположения (HLR — Home Location Registry) и Центр коммутации (MSC — Mobile Switching Centre).

Когда MS (Mobile Station) запрашивает доступ к сети GSM, MSC (Mobile Switching Centre) должен проверить подлинность MS. Для этого MS отправляет в HLR уникальный международный идентификатор абонента (IMSI — International Mobile Subscriber Identity) и запрос на получение набора специальных триплетов. Когда HLR получает IMSI запрос на триплеты, он сначала проверяет свою базу данных, чтобы удостовериться, что MS с таким IMSI действительно принадлежит сети. Если проверка прошла успешно, то HLR отправляет IMSI и запрос установления подлинности в АuC.

AuC использует IMSI, чтобы найти Ki соответствующий этому IMSI. Также AuC генерирует случайное 128-битное число RAND. После этого AuC вычисляет 32-битный отзыв SRES (SRES — Signed Response) при помощи алгоритма A3: SRES = A3(RAND, Ki). Кроме того, AUC вычисляет 64-битный сеансовый ключ Kc при помощи алгоритма A8: Kc = A8(RAND, Ki). Kc в дальнейшем используется в алгоритме A5 для шифрования и дешифрования данных.

RAND, SRES, и Kc как раз образуют триплеты, которые MSC запросил у HLR. AuC генерирует пять таких триплетов и посылает их в HLR, затем HLR пересылает этот набор в MSC. Генерируется именно набор триплетов, чтобы уменьшить передачу сигналов в GSM, которая происходила бы каждый раз, когда MS запрашивала бы доступ к сети, а MSC должен был бы проверить подлинность MS.

MSC сохраняет Kc и SRES и посылает запрос RAND мобильной станции MS абонента. Получив запрос RAND, MS вычисляет ответ на запрос при помощи алгоритма A3 и секретного ключа Ki: SRES = A3(RAND, Ki), и посылает его в MSC. Если принятый SRES совпадает с SRES, хранящимся в MSC, то аутентификация считается пройденной успешно.

После пяти сессий аутентификации MSC запрашивает у HLR новый набор триплетов (RAND, SRES, Kc). После успешной аутентификации MS получает сигнал, который включает шифрование по определенному алгоритму.

Алгоритмы шифрования

Шифрование осуществляется с помощью алгоритма A5 по кадрам, который в качестве параметров шифрования получает сеансовый ключ Kc и 22-битный номер кадра Frame, а на выходе каждому кадру соответствует 114-битовая кодовая последовательность. Сеансовый ключ может использоваться несколько дней, т.к. аутентификация является необязательным действием при звонке по телефону.

Для дешифрации аналитик должен знать номер кадра и Kc.

Существуют следующие алгоритмы шифрования А5:

А5/0 – без шифрования;

А5/1 – наиболее стойкое шифрование, применяемое в стандарте GSM;

А5/2 – ослабленная версия алгоритма А5/1;

А5/3 – алгоритм шифрования, разработанный для третьего поколения мобильной связи, который должен сменить алгоритм А5/1.

Алгоритм А5/1

Схема алгоритма А5/1 содержит 3 LSFR различной длины (19, 22, 23 бита с многочленами обратных связей X19+X18+X17+X14+1 для R1, X22+X21+1 для R2 и X23+X22+X21+X8+1 для R3 соответственно), суммарной длиной в 64

Управление тактированием осуществляется специальным механизмом:

-     в каждом регистре есть биты синхронизации: 8 (R1), 10 (R2), 10 (R3);

-     вычисляется функция F = x&y|x&z|y&z, где & — булево AND, | - булево OR, а x, y и z — биты синхронизации R1, R2 и R3 соответственно;

-     сдвигаются только те регистры, у которых бит синхронизации равен F.

Для получения очередного бита ключевой последовательности, выходы всех регистров складываются по модулю 2.

Алгоритм А5/2

В алгоритме А5/2 используются такие же регистры управления сдвигами что и в А5/1, только к очередному биту последовательности добавляется по модулю 2 результат работы мажоритарной функции каждого из регистров (F = x&y|x&z|y&z, где R1: x – 12,y – 14, z – 15; R2: x – 9,y – 13, z – 16; R3: x – 13, y – 16, z – 18). Управление сдвигами реализовано с помощью регистра R4, состоящего из 17 бит с многочленом обратной связи X17+X10+1.

В R4 биты 3, 7, 10 – биты синхронизации, вычисляется мажоритарная функция F = x&y|x&z|y&z (равна большинству), где & — булево AND, | - булево OR, а x, y и z — биты синхронизации R4(3), R4(7) и R4(10) соответственно.

R1 сдвигается если R4(10) = F,

R2 сдвигается если R4(3) = F,

R3 сдвигается если R4(7) = F,

Известные уязвимости алгоритма А5

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

-     10 бит ключа принудительно занулены;

-     отсутствие перекрестных связей между регистрами (кроме управления сдвигами);

-     излишняя избыточность шифруемой служебной информации, известной криптоаналитику;

-     свыше 40% ключей приводит к минимальной длине периода генерируемой последовательности, а именно вначале сеанса осуществляется обмен нулевыми сообщениями (по одному кадру);

-     в A5/2 движение осуществляется отдельным регистром длиной 17 бит.

На основе этих уязвимостей алгоритма, построены схемы взлома.

Известные атаки

Ключом является сессионный ключ длиной 64 бита, номер кадра считается известным. Таким образом, сложность атаки основанной на прямом переборе равна 264.

Первые обзоры шифра (работа Росса Андерсона) сразу выявили уязвимость алгоритма — из-за уменьшения эффективной длины ключа (зануление 10 бит) сложность упала до 245 (сразу на 6 порядков). Атака Андерсона основана на предположении о начальном заполнении коротких регистров и по выходным данным получения заполнения третьего.

В 1997 году Йован Голич опубликовал результаты анализа А5. Он предложил способ определения первоначального заполнения регистров по известному отрезку гаммы длиной всего 64 бита. Этот отрезок получают из нулевых сообщений. Атака имеет среднюю сложность 240.

В 1999 году Вагнеру и Голдбергу без труда удалось продемонстрировать, что для вскрытия системы, достаточно перебором определить начальное заполнение R4. Проверка осуществляется за счёт нулевых кадров. Сложность этой атаки равна 217, таким образом, на современном компьютере вскрытие шифра занимает несколько секунд.

Злоумышленник может записать разговоры, а затем их расшифровать, используя дефект в протоколе: процесс генерации сеансового ключа не зависит от того, какой выбран алгоритм шифрования. Поэтому становится возможным организовать атаку с вынуждением жертвы применить слабый шифр А5/2 и узнать сеансовый ключ.

 Выводы: алгоритмы шифрования А5, аутентификации и генерации ключа А3 и А8 имеют ряд уязвимостей, позволяющих злоумышленнику осуществив атаку получить доступ к конфиденциальной информации.

Литература:

1) А.В. Асосков, М.А. Иванов, А.А. Мирский, А.В. Рузин, А.В. Славин, А.Н. Тютвин Поточные шифры. – М.: КУДИЦ-ОБРАЗ, 2003. – 2003. – 336 с.

2) Quirke, Jeremy Security in the GSM system. AusMobile (2004-05-01)

3) Jovan Dj. Golic, Cryptanalysis of Alleged A5 Stream Cipher, http://gsmsecurity.com/papers/a5-hack.html

4) Slobodan Petrovic and Amparo Fuster-Sabater, Cryptanalysis of the A5/2 Algorithm, http://gsmsecurity.com/papers/a52.pdf

5) GSM: вскрытие покажет Валерий Коржов http://www.osp.ru/nets/2004/03/150909/

6) http://cryptome.org/a51-bsw.htm