- •Аппаратно-программные средства защиты информации
- •Системы идентификации и аутентификации пользователей
- •Системы шифрования дисковых данных
- •Системы шифрования данных, передаваемых по сетям
- •Системы аутентификации электронных данных
- •Средства управления криптографическими ключами
- •Лекция 5 Классы безопасности
- •Требования к политике безопасности
- •Требования к подотчетности
- •3. Лекция 6 Требования к гарантированности
- •Требования к документации
- •4.Лекция 7 Криптографические средства защиты информации
- •5.Простые криптосистемы
- •Основные требования к криптографическому закрытию информации в ас
- •Классификация основных методов криптографического закрытия информации
- •Шифрование методом замены (подстановки)
- •Шифрование методом перестановки
- •Шифрование методом гаммирования
- •Шифрование с помощью аналитических преобразований
- •Комбинированные методы шифрования
- •Организационные проблемы криптозащиты
- •6.Лекция 8
- •7.Стандарт шифрования данных Data Encryption Standard (des) Описание алгоритма des
- •Режимы работы алгоритма des
- •8.Алгоритм шифрования данных idea
- •9.Отечественный стандарт шифрования гост 28147-89
- •Режим простой замены
- •Режим гаммирования
- •Режим гаммирования с обратной связью
- •Выработки имитовставки
- •Лекция 10 Электронная цифровая подпись
- •11.10.1. Проблема аутентификации данных и эцп
- •12.Однонаправленные хэш-функции
- •Основы построения хэш-функций
- •Однонаправленные хэш-функции на основе симметричных блочных алгоритмов
- •Алгоритм md5
- •Алгоритм безопасного хэширования sна
- •Отечественный стандарт хэш-функции
- •Алгоритм цифровой подписи rsа
- •Алгоритм цифровой подписи Эль Гамаля (egsa)
- •Алгоритм цифровой подписи dsа
- •Отечественный стандарт цифровой подписи
- •12. Защита от копирования
- •13.Привязка к дискете
- •Перестановка в нумерации секторов
- •Введение одинаковых номеров секторов на дорожке
- •Введение межсекторных связей
- •Изменение длины секторов
- •Изменение межсекторных промежутков
- •Использование дополнительной дорожки
- •Ведение логических дефектов в заданный сектор
- •Изменение параметров дисковода
- •Технология «ослабленных» битов
- •Физическая маркировка дискеты
- •14.Применение физического защитного устройства
- •15.«Привязка» к компьютеру
- •Физические дефекты винчестера
- •Дата создания bios и тип компьютера
- •Конфигурация системы и типы составляющих ее устройств
- •Получение инженерной информации жесткого диска
- •16.Опрос справочников
- •17.Введение ограничений на использование программного обеспечения
- •18.Методы защиты информации на cd
- •Второй метод защиты информации на cd
- •Третий метод защиты информации на cd
- •19.Краткий справочник по методам взлома и способам защиты от них Побитовое копирование
- •Эмулирование
- •20.Взлом программного модуля
- •21.Отладчики
- •Противодействие отладчикам
- •Дизассемблеры и дамперы
- •22.Шифрование программного кода
- •Дополнительные способы противодействия
- •Лекция 15-16 Защиты от несанкционированного доступа
- •23.Идентификация и аутентификация пользователя
- •Протокол идентификации и аутентификации для первой схемы
- •Протокол идентификации и аутентификации для второй схемы
- •24.Взаимная проверка подлинности пользователей
- •Механизм запроса-ответа.
- •Механизм отметки времени
- •Механизм – «рукопожатие»
- •Непрерывная проверка подлинности
- •25.Протоколы идентификации с нулевой передачей знаний
- •Упрощенная схема идентификации с нулевой передачей знаний
- •Параллельная схема идентификации с нулевой передачей знаний
12.Однонаправленные хэш-функции
Хэш-функция (англ. hash – мелко измельчать и перемешивать) предназначена для сжатия подписываемого документа до нескольких десятков или сотен бит. Хэш-функция h(·) принимает в качестве аргумента сообщение (документ) М произвольной длины и возвращает хэш-значение h(М)=Н фиксированной длины.
Обычно хэшированная информация является сжатым двоичным представлением основного сообщения произвольной длины. Следует отметить, что значение хэш-функции h(М) сложным образом зависит от документа М и не позволяет восстановить сам документ М. Хэш-функция должна удовлетворять целому ряду условий:
1. Хэш-функция должна быть чувствительна к всевозможным изменениям в тексте М, таким как вставки, выбросы, перестановки и т.п.
2. Хэш-функция должна обладать свойством необратимости, то есть задача подбора документа М', который обладал бы требуемым значением хэш-функции, должна быть вычислительно неразрешима;
3. Вероятность того, что значения хэш-функций двух различных документов (вне зависимости от их длин) совпадут, должна быть ничтожно мала.
Большинство хэш-функций строится на основе однонаправленной функции f (·), которая образует выходное значение длиной n при задании двух входных значений длиной n. Этими входами являются блок исходного текста М, и хэш-значение Нi-1 предыдущего блока текста (рис.1).
Рис.1. Построение однонаправленной хэш-функции
Нi = f(Мi, Нi-1) .
Хэш-значение, вычисляемое при вводе последнего блока текста, становится хэш-значением всего сообщения М. В результате однонаправленная хэш-функция всегда формирует выход фиксированной длины n (независимо от длины входного текста).
Основы построения хэш-функций
Общепринятым принципом построения хэш-функций является итеративная последовательная схема. По этой методики ядром алгоритма является преобразование k бит в n бит. Величина n - разрядность результата хэш-функции, а k - произвольное число, большее n. Базовое преобразование должно обладать всеми свойствами хэш-функции, т.е. необратимостью и невозможностью инвариантного изменения входных данных.
Хэширование производится с помощью промежуточной вспомогательной переменной разрядностью в n бит. В качестве ее начального значения выбирается произвольное известное всем сторонам значение, например, 0.
Входные данные разбиваются на блоки по (k-n) бит. На каждой итерации хэширования со значением промежуточной величины, полученной на предыдущей итерации, объединяется очередная (k-n)-битная порция входных данных, и над получившимся k-битным блоком производится базовое преобразование. В результате весь входной текст оказывается «перемешанным» с начальным значением вспомогательной величины. Из-за характера преобразования базовую функцию часто называют сжимающей.
Значение вспомогательной величины после финальной итерации поступает на выход хэш-функции (рис.2). Иногда над получившимся значением производят дополнительные преобразования. Но в том случае, если сжимающая функция спроектирована с достаточной степенью стойкости, эти преобразования излишни.
Рис.2. Итерактивная хэш-функция
При проектировании хэш-функции по итеративной схеме возникают два взаимосвязанных вопроса: как поступать с данными, не кратными числу (k-n), и как добавлять в хэш-сумму длину документа, если это требуется. Есть два варианта решения этих вопросов.
В первом варианте в начало документа перед хэшированием добавляется поле фиксированной длины (например, 32 бита), в котором в двоичном виде записывается исходная длина текста. Затем объединенный блок данных дополняется нулями до ближайшего кратного (k-n) бит размера.
Во втором варианте документ дополняется справа одним битом "1", а затем до кратного (k-n) бит размера битами "0". В этом варианте необходимость в поле длины отпадает - никакие два разных документа после выравнивания по границе порций не станут одинаковыми.
Кроме более популярных однопроходных алгоритмов хэширования существуют и многопроходные алгоритмы. В этом случае входной блок данных на этапе расширения неоднократно повторяется, а уже затем дополняется до ближайшей границы порции.