Лекция 7.Шифрование

advertisement
Лекция 7. Криптографические методы защиты
Для
надежной
защиты
конфиденциальной
информации
в
корпоративных сетях Интернета необходимо использовать некоторое единое
для всего предприятия криптографически защищенное пространство. Для
построения такого пространства необходимо:

использовать
специальные
криптографические
методы,
алгоритмы
и
средства
защиты
информации,
имеющие
соответствующие государственные сертификаты;

реализовать корпоративную криптографическую систему защиты
с единой ключевой системой;

построить и использовать инфраструктуру открытых ключей
(PKI);

разработать и поддерживать единую политику безопасности
компании;

применять специальные организационные и нормативноправовые меры;

обучить сотрудников и администраторов безопасности
предприятия необходимым навыкам работы с криптографическими
средствами защиты информации (КСЗИ).
Центральное место занимают специальные криптографические методы
защиты информации.
1. Шифрование информации
В целом для корпоративных систем Интернета два основных вида
угроз для компьютерной информации:
- нарушение конфиденциальности информации, т.е. незаконное
ознакомление с ней;
- нарушение целостности информации, т.е. несанкционированная
модификация.
Названным угрозам существуют два основные метода защиты
информации:
- шифрование информации для обеспечения ее конфиденциальности;
- применение ЭЦП для обеспечения ее целостности.
Под шифрованием информации понимается процесс преобразования
открытой информации (исходный текст) в зашифрованную (собственно
шифрование) и наоборот (расшифрование). Исходный текст передаваемого
сообщения (или хранимой информации) Мс помощью криптографического
преобразования E k1 зашифровывается с получением в результате
шифротекста С:
C  E k1 ( M ) ,
где k1 – параметр функции Е, называемый ключом шифрования. Ключ
шифрования – это тот самый элемент, с помощью которого можно
варьировать результат криптографического преобразования. Данный элемент
может принадлежать конкретному пользователю или группе пользователей и
является для них уникальным. Зашифрованная с использованием
конкретного ключа информации может быть расшифрована только его
владельцем (или владельцами).
Обратное преобразование информации выглядит следующим образом:
M  D k2 (C ) .
Функция D является функцией обратной к функции Е и производит
расшифровку шифротекста. Она также имеет дополнительный параметр в
виде ключа k2. Ключ k2 должен однозначно соответствовать ключу k1 , в
том случае в результате расшифровки сообщения М’ будет эквивалентно М.
Алгоритмы шифрования можно разделить на две основные категории:
симметричное шифрованием (с единым ключом) и асимметричное
шифрование (с двумя ключами).
1.1. Симметричное шифрование
E(M,k)
Сообщение
М
D(M,k)
Шифротекст
С
Сообщение
М’
k=k1=k2
Рисунок 1. Схема симметричного шифрования
В алгоритмах симметричного шифрования используется один и тот же
ключ для шифрования и расшифрования сообщения. Любой, кто знает этот
ключ может расшифровать сообщение. В связи с этим, алгоритмы с
симметричным шифрованием называют алгоритмами с секретным ключом.
Таким образом, задача обеспечения конфиденциальности электронных
документов сводится к обеспечению конфиденциальности ключа
шифрования, что сделать сравнительно проще. Обычно ключ шифрования
представляет собой файл или массив данных, хранящийся на персональном
ключевом носителе, например, на дискете или смарт-карте. Обязательно
принятие всех мер, обеспечивающих недоступность персонального
ключевого носителя кому-либо, кроме его владельца.
Недостаток симметричного шифрования – неудобства. связанные с тем.
что перед началом обмена зашифрованными данными необходимо
обменяться секретными ключами со всеми адресатами. Передача секретного
ключа может быть осуществлена по общедоступнымканалам связи, идеально
– лично в руки.
Достоинство – идеально для информации, например, с целью отсечь
несанкционированный доступ к ней в отсутствие владельца.
Есть реализация алгоритмов шифрования, предназначенные для
абонентского шифрования данных, т.е. для шифрования информации,
предназначенной для отправки кому-либо, например через Интернет.
Использование
одного
ключа
для
всех
абонентов
подобной
криптографической сети недопустимо по соображениям безопасности: в
случае компрометации (утере, хищения) ключа под угрозой будет находиться
документооборот всех абонентов. В связи с этим часто применяется матрица
ключей:
1
2
1
K11 K 12
2 K 21 K 22
3
K 31 K 32
… …
…
N K N1 K N2
3
K 13
K 23
K 33
…
K N3
…
N
… K 1N Набор ключей для абонента 1
… K 2N Набор ключей для абонента 2
… K 3N Набор ключей для абонента 3
… …
…
… K NN Набор ключей для абонента N
Обычно K ij  K ji , т.е. ключи парной связи.
Сетевые наборы ключей должны распределяться по закрытым каналам
связи или из рук в руки. За исключением данного недостатки система
«полная матрица» является наиболее удобной для организации защищенного
обмена данных в сетях Интернета.
В качестве примеров симметричных алгоритмов шифрования можно
привести стандарт шифрования DES (Data Encryption Standart),
отечественный стандарт ГОСТ 12847-89. Первый стандарт, к сожалению в
России реализуется коротким ключом (56 бит), что означает высокую
вероятность его взлома путем подбора ключей. Длина ключа в российском
стандарте 256 бит.
Примерная упрощенная схема алгоритма симметричного шифрования
состоит в рассеивании и перемешивании исходных данных. Указанные выше
алгоритмы можно описать в виде этапов:
1) исходные данные разбиваются на блоки фиксированной длины,
может осуществляться начальная перестановка данных в каждом
блоке;
2) данные преобразуются с использованием ключа шифрования
(сам ключ также предварительно преобразуется);
3) преобразование выполняется определенное количество раз
(раундов), после каждого преобразования может производиться
перестановка данных (для определения параметров перестановки
в ГОСТ 12847-89 служит дополнительный ключевой элемент –
«узел замены»); в качестве исходного результата для
преобразования
используется
результат
предыдущего
преобразования и перестановки;
4) после определенного числа раундов (вDES – 16, в ГОСТ 28147-89
-32) производится финальная перестановка, полученный после
этого результат становится шифротекстом.
Финальная
перестановк
а
Открытый
текст
Промежуточный
результат
Шифртекст
n раундов
(раз)
Перестановка
Начальная
перестановка
Преобразование
Ключ
Указанные алгоритмы имеют несколько режимов шифрования с
различным назначением, которые отличаются, в основном, следующим:
- тем, используются ли в преобразовании предыдущий блок
шифротекста и предыдущий блок исходных данных;
- различными методами использования предыдущих блоков.
2.1. Асимметричное шифрование
E(M,К1)
Сообщение
М
D(M,K2)
Шифртекст
С
К=К1
Сообшение
М’
К=К2
Рисунок 3. Схема асимметричного шифрования
Принципиальное отличие от симметричного шифрования в том, что
для шифрования информации и ее последующем расшифровании
используются различные ключи шифрования:
- открытый ключ для шифрования информации, вычисляется из
секретного ключа;
- секретный ключ для расшифрования информации, зашифрованной с
помощью парного ему открытого ключа.
Секретный и открытый ключи генерируются попарно. Секретный ключ
должен оставаться у его владельца: он должен быть надежно защищен от
несанкционированного доступа (аналогично ключу шифрования в
симметричных алгоритмах). Копия открытого ключа должна находиться у
каждого абонента криптографической сети, с которым обменивается
информацией владелец секретного ключа.
Процесс обмена зашифрованной информацией выглядит следующим
образом:
1)
Подготовительный этап:
– абонент I генерирует пару ключей – секретный ключ K si и открытый
ключ K pi ;
- открытый ключ K pi рассылает остальным абонентам ( может быть
доступным, например в разделяемом ресурсе).
2) Использование – обмен информацией между абонентами i и j:
- абонент j зашифровывает сообщение с помощью открытого ключа
абонента i K pi ;
- абонент i расшифровывает сообщение с помощью секретного ключа
K si . Никто другой ( в том числе абонент j) не может расшифровать данное
сообщение, так как не имеет секретного ключа абонента i.
Наиболее совершенными являются следующие методы шифрования с
открытым ключом: ЕСС, на западе в качестве стандарта принят RSA.
Математическая основа асимметричного шифрования состоит в
использовании однонаправленных функций с секретом. В качестве такой
функции, например, в алгоритме RSA, выполняется следующая операция для
каждого i-го блока открытого текста:
Ci  M ie mod n ,
где e – открытый ключ некоторого пользователя. Обратная операция –
вычисление M i из C i со знанием e является невозможной ( не решается в
течение какого-либо реального интервала времени). Однако владелец
секретного ключа d ( из которого вычислен открытый ключ e) легко может
выполнить следующую операцию:
M i  Cid mod n
и получить верный результат. Секретный ключ d является секретом,
примененным в алгоритме однонаправленной функции, позволяющим
расшифровать шифртекст.
Асимметричное шифрование по сравнению с симметричным обладает
определенным преимуществом: оно позволяет динамически передавать
открытые ключи, когда как для симметричного шифрования до начала сеанса
защищенной связи необходимо обменяться секретными ключами.
Однако существуют недостатки:
- пока нет математического доказательства необходимости
используемых в асимметричных алгоритмах функций;
- по сравнению с симметричным шифрованием асимметричное
существенно медленнее, так как при шифровании и расшифровании
используются весьма ресурсоемкие операции ( в частности, в RSA это
возведение большого числа в степень, являющуюся другим большим
числом). По этой причине реализовать аппаратный шифратор с
ассиметричным алгоритмом существенно сложнее, чем реализовать
аппаратно симметричный алгоритм;
- необходимо защищать открытые ключи от подмены.
Последнее рассмотрим подробнее. Пусть на ПК абонента j хранится
открытый ключ абонента I K pi . Злоумышленник n имеет доступ к открытым
ключам, хранящимся у абонента j. Он генерирует свою пару ключей K sn и
K pn и подменяет у абонента j открытый ключ абонента i K pi на свой
открытый ключ K pn . Для того, чтобы отправить некоторую информацию
абоненту I абонентjшифрует ее на ключе K pn , думая, что это ключ K pi .
Соответственно, это сообщение не сможет прочитать абонент i, но зато легко
расшифрует и прочитает абонент n.
От подмены ключей может спасти процедура сертификации ключей.
3.1. Комбинированное шифрование
Комбинированное применение симметричного и асимметричного
шифрования позволяет устранить основные недостатки, присущие обоим
методам.
1. Абонент j перед передачей сообщения М абоненту I генерирует
случайный ключ K simm , который будет использоваться в алгоритме
симметричного шифрования для шифрования конкретного
сообщения или цепочки сообщений.
2. Абонент j зашифровывает асимметричным алгоритмом ключ
K simm на ключе K pi и отправляет абоненту i.
3. Абонент
j
зашифровывает
симметричным
алгоритмом
сообщение на ключе K simm и отправляет его абоненту i.
4. Абонент I расшифровывает асимметричным алгоритмом ключ
K simm с помощью секретного ключа K si .
5. Абонент I расшифровывает симметричным алгоритмом
сообщение М с помощью полученного ключа K simm .
Недостатки алгоритмов компенсируются следующим образом:
- проблема распространения ключей симметричного алгоритма
устраняется тем, что ключ K simm , на котором шифруются собственно
сообщения, передается по открытым каналам связи в зашифрованном виде:
для шифрования ключа K simm используется асимметричный алгоритм;
- проблемы медленной скорости асимметричного шифрования в
данном случае практически не возникает, поскольку асимметричным
алгоритмом шифруется только короткий ключ K simm , а все данные
шифруются быстрым симметричным алгоритмом.
Таким образом получается быстрое шифрование в сочетании с
удобным обменом ключами.
Download