Лекции СОИБвСПД. Конспект лекций для студентов специальности 5В071900 Радиотехника, электроника и телекоммуникаци и Астана 2012
Скачать 0.63 Mb.
|
Стандарт шифрования AES В 1997 г. Американский институт стандартизации NIST (National Institute of Standards & Technology) объявил конкурс на новый стандарт симметричного криптоалгоритма, названного AES (Advanced Encryption Standard). К его разработке были подключены самые крупные центры криптологии всего мира. Победитель этого соревнования фактически становился мировым криптостандартом на ближайшие 10—20 лет. К криптоалгоритмам — кандидатам на новый стандарт AES — были предъявлены следующие требования: - алгоритм должен быть симметричным; - алгоритм должен быть блочным шифром; - алгоритм должен иметь длину блока 128 бит и поддерживать три длины ключа: 128, 192 и 256 бит. Итоги конкурса были подведены в октябре 2000 г. — победителем был объявлен алгоритм Rijndael, разработанный двумя криптографами из Бельгии, Винсентом Риджменом (Vincent Rijmen) и Джоан Даймен (Joan Daemen). Алгоритм Rijndael стал новым стандартом шифрования данных AES. Алгоритм AES не похож на большинство известных алгоритмов симметричного шифрования, структура которых носит название «сеть Фейстеля» и аналогична ГОСТ 28147—89. В отличие от российского стандарта шифрования, алгоритм AES представляет каждый блок обрабатываемых данных в виде двухмерного байтового массива размером 4 4, 46 или 48 в зависимости от установленной длины блока (допускается использование нескольких фиксированных размеров шифруемого блока информации). Далее на соответствующих этапах производятся преобразования либо над независимыми столбцами, либо над независимыми строками, либо вообще над отдельными байтами. Алгоритм AES состоит из определенного количества раундов (от 10 до 14 — это зависит от размера блока и длины ключа) и выполняет четыре преобразования: 1) BS (ByteSub) — табличная замена каждого байта массива; 2) SR (ShiftRow) — сдвиг строк массива. При этой операции первая строка остается без изменений, а остальные циклически побайтно сдвигаются влево на фиксированное число байт, зависящее от размера массива. 3) МС (MixColumn) — операция над независимыми столбцами массива, когда каждый столбец по определенному правилу умножается на фиксированную матрицу с(х); 4) АК (AddRoundKey) — добавление ключа. Каждый бит массива складывается по модулю 2 с соответствующим битом ключа раунда, который в свою очередь определенным образом вычисляется из ключа шифрования. Расшифровывание выполняется с помощью следующих обратных операций. Выполняется обращение таблицы и табличная замена на инверсной таблице (относительно применяемой при зашифровывании). Обратная операция к SR — это циклический сдвиг строк вправо, а не влево. Обратная операция для МС — умножение по тем же правилам на другую матрицу d(x), удовлетворяющую условию с(х)d(x)= 1. Добавление ключа АК является обратным самому себе, поскольку в нем используется только операция XOR. Эти обратные операции применяются при расшифровании в последовательности, обратной той, что использовалась при зашифровании. Все преобразования в шифре AES имеют строгое математическое обоснование. Алгоритм AES стал новым стандартом шифрования данных благодаря ряду преимуществ перед другими алгоритмами. Прежде всего, он обеспечивает высокую скорость шифрования на всех платформах: как при программной, так и при аппаратной реализации. Кроме того, требования к ресурсам для его работы минимальны, что важно при его использовании в устройствах, обладающих ограниченными вычислительными возможностями. Недостатком алгоритма AES можно считать лишь его нетрадиционную схему. Дело в том, что свойства алгоритмов, основанных на «сети Фейстеля», хорошо исследованы, a AES, в отличие от них, может содержать скрытые уязвимости, которые могут обнаружиться только по прошествии какого-то времени с момента начала его широкого распространения. Для шифрования данных применяются и другие симметричные блочные криптоалгоритмы. Основные режимы работы блочного симметричного алгоритма Большинство блочных симметричных криптоалгоритмов непосредственно преобразуют 64-битовый входной открытый текст в 64-битовый выходной шифрованный текст, однако данные редко ограничиваются 64 разрядами. Чтобы воспользоваться блочным симметричным алгоритмом для решения разнообразных криптографических задач, разработаны четыре рабочих режима: - электронная кодовая книга ЕСВ (Electronic Code Book); - сцепление блоков шифра СВС (Cipher Block Chaining); - обратная связь по шифртексту CFB (Cipher Feed Back); - обратная связь по выходу OFB (Output Feed Back). Эти рабочие режимы первоначально были разработаны для блочного алгоритма DES, но в любом из этих режимов могут работать и другие блочные криптоалгоритмы. Лекция 14. Асимметричные криптоалгоритмы Всего за 30 лет асимметричная криптография превратилась в одно из основных направлений криптологии и используется так же часто, как и симметричные криптосистемы. Алгоритм шифрования RSA Криптоалгоритм RSA предложили в 1978 г. три автора: Р. Райвест (Rivest), А. Шамир (Shamir) и А. Адлеман (Adleman). Алгоритм получил свое название по первым буквам фамилий его авторов. Он стал первым алгоритмом с открытым ключом, который может работать как в режиме шифрования данных, так и в режиме электронной цифровой подписи. Надежность алгоритма RSA основывается на трудности факторизации больших чисел и трудности вычисления дискретных логарифмов в конечном поле. В алгоритме RSA открытый ключ Кв, секретный ключ кв, сообщение М и криптограмма С принадлежат множеству целых чисел ZN={0, 1, 2, ..., N- 1}, где N — модуль: N=PQ, а Р и Q— случайные большие простые числа. Для обеспечения максимальной безопасности выбирают Р и Qравной длины и хранят в секрете. Множество ZNс операциями сложения и умножения по модулю N образует арифметику по модулю N. Открытый ключ Кввыбирают случайным образом так, чтобы выполнялись условия: 1 < Кв (N), НОД(Кв, (N))=1; (N) = (P – 1)(Q – 1), где (N) — функция Эйлера. Функция Эйлера (N)указывает количество положительных целых чисел в интервале от 1 до N, которые взаимно просты с N. Второе из указанных выше условий означает, что открытый ключ Кви функция Эйлера (N)должны быть взаимно простыми. Далее, используя расширенный алгоритм Евклида, вычисляют секретный ключ кв, такой, что квКв 1(mod (N)) или кв =Kв-1(mod(P-1)(Q-1)). Это можно осуществить, так как получатель В знает пару простых чисел (Р, Q) и может легко найти (N). Заметим, что кв и N должны быть взаимно простыми. Открытый ключ Квиспользуют для шифрования данных, а секретный ключ кв— для расшифровывания. Процедура шифрования определяет криптограмму С через пару (Кв, М) в соответствии со следующей формулой: С = ЕКв(М) = М Кв(mod N). В качестве алгоритма быстрого вычисления значения С используют ряд последовательных возведений в квадрат целого М и умножений на М с приведением по модулю N. Расшифровывание криптограммы С выполняют, используя пару (кв, С),по следующей формуле: М= Dкв (C) = Cкв(mod N). Криптоалгоритм RSA всесторонне исследован и признан стойким при достаточной длине ключей. В настоящее время длина ключа — 1024 бита — считается приемлемым вариантом. Некоторые авторы утверждают, что с ростом мощности процессоров криптоалгоритм RSA потеряет стойкость к атаке полного перебора. Однако увеличение мощности процессоров позволит применить более длинные ключи, что повышает стойкость RSA. В асимметричной криптосистеме RSA количество используемых ключей связано с количеством абонентов линейной зависимостью (в системе из N пользователей используются 2Nключей), а не квадратичной, как в симметричных системах. Следует отметить, что быстродействие RSA существенно ниже быстродействия DES, а программная и аппаратная реализация криптоалгоритма RSA гораздо сложнее, чем DES. Поэтому криптосистема RSA, как правило, используется при передаче небольшого объема сообщений. Лекция 15. Стойкость к имитирующим и дезинформирующим помехам (обеспечение подлинности сообщений) Помехи системам передачи информации могут навязывать получателю ложные сообщения, дезинформировать его. Противодействие такому информационному нападению входит в круг задач радиоэлектронной защиты точно так же, как и противодействие помехам, искажающим сигналы, переносящие эти сообщения. Дезинформируют только те помехи, которые образуют сообщения, подобные истинным, и могут быть приняты как подлинные, созданные собственным источником информации, т.е. дезинформирующие помехи должны имитировать истинные сообщения. Поэтому защита от дезинформирующих помех иначе называется имито-защитой, а способность систем и сообщений противостоять действию дезинформирующих помех — имитостойкостью. Для обеспечения имитостойкости передаваемых сообщений применяются криптофафические методы, в некотором смысле подобные тем, что применяются для обеспечения секретности при передаче информации. Но функции обеспечения секретности (информационной скрытности) и обеспечения подлинности сообщений не тождественны друг другу. Устойчивость к расшифровке еще не достаточна для обеспечения стойкости сообщений к вредному действию имитирующих помех. Из того факта, что сообщение не может быть расшифровано (может быть расшифровано лишь с достаточно малой вероятностью или по прошествии неприемлемо длительного времени), еще не следует, что в ходе РЭП противник не может создать ложное, дезинформирующее сообщение. Попытка имитации будет успешной, если система противодействия создаст поддельную шифрограмму Ши и эта шифрограмма на приемной стороне будет принята за истинную, посланную собственным передатчиком, т. е. законным абонентом системы связи. Вероятность такого события Ри. Подобно потенциальной криптостойкости можно определить предельно достижимый уровень имитостойкости информации как способность системы обеспечивать подлинность передаваемых сообщений. Пусть Nш— число всех возможных криптограмм, т. е. таких криптограмм, априорная вероятность которых (для системы перехвата) не равна нулю Р(Ш)0. Пусть также Nси Nк— соответственно числа возможных сообщений и ключей, т. е. Р(С)0и P(К)0. Это значит, что для каждой последовательности ключа К существует по крайней мере Ncразличных криптограмм и условная вероятность криптограммы для каждого ключа не равна нулю P(Ш|К) 0. Следовательно, если противник, желающий создать ложное сообщение, выберет совершенно случайно криптограмму из полного числа Nш(попытается имитировать шифрованное сообщение), вероятность успеха такой имитации будет Ри = Nс/Ni.Если же есть какие-либо основания для того, чтобы предпочесть при имитации одни возможные криптограммы другим, вероятность успеха нарушения информационной стойкости будет не меньше. Поэтому . Традиционно для аутентификации документа к нему присоединяют специальное сообщение — подпись и/или печать. И то, и другое сообщение должно быть всем известно и точно указывать на источник, т. е. на того, кто ими обладает и кто их использовал для удостоверения подлинности информации. Неразборчивость печати или подписи уменьшает степень доверия к документу (сообщению). Аналогичная ситуация складывается и в таких широко известных системах аутентификации, как системы опознавания воздушных целей (системы «свой — чужой»). В них сигналы, посылаемые бортом в ответ на запрос подсистемы опознавания целей в составе комплексов ПВО или УВД, должны уверенно идентифицироваться с типом и государственной принадлежностью цели, т. е. они должны быть понятны всем операторам РЛС. Но создавать эти сигналы могут только определенные объекты и созданные сигналы должны быть надежно защищены от имитации. Специальное сообщение, удостоверяющее подлинность переданной информации, называется аутентификатором. При передаче сообщения при помощи сигналов, используемых радиоэлектронными системами вообще и радиосистемами передачи информации в частности, простое присоединение группы символов к основному тексту не может надежно удостоверять его подлинность. Такую группу символов можно перехватить и присоединить к любому ложному сообщению, создав тем самым условия для дезинформации приемника. Для исключения возможности такого обмана необходимо распространить действие аутентификатора на весь текст сообщения, достоверность и подлинность которого требуется подтвердить. Известны несколько способов формирования и использования такого аутентификатора. Эти способы могут различаться по тому, каково назначение использующих их систем передачи информации, и по тому, какие требования по имитостойкости предъявляются к системам. В системах передачи сообщений с повышенной секретностью, когда используется криптозащита информации, аутентификатор присоединяется к исходному шифруемому тексту. После такого сцепления (конкатенации) символов сообщения и аутентификатора производится шифрация полученного расширенного сообщения с использованием секретного ключа, известного только передатчику и приемнику. При шифрации все символы исходного текста обязательно перемежаются и замещаются символами криптограммы. В результате каждый символ криптограммы оказывается зависящим от всех символов исходного текста, символов аутентификатора и символов секретного ключа. Сформированная таким образом криптограмма доставляется получателю, который расшифровывает ее с использованием известного ему ключа и восстанавливает как исходный текст, так и присоединенный к нему аутентификатор. Этот аутентификатор известен только источнику и получателю сообщения. Наличие аутентификатора в полученном и расшифрованном тексте подтверждает подлинность сообщения. Разумеется, тайну аутентификатора нужно охранять не менее строго, чем тайну секретного ключа. Криптографические преобразования, совершаемые при передаче имитостойкого сообщения с повышенной секретностью, иллюстрируются на рисунке 15.1. Рисунок 15.1- Криптографические методы аутентификации Если при шифрации расширенного сообщения используется стойкий криптоалгоритм, то, перехватывая шифровку, противник не может (практически за приемлемое время) восстановить исходный открытый текст и аутентификатор. В такой ситуации противнику при создании дезинформирующего сообщения не остается ничего иного, как случайным образом сформировать шифротекст в надежде, что он будет воспринят получателем как подлинный. Но если аутентификатор содержит rдвоичных символов, то противник при случайной генерации криптограммы сможет угадать неизвестный ему аутентификатор и сможет выдать свое сообщение за подлинное с вероятностью Ри= 2-r.Эта вероятность характеризует имитостойкость шифрованного сообщения. Если даже противнику удалось расшифровать криптограмму, это вовсе не значит, что за время вскрытия шифра передатчик и приемник информации по взаимному соглашению не изменили аутентификатор. В случае замены аутентификатора вероятность успеха дезинформации получателя сообщения будет, очевидно, не выше Ри. Возможны случаи, когда шифрация сообщения не нужна или даже нежелательна, как в уже приведенном примере системы опознавания воздушной цели «свой — чужой». В этих случаях может быть использован другой алгоритм установления подлинности передаваемых сообщений. Работа алгоритма формирования открытого (нешифрованного) имитостойкого сообщения иллюстрируется на рисунке 15.2. Рисунок 15.2- Имитация нешифрованных сообщений В соответствии с алгоритмом обеспечения имитостойкости без шифрации текста исходное сообщение разбивается на блоки, содержащие одинаковое число rследующих подряд символов. Первый блок почленно складывается по модулю 2 с некоторой неизвестной противнику последовательностью символов — начальным вектором. Длина начального вектора равна длине блока. Его значение держится в секрете и время от времени изменяется. Полученный блок длиной rсимволов складывается по модулю 2 со вторым блоком исходного сообщения. Процедура итерационно повторяется до тех пор, пока не будут обработаны все блоки текста. Если последний блок содержит менее rсимволов, его всегда можно дополнить нулями. Последний полученный после суммирования блок шифруется. Ключ шифра и алгоритм шифрации известны передатчику и приемнику. В частности, это может быть и шифр с открытым ключом. Очевидно, что последняя r-битовая шифровка является функцией исходного сообщения, начального вектора и ключа к шифру. Эта комбинация из rсимволов присоединяется к исходному тексту в качестве аутентификатора. Полученный текст может передаваться по линии связи в открытом виде. Получив расширенное аутентификатором сообщение, приемник радиосистемы передачи информации при необходимости (при сомнениях в подлинности и/или истинности авторства сообщения) производит обратное преобразование аутентификатора, используя для этого текст самого сообщения и ключ к шифру. Если сообщение не было изменено или подделано, в результате расшифровки получается известный приемнику начальный вектор. В противном случае фиксируется нарушение подлинности сообщения и оно признается недостоверным. Такая ситуация возникнет как в том случае, когда противник попытается присоединить аутентификатор перехваченного сообщения к другому, поддельному или измененному тексту, а также в том случае, когда он попытается осуществить генерацию аутентификатора, не зная начального вектора. В любой из этих ситуаций истинное значение аутентификатора при передаче поддельного сообщения можно угадать, если будут угаданы все rсимволов начального вектора. Вероятность такого события Ри= 2-r, т. е. весьма мала. В соответствии с описанным алгоритмом суммирование шифрованных блоков и блоков исходного текста осуществляется по модулю 2. Сцепление аутентификатора с открытым текстом для формирования расширенного имитостойкого сообщения производит мультиплексер. Как можно видеть, оба рассмотренных алгоритма обеспечения стойкости сообщения к подделкам и искажениям основываются на увеличении избыточности передаваемого сообщения. Разумеется, возможны и иные, отличные от двух приведенных выше, протоколы защиты подлинности сообщений. Но общим для любых протоколов остается то, что аутентификатор присоединяется к исходному тексту. И чем больше внесенная аутентификатором избыточность, тем выше имитостойкость. Присоединенный к сообщению избыточный идентификатор может быть назван, электронной подписью. Способы подтверждения подлинности основаны на внесении избыточности точно так же, как и способы повышения помехоустойчивости. Но для улучшения помехоустойчивости избыточные символы преобразуют сообщения в такие последовательности, которые группируются возможно более близко (в соответствии с принятой метрикой в пространстве сигналов) к неискаженному сигналу. При использовании избыточности для формирования имитостойких сообщений они конструируются иначе: чтобы любые изменения символов в соответствии со стратегией дезинформации распределяли получающиеся кодовые последовательности случайно и равновероятно по всему сигнальному пространству. |