- •Защита информации в компьютерных системах
- •Информационная безопасность
- •1. Системы идентификации и аутентификации пользователей
- •2. Системы шифрования дисковых данных
- •3. Системы шифрования данных, передаваемых по сетям
- •4. Системы аутентификации электронных данных
- •5. Средства управления криптографическими ключами
- •"Оранжевая книга" сша
- •Основные элементы политики безопасности
- •Произвольное управление доступом
- •Безопасность повторного использования объектов
- •Метки безопасности
- •Принудительное управление доступом
- •Классы безопасности
- •Требования к политике безопасности
- •Произвольное управление доступом:
- •Повторное использование объектов:
- •Метки безопасности:
- •Целостность меток безопасности:
- •Принудительное управление доступом:
- •Требования к подотчетности Идентификация и аутентификация:
- •Предоставление надежного пути:
- •Требования к гарантированности Архитектура системы:
- •Верификация спецификаций архитектуры:
- •Конфигурационное управление:
- •Тестовая документация:
- •Описание архитектуры:
- •Простые криптосистемы
- •Стандарт шифрования данных Data Encryption Standard
- •Режимы работы алгоритма des
- •Алгоритм шифрования данных idea
- •Отечественный стандарт шифрования данных
- •Электронная цифровая подпись
- •1. Проблема аутентификации данных и электронная цифровая подпись
- •2. Однонаправленные хэш-функции
- •Основы построения хэш-функций
- •Однонаправленные хэш-функции на основе симметричных блочных алгоритмов
- •Алгоритм md5
- •Алгоритм безопасного хэширования sна
- •Отечественный стандарт хэш-функции
- •3. Алгоритмы электронной цифровой подписи
- •Алгоритм цифровой подписи rsа
- •Алгоритм цифровой подписи Эль Гамаля (еgsа)
- •Алгоритм цифровой подписи dsа
- •Отечественный стандарт цифровой подписи
- •Пользователь а вычисляет значения
- •Пользователь в проверяет полученную подпись, вычисляя
- •Литература
- •Романец ю.В., Тимофеев п.А., Шаньгин в.Ф. Защита информации в компьютерных системах и сетях. Под ред. В.Ф. Шаньгина. - 2-е изд., перераб. И доп. - м.: Радио и связь, 2001. - 376 с.: ил.
- •Конеев и.Р., Беляев а.В. Информационная безопасность предприятия. - сПб.: бхв-Петербург, 2003. Защита от копирования
- •Привязка к дискете
- •Перестановка в нумерации секторов
- •Введение одинаковых номеров секторов на дорожке
- •Введение межсекторных связей
- •Изменение длины секторов
- •Изменение межсекторных промежутков
- •Использование дополнительной дорожки
- •Ведение логических дефектов в заданный сектор
- •Изменение параметров дисковода
- •Технология "ослабленных" битов
- •Физическая маркировка дискеты
- •Применение физического защитного устройства
- •"Привязка" к компьютеру.
- •Физические дефекты винчестера
- •Дата создания bios
- •Версия используемой os
- •Серийный номер диска
- •Тип компьютера
- •Конфигурация системы и типы составляющих ее устройств
- •Получение инженерной информации жесткого диска
- •Опрос справочников
- •Введение ограничений на использование программного обеспечения
- •Защита cd от копирования
- •Сравнение различных защит.
- •Краткий справочник по методам взлома и способам защиты от них (1) Взлом копированием и эмулированием
- •(2) Взлом программного модуля
- •Дополнительные способы противодействия
- •Защиты от несанкционированного доступа
- •Идентификация и аутентификация пользователя
- •Взаимная проверка подлинности пользователей
- •Литература
- •Защита исходных текстов и двоичного кода
- •Противодействие изучению исходных текстов
- •Динамическое ветвление
- •Контекстная зависимость
- •Противодействие анализу двоичного кода
- •Заключение
- •Литература
- •Три ключа
- •Средства отладки и взлома программ
- •Отладчики реального режима
- •Отладчики защищенного режима
- •Эмуляторы
- •Автоматические распаковщики
- •Дизасемблеры
- •Прочие программы
- •Отладчик SoftIce
- •1. Загрузка отлаживаемой программы
- •2. Управление SoftIce'ом
- •3. Трассировка программы
- •4. Просмотр локальных переменных
- •5. Установка точек останова на выполнение
- •6. Использование информационных команд
- •7. Символьные имена
- •8. Условные точки останова
- •Как заставить SoftIce pаботать?
- •Как заставить SoftIce/Win/w95 pаботать?
Алгоритм безопасного хэширования sна
Алгоритм безопасного хэширования SНА (Secure Hash Algorithm) разработан НИСТ и АНБ США в рамках стандарта безопасного хэширования SHS (Secure Hash Standard) в 1992 г. Алгоритм хэширования SНА предназначен для использования совместно с алгоритмом цифровой подписи DSА.
При вводе сообщения М произвольной длины менее 264 бит алгоритм SНА вырабатывает 160-битовое выходное сообщение, называемое дайджестом сообщения МD (Message Digest). Затем этот дайджест сообщения используется в качестве входа алгоритма DSА, который вычисляет цифровую подпись сообщения М. Формирование цифровой подписи для дайджеста сообщения, а не для самого сообщения повышает эффективность процесса подписания, поскольку дайджест сообщения обычно намного короче самого сообщения.
Такой же дайджест сообщения должен вычисляться пользователем, проверяющим полученную подпись, при этом в качестве входа в алгоритм SНА используется полученное сообщение М.
Алгоритм хэширования SНА назван безопасным, потому что он спроектирован таким образом, чтобы было вычислительно невозможно восстановить сообщение, соответствующее данному дайджесту, а также найти два различных сообщения, которые дадут одинаковый дайджест. Любое изменение сообщения при передаче с очень большой вероятностью вызовет изменение дайджеста, и принятая цифровая подпись не пройдет проверку.
Рассмотрим подробнее работу алгоритма хэширования SНА. Прежде всего исходное сообщение М дополняют так, чтобы оно стало кратным 512 битам. Дополнительная набивка сообщения выполняется следующим образом: сначала добавляется единица, затем следуют столько нулей, сколько необходимо для получения сообщения, которое на 64 бита короче, чем кратное 512, и наконец добавляют 64-битовое представление длины исходного сообщения.
Инициализируется пять 32-битовых переменных в виде:
А = 0х67452301
В = 0хЕFСDАВ89
С = 0х98ВАDСFЕ
D = 0x10325476
Е = 0хС3D2Е1F0
Затем начинается главный цикл алгоритма. В нем обрабатывается по 512 бит сообщения поочередно для всех 512-битовых блоков, имеющихся в сообщении. Первые пять переменных А, В, С, D, Е копируются в другие переменные a, b, с, d, е:
а = А, b = В, с = С, d = D, е = Е
Главный цикл содержит четыре цикла по 20 операций каждый. Каждая операция реализует нелинейную функцию от трех из пяти переменных а, b, с, d, е, а затем производит сдвиг и сложение.
Алгоритм SНА имеет следующий набор нелинейных функций:
ft (Х, Y, Z) = (X Y) (( X) Z) для t = 0...19,
ft (Х, Y, Z) =Х Y Z для t = 20...39,
ft (Х, Y, Z) = (X Y) (X Z) (Y Z) для t = 40...59,
ft (Х, Y, Z) = Х Y Z для t = 60...79,
где t - номер операции.
В алгоритме используются также четыре константы:
Кt = 0х5А827999 для t = 0...19,
Кt = 0х6ЕD9ЕВА1 для t = 20...39,
Кt = 0х8F1ВВСDС для t = 40...59,
Кt = 0хСА62С1D6 для t = 60...79.
Блок сообщения преобразуется из шестнадцати 32-битовых слов (М0...М15) в восемьдесят 32-битовых слов(W0...W79) с помощью следующего алгоритма:
Wt = Мt для t = 0...15,
Wt = (Wt-3 Wt-8 Wt-14 Wt-16) <<< 1 для t = 16...79,
где t - номер операции, Wt - t-й субблок расширенного сообщения, <<< S - циклический сдвиг влево на S бит.
С учетом введенных обозначений главный цикл из восьмидесяти операций можно описать так:
цикл по t от 0 до 79
ТЕМР = (а <<< 5) + ft (b, c, d) + е + Wt + Кt
е = d
d = с
с = (b <<< 30)
b = а
а = ТЕМР
конец_цикла
Схема выполнения одной операции показана на рис.5.
Рис.5.
Схема выполнения одной операции алгоритма
SHA
После окончания главного цикла значения а, b, с, d, е складываются с А, В, С, D, Е соответственно, и алгоритм приступает к обработке следующего 512-битового блока данных. Окончательный выход формируется в виде конкатенации значений А, В, С, D, Е.
Отличия SHA от MD5 состоят в следующем:
SНА выдает 160-битовое хэш-значение, поэтому он более устойчив к атакам полного перебора и атакам "дня рождения", чем MD5, формирующий 128-битовые хэш-значения.
Сжимающая функция SHA состоит из 80 шагов, а не из 64 как в MD5.
Расширение входных данных производится не простым их повторение в другом порядке, а рекуррентной формулой.
Усложнен процесс перемешивания
