Тарифы Услуги Сим-карты

Механизмы защиты информации. Требования к криптографическим методам защиты информации. Шифры простой замены

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

Только шифрованный текст. Говоря о взломе системы шифрования, многие имеют в виду атаку с использованием только шифрованного текста. В этом случае пользователи А и Б зашифровывают свои данные, а злоумышленник видит только шифрованный текст. Попытка расшифровать сообщения только при наличии шифрованного текста и называется атакой с использованием только шифрованного текста. Это наиболее трудный тип атаки, поскольку злоумышленник обладает наименьшим объемом информации. Известный открытый текст. При атаке с известным открытым текстом известен и открытый и шифрованный текст. Цель такой атаки состоит в том, чтобы найти ключ.

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

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

Существует два вида атак с избранным открытым текстом:

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

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

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

Функции шифрования построены на основе многократного применения 32-битовых операций. Применяя такие операции, довольно сложно получить нечетную перестановку. В результате практически все известные блочные шифры генерируют только четную перестановку. Упомянутый факт позволяет злоумышленнику построить простой различитель (на основе различающей атаки ). Так называемый атака с проверкой четности . Для заданного значения ключа строится перестановку, зашифровав по порядку все возможные варианты открытого текста. Если перестановка является нечетной, значит, перед нами идеальный блочный шифр, так как реальный блочный шифр никогда не генерирует нечетную перестановку.

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

Атаки на асимметричные шифры. Алгоритм RSA обеспечивает как цифровое подписывание, так и шифрование, что делает его весьма универсальным средством.

Алгоритм RSA основан на использовании односторонней функции с лазейкой. N - это открытый ключ, который формируется как. Разложение числа n на множители и есть та самая «лазейка». Значения p и q - это два разных больших простых числа, длина каждого из которых составляет порядка тысячи бит или более.

Возникает проблема, когда пользователь Б зашифровывает с помощью открытого ключа пользователя А сообщение небольшого размера. Если e =5 и, тогда, поэтому взятие числа по модулю не требуется. Злоумышленник сможет восстановить m , просто извлекая корень пятой степени из m 5 .

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

Таким образом, применение алгоритма RSA должно ограничиваться шифрованием коротких последовательностей, а именно секретных ключей шифрования для симметричных криптосистем. Для шифрования нужно использовать более стойкие к атакам шифры с длиной ключа 256 бит. К таким шифрам относят шифр AES и ГОСТ 28147-89.

Читайте также:
  1. B. Взаимодействие с бензодиазепиновыми рецепторами, вызывающее активацию ГАМК – ергической системы
  2. I ступень – объектив- центрическая система из 4-10 линз для непосредственного рассмотрения объекта и формирования промежуточного изображения, расположенного перед окуляром.
  3. I. ЛИЗИНГОВЫЙ КРЕДИТ: ПОНЯТИЕ, ИСТОРИЯ РАЗВИТИЯ, ОСОБЕННОСТИ, КЛАССИФИКАЦИЯ
  4. I. Типичные договоры, основные обязанности и их классификация
  5. II. Освоение техники микроскопии с иммерсионной системой.
  6. II. Світовий освітній простір і система освіти в Україні.

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

Основной схемой классификации всех криптоалгоритмов является следующая:

1. Тайнопись

2. Криптография с ключом

2.1. Симметричные криптоалгоритмы

2.1.1. Шифры перестановки

2.1.2. Шифры замены (подстановки)

2.1.2.1. Простой замены

2.1.2.2. Сложной замены

2.1.3. Сложные (составные) шифры

2.2. Асимметричные криптоалгоритмы

2.3. Комбинированные (гибридные) криптосистемы

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

Криптография с ключом - Алгоритм воздействия на передаваемые данные известен всем сторонним лицам, но он зависит от некоторого параметра – "ключа", которым обладают только отправитель и получатель.

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

2. Асимметричные криптоалгоритмы.
Алгоритм таков, что для зашифровки сообщения используется один ("открытый") ключ, известный всем желающим, а для расшифровки – другой ("закрытый"), существующий только у получателя.

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

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

В зависимости от характера воздействий, производимых над данными, алгоритмы подразделяются на:

1. Перестановочные
Блоки информации (байты, биты, более крупные единицы) не изменяются сами по себе, но изменяется их порядок следования, что делает информацию недоступной стороннему наблюдателю.

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

Заметьте: любые криптографические преобразования не увеличивают объем информации, а лишь изменяют ее представление. Поэтому, если программа шифрования значительно (более, чем на длину заголовка) увеличивает объем выходного файла, то в ее основе лежит неоптимальный, а возможно и вообще некорректный криптоалгоритм. Уменьшение объема закодированного файла возможно только при наличии встроенного алгоритма архивации в криптосистеме и при условии сжимаемости информации (так, например, архивы, музыкальные файлы формата MP3, видеоизображения формата JPEG сжиматься более чем на 2-4% не будут).

В зависимости от размера блока информации криптоалгоритмы делятся на:

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

Криптография (от древне-греч. κρυπτος – скрытый и γραϕω – пишу) – наука о методах обеспечения конфиденциальности и аутентичности информации.

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

  • защиту конфиденциальности;
  • защиту целостности.

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

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

Отправитель генерирует открытый текст исходного сообщения М , которое должно быть передано законному получателю по незащищённому каналу. За каналом следит перехватчик с целью перехватить и раскрыть передаваемое сообщение. Для того чтобы перехватчик не смог узнать содержание сообщения М , отправитель шифрует его с помощью обратимого преобразования Ек и получает шифртекст (или криптограмму) С=Ек(М) , который отправляет получателю.

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

Преобразование Ек выбирается из семейства криптографических преобразований, называемых криптоалгоритмами. Параметр, с помощью которого выбирается отдельное преобразование, называется криптографическим ключом К .

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

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

  • симметричные (одноключевые) криптосистемы;
  • асимметричные (двухключевые) криптосистемы (с открытым ключом).

Симметричное шифрование

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

Пример симметричного шифрования показан на рис. 2.2 .

Сегодня широко используются такие алгоритмы шифрования, как Data Encryption Standard (DES), 3DES (или "тройной DES") и International Data Encryption Algorithm (IDEA). Эти алгоритмы шифруют сообщения блоками по 64 бита. Если объем сообщения превышает 64 бита (как это обычно и бывает), необходимо разбить его на блоки по 64 бита в каждом, а затем каким-то образом свести их воедино. Такое объединение, как правило, происходит одним из следующих четырех методов:

  • электронной кодовой книги (Electronic Code Book, ECB);
  • цепочки зашифрованных блоков (Cipher Block Changing, CBC);
  • x-битовой зашифрованной обратной связи (Cipher FeedBack, CFB-x);
  • выходной обратной связи (Output FeedBack, OFB).

Triple DES (3DES) – симметричный блочный шифр, созданный на основе алгоритма DES, с целью устранения главного недостатка последнего – малой длины ключа (56 бит), который может быть взломан методом полного перебора ключа. Скорость работы 3DES в 3 раза ниже, чем у DES, но криптостойкость намного выше. Время, требуемое для криптоанализа 3DES, может быть намного больше, чем время, нужное для вскрытия DES.

Алгоритм AES (Advanced Encryption Standard), также известный как Rijndael – симметричный алгоритм блочного шифрования – шифрует сообщения блоками по 128 бит, использует ключ 128/192/256 бит.

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

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

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

Классические криптографические методы и алгоритмы разделяют на два основных типа:

· симметричные (с секретным ключом) ,

· асимметричные (с открытым ключом) .

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

Наиболее известным стандартом на симметричное шифрование с закрытым ключом является стандарт для обработки информации в государственных учреждениях США DES (Data Encryption Standard) . Коммерческий вариант алгоритма DES использует ключ длиной 56 бит, что требует от злоумышленника перебора 72·10 12 возможных ключевых комбинаций. Более криптостойкая (но втрое менее быстродействующая) версия алгоритма DES - Triple DES (тройной DES) позволяет задать ключ длиной 112 бит.

Другим популярным алгоритмом шифрования является IDEA (International Data Encryption Algorithm) , отличающийся применением ключа длиной 128 бит. Он считается более стойким, чем DES.

Отечественный стандарт шифрования данных - ГОСТ 28147-89 “Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования” определяет алгоритм симметричного шифрования с ключом длиной до 256 бит.

Общая технология использования симметричного метода шифрования представлена на Рис. 3.1.


Рис. 3.1. Использование симметричного метода шифрования с секретным ключом

К достоинствам симметричных методов относят высокое быстродействие и простоту.

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



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

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

Формально асимметричный метод можно описать следующим образом. Обозначим результат шифрования текста T с помощью открытого ключа - E(T) , а результат расшифровки текста с помощью закрытого ключа - D(T) . Тогда асимметричный метод должен отвечать следующим трем требованиям:

· D(E(T)) = T ;

· D практически невозможно определить по E ;

· Е нельзя взломать.

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

В настоящее время наиболее известными и надежными являются следующие асимметричные алгоритмы:

· алгоритм RSA (Rivest, Shamir, Adleman);

· алгоритм Эль Гамаля.

Алгоритм RSA принят в качестве следующих международных стандартов: ISO/IEC/DIS 9594-8 и X.509 . Алгоритм использует факт, что нахождение больших (например, 100-битных) простых чисел в вычислительном отношении осуществляется легко, однако разложение на множители произведения двух таких чисел в вычислительном отношении представляется невыполнимым.

Другим известным методом является алгоритм Эль Гамаля , положенный в основу стандарта NIST (National Institute of Standards and Technology) - MD 20899 . Алгоритм основан на возведении в степень по модулю большого простого числа.

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


Рис. 3.2. Использование асимметричного метода шифрования с открытым ключом

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

Шифрование - способ преобразования открытой информации в закрытую и обратно. Применяется для хранения важной информации в ненадёжных источниках или передачи её по незащищённым каналам связи. Согласно ГОСТ 28147-89, шифрование подразделяется на процесс зашифровывания и расшифровывания.

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

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

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

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

Рисунок 2.3 - Принцип работы систем шифрования с ключом

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

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

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

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

Бесключевые:

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

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

Симметричные схемы:

Шифры (блочные, потоковые) - способ шифрования, в котором для зашифрования и расшифровывания применяется один и тот же криптографический ключ. Ключ алгоритма должен сохраняться в секрете обеими сторонами. Алгоритм шифрования выбирается сторонами до начала обмена сообщениями;

Хеш-функции - аналогичные бесключевым, но на основании заранее определенного ключа;

Генераторы псевдослучайных чисел - алгоритм, генерирующий последовательность чисел, элементы которой почти независимы друг от друга и подчиняются заданному распределению (обычно равномерному). Распределение определяется на основании заранее заданного ключа;

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

Асимметричные схемы:

Шифры - система шифрования, при которой открытый ключ передаётся по открытому (то есть незащищённому, доступному для наблюдения) каналу и используется для шифрования сообщения. Для расшифрования сообщения используется секретный ключ;

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

Примитивы идентификации.