- •1. Понятие информационной безопасности
- •2. Важность и сложность проблемы информационной безопасности
- •3. Основные составляющие информационной безопасности
- •4. Категории информационной безопасности
- •5. Требования к политике безопасности в рамках iso
- •6. Общие сведения о стандартах серии iso 27000
- •Разработчики международных стандартов
- •Русские переводы международных стандартов
- •7. Iso 15408 - Общие критерии оценки безопасности информационных технологий
- •8. Iso 18028 - Международные стандарты сетевой безопасности серии
- •Iso/iec 18028-1:2006 Информационные технологии. Методы обеспечения безопасности. Сетевая ит безопасность. Управление сетевой безопасностью.
- •Iso/iec 18028-5:2006 Информационные технологии. Методы обеспечения безопасности. Защита сетевых взаимодействий при помощи Виртуальных Частных Сетей
- •9. Российские стандарты гост
- •10. Модель сетевого взаимодействия
- •11. Модель безопасности информационной системы
- •12. Классификация криптоалгоритмов
- •13. Алгоритмы симметричного шифрования
- •14. Криптоанализ
- •Дифференциальный и линейный криптоанализ
- •15. Используемые критерии при разработке алгоритмов
- •16. Сеть Фейштеля
- •17. Алгоритм des Принципы разработки
- •Проблемы des
- •18. Алгоритм idea
- •Принципы разработки
- •Криптографическая стойкость
- •21. Создание случайных чисел
- •22. Требования к случайным числам
- •Случайность
- •Непредсказуемость
- •Источники случайных чисел
- •Генераторы псевдослучайных чисел
- •Криптографически созданные случайные числа
- •Циклическое шифрование
- •Режим Output Feedback des
- •Генератор псевдослучайных чисел ansi x9.17
- •23. Разработка Advanced Encryption Standard (aes) Обзор процесса разработки aes
- •Обзор финалистов
- •Критерий оценки
- •Запасной алгоритм
- •Общая безопасность
- •25. Основные способы использования алгоритмов с открытым ключом
- •Алгоритм rsa
- •27. Алгоритм обмена ключа Диффи-Хеллмана
- •28. Транспортное кодирование
- •29. Архивация
- •Требования к хэш-функциям
- •31. Цифровая подпись Требования к цифровой подписи
- •Прямая и арбитражная цифровые подписи
- •32. Симметричное шифрование, арбитр видит сообщение:
- •33. Симметричное шифрование, арбитр не видит сообщение:
- •34. Шифрование открытым ключом, арбитр не видит сообщение:
- •35. Стандарт цифровой подписи dss
- •Подход dss
- •36. Отечественный стандарт цифровой подписи гост 3410
- •37. Алгоритмы распределения ключей с использованием третьей доверенной стороны Понятие мастер-ключа
- •38. Протоколы аутентификации
- •Взаимная аутентификация
- •39. Элементы проектирования защиты сетевого периметра.
- •40. Брандмауэр и маршрутизатор.
- •41. Брандмауэр и виртуальная частная сеть.
- •42. Многоуровневые брандмауэры.
- •43. Прокси-брандмауэры.
- •44.Типы прокси.
- •46.Недостатки прокси-брандмауэров.
- •48. Виртуальные локальные сети.
- •49. Границы виртуальных локальных сетей.
- •50. Частные виртуальные локальные сети.
- •51. Виртуальные частные сети.
- •52. Основы построения виртуальной частной сети.
- •53. Основы методологии виртуальных частных сетей.
- •54. Туннелирование.
- •55. Защита хоста.
- •56. Компьютерные вирусы
- •Структура и классификация компьютерных вирусов
- •2.3.3. Механизмы вирусной атаки
- •58. Протокол ррр рар
- •59. Протокол ррр chap
- •60. Протокол ррр еар
- •68. Виртуального удаленного доступа
- •69. Сервис Директории и Служб Имен
- •70. По и информационная безопасность
- •71. Комплексная система безопасности. Классификация информационных объектов
15. Используемые критерии при разработке алгоритмов
Принимая во внимание перечисленные требования, обычно считается, что алгоритм симметричного шифрования должен:
Манипулировать данными в больших блоках, предпочтительно размером 16 или 32 бита.
Иметь размер блока 64 или 128 бит.
Иметь масштабируемый ключ до 256 бит.
Использовать простые операции, которые эффективны на микропроцессорах, т.е. исключающее или, сложение, табличные подстановки, умножение по модулю. Не должно использоваться сдвигов переменной длины, побитных перестановок или условных переходов.
Должна быть возможность реализации алгоритма на 8-битном процессоре с минимальными требованиями к памяти.
Использовать заранее вычисленные подключи. На системах с большим количеством памяти эти подключи могут быть заранее вычислены для ускорения работы. В случае невозможности заблаговременного вычисления подключей должно произойти только замедление выполнения. Всегда должна быть возможность шифрования данных без каких-либо предварительных вычислений.
Состоять из переменного числа итераций. Для приложений с маленькой длиной ключа нецелесообразно применять большое число итераций для противостояния дифференциальным и другим атакам. Следовательно, должна быть возможность уменьшить число итераций без потери безопасности (не более чем уменьшенный размер ключа).
По возможности не иметь слабых ключей. Если это невозможно, то количество слабых ключей должно быть минимальным, чтобы уменьшить вероятность случайного выбора одного из них. Тем не менее, все слабые ключи должны быть заранее известны, чтобы их можно было отбраковать в процессе создания ключа.
Задействовать подключи, которые являются односторонним хэшем ключа. Это дает возможность использовать большие парольные фразы в качестве ключа без ущерба для безопасности.
Не иметь линейных структур, которые уменьшают комплексность и не обеспечивают исчерпывающий поиск.
Использовать простую для понимания разработку. Это дает возможность анализа и уменьшает закрытость алгоритма.
Большинство блочных алгоритмов основано на использовании сети Фейштеля, все имеют плоское пространство ключей, с возможным исключением нескольких слабых ключей.
16. Сеть Фейштеля
Сетью Фейштеля называется метод обратимых преобразований текста, при котором значение, вычисленное от одной из частей текста, накладывается на другие части. Часто структура сети выполняется таким образом, что для шифрования и дешифрования используется один и тот же алгоритм – различие состоит только в порядке использования материала ключа.
Сеть Фейштеля является дальнейшей модификацией метода смешивания текущей части шифруемого блока с результатом некоторой функции, вычисленной от другой независимой части того же блока. Эта методика получила широкое распространение, поскольку обеспечивает выполнение требования о многократном использовании ключа и материала исходного блока информации.
Независимые потоки информации, порожденные из исходного блока, называются ветвями сети. В классической схеме их две. Величины Vi именуются параметрами сети, обычно это функции от материала ключа. Функция F называется образующей. Действие, состоящее из однократного вычисления образующей функции и последующего наложения ее результата на другую ветвь с обменом их местами, называется циклом или раундом (англ. round) сети Фейштеля. Оптимальное число раундов K – от 8 до 32. Важно то, что увеличение количества раундов значительно увеличивает криптоскойстость любого блочного шифра к криптоанализу. Возможно, эта особенность и повлияла на столь активное распространение сети Фейштеля – ведь при обнаружении, скажем, какого-либо слабого места в алгоритме, почти всегда достаточно увеличить количество раундов на 4-8, не переписывая сам алгоритм. Часто количество раундов не фиксируется разработчиками алгоритма, а лишь указываются разумные пределы (обязательно нижний, и не всегда – верхний) этого параметра.
Сразу же возникает вопрос, – является ли данная схема обратимой ? Очевидно, да. Сеть Фейштеля обладает тем свойством, что даже если в качестве образующей функции F будет использовано необратимое преобразование, то и в этом случае вся цепочка будет восстановима. Это происходит вследствие того, что для обратного преобразования сети Фейштеля не нужно вычислять функцию F-1.
Более того, как нетрудно заметить, сеть Фейштеля симметрична. Использование операции XOR, обратимой своим же повтором, и инверсия последнего обмена ветвей делают возможным раскодирование блока той же сетью Фейштеля, но с инверсным порядком параметров Vi. Заметим, что для обратимости сети Фейштеля не имеет значение является ли число раундов четным или нечетным числом. В большинстве реализаций схемы, в которых оба вышеперечисленные условия (операция XOR и уничтожение последнего обмена) сохранены, прямое и обратное преобразования производятся одной и той же процедурой, которой в качестве параметра передается вектор величин Vi либо в исходном, либо в инверсном порядке.
С незначительными доработками сеть Фейштеля можно сделать и абсолютно симметричной, то есть выполняющей функции шифрования и дешифрования одним и тем же набором операций. Математическим языком это записывается как "Функция EnCrypt тождественно равна функции DeCrypt". Если мы рассмотрим граф состояний криптоалгоритма, на котором точками отмечены блоки входной и выходной информации, то при каком-то фиксированном ключе для классической сети Фейштеля мы будем иметь картину, изображенную на рис.2а, а во втором случае каждая пара точек получит уникальную связь, как изображено на рис. 2б. Модификация сети Фейштеля, обладающая подобными свойствами приведена на рисунке 3. Как видим, основная ее хитрость в повторном использовании данных ключа в обратном порядке во второй половине цикла. Необходимо заметить, однако, что именно из-за этой недостаточно исследованной специфики такой схемы (то есть потенциальной возможности ослабления зашифрованного текста обратными преобразованиями) ее используют в криптоалгоритмах с большой осторожностью.