Режим шифрования
- 1 year ago
- 0
- 0
А5 — это поточный алгоритм шифрования , используемый для обеспечения конфиденциальности передаваемых данных между телефоном и базовой станцией в европейской системе мобильной цифровой связи GSM ( Groupe Spécial Mobile ).
Шифр основан на побитовом сложении по модулю два (булева операция «исключающее или») генерируемой псевдослучайной последовательности и шифруемой информации. В A5 псевдослучайная последовательность реализуется на основе трёх линейных регистров сдвига с обратной связью . Регистры имеют длины 19, 22 и 23 бита соответственно. Сдвигами управляет специальная схема, организующая на каждом шаге смещение как минимум двух регистров, что приводит к их неравномерному движению. Последовательность формируется путём операции «исключающее или» над выходными битами регистров.
Изначально французскими военными специалистами-криптографами был разработан поточный шифр для использования исключительно в военных целях. В конце 80-х для стандарта GSM потребовалось создание новой, современной системы безопасности. В её основу легли три секретных алгоритма: аутентификации — A3 , шифрования потока — A5, генерации сеансового ключа — А8 . В качестве алгоритма A5 была использована французская разработка. Этот шифр обеспечивал достаточно хорошую защищённость потока и, следовательно, конфиденциальность разговора. Изначально экспорт стандарта из Европы не предполагался, но вскоре в этом появилась необходимость. Именно поэтому А5 переименовали в А5/1 и стали распространять как в Европе, так и в США. Для остальных стран (в том числе и России) алгоритм модифицировали, значительно понизив криптостойкость шифра. А5/2 был специально разработан как экспортный вариант для стран, не входивших в Евросоюз. Криптостойкость А5/2 была понижена добавлением ещё одного регистра (17 бит), управляющего сдвигами остальных. В А5/0 шифрование отсутствует совсем. В настоящее время разработан также алгоритм А5/3, основанный на алгоритме Касуми и утверждённый для использования в сетях 3G. Эти модификации обозначают как A5/x.
Официально данная криптосхема не публиковалась и её структура не предавалась гласности. Это было связано с тем, что разработчики полагались на безопасность за счёт неизвестности , то есть алгоритмы труднее взломать, если их описания не доступны публично. Данные предоставлялись операторам GSM только по необходимости. Тем не менее, к 1994 году детали алгоритма А5 были известны: британская телефонная компания British Telecom передала всю документацию, касающуюся стандарта, Брэдфордскому университету для анализа, не заключив соглашения о неразглашении информации. Кроме того, материалы о стандарте появились на одной из конференций в Китае. В результате его схема постепенно просочилась в широкие круги. В этом же году кембриджские учёные Росс Андерсон (Ross Anderson) и Майкл Роу (Michael Roe) опубликовали восстановленную по этим данным криптосхему и дали оценку её криптостойкости . Окончательно алгоритм был представлен в работе Йована Голича на конференции Eurocrypt’97.
Алгоритм A5 в настоящее время — это целое семейство шифров. Для описания возьмем А5/1 как родоначальника этого семейства. Изменения в производных алгоритмах опишем отдельно.
В этом алгоритме каждому символу открытого текста соответствует символ шифротекста. Текст не делится на блоки (как в блочном шифровании ) и не изменяется в размере. Для упрощения аппаратной реализации и, следовательно, увеличения быстродействия используются только простейшие операции: сложение по модулю 2 (XOR) и сдвиг регистра.
Формирование выходной последовательности происходит путём сложения потока исходного текста с генерируемой последовательностью (гаммой). Особенность операции XOR заключается в том, что применённая чётное число раз, она приводит к начальному значению. Отсюда, декодирование сообщения происходит путём сложения шифротекста с известной последовательностью.
Таким образом, безопасность системы полностью зависит от свойств последовательности. В идеальном случае каждый бит гаммы — это независимая случайная величина, и сама последовательность является случайной. Такая схема была изобретена Вернамом в 1917 году и названа в его честь. Как доказал Клод Шеннон в 1949 году, это обеспечивает абсолютную криптостойкость. Но использование случайной последовательности означает передачу по защищённому каналу сообщения, равного по объёму открытому тексту, что значительно усложняет задачу и практически нигде не используется.
В реальных системах создаётся ключ заданного размера, который без труда передаётся по закрытому каналу. Последовательность генерируется на его основе и является псевдослучайной. Большой класс поточных шифров (в том числе A5) составляют шифры, генератор псевдослучайной последовательности которой основан на регистрах сдвига с линейной обратной связью.
Регистр сдвига с линейной обратной связью состоит из собственно регистра (последовательности бит заданной длины) и обратной связи. На каждом такте происходит следующие действия: крайний левый бит (старший бит) извлекается, последовательность сдвигается влево и в опустевшую правую ячейку (младший бит) записывается значение функции обратной связи. Эта функция является суммированием по модулю два определённых битов регистра и записывается в виде многочлена, где степень указывает номер бита. Извлечённые биты формируют выходную последовательность.
Для РСЛОС основным показателем является период псевдослучайной последовательности. Он будет максимален (и равен 2 n −1), если многочлен функции обратной связи примитивен по модулю 2 . Выходная последовательность в таком случае называется М-последовательностью.
Сам по себе РСЛОС легко поддаётся криптоанализу и не является достаточно надёжным для использования в шифровании. Практическое применение имеют системы регистров переменного тактирования с различными длинами и функциями обратной связи.
Структура алгоритма А5 выглядит следующим образом:
Рассмотрим особенности функционирования алгоритма на основе известной схемы. Передача данных осуществляется в структурированном виде — с разбивкой на кадры (114 бит). Перед инициализацией регистры обнуляются, на вход алгоритма поступают сеансовый ключ (K — 64 бита), сформированный А8, и номер кадра (Fn — 22 бита). Далее последовательно выполняются следующие действия:
В алгоритм А5/2 добавлен ещё один регистр на 17 бит (R4), управляющий движением остальных. Изменения структуры следующие:
Изменения в функционировании не такие существенные и касаются только инициализации:
Видно, что инициализация занимает такое же время (100 тактов без генерации разбиты на две части).
Алгоритм А5/3 разработан в 2001 году и должен сменить A5/1 в третьем поколении мобильных систем. Также он называется алгоритм Касуми . При его создании за основы взят шифр MISTY корпорации Mitsubishi. В настоящее время считается, что A5/3 обеспечивает требуемую стойкость.
Алгоритм A5/0 не содержит шифрования.
Разработка стандарта GSM подразумевала мощный аппарат шифрования, не поддающийся взлому (особенно в реальном времени). Используемые разработки при надлежащей реализации обеспечивали качественное шифрование передаваемых данных. Именно такую информацию можно получить от компаний, распространяющих этот стандарт. Но стоит отметить важный нюанс: прослушивание разговоров — неотъемлемый атрибут, используемый спецслужбами. Они были заинтересованы в возможности прослушивания телефонных разговоров для своих целей. Таким образом, в алгоритм были внесены изменения, дающие возможность взлома за приемлемое время. Помимо этого, для экспорта A5 модифицировали в A5/2. В MoU (Memorandum of Understand Group Special Mobile standard) признают, что целью разработки A5/2 было понижение криптостойкости шифрования, однако в официальных результатах тестирования говорится, что неизвестно о каких-либо недостатках алгоритма .
С появлением данных о стандарте A5 начались попытки взлома алгоритма, а также поиска уязвимостей. Огромную роль оказали особенности стандарта, резко ослабляющие защиту, а именно:
На основе этих «дыр» в алгоритме построены схемы взлома.
Ключом является сеансовый ключ длиной 64 бита, номер кадра считается известным. Таким образом, сложность атаки, основанной на прямом переборе, равна 2 64 .
Первые обзоры шифра (работа Росса Андерсона) сразу выявили уязвимость алгоритма — из-за уменьшения эффективной длины ключа (зануление 10 бит) сложность упала до 2 45 (сразу на 6 порядков). Атака Андерсона основана на предположении о начальном заполнении коротких регистров и по выходным данным получения заполнения третьего.
В 1997 году Йован Голич опубликовал результаты анализа А5. Он предложил способ определения первоначального заполнения регистров по известному отрезку гаммы длиной всего 64 бита. Этот отрезок получают из нулевых сообщений. Атака имеет среднюю сложность 2 40 .
В 1999 году Вагнеру и Голдбергу без труда удалось продемонстрировать, что для вскрытия системы достаточно перебором определить начальное заполнение R4. Проверка осуществляется за счёт нулевых кадров. Сложность этой атаки равна 2 17 , таким образом, на современном компьютере вскрытие шифра занимает несколько секунд.
В декабре 1999 года группа израильских учёных ( Ади Шамир , Алекс Бирюков , а позже и американец ) опубликовали весьма нетривиальный, но теоретически очень эффективный метод вскрытия A5/1:
Это весьма сложная идея, реализуя которую мы наступаем на многих фронтах, чтобы накопить несколько небольших преимуществ, но сложенные все вместе, они дают большой выигрыш. Ади Шамир