21324

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

Реферат

Информатика, кибернетика и программирование

Кpиптоанализ исследование возможности расшифровывания информации без знания ключей.Шеннона €œТеория связи в секретных системах€ стала началом новой эры научной криптологии с секретными ключами. Классификация криптографических систем Тайнопись Криптография с ключом Симметричные криптоалгоритмы Шифры перестановки Шифры замены подстановки Простой замены Сложной замены Сложные составные шифры Асимметричные криптоалгоритмы Комбинированные гибридные криптосистемы Тайнопись Отправитель и получатель производят над сообщением...

Русский

2013-08-02

144.5 KB

13 чел.

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

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

Проблемой защиты информации путем ее преобразования занимается кpиптология (kryptos - тайный, logos - наука). 

Кpиптология разделяется на два направления - криптографию и кpиптоанализ. 

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

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

Историческая справка

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

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

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

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

Публикация в 1949 г. статьи К.Шеннона “Теория связи в секретных системах” стала началом новой эры научной криптологии с секретными ключами.

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

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

Тайнопись

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для совpеменных кpиптогpафических систем защиты инфоpмации сфоpмулиpованы следующие общепpинятые тpебования:

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

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

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

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

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

Продолжение:

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

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

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

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

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

простота процедур шифрования и расшифрования;

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

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

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

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

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

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

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

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

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

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

Блочные шифры
Единицей кодирования является блок из нескольких байтов (в настоящее время 4-32). Результат кодирования зависит от всех исходных байтов этого блока. Схема применяется при пакетной передаче информации и кодировании файлов.

Принципы кодирования информации

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

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

Элементы, из которых состоит дискретное сообщение, называют буквами или символами. Набор этих символов образует алфавит.

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

Число символов в алфавите называется объемом алфавита (А).

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

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

Объем алфавита определяет количество информации, доставляемой одним символом сообщения. Если алфавит имеет объем А и в любом месте в сообщении равновероятно появление любого символа, то доставляемое символом количество информации можно определить как I0=log2 A (бит).

В случае отсутствия равновероятности I0=- log2 P, где Р - вероятность появления элемента сообщения.

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

Пример избыточности дают сообщения на естественных языках. Так, у русского языка  коэффициент избыточности  находится в пределах 0,3...0,5.

В теории кодирования выделяют:

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

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

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

Зачем  нужна архивация в криптографии? 

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

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

Все алгоритмы сжатия данных качественно делятся на

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

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

В криптосистемах, используется только первая группа алгоритмов.

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

алгоритм Хаффмана, ориентированный на сжатие последовательностей байт, не связанных между собой, Алгоритм основан на том факте, что некоторые символы из стандартного 256-символьного набора в произвольном тексте могут встречаться чаще среднего периода повтора, а другие, соответственно, – реже. Следовательно, если для записи распространенных символов использовать короткие последовательности бит, длиной меньше 8, а для записи редких символов – длинные, то суммарный объем файла уменьшится.

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

Практически все популярные программы архивации без потерь (ARJ, RAR, ZIP и т.п.) используют объединение этих двух методов – алгоритм LZH.

Сжатие с потерями. 

В настоящее время широкое распространение получили, например, алгоритмы MPEG и JPEG (цифровое видео). 

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

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

Потоковое  шифрование. Скремблеры.

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

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

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

Практически единственной операцией, используемой в скремблерах является XOR – "побитное исключающее ИЛИ". Параллельно прохождению информационного потока в скремблере по определенному правилу генерируется поток бит – кодирующий поток. Как прямое, так и обратное шифрование осуществляется наложением по XOR кодирующей последовательности на исходную (гаммирование) .

Функция XOR –исключающее ИЛИ

Результат =выражение1 XOR выражение2

Пример применения

Входная строка: 0101

Ключ: 1010

Шифрование функцией XOR: 1111

Расшифровка:0101

Гаммирование

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

Перед шифрование открытые данные разбивают на блоки одинаковой длины (1,2,4,8 бит). Гамма шифра вырабатывается в виде последовательности блоков аналогичной длины.

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

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

Требования к генератору:

• период гаммы должен быть большим;

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

• простота генерации (возможность реализации аппаратным или программным путем с необходимым быстродействием).

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

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

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

Симметричные криптосистемы 

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

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

Блочные шифры шифруют целые блоки информации (от 4 до 32 байт) как единое целое – это значительно увеличивает стойкость преобразований к атаке полным перебором и позволяет использовать различные математические и алгоритмические преобразования.

В практических шифрах необходимо использовать два общих принципа: рассеивание и перемешивание (К.Шеннон):

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

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

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

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

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

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

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

Пример шифра сложной замены (система шифрования Вижинера, 1586г) 

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

АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ

БВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯА

ВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯАБ

..........................

ЯАБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮ

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

Ключ:       МОРЕМОРЕМОРЕМОРЕ

Пример шифра сложной замены (система шифрования Вижинера, 1586г), продолжение:

Здесь подматрица шифрования:

АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ

МНОПРСТУФХЦЧШЩЪЫЬЭЮЯАБВГДЕЖЗИКЛ

ОПРСТУФХЦЧШЩЪЫЬЭЮЯАБВГДЕЖЗИКЛМН

РСТУФХЦЧШЩЪЫЬЭЮЯАБВГДЕЖЗИКЛМНОП

ЕЖЗИКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯАБВГД

Под каждой буквой шифруемого текста записываю буквы ключа (циклически).

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

Сообщение:  ЗАЩИТА ИНФОРМАЦИИ

Шифрограмма: УОИОЭО ШТЯЫЯСМГШО

 

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

Американский стандарт шифрования данных DES (Data Encryption Standart)   опубликован в 1977г, широко применялся в банковской и коммерческой сферах. Предназначен для защиты от несанкционированного доступа к важной, но несекретной информации.

Основные достоинства алгоритма DES:

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

Дешифрирование в DES является операцией, обратной шифрованию, и выполняется путем повторения операций шифрования в обратной последовательности.

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

относительная простота алгоритма обеспечивает высокую скорость обработки;

достаточно высокая стойкость алгоритма.

Сегодня известны два метода вскрытия DES:

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

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

Известны две успешные атаки на алгоритм DES:

в 1999 г. с привлечением 100000 компьютеров, подключенных к Интернету (open project). Ключ был скомпрометирован примерно за 3 месяца, и для его поиска было проанализировано 85 % всех возможных значений ключа.

ключ был вскрыт за 6 недель, и для этого потребовалось перебрать около 25 % всех значений ключа.

Кроме того, известен случай, когда компьютер, построенный на деньги организации Electronic Privacy Information Center и состоящий из 1728 процессоров, обеспечивающих перебор 88 млрд вариантов ключа в секунду, вскрыл DES за 56 часов работы.

В результате сегодня алгоритм DES уже не считается надежным, и в качестве наиболее простой альтернативы ему предлагается алгоритм Triple DES (другое обозначение — 3DES), использующий ключ длиной 112 битов.

Алгоритмы симметричного шифрования (продолжение)

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

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

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

Алгоритм шифрования данных представляет собой 64-битовый блочный алгоритм с 256-битовым ключом.

Алгоритм  предусматривает четыре режима работы:

шифрование данных в режиме простой замены;

шифрование данных в режиме гамирования;

шифрование данных в режиме гаммирования с обратной связью;

выработка имитовставки.

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

Алгоритмы симметричного шифрования (продолжение)

Алгоритм IDEA - разработаный в 1990-1992гг. и  запатентован в США и Европе:

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

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

Алгоритмы симметричного шифрования (продолжение)

Алгоритм AES (приходит на смену DES) и сочетает простоту, надежность и высокую производительность:

В 2000 г.  утвержден  алгоритм шифрования Rijndael (произносится как "рейн-долл"), разработанный двумя бельгийскими криптографами, для AES.

Благодаря 128-разрядным ключам AES обеспечивает более надежную защиту от атак, нежели DES с его 56-разрядными ключами, а, кроме того, AES может поддерживать более длинные, 192-разрядные и 256-разрядные, ключи.

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

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

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

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

В настоящее время блочные алгоритмы DES, IDEA, AES, ГОСТ 28147-89 считаются относительно безопасными.

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

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

Однако история учит нас тому, что перспективы неизвестны!!!!!!!

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

Управление криптографическими ключами.

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

Управление ключами - информационный процесс, включающий реализацию следующих основных функций:

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

хранение ключей;

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

Управление ключами в симметричных криптосистемах.
Генерация ключей.

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

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

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

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

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

Хранение ключей.

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

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

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

главный ключ (ГК),

ключ шифрования ключей (КК),

ключ шифрования данных (КД).

Иерархия ключей может быть:

двухуровневой (КК/КД);

трехуровневой(ГК/КК/КД).

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

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

Хранение ключей (продолжение).

КК, используемые для пересылки ключей между узлами связи, известны также как ключи обмена между узлами сети (cross domain keys). Обычно в канале используются два ключа для обмена между узлами сети, по одному в каждом направлении.

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

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

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

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

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

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

Использование одного или нескольких центров распределения ключей.

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

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

Недостаток второго - проблема надежной аутентификации субъектов сети.

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

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

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

В обоих случаях используют шифрование.

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

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

Проблема управления ключами была решена криптографией с открытым или асимметричным, ключом, концепция которой была предложена Уитфилдом Диффи и Мартином Хеллманом в 1975 году.

Криптография с открытым ключом – это асимметричная схема, в которой применяются пары ключей: открытый (public key), который зашифровывает данные, и соответствующий ему закрытый (private key), который их расшифровывает.

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

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

Ключи в асимметричных системах очень большие числа (размер ключа измеряется в битах, например, 2048-битовый ключ).

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

Симметричный 80-битовый ключ эквивалентен в стойкости 1024-битовому открытому ключу. Симметричный 128-битовый ключ примерно равен 3000-битовому открытому.

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

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

Примерами криптосистем с открытым ключом являются Elgamal (автор Тахир Эльгамаль), RSA (Шамира и Леонарда Адлмана), Diffie-Hellman (Уитфилдом Дифф и Мартин Хеллман) и DSA (Дэвид Кравиц).

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

Требования обеспечения безопасности асимметричной криптосистемы 

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

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

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

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

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

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

Однонаправленную функцию можно определить следующим образом: Функция f является однонаправленной, если для всех х можно легко вычислить функцию у=f(x) и в то же время для большинства y достаточно сложно получить значение x, такое, что f(x)=y, т.е. отсутствует эффективный алгоритм обратного преобразования YX.

Примеры однонаправленных функций:

Целочисленное умножение. Прямая задача – вычисление произведения двух очень больших простых целых чисел N=P*Q является относительно несложной задачей для ЭВМ. Обратная задача – разложение на множители большого целого числа, т.е. нахождение делителей, является практически неразрешимой задачей при достаточно больших значениях N. По современным оценкам теории чисел при целом N≈2664 и Р≈Q для разложения числа N потребуется около 1023 операций, т.е задача практически неразрешима на современных ЭВМ.

Модульная экспонента с фиксированным основанием и модулем. Модульная экспонента с основанием А по модулю N представляет собой функцию f(x)=Ax mod N (т.е. остаток от деления Ax на N). Существую эффективные алгоритмы, позволяющие достаточно быстро вычислить значения функции f(x). Обратная задача – нахождение дискретного логарифма. По современным оценкам теории чисел при целых числах A,N ≈2664 решение задачи потребует около 1026 операций, т.е. задача имеет в 1000 раз большую вычислительную сложность, чем задача разложения на множители.

Алгоритм RSA 

Первый полноценный алгоритм с открытым ключом, предложен в 1978г.

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

Авторы RSA  предлагали P и Q из 50 знаков (считали факторизацию таких чисел недостижимой). В 1994 г. было факторизовано число со 129 знаками путем распределенных вычислений на 1600 процессорах в течении 8 месяцев). Теперь избегают чисел меньше чем с 200 десятичными разрядами. В последнее время используют 250-300 разрядов.

Криптосистемы RSA реализованы как программно, так и аппаратно (спецпроцессоры на СБИС позволяют возводить в большие степени колоссальные числа).

Аппаратная реализация RSA приблизительно в 1000 раз медленнее реализации DES. Одни из лучших – процессоры CYLINK – выполняют 1024 битовое шифрование RSA со скоростью порядка 64 кбит/c.

Программная реализация RSA работает в 100 раз медленнее DES.

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

Последовательность асимметричного шифрования

Пользователь А хочет передать сообщение М пользователю В. Для этого:

В генерирует секретный ключ и открытый ключ.

В передает А открытый ключ.

А шифрует сообщение М открытым ключом.

А передает по открытому каналу связи в адрес пользователя В зашифрованное сообщение

В с помощью своего секретного ключа расшифровывает сообщение М.

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

Достоинство криптосистем с открытым ключом: нет необходимости передавать значения секретных ключей.

Недостаток – низкое быстродействие (в сотни и более раз по сравнению с симметричными), связано с тем, что:

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

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

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

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

Последовательность комбинированного шифрования

Пользователь А хочет передать сообщение М пользователю В. Для этого:

А создает (например, генерирует случайным образом) симметричный ключ, называемый сеансовым ключом КS.

А шифрует сообщение М на сеансовом ключе .

В генерирует секретный ключ и открытый ключ.

В передает А открытый ключ.

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

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

В расшифровывает на своем секретном ключе сеансовый ключ.

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

Идентификация и установление подлинности электронных документов – цифровая подпись 

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

Возможные нарушения, которые могут нанести существенный ущерб:

активный перехват - нарушитель перехватывает документы и изменяет их;

маскарад - посылка документа от другого имени;

ренегатсво - отказ от посланного в действительности сообщения;

подмена - абонент В изменяет или формирует новый документ и утверждает, что получил его от А;

повтор -  С повторяет ранее переданный документ, который А посылал В.

Решение - использование электронной цифровой подписи (ЭЦП)

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

ЭЦП является средством авторизации и контроля целостности данных.

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

Эти возможности столь же важны для криптографии, как и секретность.

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

Использование ЭЦП включает две процедуры:

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

процедуру проверки подписи (используется открытый ключ отправителя).

Информация шифруется собственным закрытым ключом. Если информация может быть расшифрована вашим открытым ключом, значит её источником являетесь вы.

Схема крайне медлительна и производит слишком большой объём данных.

Хэш-функция

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

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

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

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

Требования к хэш-функции:

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

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

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

Для формирования ЭЦП:

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

m шифруется секретным ключом отправителя.

Каждая подпись содержит следующую информацию:

дату подписи;

срок окончания действия ключа данной подписи;

информация о подписавшем лице(ф.и.о., должность и т.д.);

идентификатор подписавшего (имя открытого ключа);

собственно цифровую подпись.

При проверке ЭЦП:

получатель снова вычисляет хэш-функцию h(M) принятого текста;

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

Цифровые сертификаты

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

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

подсовывает пользователю поддельный ключ с именем предполагаемого адресата;

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

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

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

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

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

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

Цифровой сертификат состоит из трёх компонентов:

открытого ключа, к которому он приложен;

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

одной или нескольких цифровых подписей, «связывающих» ключ с сертификатом.

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

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

Распространение сертификатов

Ручное распространение открытых ключей - передать друг другу дискеты или отправить электронные письма, содержащие копии их ключей.

Хранилища-депозитарии - серверы сертификатов, или серверы-депозитарии открытых ключей

Инфраструктура открытых ключей (Public Key Infrastructure, PKI) - более сложная и комплексная структура, предполагающая дополнительные возможности администрирования ключей

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

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

Инфраструктуры открытых ключей (PKI) - как и простой сервер-депозитарий, имеет базу данных для хранения сертификатов, но, в то же время, предоставляет сервисы и протоколы по управлению открытыми ключами. В них входят возможности выпуска (издания), отзыва (аннулирования) и системы доверия сертификатов.

Главной  особенностью PKI является наличие компонентов, известных как Центр сертификации (Certification Authority, CA) и Центр регистрации (Registration Authority, RA).

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

Центр регистрации (ЦР) - система людей, механизмов и процессов, служащая целям зачисления новых пользователей в структуру PKI и дальнейшего администрирования постоянных пользователей системы. Также ЦР может производить «веттинг» – процедуру проверки того, принадлежит ли конкретный открытый ключ предполагаемому владельцу.

Наличие ЦР и ЦС обеспечивает разделение функций.

ЦР – это человеческое сообщество: лицо, группа, департамент, компания или иная ассоциация.

ЦС – программа, выдающая сертификаты своим зарегистрированным пользователям.

Существуют защищённые от взлома аппаратные реализации ЦС.

Протокол для асимметричных криптосистем с использованием сертификатов открытых ключей

Сертификатом открытого ключа С называется сообщение ЦРК, удостоверяющее целостность некоторого открытого ключа объекта.

Сертификат открытого ключа для пользователя А, обозначаемый СА, содержит отметку времени Т (используется для подтверждения актуальности сертификата) идентификатор IA  и открытый ключ Кa, зашифрованный секретным ключом ЦРК КЦРК.

Секретный ключ КЦРК известен только менеджеру ЦРК. Открытый ключ КЦРК известен участникам А и В.

А запрашивает у ЦРК сертификат своего открытого ключа и открытого ключа В.  А  ЦРК : IA, IB, "Вышлите сертификаты ключей А и В".

ЦРК   А : ЕkЦРК (Т, IA, KA), ЕkЦРК (Т, IB, KB).

А расшифровывает, используя открытый ключ ЦРК, проверяет оба сертификата, убеждаясь, что В правильно идентифицирован.

А  В: СА, КkA(T), EkB(r1). Отметка времени T, зашифрованная секретным ключом А является его подписью, т.к. никто другой не может создать такую подпись. r1- сообщение.

В проверяет подпись, расшифровывает r1, и для подтверждения своей подлинности В  А: E kА (r1).

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

Программы криптозащиты

Технологии передачи данных

Технологии передачи данных (продолжение)

Протокол SSL

Обращение к Web – странице. Сервер приступает к установке защищенного соединения

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

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

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

Обмен ключами. Сервер расшифровывает данные своим закрытым ключом.

Оба компьютера генерируют на их основе общий симметричный ключ. Защищенное соединение готово к работе.

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

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

Протокол SET

Разработан консорциумом во главе с Visa и MasterCard и представляет собой набор протоколов, предназначенный для использования веб-браузерами и другими приложениями.

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

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

покупатель - о совершении сделки или причине отказа

платежная система - о платежных реквизитах продавца и покупателя.

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

Для поддержки SET необходимо следующее программное обеспечение:

"электронный бумажник" (Wallet), выдаваемый интернет-покупа­телю бесплатно (или за символическую плату);

"SET-сервер продавца" (платежный сервер, устанавливаемый на веб­-сайте интернет-магазина и интегрируемый с последним);

"SET-шлюз" для банка или процессинговой компании.

Взаимодействие по протоколу SET

1 - получение электронных сертификатов;

2 - предъявление сертификатов. Покупатель инициирует трансакцию.

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

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

Это позволяет продавцу и банку-эмитенту проконтролировать целостность сообщений, но препятствует прочтению части, им не предназначенной (например, продавец не получает доступа к номеру карточки покупателя);

Взаимодействие по протоколу SET

4 - авторизация трансакции;

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

4б - банк-эквайер дешифрует авторизационный запрос и идентифицирует продавца. После этого (через "SET-шлюз") осуществляется авторизация трансакции в банке-эмитенте;

4в - банк-эмитент выполняет авторизацию и подписывает авторизационный ответ, посылаемый банку-эквайеру (через "SET-шлюз");

5 - возвращение информации о результате процедуры авторизации. Банк-эквайер посылает результат авторизации, подписанный его ЭЦП, продавцу;

6 - завершение операции покупки. Продавец сообщает результат авторизации покупателю и (в случае положительного результата) осуществляет доставку товара или выполнение услуг;

7 - перечисление средств (в случае положительного результата авторизации). Деньги покупателя переводятся на счет продавца.


 

А также другие работы, которые могут Вас заинтересовать

62256. Самостоятельная работа на уроках русского языка как средство активизации познавательного интереса 34.33 KB
  В этом смысле особое значение приобретает проблема внедрения эффективных приемов самостоятельной работы в учебно-воспитательный процесс. Значит учителям необходимо учить детей самостоятельной работе.
62257. Самым лучшим уроком жизни бывает армия 20.01 KB
  Армия Что на самом деле дает этот важный урок в нашей жизни Вопрос на самом деле очень интересен и важен но в то же время кажущимся бесполезным для всех тех героев которые отслужили и вернулись домой. Армия Отнимает она на первый взгляд кажется больше чем дает. При всем моем огромном желании возможностях и начальных способностях я не умею воевать Задавим количеством А если Китай Что же на самом деле дает Армия Ты вглядываешься на жизнь совсем с другой стороны учишься жить в большом непростом коллективе когда каждый сам за...