35
ПРАКТИЧЕСКАЯ КРИПТОГРАФИЯ Старший преподаватель кафедры Информационной безопасности и теории управления Ульяновского государственного университета Правительство Ульяновской области ОГБУ «Электронный Ульяновск» Заместитель директора Клочков Андрей Евгеньевич [email protected]

улгу крипто

Embed Size (px)

Citation preview

Page 1: улгу крипто

ПРАКТИЧЕСКАЯ КРИПТОГРАФИЯ

Старший преподаватель кафедры Информационной безопасности и теории управления Ульяновского государственного университета

Правительство Ульяновской области

ОГБУ «Электронный Ульяновск»

Заместитель директора

Клочков Андрей Евгеньевич

[email protected]

Page 2: улгу крипто

Термины• Криптогра= фия (от др.-греч. κρυπτός — скрытый и γράφω — пишу) —

наука о методах обеспечения конфиденциальности (невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства, а также невозможности отказа от авторства) информации.

• Изначально криптография изучала методы шифрования информации — обратимого преобразования открытого (исходного) текста на основе секретного алгоритма или ключа в шифрованный текст (шифротекст). Традиционная криптография образует раздел симметричных криптосистем, в которых зашифрование и расшифрование проводится с использованием одного и того же секретного ключа.

• Помимо этого раздела современная криптография включает в себя асимметричные криптосистемы, системы электронной цифровой подписи (ЭЦП), хеш-функции, управление ключами, получение скрытой информации, квантовую криптографию.

Page 3: улгу крипто

История• Первый период (приблизительно с 3-го тысячелетия

до н. э.) характеризуется господством моноалфавитных шифров (основной принцип — замена алфавита исходного текста другим алфавитом через замену букв другими буквами или символами).

Page 4: улгу крипто

Шифр Цезаря

Page 5: улгу крипто

История• Второй период (хронологические рамки — с IX века на Ближнем Востоке

(Ал-Кинди) и с XV века в Европе (Леон Баттиста Альберти) — до начала XX века) ознаменовался введением в обиход полиалфавитных шифров.

• Суть полиалфавитного шифра заключается в циклическом применении нескольких моноалфавитных шифров к определённому числу букв шифруемого текста. Например, пусть у нас имеется некоторое сообщение x1 , x2 , x3 , ….. xn , …… x2n , ….., которое надо зашифровать. При использовании полиалфавитного шифра имеется несколько моноалфавитных шифров (например, n штук). И в нашем случае к первой букве применяется первый моноалфавитный шифр, ко второй букве — второй, к третьей — третий….. к n-ой букве — n-й, а к n+1 опять первый, ну и так далее. Таким образом, получаётся довольно-таки сложная последовательность, которую уже не так просто вскрыть, как один моноалфавитный шифр. Самым важным эффектом, достигаемым при использовании полиалфавитного шифра, является маскировка частот появления тех или иных букв в тексте, на основании которой обычно очень легко вскрываются моноалфавитные шифры.

Page 6: улгу крипто

Шифр Виженера• Шифр Виженера состоит из

последовательности нескольких шифров Цезаря с различными значениями сдвига. Для зашифровывания может использоваться таблица алфавитов, называемая tabula recta или квадрат (таблица) Виженера. Применительно к латинскому алфавиту таблица Виженера составляется из строк по 26 символов, причём каждая следующая строка сдвигается на несколько позиций. Таким образом, в таблице получается 26 различных шифров Цезаря. На каждом этапе шифрования используются различные алфавиты, выбираемые в зависимости от символа ключевого слова. Например, предположим, что исходный текст имеет вид:

Page 7: улгу крипто

Пример• Исходный текст:• ATTACKATDAWN• Человек, посылающий

сообщение, записывает ключевое слово («LEMON») циклически до тех пор, пока его длина не будет соответствовать длине исходного текста:

• LEMONLEMONLE• Исходный текст:

ATTACKATDAWN• Ключ:

LEMONLEMONLE• Зашифрованный текст:

LXFOPVEFRNHR

Page 8: улгу крипто

История• Третий период (с начала и до середины XX века)

характеризуется внедрением электромеханических устройств в работу шифровальщиков. При этом продолжалось использование полиалфавитных шифров.

Page 9: улгу крипто

Шифровальная машина «Энигма»

• Первоначальное состояние шифровального ключа Энигмы включает следующие параметры:• Расположение роторов: выбор роторов и их расположение.• Первоначальные позиции роторов: выбранные оператором, различные для каждого сообщения.• Настройка колец: позиция алфавитного кольца, совпадающая с роторной схемой.• Настройки штепселей: соединения штепселей на коммутационной панели.• Энигма была разработана таким образом, чтобы безопасность сохранялась даже в тех случаях, когда шпиону известны

роторные схемы, хотя на практике настройки хранятся в секрете. С неизвестной схемой общее количество возможных конфигураций может быть порядка 10114 (около 380 бит), с известной схемой соединений и других операционных настроек этот показатель снижается до 1023 (76 бит). Пользователи Энигмы были уверены в её безопасности из-за большого количества возможных вариантов. Нереальным было даже начать подбирать возможную конфигурацию.

Page 10: улгу крипто

История• Четвертый период — с середины до 70-х годов XX

века — период перехода к математической криптографии. В работе Шеннона появляются строгие математические определения количества информации, передачи данных, энтропии, функций шифрования. Обязательным этапом создания шифра считается изучение его уязвимости к различным известным атакам — линейному и дифференциальному криптоанализам. Однако, до 1975 года криптография оставалась «классической», или же, более корректно, криптографией с секретным ключом.

Page 11: улгу крипто

Информационная Энтропия• Информацио= нная энтропи= я — мера неопределённости

или непредсказуемости информации, неопределённость появления какого-либо символа первичного алфавита. При отсутствии информационных потерь численно равна количеству информации на символ передаваемого сообщения.

• Например, в последовательности букв, составляющих какое-либо предложение на русском языке, разные буквы появляются с разной частотой, поэтому неопределённость появления для некоторых букв меньше, чем для других.

Page 12: улгу крипто

Русский текст

Page 13: улгу крипто

История• Современный период развития криптографии (с конца

1970-х годов по настоящее время) отличается зарождением и развитием нового направления — криптография с открытым ключом. Её появление знаменуется не только новыми техническими возможностями, но и сравнительно широким распространением криптографии для использования частными лицами (в предыдущие эпохи использование криптографии было исключительной прерогативой государства). Правовое регулирование использования криптографии частными лицами в разных странах сильно различается — от разрешения до полного запрета.

Page 14: улгу крипто

Современная криптография• Для современной криптографии характерно

использование открытых алгоритмов шифрования, предполагающих использование вычислительных средств. Известно более десятка проверенных алгоритмов шифрования, которые при использовании ключа достаточной длины и корректной реализации алгоритма криптографически стойки. Распространенные алгоритмы:• симметричные DES, AES, ГОСТ 28147-89, Camellia, Twofish,

Blowfish, IDEA, RC4 и др.;• асимметричные RSA и Elgamal (Эль-Гамаль);• хэш-функций MD4, MD5, MD6, SHA-1, SHA-2, ГОСТ Р 34.11-94

(ГОСТ Р 34.11-2012 «Стрибог»).

Page 15: улгу крипто

Симметричные шифры

Алиса Боб

Вырабатывают общий ключ

Сообщение

Зашифровывание с общим ключом

Сообщение

Расшифровывание общим ключом

Сообщение

Сообщение

Page 16: улгу крипто

Ассиметричные шифры• Идея криптографии с открытым ключом очень тесно

связана с идеей односторонних функций, то есть таких функций f(x), что по известному x довольно просто найти значение f(x), тогда как определение x из f(x) невозможно за разумный срок.

• Но сама односторонняя функция бесполезна в применении: ею можно зашифровать сообщение, но расшифровать нельзя. Поэтому криптография с открытым ключом использует односторонние функции с лазейкой. Лазейка — это некий секрет, который помогает расшифровать. То есть существует такой y, что зная f(x) и y, можно вычислить x.

Page 17: улгу крипто

Ассиметричные шифры

Page 18: улгу крипто

Ассиметричные шифры

Page 19: улгу крипто

Хеширование• Хеширование (иногда «хэширование», англ. hashing)

— преобразование по детерминированному алгоритму входного массива данных произвольной длины в выходную битовую строку фиксированной длины. Такие преобразования также называются хеш-функциями или функциями свёртки, а их результаты называют хешем, хеш-кодом или сводкой сообщения (англ. message digest).

• Криптографической хеш-функцией называется всякая хеш-функция, являющаяся криптостойкой, то есть, удовлетворяющая ряду требований специфичных для криптографических приложений.

Page 20: улгу крипто

Хеширование

Page 21: улгу крипто

Электронная подпись• Электро= нная по= дпись (ЭП), Электро= нная цифровая

по= дпись (ЭЦП) — реквизит электронного документа, полученный в результате криптографического преобразования информации с использованием закрытого ключа подписи и позволяющий установить отсутствие искажения информации в электронном документе с момента формирования подписи и проверить принадлежность подписи владельцу сертификата ключа подписи.

Page 22: улгу крипто

Электронная подпись

Page 23: улгу крипто

Удостоверяющий центр, Центр сертификации

• В криптографии центр сертификации или удостоверяющий центр (англ. Certification authority, CA) — сторона (отдел, организация), чья честность неоспорима, а открытый ключ широко известен. Задача центра сертификации — подтверждать подлинность ключей шифрования с помощью сертификатов электронной подписи.

• Технически центр сертификации реализован как компонент глобальной службы каталогов, отвечающий за управление криптографическими ключами пользователей. Открытые ключи и другая информация о пользователях хранится удостоверяющими центрами в виде цифровых сертификатов, чаще всего в стандарте X.509

Page 24: улгу крипто

УЦ, ЦС• Открытые ключи и другая информация о пользователях

хранится центрами сертификации в виде цифровых сертификатов, имеющих следующую структуру:• серийный номер сертификата;• объектный идентификатор алгоритма электронной подписи;• имя удостоверяющего центра;• срок действия сертификата;• имя владельца сертификата (имя пользователя, которому принадлежит

сертификат);• открытые ключи владельца сертификата (ключей может быть

несколько);• объектные идентификаторы алгоритмов, ассоциированных с

открытыми ключами владельца сертификата;• электронная подпись, сгенерированная с использованием секретного

ключа удостоверяющего центра (подписывается результат хэширования всей информации, хранящейся в сертификате).

Page 25: улгу крипто

«ГЕНЕРАЦИЯ СЛУЧАЙНЫХ ЧИСЕЛ СЛИШКОМ ВАЖНА, ЧТОБЫ ОСТАВЛЯТЬ ЕЁ НА ВОЛЮ СЛУЧАЯ».

Роберт Кавью

Национальная лаборатория Оук-Ридж

Page 26: улгу крипто

Генераторы псевдослучайных чисел

• Генератор псевдослучайных чисел (ГПСЧ, англ. Pseudorandom number generator, PRNG) — алгоритм, порождающий последовательность чисел, элементы которой почти независимы друг от друга и подчиняются заданному распределению (обычно равномерному).

• Современная информатика широко использует псевдослучайные числа в самых разных приложениях — от метода Монте-Карло и имитационного моделирования до криптографии. При этом от качества используемых ГПСЧ напрямую зависит качество получаемых результатов.

Page 27: улгу крипто

Источники случайных чисел• Источники настоящих случайных чисел найти трудно. Физические шумы, такие как

детекторы событий ионизирующей радиации, дробовой шум в резисторе или космическое излучение могут быть такими источниками. Однако применяются такие устройства в приложениях сетевой безопасности редко. Сложности также вызывают грубые атаки на подобные устройства.

• Криптографические приложения используют для генерации случайных чисел особенные алгоритмы. Эти алгоритмы заранее определены и, следовательно, генерируют последовательность чисел, которая теоретически не может быть статистически случайной. В то же время, если выбрать хороший алгоритм, полученная численная последовательность будет проходить большинство тестов на случайность. Такие числа называют псевдослучайными числами.

• Альтернативным решением является создание набора из большого количества случайных чисел и опубликование его в некотором словаре, называемом «одноразовым блокнотом». Тем не менее, и такие наборы обеспечивают очень ограниченный источник чисел по сравнению с тем количеством, которое требуется приложениям сетевой безопасности. Хотя данные наборы действительно обеспечивают статистическую случайность, они недостаточно безопасны, так как злоумышленник может получить копию словаря.

Page 28: улгу крипто

Тестирование случайных последовательностей

• Генераторы случайных и псевдослучайных чисел являются связующим звеном в обеспечении информационной безопасности. В некотором смысле это жизненно важные строительные блоки криптографических алгоритмов и протоколов. Поскольку такие генераторы применяются во многих криптографических задачах, например формирование случайных параметров и ключей систем шифрования, то требования, предъявляемые к ним, оказываются достаточно высокими.

• В частности, одним из критериев абсолютно произвольной двоичной последовательности, получаемой на выходе генератора, является невозможность её предсказания в отсутствие какой-либо информации о данных, подаваемых на вход генератора. Поэтому на практике статистические тесты проводят для проверки случайного характера бинарной последовательности, формируемой генератором случайных или псевдослучайных чисел. Что в свою очередь позволяет выявить генераторы, заранее удовлетворяющие требованиям конкретной криптографической задачи.

Page 29: улгу крипто

Асинхронные таймеры

Page 30: улгу крипто

Источник энтропии с RC-цепью

Page 31: улгу крипто

Источник энтропии на АЦП

Page 32: улгу крипто
Page 33: улгу крипто
Page 34: улгу крипто
Page 35: улгу крипто

Вопросы• Клочков Андрей

[email protected]