
- •Тема 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.1.3. Криптосистема на основе эллиптических кривых
Преимущество подхода на основе эллиптических кривых в сравнении с задачей факторизации числа, используемой в RSA, или задачей целочисленного логарифмирования, применяемой в алгоритме Диффи-Хеллмана, заключается в том, что в данном случае обеспечивается эквивалентная защита при меньшей длине ключа.
В общем случае уравнение эллиптической кривой имеет вид:
y2 + axy + by = x3 + cx2 + dx + e.
В качестве примера рассмотрим эллиптическую кривую, уравнение которой имеет вид: y2 + y = x3 – x2. На рис. 4.1 изображен график этой кривой. На этой кривой лежат только четыре точки, координаты которых являются целыми числами. Это точки А (0, 0), В (1, –1), С (1, 0) и D (0, –1).
|
Рис. 4.1. Пример эллиптической кривой с четырьмя точками. |
Для определения операции сложения для точек на эллиптической кривой используются следующие предположения:
на плоскости существует бесконечно удаленная точка O, принадлежащая кривой, в которой сходятся все вертикальные прямые;
считается, что касательная к кривой пересекает точку касания два раза;
если три точки эллиптической кривой лежат на прямой линии, то их сумма есть O.
Введем следующие правила сложения точек на эллиптической кривой.
Точка O выступает в роли нулевого элемента: для любой точки Р на эллиптической кривой Р + O = Р.
Вертикальная линия пересекает кривую в двух точках с одной и той же координатой х – скажем, P1 = (x, y) и P2 = (x, –y) (эта прямая пересекает кривую и в бесконечно удаленной точке O), поэтому Р1 + Р2 = O и Р1 = –Р2.
Чтобы сложить две точки P и Q (см. рис. 4.2) с разными координатами х, следует провести через эти точки прямую и найти точку пересечения ее с эллиптической кривой. Если прямая не является касательной к кривой в точках P или Q, то существует только одна такая точка, обозначим ее S. Согласно предположению P + Q + S = О, следовательно, P + Q = –S, или P + Q = T.
Если прямая является касательной к кривой в какой-либо из точек P или Q, то в этом случае следует положить S = P или S = Q соответственно.
Чтобы удвоить точку Q, следует провести касательную в точке Q и найти другую точку пересечения S с эллиптической кривой. Тогда Q + Q = 2 × Q = –S.
|
Рис. 4.2. Сложение точек на эллиптической кривой. |
Введенная таким образом операция сложения подчиняется всем обычным правилам сложения, в частности коммутативному и ассоциативному законам. Умножение точки Р эллиптической кривой на положительное число k определяется как сумма k точек Р.
В криптографии с использованием эллиптических кривых все значения вычисляются по модулю р, где р является простым числом. Элементами данной эллиптической кривой являются пары неотрицательных целых чисел, которые меньше р и удовлетворяют частному виду эллиптической кривой:
.
Такую кривую обычно обозначают Ep(a,b). При этом числа а и b должны быть меньше р и должны удовлетворять условию
.
Множество
точек на эллиптической кривой вычисляется
следующим образом. Для каждого такого
значения х, что 0
х р,
вычисляется
.
Далее, для каждого из полученных на
предыдущем шаге значений выясняется,
имеет ли это значение квадратный корень
по модулю р. Если нет, то в Ep(a,b)
нет точек с этим значением х. Если
корень существует, имеется два значения
y, соответствующих операции извлечения
квадратного корня (исключением является
случай, когда единственным значением
оказывается y = 0). Эти значения (x,y)
и будут точками Ep(a,b).
Множество точек Ep(a,b) обладает следующими свойствами:
1. Р + O = Р.
2. Если Р = (x,y), то Р + (x,–y) = O. Точка (x,–y) является отрицательным значением точки Р и обозначается –Р. Заметим, что (x,–y) лежит на эллиптической кривой и принадлежит Ep(a,b).
3. Если Р = (x1, y1) и Q = (x2, y2), где x1 x2, то P + Q = (x3, y3) определяется по следующим формулам:
,
,
где
.
4. Если Р = (x1, y1) и Q = (x2, y2), где x1 = x2, y1 = y2 0, то P + Q = (x3, y3) определяется по следующим формулам:
,
,
где
.
Число λ есть угловой коэффициент секущей, проведенной через точки P = (x1, y1) и Q = (x2, y2). При P = Q секущая превращается в касательную, чем и объясняется наличие двух формул для вычисления λ.
Рассмотрим подход к шифрованию/расшифрованию с использованием эллиптических кривых. Задача состоит в том, чтобы зашифровать сообщение М, которое может быть представлено в виде точки на эллиптической кривой Pm(x,y). В качестве параметров алгоритма рассматривается эллиптическая кривая Ep(a,b) и точка G на ней.
Секретным ключом шифрования является некоторое случайное число n, открытый ключ Q вычисляется следующим образом Q = n × G.
Процедура шифрования осуществляется следующим образом: выбирается случайное целое положительное число k и вычисляется шифртекст Cm, являющийся точкой на эллиптической кривой:
.
Для расшифрования требуется умножить первую координату точки Cm на секретный ключ и вычесть полученный результат из второй координаты:
.
Если отправитель зашифровал сообщение Pm добавлением к нему k Q, то никто не знает значения k, поэтому, хотя Q и является открытым ключом, никто не знает k Q. Получатель также не знает k, но ему в качестве подсказки посылается k G. Умножив k G на свой закрытый ключ, получатель получит значение, которое было добавлено отправителем к незашифрованному сообщению. Тем самым получатель, не зная k, но имея свой закрытый ключ, может восстановить незашифрованное сообщение.
Злоумышленнику для восстановления сообщения придется вычислить k, зная G и k G. Эта задача является рода задачей дискретного логарифмирования на эллиптической кривой, и формулируется следующим образом: даны точки P и Q на эллиптической кривой Ep(a, b), необходимо найти коэффициент k < p такой, что P = k Q.