- •Защита информации в компьютерных системах
- •Информационная безопасность
- •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аботать?
Алгоритм md5
Алгоритм MD5 (Message Digest №5) разработан Роналдом Риверсом. MD5 использует 4 многократно повторяющиеся преобразования над тремя 32-битными величинами U, V и W:
f(U,V,W)=(U AND V) OR ((NOT U) AND W)
g(U,V,W)=(U AND W) OR (V AND (NOT W))
h(U,V,W)=U XOR V XOR W
k(U,V,W)=V XOR (U OR (NOT W)).
В алгоритме используются следующие константы:
начальные константы промежуточных величин -
H[0]=6745230116, H[1]=EFCDAB8916, H[2]=98BADCFE16, H[3]=1032547616;
константы сложения в раундах -
y[j]=HIGHEST_32_BITS(ABS(SIN(j+1))) j=0...63,
где функция HIGHEST_32_BITS(X) отделяет 32 самых старших бита из двоичной записи дробного числа X, а операнд SIN(j+1) считается взятым в радианах;
массив порядка выбора ячеек в раундах -
z[0...63] = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1, 6, 11, 0, 5, 10, 15, 4, 9, 14, 3, 8, 13, 2, 7, 12,
5, 8, 11, 4, 1, 4, 7, 10, 13, 0, 3, 6, 9, 12, 15, 2,
0, 7, 14, 5, 12, 3, 10, 1, 8, 15, 6, 13, 4, 11, 2, 9);
массив величины битовых циклических сдвигов влево -
s[0...63] = (7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22,
5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20,
4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23,
6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21).
На первоначальном этапе входной блок данных дополняется одним битом "1". Затем к нему добавляется такое количество битов "0", чтобы остаток от деления блока на 512 составлял 448. Наконец, к блоку добавляется 64-битная величина, хранящая первоначальную длину документа. Получившийся входной поток имеет длину кратную 512 битам.
Каждый 512-битный блок, представленный в виде 16 32-битных значений X[0]...X[15], проходит через сжимающую функцию, которая перемешивает его со вспомогательным блоком (H[0],H[1],H[2],H[3]):
(A,B,C,D) = (H[0],H[1],H[2],H[3])
цикл по j от 0 до 15
T = (A + f(B,C,D) + x[z[j]] + y[j]) ROL s[j]
(A,B,C,D) = (D,B+T,B,C)
конец_цикла
цикл по j от 16 до 31
T = (A + g(B,C,D) + x[z[j]] + y[j]) ROL s[j]
(A,B,C,D) = (D,B+T,B,C)
конец_цикла
цикл по j от 32 до 47
T = (A + h(B,C,D) + x[z[j]] + y[j]) ROL s[j]
(A,B,C,D) = (D,B+T,B,C)
конец_цикла
цикл по j от 48 до 63
T = (A + k(B,C,D) + x[z[j]] + y[j]) ROL s[j]
(A,B,C,D) = (D,B+T,B,C)
конец_цикла
(H[0],H[1],H[2],H[3]) = (H[0]+A,H[1]+B,H[2]+C,H[3]+D)
После того, как все 512-битные блоки прошли через процедуру перемешивания, временные переменные H[0],H[1],H[2],H[3], а 128-битное значение подается на выход хэш-функции.
Алгоритм MD5, основанный на предыдущей разработке Роналда Риверса MD4, был призван дать еще больший запас прочности к криптоатакам. MD5 очень похож на MD4. Отличие состоит в простейших изменениях в алгоритмах наложения и в том, что в MD4 48 проходов основного преобразования, а в MD5 - 64. Несмотря на большую популярность, MD4 "медленно, но верно" был взломан. Сначала появились публикации об атаках на упрощенный алгоритм. Затем было заявлено о возможности найти два входных блока сжимающей функции MD4, которые порождают одинаковый выход. Наконец, в 1995 году было показано, что найти коллизию, т.е. "хэш-двойник" к произвольному документу, можно менее чем за минуту, а добиться "осмысленности" фальшивого документа (т.е. наличия в нем только ASCII-символов с определенными "разумными" законами расположения) - всего лишь за несколько дней.
