Скачиваний:
93
Добавлен:
18.10.2019
Размер:
14.08 Mб
Скачать

1. Базовыекриптографическиепротоколы

59

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

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

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

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

«контрольного кода», называемого в различных случаях хеш-кодом,

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

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

ключ.

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

три ситуации:

1)требуется обеспечить только конфиденциальность данных;

2)требуется обеспечить только аутентичность данных;

60 Запечников С. В. Криптографическиепротоколы 11их примененив

3) требуется одновременно обеспечить конфиденциальность

и аутентичность данных.

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

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

персчислены ниже:

1) режим простой замены, или режим электронной кодовой кни­

ги (Electronic CodeBook - ЕСВ );

2)режим сцепления блоков (Cipher Block Chaining - СВС);

3)автономный режим, или режим обратной связи по выходу

(Output FeedВack - OFВ);

4)режим обратной связи по шифртексту (Cipher FeedBack

CFB);

5) режим счетчика (Counter Mode Епсгурпоп- CTR ).

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

Отечественным стандартом ГОСТ 28147-89 рекомендованытри режима работы блочного шифра, обеспечивающиеконфиденциаль­ ность: режим простой замены, режим гаммирования(соответствую­ щий OFВ) и режим гаммирования с обратной связью (соответст­ вующийCFB).

Известны и другие режимы блочного шифрования, обеспечи­ вающие конфиденциальность: 2DEM (2D-Encryption Mode), АВС

(Accumulated Block Chaining), IGE (lnfinite Garble Extension), ХСВ

1. Базовые криптографическиепротоколы

61

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

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

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

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

ляются кандидатамина стандартизацию:

1) одноключевой режим аутентификации со сцеплением блоков ОМАС (One-Key све МАС);

2) режим вероятностной аутентификации RМAC (Randonrized МАС).

Перечислим и остальные режимы: РМАС (Parallelizable МАС),

ТМАС (Two-Key СВС МАС), ХСВС-МАС (Extended Cipher Block Chaining МАС), ХЕСВ-МАС (Extended Electronic CodeBook МАС).

Напомним, что отечественным стандартом на хеш-функцию с ключомявляется ГОСТ Р 34.11-94.

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

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

62

Запечников С. В. Криптографические протоколы 11 ,а примененив

тификации, Ек/:' - алгоритм шифрования, ТКМ - алгоритм вычисле­ ния хеш-кода, Ек1:.' К'" - алгоритм обработки сообщения отправите­

лем, М - открытый текст, С - шифртекст. Очевидно, возможны три варианта обработки сообщения отправителем (получатель обраба­ тывает сообщения в обратном порядке):

1) отдельно зашифровывается открытый текст и отдельно вы­ числяется хеш-код, который присоединяется к шифртексту (encrypt-

and-authenticate) :

ЕкЕ,км(М)= ЕКЕ(M~ITK.1f (М);

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

thenticate-then-encrypt):

ЕКЕ'КМ(М)=ЕКЕ(М//Тк,\{(М))

3) сначала открытый текст зашифровывается, затем вычисляется хеш-код шифртекста, который присоединяется к нему (encrypt-then-

authenticate):

ЕКЕ'КМ (М)= С//Ткм (С), где С:::: ЕКЕ(м).

Какой из ЭТИХ способов лучше? И каковы критерии их оценки? Доказано, что самым стойким методом является третий. Он макси­ мально полно удовлетворяет всем критериям безопасности, включая стойкость к атакам по выбранным открытым текстам и к атакам по выбранным шифртекстам. Другие методы в общем случае не обес­ печивают безопасности передаваемых данных, хотя в не очень от­ ветственных случаях различия в доказанных свойствах не имеют практического значения. Можно даже построить пример такого про­ токола, в котором используется совершенно секретный (по Шенно­ ну) шифр, но если выбран второй метод защиты (authenticate-then- епсгурт), то протокол получается абсолютно нестойким к атакам ак­ тивного противника. Вместе с тем доказано, что в частном случае, когда применяется стойкий алгоритм блочного шифрования в режи­ ме еве или поточный шифр (накладывающий на поток данных слу­ чайную или псевдослучайную двоичную последовательность), ме­

тод authenticate-then-encrypt является стойким.

1. Базовые криптографические протоколы

63

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

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

тами, являются следующие:

1) режим счетчика со сцеплением блоков ссм (Counter with СВС-МАС);

2) режим счетчика над полем Галуа асм (Galois/Counter Mode).

Кроме них, известен еще целый ряд режимов аутентичного

шифрования: CS (Cipher-State Mode), CWC (CarterWegman authetication with Counter encryption), ЕАХ (А Conventional AuthenticatedEncryption Mode), IACBC (Integrity Aware Cipher Block Chaining), IAPM (Integrity Aware Parallelizable Mode), ОСВ (Offset CodeBook), PCFB (Propagating Cipher Feedback), ХСВС (Extended Cipher Block Chaining Encryption).

Большинство теоретических результатов в рассматриваемой об­ ласти было получено за последние несколько лет. Наиболее распро­ страненные сейчас протоколы образования защищенных каналов передачи данных были разработаны раньше, чем стали известны эти результаты. Так, в протоколе SSL используется метод authenticate-

then-encrypt, в SSH - метод encrypt-and-authenticate, которые с точки

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

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

64Запечкиков С. В. Криптографическиепротоколы 11 их применеиие

1.6.Специальные схемы цифровой подписи

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

тельными, специальными свойствами. В этом разделе мы рассмот­

рим два важных примера таких схем.

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

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

1.6.1. Схема цифровой подписи с восстановлением сообщения

Весьма важной для многих применений является схема цифро­ вой подписи с восстановлением сообщения (message recovery). Такая схема специфицирована в международном стандарте ISOIJEC 9796. Рассмотрим ее детально.

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

М- подписываемое сообщение, то 1МI= k .ISigns.t )1

= k .Этому ус­

ловию удовлетворяет, к примеру, схема RSA,

дЛЯ которой

S =M d (modn), где ed == l(mOdq>(n)).

 

Схема подписи с восстановлением сообщений отличается от обычной схемы цифровой подписи (схемы с дополнением, или «с

J. Базовыекриптографическиепротоколы

65

аппендиксом») тем, что используется для подписания сообщений ограниченной длины и не требует криптографических хеш-функций, но позволяет восстановить сообщение только из подписи, без пере­ дачи открытого текста. В схеме подписи «с аппендиксом» от ПОДПИ- сывающего к проверяющему передается М. Sign,'K (lz (М)) , а в схеме

подписи с восстановлением сообщений, только Signsk ). Кроме

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

Введем следующие обозначения: k - длина подписи в битах, d - длина подписываемого сообщения М в битах (требуется, чтобы

d ~8L(k+3)116 J), z - число байтов в сообщении, причем z = Гd /8l.

r =8z - d +1 - число, на единицу большее количества добавляемых

при выравнивании бит, t =Г(k -1)/16l - наименьшее целое, такое,

что строка из 2! байт включает по меньшей мере k-l бит. Например, параметры могут быть выбраны так: k = 1024 бита,

d = 150 бит. Тогда z = 19 байт, J' = 3 бита, t = 64 байта.

Процедура генерации подписи по ISOIIEC 9796 представляет собою последовательное выполнение пяти этапов,

1. «Выравнивание» сообщения (padding) - дополнение нулевыми битами. Пусть М - исходное сообщение. К нему добавляются нуле­ вые биты таким образом, что длина получаемого в результате сооб­ щения М? становится кратной 8 бит, т. е. равна целому числу байт:

МР = or-111M ,где 1~ r ~ 8. Число байтов в МР равно z:

МР =тz 11 тz-I 11···11 т2 11 Щ, \:11т;I=1байт.

2. Расширение сообщения (extension). МР расширяется за счет дописывания слева последовательности всех байтов МР, взятых справа налево в цикле, пока длина сообщения не станет равной t байт:

МЕ = МЕ, 11 ме.; 11 ... 11 МЕ2 11 МЕ}, \1IМЕ;I= 1 байт,

MEi+1 = т(imodz)+I' О ~ i ~ t -1 .

66Запечников С. В. Криптографическиепротоколы 11 их прииенепив

3.Введение избыточности (redundancy). МЕ преобразуетсяв

MR = мк; 11 MR 2t - 1 1I ···11MR 2 1J MR1

таким образом, что:

а) t байт МЕ дополняются t избыточными байтами по следую­

щему правилу:

мR2i- 1 ~ МЕ;> 15:i ~ t , MR2i ~ S (МЕ; ), 1:$; i ::;; t ,

где S(u) - «теневая функция» байта и, которая определяется сле­

дующим образом: и = и2 11 U 1, lu11 = lu21 = 4- битовыестрокидлиной

полбайта, т. е. тетрады, S(u)=1t(uJII1t(u\), где функция n задается следующей таблицей подстановок в шестнадцатеричной нотации:

n=(О 1 2 3 4 5 6 7 8

9 А В С

D Е F).

lE 3 5 8 9 4 2 F О D 8 6 7 А С 1 '

б) выполняется преобразование

MR2:. ;::;,. EiЭ MR2 z

(для того, что­

бы проверяющий подпись мог восстановить длину исходного сооб­ щения). Так как d ~ 8z - r +1, для этого достаточно знать z и r. Эти значения могут быть впоследствии получены из MR.

4.Усечение иусиление (tгиnсаting andforci.ng). MR преобразуется

вk-битовое целое число IR (intennediate integer), IIRI = k. Оно фор­

мируетсяследующимобразом:

а) k-l младшихбит MR дополняются слева единичным битом; б) младший байт получившегося результата и2 11 изамещается

на и1 11 О11О . Это делается, чтобы гарантировать, что IR == 6(mod 16) . 5. Генерация подписи. Число /R подписывается, используя любой

механизм подписи, в котором длина подписи s равна длине подпи-

сываемого сообщения, т. е. jIRI = Isl = k .

В случае, если используются схемы подписи RSA или Рабина, подпись по ISOIIEC 9796 формируется следующим образом (е - от­ крытый ключ схемы RSA или Рабина, п - модуль схемы, d - секрет­ ный ключ). Вычисляется так называемый репрезентативный эле-

}. Базовые криптографические протоколы

67

мент: RR = lR, если е нечетное или е четное и

(lпRJ-I

(т. е. СИМВОЛ Якоби числа IR, интерпретируемого как целое число по

модулюп;равенединице), и RR =12, еслиечетноеи ( 1: J=-\ .

Подпись генерируется ПОД репрезентативным элементом:

S;;;; шiп{(RR)d modn, n -((RR)d modn)}.

Процедура проверки подписи 110 ISOIIEC 9796 состоит из по­

следовательного выполнения трех этапов, на каждом из которых ли­

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

дого из этапов завершилось с положительным результатом.

1. Открытие подписи (sigпаtuге opening). Пусть s - подпись. Выполнение этого этапа заключается в следующем:

а) к подписи s с целью восстановления IR' применяетсяоткры­ тое преобразованиепроверкицифровойподписи,напримердля схемы RSA вычисляется se mod11 ;;;; lR/ ;

б) подпись отклоняется, если IR' не является строкой длиной k бит со старшим битом, равным единице, или если младшая тетрада не равна 0110.

2. Восстановление сообщения. Этот этап состоит из трех частей. 2.1. Из целого числа IR' конструируетсябитовая строка MR'

длиной 2! байт. Для этого:

а) k-l младшихбит числа IR' обозначаетсяХ;

б) если и4 11 из 11 и2 11 О11О - четыре младшие тетрады Х, младший байт Х замещается на n-1 4) 11 и2 ;

в) MR' получается путем дописыванияк Х слева от нуля до 15 нулевых бит таким образом, что результирующая строка имеет длину 2t байт.

2.2. Вычисляются значения z и r следующим образом:

а) из 2t байт MR' вычисляются t сумм: мн; Ef)S (МR~i-l)' 1:Si ::::; t . Если все суммы равны нулю, подпись отклоняется;

б) z - наименьшее из i, для которого мп; Ef) S (MR;i-\ ) "# О;

68

Запечников С. В. Криптографические протоколы 1/ их примененив

В) r - самая младшая тетрада суммы, найденной на шаге «б»; подпись отклоняется, если не выполнено условие 1~ 181 ~ 8 (в шест-

надцатеричной системе счисления).

2.3. Из MR' конструируется строка МР' длиной z байт сле­ дующим образом:

а) вычисляется МР/= MR~i_l для 1~ i ~ z ;

б) подпись отклоняется, если r-l старшихбит мр' не всеравны

нулю;

В) м' - это 8z-r+ 1 младших бит МР' .

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

а) из м' конструируется строка мн: путем применения шагов

(1) - (3) процедуры генерации подписи (т. е. производится ее по­ вторный пересчет);

б) подпись принимается тогда и только тогда, когда k-l млад­ ших бит MRII равныk-l младшимбитам м«.

1.6.2. Схема цифровой подписи с опережающей безопасностью

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

разглашения секретного ключа подписи, но сделать это самым про­

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

тации.

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

гистрируя открытый ключ РК и храня в тайне соответствующий ему