
- •Тема 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
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Рекомендуемая дополнительная литература
- •Глоссарий
2.3.3. Шифры гаммирования
Формально гаммирование можно отнести к классу шифров сложной замены. Однако, благодаря удобству реализации и формального описания, шифры гаммирования широко используются, и обычно их выделяются в отдельный класс.
Суть метода гаммирования заключается в следующем. С помощью секретного ключа k генерируется последовательность символов
Эта
последовательность называется гаммой
шифра. При шифровании гамма накладывается
на открытый текст
,
т.е. символы шифртекста получаются из
соответствующих символов открытого
текста и гаммы с помощью некоторой
обратимой операции:
В
качестве обратимой операции обычно
используется либо сложение по модулю
количества букв в алфавите n:
либо, при представлении символов
открытого текста в виде двоичного кода,
операция поразрядного суммирования по
модулю два (XOR):
.
Расшифрование
осуществляется применением к символам
шифртекста и гаммы обратной операции:
,
или
(операция
XOR является обратной к самой себе).
Стойкость систем шифрования, основанных на гаммировании, зависит от характеристик гаммы – ее длины и равномерности распределения вероятностей появления знаков гаммы.
Наиболее стойким является гаммирование с бесконечной равновероятной случайной гаммой, т.е. процедура шифрования, удовлетворяющая следующим трем условиям, каждое из которых является необходимым:
1) все символы гаммы полностью случайны и появляются в гамме с равными вероятностями;
2) длина гаммы равна длине открытого текста или превышает ее;
3) каждый ключ (гамма) используется для шифрования только одного текста, а потом уничтожается.
Такой шифр не может быть взломан в принципе, то есть является абсолютно стойким. Однако абсолютно стойкие шифры очень не удобны в использовании, и поэтому почти не применяются на практике.
Обычно гамма либо получается периодическим повторением ключевой последовательности фиксированного размера, либо генерируется по некоторому правилу. Для генерации гаммы удобно использовать генераторы псевдослучайных чисел (ПСЧ). Наиболее известными генераторами ПСП являются линейный конгруэнтный генератор и генератор линейный рекуррентный последовательности.
Линейный конгруэнтный генератор задается рекуррентной формулой: gi = agi–1 + b (mod m), где gi – i-й член последовательности псевдослучайных чисел; a, b, m и g0 – ключевые параметры. Данная последовательность состоит из целых чисел от 0 до m – 1, и если элементы gi и gj совпадут, то последующие участки последовательности также совпадут: gi+1 = gj+1, gi+2 = gj+2, и т.д. Поэтому последовательность {gi} является периодической, и ее период не превышает m. Для того чтобы период последовательности псевдослучайных чисел, сгенерированной по указанной рекуррентной формуле, был максимальным (равным m), параметры данной формулы должны удовлетворять следующим условиям:
b и m —взаимно простые числа;
a – 1 делится на любой простой делитель числа m;
a – 1 кратно 4, если m кратно 4.
Линейная рекуррентная последовательность задается следующей формулой:
,
i = 0,1…,
где – операция
вычисления суммы по модулю 2,
– состояние j-го бита последовательности,
– коэффициент обратной связи,
,
коэффициенты
.
Это
соотношение определяет правило вычисления
по известным значениям величин
.
Затем по известным значениям
находят
и т.д. В результате по начальным значениям
можно построить бесконечную
последовательность, причем каждый ее
последующий член определяется из n
предыдущих.
Последовательности такого вида легко реализуются программными или аппаратными средствами. Основу этой реализации составляет регистр сдвига с линейной обратной связью (РСЛОС).
РСЛОС представляет собой простое в реализации, недорогое устройство, способное формировать последовательности и обеспечить такие требования как:
большой размер ансамбля последовательностей, формируемых на одной алгоритмической основе;
оптимальность корреляционных функций в ансамбле;
сбалансированность структуры;
максимальность периода для данной длины регистра сдвига.
Обобщенная схема РСЛОС приведена на рис. 2.4.
|
Рис. 2.4. Обобщенный вид регистра сдвига с линейной обратной связью. |
Сдвиговый регистр представляет собой последовательность битов. Количество битов определяется длиной регистра. Если длина равна n битам, то регистр называется n-битовым регистром сдвига. Всякий раз, когда в выходную последовательность нужно извлечь бит, все биты регистра сдвига сдвигаются вправо на 1 позицию. Новый крайний левый бит является функцией всех остальных битов регистра. Выдвинутый из регистра бит является очередным элементом последовательности. Периодом регистра сдвига называется длина получаемой последовательности до начала ее повторения.
Обратная связь представляет собой просто операцию XOR над битами регистра, для которых значения коэффициентов обратной связи равно 1. Перечень этих битов называется отводной последовательностью.
Любой n-битовый РСЛОС может находиться в одном из 2n–1 внутренних состояний. Это означает, что теоретически такой регистр может генерировать псевдослучайную последовательность с периодом 2n–1 битов. (Число внутренних состояний и максимальный период равны 2n–1, потому что заполнение РСЛОС нулями, приведет к тому, что сдвиговый регистр будет выдавать бесконечную последовательность нулей, что абсолютно бесполезно.) Только при определенных отводных последовательностях РСЛОС циклически пройдет через все 2n–1 внутренних состояний, такие РСЛОС являются регистрами с максимальным периодом. Получившийся результат называется М – последовательностью.
Для того, чтобы конкретный n-битовый РСЛОС имел максимальный период 2n–1, двоичный полином f(x) = hnxn + hn–1xn–1 + … + h1x + 1, образованный из отводной последовательности и константы 1, должен быть примитивным. Полином f(x) степени n называется примитивным, если его нельзя представить в виде произведения двух полиномов с меньшими степенями (свойство неприводимости) и, если x является генератором всех ненулевых полиномов со степенями не выше n, умножение которых осуществляется по модулю f(x).
В общем случае не существует эффективного способа генерировать примитивные полиномы данной степени. Проще всего выбирать полином случайным образом и проверять, не является ли он примитивным. Это чем-то похоже на проверку, не является ли простым случайно выбранное число. В настоящее время составлены таблицы примитивных полиномов, которыми можно воспользоваться при разработке конкретных РСЛОС.
В качестве примера рассмотрим РСЛОС максимального периода с полином обратной связи f(x) = x4 + x +1. На рис. 2.5 приведена его структурная схема.
Если начальное состояние этого РСЛОС – [0, 0, 0, 0], выходная последовательность также будет нулевой. В табл. 2.1 показано содержимое битов регистра a0, a1, a2, a3, в конце каждого такта t работы регистра при начальном состоянии [0, 1, 1, 0].
|
Рис. 2.5. РСЛОС с полином обратной связи f(x) = x4 + x +1. |
Таблица 2.1
Пример 16-и тактов работы РСЛОС с полином обратной связи f(x) = x4 + x +1
t |
a0 |
a1 |
a2 |
a3 |
|
t |
a0 |
a1 |
a2 |
a3 |
0 |
0 |
1 |
1 |
0 |
|
8 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
|
9 |
1 |
1 |
1 |
1 |
2 |
1 |
0 |
0 |
1 |
|
10 |
0 |
1 |
1 |
1 |
3 |
0 |
1 |
0 |
0 |
|
11 |
1 |
0 |
1 |
1 |
4 |
0 |
0 |
1 |
0 |
|
12 |
0 |
1 |
0 |
1 |
5 |
0 |
0 |
0 |
1 |
|
13 |
1 |
0 |
1 |
0 |
6 |
1 |
0 |
0 |
0 |
|
14 |
1 |
1 |
0 |
1 |
7 |
1 |
1 |
0 |
0 |
|
15 |
0 |
1 |
1 |
0 |
При таком начальном заполнении РСЛОС выходная последовательность представляет собой 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, и является периодической с периодом 24–1= 15.
Ключевыми параметрами РСЛОС являются его отводная последовательность и начальное состояние регистра сдвига. Таким образом, для использования РСЛОС в потоковых шифрах, и при шифровании, и при расшифровании, обратную связь необходимо сконфигурировать на определенную отводную последовательность, а регистр инициализировать одним и тем же значением.