Классификация криптосистемы. Классификация современных криптографических систем

Для Windows Phone 22.05.2019
Для Windows Phone

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

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

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

Системы шифрования с секретным ключом к используются издавна и до настоящего времени и основаны на классическом принципе использования единственного ключа &, секретного для всех, кроме допущенных пользователей. Алгоритмы зашифрования и расшифрования реализуют при ключе к взаимно обратные функции Е к и Е к х > т.е. Е к (х) - у и Е к у) = х. Такие криптосистемы называют симметричными в связи с тем, что ключи для зашифрования и для расшифрования или совпадают, или обладают определенной симметрией. Защита информации с помощью симметричных систем обеспечивается секретностью ключа к.

Появление в 1975 г. систем с открытым ключом (авторы - американские криптографы У. Диффи и М. Хеллман) стимулировалось потребностью развивающихся компьютерных сетей в новых ключевых протоколах. Другое их название - асимметричные системы , в них ключ шифрования е и ключ расшифрования (1 не связаны явным отношением симметрии или равенства. Алгоритмы зашифрования и расшифрования также реализуют взаимно обратные функции: Е е (х) = у и Е (1 (у) = х. Ключ шифрования е может быть открытым , доступным для всех, но расшифровать сообщение можно, только зная секретный ключ (1 расшифрования. Ключ с1 часто называют закрытым ключом во избежание путаницы с ключом симметричной системы.

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

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

Методы анализа криптографических систем можно разделить в соответствии с математической природой на три класса: методы опробования , или алгоритмические методы, алгебраические , или аналитические методы ; статистические методы , или частотный анализ.

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

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

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

Методы криптографического анализа (к.а.) классифицируют по области их применения: методы к.а. поточных шифрсистем, блочных шифрсистем, методы анализа хеш-функций и т.д.

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

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

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

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

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

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

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

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

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

Автономный (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.

В качестве основного критерия классификации криптографических алгоритмов будем использовать тип выполняемого над исходным текстом преобразования. Классификация по этому критерию представлена на рис. 2.1.


Рис. 2.1. Общая классификация криптографических алгоритмов

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

В противовес тайнописи, криптоалгоритмы с ключом построены на том принципе, что алгоритм воздействия на передаваемые данные известен всем сторонним лицам, но он зависит от некоторого параметра, который держится в секрете – «ключа», который известен только двум лицам, участвующим в обмене информацией. Основу такого подхода к шифрованию заложил в конце XIX века голландец Огюст Керкхофф, который предложил, что стойкость шифра должна определяться только секретностью ключа, т.е. криптоаналитику могут быть известны все детали процесса (алгоритма) шифрования и дешифрования, но неизвестно, какой ключ использован для шифрования данного текста. В настоящее время криптография занимается исключительно алгоритмами с ключами. Это обусловлено тем, что защищенность системы не должна зависеть от секретности чего-либо, что невозможно быстро изменить в случае утечки секретной информации, а изменить ключ шифрования на практике гораздо проще, чем весь используемый в системе алгоритм.

Криптосистемы с ключом делятся на симметричные и асимметричные системы шифрования. Модель симметричной системы шифрования представлена на рис. 2.2.



Рис. 2.2. Обобщенная модель симметричной системы шифрования

Отличительной чертой симметричных алгоритмов шифрования является наличие одного ключа шифрования (k на рис.2.2), который должен быть известен только отправителю и получателю сообщения. Отправитель на ключе k шифрует сообщение, получатель дешифрует полученный шифротекст ключом k. Криптоаналитик может перехватить шифротекст Y, передаваемый по открытым каналам связи, но, так как он не знает ключа, задача вскрытия шифротекста является очень трудоемкой. Принципиальным моментом является необходимость наличия секретного канала связи между получателем и отправителем для передачи ключа шифрования без возможности его перехвата криптоаналитиком.

Асимметричная система шифрования работает по схеме, представленной на рис. 2.3.



Рис. 2.3. Обобщенная модель асимметричной системы шифрования

Отличительной особенностью асимметричных алгоритмов является наличие пары ключей шифрования: открытого k от, который передается второй стороне по незащищенному каналу связи и поэтому может быть известен криптоаналитику,а также закрытого k зак, который известен лишь одному человеку (получателю сообщения) и держится в секрете. Пара ключей обладает тем свойством, что сообщение, зашифрованное на одном из ключей, может быть расшифровано только на другом ключе. Фактически это означает, что секретным каналом передачи информации на схеме рис. 2.3 является направление «отправитель-получатель», поскольку сообщение, зашифрованное на открытом ключе отправителем, может дешифровать своим закрытым ключом только получатель.

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

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

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

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

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

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

Атака на основе открытого текста предполагает, что криптоаналитику известны одна или несколько пар «открытый текст/шифротекст», зашифрованных на одном ключе, и на основе этой информации он проводит свой анализ.

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

Федеральное агентство по образованию

ГОУ ВПО «Самарский Государственный Университет»

Механико-математический факультет

Кафедра безопасности информационных систем

Специальность «компьютерная безопасность »

Криптографические методы защиты информации

Выполнил студент

курса 1 группы 19101.10

Гришина Анастасия Сергеева

________

Научный руководитель

старший преподаватель

Панфилов А.Г.

________

Самара 2013

Введение

Криптология как наука и основные её термины

Классификация криптосистем

Требования к криптосистемам

Принцип Кергосффа

Основные современные методы шифрования

Управление ключами

Заключение

Введение

С самого начала человеческой истории возникла потребность передачи и хранения информации.

Известное выражение гласит: «Кто владеет информацией, тот владеет миром». Вопросы защиты информации стояли перед человечеством всегда.

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

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

Технические средства реализуются в виде электрических, электромеханических и электронных устройств. Вся совокупность технических средств делится на аппаратные и физические. Под аппаратными средствами принято понимать технику или устройства, которые сопрягаются с подобной аппаратурой по стандартному интерфейсу. Например, система опознания и разграничения доступа к информации (посредством паролей, записи кодов и другой информации на различные карточки). Физические средства реализуются в виде автономных устройств и систем. Например, замки на дверях, где размещена аппаратура, решетки на окнах, источники бесперебойного питания, электромеханическое оборудование охранной сигнализации. Так, различают наружные системы охраны («Ворон», GUARDWIR, FPS и др.), ультразвуковые системы (Cyclops и т.д.), системы прерывания луча (Pulsar 30В и т.п.), телевизионные системы (VМ216 и др.), радиолокационные системы («ВИТИМ» и т.д.), система контроля вскрытия аппаратуры и др.

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

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

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

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

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

Криптология как наука и основные её термины

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

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

Криптоанализ - данный раздел посвящен исследованию возможности чтения сообщений без знания ключей, т. е. связана непосредственно со взломом шифров. Люди, занимающиеся криптоанализом и исследованием шифров называютсякриптоаналитиками .

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

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

Криптографическая система - семейство преобразований шифра и совокупность ключей (т.е алгоритм + ключи). Само по себе описание алгоритма не является криптосистемой. Только дополненное схемами распределения и управления ключами оно становится системой. Примеры алгоритмов - описания DES, ГОСТ28.147-89. Дополненные алгоритмами выработки ключей, превращаются в криптосиситемы. Как правило, описание алгоритма шифрования уже включает в себя все необходимые части.

Классификация криптосистем

Современные криптосистемы классифицируют следующим образом:

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

Симметричные криптосистемы (с секретным ключом - secret key systems)- данные криптосистемы построены на основе сохранения в тайне ключа шифрования. Процессы зашифрования и расшифрования используют один и тот же ключ. Секретность ключа является постулатом. Основная проблема при применении симметричных криптосистем для связи заключается в сложности передачи обоим сторонам секретного ключа. Однако данные системы обладают высоким быстродействием. Раскрытие ключа злоумышленником грозит раскрытием только той информации, что была зашифрована на этом ключе. Американский и Российский стандарты шифрования DES и ГОСТ28.147-89, кандидаты на AES - все эти алгоритмы являются представителями симметричных криптосистем.

Асимметричные криптосистемы (системы открытого шифрования - о.ш., с открытым ключом и т.д.- public key systems ) - смысл данных криптосистем состоит в том, что для зашифрования и расшифрования используются разные преобразования. Одно из них - зашифрование - является абсолютно открытым для всех. Другое же - расшифрование - остается секретным. Таким образом, любой, кто хочет что-либо зашифровать, пользуется открытым преобразованием. Но расшифровать и прочитать это сможет лишь тот, кто владее секретным преобразованием. В настоящий момент во многих асимметричных криптосистемах вид преобразования определяется ключом. Т.е у пользователя есть два ключа - секретный и открытый. Открытый ключ публикуется в общедоступном месте, и каждый, кто захочет послать сообщение этому пользователю - зашифровывает текст открытым ключом. Расшифровать сможет только упомянутый пользователь с секретным ключом. Таким образом, пропадает проблема передачи секретного ключа (как у симметричных систем). Однако, несмотря на все свои преимущества, эти криптосистемы достаточно трудоемки и медлительны. Стойкость асимметричных криптосистем базируется, в основном, на алгоритмической трудности решить за приемлимое время какую-либо задачу. Если злоумышленнику удастся построить такой алгоритм, то дискредетирована будет вся система и все сообщения, зашифрованые с помощью этой системы. В этом состоит главная опасность асимметричных криптосистем в отличие от симметричных. Примеры - системы о.ш. RSA, система о.ш. Рабина и т.д.

Требования к криптосистемам

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

    зашифрованное сообщение должно поддаваться чтению только при наличии ключа;

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

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

    знание алгоритма шифрования не должно влиять на надежность защиты;

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

    структурные элементы алгоритма шифрования должны быть неизменными;

    дополнительные биты, вводимые в сообщение в процессе шифрования, должен быть полностью и надежно скрыты в шифрованном тексте;

    длина шифрованного текста должна быть равной длине исходного текста;

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

    любой ключ из множества возможных должен обеспечивать надежную защиту информации;

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

Принцип Кергосффа

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

Впервые данный принцип сформулировал в XIX векеголландский криптографОгюст Керкгоффс.Шеннонсформулировал этот принцип (вероятно, независимо от Керкгоффса) следующим образом: «враг может знать систему». Широко применяется в криптографии.

Общие сведения

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

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

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

Шесть требований Керкгоффса

Требования к криптосистеме впервые изложены в книге Керкгоффса «Военная криптография» (издана в 1883 году). Шесть основных требований к криптосистеме, все из которых до настоящего времени определяют проектирование криптографически стойких систем, в переводе с французского звучат так:

    шифр должен быть физически, если не математически, невскрываемым

    система не должна требовать секретности, на случай, если она попадёт в руки врага

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

    зашифрованный текст должен [без проблем] передаваться по телеграфу

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

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

Второе из этих требований и стало известно как «принцип Керкгоффса».

Также важным, впервые строго сформулированным выводом «Военной криптографии» является утверждение криптоанализакак единственного верного способа испытанияшифров.

Основные современные методы шифрования

Среди разнообразнейших способов шифровании можно выделить следующие основные методы:

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

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

Алгоритмы гаммирования - символы исходного текста складываются с символами некой случайной последовательности. Самым распространенным примером считается шифрование файлов «имя пользователя.рwl», в которых операционная система Microsoft Windows 95 хранит пароли к сетевым ресурсам данного пользователя (пароли на вход в NT-серверы, пароли для DialUр-доступа в Интернет и т.д.). Когда пользователь вводит свой пароль при входе в Windows 95, из него по алгоритму шифрования RC4 генерируется гамма (всегда одна и та же), применяемая для шифрования сетевых паролей. Простота подбора пароля обусловливается в данном случае тем, что Windows всегда предпочитает одну и ту же гамму.

Алгоритмы, основанные на сложных математических преобразованиях исходного текста по некоторой формуле. Многие из них используют нерешенные математические задачи. Например, широко используемый в Интернете алгоритм шифрования RSA основан на свойствах простых чисел.

Комбинированные методы. Последовательное шифрование исходного текста с помощью двух и более методов.

Управление ключами

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

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

Управление ключами - информационный процесс, включающий в себя три элемента:

* генерацию ключей;

* накопление ключей;

* распределение ключей.

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

Генерация ключей

В самом начале разговора о криптографических методах было сказано, что не стоит использовать неслучайные ключи с целью легкости их запоминания. В серьезных ИС используются специальные аппаратные и программные методы генерации случайных ключей. Как правило используют датчики ПСЧ. Однако степень случайности их генерации должна быть достаточно высоким. Идеальным генераторами являются устройства на основе «натуральных» случайных процессов. Например, появились серийные образцы генерации ключей на основе белого радиошума . Другим случайным математическим объектом являются десятичные знаки иррациональных чисел, например  или е , которые вычисляются с помощью стандартных математических методов.

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

Накопление ключей

Под накоплением ключей понимается организация их хранения, учета и удаления.

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

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

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

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

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

Вопрос обновления ключевой информации связан и с третьим элементом управления ключами - распределением ключей.

Распределение ключей

Распределение ключей - самый ответственный процесс в управлении ключами. К нему предъявляются два требования:

Оперативность и точность распределения

Скрытность распределяемых ключей.

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

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

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

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

В обоих случаях должна быть гарантирована подлинность сеанса связи. Это можно обеспечить двумя способами:

1. Механизм запроса-ответа , который состоит в следующем. Если пользователь А желает быть уверенным, что сообщения который он получает от В, не являются ложными, он включает в посылаемое для В сообщение непредсказуемый элемент (запрос). При ответе пользователь В должен выполнить некоторую операцию над этим элементом (например, добавить 1). Это невозможно осуществить заранее, так как не известно, какое случайное число придет в запросе. После получения ответа с результатами действий пользователь А может быть уверен, что сеанс является подлинным. Недостатком этого метода является возможность установления хотя и сложной закономерности между запросом и ответом.

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

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

При использовании отметок времени встает проблема допустимого временного интервала задержки для подтверждения подлинности сеанса. Ведь сообщение с «временным штемпелем» в принципе не может быть передано мгновенно. Кроме этого компьютерные часы получателя и отправителя не могут быть абсолютно синхронизированы. Какое запаздывание «штемпеля» считать подозрительным.

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

Для обмена ключами можно использовать криптосистемы с открытым ключом, используя тот же алгоритм RSA.

Заключение

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

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

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

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

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

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

Классификация криптографических систем

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

I. По области применения различают криптосистемы ограниченного и общего использования.

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

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

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

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

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

В аддитивных шифрах буквы алфавита заменяются числами, к которым затем добавляются числа секретной случайной (псевдослучайной) числовой последовательности (гаммы). Состав гаммы меняется в зависимости от используемого ключа. Обычно для шифрования используется логическая операция «Исключающее ИЛИ» (XOR). При дешифровании та же гамма накладывается на зашифрованные данные. Гаммирование широко используется в военных криптографических системах.

Рис. Классификация криптографических алгоритмов

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

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

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

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

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

Потоковые – процедура преобразование применяется к отдельному символу сообщения;

Блочные – процедура преобразование применяется к набору (блоку) символов сообщения;

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

По стойкости шифры делятся на три группы:

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



Рекомендуем почитать

Наверх