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

Основы ИБ

.pdf
Скачиваний:
133
Добавлен:
05.06.2015
Размер:
2.49 Mб
Скачать

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

стей, имеющих одинаковые свѐртки.

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

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

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

Если требуется проверить наличие у кого-либо файла, имеющегося у пользователя, то достаточно получить свѐртку этого файла и сравнить еѐ со свѐрткой, вычисленной пользова-

телем.

Если нужно, чтобы проверка была доступна только определѐнному лицу, то использу-

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

Хеш-функция без использования ключа (американский стандарт - Secure Hash Standard) опи-

сана в Приложении 7 книги [4.5].

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

кой или кодом проверки подлинности сообщения (англ. аббревиатура – МАС). Для вычисле-

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

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

Пусть пользователи А и Б имеют ключ k для связи между собой; f(x,k) – однонаправ-

ленная функция с ключом, где x Х*, k K.

Задача: пользователь А должен передать пользователю Б несекретное сообщение x и

защитить его от несанкционированного изменения (вставка, удаление или замена фрагмента)

со стороны нарушителя Н.

Решение: 1) пользователь А вычисляет имитовставку s=f(x,k) и отправляет пользовате-

лю B пару (x,s), то есть сообщение x, к которому присоединена имитовставка s Хm (Хm

множество слов длины m в алфавите Х);

2) пусть пользователь Б получил сообщение y, где y Х*, тогда он представляет y как пару (x ,s ), где s Хm, и, используя ключ k, вычисляет величину z=f(x ,k).

Теперь в соответствии со свойствами функции f делаются выводы:

если z=s , то x =x, то есть исходное сообщение x не изменено;

если z s , то пара (x,s) изменена и сообщение y является ложным.

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

1) Если нарушитель, контролирующий линию связи, изменил сообщение x и направил пользователю Б сообщение x, то для того, чтобы изменение осталось незамеченным, он должен присоединить к x имитовставку z. Вместе с тем, вычислить имитовставку z наруши-

тель не может, так как не он знает ключа k, а вероятность p случайного угадывания имитов-

ставки z ничтожно мала при использовании подходящих значений m. В частности, если со-

общения представлены в двоичном алфавите, то p=2-m.

2) При имитовставке s сообщение x принимается как ложное, так как вероятность

P{f(x,k)=f(x ,k)} при ключе k, случайно и равновероятно выбранном из множества K, ничтож-

но мала. Для сообщений в двоичном алфавите P{f(x,k)=f(x ,k)}=2-m.

Для имитовставок, используемых криптосистемами DES и ГОСТ 28147-89, величина равна m равна 24 и 32 соответственно, то есть вероятность случайного совпадения имитов-

ставок ложного и истинного сообщений (а также вероятность случайного угадывания ими-

товставки) не превышает 10-7 для DES и 10-9 для ГОСТ 28147-89.

4.4.4 Цифровая подпись

Цифровая подпись используется как аналог традиционной собственноручной подпи-

си, и предназначена для аутентификации информации и обеспечения неотказуемости от ав-

торства.

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

мажном носителе, издавна рассматривалась как доказательство авторства или согласия с со-

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

1.Неповторимость, ибо свидетельствует, какое именно лицо намеренно подписало документ.

2.Подлинность, ибо убеждает, что именно данное лицо подписало документ.

3.Отсутствие многократности для данного конкретного документа, так как собст-

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

4.Обеспечение неизменности содержания документа

5.Неотказуемость.

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

Рассмотрим использующий симметричную криптосистему протокол цифровой подпи-

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

Пусть отправитель А хочет подписать цифровое сообщение и послать его адресату Б.

Используя симметричный шифр Е={Ek}, он может это сделать с помощью посредника,

имеющего ключ k1 для секретной связи с отправителем А и ключ k2 для секретной связи с ад-

ресатом Б. Эти ключи должны быть установлены заранее до начала протокола и могут ис-

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

Изложим протокол по шагам.

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

отправляет криптограмму b посреднику, где

Ek1 (a) b

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

E 1 (b) a

k1

3. Посредник формирует блок информации IA=[a,b,pА], состоящий из расшифрованно-

го сообщения a, копии криптограммы b и информационного блока pA, подтверждающего, что сообщение исходило от А (идентификатор абонента А). Используя ключ k2, он шифрует блок

IA, и посылает криптограмму c получателю Б, где

Ek2 (I A ) c .

4. Б расшифровывает криптограмму c, используя ключ k2

E 1 (c) I

 

k2

A

 

=[a,b,pА].

Теперь он может прочесть сообщение a и сертификат посредника pА о том, что его от-

правил А.

 

К достоинствам протокола следует отнести следующее.

1. Только посредник и отправитель А совместно владеют секретным ключом k1, по-

этому только А мог отправить посреднику сообщение, зашифрованное ключом k1 (защита цифровой подписи от подделки) и подтверждение посредником этой подписи достоверно.

Если активный нарушитель попытается выдать себя за отправителя А, посредник обнаружит это на шаге 2 и не отправит сообщение адресату Б.

2. Подпись не тиражируется и подписанный документ неизменяем. Если бы Б попы-

тался сертификат посредника pА объединить с ложным сообщением a', то есть заявить, что он получил блок с сообщением a' и сертификатом pА, то посредник обнаружил бы это несоот-

ветствие. Он запросил бы у Б это ложное сообщение a' и криптограмму b. Зашифровав лож-

ное сообщение a' на ключе k1, посредник обнаружил бы, что Ek1 (a ') b , то есть вычисленная криптограмма не совпадает с криптограммой b, которую ему прислал Б. Естественно, Б не

мог бы предъявить криптограмму b', которая согласуется с a', потому что он не знает ключа k1.

3. От этой подписи нельзя отречься (неотказуемость). Если отправитель А позднее заявит, что он не посылал сообщения a, то сертификат посредника pА вкупе с сообщением a,

хранящиеся у Б, засвидетельствуют обратное.

Таким образом, данный протокол устраняет недостатки, присущие традиционной подписи на бумажном документе.

Этот протокол в принципе выполним, но он требует высокопроизводительной и без-

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

ный документ. Посредник является узким местом в такой системе связи, даже если он - без-

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

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

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

Таким образом, протокол хорош скорее в теории, чем на практике.

Рассмотрим более практичные протоколы цифровой подписи, реализуемые с исполь-

зованием асимметричных криптосистем.

В некоторых системах с открытым ключом, например, в криптосистемах RSA и Эль Гамаля (см. Приложения 8 и 9 в [4.5]), создание цифровой подписи равносильно зашифрова-

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

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

Такой протокол в принципе обеспечивает юридическую значимость цифровой подпи-

си и не нуждается в посреднике. Вместе с тем, требуются некоторые усложнения этого про-

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

Подписание больших документов посредством их шифрования асимметричным алго-

ритмом неэффективно в силу невысокой скорости шифрования. Поэтому эффективнее под-

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

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

ляться отдельно от документа.

Чтобы нарушитель не смог воспользоваться многократно подписанным документом

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

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

Соответствующий протокол с посредником предусматривает следующие шаги.

1.А подписывает сообщение.

2.А генерирует заголовок, содержащий идентификационную информацию, затем до-

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

ет посреднику.

3. Посредник проверяет подлинность наружной подписи и подтверждает идентифи-

кационную информацию. Далее он проставляет метку времени на сообщении и на идентификационной информации. Затем он подписывает весь пакет и отсылает его как автору подписи А, так и адресату Б.

4.Б проверяет подлинность подписи посредника, идентификационную информацию и подлинность подписи А.

5.А проверяет подлинность сообщения, которое посредник послал Б. Если А не при-

знаѐт своего авторства, он немедленно заявляет об этом.

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

Вместе с тем, важным вопросом является защита базы открытых ключей от несанкциониро-

ванных изменений со стороны нарушителя. Один из вариантов защиты предусматривает ис-

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

4.4.5 Неотслеживаемость информации

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

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

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

Рассмотрим соединяющую Банк-1 и Банк-2 линию связи, в которой в течение рабоче-

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

Если все три блока шифруются независимо, например, используется режим ECB (простой замены) блочного шифра, то сообщение (x,y,z) зашифровывается в сообщение (Ek(x), Ek(y),

Ek(z)). В этом случае нарушитель может организовать следующую аферу, используя несо-

вершенство протокола и наблюдения за шифрованными сообщениями из Банка-1 в Банк-2.

1.Нарушитель накануне заводит счета в Банке-1 и в Банке-2.

2.С утра делает два платежа по 10 руб. со своего счета в Банке-1 на свой же счет в Банке-2.

3.Наблюдая в течение рабочего дня платежи в сети, он выделяет шифрованное со-

общение, которое отправлено 2 раза. Тем самым, он определяет на текущие сутки

Ek(z) – свои шифрованные реквизиты в Банке-2.

4.Перехватывая все платежные поручения из Банка-1, нарушитель заменяет в них 3-

й блок на Ek(z) и направляет затем в Банк-2. Тем самым он направляет на свой счѐт

весь денежный поток из Банка-1 в Банк-2.

Для успешного завершения аферы нарушителю достаточно в конце дня снять деньги со своего счета в Банке-2 и скрыться от преследования.

Разумеется, имеются контрмеры против такой аферы:

1)использование сеансового (а не суточного) ключа;

2)использование меток времени и режимов блочного шифра (CBC, CFB), исклю-

чающих одинаковые шифртексты при аналогичных платежах.

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

4.5 Ключевая подсистема криптосистемы

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

тографической стойкости шифрсистемы. При этом важны оба компонента ключевой систе-

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

4.5.1 Строение и порядок ключевого множества

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

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

Некоторые ключевые множества неоднородны, обладают определѐнными структур-

ными свойствами. Например, ключевое множество К может иметь вид:

К = К1 К2,

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

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

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

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

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

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

ны n (обозначим его Vn), то элемент множества Vn называется бинарным ключом и размер ключа равен n битам. Порядок ключевого множества в этом случае равен 2п.

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

равен n. Порядок ключевого множества в этом случае равен п!.

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

числительные мощности.

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

надѐжности и стоимости работы с ключами шифра. Поэтому определение криптографом

размера ключа при разработке шифрсистемы – это определенный компромисс между разно-

направленными факторами.

При обсуждении в криптографической литературе приемлемых длин ключей на сего-

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

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

ретности рекомендуемая длина ключа составляет не менее 128 битов. Для криптосистем с открытым ключом эта оценка выше, по крайней мере, в 10 раз.

Если уровень секретности защищаемой информации не самый высокий, то длина ключа может быть сокращена, но не более чем на 50%.

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

сти, заданием вероятностного распределения на ключевом множестве, которое рассматрива-

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

pk

 

чайного открытого текста. При этом k K

= 1.

Наиболее естественной и часто принимаемой криптоаналитиком моделью является та,

в соответствии с которой ключи для шифрования выбираются независимо от открытых тек-

стов и обладают хорошими статистическими свойствами, то есть:

1) для каждого периода эксплуатации (сеанса, суток, и т.д.) ключ выбирается случай-

но равновероятно из ключевого множества K, то есть pk=1/ K для любого k K;

2)при смене ключей новый ключ выбирается независимо от предыдущих.

4.5.2Генерация ключей

Важнейшей характеристикой ключа является его случайность. Наличие закономерно-

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

ства сокращается до 240. То есть полный перебор ключей требует вычислительных затрат в

10 миллионов раз меньше, чем в первом случае.

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

лью взлома криптосистемы называется атакой по словарю.

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

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

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

Генерация ключей для асимметричных криптосистем является более сложной проце-

дурой, так как ключи должны иметь определѐнные теоретико-числовые свойства, например,

быть простыми числами.

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

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

няемых к открытым текстам (сообщениям), а также для формирования начальных парамет-

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

ми классами криптосистем.

Наилучшие криптографические свойства криптосистемы достигаются при использо-

вании так называемых случайных идеальных последовательностей. Случайная идеальная по-

следовательность является реализацией последовательности независимых случайных вели-

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

Такие последовательности называют также равномерно распределѐнными (на некотором множестве) случайными последовательностями (РРСП).

РРСП (на множестве Х мощности k) – это последовательность { 1, 2,…, t,…} случай-

ных величин, принимающих значения в множестве Х, определѐнная на некотором вероятно-

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

1)для любого п и произвольных значений индексов 1 t1<…<tn случайные

величины ζt1 ,..., ζtn независимы в совокупности;

2)для любого натурального t случайная величина t равномерно распреде-

лена на множестве Х, то есть принимает все значения в Х с одинако-

выми вероятностями.

При выполнении этих двух базовых требований выполняется ряд других свойств РРСП. Перечислим некоторые из них.

Свойство 1. Любая выборка случайных величин из последовательности

{ 1, 2,…, t,…} распределена равномерно на множестве Хп.

Свойство 2 (воспроизводимость при «прореживании»). Любая подпоследовательность последовательности { 1, 2,…, t,…} также является РРСП. Свойство 3 (воспроизводимость при суммировании). Сумма РРСП со случайной или с неслучайной последовательностью также является РРСП.

Свойство 4. При любом натуральном t предсказание значения t по знакам 1,…, t-1

невозможно.

Устройство, позволяющее сгенерировать реализацию РРСП произвольной длины, на-

зывают генератором РРСП. Элементы этой реализации называют случайными числами.

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

как правило, электронные устройства, выходные сигналы которых по своей физической при-

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

1)невозможность тиражирования (повторения ранее полученной) реализации;

2)нестабильность функционирования электронного устройства (помехи, сбои, смеще-

ния режима и др.), приводящая к необходимости контроля каждой реализации.

Для генерации РРСП может использоваться также табличный генератор, под кото-

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

ки из равномерного распределения. Основные недостатки табличных генераторов:

1)ограниченность объѐмов таблиц;

2)большой расход оперативной памяти компьютера при хранении таблицы случай-

ных чисел;

3)необходимость обеспечения информационной защиты табличных массивов.

Указанные недостатки, а также ограничения на производительность генерации слу-

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

стью объѐмов таблиц, делают практическое использование физических и табличных генера-

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

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

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

ченные для генерации псевдослучайных последовательностей (ПСП), имитирующих РРСП.

Программные генераторы часто называют генераторами ПСП.

Основной недостаток программного генератора – наличие в реализуемой последова-

тельности закономерностей. Качество программного генератора последовательностей на-