Лекция 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 , а все данные шифруются быстрым симметричным алгоритмом. Таким образом получается быстрое шифрование в сочетании с удобным обменом ключами.