улгу крипто

Post on 27-Jun-2015

288 Views

Category:

Education

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

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

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

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

a.e.klochkov@ya.ru

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

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

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

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

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

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

Шифр Цезаря

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

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

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

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

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

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

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

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

ATTACKATDAWN• Ключ:

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

LXFOPVEFRNHR

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Алиса Боб

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

Сообщение

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

Сообщение

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

Сообщение

Сообщение

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

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

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

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

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

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

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

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

Хеширование

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

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

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

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

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

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

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

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

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

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

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

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

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

Роберт Кавью

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• a.e.klochkov@ya.ru

top related