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

Иванов М.А. КМЗИ сети

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

8.1. Стохастические методы защиты информации

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

Генераторы ПСЧ и хеш-генераторы успешно решают практически все задачи, стоящие перед разработчиками систем обеспечения безопасности информации (ОБИ). При реализации большинства методов защиты информации используются генераторы ПСЧ или хеш-генераторы. Иначе говоря, эти методы – стохастические. Более того, наиболее перспективный метод защиты, сутью которого является внесение неопределенности в работу компьютерных систем (реализация которого в принципе невозможна без использования генераторов ПСЧ), универсален. Он может использоваться совместно с любым другим методом защиты, автоматически повышая его качество.

Функции генераторов ПСЧ в системах ОБИ:

формирование тестовых воздействий на входы проверяемых компонентов системы при автономном или встроенном диагностировании; реализация счетчиков команд или адреса (в том числе само-

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

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

гия OAEP);

231

задание последовательности выполнения при внесении неопределенности в последовательность выполнения отдельных шагов алгоритма; задание длительности выполнения при внесении неопреде-

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

грамм (obfuscating));

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

Функции хеш-генераторов в системах ОБИ:

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

электронной цифровой подписи (ЭЦП) для повышения производительности схемы ЭЦП; необратимое преобразование случайных запросов при аутентификации по принципу запрос–ответ;

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

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

232

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

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

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

8.2. Требования к генераторам ПСЧ

Эффективность стохастических методов ОБИ определяется в первую очередь качеством используемых генераторов ПСЧ. Сформулируем, что входит в понятие «качественный генератор ПСЧ».

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

непредсказуемость (по сути, криптографическая стойкость); хорошие статистические свойства, ПСП по своим статисти-

ческим свойствам не должна отличаться от истинно случайной последовательности;

233

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

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

1)определение предыдущего (i – 1)-го элемента ϑi–1 последовательности на основе известного фрагмента последо-

вательности ϑi ϑi + 1 ϑi + 2 ... ϑi + b – 1 конечной длины b (не-

предсказуемость влево);

2)определение последующего (i + b)-го элемента ϑi+b последовательности на основе известного фрагмента гаммы ϑi

ϑi + 1 ϑi + 2 ... ϑi + b – 1 конечной длины b (непредсказуемость вправо);

3)определение ключевой информации по известному фрагменту последовательности конечной длины.

Справедливо следующее утверждение [3, 4]: непредсказуемый влево генератор ПСЧ является криптостойким.

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

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

В рамках другого подхода к построению качественного генератора ПСЧ предлагается свести задачу построения криптогра-

234

фически сильного генератора к задаче построения статистиче-

ски безопасного генератора.

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

ни один статистический тест не обнаруживает в ПСП какихлибо закономерностей (иными словами, не отличает эту последовательность от истинно случайной);

нелинейное преобразование Fk, зависящее от секретной информации (ключа k), используемое для построения генератора, обладает свойством «размножения» искажений – все выходные (преобразованные) вектора eχ возможны и равновероятны независимо от исходного вектора e (рис. 8.3); при инициализации случайными значениями генератор порождает статистически независимые ПСП.

8.3. Классификация генераторов ПСЧ

Классификация генераторов ПСЧ показана на рис. 8.1. В качестве параметров выбраны:

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

Тип функции. По этому параметру генераторы ПСЧ можно разделить на некриптографические и криптографические. К некриптографическим относятся конгруэнтные генераторы, генераторы, функционирующие в конечных полях, и генераторы на регистрах сдвига с нелинейными обратными связями. К криптографическим – блочные и поточные генераторы (см. соответственно разделы 2.4 и 2.8), генераторы на основе односторонних функций (см. раздел 5.8).

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

235

Классификация генераторов ПСЧ

 

Тип

 

 

Некриптографические

 

Конгруэнтные

 

функции

 

 

 

 

 

 

 

 

 

 

 

 

Функционирующие в конечных полях

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

На регистрах сдвига с нелинейными

 

 

 

 

 

 

обратными связями

 

 

 

 

 

 

 

 

 

 

 

 

 

Криптографические

 

На основе

 

Архитектура

 

 

 

 

 

 

односторонних функций

 

«Сеть Фейстеля»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Блочные

 

Архитектура

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

«Квадрат»

 

 

 

 

 

 

 

 

 

 

 

 

 

Поточные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Способ управления синхронизацией

Механизм получения последовательности

Управление по принципу stop-and-go

Без управления

Комбинирование нескольких ПСЧ

Без комбинирования

 

 

 

 

 

Тип

 

 

 

Без использования

 

 

 

 

 

используемых

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S- или R-блоков

 

 

 

Фиксированная таблица замен

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Секретное фиксированное табличное

 

 

 

 

 

 

 

 

 

преобразование, зависящее от ключа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Секретное табличное преобразование,

 

 

 

 

 

 

 

 

 

зависящее от ключа, содержимое таблицы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

изменяется в процессе работы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Наличие каскадов

 

 

 

Один каскад

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Несколько каскадов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Структура

 

 

Режим OFB использование нелинейной функции обратной связи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Режим Counter использование нелинейной функции выхода

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Внешние источники случайности

 

 

Без использования

 

 

 

 

 

 

 

 

 

Использование информации с системного

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

таймера, мыши, клавиатуры, дисковой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

подсистемы ПК и пр.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Использование

 

 

 

 

 

 

 

 

 

физических источников случайности

Рис. 8.1. Классификация генераторов ПСЧ

236

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

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

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

применение в качестве строительных блоков генераторов, функционирующих в конечных полях (генераторы SOBER, PANAMA, SNOW и др.) [24];

использование при построении нелинейных функций блоков пространственного сжатия (space compression) информации для необратимости результирующего преобразования [29]; применение таблиц замен или стохастического преобразования, непрерывно изменяющихся в процессе работы

(RC4, SQ1-R и др.) [24, 34].

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

Анализ криптографических генераторов позволяет сделать два основных вывода:

237

1)существует трудноразрешимое противоречие между качеством формируемых ПСЧ, с одной стороны, и эффективностью программной и аппаратной реализации генераторов, с другой;

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

вертировать) нелинейную функцию обратной связи или нелинейную функцию выхода генератора ПСЧ.

Структура генератора. Можно выделить два подхода при использовании в составе генераторов ПСЧ нелинейных функций:

1)применение нелинейной функции непосредственно в цепи обратной связи (рис. 8.2,а)

2)двухступенчатая структура (рис. 8.2,б), в которой задача первой ступени (по сути счетчика) заключается всего лишь в обеспечении максимально большого периода при данном количестве N элементов памяти генератора.

Первая схема носит название OFB (Output FeedBack – обратная связь по выходу), вторая – Counter.

 

 

 

ϑi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

Ffb

 

 

 

 

 

 

 

 

 

Ffb

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fk

 

 

 

 

 

 

 

 

 

 

 

 

S0

 

 

 

 

 

 

 

 

 

 

 

S0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S0

 

 

Q

 

 

 

 

 

 

 

 

Q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fk

 

 

 

 

Fout

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

б

 

ϑi

 

 

 

 

 

в

 

 

ϑi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 8.2. Варианты построения генератора ПСЧ:

а– с нелинейной внутренней логикой (режим OFB);

б– с нелинейной внешней логикой (режим Counter); в – общая схема.

Q – элементы памяти генератора; S0 – начальное состояние генератора; Ffb – линейная или нелинейная функция обратной связи;

Fk – нелинейная функция, результат работы которой зависит от секретного параметра k (ключа);, ϑi – элемент выходной последовательности;

Fout – линейная или нелинейная функция выхода генератора

238

Уравнения работы генераторов, функционирующих в режимах OFB и Counter, имеют соответственно вид

­ γt ®¯ Qt 1 ­ γt ®¯ Qt 1

Qt ,

Ffb Qt ,

Fout Qt , Ffb Qt ,

(8.1)

(8.2)

где Q0 = S0; Qt и Qt 1 – состояние генератора в моменты време-

ни t и (t + 1) соответственно; Jt – значение выхода в момент времени t,

Необходимые свойства используемой нелинейной функции иллюстрирует рис. 8.3, где e – входной вектор изменений (ошибок), содержащий 1 в разрядах, соответствующих измененным (искаженным) битам, еc – преобразованный (выходной) вектор изменений. При случайном выборе ключа k при любых изменениях на входе значения преобразованных векторов еc равномерно распределены на интервале [1; 2n – 1], где n – разрядность выходного слова (рис. 8.3,а). Аналогично, при случайном выборе входного слова x при любых изменениях ключа значения преобразованных векторов еc ошибок также равномерно распределены на интервале [1; 2n – 1] (рис. 8.3,б). Такие свойства автоматически имеют место при использовании в роли Fk функции зашифрования качественного блочного криптоалгоритма, обеспечивающей рассеивание и перемешивание информации.

 

x

 

 

x' = x e

 

 

 

 

e = x' x

 

 

 

 

 

 

 

 

 

 

Fk

k

Fk

k

Fk

k

 

 

 

 

 

 

 

 

y = Fk (x)

 

 

y' = Fk (x')

 

 

 

 

e' = y' y

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

 

 

x

 

 

x

 

 

x e =

k' k

 

 

 

 

 

 

 

k

 

 

k' = k e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fk

 

 

Fk

 

 

Fk

 

 

 

 

 

 

 

 

y = Fk (x)

 

 

y' = Fk' (x)

 

 

 

 

e' = y' y

 

 

 

 

 

 

 

 

 

 

 

б

 

 

 

 

 

 

 

 

Рис. 8.3. Свойства нелинейной функции генератора ПСЧ: а и б – входной и преобразованный векторы соответственно при изменении на входе и изменении ключа k

239

Внешние источники случайности. В тех приложениях, где требуется неоднократно формировать одну и ту же последовательность (например, при генерации гаммы) генераторы ПСЧ не имеют внешних источников случайности, во всех же других случаях их использование необходимо. При программной реализации в качестве источников случайности обычно используются системный таймер, клавиатура, «мышь», дисковая подсистема персонального компьютера, стек протоколов TCP/IP и др. Классическим примером такого генератора ПСЧ может служить про-

ект Yarrow фирмы Counterpane Systems Б. Шнайера. При аппа-

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

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

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

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

В схеме применены два криптографических примитива – хешфункция в блоках хеширования и блочный генератор ПСЧ (в режиме OFB или Counter) в блоке генерации. Безопасность комплекса определяется в первую очередь безопасностью этих криптографических примитивов, а также отсутствием уязвимостей программной реализации используемых алгоритмов.

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

240