Лекция 12
Защита информации
Проблема защиты информации от несанкционированного (неразрешенного,) доступа (НСД) заметно обострилась в связи с широким распространением локальных и, особенно, глобальных компьютерных сетей.
Защита информации необходима для уменьшения вероятности утечки (разглашения), модификации (умышленного искажения) или уничтожения информации, представляющей определенную ценность для ее владельца.
Коды появились еще в глубокой древности в виде криптограмм (по-гречески — тайнопись).
Древней Греции (II в. до н.э.) был известен шифр, называемый «квадрат Полибия». Шифровальная таблица представляла собой квадрат с пятью столбцами и пятью строками, которые нумеровались цифрами от 1 до 5. В каждую клетку такой таблицы записывалась одна буква. В результате каждой букве соответствовала пара чисел, и шифрование сводилось к замене буквы парой чисел.
Идею квадрата Полибия проиллюстрируем таблицей с русскими буквами. Число букв в русском алфавите отличается от числа букв в греческом алфавите, поэтому и размер таблицы выбран иным (не квадрат 5x5, а прямоугольник 8x4).
|
|
|
|
|
|
|
|
|
|
А |
Б |
В |
Г |
Д |
Е |
Ж |
З |
|
И |
Й |
К |
Л |
М |
Н |
О |
П |
|
Р |
С |
Т |
У |
Ф |
Х |
ц |
ч |
|
Ш |
Щ |
Ъ |
Ь |
Ы |
Э |
Ю |
Я |
Зашифруем фразу: КРИПТОГРАФИЯ:
23 31 21 28 33 27 14 31 11 35 21 48
Из примера видно, что в шифрограмме первым указывается номер строки, а вторым — номер столбца.
В настоящее время проблемами защиты информации занимается криптология (kryptos — тайный, logos — наука). Криптология разделяется на два направления — криптографию и криптоанализ. Цели этих двух направлений криптологии прямо противоположны.
Криптография — наука о защите информации от несанкционированного получения ее посторонними лицами. Сфера интересов криптографии — разработка и исследование методов шифрования информации.
Под шифрованием понимается такое преобразование информации, которое делает исходные данные нечитаемыми и трудно раскрываемыми без знания специальной секретной информации — ключа. В результате шифрования открытый текст превращается в шифрограмму и становится нечитаемым без использования дешифрирующего преобразования. Шифрограмма может называться иначе: зашифрованный текст, криптограмма, шифровка или шифртекст. Шифрограмма позволяет скрыть смысл передаваемого сообщения.
Сфера интересов криптоанализа противоположная — разработка и исследование методов дешифрования (раскрытия) шифрограммы даже без знания секретного ключа.
Под ключом понимается секретная информация, определяющая, какое преобразование из множества возможных шифрующих преобразований выполняется в данном случае над открытым текстом.
Дешифрование — обратный шифрованию процесс. На основе ключа зашифрованный текст (шифрограмма, шифровка) преобразуется в исходный Открытый текст.
Процесс получения криптоаналитиками открытого сообщения из шифрованного сообщения без заранее известного ключа называется вскрытием или взломом шифра.
Существует несколько классификаций шифров.
По характеру использования ключа алгоритмы шифрования можно разделить на два типа: симметричные (с одним ключом, по-другому — с секретным ключом) и несимметричные (с двумя ключами или с открытым ключом). Несимметричные алгоритмы шифрования и дешифрования порой называют асимметричными.
В первом случае в шифраторе отправителя и дешифраторе получателя используется один и тот же ключ (Ключ 1 , см. рис. 1). Шифратор образует шифрограмму, которая является функцией открытого текста. Конкретный вид функции преобразования (шифрования) определяется секретным ключом. Дешифратор получателя сообщения выполняет обратное преобразование по отношению к преобразованию, сделанному в шифраторе. Секретный ключ хранится в тайне и передается отправителем сообщения получателю по каналу, исключающему перехват ключа криптоаналитиком противника или Коммерческого конкурента.
Получатель
Шифратор
Дешифратор
Текст
Рисунок 1 Схема Передачи информации с секретным ключом
Во втором случае (при использовании асимметричного алгоритма) получатель вначале по открытому каналу передает отправителю открытый ключ (Ключ 1), с помощью которого отправитель шифрует информацию. При получении информации получатель дешифрирует ее с помощью второго секретного ключа (Ключ 2). Перехват открытого ключа (Ключ 1) криптоаналитиком противника не позволяет дешифровать закрытое сообщение, так как ' оно рассекречивается лишь вторым секретным ключом (Ключ 2). При этом секретный Ключ 2 практически невозможно вычислить с помощью открытого Ключа 1.
Текст
Рисунок 2 Схема передачи информации с открытым ключом
Криптостойкостью называется характеристика шифра, определяющая его устойчивость к дешифрованию без знания ключа (т.е. устойчивость к криптоанализу). Имеется несколько показателей криптостойкости, среди которых: количество всех возможных ключей и среднее время, необходимое для криптоанализа.
Алгоритмы шифрования с открытым ключом используют так называемые необратимые или односторонние функции. Эти функции обладают следующим свойством: при заданном значении аргумента х относительно просто вычислить значение функции f(x), однако, если известно значение функции у =f(x), то нет простого пути для вычисления значения аргументах.
Все используемые в настоящее время криптосистемы с открытым ключом опираются на один из следующих типов необратимых преобразований.
Разложение больших чисел на простые множители (алгоритм RSA, авторы — Райвест, Шамир и Адлеман — Rivest, Shamir, Adleman).
Вычисление логарифма или возведение в степень (алгоритм DH, авторы — Диффи и Хелман)
Вычисление корней алгебраических уравнений.
Рассмотрим простейший пример необратимых функций. Легко в уме найти произведение двух простых чисел 11 и 13. Но попробуйте быстро в уме найти два простых числа, произведение которых равно 437. Такие же трудности возникают и при использовании вычислительной техники для отыскания двух простых сомножителей для очень большого числа: найти сомножители можно, но потребуется много времени.
Таким образом, в системе кодирования, основанной на разложении на множители, используются два разных ключа: один для шифрования сообщения, а второй — отличный от первого, но связанный с ним, — для дешифрования. Ключ шифрования основан на произведении двух огромных простых чисел, а ключ дешифрования — на самих простых числах.
В сороковых годах американский инженер и математик Клод Шеннон предложил разрабатывать шифр таким образом, чтобы его раскрытие было эквивалентно решению сложной математической задачи. Сложность задачи должна быть такой, чтобы объем необходимых вычислений превосходил бы возможности современных ЭВМ.
В асимметричных системах приходится применять длинные ключи (1024 бит и больше). К сожалению, длинный ключ резко увеличивает время шифрования открытого сообщения. Кроме того, генерация ключей становится весьма длительной. Зато пересылать ключи можно по незащищенным (незасекреченным, открытым) каналам связи. Это особенно удобно, например, для коммерческих партнеров, разделенных большими расстояниями.
В симметричных алгоритмах используют более короткие ключи, поэтому шифрование и дешифрование происходят быстрее. Но в таких системах рассылка ключей является сложной процедурой из-за необходимости держать в тайне информацию о секретном ключе. Использование курьеров для рассылки ключей дорогая, сложная и медленная процедура.
В США для передачи секретных сообщений наибольшее распространение получил стандарт DES (Data Encryption Standard). «Тройной DES» предусматривает для повышения стойкости сообщения троекратное шифрование данных с разными ключами. Стандарт шифрования данных DES был Разработан фирмой IBM в начале 70-х годов и первоначально назывался Lucifer.
Сложный алгоритм DES использует ключ длиной 56 бит и требует перебора 1015 возможных ключевых комбинаций. Недостатком шифра DES является малая длина ключа — 56 бит и медленная программная реализация (большой объем вычислений).
Свое развитие DES получил в ГОСТ 28147—89, который увеличил длину ключа до 256 бит.
Можно утверждать, что дешифрованию криптограмм помогает частотный анализ появления отдельных символов и их сочетаний. Вероятности появления отдельных букв в тексте сильно различаются. Для русского языка, например, буква «о» появляется в 45 раз чаще буквы «ф» и в 30 раз чаще буквы «э». Анализируя достаточно длинный текст, зашифрованный методом замены, можно по частотам появления символов произвести обратную замену и восстановить исходный текст.
При проведении криптоанализа требуется по небольшому отрезку текста решить, что собой представляет дешифрованный текст: осмысленное сообщение или набор случайных символов. Часто криптоаналитики вскрывают шифры на ЭВМ методом перебора ключей. В процессе криптоанализа приходится перебирать миллиарды ключей со скоростью тысяча ключей в секунду, на что уходит несколько дней. Вручную выполнить анализ множеств фрагментов дешифрированных текстов невозможно. Поэтому задачу выделения осмысленного текста (то есть обнаружение правильно дешифрированного текста) решают с помощью ЭВМ. В этом случае используют теоретические положения, разработанные в конце XIX века петербургским математиком Марковым А.А., так называемые цепи Маркова.
Следует заметить, что, по мнению некоторых специалистов, нет нераскрываемых шифров. Рассекретить любую шифрограмму (взломать) можно либо за большое время, либо за большие деньги. Во втором случае для дешифрования потребуется использование нескольких суперкомпьютеров, что приведет к существенным материальным затратам.
Есть и другое мнение. Если длина ключа равна длине сообщения, а ключ генерируется из случайных чисел с равновероятным распределением и меняется с каждым новым сообщением, то шифр невозможно взломать даже теоретически.
Рассмотрим еще одну классификацию шифров.
Множество современных методов защитных преобразований можно разделить на четыре большие группы: замены (подстановки), перестановки, аддитивные (гаммирования) и комбинированные методы.
В шифре перестановки все буквы открытого текста остаются без изменений, но перемещаются с их исходных позиций на другие места. Перестановки получаются в результате записи исходного текста и чтения шифрованного текста по разным путям некоторой геометрической фигуры.
В шифре замены наоборот, позиции букв в шифровке остаются теми же, что и у открытого текста, но символы открытого текста заменяются символами другого алфавита. В качестве примера здесь можно назвать шифр Цезаря. Метод замены часто реализуется многими пользователями случайно при работе на ЭВМ. Если по забывчивости не переключить на клавиатуре регистр с латиницы на кириллицу, то вместо букв русского алфавита при вводе текста будут печататься буквы латинского алфавита. В результате исходное сообщение будет «зашифровано» латинскими буквами.
В аддитивном методе буквы алфавита заменяются числами, к которым затем добавляются числа секретной псевдослучайной числовой последовательности (гаммы). Состав гаммы меняется в зависимости от использованного ключа. Обычно для шифрования используется логическая операция «Исключающее ИЛИ». При дешифровании та же гамма накладывается на зашифрованные данные. Метод гаммирования широко используется в военных криптографических системах.
Комбинированные методы предполагают использование для шифрования сообщения сразу нескольких методов (например, сначала замена символов, а затем их перестановка).