Реализация базовых операций защиты информации на сигнальных процессорах. Часть 2. Учебное пособие
.pdf
ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
Московский технический университет связи и информатики
С.С.Шаврин
Рекомендовано УМО по образованию в области инфокоммуникационных технологий и систем связи в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению подготовки 11.03.02 – Инфокоммуникационные технологии и системы связи (уровень высшего образования – бакалавриат).
Протокол № 84 от 28.05.2015 г.
РЕАЛИЗАЦИЯ БАЗОВЫХ ОПЕРАЦИЙ ЗАЩИТЫ ИНФОРМАЦИИ
НА СИГНАЛЬНЫХ ПРОЦЕССОРАХ Часть 2
Учебное пособие
Москва 2016
1
УДК 621.327.8; 5002000000
Шаврин С.С. Реализация базовых операций защиты информации на сигнальных процессорах. Ч. 2: Учебное пособие / МТУСИ. – М., 2016. - 42 с.
Во второй части учебного пособия рассмотрены базовые понятия, базовые функции и механизмы криптографических алгоритмов в концепции их реализации на сигнальных процессорах семейства ADSP-21ХХ. Изложение вопросов реализации базируется на материалах, представленных в первой части. В рамках второй части подробно рассмотрены принципы реализации логических механизмов, используемых в криптографических алгоритмах; реализация математических механизмов будет рассмотрена в третьей части. Целью настоящего пособия является обучение студентов начальным навыкам и базовым принципам разработки и реализации средств защиты информации в телекоммуникационных приложениях.
Ил. 11, табл. 11, список лит. 9 назв.
Рецензенты: Е.Л.Левин, д.т.н., профессор (ВлГУ) А.А.Липатов, нач. отдела (НИИР)
Московский технический университет связи и информатики, 2016
2
СОДЕРЖАНИЕ
1.Базовые понятия и терминология криптологии……………………….. 4
2.Базовые функции криптографических алгоритмов…………………… 14
2.1.Режим прямого шифрования ...……………………………………. 16
2.2.Шифрование со сцеплением с блоками зашифрованного сообщения ………………………………………………………….. 18
2.3.Режим шифрования с посимвольной обратной связью от зашифрованного сообщения …………………………………… 19
2.4.Режим шифрования с внутренней обратной связью…………….. 20
3.Логические механизмы, используемые в криптографических алгоритмах………………………………………………………………… 21
3.1.Сеть Файстеля……………………………………………………… 21
3.2.SP-сеть.……………………………………………………………… 22
3.3.Циклические сдвиги.……………………………………….……… 23
3.4.Реализация базовых операций.……………………………….…… 23
3.4.1.Расширяющая подстановка.………………………………… 27
3.4.2.S – подстановка.……………………………………………… 30
3.4.3.Операции циклических сдвигов.…………………………… 39
Список литературы .………………………………………………….……. 40
3
1. БАЗОВЫЕ ПОНЯТИЯ И ТЕРМИНОЛОГИЯ КРИПТОЛОГИИ
Объектом криптологии как науки является информационная безопасность. Криптология диалектически объединяет две науки - криптографию - науку о методах защиты информации от несанкционированного доступа, и криптоанализ - науку о методах несанкционированного доступа к защищаемой информации. Взаимодействие этих двух наук определяет развитие криптологии и ее приложений – методов и средств защиты информации.
В обобщенном виде задача защиты информации от несанкционированного доступа может быть сформулирована следующим образом.
Лицо А, являющееся источником и инициатором передачи сообщения X, намерено передать это сообщение лицу Б, называемому получателем сообщения; при этом лицо А хочет быть уверенным в том, что в процессе передачи сообщения никто не сможет прочитать его (раскрыть содержание), изменить или создать другое похожее сообщение и передать его лицу Б от имени лица А. В свою очередь лицо Б, получив сообщение, хочет быть уверенным в возможности в любой момент установить и доказать его получение именно от лица А, а также тот факт, что данное сообщение не является повтором более раннего. Последний момент - защита от повторов – также в ряде случаев может являться задачей криптологии. Так, например, если лицо А направляет банку Б защищенное сообщение с требованием о переводе денежных средств на расчетный счет лица В, то перехват этого сообщения лицом В даже без взлома защиты может обеспечить ему возможность повторного получения средств в случае повторения передачи защищенного сообщения банку Б.
Таким образом, система защиты информации от несанкционированного доступа должна обеспечить (выражаясь терминами криптологии):
-конфиденциальность – информация должна быть защищена от несанкционированного прочтения как при хранении, так и при передаче;
-контроль доступа – информация должна быть доступна только для того, для кого она предназначена;
-аутентификацию – возможность однозначно подтвердить подлинность информации и идентифицировать отправителя;
4
-целостность – информация должна быть защищена от несанкционированной модификации при хранении и передаче;
-неотрекаемость – отправитель не может отказаться от факта отправки данного сообщения.
Сообщение X обычно называется исходным или открытым сообщением или текстом. В качестве сообщения X может выступать, например, оцифрованная речь телефонного разговора, текстовый или другой информационный файл, пакеты IP трафика и другие виды информации, подлежащей защите от несанкционированного доступа.
Для защиты сообщения X от несанкционированного доступа применяется некоторое преобразование исходного сообщения, называемое шифрованием; это преобразование предполагает сопоставление исходному сообщению X некоторой функции Е(X), превращающей его в нечитаемое без специальных средств зашифрованное сообщение Y
Y = Е(X) .
Зашифрованное сообщение Y обычно имеет родственную исходному X структуру; длина сообщения Y обычно равна или превышает длину сообщения X. В ряде случаев в процессе шифрования используется сжатие информации в сообщении X (сокращение избыточности), при этом сообщение Y может оказаться короче сообщения X, однако это не является следствием шифрования как такового.
Для восстановления исходного сообщения X из зашифрованного сообщения Y применяется операция дешифрования с использованием функции D(Y), такой, что
|
X = D( Е( X ) ) D ( Y ) = X . |
|
||
Функционально |
процесс |
защиты |
информации |
от |
несанкционированного доступа иллюстрируется рис. 1.1. |
|
|||
|
|
|
Восстановленное |
|
Исходное |
Зашифрованное |
исходное |
||
сообщение Х |
cообщение Y |
сообщение Х |
||
Шифрование
Дешифрование
Рисунок 1.1
Алгоритм, реализующий функцию шифрования Е(X), называется алгоритмом шифрования. Соответственно, алгоритмом дешифрования
5
называется алгоритм, реализующий функцию D(Y). Совокупность алгоритмов шифрования и дешифрования будем называть алгоритмом криптозащиты.
Если защита информации с помощью какого-то алгоритма криптозащиты обеспечивается секретностью (недоступностью) структуры самого алгоритма, то такой алгоритм называется ограниченным. Ограниченные алгоритмы не могут эксплуатироваться широким кругом пользователей, поскольку утечка информации о структуре алгоритма приводит к необратимой потере секретности сразу для всех пользователей, лишая смысла всю систему защиты в целом.
Секретность современных алгоритмов криптозащиты, предназначенных для широкого круга пользователей, заключается в некоторой индивидуальной для каждого пользователя (или пары пользователей) комбинации чисел из множества возможных, называемой ключом.
Ключ обычно является внешней по отношению к алгоритмам шифрования и дешифрования информацией, определяющей конкретный вид зашифрованного сообщения Y при данном исходном сообщении X, что может быть проиллюстрировано рис. 1.2.
|
|
Восстановленное |
Исходное |
Зашифрованное |
исходное |
сообщение Х |
cообщение Y |
сообщение Х |
Шифрование
Дешифрование
Ключ шифрования ke |
Ключ дешифрования kd |
Тогда Y = Eke(X)
X = Dkd(Y)
Dkd(Eke(X))=X
Рисунок 1.2
C точки зрения содержательной части ключей kd и ke все алгоритмы криптозащиты подразделяются на две большие категории:
симметричные алгоритмы и алгоритмы с открытым ключом.
6
Симметричные алгоритмы используют одинаковые ключи для шифрования и дешифрования
kd = ke
(или, в общем случае, ключ kd может быть вычислен по известному значению ke). Такие алгоритмы называются, кроме того, одноключевыми, или алгоритмами с закрытым ключом.
В системах защиты информации, использующих симметричные алгоритмы, важное место занимает проблема необходимости закрытого (защищенного) хранения, смены и распространения ключей, которые должны быть одинаковыми и синхронно изменяться на стороне шифрования и дешифрования. Перехват ключа в процессе его передачи или смены, утечка информации о ключе от одной из сторон лишает секретности все сообщения, зашифрованные данным ключом. С этой точки зрения в системах защиты информации, использующих симметричные алгоритмы, должно быть обеспечено секретное хранение ключей на обеих сторонах или должен быть предусмотрен какой-то закрытый канал для их передачи.
Симметричные алгоритмы подразделяются на потоковые, осуществляющие текущую операцию над текущим битом потока, и блочные, реализующие обработку информации, разбитой на группы битов, называемые блоками.
Последние вносят в обрабатываемую информацию задержку, с которой в ряде случаев приходится считаться, особенно в задачах защиты
информации в системах связи. |
|
Алгоритмы с открытым ключом используют для |
защиты |
сообщения или канала передачи пару ключей kd и ke, причем |
|
kd ke |
|
и значение kd не может быть приемлемыми для данного уровня криптоанализа средствами вычислено по известному значению ke.
Ключ ke является и называется открытым ключом; с его помощью любой человек может зашифровать сообщение X, но при этом ни он сам, ни кто-либо другой, кроме владельца ключа kd, не в состоянии правильно дешифрировать полученное зашифрованное сообщение Y. Ключ kd называется индивидуальным ключом или закрытой частью ключа.
Алгоритмы с открытым ключом называются также
двухключевыми.
В отличие от симметричных, использование двухключевых алгоритмов криптозащиты не требует решения задачи распространения ключей, и таким образом существенно снижается риск перехвата ключа.
7
Вместе с тем наличие у криптоаналитика ключа шифрования открывает для него возможность – при известной затрате времени – создания некоторого «словаря» шифра путем перебора возможных (или наиболее употребляемых) значений исходного сообщения X и фиксации соответствующих сообщений Y с тем, чтобы по знакомому виду сообщения Y идентифицировать сообщение X. Такая возможность накладывает определенные для данного уровня криптозащиты ограничения на минимальную длину сообщения X.
Некоторые двухключевые алгоритмы обладают свойством линейности, т.е.
|
X = Dkd (Eke (X)) = Eke (Dkd (X)) . |
|
Свойство |
линейности позволяет |
изменять порядок операций |
шифрования и |
дешифрования, при |
этом любое сообщение X, |
зашифрованное с помощью закрытого ключа kd его владельцем, может быть дешифровано любым человеком, но только с помощью открытого ключа ke того же владельца, подтверждая авторство сообщения. Такая технология открывает новые функции криптографии – аутентификацию и идентификацию – и называется электронной подписью.
Электронная подпись может быть реализована и с помощью другого механизма – так называемой хэш-функции. Хэш-функция не преследует цели шифрования информации и представляет собой некое подтверждающее целостность информации дополнение, вычисляемое на основе подтверждаемого блока данных. В качестве хэшей обычно используются так называемые однонаправленные функции без столкновений, к характеристикам которых предъявляются три основных требования:
во-первых, по хеш-функции должно быть невозможным восстановление подтверждаемого блока данных;
во-вторых, любое изменение в исходном подтверждаемом сообщении должно надежно отражаться на значении хеш-функции;
в третьих, целенаправленная генерация двух разных осмысленных блоков данных, имеющих одинаковые значения хеш-функции, должна представить собой сложную, по возможности неразрешимую, задачу.
Если процесс вычисления хеш-функции предполагает использование некоторого ключа, то в этом случае она может дополнительно играть аутентифицирующую роль.
В целом же криптографические алгоритмы могут быть классифицированы в соответствии с рис. 1.3.
8
Рисунок 1.3
Все средства криптозащиты разрабатываются и эксплуатируются с ориентацией на то, что в процессе их использования возможны непрерывные попытки несанкционированного доступа к защищаемой информации. С этой точки зрения одним из важных разделов криптологии является криптоанализ, средства которого дают возможность оценить надежность защиты информации, обеспечиваемую разрабатываемой системой, и проверить ее функциональность в различных условиях.
Попытка несанкционированного доступа к защищаемой информации называется криптоатакой. Успешная криптоатака открывает метод взлома или метод вскрытия шифра.
Способность криптосистемы (алгоритма криптозащиты, шифра) противостоять попыткам несанкционированного доступа к защищаемой информации (ее искажению, уничтожению) называется криптостойкостью.
Задачи криптоанализа рассматриваются, как правило, в предположении, что криптоаналитик обладает полной информацией об алгоритме криптозащиты и ему неизвестен только ключ.
9
Известен только один вид шифра, теоретически не допускающий взлома, т.е. абсолютно криптостойкий шифр. Необходимыми и достаточными условиями абсолютной криптостойкости являются [1]:
-использование для шифрования (в качестве гаммы шифра) абсолютно случайной последовательности, не содержащей никаких математических закономерностей;
-длина ключа (гаммы шифра) должна быть равна длине сообщения.
-данная гамма шифра может использоваться для шифрования только одного сообщения.
С позиций теории информации задачу шифрования можно сформулировать как задачу разрушения статистических связей в исходном сообщении. Так, шифрование исходного неслучайного сообщения сложением по модулю 2 с чисто случайной последовательностью приводит к чисто случайной последовательности. Восстановить из нее исходное сообщение не представляется возможным при использовании каких бы то ни было вычислительных ресурсов. Даже полный перебор всех возможных вариантов ключевых последовательностей (который рассматривается как универсальный метод для взлома остальных видов шифров) не позволяет расшифровать сообщение, т.к. при полном переборе ключей будет получен полный набор всех возможных сообщений заданной длины.
Невзирая на явную экзотичность рассматриваемого шифра, он вполне успешно применяется на практике в сверхзакрытых системах специального назначения, включая системы связи. Так, например, если для хранения ключа используется обычный диск CD-ROM емкостью 750 Мбайт, то его длина позволит передавать речь, сжатую по алгоритму ACELP8 до 8 кбит/с, в течение 26 часов по абсолютно криптоустойчивому каналу. Использование компьютерного жесткого магнитного диска емкостью 400 Гбайт увеличит время связи до 580 суток
[3].
Если шифр не удовлетворяет перечисленным условиям криптостойкости, то он относится к теоретически взламываемым. Так, например, если два разных исходных сообщения X1 и X 2 зашифрованы одним и тем же ключом K (невыполнение условия 3), то сложение соответствующих им зашифрованных сообщений Y 1 и Y 2 между собой по модулю 2 восстановит статистические связи исходных сообщений за счет уничтожения ключа:
10
