Курс "Защита информации", кафедра радиотехники, Московский физико-технический институт (МФТИ)

2010: Главная Экзамен Лекции Семинары Проекты Эссе | Преподаватели Литература | Архив: 2009 2008-fall 2008 2007 2006 2005 2004 2003 | English
HTML-версия эссе "GSM Security", Platonenkov, 2003, сгенерированная из pdf/rtf.
Конвертация не вcегда корректна. Смотрите исходный pdf.
Безопасность в сетях GSM.
1.05.2003
Сергей А. Платоненков ФРТКМФТИ
Обзор (Abstract)
Стандарты сетей GSM изначально разрабатывались с учетом необходимости защиты данных, передаваемых по радиоканалу, а так же обеспечения процедуры аутентификации. Принципы и алгоритмы обеспечения безопасности GSM Консорциум оставил в тайне и никогда их не публиковал. Тем не менее, некоторые алгоритмы и спецификации стали доступны широкой общественности, и в них были выявлены серьезные недостатки. Общая схема построена таким образом, что атаке могут подвергнуться многие части GSM сети, а не только конкретный телефон. Несмотря на то, что стандарты GSM разрабатывались для обеспечения защиты от несакционикованного доступа и прослушивания, схема безопасности оказалась неспособна это обеспечить
1.  Введение
GSM - одна из первых систем цифровой сотовой связи, пришедших на смену аналоговым системам. GSM имеет более 100'000'000 пользователей и является наиболее популярной в мире. При ее разработке попытались решить проблемы стоявшие очень остро у аналоговых систем - подслушивание переговоров, возможность фальсифицировать данные, возможность выдавать себя за другого и делать звонки за чужой счет, т.е. проблемы аутентификации между MS и MSC и криптозащиты данных в радиоканале между MS и BTS.
Спецификации на сеть GSM были разработаны GSM Consortium в тайне, производителям оборудования, программных средств и операторам сетей были сообщены только минимально необходимые сведения. Спецификации никогда не публиковались и не обсуждались широкой общественностью. Консорциум полагался на «безопасность из-за неизвестности», т.е. что алгоритмы сложнее «сломать», если они не доступны публично. Однако известно, что стойкость криптосистемы зависит от стойкости ключа, и неизвестность самого алгоритма не является существенной помехой, и при анализе любой криптосистемы алгоритм можно считать известным. То, что алгоритмы были разработаны в тайне, наводит на мысль, что они не были сделаны очень стойкими, и, когда они все-таки стали известны общественности, так и оказалось.
2.  Общая схема криптозащиты GSM сетей
Криптозащита GSM сетей основывается на разделяемой между SIM и HLR секретной информации. Этой секретной информацией является Ki - секретный 128-битный ключ, который храниться в SIM и HLR, и используется для генерации 32-битного отзыва (SRES) на случайный пароль (RAND) в процедуре аутентификации, а также для выработки 64-битного сессионного ключа (Kc), который используется для шифрования данных в
радиоканале. При первом появлении MS в сети HLR предоставляет MSC пять троек, которые содержат случайный пароль (RAND), отзыв на этот пароль (SRES), сгенерированный при помощи секретного ключа (Ki), а так же сессионный ключ (Kc) , полученный из Ki. Каждая из троек используется только для одной сессии связи с MS и MSC. После 5 сессий MSC запрашивает у HLR новый набор из 5 троек.
Когда MS впервые появляется в области данного MSC, MSC посылает RAND из одной из троек, относящихся к данной MS. MS вырабатывает SRES при помощи А3 алгоритма, используя полученный RAND и Ki, хранящийся в SIM. MS отсылает SRES, и, если он совпадает с тем SRES, который содержится в данной тройке, то процедура аутентификации считается пройденной успешно.
Далее MS генерирует сессионный ключ Кс, при помощи алгоритма А8, используя уже полученный RAND и имеющийся Ki. Базовая станция (BTS), используемая для связи с данной MS, получает необходимый Kc у MSC. С этого момента радиоканал становится шифрованным.
Мобильная                         Базовая
Станция                          Станция
Кс (64 бит), номер кадра (22 бита)                Кс (64 бит), номер кадра (22 бита)
Каждый кадр передаваемого по радиоканалу трафика кодируется своей 114-битной ключевой последовательностью. Эта последовательность генерируется при помощи алгоритма А5. Алгоритм А5 инициализируется сессионным ключом и номером передаваемого кадра, таким образом, для каждого кадра получается собственная последовательность. Это означает, что дешифрование одного звонка возможно только если аналитик знает Кс и номер кадра. Один и тот же Кс используется пока MSC не инициирует процедуру аутентификации заново, при этом будет сгенерирован новый Кс. На практике один и тот же Кс может использоваться несколько дней, т.к. аутентификация является необязательной процедурой в начале звонка и производится нечасто.
Надо так же отметить, что шифрованным в GSM сетях является только радиоканал, а между базовыми станциями данные передаются в открытом виде.
2.1. А3, Алгоритм аутентификации
Алгоритм аутентификации А3 используется для генерации отзыва SRES на случайный пароль RAND, получаемый от MSC. На входе А3 передаются RAND (128 бит) и Кi (128 бит), на выходе получают SRES (32 бита).
Практически все операторы GSM в мире используют алгоритм COMP128 в качестве А3 и А8 алгоритмов. СОРМ128 был утвержден GSM Consortium как опорный для А3 и А8. Есть пара операторов, которые используют другие, но тоже известные, алгоритмы.
На самом деле, СОМР128 на выходе генерирует 128-битную строку, но как SRES используются только первые 32 бита.
2.2. А8, Алгоритм генерации сессионного ключа
Алгоритм А8 в GSM сетях используется для генерации сессионного ключа. На вход подают Ki и RAND, на выходе получают 64-битный Кс. BTS получает его от MSC, который в свою очередь получает от НLR. HLR способен генерировать Кс, т.к. знает RAND (который он же и генерирует) и секретный ключ Ki, который он получает при подключении пользователя и создании SIM карты. Новый сессионный ключ генерируется, в случае, если MSC инициирует процедуру аутентификации.
Как было сказано, СОМР128 используется большинством GSM сетей в качестве А3 и А8. Таким образом СОМР128 генерирует SRES и Кс за один проход. Для Кс используются последние 54 бита выходной последовательности СОМР128,но алгоритм А5 требует 64-битного ключа. Его получают из уже сгенерированных 54 бит и 10 нулевых бит, которые приписывают в конец. Таким образом, ключ имеет эффективную длину 54 бита. Это сделано во всех реализациях А8, где используется СОМР128, и, судя по всему, сделано умышленно.
Ki (128 бит) RAND (128 бит)
Алгоритмы А3 и А8 «зашиты» в SIM карте. Это позволяет оператору сотовой связи самому решить, какие именно алгоритмы будут использоваться в его сетях в качестве А3 и А8, и не зависеть от производителей оборудования и других операторов. При этом проблем с аутентификацией в «гостевых» сетях не возникает, т.к. местная сеть получает уже готовые RAND, SRES и Kc от HLR «домашней» сети, которой, в свою очередь, известны Ki и конкретные реализации А3 и А8.
2.3. А5, Алгоритм шифрование радиоканала
Алгоритм А5, применяемый для шифрования данных передаваемых по радиоканалу, является потоковым алгоритмом шифрования. Схема шифрования инициализируется сессионным ключом Кс и номером передаваемого кадра. Один и тот же сессионный ключ используется на протяжении всего звонка, но номера кадра кадров меняются, таким образом, перед передачей очередного кадра схема инициализируется заново, и для каждого кадра генерируется своя уникальная ключевая последовательность.
Основным элементом схемы шифрования алгоритма А5 является линейный регистр сдвига с обратной связью (Linear Feedback Shift Register - LFSR). Как видно на схеме, LSFR представляет собой регистр сдвига, в котором значение вытесняемого бита зависит от предыдущих состояний и определяется конфигурацией обратных связей.
LFSR
При удачном выборе конфигурации обратных связей, LSFR может генерировать псевдослучайную последовательность, функция автокорреляции и спектральная плотность которой позволяет использовать ее в качестве псевдошума.
Схема алгоритма А5 используемого в европейских странах содержит 3 LSFR различной длинны (19, 22, 23 бита), суммарной длинной в 64 бита. Для получения очередного бита ключевой последовательности, выходы всех регистров складываются по модулю 2. Все 3 регистра имеют управление сдвигом, т.е. можно запретить сдвиг по очередному сигналу тактового генератора. Управление сдвигом происходит по среднему биту. Сдвиг происходит, если значение среднего бита регистра совпадает с преобладающим значением средних битов всех 3 регистров. К примеру, если значения средних битов 0 0 1, то сдвиг будет произведен только у 1 и 2 регистров, а если 1 0 1, то у 1 и 3. Таким образом по крайней мере 2 из 3 регистров сдвигаются на каждом шаге.
Регистры инициализируются сессионным ключом Кс и номером кадра. Сначала бит за битом загружается 64-битный Кс. После чего, последние значащие биты ключа в каждом регистре складываются по модулю 2. При отключенном управлении сдвигом, производят сдвиг и загружают еще раз 64 бита Кс. Далее , загружают 22 бита номера кадра, но уже при включенном управлении сдвигом. После того, как регистры были таким образом инициализированы, производят 100 шагов и полученную последовательность отбрасывают. Следующие 228 бит составляют выходную ключевую последовательность,
первые 114 бит которой используют для шифрования кадра от MS к BTS, а остальные 114 обратно от BTS к MS. Для шифрования следующего кадра, схема инициализируется заново, и процесс повторяется.
Кроме этой схемы алгоритма А5, были также разработаны и другие. Основная причина в том, что данную схему посчитали слишком стойкой для поставок на Ближний Восток, в страны восточной Европы и Россию. «Оригинальный» А5 был переименован в А5/1. Другие алгоритмы стали обозначать А5/х. А5/0 предполагает вообще отсутствие шифрования, А5/2 - более слабый чем А5/1 (имеет стойкость 216 против 254). О других вариантах А5 достоверных сведений нет, как, впрочем, и подтверждения того, что они успешно применяются.
3. Возможные атаки
Как и в любой системе шифрования, в системе безопасности GSM наибольший интерес представляет её стойкость к дешифрованию, особенно, если, по крайней мере, один из алгоритмов уже «взломан».
Перехват и дешифрование данных передаваемых по радиоканалу в реальном времени на данный момент пока еще представляется затруднительным, но существующие виды атак позволяют производить дешифрование за приемлемое время и без значительных затрат.
3.1. Атака А5 прямым перебором
Стойкость алгоритма А5 при атаке «грубой силой» - 254 (последние 10 бит Кс - нули), и прослушивание в реальном времени не представляется возможным при разумных затратах. Можно только записать звонок и дешифровать его позже.
Если мы имеем чип класса Pentium III, который содержит примерно 20 миллионов транзисторов, а для реализации одного набора LSFR схемы шифрования алгоритма А5 требуется 2000, то в одном чипе можно организовать примерно 10000 реализаций А5. При тактовой частоте 600 МГц, и если каждая реализация А5 выдает 1 бит за такт, и необходимо сгенерировать 100+114+114 бит, можно проверять 2 миллиона ключей в секунду. Пространство ключей в 254 требует для перебора 900000 секунд или приблизительно 250 часов при одном чипе. Атака может быть оптимизирована отбрасыванием целых классов ключей после первого «плохого» бита ключевой последовательности. Задача легко распараллеливается, чем можно сильно сократить время дешифрования.
3.2. Атака А5 на основе известного открытого текста
Атака на основе известного открытого текста позволяет уменьшить стойкость алгоритма А5 до 245. Целью криптоаналитика является оепределени начального состояния всех LSFR по известной ключевой последовательности. Аналитик должен для этого знать 64 бита ключевой последовательности, которые можно получить, зная шифротекст и соответствующий ему открытый текст. Эту информацию можно извлечь из GSM кадров, которые содержат много постоянной, известной информации, например заголовки кадров. Требуемые 64 бита не всегда могут быть получены, но 32 или 48 бит обычно становятся известны.
3.3. Другие виды атак
В шифрованном виде информация передается только по радиоканалу, а по сети SS7 используемой операторами GSM звонки и служебная информация передаются в
открытом виде. Таким образом, получив доступ к сети оператора злоумышленник может не только прослушивать текущие звонки, но и получает возможность достпау к HLR, где хранятся Ki абонентов, к счастью HLR обычно более серьезно защищен.
Наиболее желаемой информацией является конечно же Ki, который храниться в SIM карте и HLR. Имея компьютер, SmartСard reader, саму SIM карту и соответствующее программное обеспечение можно клонировать SIM карту, это займет около 8 часов, скорость определяется в основном скоростью работы SIM карты. Существует так же теоретическая возможность получения Ki без физического доступа к SIM карте, но это сопряжено с некоторыми трудностями: необходимо иметь специальное оборудование, а так же достаточно долго находиться недалеко от взламываемого телефона.
Заключение
Система защиты сетей GSM имеет серьезные недостатки на многих уровнях защиты, т.к. имеет бреши в различных частях сети оператора GSM. Саму схему нельзя признать удачной. Даже если применять стойкие алгоритмы шифрования, вся система все равно не защищена от различных «социальных» сценариев, например если злоумышленник работает в компании-операторе.
Остается надеяться, что в следующем поколении цифровых сетей связи все это будет исправлено, а пока если вы хотите надежной защиты от прослушивания - применяйте дополнительное шифрование. ©


Page last update: Fri Jun 10 10:11:24 2005 MSD.
Website last update:
Rambler's Top100 Рейтинг@Mail.ru