
- •Тема 1. Введение в проблемы информационной безопасности 9
- •Тема 2. Криптографические методы защиты информации 30
- •Тема 3. Симметричные криптосистемы 52
- •Тема 4. Асимметричные криптосистемы 81
- •Тема 5. Методы и средства защиты информации от несанкционированного доступа 105
- •Тема 6. Средства защиты от компьютерных вирусов 126
- •Введение
- •Тема 1. Введение в проблемы информационной безопасности
- •1.1. Концептуальная модель информационной безопасности
- •1.1.1. Основные понятия и определения
- •1.1.2. Взаимосвязь понятий в области информационной безопасности
- •1.2. Основные угрозы информационной безопасности и каналы утечки информации
- •1.2.1. Основные виды угроз
- •1.2.2. Каналы утечки информации
- •1.3. Основные виды атак на информацию
- •1.3.1. Атаки доступа
- •1.3.2. Атаки модификации
- •1.3.3. Атаки на отказ в обслуживании
- •1.3.4. Атаки отказа от обязательств
- •1.4. Классификация методов и средств защиты информации
- •1.4.1. Основные методы защиты информации
- •1.4.2. Неформальные средства защиты
- •1.4.3. Формальные средства защиты
- •Вопросы для повторения
- •Резюме по теме
- •Тема 2. Криптографические методы защиты информации
- •2.1. Принципы криптографической защиты информации
- •2.1.1. Шифры
- •2.1.2. Односторонние функции
- •2.1.4. Электронная цифровая подпись
- •2.1.5. Генераторы псевдослучайных последовательностей
- •2.2. Криптоанализ и виды криптоаналитических атак
- •2.3. Основные криптографические преобразования в симметричных криптосистемах
- •2.3.1. Шифры перестановки
- •2.3.2. Шифры замены (подстановки)
- •2.3.3. Шифры гаммирования
- •2.3.4. Композиционные блочные шифры
- •Вопросы для повторения
- •Резюме по теме
- •Тема 3. Симметричные криптосистемы
- •3.1. Сеть Фейстеля
- •3.2. Алгоритм криптографического преобразования данных гост 28147-89
- •3.3. Стандарт шифрования сша нового поколения
- •3.4. Комбинирование блочных шифров
- •3.5. Режимы работы блочных шифров
- •3.5.1. Режим "Электронная кодовая книга"
- •3.5.2. Режим "Сцепление блоков шифртекста"
- •3.5.3. Режим обратной связи по шифртексту
- •3.5.4. Режим обратной связи по выходу
- •3.6. Режимы работы алгоритма криптографического преобразования данных гост 28147-89
- •Вопросы для повторения
- •Резюме по теме
- •Тема 4. Асимметричные криптосистемы
- •4.1. Алгоритмы шифрования с открытым ключом
- •4.1.1. Криптосистема rsa
- •4.1.2. Криптосистемы Диффи-Хеллмана и Эль Гамаля
- •4.1.3. Криптосистема на основе эллиптических кривых
- •4.2. Алгоритмы криптографического хэширования
- •4.2.1. Алгоритм безопасного хэширования
- •4.2.2. Односторонние хэш-функции на основе симметричных блочных алгоритмов
- •4.2.3. Алгоритм хэширования гост р 34.11–94
- •4.3. Алгоритмы электронной цифровой подписи
- •4.3.1. Алгоритм цифровой подписи rsa
- •4.3.2. Алгоритм цифровой подписи Эль Гамаля (egsa)
- •4.3.3. Алгоритм цифровой подписи dsa
- •4.3.4. Алгоритмы электронной цифровой подписи гост р 34.10–94 и гост р 34.10–2001
- •Вопросы для повторения
- •Резюме по теме
- •Тема 5. Методы и средства защиты информации от несанкционированного доступа
- •5.1. Основные понятия концепции защиты от несанкционированного доступа
- •5.2. Идентификация и аутентификация
- •5.2.1 Аутентификация пользователя на основе паролей и процедуры "рукопожатия"
- •5.2.2. Проверка подлинности пользователя по наличию материального аутентификатора
- •5.2.3. Аутентификация пользователя по биометрическим характеристикам
- •5.3. Управление доступом и регистрация доступа к ресурсам асои
- •5.4. Защита информации от несанкционированного доступа в сетях
- •Вопросы для повторения
- •Резюме по теме
- •Тема 6. Средства защиты от компьютерных вирусов
- •6.1. Классификация компьютерных вирусов
- •6.1.1. Файловые вирусы
- •6.1.2. Загрузочные вирусы
- •6.1.3. Макровирусы
- •6.1.4. Сетевые вирусы
- •6.1.5. Прочие вредоносные программы
- •6.2. Методы обнаружения и удаления компьютерных вирусов
- •6.2.1. Профилактика заражения компьютера
- •6.2.2. Использование антивирусных программ
- •6.2.3. Методы обнаружения и удаления неизвестных вирусов
- •Вопросы для повторения
- •Резюме по теме
- •Практикум (лабораторный)
- •Лабораторная работа №1. Программная реализация простых шифров перестановки и замены
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №2. Генерация и исследование псевдослучайных последовательностей. Реализация потокового шифрования данных
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №5. Изучение электронной цифровой подписи и принципов шифрования с открытым ключом с использованием системы pgp
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Рекомендуемая дополнительная литература
- •Глоссарий
4.2. Алгоритмы криптографического хэширования
Большинство криптографических хэш-функций строится на основе односторонней функции f( ), которая образует выходное значение длиной n при задании двух входных значений длиной n. Этими входами являются блок исходного текста Mi и хэш-значение hi–1, предыдущего блока текста (рис. 4.3): hi = f(Mi, hi–1). Хэш-значение, вычисляемое при вводе последнего блока текста, становится хэш-значением всего сообщения М.
|
Рис. 4.3. Построение однонаправленной хэш-функции. |
В результате односторонняя хэш-функция всегда формирует выход фиксированной длины n (независимо от длины входного текста M).
В настоящее время разработано множество алгоритмов криптографического хэширования, построенных на описанном принципе. Примерами таких алгоритмов являются MD2, MD4, MD5, алгоритм безопасного хэширования SHA, односторонние хэш-функции на основе симметричных блочных алгоритмов, алгоритм хэширования ГОСТ Р 34.11–94.
4.2.1. Алгоритм безопасного хэширования
Алгоритм безопасного хэширования SHA (Secure Hash Algorithm) разработан НИСТ и АНБ США в рамках стандарта безопасного хэширования SHS (Secure Hash Standard) в 1992 г. Алгоритм хэширования SHA предназначен для использования совместно с алгоритмом цифровой подписи DSA.
При вводе сообщения М произвольной длины алгоритм SHA вырабатывает 160-битовое выходное сообщение, называемое дайджестом сообщения. Алгоритм SHA назван безопасным, потому что он спроектирован таким образом, чтобы было вычислительно невозможно восстановить сообщение, соответствующее данному дайджесту, а также найти два различных сообщения, которые дадут одинаковый дайджест. Любое изменение сообщения при передаче с очень большой вероятностью вызовет изменение дайджеста.
Рассмотрим подробнее работу алгоритма хэширования SHA. Прежде всего исходное сообщение М дополняют так, чтобы оно стало кратным 512 битам. Дополнительная набивка сообщения выполняется следующим образом: сначала добавляется единица, затем следуют столько нулей, сколько необходимо для получения сообщения, которое на 64 бита короче, чем кратное 512, и наконец добавляют 64-битовое представление длины исходного сообщения.
Инициализируется пять 32-битовых переменных в шестнадцатеричном виде:
А = 0х67452301
B = 0xEFCDAB89
C = 0x98BADCFE
D = 0x10325476
E = 0xC3D2E1F0
Затем начинается главный цикл алгоритма. Он обрабатывает сообщение 512-битовыми блоками и продолжается, пока не исчерпаются все блоки сообщения.
Сначала пять переменных копируются в другие переменные: A в a, B в b, C в c, D в d и E в e.
Главный цикл состоит из четырех этапов по 20 операций в каждом. Каждая операция представляет собой нелинейную функцию от трех из пяти переменных a, b, c, d и e, а затем выполняет сдвиг и сложение. В SHA используется следующий набор нелинейных функций:
ft(X,Y,Z) = (X Y) ((X) Z), для t = 0 до 19;
ft(X,Y,Z) = X Y Z, для t = 20 до 39;
ft(X,Y,Z) = (X Y) (X Z) (Y Z), для t = 40 до 59;
ft(X,Y,Z) = X Y Z, для t = 60 до 79.
В алгоритме используются также четыре константы:
Kt = 0x5A827999, для t = 0 до 19;
Kt = 0x6ED9EBA1 , для t = 20 до 39;
Kt = 0x8FlBBCDC, для t = 40 до 59;
Kt = 0xCA62C1D6, для t = 60 до 79.
Блок сообщения превращается из шестнадцати 32-разрядных слов (M0 … M15) в восемьдесят 32-разрядных слов (W0 … W79) с помощью следующего алгоритма:
Wt = Mt , для t = 0 по 15;
Wt = (Wt–3 Wt–8 Wt–14 Wt–16) <<< 1, для t = 16 по 79,
где t – номер операции (для t = 0…79), Wt – t-й субблок расширенного сообщения, <<< S – циклический сдвиг влево на S бит.
С учетом приведенных обозначений главный цикл хэш-преобразования содержит 80 итераций (t = 0…79), каждая из которых описывается следующей последовательностью действий:
TEMP = (a <<< 5) + ft(b, c, d) + e + Wt + Kt
e = d
d = c
c = b <<< 30
b = a
a = TEMP
На рис. 4.4 приведена схема одной итерации.
|
Рис. 4.4. Схема выполнения одной итерации алгоритма SHA. |
После окончания главного цикла значения a, b, c, d и e складываются с A, B, C, D и E, соответственно, и алгоритм приступает к обработке следующего 512-разрядного блока данных. Окончательным результатом служит конкатенация значений A, B, C, D и E.