Помощь в написании студенческих работ
Антистрессовый сервис

Механизмы безопасности в GSM сетях

ДипломнаяПомощь в написанииУзнать стоимостьмоей работы

Извлечение ключа из SIM — карты в эфире Исследователи SDA ISAAC уверены, что такая же атака с клонированием SIM — карты может быть реализована и использованием удаленного доступа. Практического подтверждения их предположение не получило, так как оборудование, необходимое для этого, незаконно в США. Атака в эфире основана на следующем. Требуется, чтобы мобильная станция откликалась на каждый вызов… Читать ещё >

Механизмы безопасности в GSM сетях (реферат, курсовая, диплом, контрольная)

СОДЕРЖАНИЕ Введение

1. История развития GSM

1.1 История создания модели безопасности GSM

2. Механизмы безопасности в GSM сетях

2.1 Система аутентификации в GSM сетях

2.2 Принцип работы алгоритма COMP 128

2.3 Ограничения и недостатки алгоритмов аутентификации в сетях GSM

3. Возможные сценарии атак на систему аутентификации в GSM сетях

3.1 Доступ к сигнальной сети

3.2 Извлечение ключа из SIM

3.3 Извлечение ключа из SIM — карты в эфире

3.4 Извлечение ключа из центра аутентификации

4. Криптографические атаки на алгоритм COMP 128

4.1 Атака WGB

4.2 Улучшения для WGB атаки

4.3 Слабости WGB атаки

4.4 Атака на Ki, составленные из «сильных» элементов

5. Исследование практической эффективности применяемых в настоящий момент алгоритмов аутентификации в стандарте GSM

Заключение

Список сокращенных обозначений Список используемых источников Приложение А

ВВЕДЕНИЕ

В настоящий момент практически невозможно представить себе современное общество без сотовой связи. Количество абонентов мобильных операторов уже исчисляется миллиардами и цифра эта постоянно увеличивается (в качестве примера количество абонентов МТС за март-апрель 2010 года увеличилось на восемьсот сорок тысяч пользователей из которых на долю России пришлось шестьсот сорок тысяч подключений). Но с увеличением числа пользователей данного сервиса увеличивается и число людей, которые хотели бы получить доступ к информации, курсирующей в сотовых сетях (наиболее популярным стандартом сотового соединения сейчас является GSM). Диапазон целей у злоумышленников подобного рода может быть крайне широк: прослушивание телефонных переговоров, перехват вызовов и клонирование телефонных аппаратов и так далее. Необходимо подчеркнуть, на текущий момент практически все исследователи сходятся во мнении, что прослушивание разговора в реальном времени в настоящий момент не представляется возможным (мы не рассматриваем случай мероприятий ОРД или какой-либо иной деятельности спецслужб), поэтому основной угрозой для пользователей мобильной связи можно назвать атаку на модуль подлинности абонента (SIM — карты) с целью его последующего клонирования. Подобная атака дает злоумышленнику возможность ведения дальнейших разговоров за счет легального абонента сети или же, при определенных условиях, прослушивания его телефонных разговоров. Принимая в расчет уровень и доступность современных технологий, а также количество сценариев проведения злоумышленником атак на алгоритмы аутентификации абонента в сети сотовой связи, становится очевидным, что проблемы безопасного использования технологий сотовой связи стандарта GSM в целом и, вопросы безопасности аутентификации абонентов сети GSM, в частности, в настоящий момент стоят достаточно остро. Следовательно, можно сделать вывод, о том, что исследования уязвимостей алгоритмов GSM на сегодня не потеряли своей актуальности. Более того, учитывая факт повсеместного распространения сотовых телефонов, а значит и SIM — карт, среднестатистические (легальные) пользователи, не обладая достаточными знаниями о возможностях нелегального использования смарт — карт, часто не уделяют должного внимания их сохранности и процедурам вывода карт из обращения, давая тем самым возможность злоумышленникам для их беспрепятственного клонирования. Это делает анализ проблем, связанных с механизмами реализации атак на ключевую информацию, хранящуюся в смарт — картах, чрезвычайно актуальным.

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

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

Исходя из вышесказанного, были исследованы возможные сценарии проведения атак на систему аутентификации в стандарте GSM. При этом особое внимание было уделено семейству атак, построенных на базе WGB криптоатаки (Wagner — Goldberg — Briceno crypt attack), так как пакеты программно-аппаратных средств, примененных впервые Вагнером, Голдбергом, Брицено, и их модификации в настоящий момент широкодоступны.

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

Поставленная цель определила совокупный перечень задач:

провести анализ условий, в которых велась разработка стандарта GSM и изучить законодательную базу по данному вопросу;

исследовать основные механизмы аутентификации пользователя в сотовой сети стандарта GSM; уязвимость алгоритм аутентификация атака исследовать предлагаемые сценарии реализации атак на алгоритмы аутентификации, используемые в стандарте GSM, проводимые как в лабораторных, так и в «домашних» условиях;

на практике реализовать серию экспериментов по компрометации секретных ключей, хранящихся на SIM — картах различных операторов мобильной связи РФ с целью получения целостной картины о возможности клонирования предоставляемых ими абонентам смарт — карт и, в случае успеха, о времени необходимом для успешного его завершения, при условии использования только доступных схемотехнических и программных решений.

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

1. История развития GSM

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

Аналоговые беспроводные сети (также называемые сетями первого поколения), распространенные в Европе в семидесятые — восьмидесятые годы двадцатого века, имели множество недостатков: малая емкость сети, незащищенность от прослушивания, возможность несанкционированного входа в систему и так далее. В Западной Европе к этим недостаткам прибавился еще один — в этот момент на ее территории функционировали сети на базе девяти различных стандартов беспроводной связи (Таблица 1) [1], абсолютно не совместимые между собой.

Таблица 1 _ Стандарты аналоговой связи

Название системы

Дата появления

Страна

AMPS

США, другие страны

C-Netz

Германия, Австрия, Португалия

Comvik

Швеция

ETACS

Великобритания, другие страны

NMT450 (Nordic Mobile Telephone)

Швеция, Норвегия, Дания, Финляндия

NMT900

Швеция, Норвегия, Дания, Финляндия

RadioCom

Франция

RTMS (Radio Telephone Mobile System)

Италия

TACS (Total Access Communications System)

Великобритания, Италия, Испания, Австрия, Ирландия

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

Разработка систем беспроводной связи второго поколения началась в 1982 году с создания группы по выработке технических требований к разрабатываемой системе. Группа получила название Groupe Special Mobile (GSM). От группы требовалось подготовить спецификации общеевропейской беспроводной системы связи, ориентированной на обслуживание, в отличие от систем первого поколения, не тысяч, а миллионов абонентов. Одним из основных требований к разрабатываемым стандартам было их соответствие рекомендации СЕРТ от 1980 года об используемом частотном диапазоне (862 — 960 МГц). К 1984 году требования к разрабатываемому стандарту были расширены следующими поправками:

система должна обеспечивать субъективно хорошее качество речи;

стоимость оборудования и абонентной подписки должны быть приемлемыми с точки зрения провайдеров и пользователей соответственно;

система должна поддерживать международный роуминг;

технические решения должны предусматривать создание и использование переносных терминалов, создаваемых на основе существующей и разрабатываемой электронной базы;

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

разрабатываемые передающие устройства должны быть экономичными и создавать минимум помех в процессе эксплуатации;

система должна обеспечивать совместимость с ISDN.

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

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

В 1987 году появились первые образцы систем мобильной связи, разработанные в соответствии с текущими документа группы GSM и были проведены их первые полевые испытания. В первую очередь проверялось соответствие представленных средств сотовой связи требованиям спектральной эффективности и качества речи. На основании проведенных испытаний экспертами GSM были сделаны выводы, согласно которым в том же году на совещании в Мадейре было подписано соглашение, в котором фиксировалось, что новая система будет узкополосной цифровой с временным разделением каналов. Седьмого сентября 1987 года это соглашение было оформлено в виде «меморандума о понимании» (Memorandum of Understanding, MoU [4]), а операторам связи в категоричной форме было указано на необходимость его подписания.

Аббревиатура GSM стала читаться как Global System for Mobile Communications. Первая сеть стандарта GSM была введена в эксплуатацию в 1992 году в Германии. Всего за полтора года с момента внедрения количество абонентов сети выросло до одного миллиона человек.

В настоящий момент стандарт GSM является самым распространенным стандартом мобильной связи в мире, а количество его абонентов на конец 2009 года превышало четыре миллиарда шестьсот миллионов абонентов и, по прогнозам аналитиков, эта цифра в 2010 году увеличится до отметки в пять миллиардов шестьсот миллионов подписчиков.

1.1 История создания модели безопасности GSM

Стандарт GSM стал первым стандартом сотовой связи, в котором большое внимание было уделено безопасности. Сети предыдущего поколения практически не имели средств защиты и постоянно становились объектом криминальных действий, таких как прослушивание телефонных разговоров, перехват вызовов и клонирование телефонных аппаратов [5],.

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

Для защищенной передачи оцифрованной речи по радиоканалу был разработан закрытый криптоалгоритм А5 [8], а для аутентификации абонентов в сети алгоритм COMP 128. При их разработке учитывались не только технические, но и политические мотивы — поскольку необходимая криптостойкость GSM оценивалась спецслужбами стран НАТО по-разному: Германия настаивала на сильных — более стойких алгоритмах шифрования, поскольку имела самую длинную границу с коммунистическим блоком, другие же страны склонялись к ослабленному варианту защиты. В результате согласований в качестве основы криптосхемы для А5 была выбрана французская военная разработка, а для аутентификации абонентов сотовой сети стала использоваться — немецкая.

В дальнейшем, в процессе эксплуатации сетей GSM, были разработаны и реализованы и другие алгоритмы семейства A5. Основным побуждающим мотивом было то, что оригинальный алгоритм шифрования A5 — слишком стойкий для экспорта на Ближний Восток. Поэтому первый оригинальный алгоритм A5 был переименован в A5/1. Другой алгоритм получил название A5/2, и позиционировался как ослабленная версия A5/1. Также был предложен третий вариант алгоритма А5 — A5/0, в котором в качестве ключа использовались «нулевые» последовательности. В итоге к 1992 году страны Западной Европы (Германия, Великобритания, Финляндия, Италия, Дания, Швеция, Норвегия, Португалия), США и Япония получили право использовать алгоритм A5/1, а остальным странам разрешили применять «слабый» A5/2. В настоящий момент А5/2 и А5/0 используются крайне редко. В таблицах 2 и 3 указаны операторы различных стран и используемые ими алгоритмы шифрования. Стоит также отметить, что большая часть стран, использующих в качестве алгоритма шифрования заведомо ослабленные версии А5 (А5/2 или А5/0), также используют и устаревший алгоритм COMP 128 v.1 для аутентификации абонентов в сети. Более того, последняя версия алгоритма COMP 128 — COMP 128 MILENAGE применяется крайне редко даже в странах использующих сильные шифры.

Таблица 2 _ Используемые в не европейских странах версии А5

MCC

Страна

MNC

Сеть

Криптоалгоритм

Дата и город введения стандарта

Индия

IDEA

A5/0

Индия

AirTel

A5/0

Индия

Essar

A5/0

Индия

Orange

A5/0

Индия

Dolphin

A5/0

ЮАР

Etisalat

A5/1

Абу Даби

ЮАР

Du

A5/1

Дубаи

Австралия

Telstra

A5/1

Австралия

Optus

A5/1

Австралия

Vodafone

A5/1

Филиппины

Globe

A5/1

Филиппины

Smart

A5/1

Филиппины

Sun

A5/1

Кения

Safaricom

A5/2

Кения

Celtel

A5/2

Таблица 3 _ Используемые в европейских странах версии А5

MCC

Страна

MNC

Сеть

Крипто;

алгоритм

Дата и город введения стандарта

Коммента-рии

Нидерланды

Vodafone

A5/1

Нидерланды

T-Mobile

A5/1

Нидерланды

O2

A5/1

Нидерланды

Orange

A5/1

Бельгия

Proximus

A5/1

Бельгия

Mobilstar

A5/1

Бельгия

Base

A5/1

Франция

10F

SFR

A5/1

A5/0

2007;05−25

Гренобль

A5/1 для TCH,

A5/0 для SMS

Испания

Vodafone

A5/1

Испания

Amena

A5/1

Испания

Movistar

A5/1

Италия

TIM

A5/1

Италия

Vodafone

A5/1

2007;08−11

Модена

A5/1 для TCH и

SMS

Великобритания

O2

A5/1

Великобритания

Vodafone

A5/1

Великобритания

T-Mobile

A5/1

Великобритания

Orange

A5/1

Дания

TDC

A5/1

Норвегия

Telenor

Mobil

A5/1

Норвегия

Netcom

A5/1

Россия

MTS

A5/2

Россия

Megafon

A5/2

Россия

Beeline

A5/2

Германия

Vodafone

A5/1

Германия

Eplus

A5/1

Германия

O2

A5/1

Ирландия

O2

A5/1

Сербия

;

;

A5/2

2007;12−25

Словения

Vodafone

A5/1

Словения

SI Mobite

A5/1

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

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

В стандарте GSM термин «безопасность» понимается как исключение несанкционированного использования системы и обеспечение секретности переговоров подвижных абонентов. Определены следующие механизмы безопасности в стандарте GSM [10]:

аутентификация;

секретность передачи данных;

секретность абонента;

секретность направлений соединения абонентов.

Защита сигналов управления и данных пользователя осуществляется только по радиоканалу. Режимы секретности в стандарте GSM определяются рекомендациями, приведенными в таблице 4.

Таблица 4 _ Рекомендации по безопасности GSM сетей

GSM 02.09 [11]

Аспекты секретности

Определяет характеристики безопасности, применяемые в сетях GSM. Регламентируется их применение в подвижных станциях и сетях

GSM 03.20 [12]

Секретность, связанная с функциями сети

Определяет функции сети, необходимые для обеспечения характеристик безопасности, рассматриваемых в рекомендациях GSM 02.09

GSM 03.21 [13]

Алгоритмы секретности

Определяет криптографические алгоритмы в системе связи

GSM 02.17 [14]

Модули подлинности абонентов (SIM)

Определяет основные характеристики модуля SIM

2.1 Система аутентификации в GSM сетях Необходимым условием для работы в сети GSM для абонента является его аутентификация в ней. В общем случае используется многофакторная схема аутентификации, в которой задействуется SIM — карта. Процесс начинается во время ввода PIN — кода пользователем и продолжается идентификацией в сети.

Аутентификация проводится с помощью алгоритма A3. Для исключения определения (идентификации) абонента путем перехвата сообщений, передаваемых по радиоканалу, каждому абоненту системы связи присваивается «временное удостоверение личности» _ временный международный идентификационный номер пользователя TMSI, который действителен только в пределах зоны расположения LA.

Этот TMSI будет использоваться при всех последующих доступах к системе. Если мобильная станция переходит в новую область расположения, то её TMSI должен передаваться вместе с идентификационным номером зоны LAI, в которой TMSI был присвоен абоненту. Эта схема представлена на рисунке 1.

Рис. 1 _ Схема передачи данных в сети GSM

В свою очередь, необходимая информация об абонентах хранится в базах данных оператора сети абонента. Информация, которая относит абонента к его сети (параметры аутентификации, уровни абонирования, дополнительные услуги, текущая или последняя использованная сеть и местоположение) хранится в регистре местоположения собственных абонентов HLR. В регистре гостевых абонентов VLR в свою очередь содержатся данные обо всех абонентах, которые в данный момент пользуются сетью данного оператора. IMSI передается в HLR, HLR, в свою очередь, проверяет — есть ли у него такой абонент, и, если есть, то не заблокирован ли он. Если все в порядке, то этот абонент прописывается в VLR и с этого момента может совершать звонки. У крупных операторов может быть не один, а несколько параллельно работающих HLR и VLR. Эти регистры входят в состав центра проверки подлинности (аутентификации) АиС (Authentication Centre) оператора абонента и предоставляет наборы параметров безопасности (RAND, SRES, Ki), которые необходимы для аутентификации и шифрования передаваемой информации, коммутационным центрам других операторов при роуминге. Более наглядно эта схема представлена на рисунке 2.

Рис. 2 _ Схема передачи ключевой информации в сети GSM

Обычно основной оператор абонента предоставляет другим операторам по пять наборов RAND/SRES/Kc. Регистру местоположения собственных абонентов в любое время известно нахождение всех мобильных станций данного оператора. Причем значения RAND/SRES/Kc никогда не используются дважды.

В тесном контакте с HLR работает центр проверки подлинности АиС, который обеспечивает информацию, необходимую для проверки подлинности абонента, использующего сеть, а именно получает значение RAND и с помощью алгоритмов A3, A8 и секретного ключа Ki данного абонента генерирует пару значений SRES (отклик) и Кс (ключ шифрования). Схема реализации процесса аутентификации представлена на рисунке 3. Если же абонент находится вне зоны действия основного оператора абонента, центр проверки подлинности передает наборы соответствующих друг другу значений RAND, SRES и Кс другим операторам при роуминге.

Основной оператор абонента определяется как оператор, предоставивший абоненту SIM-карту. При этом основной оператор абонента передает другим операторам пять наборов значений RAND/SRES/Kc, а не ключ Ki, что защищает абонента и его основного оператора от недобросовестного оператора связи. Таким образом, центр проверки подлинности обеспечивает аутентификацию мобильной станции. Это позволяет защитить сеть от возможности несанкционированного доступа к ней и прослушивания передаваемой информации.

Стоит отметить, что фактически вся безопасность стандарта GSM основывается на знании уникального секретного ключа Ki, с помощью которого и вычисляются значения отклика SRES (для аутентификации в сети) и ключа Kc для поточного шифрования разговора абонента алгоритмом A5 (спецификации A5/1 и A5/2). Таким образом, вычисление этого ключа полностью компрометирует абонента. Именно после того, как злоумышленник получит доступ к этому ключу, он сможет не только прослушивать разговоры данного пользователя, но также совершать звонки за счет этого абонента, так как теперь он будет идентифицироваться системой как настоящий владелец SIM-карты.

Рис. 3 — Схема реализации процесса аутентификации Теоретически, данный подход гарантирует, что звонки в сети могут осуществляться только законными абонентами, которые имеют SIM — карту, выданную оператором. При этом подразумевается, что SIM — карта не может быть клонирована, то есть уникальная пара Ki — IMSI не может быть считана с карты оригинала с целью ее дальнейшей записи на карту-дубликат. В таблице 4 представлено распределение секретной информации в аппаратных средствах системы связи GSM.

Таблица 4 _ Распределение секретной информации в аппаратных средствах системы связи GSM

№.

Аппаратные средства

Вид секретной информации

Подвижная станция (без SIM)

А5

Модуль подлинности абонента (SIM)

A3; А8; IMSI; Ki; TMSI/LAI; Kc

Центр аутентификации (AUC)

A3; А8; IMSI/Ki

Регистр местоположения (HLR)

Группы IMSI/RAND/SRES/Kc

Регистр перемещения (VLR)

Группы IMSI/RAND/SRES/Kc, IMSI/TMSI/LAI/Kc

Центр коммутации (MSC)

А5, TMSI/IMSI/Kc

Контроллер базовой станции (BSC)

А5, TMSI/IMSI/Kc

Для защиты Ki — кода применяется специальный криптографический алгоритм COMP. Существует несколько версий этого алгоритма:

COMP 128 v.1 (используются большинством операторов сотовой связи);

COMP 128 v.2 (в России используется компанией Мегафон);

COMP 128 v.3 (ратифицирован в 2008 года, но пока не используется на территории России);

COMP 128 MILENAGE (использование данного алгоритма планируется при полном переходе на сети 3G, со второго квартала 2010 года компания МТС начала использование данного алгоритма для аутентификации абонентов в сети).

В настоящее время, необходимо подчеркнуть, что, несмотря на все эти меры защиты, применение оператором связи алгоритма COMP 128 v.1 не исключает использование краденых или клонированных SIM — карт. В последующих главах будут рассмотрены основные уязвимости данной системы.

2.2 Принцип работы алгоритма COMP 128

По сути, COMP 128 является хэш-функцией, формирующей 128 битное значение. Разрядность аргумента — 256 бит или 32 байта (128 бит Ki + 128 бит RAND). 32 старших бита вычисленного значения берутся в качестве SRES, а 64 младших бита в качестве сессионного ключа Kc. Тут же необходимо подчеркнуть, что в качестве значения Kc используются биты с 74 по 127 с выхода COMP 128, за которыми следуют десять нулей. Другими словами, A5 закрыт лишь 54 битами энтропии. Что очевидно влечет преднамеренное ослабление ключа, используемого для приватности разговора более чем в 1000 раз. Пусть X [0.31] - 32-байтный вход алгоритма, где X [0.15] = Ki, а X [16.31] = RAND. T0 [0.511], T1 [0.255], T2 [0.127], T3 [0.63] и T4 [0.31] - секретные таблицы подстановки байтов (таблица 5).

Таблица 5 _ Таблицы подстановки для итераций

таблица

число элементов

размер одного элемента (бит)

Т0

Т1

Т2

Т3

Т4

Алгоритм состоит из восьми раундов, в каждом раунде присутствуют пять итераций. Каждая итерация заключается в поиске по соответствующей таблице нужного коэффициента (T0 применяется для первой итерации, T1 — для второй, и т. д.) и подстановке байт (Рис. 4). В конце каждого раунда, за исключением последнего, происходит перестановка полученных 128 бит результата. После перестановки эти 128 бит подаются на вход следующего раунда. Ниже приведено описание одного раунда в псевдокоде, а также на рисунке 5 приведена схема алгоритма COMP 128:

Рис. 4 — Схема подстановки байт для каждой из итераций

// подстановки

for i = 0 to 4 do:

for j = 0 to 2^i — 1 do:

for k = 0 to 2^(4-i) — 1 do:

{

s = k + j*2^(5 — i)

t = s + 2^(4-i)

x = (X[s] + 2X[t]) mod (2^(9 — i))

y = (2X[s] + X[t]) mod (2^(9 — i))

X[s]=Ti[x]

X[t]=Ti[y]

}

// образование бит из байт

for j = 0 to 31 do:

for k = 0 to 7 do:

{

bit [4*j+k] = the (8-k)th bit of byte j

}

// перестановка

if (i < 8) then

for j = 0 to 15 do:

for k = 0 to 7 do:

{

next bit = (8 x j + k) x 17 mod 128

Bit k of X[j + 16] = bit[next_bit]

}

Рис. 5 _ Схема реализации схема алгоритма COMP 128

На каждом уровне присутствуют шестнадцать объединяющих операций, каждая из которых преобразует два входных байта в выходной байт.

Соответственно на каждой итерации выходной байт зависит от двух входных байт. Два входных байта используются для определения элемента в таблице подстановки. Этот элемент обновит выходной байт. Таблица подстановки для N-ой итерации содержит 2(9 — N) элементов размером в (8 — N) бит (Рис. 6).

Рис. 6 — Схема генерации выходных байт Следовательно, каждый из 32 выходных байт последней итерации раунда имеет лишь 4 значимых бита. Поэтому в конце итерации происходит выделение из этих 32 байт только значимых битов, что дает в результате 16 байт (4 бита по 32), все биты которых значимые. Эти 16 байт записываются в X [16. 31], и запускается следующий раунд алгоритма (в X [0. 15] значение Ki никак не меняется).

Такую структуру алгоритма криптоаналитик Дэвид Вагнер назвал butterfly structure.

2.3 Ограничения и недостатки алгоритмов аутентификации в сетях GSM

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

односторонняя аутентификация. SIM-карта не имеет возможности аутентифицировать сеть. Злоумышленник может подменить сеть. Кроме того, возможна атака «человек в середине».

низкая сопротивляемость активным атакам. GSM обеспечивает только безопасность доступа. Пользовательский трафик и сигнальная информация между базовыми станциями передаются в открытом виде. Дешифрование трафика между базовой станцией и мобильной станцией (сотовым телефоном) (атака на A5) не представляет трудностей для современных ПК.

частичное выполнение аутентификации алгоритмами А3/А8 (криптоалгоритмом COMP 128). COMP 128 являлся закрытой криптосистемой, и это было причиной того, что он не подвергался тщательному (открытому) криптоанализу и многие его слабые места не были обнаружены. После утечки технической документации, выявилось множество его недостатков. Примерами таких недостатков можно назвать неустойчивость к коллизиям и возможность проведения частичной атаки (манипуляции информацией, «утекающей» с SIM во время операций).

GSM сети не являются гибкими в отношении быстрого апгрейда программно-аппаратного обеспечения, особенно это касается элементов обеспечения безопасности (введение новых криптосистем). Алгоритм А5/3 и алгоритм аутентификации и генерации ключей GSM-MILENAGE уже доступны, но не распространены повсеместно. Их широкое использование планируется при полном переходе на сети 3G.

3. Возможные сценарии атак на систему аутентификации в GSM сетях Как и в любой системе шифрования, в системе безопасности GSM наибольший интерес представляет её стойкость к дешифрованию, особенно, если, по крайней мере, один из алгоритмов уже взломан.

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

3.1 Доступ к сигнальной сети Алгоритм А5 обладает низкой криптостойкостью к большинству криптоатак, начиная с атаки методом грубой силы и заканчивая атаками, построенными на применении табличных методов. В настоящее время предпринять лобовую атаку несложно, принимая во внимание доступное сейчас оборудование. Однако алгоритм A5 достаточно стоек для предотвращения перехвата в эфире и взлома шифрования в реальном времени. Тем не менее, в системе GSM уязвимым участком является не только радиоканал между мобильной станцией и базовой станцией, но и другие интерфейсы передачи данных в сети.

Передачи шифруются только между мобильной станцией и базовой станцией. В сети оператора трафик передается открытым текстом.

Если злоумышленник может получить доступ к сигнальной сети оператора, он сможет прослушивать все передачи, включая сами телефонные звонки, а также RAND, SRES и Kc. Сигнальная сеть, используемая операторами GSM сети, абсолютно незащищена, если злоумышленник получает к ней прямой, например, физический доступ. При другом сценарии злоумышленник может атаковать регистр положения домашних абонентов определенной сети. Если злоумышленник сможет получить к нему доступ, он сможет извлечь все Ki абонентов данной сети. Однако регистр положения домашних абонентов обычно более безопасен, чем вся остальная сеть, таким образом, он является менее очевидным участком для проникновения.

Получить доступ к сети не представляет особой трудности. Хотя все базовые станции обычно соединены кабелем, у некоторых из них связь микроволновая или спутниковая. Получить доступ к этой связи относительно просто при наличии соответствующего оборудования. Очевидно, именно эта уязвимость используется при прослушивании мобильного телефона с помощью имеющегося в продаже оборудования. Однако микроволновая линия может быть зашифрована, поэтому прослушивать ее немного сложнее. Важно то, намеривается ли злоумышленник взломать шифрование A5, обеспечивающее защиту сеанса связи отдельного мобильного телефона, или шифрование между базовой станцией и контроллером базовых станций, который служит общим узловым пунктом между всеми базовыми станциями оператора для получения доступа к основной сети. Также не надо исключать и возможность доступа к кабелю, идущему от базовой станции. Это может быть реальной угрозой, и атаку можно проводить незаметно в течение долгого времени, если делать это достаточно аккуратно. Прослушивание информации, передаваемой между базовой станцией и контроллером базовых станций, предоставит возможность злоумышленнику или прослушивать звонок, прослушивая канал, или же он сможет извлечь сеансовый ключ — Kc, для прослушивания канала, перехвата звонков в эфире и мгновенной его дешифрации. При известном Kc, шифрование (и расшифрование) в реальном времени не представляет проблемы.

Не стоит исключать и другой подход. Злоумышленник может выдать себя за ремонтного рабочего, проникнуть в нужное здание и установить прослушивание. Он также может подкупить инженера, и тот выдаст ему все Ki всех абонентов данного оператора связи.

3.2 Извлечение ключа из SIM

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

Ассоциация Разработчиков Смарт — карт и исследовательская группа ISAAC обнаружили уязвимость в алгоритме COMP 128, которая позволяла извлекать секретный ключ, Ki, из SIM. Атака предпринималась на SIM, к которой у них был физический доступ, однако, такая же атака применима и в эфире.

Атака осуществлялась за счет анализа большого количества триплетов Rand — SRES — Kc. Доступ к SIM был получен через считыватель данных с SIM (Smartcard reader), соединенный с персональным компьютером. С компьютера производилось порядка ста пятидесяти тысяч вызовов к SIM, на каждый из которых карта генерировала SRES и сеансовый ключ Kc, основанный на вызове и секретном ключе. Секретный ключ можно было вычесть из отклика SRES путем дифференциального криптоанализа. Устройство для чтения информации с SIM — карты, используемое для реализации атаки, производило 6,25 запросов к карте в секунду, что требовало около восьми часов для реализации атаки. Ее результаты необходимо было тщательно проверить.

В настоящее время в открытой продаже можно найти целый класс устройств, предназначенных для считывания информации с интеллектуальных карт. При этом скорость обращения к SIM — карте в таких устройствах значительно выросла. Также выросла и скорость отклика SIM — карт, следовательно, в настоящий момент для вычисления IMSI и Ki, при условии физического доступа к SIM — карте, использованная исследовательской группой ISAAC атака требовала бы приблизительно от четырех до шести часов.

Эта уязвимость также имеет социальный сценарий (привлечение инженера). Можно предположить, что коррумпированный GSM дилер клонирует SIM — карты таким образом и продаст клонированные карты третьим лицам, которые хотят остаться неизвестными и не желают покупать подлинные SIM — карты. Клонированная SIM — карта может также быть продана кому-либо с целью прослушивания впоследствии его разговоров. Коррумпированный сотрудник также может предоставить злоумышленнику SIM жертвы, чтобы клонировать SIM и впоследствии прослушивать разговоры владельца карты. Уязвимость, обнаруженная в алгоритме COMP 128, компрометирует всю модель безопасности системы GSM и оставляет абонентов без защиты.

Более подробно данный вид атаки рассмотрен в четвертой главе дипломной работы.

3.3 Извлечение ключа из SIM — карты в эфире Исследователи SDA ISAAC уверены [19, 20], что такая же атака с клонированием SIM — карты может быть реализована и использованием удаленного доступа. Практического подтверждения их предположение не получило, так как оборудование, необходимое для этого, незаконно в США. Атака в эфире основана на следующем. Требуется, чтобы мобильная станция откликалась на каждый вызов сети GSM. Если мощность законного сигнала базовой станции превышена нестандартной базовой станции злоумышленника, то он может бомбардировать вызовами целевой мобильный аппарат и реконструировать секретный ключ по откликам. Мобильная станция должна быть доступна злоумышленнику в эфире все время, необходимое для атаки. Неизвестно, сколько времени продлится атака в эфире, но можно предположить, что от восьми до тринадцати часов.

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

3.4 Извлечение ключа из центра аутентификации Такая же атака по извлечению Ki из SIM — карты может быть использована для извлечения Ki из центра аутентификации. Центр аутентификации не получает ответ на запросы, сделанные сетью GSM и возвращает действительные тройки для аутентификации мобильному телефону. Процедура в основном похожа на процедуру получения доступа SIM — карты в сотовом аппарате. Различие состоит в том, что центр аутентификации гораздо быстрее обрабатывает запросы, чем SIM — карта. Безопасность центра аутентификации играет большую роль для предотвращения возможности атаки, однако теоретическая возможность проведения атаки подобного рода всё же существует.

4 Криптографические атаки на алгоритм COMP 128

Основной целью криптоанализа алгоритмов A3 и А8 является вычисление секретного ключа Ki, используемого как для аутентификации, так и для генерации ключа шифрования Кс. Так как большинство операторов GSM для аутентификации и генерации ключа шифрования используют хеш-функцию СОМР 128, задача вычисления секретного ключа Ki сводится к инвертированию данной хеш-функции.

Как уже упоминалось выше, COMP 128 является закрытой криптосистемой. Соответственно, в случае, если бы его реализация стала известна, вопрос компрометации всей системы (с учетом большого количества заинтересованных в этом лиц) становился бы делом времени. Так и произошло в 1998 году, когда некоторые документы, касающиеся технических решений, реализованных в COMP 128 попали в сеть Интернет. Несмотря на неполное и частично ошибочное описание, было установлено, какие именно криптографические методы используются в GSM. На основании данных документов Дэвид Вагнер, Айан Голдберг и Марк Брицено менее чем за два дня взломали алгоритм COMP 128, так как его ключ оказался слишком коротким.

В настоящий момент практически все атаки, направленные на получение ключей Ki строятся именно на базе атаки WGB.

4.1 Атака WGB

В 1998 году Вагнер, Голдберг и Брицено опубликовали метод атаки, с помощью которого секретный ключ Ki может быть вычислен путем отправки на SIM — карту специально подобранных определенных значений RAND, которые позволят получить часть информации о секретном ключе Кi.

Алгоритм криптоанализа основан на том, что после второго раунда работы хеш-функции выходные байты i, i + 8, i + 16, i + 24 зависят только от соответствующих им входных байт i, i + 8, i + 16, i + 24. Наглядно данная уязвимость показана на рисунке 7.

Рис. 7 — Уязвимый участок алгоритма COMP 128

Так как сжатие информации производится после последнего раунда работы функции, во всех предыдущих раундах размер выходной последовательности совпадает с размером входной. Байты i, i + 8 представляют секретный ключ, а байты i + 16, i + 18, — открытое число RAND. Криптоанализ основывается на поиске всех возможных коллизий в работе хеш-функции при переборе только двух входных байт для каждой пары байт-ключа. Коллизия в работе хеш-функции происходит, когда различные входные значения функции приводят к одинаковому выходному значению. Эффективность алгоритма обеспечивается тем, что для поиска коллизии необходимо перебрать небольшое число вариантов, а именно два байта для каждой пары байт ключа: 28*28= 216. Для сравнения сложность полного перебора составляет 2128.

4.2 Улучшения для WGB атаки Оригинальная версия WGB атаки требовала приблизительно 150 000 запросов для нахождения ключа. В отчете о проведение этой атаки было указано, что «разработано несколько оптимизаций для уменьшения количества запросов», но что это за оптимизации не было сказано ни слова [21].

Структура первых двух уровней COMP 128 не является равномерно распределяемой случайной функцией. Некоторые запросы (RANDi, RANDi+8) являются более продуктивными чем другие так как потенциально они могут вызвать коллизию в нескольких различных парах (Ki, Ki+8). Поэтому вполне логично использовать такие запросы в первую очередь. Это может быть реализовано путем полного перебора всех (Ki, Ki+8) и для каждого из таких значений полного перебора всех (RANDi, RANDi+8). Таким образом, для каждого (Ki, Ki+8) мы найдем все пары (RANDi, RANDi+8) приводящие к коллизиям. После этого все подобные (RANDi, RANDi+8) могут быть упорядочены в новом, улучшенном расписании запросов. Таким образом, (RANDi, RANDi+8), показавшие себя наиболее продуктивными будут использоваться в первую очередь.

Дальнейшие улучшения могут быть достигнуты путем следования расписанию запросов параллельно для всех восьми (Ki, Ki+8). Когда же находятся первые 7 значений (Ki, Ki+8) злоумышленник может прекратить посылку запросов к SIM — карте, так как последнее значение (Ki, Ki+8) может быть вычислено путем обычной оффлайн атаки методом грубой силы. Данные по необходимому количеству запросов для успешного завершения атаки данным методом можно отразить на графике, представленном на рисунке 8.

Рис. 8 — Зависимость успеха улучшенной WGB атаки от количества запросов Используя эту технику, среднее число запросов необходимых для компрометации ключа составляет примерно 60 000.

4.3 Слабости WGB атаки Слабости WGB атаки становятся очевидны при проведении полного поиска «успешных» запросов (RANDi, RANDi+8). Как уже упоминалось выше, структура первых двух уровней COMP 128 не является равномерно распределенной случайной функцией. Соответственно, так же как существуют наиболее продуктивные запросы (RANDi, RANDi+8) существуют и значения (Ki, Ki+8), которые наиболее восприимчивы к атаке. Эти восприимчивые значения (Ki, Ki+8) имеют несколько пар (RANDi, RANDi+8) которые вызывают коллизию.

Другие значения (Ki, Ki+8) менее восприимчивы к атаке (т.е более стойкие), а некоторые вообще не имеют пар (RANDi, RANDi+8), вызывающих коллизию.

Вопреки утверждению, выдвинутому Вагнером, Голдбергом и Брицено о том, что «парадокс дней рождений гарантирует довольно-таки быстрое возникновение коллизии» такой гарантии на самом деле не существует. Всё, что предлагается — высокая вероятность при условии, что хэш функция является действительно случайной. Основываясь на этом, для каждого значения (Ki, Ki+8) вероятность не возникновения коллизии после всех 216 запросов (RANDi, RANDi+8) составляет приблизительно 3,35 Ч 10−4. Так как существует 216 возможных значений (Ki, Ki+8), можно ожидать, что после проведения всех запросов к ним, останется примерно двадцать два значения, на которых коллизия не возникнет.

На практике полный перебор показывает, что таких значений (Ki, Ki+8), которые «свободны» от коллизий, а соответственно не восприимчивы к WGB атаке существует 769. В приложении, А приведены все подобные (Ki, Ki+8).

Обычная WGB атака может быть проведена лишь на ключ, в котором отсутствуют «свободные» от коллизий компоненты (Ki, Ki+8). Улучшенная WGB атака, рассмотренная в предыдущем разделе, сможет работать с ключом, в котором присутствует один компонент (Ki, Ki+8) свободный от коллизий, так как последний один из компонентов (Ki, Ki+8) находится методом грубой силы в оффлайн режиме.

Для ключей, которые включают два «свободных» от коллизий компонента можно расширить атаку. В этом случае, если после перебора всех (RANDi, RANDi+8) из списка остались не вычисленными два компонента ключа (Ki, Ki+8), можно провести на них атаку по методу грубой силы, которая потребует 769 Ч 769=591,361 пробных хэшей (в случае, если бы нам не были известны 769 «свободных» от коллизий элементов (Ki, Ki+8) это число равнялось бы 232). Для большего числа «сильных «(Ki, Ki+8) атака становится практически бесполезной, но на практике такие ключи встречаются крайне редко (в выборке из десяти тысяч случайно взятых ключей менее одного ключа будет иметь более двух «сильных» (Ki, Ki+8)).

Таким образом, для того чтобы сгенерировать «сильный ключ» полностью невосприимчивый к WGB атаке необходимо выбирать все компоненты (Ki, Ki+8) из приведенного в приложении, А списка «сильных» компонентов. В псевдокоде алгоритм для генерации таких ключей приведен ниже.

for i in [0, 1, 2, 3, 4, 5, 6, 7]

let x = случайно выбранные значения из списка в приложении А

let Ki = первые два шестнадцатеричных разряда x

let Ki+8 = последние два шестнадцатеричных разряда x x

Так как известно, что существует 769 «сильных» компонентов (Ki, Ki+8), то «сильные» ключи, сгенерированные приведенным выше методом, будут иметь эффективную длину 8 Ч log2 769 = 76,7 бит. Эта длина является приемлемой и превышает длину сессионного ключа, используемого для шифрования речи в алгоритме A5.

4.4 Атака на Ki, составленные из «сильных» элементов Данная атака подразумевает, что злоумышленнику известно о том, что секретный ключ сформирован только из сильных элементов (Ki, Ki+8). Если это так, то атака может быть проведена, но сперва необходимо отсеять все возможные слабые ключи. Атака строиться на ожидании коллизии на третьем уровне. Необходимо найти четыре компонента (Ki, Ki+4, Ki+8, Ki+12). Каждый из них строится из двух компонентов выбранных из списка 769 «сильных» компонентов (Ki, Ki+8).Наглядно данная уязвимость показана на рисунке 9.

Рис. 9 _ Уязвимый участок алгоритма COMP 128 при условии, что Ki составлены из «сильных» компонентов (Ki, Ki+8)

Для того, чтобы найти каждый компонент (Ki, Ki+4, Ki+8, Ki+12) необходимо отправить запрос (RANDi, RANDi+4, RANDi+8, RANDi+12) по методу сходному с представленным в WGB атаке. Остальные байты RAND должны оставаться константой. Когда пара бит запроса (RANDi, RANDi+4, RANDi+8, RANDi+12), вызывающего коллизию, найдена, производится поиск по 769 Ч 769 возможным компонентам (Ki, Ki+4, Ki+8, Ki+12) до тех пор, пока не найдется компонент вызывающий коллизию для той же пары запросов.

В этом случае построение оптимизированных таблиц атаки невозможно. Также невозможно и определить, существуют ли «свободные» от коллизий компоненты (Ki, Ki+4, Ki+8, Ki+12).

В теории, если бы COMP 128 был на самом деле случайной функцией, то, чтобы ожидать коллизию в сорока восьми битном выходе второго уровня, необходимо было бы провести 2 Ч 107 запросов. Экспериментально Стюарт Рэй вычислил, что для вычисления одного компонента (Ki, Ki+4, Ki+8, Ki+12) необходимо провести порядка 127 000 запросов. Также как и в модифицированной WGB атаке запросы к разным компонентам можно производить параллельно, а при нахождении трех из них четвертый вычислять методом грубой силы.

При симулировании вскрытия 5290 сильных ключей Стюарт Рэй пришел к выводу, что среднее количество обращений необходимых для вскрытия «сильного» ключа составляет 525 000 (Рис. 10).

Рис. 10 — Зависимость успеха атаки на Ki, составленные из «сильных» элементов от количества запросов

5. Практическая эффективность применяемых в настоящий момент алгоритмов аутентификации в стандарте GSM

Служба аутентификации подлинности абонента является сердцем системы безопасности стандарта GSM. Она используется для того, чтобы заданная сеть могла определить подлинность пользователя и, в случае его правильной идентификации, сгенерировать и предоставить ключи шифрования, необходимые для обеспечения конфиденциальности основных сервисов сети. Данная служба реализована во всех сетях и устройствах мобильной связи. Однако, частоту запросов подлинности абонента, выбор конкретной реализации алгоритма COMP 128, а также вариант исполнения SIM — карты выбирает сам оператор.

Одной из задач дипломной работы было выяснение вероятности потери секретных ключей, в случае если SIM — карта попадет к злоумышленнику, а также время, необходимое ему для их извлечения.

Для выполнения поставленной цели в ходе выполнения дипломной работы был проведен ряд экспериментов по вычислению секретных ключей Ki и IMSI с SIM — карт различных операторов региона.

На первом этапе эксперимента была произведена проверка SIM — карт четырех основных операторов региона на предмет используемой в них ключевой хэш-функции. Данный этап был необходим, так как в настоящий момент уязвимости алгоритма COMP 128, описанные в четвертой главе дипломной работы, применимы только к первой его версии. По результатам первого этапа было выяснено, что три из четырех операторов региона используют заведомо уязвимый алгоритм COMP 128 v1. Этими операторами стали Смартс, МТС и Билайн. Единственным оператором региона, использующим более стойкий алгоритм COMP 128 v2, оказался Мегафон-Поволжье. Используемый оператором алгоритм аутентификации не позволяет осуществить успешную WGB криптоатаку. Соответственно дальнейшая часть эксперимента проводилась только с SIM — картами трех вышеуказанных операторов.

Следующим этапом эксперимента стал выбор программ для оптимального, по соотношению время-эффективность, вычисления секретных ключей Ki и IMSI. На этой стадии были изучены следующие программные пакеты:

Показать весь текст
Заполнить форму текущей работой