Криптографические основы безопасности Информация о курсе Курс предполагает изучение методологических и алгоритмических основ и стандартов криптографической защиты информации
СодержаниеОсновные понятия и определения Модель сетевой безопасности II. Активная атака Отказ в обслуживании Сервисы безопасности Механизмы безопасности Модель сетевого взаимодействия Модель безопасности информационной системы Атака на сервисы, чтобы помешать использовать их. Вирусы и черви - примеры подобных атак Сервисы безопасности 2. Лекция: Алгоритмы симметричного шифрования. Часть 1 Основные понятия Области применения Дополнительные требования Сеть Фейштеля Сеть Фейштеля Дифференциальный и линейный криптоанализ Дифференциальный криптоанализ Используемые критерии при разработке алгоритмов Алгоритм DES Начальная перестановка Последовательность преобразований отдельного раунда Создание подключей Проблемы DES DES. Основой алгоритма являются восемь таблиц подстановки, или S-boxes Алгоритм тройной DES Недостатки двойного DES Атака "встреча посередине" Тройной DES с двумя ключами Тройной DES Алгоритм Blowfish Функция F Генерация подключей S-boxes, выходами соответствующим образом модифицированного алгоритма Blowfish Алгоритм IDEA Принципы разработки Криптографическая стойкость Длина ключа Алгоритм IDEA Последовательность преобразований отдельного раунда Раунд начинается с преобразования, которое комбинирует четыре входных подблока с четырьмя подключами Создание подключей Алгоритм ГОСТ 28147 S-boxes в открытой печати не публиковалась. В настоящее время известны S-boxes 1-ый S-box 2-ой S-box 3-ий S-box 4-ый S-box 5-ый S-box 6-ой S-box 7-ой S-box 8-ой S-box Режимы выполнения алгоритмов симметричного шифрования Режим ECB Режим CBC Режим CFB Режим OFB OFB в том, что он более уязвим к атакам модификации потока сообщений, чем CFB Создание случайных чисел Требования к случайным числам Источники случайных чисел Генераторы псевдослучайных чисел Криптографически созданные случайные числа Циклическое шифрование Режим Output Feedback DES Генератор псевдослучайных чисел ANSI X9.17 Разработка Advanced Encryption Standard (AES) Историческая справка AES на первой конференции кандидатов AES Обзор финалистов AES было предложено использовать 20 раундов. Функция раунда в RC6 Критерий оценки Результаты второго этапа обсуждения Процесс выбора Методология и результаты выбора Качественный или количественный критерий Количество алгоритмов AES Запасной алгоритм Модификация алгоритмов Технические детали второго этапа обсуждений Алгоритм, раунды Байты памяти MARS Существует много способов упростить MARS RC6 Известны две атаки на варианты RC6 Serpent Используется amplified boomerang технология для создания 7 раундов отличий в Serpent Twofish Обнаружены две атаки на варианты Twofish Twofish с помощью простого уменьшения числа раундов RC6, в зависимости от длины ключа MARS не исследована. Как раунд перемешивания, так и раунд ядра основаны на сети Фейштеля со значительными изменениями. MARS MARS и разнообразие операций обеспечивают защиту от неизвестных атак. Управление ключом в MARS Twofish называется свойством разделения ключа. Зависимость S-boxes в Twofish MARS реализует два различных типа раунда. MARS Программные реализации Таблица 5.1. Выполнение шифрования и дешифрования на различных платформах 64 бита (С и ассемблер) Цифровые сигнальные процессоры Таблица 5.2. Выполнение управления ключом в зависимости от платформы 64 бита (С и ассемблер) Шифрование/ дешифрование MARS обеспечивает среднее выполнение для шифрования, дешифрования и установления ключа. RC6 Окружения с ограничениями пространства MARS имеет проблемы в окружениях с ограниченными ресурсами Serpent, используя 80 байт RAM и вычисляя подключи на лету. Twofish: существует несколько возможных режимов реализации Twofish Профили финалистов MARS зависит от используемой длины ключа. Шифрование vs. дешифрование MARS при шифровании и дешифровании существенно не изменяется. Свойства ключа RC6 при шифровании и дешифровании существенно не отличается. Свойства ключа RC6 поддерживает размер ключа намного больше 256 бит. Rijndael Общая безопасность Serpent при шифровании и дешифровании отличается несущественно. Свойства ключа Заключительные оценки финалистов Общая безопасность Программные реализации Окружения с ограничениями пространства Serpent имеет низкие требования к RAM и ROM и очень хорошо соответствует окружениям с ограничениями пространства MARS недостаточно соответствует окружению с ограничениями пространства Аппаратные реализации RC6 и Twofish Шифрование vs. дешифрование Свойства ключа Другие возможности настройки Serpent поддерживает любую длину ключа более 256 бит, и bitslice-реализация может обеспечить его выполнение на многих процессора AES алгоритма в результате длительного и сложного процесса оценки специалисты NIST выбрали Rijndael Алгоритм Rijndael Поле GF(2) Полиномы с коэффициентами из GF Обоснование разработки Спецификация алгоритма Состояние, ключ шифрования и число раундов Таблица 6.1. Число раундов как функция от длины блока и длины ключа Преобразование раунда Создание ключей раунда Алгоритм шифрования Преимущества алгоритма Различная длина блока и ключа шифрования Другие возможности Генератор псевдослучайных чисел Алгоритм RC6 Основные требования к алгоритмам асимметричного шифрования Криптоанализ алгоритмов с открытым ключом Основные способы использования алгоритмов с открытым ключом Обмен ключей Шифрование / дешифрование Алгоритм RSA Описание алгоритма Закрытый ключ Открытый ключ Вычислительные аспекты Создание ключей Обсуждение криптоанализа Алгоритм обмена ключа Диффи-Хеллмана Общеизвестные элементы Создание пары ключей пользователем I Создание общего секретного ключа пользователем I Создание общего секретного ключа пользователем J Требования к хэш-функциям Простые хэш-функции "Парадокс дня рождения" Использование цепочки зашифрованных блоков Хэш-функция MD5 Алгоритм MD4 MD5 использует четыре элементарные логические функции, по одной на каждом цикле, по сравнению с тремя в MD4, по одной на каждом Усиление алгоритма в MD5 Хэш-функция SHA-1 Логика выполнения SHA-1 Номер цикла Сравнение SHA-1 и MD5 Архитектуры little-endian и big-endian Хэш-функции SHA-2 Длина блока (в битах) Безопасность (в битах) Хэш-функция ГОСТ 3411 Алгоритм обработки одного блока сообщения Логика выполнения ГОСТ 3411 Коды аутентификации сообщений - МАС МАС на основе алгоритма симметричного шифрования MAC = МАСN МАС на основе хэш-функции Требования к цифровой подписи Цифровая подпись Прямая и арбитражная цифровые подписи Симметричное шифрование, арбитр видит сообщение Симметричное шифрование, арбитр не видит сообщение Шифрование открытым ключом, арбитр не видит сообщение Стандарт цифровой подписи DSS Подход DSS Алгоритм цифровой подписи Общие компоненты группы пользователей Закрытый ключ отправителя Открытый ключ отправителя Случайное число, уникальное для каждой подписи. Проверка подписи Отечественный стандарт цифровой подписи ГОСТ 3410 DSS используется SHA-1, которые имеют разную длину хэш-кода. Отсюда и разные требования на длину простого числа q: в ГОСТ 3410 Математические понятия Аналог алгоритма Диффи-Хеллмана обмена ключами Алгоритм цифровой подписи на основе эллиптических кривых ECDSA Шифрование/дешифрование с использованием эллиптических кривых Алгоритмы распределения ключей с использованием третьей доверенной стороны Протоколы аутентификации Взаимная аутентификация Отметки времени KDC, включает также возможность аутентификации KDC отвечает сообщением, зашифрованным ключом KА. Таким образом, только А может расшифровать сообщение, и А уверен, что оно полу Протокол Деннинга KDC. Другая альтернатива, при которой нет необходимости всем синхронизировать часы, состоит в доверии протоколам рукопожатия, ис KDC, что необходим ключ сессии KDC. Блок служит билетом, который может быть использован А для последующих аутентификаций KDC, что хочет установить безопасное соединение с B. KDC KDC на шагах 5 и 6 для идентификации обоих участников сессии. Это включение IDA приводит к тому, что значение nonce Односторонняя аутентификация