Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Петров А.А. Комп без-ть

.pdf
Скачиваний:
39
Добавлен:
28.03.2016
Размер:
16.03 Mб
Скачать

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

31

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

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

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

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

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

1.1.3. Аппаратная и программная реализация алгоритмов шифрования

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

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

32

Общие сведения по классической криптографии

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

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

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

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

Аппаратная реализация

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

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

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

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

33

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

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

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

Программная реализация

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

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

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

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

2 - 3

34

Общие сведения по классической криптографии

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

Программно-аппаратная реализация

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

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

1.2. Алгоритмы блочного шифрования

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

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

возможность эффективной программной реализации на современных аппаратно-программных средствах;

высокую скорость зашифрования/расшифрования как при аппарат­ ной, так и при программной реализации;

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

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

35

основана на «невозможности» решения какой-либо математической задачи).

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

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

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

режим простой замены, или режим электронной кодовой книги (Е1есйгошс СойеЪоок Мойе - ЕСВ);

режим гаммирования;

режим гаммирования с самовосстановлением, или гаммирование с об­

ратной связью 1рЬег-РеейЪаск той е - С РВ);

режим гаммирования с обратной связью по выходу ( ОгИрШ-РеейЬаск той е - ОРВ);

2*

36 Общие сведения по классической криптографии

режим шифрования со сцеплением блоков (СТрЬег В1оск СЬашш§ т о - бе - СВС).

Режим простой замены

В данном режиме блоки открытого текста шифруются независимо от дру­ гих блоков на одном ключе (рис. 1.4). Этот режим назван режимом элект­ ронной кодовой книги, поскольку теоретически существует возможность создать книгу, в которой каждому блоку открытого текста будет сопостав­ лен блок зашифрованного текста. Однако в случае, если длина блока рав­ на 64 битам, то книга будет содержать 264 записи, и каждая книга будет со­ ответствовать одному ключу.

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

С; = Р(Р|)

для 1= 1 + N.

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

К л ю ч

К л ю ч

Рис. 1.4. Режим простой замены

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

Режим гаммирования

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

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

37

Рис. 1.5 Режим гаммирования

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

Зашифрование можно представить в следующем виде:

С( == Р! 0 Р(У;) 1- 1 N .

где У; - выработанная гамма; У! - синхропосылка.

Режим гаммирования с самовосстановлением

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

Уравнение зашифрования имеет следующий вид:

С ^ Р ^ Е С У )

С; - Р, 0 Р (С И)

Соответственно расшифрование имеет вид:

= С !0 Р (У ) Р, - С, © Р (С И)

38

Общие сведения по классической криптографии

Открытый ^ и с ^

текст Режим гаммирования с самовосстановлением

Режим гаммирования с обратной связью по выходу

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

Открытый Р и с 1 7

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

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

С; = Р 1 0 8 ,

51 = Р (С И)

Соответственно расшифрование осуществляется по закону:

Р |= С 0 8 ,

51 = Е (С ц )

Режим шифрования со сцеплением блоков

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

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

39

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

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

С! = Р (Р ;0 С ! - 1)

Соответственно процесс расшифрования будет выглядеть так:

Р |= Р (С ;)0 С ; - 1

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

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

Открытый

текст

Рис. 1.8 Режим шифрования

Зашифрованный

со сцеплением блоков

текст

40

Общие сведения по классической криптографии

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

1.2.2. Алгоритм ОЕ8

Одним из самых распространенных алгоритмов блочного шифрования, рекомендованных Национальным бюро стандартов С Ш А совместно с АН Б в качестве основного средства криптографической защиты инфор­ мации как в государственных, так и в коммерческих структурах, являет­ ся Ба1;а ЕпсгурБоп ЗШпбагб (БЕЗ). Он был разработан в 1977 г., однако уже в 1988 г. АН Б рекомендовало использовать БЕЗ только в системах элект­ ронного перевода. С учетом выявленных недостатков БЕЗ в начальный ва­ риант стандарта постоянно вносятся изменения; появляются также и новые алгоритмы, использующие в качестве основы БЕЗ - Ие^БЕЗ, Тпр1еБЕ5

идр. Необходимость разработки новых алгоритмов обусловлена большим количеством атак, которым подвергался БЕЗ за долгие годы своего суще­ ствования. Кроме того, бурное развитие средств вычислительной и микро­ процессорной техники привело к тому, что 56-битного ключа, используемо­ го в оригинальном варианте БЕЗ, стало недостаточно, чтобы противостоять атакам, совершаемым методом «грубой силы». Тем не менее в коммерчес­ кой сфере и в системах электронных расчетов БЕЗ и на сегодняшний день остается одним из самых популярных алгоритмов блочного шифрования.

БЕЗ является блочным алгоритмом шифрования с длиной блока 64 бита

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

Структура алгоритма приведена на рис. 1.9 и отражает последователь­ ность действий, совершаемых в одном раунде; всего для получения блока зашифрованного сообщения проходит 16 раундов. Эта величина исполь­ зуется в БЕЗ по следующим причинам:

1 2 раундов являются минимально необходимыми для обеспечения

должного уровня криптографической защиты;

при аппаратной реализации использование 16 раундов позволяет вер­ нуть преобразованный ключ в исходное состояние для дальнейших преобразований;

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