- •Введение
- •1. Информация как предмет защиты
- •2. Информационная безопасность
- •3. Основные угрозы информационной безопасности
- •3.1. Классификация угроз безопасности данных
- •4. Модель потенциального нарушителя
- •4.1. Типы нарушителей информационной безопасности ис
- •5. Классификация компьютерных преступлений
- •6. Личностные особенности компьютерного преступника
- •7. Принципы организации систем обеспечения безопасности данных (собд) ивс
- •7.1. Основные подсистемы, входящие в состав собд ивс
- •8. Стандарты информационной безопасности
- •8.1. Критерии оценки безопасности компьютерных систем. «Оранжевая книга» сша.
- •Основные элементы политики безопасности.
- •Произвольное управление доступом.
- •Безопасность повторного использования объектов.
- •Метки безопасности.
- •Принудительное управление доступом.
- •Классы безопасности.
- •Требования к политике безопасности.
- •Произвольное управление доступом:
- •Повторное использование объектов:
- •Метки безопасности:
- •Целостность меток безопасности:
- •Принудительное управление доступом:
- •Требования к подотчетности. Идентификация и аутентификация:
- •Предоставление надежного пути:
- •Требования к гарантированности. Архитектура системы:
- •Верификация спецификаций архитектуры:
- •Конфигурационное управление:
- •Тестовая документация:
- •Описание архитектуры:
- •8.2. Европейские критерии безопасности информационных технологий
- •8.3. Руководящие документы Гостехкомиссии России.
- •8.4. Общие критерии безопасности информационных технологий
- •9. Методы и средства защиты данных
- •9.1. Основные методы защиты данных
- •9.2. Классификация средств защиты данных
- •9.3. Формальные средства защиты
- •9.4. Физические средства защиты
- •9.5. Аппаратные средства защиты
- •9.5.1. Отказоустойчивые дисковые массивы
- •9.5.2. Источники бесперебойного питания
- •9.6.Криптографические методы и средства защиты данных
- •Классификация криптографических методов преобразования информации
- •9.7. Методы шифрования
- •9.7.1. Методы замены
- •9.7.2. Методы перестановки
- •9.7.3. Методы аналитических преобразований
- •9.7.4. Комбинированные методы
- •9.7.5. Стандарт сша на шифрование данных (des)
- •Функция перестановки и выбора последовательности в
- •Функции сдвига Si
- •9.7.6. Отечественный стандарт на шифрование данных
- •9.8. Системы шифрации с открытым ключом
- •9.8.1. Алгоритм rsa
- •9.8.2. Криптосистема Эль-Гамаля
- •9.8.3. Криптосистемы на основе эллиптических уравнений
- •9.9. Электронная цифровая подпись
- •9.10. Методы кодирования
- •9.11. Другие методы шифрования
- •10. Стеганография
- •11. Защита программ от несанкционированного копирования
- •11.1. Методы, затрудняющие считывание скопированной информации
- •11.2. Методы, препятствующие использованию скопированной информации
- •11.3. Основные функции средств защиты от копирования
- •11.4. Основные методы защиты от копирования
- •11.4.1. Криптографические методы
- •11.4.2. Метод привязки к идентификатору
- •11.4.3. Методы, основанные на работе с переходами и стеком
- •11.4.4. Манипуляции с кодом программы
- •11.5. Методы противодействия динамическим способам снятия защиты программ от копирования
- •12. Защита информации от несанкционированного доступа
- •12.1. Аутентификация пользователей на основе паролей и модели «рукопожатия»
- •12.2. Аутентификация пользователей по их биометрическим характеристикам, клавиатурному подчерку и росписи мыши
- •12.3. Программно-аппаратная защита информации от локального несанкционированного доступа
- •12.4. Аутентификация пользователей при удаленном доступе
- •13. Защита информации в компьютерных сетях
- •Пакетные фильтры.
- •Сервера прикладного уровня.
- •Сервера уровня соединения.
- •Сравнительные характеристики пакетных фильтров и серверов прикладного уровня.
- •Схемы подключения.
- •Администрирование.
- •Системы сбора статистики и предупреждения об атаке
- •Библиографический список
- •394026 Воронеж, Московский просп., 14
9.8. Системы шифрации с открытым ключом
Как бы ни были сложны и надежны криптографические системы – их слабое место при практической реализации – проблема распределения ключей. Для того, чтобы был возможен обмен конфиденциальной информацией между двумя субъектами ИС, ключ должен быть сгенерирован одним из них, а затем каким-то образом опять же в конфиденциальном порядке передан другому. Т.е. в общем случае для передачи ключа опять же требуется использование какой-то криптосистемы.
Для решения этой проблемы на основе результатов, полученных классической и современной алгеброй, были предложены системы с открытым ключом.
Суть их состоит в том, что каждым адресатом ИС генерируются два ключа, связанные между собой по определенному правилу. Один ключ объявляется открытым, а другой закрытым. Открытый ключ публикуется и доступен любому, кто желает послать сообщение адресату. Секретный ключ сохраняется в тайне.
Исходный текст шифруется открытым ключом адресата и передается ему. Зашифрованный текст в принципе не может быть расшифрован тем же открытым ключом. Дешифрование сообщение возможно только с использованием закрытого ключа, который известен только самому адресату.
Криптографические системы с открытым ключом основаны на односторонних (необратимых) функциях, множество классов которых порождает все разнообразие систем с открытым ключом. Все предлагаемые сегодня криптосистемы с открытым ключом опираются на один из следующих типов необратимых преобразований:
Разложение больших чисел ан простые множители.
Вычисление логарифма в конечном поле.
Вычисление корней алгебраических уравнений.
Следует отметить, что алгоритмы криптосистемы с открытым ключом (СОК) можно использовать в трех назначениях.
Как самостоятельные средства защиты передаваемых и хранимых данных.
Как средства для распределения ключей. Алгоритмы СОК более трудоемки, чем традиционные криптосистемы. Поэтому часто на практике рационально с помощью СОК распределять ключи, объем которых как информации незначителен. А потом с помощью обычных алгоритмов осуществлять обмен большими информационными потоками.
Средства аутентификации пользователей «Электронная подпись».
9.8.1. Алгоритм rsa
Несмотря на довольно большое число различных СОК, наиболее популярна – криптосистема RSA, разработанная в 1977 году и получившая название в честь ее создателей: Рона Ривеста, Ади Шамира и Леонарда Эйдельмана. Они воспользовались тем фактом, что нахождение больших простых чисел в вычислительном отношении осуществляется легко, но разложение на множители произведения двух таких чисел практически невыполнимо. Доказано (теорема Рабина), что раскрытие шифра RSA эквивалентно такому разложению. Поэтому для любой длины ключа можно дать нижнюю оценку числа операций для раскрытия шифра, а с учетом производительности современных компьютеров оценить и необходимое на это время.
В настоящее время алгоритм RSA используется во многих стандартах, среди которых SSL, S-HHTP, S-MIME, S/WAN, STT и PCT.
Чтобы использовать алгоритм RSA, надо сначала сгенерировать открытый и секретный ключи, выполнив следующие шаги.
Выберем два очень больших простых числа p и q.
Определим число n как результат умножения р на q:
n = р * q.
Выберем большое случайное число d. Это число должно быть взаимно простым с результатом умножения
(р - 1) * (q - 1).
Определим такое число e, для которого является истинным соотношение:
(e * d) mоd ( (р - 1) * (q - 1) = l.
Назовем открытым ключом числа e и n, а секретным ключом – числа d и n.
Чтобы зашифровать данные по известному ключу {е, n}, необходимо сделать следующее:
разбить шифруемый текст на блоки, каждый из которых может быть представлен в виде чисел Mi = 0, 1,..., n-1;
зашифровать текст, рассматриваемый как последовательность чисел Мi, по формуле:
Сi=(Mei) mоd(n).
Чтобы расшифровать эти данные, используя секретный ключ {d, n}, необходимо определить последовательность чисел Mi по формуле:
Мi = (Cdi) mоd(n).
Полученное множество чисел Mi представляет собой исходный текст.
Приведем простой пример использования метода RSA для шифрования сообщения «САВ». Для простоты будем использовать очень маленькие числа (на практике используются намного большие числа).
Выберем р = 3 и q = 11.
Определим n = 3711 = 33.
Найдем (р - 1) * (q - 1) = 20. Следовательно, в качестве числа d выберем любое число, которое является взаимно простым с 20, например d = 3.
Выберем число е. В качестве такого числа может быть взято любое число, которое удовлетворяет соотношению:
(е * 3) mоd(20) = l. например, 7.
Представим шифруемое сообщение как последовательность целых чисел в диапазоне 0... 32. Пусть буква А изображается числом 1, буква В – числом 2, буква С – числом 3. Тогда сообщение можно представить в виде последовательности чисел 3 1 2. Зашифруем сообщение, используя ключ {7, 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.
Попытаемся расшифровать сообщение {9, 1, 29}, полученное в результате зашифровывания по известному ключу, на основе секретного, ключа {3, 33}:
M1 = (97) mod(33) = 729 mod(33) = 3,
M2 = (17) mod(33) = 1 mod(33) = 1,
M3 = (297) mod(33) = 24389 mod(33) = 2.
Таким образом, в результате расшифровывания сообщения получено исходное сообщение «САВ».
Криптостойкость алгоритма RSA основывается на предположении, что исключительно трудно определить секретный ключ по известному, поскольку для этого необходимо решить задачу о существовании делителей целого числа. Данная задача не имеет в настоящее время эффективного (полиномиального) решения. В связи с этим для чисел, состоящих из 200 цифр (а именно такие цифры рекомендуется использовать), традиционные методы требуют выполнения огромного числа операций (около 1023).