
125 Кібербезпека / 4 Курс / 4.2_Управління інформаційною безпекою / Лiтература / V_P_Babak_A_A_Kliuchnykov-Teoreticheskye_osnovy_zashchity_informat
...pdf
ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ЗАЩИТЫ ИНФОРМАЦИИ
ской функции) с целью получения полезной информации из шифрованного текста (рис. 8.2).
|
Криптографическая система |
Зашифрованный |
Открытый |
текст |
текст |
|
Ключ |
Рис. 8.2. Структурная схема процесса расшифровывания
Ключ - информация (обратная математическая функция или алгоритм), необходимая для беспрепятственного шифрования и расшифровывания текстов.
Пространство ключей K - это набор возможных значений ключа,
который может представлять собой алгоритм, обратную математическую функцию или последовательность символов алфавита.
|
Криптографическая система |
Зашифрованный |
Открытый |
текст |
текст |
|
Неизвестный |
|
ключ |
Рис. 8.3. Структурная схема процесса дешифрации
Дешифрация - процесс, обратный к шифрованию, то есть восстановление открытого текста из алфавита сообщения A{ i (i 1, 2, , K )
без знания ключа (алгоритма или обратной математической функции) с целью несанкционированного исключения необходимой информации из зашифрованного текста (рис. 8.3).
Кpиптостойкость - временная характеристика шифра, который определяет его стойкость к дешифрации без знания ключа.
Процесс криптографического закрытия данных может осуществляться как программно, так и аппаратно. Аппаратная реализация имеет существенно большую стоимость, хотя ей присущи и важные преимущества: высокая производительность, простота, защищенность. Программная реализация наиболее практична благодаря гибкости в использовании.
580

Глава 8. Шифрование и дешифрование информации
В общей системе шифрования открытый текст обозначается буквой M . Это может быть поток битов, текстовый файл, битовое изображение, цифровое видео и т.п.
Обозначим шифротекст как C (ciphertext), функцию шифрования — как Е. Математическая модель шифрования будет иметь вид E(M ) C, а функция расшифровывания D(C) M.
Поскольку содержанием шифрования и расшифровывания сообщения является восстановление начального открытого текста, должно выполняться равенство:
D E(M ) M.
Криптографическая система шифрования (криптосистема) — это
совокупность методов и средств криптографической защиты информации, использование которых обеспечивает надлежащий уровень защищенности информации, которая обрабатывается, сохраняется или передается по ин- формационно-коммуникационным каналам связи.
Алгоритмы и системы шифрования можно классифицировать (рис. 8.4).
Алгоритмы шифрования
Асимметрические |
Симметрические |
|
Дискретное возведение в |
Блочные |
Потоковые |
|
|
|
степень |
|
|
Перемножение простых |
Шифры перестановки |
|
|
|
|
чисел |
Шифры замены |
Синхронные |
|
Сложные шифры |
Самосинхронизирующие |
Рис. 8.4. Классификация криптографических алгоритмов
Симметричной криптосистемой называется система, которая осуществляет процесс шифрования и расшифровывания полезного сообщения (открытого текста) на основе использования одного ключа (рис. 8.5).
Поточными алгоритмами (поточными шифрами) называются алго-
ритмы с последовательной (битной или байтной) обработкой открытых текстов.
Блочными алгоритмами (блочными шифрами) называются алгорит-
мы, которые работают с группами последовательностей (битов, байтов), которые образуют открытый текст, или с группами текстов.
581

ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ЗАЩИТЫ ИНФОРМАЦИИ
Для алгоритмов, которые используются в компьютерных модемах, типичный размер блока составляет 64 бита. (До появления компьютеров алгоритмы обычно обрабатывали открытый текст посимвольно. Такой вариант может рассматриваться как поточный алгоритм, который обрабатывает поток символов.)
|
Ключ |
|
Ключ |
Открытый |
|
Шифротекст |
Открытый |
|
|
||
текст |
Шифрование |
Канал |
текст |
|
Расшифровывание |
||
|
|
связи |
|
|
|
|
Рис. 8.5. Шифрование и дешифрование с ключом
Шифрование и расшифровывание с использованием симметричного алгоритма описывается как
|
|
EK (M ) C, |
|
|
|
|
DK (C) M. |
|
|
|
Ключ шифрования |
|
Ключ |
|
|
|
расшифровывания |
|
|
|
|
|
|
|
Открытый |
|
Шифротекст |
|
Открытый |
текст |
|
Канал |
|
|
Шифрование |
|
текст |
||
|
Расшифровывание |
|||
|
связи |
|||
|
|
|
|
Рис. 8.6. Шифрование и дешифрование с двумя разными ключами
Асимметричной криптосистемой называется система, которая осу-
ществляет шифрование и расшифровывание полезного сообщения (открытого текста) с использованием двух ключей: открытого и закрытого (секретного), математически связанных друг с другом (рис. 8.6).
Информация шифруется с помощью открытого ключа, доступного всем, а расшифровывается с помощью закрытого ключа, известного только получателю сообщения.Более того, ключ расшифровывания нельзя раскрыть ключом шифрования.
Шифрование с открытым ключом E обозначается как EK (M ) C.
Хотя открытый и закрытый |
ключи разные, расшифровывание |
с соответствующим закрытым ключом |
обозначается DK (C) M. |
Иногда сообщения шифруются закрытым ключом, а расшифровываются открытым, который используется для цифровой подписи.
582

Глава 8. Шифрование и дешифрование информации
Требования к современным криптографическим системам защиты информации:
зашифрованное сообщение должно поддаваться чтению только при наличии ключа;
количество операций, необходимых для определения использованного ключа шифрования за фрагментом шифрованного сообщения и соответствующего ему открытого текста, должно быть не меньше от общего количества возможных ключей;
количество операций, необходимых для дешифрации информации путем перебора любых ключей, должно выходить за пределы возможностей современных вычислительных систем (с учетом возможности использования сетевых вычислений) или нуждаться в высоких расходах на эти вычисления;
знание алгоритма шифрования не должно влиять на надежность защиты;
незначительное изменение ключа должно приводить к существенному изменению вида зашифрованного сообщения даже при шифровании того же открытого текста;
незначительное изменение открытого текста должно приводить к существенному изменению вида зашифрованного сообщения даже при использовании того же ключа;
структурные элементы алгоритма шифрования должны быть неизменными; дополнительные биты, что вводятся в сообщение в
процессе шифрования, должны быть полно и надежно спрятанные в шифрованном тексте;
длина шифрованного текста должна не превышать длину исходного текста;
не должно быть простых и легко устанавливаемых зависимостей между ключами, последовательно используемыми в процессе шифрования;
любой ключ из множественного числа возможных значений должен обеспечивать надежную защиту информации;
алгоритм должен допускать как программную, так и аппаратную реализацию, при этом изменение длины ключа не должно привести к качественному ухудшению алгоритма шифрования.
Хорст Фейстель
(Horst Feistel, 1915—1990),
родился в Берлине, а в 1934 году переехал в США. Закончил Гарвардский университет со степенью магистра в области физики. На время работы в компании ІBM приходятся наиболее известные работы Фейстеля в области криптографии. Фейстель одним из первых ученых (которые не работали на заказ правительства) начал изучать теорию блочных шифров. Наибольшую популярность ему принес общий метод создания алгоритмов шифрования, который получил его имя. Работы Фейстеля заложили основу для шифров Lucіferі Data Encryptіon Standards
(DES).
583

ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ЗАЩИТЫ ИНФОРМАЦИИ
8.2. Шифрование в каналах связи
Одной из важных характеристик любой информационной сети есть ее
деление на так называемые уровни модели ISO/OSI, каждая из которых отвечает за соблюдение определенных условий и выполнение функций. Такое деление на уровни имеет фундаментальное значение для создания стандартных информационно-коммуникационных сетей (см. главу 7).
В теории шифрования данных передача по каналам связи информацион- но-коммуникационной сети может осуществляться на любом уровне модели OSI. На практике это обычно делается или на самых низких, или на наивысших уровнях. Если данные шифруются на нижних уровнях, шифрование называется канальным. Если шифрование данных выполняется на верхних уровнях, то оно называется сквозным. Оба этих подхода к шифрованию данных имеют свои преимущества и недостатки.
Канальное шифрование. При канальном шифровании шифруются абсолютно все данные, которые проходят через каждый канал связи, включая открытый текст сообщения, а также информацию о его маршруте трансляции и об используемом коммуникационном протоколе (рис. 8.7). Однако в этом случае любой интеллектуальный сетевой узел будет вынужден расшифровывать входной поток данных, чтобы соответствующим образом его обработать и опять зашифровать для передачи на другой узел сети.
Узел 1 Узел 2 Узел 3 Узел 4
Ek |
Канал 1 D |
E |
Канал 2 D |
|
E |
Канал 3 |
Dk |
E k |
k1 |
E k |
|||||
|
k1 |
k 2 |
|
k 2 |
|
|
Рис. 8.7 Канальное шифрование
Канальное шифрование является эффективным средством защиты информации в информационно-коммуникационных сетях. Поскольку шифрованию подвергаются все данные, которые передаются от одного узла сети к другому, у криптоаналитика нет никакой дополнительной информации о том, что служит источником переданных данных, их назначение, какая их структура и т.п. А если еще позаботиться и о том, чтобы, пока канал простаивает, передавать по нему случайную битовую последовательность, посторонний наблюдатель не сможет даже сказать, где начинается и где заканчивается текст переданного сообщения. Не слишком сложной является и работа с ключами. Одинаковыми ключами стоит обеспечивать только два соседних узла сети связи, которые потом могут изменять используемые ключи независимо от других пар узлов.
Наибольший недостаток канального шифрования связан с тем, что данные придется шифровать при передаче по каждому физическому каналу компьютерной сети. Отправление информации в незашифрованном виде по ка-
584

Глава 8. Шифрование и дешифрование информации
кому-то из каналов ставят под угрозу обеспечение безопасности всей сети в целом. В итоге стоимость реализации канального шифрования в больших сетях может оказаться излишне большой. Кроме того, при использовании канальной шифрования дополнительно нужно защищать каждый узел информационной сети, через который проходят переданные по сети данные. Если абоненты сети полностью доверяют друг другу и каждому ее узлу, размещенному в защищенном от проникновения злоумышленников месте, на этот недостаток канальной шифрования можно не обращать внимания. Однако на практике такая ситуация случается редко.
Сквозное шифрование. При сквозном шифровании криптографический алгоритм реализуется на одном из верхних уровней модели OSI. Шифрованию подлежит только содержательная часть сообщения, которое нужно передать по сети. После зашифровывания к ней добавляется служебная информация, необходимая для маршрутизации сообщения, и результат направляется на низшие уровни с целью отправления адресату. Теперь сообщения не нужно постоянно расшифровывать и зашифровывать при прохождении через каждый промежуточный узел сети связи. Сообщение остается зашифрованным на всем пути от отправителя к получателю (рис. 8.8).
Узел 1 |
|
Узел 2 |
Узел 3 |
Узел 4 |
|
|
|
||
Ek |
Канал 1 |
Канал 2 |
Канал 3 |
Dk |
Рис. 8.8. Сквозное шифрование
Основная проблема, с которой сталкиваются пользователи информационно коммуникационных сетей, где применяется сквозное шифрование, связано с тем, что служебная информация, используемая для маршрутизации сообщений, передается по сети в незашифрованном виде. Опытный криптоаналитик может добыть для себя полезную информацию, зная кто, с кем, как долго и в какие часы общается через компьютерную сеть. Для этого ему даже не нужно быть в курсе предмета общения.
Сквозное шифрование, в отличие от канального, характеризуется более сложной работой с ключами, поскольку каждая пара пользователей компьютерной сети должна быть обеспеченной одинаковыми ключами, прежде чем они смогут связаться друг с другом. К тому же, поскольку криптографический алгоритм реализуется на верхних уровнях модели OSI, приходится также иметь дело со многими существенными разногласиями в коммуникационных протоколах и интерфейсах в зависимости от типов компьютерных сетей и подсоединенных к сети компьютеров. Все это осложняет практическое применение сквозного шифрования.
Комбинированное шифрование. Комбинирование канального и сквозного шифрования данных в информационной сети обходится значительно
585

ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ЗАЩИТЫ ИНФОРМАЦИИ
дороже, чем канальное или сквозное шифрование отдельно. Однако именно такой подход дает возможность как можно лучше защитить данные, переданные по сети. Шифрование в каждом канале связи не позволяет злоумышленнику анализировать служебную информацию, используемую для маршрутизации. А сквозное шифрование уменьшает вероятность доступа к незашифрованным данным в узлах сети.
При комбинированном шифровании робота с ключами происходит раздельно: сетевые администраторы отвечают за ключи, которые используются при канальном шифровании, а о ключах, которые применяются при сквозном шифровании, заботятся сами пользователи.
Аппаратное шифрование. Большинство средств криптографической защиты данных реализовано в виде специализированных аппаратных устройств. Эти устройства встраиваются в линию связи и осуществляют шифрование всей переданной по ней информации. Преимущество аппаратного шифрования над программным предопределяется несколькими причинами. Аппаратное шифрование имеет большую скорость. Криптографические алгоритмы состоят из огромного количества сложных операций, что проделываются над битами открытого текста. Современные универсальные компьютеры плохо приспособлены для эффективного выполнения этих операций. Специализированное оборудование дает возможность выполнять их намного быстрее. Аппаратуру более легко физически защитить от проникновения извне. Программа, которая выполняется на персональном компьютере, практически беззащитна. Вооружившись отладчиком, злоумышленник может тайком внести в нее изменения, чтобы снизить стойкость используемого криптографического алгоритма, и никто ничего не заметит. Что же касается аппаратуры, то она обычно размещается в специальных контейнерах, которые делают невозможным изменение схемы ее функционирования. Чип покрывается сверху специальным химическим составом, и в результате любая попытка взломать защитный слой этого чипа приводит к самоуничтожению его внутренней логической структуры. И хотя иногда электромагнитное излучение может быть хорошим источником информации о том, что происходит внутри микросхемы, от этого излучения легко избавиться, экранировав микросхему. Аналогично можно экранировать и компьютер, хотя сделать это намного сложнее, чем в случае миниатюрной микросхемы.
Программное шифрование. Любой криптографический алгоритм можно реализовать в виде соответствующей программы. Преимущества такой реализации очевидны: программные средства шифрования легко копируются, они простые в использовании, их нетрудно модифицировать в соответствии с конкретными потребностями.
Во всех распространенных операционных системах есть встроенные средства шифрования файлов. Обычно они предназначены для шифрования отдельных файлов, и работа с ключами полностью положена на пользователя. Поэтому применение этих средств нуждается в особенном внимании:
586

Глава 8. Шифрование и дешифрование информации
во-первых, в любом случае нельзя хранить ключи на диске вместе с зашифрованными с их помощью файлами, а во-вторых, незашифрованные копии файлов необходимо стереть сразу же после шифрования.
Обычно злоумышленник может добраться до компьютера и незаметно внести нежелательные изменения в программу шифрования. Однако основная проблема не в этом. Если злоумышленник сможет проникнуть в помещение, где установлен компьютер, он вряд ли будет возиться с программой, а просто установит скрытую камеру в стене, подслушивающее устройство в телефон или датчик для ретрансляции электромагнитного излучения в компьютер.
Сжатие и шифрование. Алгоритмы сжатие данных весьма пригодные для общего использования с криптографическими алгоритмами. На это есть две причины. При раскрытии шифра криптоаналитик больше всего полагается на избыточность, присущую любому открытому тексту. Сжатие помогает лишиться этой избыточности.
Шифрование данных является достаточно трудоемкой операцией. При сжатии уменьшается длина открытого текста, и тем самым сокращается время, которое будет потрачено на его шифровку. Нужно только не забыть сжать файл, прежде чем он будет зашифрован, а не после того.
После шифрования файла с помощью высококачественного криптографического алгоритма полученный шифротекст сжать не удастся, поскольку его характеристики будут близкими к характеристикам совсем случайного набора букв. Кстати, сжатие может служить своеобразным тестом для проверки качества криптографического алгоритма: если шифротекст поддается сжатию, этот алгоритм есть смысл заменить на лучший.
Для обеспечения надежной защиты передачи информации стоит воспользоваться автономным аппаратным шифрованием. В отличие от программного средства защиты, такое устройство обойти по большей части невозможно.
Тахер Ель-Гамаль
(Taher ElGamal, 1955),
криптограф, потомок египтян, которые эмигрировали к США. В 1985 году опубликовал статью "Криптосистемы с открытым ключом и схема подписи, которая основывается на дискретных логарифмах". Схема подписи ЕльГамаля стала основанием для алгоритма цифровой подписи DSA. Он также принимал участие в разработке протоколов оплаты кредитной карточкой и интернетсхем оплаты. ЕльГамаль был директором по разработкам компании RSA Securіty, прежде чем основал и возглавил в 1998 году компанию
Securіty.
587

ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ЗАЩИТЫ ИНФОРМАЦИИ
8.3.Алгоритмы и системы симметричного
иасимметричного шифрования
(криптографической защиты информации)
Рассмотрим методы шифрования, которые чаще всего используются на практике. Речь идет о блочных шифрах. Блочные алгоритмы шифрования являются основным средством криптографической защиты информации, которая сохраняется или передается по общедоступной сети.
Преимущества практического приложения:
возможность эффективной программной реализации на современных ап- паратно-программных средствах;
высокая скорость шифрования/расшифровывания как при аппаратной, так и при программной реализации;
высокая гарантированная стойкость; при этом стойкость алгоритма блочной шифрования может быть доказана с помощью математического аппарата.
Входная последовательность блочных алгоритмов шифрования разбивается на участки определенной длины, преобразования в алгоритме блочного шифрования происходят над каждым блоком отдельно. Соответственно исходная последовательность алгоритма блочного шифрования состоит из блоков, длина которых равняется длине входных блоков. В случае, когда длина открытого текста не кратна длине входных блоков в алгоритме шифрования, применяется операция дополнения последнего блока открытого текста к необходимой длине. Дополнение осуществляется приписыванием необходимого количества нулей или случайного набора символов. В общем случае содержание того, чем мы дополняем блок открытого текста, не играет никакой роли с точки зрения криптографической стойкости. На приемной стороне необходимо знать, какое количество символов было прибавлено, потому рядом с отмеченными дополнениями приписывается длина этих данных.
Вариантом практического применения блочных алгоритмов является использование их для обеспечения имитозащиты переданной по каналам связи информации.
Имитозащитой сообщения называется процесс введения дополнительного блока (имитовставки) в конец разбитого на блоки информационного сообщения. Для внедрения имитовставки применяются алгоритмы блочного шифрования в режиме гамирования с самовосстановлением или шифрования со сцеплением блоков.
Специфика организации разных типов защищенных каналов связи обусловила появление алгоритмов блочного шифрования (рис. 8.9):
метод простои замены, или режим электронной кодовой книги
(Electronic Codebook Mode — ЕСВ);
метод гаммирования, или режим по модулю, который равняется мощности алфавита;
588

Глава 8. Шифрование и дешифрование информации
метод гаммирования с самовосстановлением, или гаммировання с об-
ратной связью (Cipher-Feedback mode — CFB);
метод многоалфавитной подстановки;
метод шифрования со сцеплением блоков (Cipher Block Chaining mode
— CBC);
метод гаммирования с обратной связью на выходе (Output-Feedback mode — OFB).
Методы блочного шифрования
метод простой замены |
метод многоалфавитной |
|
подстановки |
||
|
||
метод гаммирования |
метод шифровки |
|
со сцеплением блоков |
||
|
||
метод гаммирования |
метод гаммирования |
|
с самовостановлением |
с обратной связью |
Рис.8.9. Методы алгоритмов блочного шифрования
Все разнообразие симметричных криптосистем основывается на описанных дальше базовых методах.
Метод многоалфавитной подстановки — это самый простой вид пре-
образований, который заключается в замене символов исходного текста на других (того же алфавита) по более-менее сложному правилу. В случае многоалфавитной подстановки каждый символ исходного текста за определенным законом превращается в символ шифрованного текста. При этом закон преобразования изменяется от символа к символу.
Для обеспечения высокой криптостойкости системы нужно использование ключей большого размера. К этому классу принадлежат криптосистемы с одноразовым ключом, которые имеют абсолютную теоретическую стойкость.
Метод перестановки — метод криптографического преобразования, которое заключается в перестановке символов исходного текста по некоторому правилу. Шифры перестановки не используются в чистом виде, поскольку их криптостойкость недостаточна.
Метод гаммирования— это преобразование исходного текста, при котором его символы добавляются (по модулю, который равняется мощности алфавита) к символам псевдослучайной последовательности, сгенерированной по некоторому правилу. Гаммирование нельзя полностью выделить в отдельный класс криптографических преобразований, поскольку отмеченная псевдослучайная последовательность может генерироваться, например, с по-
589