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

Основы ИБ

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

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

довательности получили наиболее широкое использование в криптографической практике.

Рассмотрим имеющиеся подходы к анализу ПСП. В математической литературе ПСП над конечным множеством X определяется как последовательность длины m, порождаемая из случайной последовательности длины n с помощью детерминированной функции полиноми-

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

жений в определенном поле), достаточных для вычисления ПСП длины m, ограничено свер-

ху величиной f(n), где f( ) – положительный полином над кольцом Z целых чисел. Отсюда следует, в частности, что сложность вычисления одного знака ПСП и длина m ПСП ограни-

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

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

Многообразие критериев оценки ПСП чрезвычайно велико. Каждый из подходов к анализу ПСП можно отнести к одной из двух групп.

Первая группа связана с поиском закономерностей, позволяющих воспроизвести по-

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

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

вых зависимостей.

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

сти: имеется ли в исследуемой последовательности какой-либо частотный дисбаланс, позво-

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

но распределены частоты встречаемости не только отдельных знаков, но и s–грамм последо-

вательности при достаточно больших значениях s.

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

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

ются известные тесты и разрабатываются новые тесты с учѐтом особенностей анализируемо-

го объекта. Если в ходе анализа в некотором классе последовательностей обнаруживается новая слабость, то разрабатывается новый тест, который пополняет используемый набор из-

вестных тестов.

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

Например, американский стандарт генерации ключей ANSI2 X9.17 реализуется криптогра-

фическим алгоритмом, построенным на основе схемы «тройного DES» (см. приложение Приложение 5 в [4.5]).

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

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

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

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

следовательности.

4.5.3 Обеспечение секретности ключей

Важнейшим требованием к ключам является их секретность, что проиллюстрирова-

но выше при описании криптографического протокола организации секретной связи.

Для обеспечения секретности ключей на различных этапах их жизненного цикла при-

меняются следующие организационные и технические меры:

1)ограничение круга пользователей, допущенных к работе с ключами;

2)регламентация распределения, хранения и уничтожения ключей;

3)регламентация порядка смены ключей;

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

рованного доступа.

Рассмотрим некоторые способы реализации этих мер.

Разделение секрета – это способ распределения долей секретной информации между несколькими пользователями, при котором знание каким-либо лицом любой из долей не по-

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

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

2 ANSI (American National Standards Institute) – Американский национальный институт стандартов, отвечает за стандартизацию электронного обмена данных, банковского дела и за вопросы безопасности взаимосвязи открытых систем.

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

стности, для распределения ключей.

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

рета между т пользователями заключается в распределении между ними векторов х1,…,хт из

Vn таких, что х=х1 хт. Действительно, отсутствие хотя бы одной доли приводит к пол-

ной неопределѐнности значения секрета х. И только объединение всех долей позволяет вы-

числить х.

Заметим, если доверить т пользователям значения r1,…,rт координат вектора х соот-

ветственно, где r1+…+rт=п, то это не является разделением секрета (такие схемы иногда на-

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

жет перебрать менее 2п вариантов.

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

дѐжности. Если доля хi одного из пользователей утеряна, то секрет х невозможно восстано-

вить.

В связи с этим введено понятие (п,t)-пороговой схемы разделения секрета, 1<t п, ко-

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

новить секрета не может.

Примером (п,t)–пороговой схемы разделения секрета является схема Шамира, осно-

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

Удобство схемы Шамира состоит в том, что легко изменяется число пользователей, для этого надо просто добавить к элементам r1,…,rп поля P новые элементы. При компрометации т долей секрета, 1 т<t-1, (п,t)–пороговая схема Шамира преобразуется в (п-т,t-т)–пороговую схему.

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

Рассылка ключей. Традиционный способ рассылки ключей симметричной криптоси-

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

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

Альтернативных вариантов имеется несколько. Можно использовать либо какой-

нибудь надѐжный защищѐнный канал связи, либо несколько параллельных каналов связи и

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

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

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

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

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

Хранение ключей. Обеспечение секретности ключа при хранении может быть достиг-

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

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

ча и за точность его ввода возлагается на пользователя;

2)ключ, записанный на карточке (с магнитным носителем, с микросхемой ПЗУ, на смарт-карте), передается в компьютер или шифратор через считывающее устройство, при этом ограничен доступ пользователя к ключу и, следовательно, возможность компрометации ключа;

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

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

ной из его частей;

4) ключ k хранится в памяти компьютера в шифрованном виде и непосредственно пе-

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

Отметим удобство сеансового ключа, состоящее в отсутствии необходимости его хра-

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

сом, то проблема хранения отсутствует полностью.

Если по каким-либо причинам ключ утерян, например, физически уничтожен носи-

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

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

у доверенного лица. Надѐжность этого метода повышается, если используется несколько до-

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

Смена ключей. Некоторые криптосистемы предусматривают ежедневную смену клю-

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

нием однонаправленной функции f: ki+1=f(ki), i=1,2,… Такую процедуру называют обновлени-

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

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

пользованием этого ключа, так как наличие открытого и закрытого ключей позволяет зло-

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

лена, то ущерб от компрометации можно локализовать, используя метки времени в сообще-

ниях. С целью уменьшения потенциального ущерба от компрометации ключей можно ис-

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

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

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

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

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

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

ностью возможность восстановления ключей.

Применяется и архивация ключей – сохранение копий ключей, которые в течение не-

которого временного периода могут быть востребованы.

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

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

Различаются следующие виды протоколов распределения ключей:

1)передача ключа пользователю;

2)совместная выработка пользователями общего ключа (открытое распределение ключей);

3)предварительное распределение ключей.

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

пользователей.

Разберем различные способы ключей с использованием алгоритмов симмет-

ричного шифрования.

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

1. Передача разового ключа k от А к Б осуществляется с помощью пересылки крипто-

граммы E(kАБ,I), полученной зашифрованием открытого текста I с помощью ключа kАБ, где

I = (k, t, б),

t – метка времени, б – идентификатор абонента Б.

Если не осуществлять передачу метки времени, то нарушитель сможет позднее повторно передать сообщение. Если не осуществлять передачу идентификатора б пользова-

теля Б, то нарушитель сможет направить данное сообщение по другому адресу, например,

пользователю А.

2. Для аутентификации сеанса можно использовать протокол, основанный на технике «запрос-ответ».

1) Пользователь Б генерирует случайное число rБ (необходимое, чтобы Б убедился,

что имеет дело именно с А) и отправляет его пользователю А. 2) Пользователь А вычисляет криптограмму E(kАБ,I), где

I = (k, rБ , б),

и отправляет еѐ пользователю Б.

3. Для двусторонней аутентификации сеанса можно использовать следующий прото-

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

Пусть kА и kБ – случайные числа (заготовки для совместной выработки сеансового ключа k), сгенерированные пользователями А и Б соответственно. Тогда:

1) Пользователь Б генерирует случайное число rБ и отправляет его пользователю А

(впоследствии А должен предъявить число rБ пользователю Б).

2) Пользователь А генерирует случайное число rА (впоследствии Б должен предъявить число rА пользователю А), вычисляет криптограмму E(kАБ,I), где

I = (kА, rА, rБ, б),

иотправляет еѐ пользователю Б. Последний расшифровывает криптограмму, и тем самым А предъявляет rБ пользователю Б.

3) Пользователь Б вычисляет криптограмму E(kАБ,J), где

J = (kБ, rА, rБ, а),

иотправляет еѐ пользователю А (а – идентификатор пользователя А). Последний рас-

шифровывает криптограмму, и тем самым Б предъявляет rА пользователю А.

4) Каждая из сторон вычисляет сеансовый ключ k с помощью некоторой функции f:

k = f(kА, kБ).

Ни одна из сторон не знает заранее сеансового ключа.

4. Возможно использование бесключевого протокола Шамира.

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

ровали, то есть при любых ключах k1 и k2 из ключевого множества и любом открытом тексте x выполнялось бы:

E(k1,E(k2,x)) = E(k2,E(k1,x)).

Протокол передачи секретного ключа k от А к Б выполняется так.

1)Пользователь А случайным образом генерирует сеансовый ключ k и ключ kА для передачи ключевой информации, после чего вычисляет криптограмму E(kА,k) и отправляет еѐ пользователю Б.

2)Пользователь Б случайным образом генерирует ключ kБ для передачи ключевой информации, после чего вычисляет криптограмму E(kБ,E(kА,k)) и отправляет еѐ пользователю

А.

3) Пользователь А расшифровывает полученную на 2-м шаге криптограмму с помо-

щью ключа kА, то есть вычисляет

Е(kА-1,E(kБ,E(kА,k))) = E(kБ,k)

и отправляет это сообщение пользователю Б.

4) Пользователь Б расшифровывает полученную на 3-м шаге криптограмму с помо-

щью ключа kБ, то есть вычисляет сеансовый ключ k.

В этом протоколе не следует использовать некоторые коммутирующие преобразова-

ния. Например, в случае гаммирования перехват криптограмм на шагах 1-3 позволяет крип-

тоаналитику беспрепятственно вычислить сеансовый ключ k.

Шамир и Омура независимо показали, что этот протокол можно реализовать с ис-

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

5. Одним из важных элементов криптографических протоколов является использова-

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

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

Рассмотрим протокол передачи сеансового ключа с использованием модуля безопас-

ности. Пусть ключи симметричной криптосистемы образуют трѐхуровневую иерархию: се-

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

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

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

мы.

Ключ передачи kp хранится в незащищѐнном месте, но в зашифрованном виде (с по-

мощью мастер-ключа km).

Ekm (k p ) s p .

При необходимости организации сеанса связи пользователь А вводит в модуль безо-

пасности величину sp, где с помощью мастер-ключа выполняется расшифрование:

E 1

(s

p

) k

p

k

 

 

m

 

 

 

.

 

 

 

 

После этого в модуле сеансовый ключ kc случайным образом генерируется, зашифро-

вывается с помощью ключа передачи kp и затем отправляется пользователю Б:

Ek p (kc ) sc .

Пользователь Б аналогичным образом вычисляет kp и с его помощью расшифровывает сеансовый ключ.

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

Трѐхсторонний протокол. Действующими лицами протокола являются посредник в лице Центра генерации и распределения ключей (ЦГРК), пользователи А и Б, которые имеют секретные ключи k1 и k2 соответственно для связи с ЦГРК. Тогда:

1)Пользователь А вызывает ЦГРК и запрашивает сеансовый ключ Б.

2)ЦГРК генерирует случайный сеансовый ключ k и шифрует две его копии: одну на ключе k1, общем с А, а другую - на ключе k2, общем с Б:

Ek

(k) s1

;

Ek

 

(k) s2

.

1

 

 

2

 

 

 

 

 

 

Кроме того, ЦГРК шифрует на ключе k2 идентификатор pA, подтверждающий подлин-

ность запроса пользователя А:

Ek2 ( pA ) sA .

ЦГРК посылает А в зашифрованном виде идентификатор pA и обе копии сеансового ключа, то есть посылает s1 и информационный блок [s2,sA].

3) А расшифровывает свою копию сеансового ключа:

E 1 (s ) k

.

k 1

1

 

4)А пересылает Б информационный блок [s2,sA].

5)Б расшифровывает свою копию сеансового ключа и идентификатор А:

E 1 (s ) k

;

E 1 (s ) p

 

.

k

2

2

k

2

A

A

 

 

Б получает ключ и узнает, кто его вызывает для связи.

6) А и Б с помощью сеансового ключа k устанавливают секретную связь.

К недостаткам данного протокола следует отнести требование абсолютной безопас-

ности ЦГРК. Если активный нарушитель подкупит сотрудников ЦГРК, скомпрометирован-

ной окажется вся сеть, обслуживаемая данным ЦГРК. Активный нарушитель завладеет все-

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

Для этого ему достаточно контролировать линии связи и расшифровывать перехваченные криптограммы.

При большом числе пользователей в сети нагрузка на ЦГРК может также оказаться критически высокой.

Свои особенности имеет управление ключами в системах с открытым ключом. Крип-

тография с открытым ключом упрощает управление ключами, но у неѐ есть свои недостатки.

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

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

рушителя получила название «активного нарушителя посередине».

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

чей, представляющие собой документ (на бумажном или электронном носителе), подписан-

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

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

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

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

В системах с открытым ключом используется также алгоритм Диффи-Хеллмана. В

этом случае для совместной выработки ключа пользователи А и Б выбирают большое про-

стое число п и число g, порождающее подгруппу большого порядка в мультипликативной группе вычетов по модулю п (в лучшем случае g – примитивный корень по модулю п). Иначе говоря, все числа множества {gmodn, g2modn,…, gnmodn} являются различными. Числа п и g

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

1) А выбирает случайное большое целое число х и посылает Б число Х:

Х = gхmodn.

2)Б выбирает случайное большое целое число y и посылает А число Y:

Y = gymodn.

3)А вычисляет значение:

k = Yхmodn.

4) Б вычисляет значение: k = Хymodn.

Из правила возведения чисел в степень следует, что k=k , и криптоаналитику для вы-

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

. Для противодействия «активному нарушителю посередине» используются более

развитые протоколы, например, протокол «станция-станция» [4.5,4.8].

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

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

Рассмотрим сеть с n пользователями, в которой каждая пара пользователей использует

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

Кп = (kis), i,s{1, ... ,n},

где kis есть ключ для связи i-го и s-го пользователей , i s; kii - пустой символ. Пользо-

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

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

С целью уменьшения объѐма хранимой информации и применяются схемы предварительно-

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

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

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

ное поле большого порядка. Зафиксируем п элементов r1,…,rn поля Р, cоответствующих п пользователям сети. Эти числа не являются секретными и хранятся на общедоступном сер-

вере. Секретным является симметричный многочлен f(x,y) над Р степени 2m, 1m<n (аij=aji

при i j):

m m

 

 

aij

xi

y j

f(x,y) = i 0 j 0

 

.

Коэффициенты многочлена f(x,y) хранятся в центре распределения ключей.

Пользователь А получает в качестве ключевых материалов набор ( a0A , a1A ,…, amA ) ко-

эффициентов многочлена