
- •Введение
- •1Информационная безопасность компьютерных систем
- •Основные понятия и определения
- •Основные угрозы безопасности асои
- •Обеспечение безопасности асои
- •Вопросы по теме
- •2Принципы криптографической защиты информации
- •Основные понятия и опеределения
- •Традиционные симметричные криптосистемы
- •Шифры перестановки
- •2.1Шифр перестановки "скитала"
- •2.2Шифрующие таблицы
- •2.3Применение магических квадратов
- •Шифры простой замены
- •2.4Полибианский квадрат
- •2.5Система шифрования Цезаря
- •2.6Аффинная система подстановок Цезаря
- •2.7Система Цезаря с ключевым словом
- •2.8Шифрующие таблицы Трисемуса
- •2.9Система омофонов
- •Шифры сложной замены
- •2.10Шифр Гронсфельда
- •2.11Система шифрования Вижинера
- •2.12Одноразовая система шифрования
- •2.13Шифрование методом Вернама
- •Шифрование методом гаммирования
- •2.14Методы генерации псевдослучайных последовательностей чисел
- •Вопросы по теме
- •3Современные симметричные криптосистемы
- •Американский стандарт шифрования данных des
- •3.2. 0Сновные режимы работы алгоритма des
- •3.1Режим "Электронная кодовая книга"
- •3.2Режим "Сцепление блоков шифра"
- •3.5Области применения алгоритма des
- •Алгоритм шифрования данных idea
- •Отечественный стандарт шифрования данных
- •3.6Режим простой замены
- •3.7Режим гаммирования
- •3.8Режим гаммирования с обратной связью
- •3.9Bыработки имитовставки
- •Вопросы по теме
- •4Асимметричные криптосистемы
- •Концепция криптосистемы с открытым ключом
- •Однонаправленные функции
- •Криптосистема шифрования данных rsa
- •Вопросы по теме
- •5Идентификация и проверка подлинности
- •Основные понятия и концепции
- •Идентификация и механизмы подтверждения подлинности пользователя
- •Взаимная проверка подлинности пользователей
- •Протоколы идентификации с нулевой передачей знаний
- •5.1Упрощенная схема идентификации с нулевой передачей знаний
- •5.2Параллельная схема идентификации с нулевой передачей знаний
- •5.3Схема идентификации Гиллоу - Куискуотера
- •Вопросы по теме
- •6Электронная цифровая подпись
- •Проблема аутентификации данных и электронная цифровая подпись
- •Однонаправленные хэш-функции
- •Алгоритм безопасного хеширования sha
- •Однонаправленные хэш-функции на основе симметричных блочных алгоритмов
- •Отечественный стандарт хэш-функции
- •Алгоритмы электронной цифровой подписи
- •6.1Алгоритм цифровой подписи rsa
- •6.2Алгоритм цифровой подписи Эль Гамаля (egsa)
- •6.3Алгоритм цифровой подписи dsa
- •6.4Отечественный стандарт цифровой подписи
- •Вопросы по теме
- •7Управление криптографическими ключами
- •Генерация ключей
- •Хранение ключей
- •Распределение ключей
- •7.1Распределение ключей с участием центра распределения ключей
- •7.2Прямой обмен ключами между пользователями
- •Протокол skip управления криптоключами.
- •Вопросы по теме
- •8Методы и средства защиты от удаленных атак через сеть Internet
- •Особенности функционирования межсетевых экранов
- •Основные компоненты межсетевых экранов
- •8.1Фильтрующие маршрутизаторы
- •8.2Шлюзы сетевого уровня
- •8.3Шлюзы прикладного уровня
- •Основные схемы сетевой защиты на базе межсетевых экранов
- •8.4Межсетевой экран-фильтрующий маршрутизатор
- •8.5Межсетевой экран на основе двупортового шлюза
- •8.6Межсетевой экран на основе экранированного шлюза
- •8.7Межсетевой экран - экранированная подсеть
- •Применение межсетевых экранов для организации виртуальных корпоративных сетей
- •Программные методы защиты
- •Вопросы по теме
- •9Резервное хранение информации. Raid-массивы
- •Вопросы по теме
- •10Биометрические методы защиты
- •Признаки личности в системах защиты информации
- •10.1Отпечатки пальцев
- •10.2Черты лица
- •10.3Геометрия кисти руки
- •10.4Рисунок радужной оболочки глаза
- •10.5Рисунок сосудов за сетчаткой глаза
- •10.6Расположение вен на руке
- •10.7Динамические характеристики почерка
- •10.8Особенности речи
- •10.9Динамика ударов по клавишам
- •10.10 Другие характеристики
- •Устройства для снятия биометрических характеристик
- •Системы распознавания личности
- •Проверка личности при помощи биометрических характеристик
- •Вопросы по теме
- •11Программы с потенциально опасными последствиями
- •Троянский конь
- •Логическая бомба
- •Программные закладки
- •Атака салями
- •Вопросы по теме
- •12Защита от копирования
- •Привязка к дискете
- •12.1Перестановка в нумерации секторов
- •12.2Введение одинаковых номеров секторов на дорожке
- •12.3Введение межсекторных связей
- •12.4Изменение длины секторов
- •12.5Изменение межсекторных промежутков
- •12.6Использование дополнительной дорожки
- •12.7Введение логических дефектов в заданный сектор
- •12.8Изменение параметров дисковода
- •12.9Технология "ослабленных" битов
- •12.10 Физическая маркировка дискеты
- •Применение физического защитного устройства
- •"Привязка" к компьютеру
- •12.11Физические дефекты винчестера
- •12.12Дата создания bios
- •12.13Версия используемой os
- •12.14Серийный номер диска
- •Конфигурация системы и типы составляющих ее устройств
- •Опрос справочников
- •Введение ограничений на использование программного обеспечения
- •Вопросы по теме
- •13Защита исходных текстов и двоичного кода
- •Противодействие изучению исходных текстов
- •13.1Динамическое ветвление
- •13.2Контекстная зависимость
- •13.3Хуки
- •Противодействие анализу двоичного кода
- •Вопросы по теме
- •14Операционные системы
- •Сравнение nt и unix-систем
- •15.2Создание "вспомогательной" программы, взаимодействующей с имеющейся
- •15.3Декомпилирование программы
- •15.4Копирование программного обеспечения
- •15.5Использование или распространение противозаконных программ и их носителей
- •15.6Деятельность в компьютерной сети
- •Компьютер и/или сеть являются средством достижения целей.
- •Вопросы по теме Лабораторные работы по курсу «Информационная безопасность и защита информации»
- •Лабораторная работа № 1. «Реализация дискреционной модели политики безопасности»
- •Лабораторная работа № 2 . «Количественная оценка стойкости парольной защиты»
- •Лабораторная работа №3. «Создание коммерческой версии приложения»
- •Лабораторная работа №4. «Защита от копирования. Привязка к аппаратному обеспечению. Использование реестра»
- •2. Реестр Windows
- •Литература
Однонаправленные хэш-функции
Хэш-функция предназначена для сжатия подписываемого документа М до нескольких десятков или сотен бит. Хэш-функция h(*) принимает в качестве аргумента сообщение (документ) М произвольной длины и возвращает хэш-значение h(M)=H фиксированной длины. Обычно хэшированная информация является сжатым двоичным представлением, основного сообщения произвольной длины. Следует отметить, что значение хэш-функции h(М) сложным образом зависит от документа М и не позволяет восстановить сам документ М.
Хэш-функция должна удовлетворять целому ряду условий:
хэш-функция должна быть чувствительна к всевозможным изменениям в тексте М, таким как вставки, выбросы, перестановки и т.п.;
хэш-функция должна обладать свойством необратимости, то есть задача подбора документа М', который обладал бы требуемым значением хэш-функции, должна быть вычислительно неразрешима;
вероятность того, что значения хэш-функции двух различных документов (вне зависимости от их длин) совпадут, должна быть ничтожно мала.
Большинство хэш-функций строится на основе однонаправленной функции f(*), которая образует выходное значение длиной n при задании двух входных значений длиной n. Этими входами являются блок исходного текста Мi и хэш-значение Нi-1 предыдущего блока текста (рис.6.1):
Нi = f(Mi ,Hi-1).
Хэш-значение, вычисляемое при вводе последнего блока текста, становится хэш-значением всего сообщения М.
Рисунок 6.1. Построение однонаправленной хэш-функции
В результате однонаправленная хэш-функция всегда формирует выход фиксированной длины n (независимо от длины входного текста).
Алгоритм безопасного хеширования sha
Алгоритм безопасного хэширования SHA (Secure Hash Algorithm) разработан НИСТ и АНБ США в рамках стандарта безопасного хэширования SHS (Secure Hash Standard) в 1992 г. Алгоритм хэширования SHA предназначен для использования совместно с алгоритмом цифровой подписи DSA.
При вводе сообщения М произвольной длины менее 264 бит алгоритм SHA вырабатывает 160-битовое выходное сообщение, называемое дайджестом сообщения МD (Message Digest). Затем этот дайджест сообщения используется в качестве входа алгоритма DSA, который вычисляет цифровую подпись сообщения М. Формирование цифровой подписи для дайджеста сообщения, а не для самого сообщения повышает эффективность процесса подписания, поскольку дайджест сообщения обычно намного короче самого сообщения.
Такой же дайджест сообщения должен вычисляться пользователем, проверяющим полученную подпись, при этом в качестве входа в алгоритм SHA используется полученное сообщение М.
Алгоритм хэширования SHA назван безопасным, потому что он спроектирован таким образом, чтобы было вычислительно невозможно восстановить сообщение, соответствующее данному дайджесту, а также найти два различных сообщения, которые дадут одинаковый дайджест. Любое изменение сообщения при передаче с очень большой вероятностью вызовет изменение дайджеста, и принятая цифровая подпись не пройдет проверку.
Рассмотрим подробнее работу алгоритма хэширования SHA. Прежде всего исходное сообщение М дополняют так, чтобы оно стало кратным 512 битам. Дополнительная набивка сообщения выполняется следующим образом: сначала добавляется единица, затем следуют столько нулей, сколько необходимо для получения сообщения, которое на 64 бита короче, чем кратное 512, и наконец добавляют 64-битовое представление длины исходного сообщения.
Инициализируется пять 32-битовых переменных в виде:
А=0х67452301
B=0xEFCDAB89
C=0x98BADCFE
D= 0х10325476
E=0xC3D2E1F0
Затем начинается главный цикл алгоритма. В нем обрабатывается по 512 бит сообщения поочередно для всех 512-битовых блоков, имеющихся в сообщении. Первые пять переменных А, В, С, D, Е копируются в другие переменные а, Ь, с, d, е;
а=А, Ь=В, с=С, d=D, е=Е,
Главный цикл содержит четыре цикла по 20 операций каждый. Каждая операция реализует нелинейную функцию от трех из пяти переменных а, b, с, d, е, а затем производит сдвиг и сложение.
Алгоритм SHA имеет следующий набор нелинейных функций:
ft (X,Y, Z) = (X /\У) \/ ((⌐X) /\ Z) для t=0...19
ft (X,Y, Z) = X xor Y xor Z для t=20...39
ft (X,Y, Z) = (X /\Y) \/ (X /\ Z) \/ (Y /\ Z) для t=40...59
ft (X,Y, Z) = X xor Y xor Z для t=60...79
где t - номер операции.
В алгоритме используются также четыре константы:
Kt=0x5A827999 для t=0...19
Кt =0x6ЕD9ЕВА1 для t=20...39
Kt=0x8F1BBCDC для t=40...59
Kt=0xCA62C1D6 для t=60...79
Блок сообщения преобразуется из шестнадцати 32-битовых слов (Mo...Mi5) в восемьдесят 32-битовых слов (Wo ...W79) с помощью следующего алгоритма:
Wt=Mt для t=0...15
для t=16...79
где t - номер операции (для 1=1...80),
Wt - t-й субблок расширенного сообщения,
<<< S - циклический сдвиг влево на S бит.
С учетом введенных обозначений главный цикл из восьмидесяти операций можно описать так:
FOR t = 0 до 79
TEMP = (а<<< 5) + ft (b,c,d) + е + Wt + Кt
e=d
d=c
с = (b <<< 30)
b=a
a = TEMP
Схема выполнения одной операции показана на рис.6.2.
После окончания главного цикла значения а, b, с, d и е складываются с А, В, С, D и Е соответственно, и алгоритм приступает к обработке следующего 512-битового блока данных. Окончательный выход формируется в виде конкатенации значений A, B, C, D и Е.
Поскольку алгоритм SHA выдает 160-битовое хэш-значение, он более устойчив к атакам полного перебора и атакам "дня рождения", чем большинство других алгоритмов хэширования, формирующих 128-битовые хэш-значения.
Рисунок 6.2. Схема выполнения одной операции алгоритма SHA