Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shifrovanie_soobscheny.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
27 Мб
Скачать
☆

1.2_Шифрование в стандарте_gsm

Сотовые системы связи первого поколения, такие как NMT, TACS и AMPS, имели небольшие возможности в плане безопасности, и это привело к существенным уровням мошеннической деятельности, которая вредит и абонентам и сетевым операторам. Система GSM имеет множество особенностей в плане безопасности, которые разработаны, чтобы предоставить абоненту и сетевому оператору больший уровень защиты от мошеннической деятельности. Механизмы аутентификации гарантируют, что только добросовестным абонентам, обладающим добросовестным оборудованием, то есть не украденным или нестандартным, будет предоставлен доступ сети. Как только связь была установлена, информация в линии связи передается в зашифрованной форме, во избежание подслушивания. Конфиденциальность каждого абонента защищена, гарантирована тем, что его личность и местоположения защищены. Это достигнуто путем назначения для каждого пользователя временного идентификатора подвижного абонента (Temporary Mobile Subscriber Identity — TMSI), который изменяется от звонка к звонку. Таким образом, нет необходимости передавать международный идентификатор мобильного абонента (International Mobile Subscriber Identity — IMSI) по радио-интерфейсу, что затрудняет задачу идентификации и определения местонахождения пользователя для подслушивающего.

Первый и самый простой уровень защиты против мошеннического использования мобильного телефона — личный идентификационный номер (PIN-код), предназначенный для защиты против мошеннического использования украденных SIM-карт. В SIM-карте PIN-код имеет вид от четырёх- до восьмизначного числа. Пользователь может иметь возможность отключения этого уровня защиты. SIM-карта также может хранить второй четырёх-, восьмиразрядный десятичный код, известных как PIN2, чтобы защитить определенные возможности, которые являются доступными для абонента. Как только PIN-код, и если требуется — PIN2, введены правильно, объект технической эксплуатации (maintenance entity) будет иметь доступ к данным, хранимым в SIM карте. Технические требования также определяют процедуры, которые должны выполняться, когда PIN-код введён неправильно. После трех последовательных неправильных попыток набора PIN кода SIM-карта блокируется и дальнейшие попытки ввести PIN-код игнорируются, даже если SIM карта извлечена из объекта технической эксплуатации (maintenance entity). SIM-карта может быть разблокирована путем введения восьмиразрядного десятичного кода, известного как PUK (Personal Unlock Key). После 10 неправильных попыток введения PUK кода SIM карта блокируется окончательно.

При регистрации GSM-телефона в сети выполняется аутентификация SIM-карты. В ходе этой процедуры, в частности, генерируется так называемый ключ шифрования трафика Kc.

У каждой SIM-карты есть уникальный ID, называемый IMSI (International Mobile Subscriber Identity). Теоретически (при использовании программируемых или инженерных SIM-карт) его можно изменять. Однако, IMSI не является authentication token-ом - для того, чтобы определить "что это та самая карта", используется challenge-response протокол. В качестве секретного ключа используется длинное секретное число, которое хранится в SIM-карте так, что его невозможно считать и/или изменить. При определенной доле удачи его можно попытаться вычислить и сделать дубликат SIM-карты, но если не повезет - можно лишиться SIM-карты.

Радиоканал (связь между мобильником и базовой) - шифрован, а дальше (от BSC к MSC, например) - нет.

В процессе производства SIM-карт производитель заносит в ROM каждой карты случайное число, называемое "Ki" (Key for identification). Это число будет служить секретным ключем для данной SIM-карты. Когда SIM-карты доставляются мобильному оператору, с ними передаются данные о Ki каждой новый SIM-карты. Эти данные (в виде пар (IMSI, Ki)) заносят в "центр аутентификации" мобильной сети (AuC).

Когда мобильный телефон пытается зарегистрироваться в сети, его IMSI передается в AuC, который передает обратно случайное число (RAND). Дальше SIM-карта и AuC параллельно выполняют одно и то же вычисление: (SRES, Kc) = A3/A8(RAND, Ki), где "A3/A8" - название стандартных алгоритмов вычисления SRES (Signed RESponse) и Kc (Key for ciphering) соответственно.

Телефон передает вычисленное SIM-картой значение SRES обратно в AuC, который сравнивает его со своим SRES. Если результаты совпали, то SIM-карта - подлинная.

Рисунок 2 - Аутентификация в сетях GSM.

Вычисленное значение Kc сохраняется в AuC/HLR/VLR и энергонезависимой памяти SIM-карты до следующей регистрации карты в сети и используется для шифрования голосового траффика, идущего по радиоинтерфейсу. Расшифровкой занимается BSC и дальше (по наземным каналам) голос идет оцифрованным, но нешифрованным.

Почему так тяжело клонировать SIM-карту? Во-первых, у SIM-карты нет интерфейса, по которому можно непосредственно считать или изменить "Ki". Есть интерфейс, позволяющий выполнить алгоритм A3 или A8, но он защищен от попыток собрать достаточно данных для вычисления Ki путем перебора (brute forceing-а) - если слишком часто вызывать эти функции в течении короткого интервала времени, то SIM-карта заблокируется (приведет сама себя в негодность), после чего ее останется только выкинуть. Для успешного брут-форсинга нужно около 20000-40000 вызовов, и то - при условии, что в SIM-картах используется стандартный алгоритм A3 или несущественно отличающиеся его разновидности.

Кроме того, большинство операторов используют свои собственные алгоритмы вместо стандартного A3, не публикуя принципы их работы.

В сумме это приводит к тому, что клонировать SIM-карту возможно, но очень-очень тяжело.

IMSI-catcher (то есть ловец IMSI — уникального идентификатора International Mobile Subscriber Identity, прописанного в SIM-карте) — специальное устройство, маскирует себя под базовую станцию сотовой телефонной сети. Эта уязвимость безопасности протокола GSM была внесена в архитектуру системы по настоянию спецслужб для организации перехвата и мониторинга сообщений без ведома компаний-операторов мобильной связи. Поэтому, как только мобильный телефон принимает IMSI-catcher в качестве своей базовой станции, этот аппарат-ретранслятор может деактивировать включенную абонентом функцию шифрования и работать с обычным открытым сигналом, передавая его дальше настоящей базовой станции. В настоящее время на рынке крайне мало GSM-телефонов, которые бы активно предупреждали владельца о принудительно отключенной функции шифрования (как минимум аппараты Nokia выводят соответствующую пиктограмму о работе без шифрования). Такой значок — открытый замочек обычно обозначает отключение шифрования, когда спецслужбы могут принудительно подключаться к выбранным телефонам.

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

Как только подлинность абонента была проверена, таким образом защищая и абонента и сетевого оператора от влияния мошеннического доступа, пользователь должен быть защищен от подслушивания. Это достигается путем шифрования данных, передаваемых по радио-интерфейсу, с использованием второго ключа Kc и секретного алгоритма A5. Подобно алгоритму A3, A8 не уникален, и он может также быть выбран оператором. В отличие от A3 и A8, которые, возможно, различны для каждого индивидуального оператора, A5 будет выбирается из списка из 7 возможных вариантов.

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

А5 — это поточный алгоритм шифрования, используемый для обеспечения конфиденциальности передаваемых данных между телефоном и базовой станцией в европейской системе мобильной цифровой связи GSM (Group Special Mobile).

Шифр основан на побитовом сложении по модулю два (булева операция XOR) генерируемой псевдослучайной последовательности и шифруемой информации. В A5 псевдослучайная последовательность реализуется на основе трёх линейных регистров сдвига с обратной связью. Регистры имеют длины 19, 22 и 23 бита соответственно. Сдвигами управляет специальная схема, организующая на каждом шаге смещение как минимум двух регистров, что приводит к их неравномерному движению. Последовательность формируется путём операции XOR над выходными битами регистров.

Изначально французскими военными специалистами-криптографами был разработан поточный шифр для использования исключительно в военных целях. В конце 80х для стандарта GSM потребовалось создание новой, современной системы безопасности. В её основу легли три секретных алгоритма: аутентификации — A3, шифрования потока — A5, генерации сессионного ключа — А8. В качестве алгоритма A5, была использована французская разработка. Этот шифр обеспечивал достаточно хорошую защищённость потока, что обеспечивало конфиденциальность разговора. Изначально экспорт стандарта из Европы не предполагался, но вскоре в этом появилась необходимость. Именно поэтому, А5 переименовали в А5/1 и стали распространять в Европе и США. Для остальных стран (в том числе и России) алгоритм модифицировали, значительно понизив криптостойкость шифра. А5/2 был специально разработан как экспортный вариант для стран, не входивших в Евросоюз. Криптостойкость А5/2 была понижена добавлением ещё одного регистра (17 бит), управляющего сдвигами остальных. В А5/0 шифрование отсутствует совсем. В настоящее время разработан также алгоритм А5/3, основанный на алгоритме Касуми и утверждённый для использования в сетях 3G. Эти модификации обозначают A5/x.

Алгоритм A5 в настоящее время — это целое семейство шифров. Для описания возьмем А5/1, как родоначальника этого семейства.

Рисунок 3 – Схема поточного шифрования

В этом алгоритме каждому символу открытого текста соответствует символ шифротекста. Текст не делится на блоки (как в блочном шифровании) и не изменяется в размере. Для упрощения аппаратной реализации и, следовательно, увеличения быстродействия используются только простейшие операции: сложение по модулю 2 (XOR) и сдвиг регистра.

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

Таким образом, безопасность системы полностью зависит от свойств последовательности. В идеальном случае каждый бит гаммы — это независимая случайная величина, и сама последовательность является случайной. Такая схема была изобретена Вернамом в 1917 году и названа в его честь. Как доказал Клод Шеннон в 1949 году, это обеспечивает абсолютную криптостойкость. Но использование случайной последовательности означает передачу по защищённому каналу сообщения равного по объёму открытому тексту, что значительно усложняет задачу и практически нигде не используется.

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

РСЛОС

Рисунок 4 - Регистр сдвига с линейной обратной связью, многочлен обратной связи х32+х29+х25+х5+1

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

Для РСЛОС основным показателем является период псевдослучайной последовательности. Он будет максимален (и равен 2n−1), если многочлен функции обратной связи примитивен по модулю 2. Выходная последовательность в таком случае называется М-последовательностью.

Система РСЛОС в А5

Рисунок 5 - Система регистров в алгоритме А5/1

Сам по себе РСЛОС легко поддаётся криптоанализу и не является достаточно надёжным, для использования в шифровании. Практическое применение имеют системы регистров переменного тактирования, с различными длинами и функциями обратной связи.

Структура алгоритма А5 выглядит следующим образом:

три регистра(R1, R2, R3) имеют длины 19, 22 и 23 бита,

многочлены обратных связей:

X19 + X18 + X17 + X14 + 1 для R1,

X22 + X21 + 1 для R2 и

X23 + X22 + X21 + X8 + 1 для R3,

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

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

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

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

фактически, сдвигаются регистры, синхробит которых принадлежит большинству,

выходной бит системы — результат операции XOR над выходными битами регистров.

Рассмотрим особенности функционирования алгоритма, на основе известной схемы. Передача данных осуществляется в структурированном виде — с разбивкой на кадры (114 бит). Перед инициализацией регистры обнуляются, на вход алгоритма поступают сессионный ключ (K — 64 бита), сформированный А8, и номер кадра (Fn — 22 бита). Далее последовательно выполняются следующие действия:

инициализация:

  • 64 такта, при которых очередной бит ключа XOR-ится с младшим битом каждого регистра, регистры при этом сдвигаются на каждом такте,

аналогичные 22 такта, только операция XOR производится с номером кадра,

  • 100 тактов с управлением сдвигами регистров, но без генерации последовательности,

  • 228 (114 + 114) тактов рабочие, происходит шифрование передаваемого кадра (первые 114 бит) и дешифрование (последние 114 бит) принимаемого,

далее инициализация производится заново, используется новый номер кадра.

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

Разработка стандарта GSM подразумевала мощный аппарат шифрования, не поддающийся взлому (особенно в реальном времени). Используемые разработки при надлежащей реализации обеспечивали качественное шифрование передаваемых данных. Именно такую информацию можно получить от компаний распространяющих этот стандарт. Но стоит отметить важный нюанс: прослушивание разговоров — неотъемлемый атрибут, используемый спецслужбами. Они были заинтересованы в возможности прослушивания телефонных разговоров для своих целей. Таким образом, в алгоритм были внесены изменения, дающие возможность взлома за приемлемое время. Помимо этого, для экспорта A5 модифицировали в A5/2. В MoU (Memorandum of Understand Group Special Mobile standard) признают, что целью разработки A5/2 было понижение криптостойкости шифрования, однако в официальных результатах тестирования говорится, что неизвестно о каких-либо недостатках алгоритма.

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

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

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

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

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

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

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

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

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

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

В декабре 1999 года группа израильских учёных (Ади Шамир, Алекс Бирюков, а позже и американец Дэвид Вагнер (англ.)) опубликовали весьма нетривиальный, но теоретически очень эффективный метод вскрытия A5/1:

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

Ади Шамир

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]