Принципи криптографічного захисту інформації

Автор: Пользователь скрыл имя, 12 Марта 2013 в 19:22, лекция

Описание работы

1. Основні концепції шифрування
2. Цифрові підписи
3. Управління ключами

Работа содержит 1 файл

lec_5.docx

— 436.99 Кб (Скачать)

Носов В.В. "Безпека інформаційних та комунікаційних систем"

Лекція 5. Принципи криптографічного захисту інформації

Навчальні питання

1. Основні концепції шифрування

2. Цифрові підписи

3. Управління ключами

 

Література

  1. Э. Мэйволд. Безопасность сетей. Серия: Шаг за шагом. Издательство: Эком, 2006, с. 528.
  2. Шаньгин В.Ф. Информационная безопасность компьютерных систем и сетей: учеб. пособие. - М. ИД "Форум"; ИНФРА-М, 2008. - 416 с.

 

Вступ

Практически все сервисы безопасности, упомянутые в ITU-T Rec. X.805, опираются на криптографические преобразования, поэтому для понимания механизмов их функционирования вспомним основные принципы криптографической защиты информации.

  1. Основні концепції шифрування

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

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

С помощью шифрования обеспечиваются три состояния безопасности информации.

Конфиденциальность. Шифрование используется для сокрытия информации от неавторизованных пользователей при передаче или при хранении.

Целостность. Шифрование используется для предотвращения изменения информации при передаче или хранении.

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

Термины, связанные  с шифрованием

На  рис.1 показан общий принцип, согласно которому осуществляется шифрование.

Рис. 1

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

Существуют  также четыре общих термина.

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

Атаки на систему  шифрования

Системы шифрования могут подвергнуться  атакам тремя следующими способами:

  • через слабые места в алгоритме;
  • посредством атаки "грубой силы" по отношению к ключу;
  • через уязвимости в окружающей системе.

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

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

Последний тип атак, реализуемый с использованием уязвимостей в компьютерной системе, как правило, не обсуждается в  контексте шифрования. Тем не менее, на практике проще атаковать саму компьютерную систему, чем алгоритм шифрования. К примеру, рассмотрим следующую ситуацию: алгоритм является мощным и имеет длинный ключ, и для его раскрытия с помощью атаки "грубой силы" потребуются оборудование стоимостью в миллионы долларов и масса времени. Однако организация, использующая этот алгоритм, передает ключи через обычную электронную почту. Если известно, когда именно передается ключ, то легче будет перехватить сообщение и выяснить этот ключ.

Еще более ярким примером уязвимости является пакет шифрования, используемый многими пользователями. Этот пакет  использует мощные алгоритмы шифрования для зашифровки электронной почты  и файлов. Атаки на такую систему  нельзя легко осуществить с помощью  алгоритмов или атак "грубой силы". Тем не менее, ключ пользователя находится  в файле на его компьютере. Файл защищен паролем. Принимая во внимание тот факт, что большинство пользователей  не используют в своих паролях  комбинации случайных символов, гораздо проще угадать пароль пользователя или получить его с помощью атак "грубой силы", чем получить таким же способом ключ пользователя.

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

Шифрование  с секретным ключом (симметричные алгоритмы)

Существует  два основных типа шифрования:

  • с секретным ключом
  • с открытым ключом.

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

Шифрование  на секретном ключе также называется симметричным шифрованием, так как  для шифрования и дешифрования данных используется один и тот же ключ. На рис. 2 показан базовый принцип  шифрования с секретным ключом. Как  видно из рисунка, отправитель и  получатель информации должны иметь  одинаковый ключ.

Рис. 2. Шифрование с секретным ключом

Шифрование  с секретным ключом обеспечивает конфиденциальность информации в зашифрованном  состоянии. Расшифровать сообщение  могут только те лица, которым известен ключ. Любое изменение в сообщении, внесенное во время передачи, будет  обнаружено, так как после этого  не удастся правильно расшифровать сообщение. Шифрование с секретным  ключом не обеспечивает аутентификацию, поскольку любой пользователь может  создавать, шифровать и отправлять действительное сообщение.

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

Алгоритмы шифрования с секретным ключом

В системах безопасности используются различных  алгоритмы шифрования с секретным  ключом. Из них можно выделить следующие.

  • DES (Data Encryption Standard). Разработан компанией IBM в начале 1970-х гг. Национальный институт стандартов и технологий США (NIST) принял на вооружение алгоритм (публикация FIPS 46) для DES в 1977 г. после изучения, модификации и утверждения алгоритма в NSA. Алгоритм подвергался дальнейшей модификации в 1983, 1988, 1993 и 1999 гг. DES использует ключ длиной 56 бит.
  • Тройной DES (TDES). В 1992 году исследования показали, что DES можно использовать трижды для обеспечения более мощного шифрования. Используемый при этом ключ обеспечивает большую мощность тройного DES в сравнении с обычным DES.
  • AES (Advanced Encryption Standard), также известный как Rijndael — симметричный алгоритм блочного шифрования (размер блока 128 бит, ключ 128/192/256 бит), принятый в качестве стандарта шифрования правительством США.
  • IDEA (International Data Encryption Algorithm). Разработан в Швейцарии. В IDEA используется 128-битный ключ; кроме этого, IDEA также используется в Pretty Good Privacy (PGP).
  • RC5. Разработан Роном Ривестом в институте MIT (Massachusetts Institute of Technology). Этот алгоритм позволяет использовать ключи с переменной длиной.
  • Blowfish. Позволяет использовать переменные ключи длиной до 448 бит; алгоритм оптимизирован для работы на 32-битных процессорах.
  • Twofish. Использует 128-битные блоки, а также ключи длиной 128, 192 или 256 бит.
  • CAST-128. Использует 128-битный ключ. Применяется в новых версиях PGP.
  • Алгоритм ГОСТ (ГОСТ 28147-89). Российский стандарт шифрования, разработанный в ответ на DES. В нем используется ключ длиной 256 бит.

Общий уровень безопасности системы определяет не только сам алгоритм как таковой, но и реализация и метод использования самой системы

Шифрование  с открытым ключом

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

На  рис. 3 показана базовая схема шифрования с открытым ключом (асимметричного шифрования). Как видно из рисунка, оба абонента (и отправитель, и  получатель) должны иметь ключ. Ключи  связаны друг с другом (поэтому  они называются парой ключей), но они различны. Связь между ключами  заключается в том, что информация, зашифрованная с использованием ключа K1, может быть дешифрована  только с помощью его пары - ключа K2. Если информация зашифрована с  помощью K2, то расшифровать ее можно  только с использованием ключа K1.

Рис. 3. Шифрование с открытым ключом

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

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

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

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

Алгоритмы шифрования с открытым ключом

Из наиболее известных алгоритмов шифрования с открытым ключом можно выделить следующие.

  • Алгоритм обмена ключами Диффи-Хеллмана. Уитфилд Диффи (Whitfield Diffie) и Мартин Хеллман (Martin Hellman) разработали свою систему шифрования с открытым ключом в 1976 г. Система Диффи-Хеллмана (Diffie-Hellman) разрабатывалась для решения проблемы распространения ключей при использовании систем шифрования с секретными ключами. Идея заключалась в том, чтобы применять безопасный метод согласования секретного ключа без передачи ключа каким-либо другим способом. Следовательно, необходимо было найти безопасный способ получения секретного ключа с помощью того же метода связи, для которого разрабатывалась защита. Алгоритм Диффи-Хеллмана нельзя использовать для шифрования или дешифрования информации.
  • Алгоритм RSA. В 1978 г. Рон Ривест, Ади Шамир и Лен Адельман разработали алгоритм шифрования Rivest-Shamir-Adleman (RSA) с открытым ключом. В отличие от алгоритма Диффи-Хеллмана RSA может использоваться для шифрования и дешифрования. Также, в отличие от алгоритма Диффи-Хеллмана, безопасность алгоритма RSA базируется на факторизации больших чисел. Задачу факторизации больших чисел принято считать очень сложной, если числа очень велики (1024 бит или больше).
  • Алгоритм Эль-Гамаля. Эль-Гамаль (Taher Elgamal) разработал вариант системы Диффи-Хеллмана. Он усовершенствовал алгоритм Диффи-Хеллмана и получил один алгоритм для шифрования и один для обеспечения аутентификации. Алгоритм Эль-Гамаля не был запатентован (в отличие от RSA) и, таким образом, стал более дешевой альтернативой, так как не требовалась уплата лицензионных взносов. Так как этот алгоритм базировался на системе Диффи-Хеллмана, безопасность информации при его использовании обеспечивается сложностью решения задачи дискретного логарифмирования.
  • Алгоритм цифровой подписи. Алгоритм Digital Signature Algorithm (DSA) был разработан правительством США как стандартный алгоритм для цифровых подписей. Данный алгоритм базируется на системе Эль-Гамаля, но позволяет осуществлять только аутентификацию. Конфиденциальность этим алгоритмом не обеспечивается.
  • Шифрование с использованием эллиптических кривых. Эллиптические кривые были предложены для использования в системах шифрования в 1985 г. Системы шифрования с использованием эллиптических кривых (ECC) базируются на другой сложной математической задаче, нежели факторизация или дискретное логарифмирование. Данная задача заключается в следующем: имея две точки A и B на эллиптической кривой, такие что A = kB, очень трудно определить целое число k. Существует ряд преимуществ использования ECC перед алгоритмом RSA или Диффи-Хеллмана. Самым большим преимуществом является то, что ключи имеют меньшую длину (по причине сложности задачи), в результате чего вычисления производятся быстрее с сохранением уровня безопасности. Например, безопасность, обеспечиваемая 1024-битным ключом RSA может быть обеспечена 160-битным ключом ECC. Может пройти немало времени, прежде чем ECC будут полностью приняты к использованию, так как в этой области еще необходимо провести ряд исследований, и на существующие ECC зарегистрировано несколько патентов.

Информация о работе Принципи криптографічного захисту інформації