- •Введение
- •1. Основные понятия информационной безопасности
- •1.1. Проблема информационной безопасности общества
- •1.2. Определение понятия «информационная безопасность»
- •1.3. Составляющие информационной безопасности
- •1.4. Важность и сложность проблемы информационной безопасности
- •1.4.1. Наиболее опасные угрозы информационной безопасности
- •1.4.2. Внутренние угрозы иб
- •1.4.3. Средства защиты
- •1.5. Сценарии реализации угроз информационной безопасности
- •1.5.1. Разглашение конфиденциальной информации
- •1.5.2. Обход средств защиты от разглашения конфиденциальной информации
- •1.5.3. Кража конфиденциальной информации
- •1.5.4. Нарушение авторских прав на информацию
- •1.5.5. Нецелевое использование ресурсов
- •1.6. Традиционный подход к анализу проблем информационной безопасности
- •1.6.1. Актуальность задач компьютерной безопасности
- •1.6.2. Основные понятия информационной безопасности автоматизированных систем обработки информации
- •1.6.3. Основные угрозы безопасности систем обработки информации
- •1.6.4. Понятие несанкционированного доступа
- •2. Система формирования режима информационной безопасности
- •2.1. Задачи информационной безопасности общества
- •2.2. Уровни формирования режима информационной безопасности
- •2.3. Нормативно-правовые основы информационной безопасности
- •2.3.1. Обзор Российского законодательства
- •2.3.2. Обзор зарубежного законодательства в области информационной безопасности
- •3. Стандарты и спецификации информационной безопасности
- •3.1. Требования безопасности к информационным системам
- •3.1.1. Функциональные требования
- •3.1.2. Требования доверия
- •3.2. Стандарты информационной безопасности распределенных систем
- •3.2.1. Сервисы безопасности в вычислительных сетях
- •3.2.2. Механизмы безопасности
- •3.2.3. Администрирование средств безопасности
- •3.3. Стандарты информационной безопасности в рф
- •3.3.1. Гостехкомиссия и ее роль в обеспечении информационной безопасности в рф
- •4. Уровни информационной безопасности
- •4.1. Административный уровень
- •4.1.1. Политика безопасности
- •4.1.2. Программа безопасности
- •4.1.3. Синхронизация программы безопасности с жизненным циклом систем
- •4.1.4. Понятие об управлении рисками
- •4.2. Процедурный уровень
- •4.2.1. Основные классы мер процедурного уровня
- •4.2.2. Управление персоналом
- •4.2.3 Физическая защита
- •4.2.4 Поддержание работоспособности
- •4.2.5 Реагирование на нарушения режима безопасности
- •4.2.6 Планирование восстановительных работ
- •5. Криптографическая защита информации
- •5.1. Основные принципы криптографической зашиты информации
- •5.1.1. Понятие криптографии
- •5.1.2. Понятия о симметричных и асимметричных криптосистемах
- •5.1.3. Понятие криптоанализа
- •5.1.4. Аппаратно-программные криптографические средства защиты информации
- •5.2. Асимметричные криптосистемы
- •5.2.1. Концепция криптосистемы с открытым ключом
- •5.2.2. Однонаправленные функции
- •5.2.3. Криптосистема шифрования данных rsa
- •5.2.4. Аутентификация данных и электронная цифровая подпись
- •5.2.5. Алгоритм цифровой подписи rsa
- •5.3.Симметричные криптосистемы
- •5.3.1. Понятие о симметричной криптосистеме
- •5.3.2 Шифры перестановки
- •Терминатор прибывает седьмого в полночь
- •Тнпве глеар адонр тиеьв омобт мпчир ысооь
- •Пеликан,
- •Гнвеп лтооа дрнев теьио рпотм бчмор соыьи
- •Тюае оогм рлип оьсв
- •5.3.3. Шифры сложной замены
- •5.3.4. Одноразовая система шифрования
- •5.3.5. Шифрование методом гаммирования
- •5.3.6. Стандарт шифрования данных des
- •6. Компьютерные вирусы и защита от них
- •6.1. Вирусы как угроза информационной безопасности
- •6.1.1. Компьютерные вирусы и информационная безопасность
- •6.1.2. Характерные черты компьютерных вирусов
- •6.1.3. Хронология развития компьютерных вирусов
- •6.2. Классификация компьютерных вирусов
- •6.2.1. Классификация компьютерных вирусов по среде обитания
- •6.2.2. Классификация компьютерных вирусов по особенностям алгоритма работы
- •6.2.3. Классификация компьютерных вирусов по деструктивные возможностям
- •6.3.3. Утилиты скрытого администрирования
- •6.3.4. «Intended»-вирусы
- •6.4. Антивирусные программы
- •6.4.1. Особенности работы антивирусных программ
- •6.4.2. Классификация антивирусных программ
- •6.4.3. Факторы, определяющие качество антивирусных программ
- •6.5. Профилактика компьютерных вирусов
- •6.5.1. Характеристика путей проникновения вирусов в компьютеры
- •6.5.2. Правила защиты от компьютерных вирусов
- •6.6. Обнаружение неизвестного вируса
- •6.6.1. Обнаружение загрузочного вируса
- •6.6.2. Обнаружение резидентного вируса
- •6.6.3. Обнаружение макровируса
- •6.6.4. Общий алгоритм обнаружения вируса
- •7. Информационная безопасность вычислительных сетей
- •7.1.2. Специфика средств защиты в компьютерных сетях
- •7.2. Сетевые модели передачи данных
- •7.2.1. Понятие протокола передачи данных
- •7.2.2. Принципы организации обмена данными в вычислительных сетях
- •7.2.3. Транспортный протокол tcp и модель тср/iр
- •7.3. Модель взаимодействия открытых систем osi/iso
- •7.3.1. Сравнение сетевых моделей передачи данных tcp/ip и osi/iso
- •7.3.2. Характеристика уровней модели osi/iso
- •7.4. Адресация в глобальных сетях
- •7.4.1. Основы ip-протокола
- •7.4.2. Классы адресов вычислительных сетей
- •7.4.3. Система доменных имен
- •7.5. Классификация удаленных угроз в вычислительных сетях
- •По характеру воздействия:
- •По цели воздействия:
- •По условию начала осуществления воздействия
- •По наличию обратной связи с атакуемым объектом:
- •По расположению субъекта атаки относительно атакуемого объекта:
- •По уровню модели iso/osi, на котором осуществляется воздействие:
- •7.6. Типовые удаленные атаки и их характеристика
- •7.6.1. Удаленная атака "анализ сетевого трафика"
- •7.6.2. Удаленная атака «подмена доверенного объекта»
- •7.6.3. Удаленная атака «ложный объект»
- •7.6.4. Удаленная атака «отказ в обслуживании»
- •7.7. Причины успешной реализации удаленных угроз в вычислительных сетях
- •7.8. Принципы защиты распределенных вычислительных сетей
- •8. Обеспечение безопасности глобальных компьютерных сетей
- •8.1. Межсетевые экраны (firewall)
- •8.2. Организация и эксплуатация виртуальных частных сетей (vpn)
- •8.2.1. Определение виртуальных частных сетей
- •8.2.2. Пользовательские vpn
- •8.2.3. Узловые vpn
- •8.2.4. Понятие стандартных технологий функционирования vpn
- •8.2.5. Типы систем vpn
- •8.3. Системы предотвращения вторжений (ids)
- •8.3.1. Общие понятия о функционировании ids
- •8.3.2. Узловые ids
- •8.3.3. Сетевые ids
- •8.3.4. Использование ids
- •9. Безопастное взаимодействие в глобальных компьютерных сетях
- •9.1. Аутефекация и управление сертификатами
- •9.1.1. Цифровые подписи
- •9.1.2. Управление ключами и сертификация ключей
- •9.1.3. Концепция доверия в информационной системе
- •9.1.4. Аутентификация с использованием протоколов открытого ключа
- •9.2. Протокол конфиденциального обмена данными ssl
- •9.3. Обеспечение безопасности беспроводных сетей
- •9.3.1. Угрозы безопасности беспроводных соединений
- •9.3.2. Протокол wep
- •9.3.3. Протокол 802.1x - контроль доступа в сеть по портам
- •10. Информационная безопасность в операционных системах windows
- •10.1. Средства управления безопасностью
- •10.1.1. Система управления доступом
- •10.1.2. Пользователи и группы пользователей
- •10.1.3. Объекты. Дескриптор защиты
- •10.2. Основные компоненты системы безопасности
- •10.2.1. Политика безопасности
- •10.2.2. Ролевой доступ. Привилегии
- •11. Безопасность программного обеспечения
- •11.1. Угрозы безопасности по
- •11.2. Разрушающие программные средства
- •11.3. Модель угроз и принципы обеспечения безопасности по
- •11.4. Основные принципы обеспечения безопасности по на различных стадиях его жизненного цикла
- •11.4.1. Обеспечение безопасности при обосновании, планировании работ и проектном анализе по
- •11.4.2. Обеспечение безопасности по в процессе его разработки
- •11.4.3 Обеспечение безопасности по на этапах стендовых и приемо-сдаточных испытаний
- •11.4.4. Обеспечение безопасности при эксплуатации по
- •11.5. Методы и средства анализа безопасности по
- •Заключение
- •Оглавление
- •1. Основные понятия информационной безопасности 5
- •394026 Воронеж, Московский просп., 14
5.2.3. Криптосистема шифрования данных rsa
Алгоритм RSA предложили в 1978 г. три автора: Р. Райвест (Rivest), А. Шамир (Shamir) и А. Адлеман (Adleman). Алгоритм получил свое название по первым буквам фамилий его авторов. Алгоритм RSA стал первым полноценным алгоритмом с открытым ключом, который может работать как в режиме шифрования данных, так и в режиме электронной цифровой подписи.
Надежность алгоритма основывается на трудности факторизации больших чисел и трудности вычисления дискретных логарифмов.
Введем следующие понятия:
Простое число - делится только на 1 и на само себя;
Взаимно простым- не имеют ни одного общего делителя, кроме 1;
Результат операции i mod j - остаток от целочисленного деления i на j.
В криптосистеме RSA открытый ключ Кв, секретный ключ кв, сообщение М и криптограмма С принадлежат множеству целых чисел
Zn = {0, 1, 2, … , N-1}, где N - модуль: N = P∙Q.
Здесь Р и Q - случайные большие простые числа. Для обеспечения максимальной безопасности выбирают Р и Q равной длины и хранят в секрете.
Множество ZN с операциями сложения и умножения по модулю N образует арифметику по модулю N.
Открытый ключ Кв выбирают случайным образом так, чтобы выполнялись условия:
где: φ(N) - функция Эйлера; НОД - наибольший общий делитель.
Функция Эйлера φ(N) указывает количество положительных целых чисел в интервале от 1 до N, которые взаимно просты с N.
Второе из указанных выше условий означает, что открытый ключ Кв и функция Эйлера φ(N) должны быть взаимно простыми.
Далее, вычисляют секретный ключ kв, такой, что:
(kB∙KB) mod φ(N) = 1
или
.
Это можно осуществить, так как получатель В знает пару простых чисел (P, Q) и может легко найти φ(N). Заметим, что kв и N должны быть взаимно простыми.
Открытый ключ Кв используют для шифрования данных, а секретный ключ kв - для расшифрования.
Преобразование шифрования определяет криптограмму С через пару (открытый ключ Кв, сообщение М) в соответствии со следующей формулой:
.
В качестве алгоритма быстрого вычисления значения С используют ряд последовательных возведений в квадрат целого М и умножений на М с приведением по модулю N.
Обращение функции C = mod N, т.е. определение значения М по известным значениям С, Кв и N, практически не осуществимо при N≈2512.
Однако обратную задачу, т.е. задачу расшифрования криптограммы С, можно решить, используя пару (секретный ключ kв, криптограмма С) по следующей формуле:
.
Таким образом, получатель В, который создает криптосистему, защищает два параметра:
секретный ключ kв
пару чисел (P, Q), произведение которых дает значение модуля N.
С другой стороны, получатель В открывает значение модуля N и открытый ключ Кв.
Противнику известны лишь значения Кв и N. Если бы он смог разложить число N на множители Р и Q, то он узнал бы «потайной ход» - тройку чисел {Р, Q, Кв}, вычислил значение функции Эйлера
φ(N) = (P-1)(Q-1)
и определил значение секретного ключа kв. Однако, как уже отмечалось, разложение очень большого N на множители вычислительно не осуществимо (при условии, что длины выбранных Р и Q составляют не менее 100 десятичных знаков).
Предположим, что пользователь А хочет передать пользователю В сообщение в зашифрованном виде, используя криптосистему RSA. В таком случае пользователь А выступает в роли отправителя сообщения, а пользователь В - в роли получателя. Как отмечалось выше, криптосистему RSA должен сформировать получатель сообщения, т.е. пользователь В. Рассмотрим последовательность действий пользователя В и пользователя А.
Пользователь В выбирает два произвольных больших простых числа Р и Q.
Пользователь В вычисляет значение модуля N = Р∙Q.
Пользователь В вычисляет функцию Эйлера: φ(N) = (P-1)(Q-1) и выбирает случайным образом значение большого случайного числа, которое назовем kв. Это число должно быть взаимно простым с функцией Эйлера (т.е. результатом умножения φ(N) = (P-1)(Q-1) )
Определяется такое число KB, для которого является истинным следующее соотношения
(KB ∙ kв) mod ( φ(N) ) = 1
и
1 < KB ≤ φ(N).
Пара чисел (N, Кв) является открытым ключом и может быть передана по незащищенному каналу. А пара чисел (N, kв) – закрытым ключом, он держится в секрете и используется для дешифрации.
Если пользователь А хочет передать пользователю В сообщение М, он выполняет следующие шаги.
Пользователь А разбивает исходный открытый текст М на блоки (только до N-1), каждый из которых может быть представлен в виде числа
Мi = 0, 1, 2, … , N-1.
Пользователь А шифрует текст, представленный в виде последовательности чисел Mi по формуле
и отправляет криптограмму
C0 ,C1 , … CN-1
Чтобы расшифровать эти данные, используя секретный ключ (N, kв), необходимо выполнить следующие вычисления:
В результате будет получена последовательность чисел Мi, которые представляют собой исходное сообщение М. Чтобы алгоритм RSA имел практическую ценность, необходимо иметь возможность без существенных затрат генерировать большие простые числа, уметь оперативно вычислять значения ключей Кв и kв.
Зашифруем и расшифруем сообщение «САВ» по алгоритму RSA. Для простоты будут использованы маленькие числа. На практике применяются очень большие числа (см. следующий раздел).
1. Выберем Р = 3 и Q = 11.
2. Определим N = P∙Q = 3∙11 = 33.
3. Найдем φ(N) = (P-1)(Q-1) = (3-1)(11-1) = 20.
Выбираем случайным образом значение числа kв. Это число должно быть взаимно простым с функцией Эйлера (т.е. у φ(N) = 20 и kв не должно быть общих делителей кроме 1). Пусть kв = 3.
4. Выберем число KB по следующей формуле:
(kB∙KB) mod 20 = 1,
т. е. произведение kB∙KB при целочисленном делении на φ(N) = 20 должно в остатке давать 1.
Пусть KB = 7 т.к.: 7∙3=21 и (21 mod 20) = 1
5. Представим шифруемое сообщение как последовательность чисел в диапазоне от 0 до 32 (кончается на N-1). Буква А =1, В=2, С=3.
6. Зашифруем сообщение, используя открытый ключ (KB=7, N=33):
C1 = 37 mod 33 = 2187 mod 33 = 9;
C2 = 17 mod 33 = 1 mod 33 = 1;
C3 = 27 mod 33 = 128 mod 33 = 29;
Т.е. криптограмма представляет собой С = 09 01 29
7. Расшифруем эти данные, используя закрытый ключ (N=33, kв=3).
M1=93 mod 33 =729 mod 33 = 3 (С);
M2=13 mod 33 =1 mod 33 = 1 (А);
M3=293 mod 33 = 24389 mod 33 = 2 (В);
Данные расшифрованы.
Безопасность алгоритма RSA базируется на трудности решения задачи факторизации больших чисел, являющихся произведениями двух больших простых чисел. Действительно, криптостойкость алгоритма RSA определяется тем, что после формирования секретного ключа kв и открытого ключа Кв «стираются» значения простых чисел Р и Q, и тогда исключительно трудно определить секретный ключ kв по открытому ключу Кв, поскольку для этого необходимо решить задачу нахождения делителей Р и Q модуля N.
Разложение величины N на простые множители Р и Q позволяет вычислить функцию φ(N) = (P-T) (Q-T) и затем определить секретное значение kB используя уравнение
(KB ∙ kв) mod ( φ(N) ) = 1.
Другим возможным способом криптоанализа алгоритма RSA является непосредственное вычисление или подбор значения функции φ(N) = (P ‑T) (Q‑T). Если установлено значение φ(N), то сомножители Р и Q вычисляются достаточно просто. В самом деле, пусть
Зная φ(N), можно определить х и затем у; зная х и у, можно определить числа Р и Q из следующих соотношений:
Однако эта атака не проще задачи факторизации модуля N.
Задача факторизации является трудно разрешимой задачей для больших значений модуля N.
Сначала авторы алгоритма RSA предлагали для вычисления модуля N выбирать простые числа Р и Q случайным образом, по 50 десятичных разрядов каждое. Считалось, что такие большие числа N очень трудно разложить на простые множители. Один из авторов алгоритма RSA, Р. Райвест, полагал, что разложение на простые множители числа из почти 130 десятичных цифр, приведенного в их публикации, потребует более 40 квадриллионов лет машинного времени. Однако этот прогноз не оправдался из-за сравнительно быстрого прогресса компьютеров и их вычислительной мощности, а также улучшения алгоритмов факторизации.
Один из наиболее быстрых алгоритмов, известных в настоящее время, алгоритм NFS (Number Field Sieve) может выполнить факторизацию большого числа N (с числом десятичных разрядов больше 120) за число шагов, оцениваемых величиной .
В 1994 г. было факторизовано число со 129 десятичными цифрами. Это удалось осуществить математикам А. Ленстра и М. Манасси посредством организации распределенных вычислений на 1600 компьютерах, объединенных сетью, в течение восьми месяцев. По мнению А. Ленстра и М. Манасси, их работа компрометирует криптосистемы RSA и создает большую угрозу их дальнейшим применениям. Теперь разработчикам криптоалгоритмов с открытым ключом на базе RSA приходится избегать применения чисел длиной менее 200 десятичных разрядов. Самые последние публикации предлагают применять для этого числа длиной не менее 250-300 десятичных разрядов.
Оценка безопасных длин ключей асимметричных криптосистем на ближайшие 20 лет исходя из прогноза развития компьютеров и их вычислительной мощности, а также возможного совершенствования алгоритмов факторизации приведена в таблице 5.1 даны (для трех групп пользователей - индивидуальных пользователей, корпораций и государственных организаций), в соответствии с различием требований к их информационной безопасности. Конечно, данные оценки следует рассматривать как сугубо приблизительные, как возможную тенденцию изменений безопасных длин ключей асимметричных криптосистем со временем.
Таблица 5.1
Оценки длин ключей для асимметричных криптосистем, бит
Год |
Отдельные пользователи |
Корпорации |
Государственные организации |
1995 |
768 |
1280 |
1536 |
2000 |
1024 |
1280 |
1536 |
2005 |
1280 |
1536 |
2048 |
2010 |
1280 |
1536 |
2048 |
2015 |
1536 |
2048 |
2048 |