Реализация базовых операций защиты информации на сигнальных процессорах. Часть 2. Учебное пособие
.pdfY1 = X 1 K
Y 2= X 2 K
Z = Y 1 Y 2 = X 1 X 2 K K = X 1 X 2.
Ключ, вносящий элемент непредсказуемой случайности в шифр, в сообщении Z будет отсутствовать.
Аналогичное явление будет иметь место при невыполнении условия 2 - при использовании в качестве гаммы шифра периодической последовательности, имеющей случайный характер на протяжении периода. Сложение зашифрованного такой последовательностью сообщения самого с собой со сдвигом на период последовательности аналогичным образом уничтожает ключ.
Криптоаналитиком могут предприниматься следующие основные виды криптоатак [1; 3].
1. Атака на зашифрованное сообщение. Криптоаналитику известны сообщения у1 = Еk (х1); у2 = Еk (х2)…. уn = Еk (хn), зашифрованные с помощью одного и того же алгоритма. Задача криптоатаки заключается либо в расшифровании как можно большего количества исходных сообщений х1…хn, либо в вычислении ключа (ключей) k, либо в выработке алгоритма вычисления хn+1 по известному yn+1.
2. Атака на зашифрованное сообщение при известном исходном. Криптоаналитику известны исходные сообщения х1…хn и
соответствующие им зашифрованные сообщения y1…yn. Задача криптоатаки заключается либо в вычислении ключа (ключей), либо в выработке алгоритма дешифрования нового сообщения, т.е. вычислении хn+1 по известному yn+1.
3.Атака на зашифрованное сообщение при известном исходном по выбранным фрагментам. Условия атаки аналогичны п. 2; при этом криптоаналитик имеет возможность самостоятельно сформировать некоторое специфическое сообщение хi с учетом особенностей и слабых моментов алгоритма криптозащиты и получить соответствующее ему зашифрованное сообщение yi.
4.Адаптивная атака на зашифрованное сообщение при известном исходном. Условия атаки аналогичны п. 3; при этом криптоаналитик имеет возможность по результату вскрытия фрагмента меньшего размера модифицировать самостоятельно сообщение хi и таким образом перейти
квскрытию фрагмента большего размера.
5.Атака на выбранные фрагменты дешифрованного сообщения. Криптоаналитик имеет возможность задать или выбрать какие-то
11
фрагменты зашифрованного сообщения и имеет доступ к этим фрагментам в расшифрованном сообщении (атака на алгоритм
дешифровки). Задачей криптоатаки является вычисление |
ключа |
(ключей) k. |
|
6. Атака на ключ. К этому виду атаки относится атака на принцип генерации ключей (например, на алгоритм генерации ПСП), попытки вычисления ключа по двум или нескольким зашифрованным сообщениям, полученным путем шифрования одного исходного сообщения разными ключами и др.
Помимо действий криптоаналитика, известную угрозу информационной безопасности представляют злоумышленные действия самих абонентов. К основным видам злоумышленных действий относятся:
1)маскарад – абонент В посылает сообщение абоненту Б от имени абонента А;
2)ренегатство – абонент А заявляет, что не посылал сообщения абоненту Б, хотя на самом деле посылал;
3)подделка – абонент Б изменяет сообщение и утверждает, что получил его (в измененном виде) от абонента А;
4)подмена – абонент Б формирует новое сообщение и заявляет, что получил его от абонента А;
5)повтор – абонент В повторяет для абонента Б сообщение, ранее переданное абонентом А абоненту Б.
Противодействие перечисленным злоумышленным действиям абонентов тоже входит в круг задач, решаемых криптологией.
Надежность систем криптозащиты обычно оценивается двумя показателями:
- либо временем, необходимым для взлома при имеющихся ресурсах;
- либо количеством элементарных вычислительных операций, необходимых для взлома.
Используется также понятие уровня защиты (защищенности). До недавнего времени в нашей стране имели хождение понятия стратегического и тактического уровней защиты информации обеспечиваемой использованием криптографических средств. Уровень, называемый тактическим, подразумевает защиту информации в течение интервала времени от нескольких минут до нескольких дней. Стратегический – от нескольких недель до десятков лет.
12
Современный американский стандарт [6] определяет пять уровней в соответствии с таблицей 1.1.
|
|
|
Таблица 1.1 |
|
|
|
|
|
|
Approved |
|
|
|
|
(утвержденный) |
Сертифицирован уполномоченными органами |
|
||
|
|
|||
Acceptable |
Алгоритм и длина ключа достаточны для |
|||
(приемлемый) |
обеспечения защиты, сведения о фактах взлома |
|||
|
отсутствуют |
|
|
|
|
|
|||
Deprecated |
Алгоритм и длина ключа вызывают сомнения, |
|||
(не рекомендо- |
использование связано с некоторым риском |
|
||
ванный) |
|
|
|
|
|
|
|||
Restricted |
Использование алгоритма при данной длине |
|||
(ограниченного |
ключа связано с некоторым риском, и, кроме того, |
|||
использования) |
имеются |
дополнительные |
ограничения |
на |
|
применение |
|
|
|
|
|
|||
Legacy-use |
Алгоритм и длина ключа могут быть |
|||
(устаревший) |
использованы для обработки ранее защищенной |
|||
|
информации |
|
|
|
|
|
|
|
|
13
2. БАЗОВЫЕ ФУНКЦИИ КРИПТОГРАФИЧЕСКИХ АЛГОРИТМОВ
Со времен начала криптографии и по настоящее время в функциональной основе алгоритмов защиты информации лежит совместное использование двух базовых операций.
Подстановка, при которой осуществляется управляемая (зависимая от ключа) замена каждого символа или группы символов исходного сообщения другим символом или группой символов.
Перестановка, предполагающая зависимое от ключа изменение порядка следования символов в сообщении.
Процедура перестановки реализует функцию рассеивания (diffusion) и в современных системах криптозащиты обычно выполняется
воперативной памяти данных процессора, реализующего алгоритм криптозащиты.
Подстановка реализует функцию перемешивания (confusion) и во многих исторических системах защиты информации использовалась как самостоятельный алгоритм криптозащиты; она может быть реализована по различным принципам.
Простая подстановка, при которой каждый элемент сообщения, принадлежащего к какому-то алфавиту, заменяется на другой элемент того же или другого, равного ему по объему алфавита. Так, например, буква Б заменяется на Ф, А на У и т.д. Метод простой подстановки был использован в известном шифре Цезаря [1], заменявшем в тексте каждую букву на другую, сдвинутую на 3 позиции вперед по порядку закольцованного латинского алфавита. Этот шифр не представляет сложностей для криптоанализа, поскольку сохраняет статистику языка в зашифрованном сообщении.
Множественная или омофонная (термин из лингвистики) подстановка, при которой каждый элемент сообщения заменяется одним из нескольких допустимых элементов более широкого алфавита. Так, например, при первом упоминании буква А заменяется на 8, при втором - на 14, далее на 51, 76 и т.д., буква Б – соответственно встречаемости – на 33, 17, 11, 7 и т.д. Шифр, использующий омофонную подстановку, применялся еще в 1401 году герцогом Мантуи. Естественно, что использование более широкого алфавита увеличивает длину зашифрованного сообщения по отношению к длине исходного. Криптоанализ таких шифров сложнее, однако вследствие вынужденной цикличности замен (связанной с ограничением алфавита зашифрованных
14
сообщений и ограничением длины сообщений) в настоящее время сложности не представляет.
Многоалфавитная или динамическая подстановка, при которой отдельные фрагменты сообщения шифруются по методу простой подстановки в различных – динамически меняющихся - алфавитах зашифрованных сообщений. Так, например, в первой части сообщения буква А заменяется на Л, во – второй – на Ц и т.д. Многоалфавитная перестановка была изобретена в 1568 году Леоном Баттистой. Ввиду ограниченности количества алфавитов, представляющих зашифрованное сообщение, алгоритмы, построенные по описываемому принципу, также обладают свойством периодичности смены алфавитов. Секретности приемлемого уровня не обеспечивает.
Многоэлементная или блочная подстановка, при которой заменяются не отдельные символы исходного сообщения, а их группы. Так, например, группа букв АКМ заменяется на ППШ, КСО – на ТЛМ и т.п. Изобретена в 1854 году.
Большинство используемых в настоящее время алгоритмов криптозащиты относятся к блочным.
Для блочного шифрования открытый текст сначала разбивается на равные по длине блоки, затем применяется зависящая от ключа функция шифрования для преобразования блока открытого текста определенной длины в блок зашифрованного сообщения такой же длины. Важное свойство блочного шифрования состоит в том, что каждый бит блока зашифрованного сообщения в хорошей криптосистеме является функцией всех (или почти всех) битов соответствующего блока открытого исходного сообщения, что является результатом рассеивания, вызванного корректным использованием операций подстановки и перестановки. При этом зона действия эффекта рассеивания ограничена размером блока.
В некоторых приложениях, к которым относится и связь, возникает необходимость расширить границы рассеивания за пределы одного блока. Так, например, однозначность соответствия зашифрованного блока исходному в телефонных каналах цифровых систем передачи приведет к тому, что в паузах зашифрованного речевого сигнала будет иметь место периодический процесс. Период этого процесса будет определяться размером блока шифрования.
Такая ситуация, скрывая от криптоаналитика содержание, открывает ему возможность анализировать статистику динамики разговора, которая, как показывают результаты исследований, дает
15
возможность оценить психологическое состояние говорящего, включая его психическую адекватность [8].
В качестве меры расширения эффекта рассеивания криптографических алгоритмов могут рассматриваться дополнительные режимы шифрования, рассматриваемые далее (похожие механизмы могут быть использованы и в потоковых шифрах). Четыре режима шифрования фактически применимы к любому блочному шифру. Эти режимы получили следующие названия:
режим прямого шифрования или шифрования с использованием электронной книги кодов ECB (Electronic Сode Вook);
шифрование со сцеплением с блоками зашифрованного сообщения
CBC (Cipher Вlock Сhaining);
шифрование с посимвольной обратной связью от зашифрованного сообщения CFB (Cipher Feedback);
шифрование с внутренней обратной связью OFB (Output Feedback). Поскольку эти режимы имеют важное прикладное значение для
техники электросвязи, рассмотрим их особенности и характеристики подробнее.
2.1. Режим прямого шифрования
Режим прямого шифрования, называемый также режимом электронной кодовой книги, обеспечивается непосредственным применением алгоритма шифрования (дешифрования) к каждому блоку защищаемой (защищенной) информации; таким образом, каждый блок шифруется (дешифруется) независимо от других. В этом режиме каждому конкретному блоку Xi исходного сообщения ставится в однозначное соответствие блок Yi зашифрованного сообщения.
Режим прямого шифрования имеет наиболее простую реализацию; правильность работы системы обеспечивается при обеспечении правильной синхронизации блоков.
Вместе с тем независимый характер шифрования отдельных блоков позволяет криптоаналитику выявить некоторые закономерности в зашифрованном сообщении, дополнительно к рассмотренному ранее.
Во-первых, криптоаналитик может по известному фрагменту (например, блоку) исходного сообщения и соответствующему ему фрагменту зашифрованного сообщения обнаружить известный фрагмент при его повторении в любой части зашифрованного сообщения или в другом сообщении, зашифрованном с использованием того же ключа.
16
Во-вторых, - и это особенно актуально при передаче по каналам связи файлов данных, зашифрованных в режиме прямого шифрования, - криптоаналитик может предпринять атаку на так называемые типовые начала и типовые окончания в сообщении (например, заголовки сообщений электронной почты, заголовки банковых форм и т.п.).
В-третьих (что также относится главным образом к передаче файлов данных), сообщения, зашифрованные в режиме прямого шифрования, без принятия специальных мер неустойчивы к повторам сообщений. Так, например, если в руках криптоаналитика оказывается записанное (простым перехватом) сообщение от одного банка к другому с требованием о переводе денежных средств на расчетный счет криптоаналитика (возможно, инициированное самим криптоаналитиком законным образом), он получает возможность увеличить переводимую сумму простым дублированием передачи этого сообщения банку – плательщику.
Одной из наиболее эффективных и часто используемых мер защиты от повторов сообщений является использование так называемых меток времени, т.е. шифрование вместе с сообщением информации о системном времени компьютера или сети. Эта мера позволяет отличить новое сообщение от дубля ранее полученного.
И, наконец, в четвертых, передача файлов данных, зашифрованных в режиме прямого шифрования, оказывается неустойчивой к активному перехвату, когда криптоаналитик включается «в разрыв» канала передачи сообщений. В этом случае криптоаналитик, если ему известна структура сообщений, имеет возможность осуществлять некоторые изменения, например, заменить в реальном зашифрованном требовании о переводе денег расчетный счет получателя на свой, также зашифрованный, перехваченный из ранее переданного сообщения.
Блочное шифрование - в любом режиме - имеет с точки зрения передачи информации по каналам связи одну особенность – повышенную уязвимость к воздействию ошибок передачи. Так, например, при использовании большинства современных алгоритмов криптозащиты изменение даже одного бита в зашифрованном сообщении (например, за счет воздействия шума канала) приводит к поражению всего блока. Таким образом, использование канала связи (или тракта) для передачи зашифрованных сообщений предъявляет повышенные требования к коэффициенту ошибок, особенно при передаче информации в реальном времени, когда невозможна повторная передача поврежденных
17
фрагментов, например, при защищенной передаче телефонных разговоров (в отличие от передачи файлов данных).
2.2. Шифрование со сцеплением с блоками зашифрованного сообщения
Этот режим, используя принцип обратной связи, обеспечивает зависимость вида зашифрованного блока Yi не только от исходного Xi, но также и от других блоков. Для шифрования используется так называемый вектор инициализации IV, представляющий собой блок случайных чисел такого же размера, как и шифруемые блоки. Этот вектор должен быть идентичным для шифрования и дешифрования сообщения, при этом не требуется обеспечение его секретности, необходимо только использовать новый вектор при передаче нового сообщения.
Шифрование производится в соответствии со следующими выражениями:
Y1 =
Y2 =
Y3 =
Yi =
E(X1 IV) E(X2 Y1) E(X3 Y2)
E(Xi Yi-1)
где - знак операции «исключающее ИЛИ».
Шифрование в соответствии с приведенным принципом приведет к тому, что один и тот же блок Xn исходного сообщения будет представлен в разных частях зашифрованного сообщения различными по содержанию блоками Y.
Дешифрование производится в соответствии со следующими выражениями.
X1 =
X2 =
Xi = Yi-1 D (Yi)
18
Рассмотренный режим защищает от таких действий криптоаналитика, как повтор и подделка, а также вносит в передаваемое сообщение некоторый элемент случайности, который повышает криптостойкость алгоритма к видам криптоатак, опасных для режима прямого шифрования.
Вместе с тем, использование механизма обратной связи приведет к эффекту размножения ошибок. Так, одиночная ошибка при передаче зашифрованного сообщения приводит к поражению сразу двух блоков в восстановленном сообщении, один из которых поражается полностью, а второй содержит ошибку в одном бите по месту ошибки в зашифрованном сообщении.
Нарушение синхронизации при передаче сообщения вызывает катастрофические последствия в системах криптозащиты, работающих в режиме шифрования со сцеплением с блоками зашифрованных сообщений. Если в режиме прямого шифрования для восстановления работоспособности системы криптозащиты после сбоя синхронизации достаточно восстановления синхронизации по блокам (восстановление правильных границ блоков), то сбой синхронизации в режиме сцепления с блоками зашифрованного сообщения требует реинициализации и рестарта всей системы.
2.3. Режим шифрования с посимвольной обратной связью от зашифрованного сообщения
Вряде случаев при организации криптозащиты сообщений, передаваемых по сетям связи, возникает необходимость шифрования сообщений меньшего размера, чем размер блока стандартных алгоритмов криптозащиты. Например, при межкомпьютерной связи часто используется режим посимвольного (побайтового) диалога (chat mode, т.н. режим чата), при котором требуется передать один байт информации при однократном нажатии на клавишу. В этом случае использование алгоритмов криптозащиты блочного типа затруднительно вследствие невозможности начала процессов шифрования и дешифрования до тех пор, пока не будет сформирован блок соответствующего размера. Рассматриваемый режим шифрования ориентирован на использование в подобных ситуациях.
Врежиме с посимвольной обратной связью от зашифрованного сообщения шифрование одного символа S размером M бит при размере блока шифрования N бит ( M < N ) осуществляется в следующем порядке.
19
Шифруемый блок X = xN-1….x0 заполняется случайными числами вектора инициализации IV:
X = IV.
Заполненный блок шифруется.
Y = E(X).
Выделяются M старших (левых) бит блока Y:
Q = q M-1…q 0
q i = y N - M + i, i = 0…M – 1.
Исходный символ S складывается по модулю 2 с комбинацией Q.
Z = S Q.
Сообщение Z передается в канал как зашифрованное сообщение, соответствующее исходному S.
Блок Y сдвигается логически влево на M разрядов, а в младшие M разрядов записывается комбинация Z.
X = ( Y 2 M ) mod 2N + Z.
При дальнейшем шифровании процедура повторяется начиная с операции 2).
Дешифрование производится в обратном порядке.
Данному режиму шифрования также свойственно размножение ошибок; одиночная ошибка передачи зашифрованного сообщения приводит к поражению M + 1 бит в дешифрованном сообщении.
При потере синхронизации работоспособность системы восстанавливается после передачи N бит информации.
2.4. Режим шифрования с внутренней обратной связью
Этот режим называется также режимом шифрования с обратной связью от выхода. Режим шифрования с внутренней обратной связью в основном аналогичен режиму с посимвольной обратной связью от зашифрованного сообщения, за исключением того, что в операции 6) вместо комбинации Z используется комбинация Q.
Главным достоинством данного режима является отсутствие эффекта дополнительного размножения ошибок, что обеспечивается исключением канала передачи из цепи обратной связи.
Потеря синхронизма в этом режиме имеет такие же катастрофические последствия, что и в режиме со сцеплением с блоками зашифрованного сообщения.
Известен еще ряд режимов блочного шифрования; их рассмотрение выходит за рамки данного пособия.
20
