Магистерская работа: Обеспечение информационной безопасности информационно-технологической инфраструктуры электронного правительства в Кыргызской Республике

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Рис. 2.6. Выработка шифра в режиме гаммированя с обратной связью

Рассматривая режим генерации имитоприставок, следует определить понятие предмета генерации. При генерации имитоприставки выполняются следующие операции: первый 64-битовый блок массива информации, для которого вычисляется имитоприставка, записывается в регистры N1 и N2 и зашифровывается в сокращенном режиме простой замены (выполняются первые 16 раундов из 32). Полученный результат суммируется по модулю 2 со следующим блоком информации с сохранением результата в N1 и N2. Цикл повторяется до последнего блока информации. Получившееся в результате этих преобразований 64-битовое содержимое регистров N1 и N2 или его часть и называется имитоприставкой.

Размер имитоприставки выбирается исходя из требуемой достоверности сообщений: при длине имитоприставки r бит вероятность, что изменение сообщения останется незамеченным, равна 2r

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

Американский стандарт шифрования AES. В 1997 году Американский институт стандартизации NIST (National Institute of Standards & Technology) объявил конкурс на новый стандарт симметричного криптоалгоритма, названного AES (Advanced Encryption Standard). К его разработке были подключены самые крупные центры криптологии со всего мира.

Алгоритм AES не похож на большинство известных алгоритмов симметричного шифрования, структура которых носит название сети Фейстеля и аналогична российскому ГОСТ 28147-89. В отличие от отечественного стандарта шифрования, алгоритм AES представляет каждый блок обрабатываемых данных в виде двухмерного байтового массива размером 4x4, 4x6 или 4x8 в зависимости от установленной длины блока (допускается использование нескольких фиксированных размеров шифруемого блока информации). Далее на соответствующих этапах производятся преобразования либо над независимыми столбцами, либо над независимыми строками, либо вообще над отдельными байтами. [9, 10].

Алгоритм AES состоит из определенного количества раундов (от 10 до 14 - это зависит от размера блока и длины ключа) и выполняет четыре преобразования:

·        BS (ByteSub) - табличная замена каждого байта массива (рис. 2.7);

·        SR (ShiftRow) - сдвиг строк массива (рис. 2.8). При этой операции первая строка остается без изменений, а остальные циклически побайтно сдвигаются влево на фиксированное число байтов, зависящее от размера массива. Например, для массива размером 4x1 строки 2, 3 и 4 сдвигаются соответственно на 1, 2 и 3 байта;

·        МС (MixColumn) - операция над независимыми столбцами массива (рис. 2.9), когда каждый столбец по определенному правилу умножается на фиксированную матрицу с(х) ;

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

Эти преобразования воздействуют на массив state, который адресуется с помощью указателя ’state’. Преобразование AddRoundKey использует дополнительный указатель для адресации ключа раунда Round Key.

Преобразование BS (ByteSub) является нелинейной байтовой подстановкой, которая воздействует независимо на каждый байт массива state, используя таблицу замен (подстановок) S-box.

Рис. 2.7. Преобразование BS(ByteSub) использует таблицу замен (подстановок) для обработки каждого байта массива

Рис. 2.8. Преобразование SR(ShiftRow) циклически сдвигает три последние строки в массиве.

Рис. 2.9. Преобразование MC(MixColumn) Поочередно обрабатывает столбцы массива.

В каждом раунде (с некоторыми исключениями) над шифруемыми данными поочередно выполняются перечисленные преобразования (рис. 2.11). Исключения касаются первого и последнего раундов: перед первым раундом дополнительно выполняется операция АК, а в последнем раунде отсутствует МС. В результате последовательность операций при зашифровании выглядит так:

АК, {BS, SR, МС, АК} (повторяется R - 1 раз), BS, SR, АК.

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

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

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

·        Обратная операция к SR - это циклический сдвиг строк вправо, а не влево.

·        Обратная операция для МС - умножение по тем же правилам на другую матрицу d(x), удовлетворяющую условию

с(х) * d(x) = 1.

·        Добавление ключа АК является обратным самому себе, поскольку в нем используется только операция XOR.

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

Рис. 2.10. Преобразование AK(AddRoundKey) производит сложение.

информационный безопасность правительство кыргызский

Рис. 2.11. Порядок преобразований.

Алгоритм Rijndael стал новым стандартом шифрования данных AES благодаря целому ряду преимуществ перед другими алгоритмами.

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

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

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

Алгоритм IDEA (International Data Encryption Algorithm) - еще один 64-битовый блочный шифр с длиной ключа 128 бит. Этот европейский стандарт криптоалгоритма предложен в 1990 году.

Алгоритм IDEA по скорости не уступает алгоритму DES, а по стойкости к криптоанализу превосходит DES.

Алгоритм RC2 представляет собой 64-битовый блочный шифр с ключом переменной длины. Этот алгоритм приблизительно в 2 раза быстрее, чем DES. Может использоваться в тех же режимах, что и DES, включая тройное шифрование. Владельцем алгоритма является компания RSA Data Security.

Алгоритм RC5 представляет собой быстрый блочный шифр, который имеет размер блока 32, 64 или 128 бит, ключ длиной от 0 до 2048 бит. Алгоритм выполняет от 0 до 255 проходов. Алгоритмом владеет компания RSA Data Security.

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

Этот алгоритм быстрее алгоритма DES.

2.1.2 Асимметричные криптосистемы шифрования

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

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

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

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

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

Рис. 2.12. Схема ассиметричной криптосистемы.

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

·        Подготовительный этап. Абонент В генерирует пару ключей: секретный ключ kB и открытый ключ Кв. Открытый ключ Кв посылается абоненту А и остальным абонентам (или делается доступным, например, на разделяемом ресурсе).

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

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

Защита информации в асимметричной криптосистеме основана на секретности ключа kB получателя сообщения.

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

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

·        исчезает квадратическая зависимость числа ключей от числа пользователей; в асимметричной криптосистеме количество используемых ключей связано с количеством абонентов линейной зависимостью (в системе из N пользователей используется 2 х N ключей), а не квадратической, как в симметричных системах

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

Однако у асимметричных криптосистем существуют и недостатки:

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

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

·        необходимо защищать открытые ключи от подмены.

Алгоритм шифрования RSA. Криптоалгоритм RSA предложили в 1978 году три автора: Р. Райвест (Rivest), А. Шамир (Shamir) и А. Адлеман (Adleman).

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

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

В алгоритме RSA открытый ключ Кв, секретный ключ k,h сообщение М и криптограмма С принадлежат множеству целых чисел:

= {0, 1, 2,…,N-1}, где N - модуль: N= PQ.

Здесь Р и Q - случайные большие простые числа. Для обеспечения максимальной безопасности выбирают Р и Q равной длины и хранят в секрете. Множество ZN с операциями сложения и умножения по модулю N образует арифметику по модулю N. Открытый ключ Кв выбирают случайным образом так, чтобы выполнялись следующие условия:

< Кв(N), НОД (Кв,  (N)) = 1

 (N)=(P-1)(Q-1),

где (N) - функция Эйлера.

Функция Эйлера (N) указывает количество положительных целых чисел в интервале от 1 до N, которые взаимно просты с N.

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

Далее, используя расширенный алгоритм Евклида, вычисляют секретный ключ kB, такой, что

kBKB = 1(mod (N)) или

kB = KB (mod (Р- 1)(Q - 1)).

Это можно осуществить, так как получатель В знает пару простых чисел (Р, Q) и может легко найти (N).

Заметим, что kB и N должны быть взаимно простыми.

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

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

С - ЕК (М) = МK(mod N).

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

Расшифрование криптограммы С выполняют, используя пару (секретный ключ kB, криптограмма С) по следующей формуле:

М = Dk(C) = СK(mod N)

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

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

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

Для различных реализаций используются эллиптические кривые двух видов:

·        эллиптическая кривая в конечном поле Fp, где р - простое число, р>3;

Источник: https://www.bibliofond.ru/detail.aspx?id=865048