Анализ криптостойкости нейросетевого алгоритма симметричного шифрования

Анализ криптостойкости нейросетевого алгоритма симметричного шифрования

Солодовников В.И., Евдокимов И.А.

Центр информационных технологий в проектировании РАН

info@ditc.ras.ru

Аннотация

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

1 Введение

Нейронные сети обладают возможностями классификации, кластеризации, фильтрации, распознавания зашумленного сигнала и т.д. Ряд нейросетевых парадигм позволяет осуществлять классификацию объектов одного класса, находящихся в различных несвязанных областях [Каллан, 2001; Ежов, Шумский, 1998]. Эти особенности делают их привлекательными для использования в качестве основы при создании новых методов криптографической защиты информации, так как один и тот же символ в одном и том же сообщении будет иметь разную кодировку, причем значения кодов могут изменяться в широком диапазоне. Кроме того, алгоритмы на основе нейронных сетей реализуются аппаратно, что позволяет увеличить скорость шифрования и дешифрования данных, а также моделировать их работу на высокопроизводительных супер-ЭВМ.

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

ных и вычислительных ресурсов вскрытия до тех пор, пока защищенная информация остается актуальной. В настоящее время единственно абсолютно стойким методом шифрования является метод «одноразового блокнота», предложенный еще в 1917 году Гильбертом Вернамом (Gilbert Vernam), поскольку доказана его безусловная секретность. На практике в основном используются вычислительно стойкие системы. Их стойкость базируется на теории сложности и оценивается на какой-то определенный момент времени. Изначально осуществляется анализ алгоритма с точки зрения атаки на него методом грубой силы и определяется вычислительная сложность полного перебора всех ключей. Дальнейшее исследование алгоритма с целью поиска уязвимо-стей добавляет оценки стойкости по отношению к ряду известных криптографических атак (например: линейный криптоанализ, дифференциальный криптоанализ и др.) и могут понизить вычислительную сложность. Также важным направлением проверок являются атаки на реализацию конкретного комплекса. Чем более длительным и экспертным является анализ алгоритма и реализаций, тем более достоверной можно считать его стойкость. В каждом конкретном случае могут существовать дополнительные критерии оценки, с учетом известных уязвимостей и их влиянием на вычислительную сложность.

2 Классификация нейросетевого алгоритма шифрования

Нейросетевой алгоритм шифрования основывается на поиске искаженного кода, который может распознать или восстановить используемая сеть с заданными характеристиками [Гридин, Солодовников, Евдокимов, 2011]. Без потери общности будем рассматривать алгоритм шифрования некоторой текстовой информации, т.е. будем оперировать символами или наборами символов и их зашифрованными соответствия-

ми

состоящих из 0 и 1, где 5 -размерность блока шифруемых данных. Таким образом, предлагаемый алгоритм применим для любого потока данных.

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

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

3 Построение математической модели шифра замены

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

• совокупность множеств возможных открытых текстов;

• ключ шифрования;

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

• совокупность множеств возможных шифротекстов;

• ключ дешифрования;

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

Пусть Х,К,У - конечные множества возможных открытых текстов, ключей и зашифрованных текстов соответственно. Через Ек : X  У представим правило шифрования на ключе к е К . Множество {Ек : к е К} обозначим через Е, а множество {Ек (х) : х е X} - через Ек (X) . Тогда

Вк : Ек (X)  X - это правило дешифрования на ключе к е К , и В - множество {Вк : к е К} [1].

Система шифрования может быть определена через совокупность X А = (X, К, У, Е, В) введенных множеств, для которых выполняются следующие свойства:

1. Для любых х е X и к е К выполняется равенство Вк (Ек (х)) = х;

2. У = и Ек (X).

кеК

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

элементов х е X и к е К .

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

Для описания произвольного шифра замены в модель X А = (X, К, У, Е, В) может быть внесен ряд дополнений. Так открытые и шифрованные тексты X и У являются словами в алфавитах А и В, где: X С А , У С В , |А| = п , |В| = т . Знак «*» обозначает множество слов конечной длины соответствующего алфавита. Перед шифрованием открытый текст предварительно представляется в виде последовательности символов или групп символов, называемых шифрвеличинами. В процессе шифрования шифрвеличины заменяются некоторыми их эквивалентами в шифротексте или шиф-робозначениями. Как шифрвеличины, так и шифробозначения представляют собой слова из А и В соответственно. Пусть и = \и1,...,иы} - множество возможных

шифрвеличин, V = {у\,...,Ум} - множество возможных шифробозначений. Эти множества должны быть такими, чтобы любые тексты х е X , у е У можно было предста-

вить словами из и , V соответственно. Требование однозначности дешифрования влечет неравенства N > п , М > т , М > N .

Правило шифрования Ек (х) заключается

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

N

ставить в виде объединения V = не-

пересекающихся непустых подмножеств

V(г). Произвольное семейство, состоящее из г таких разбиений множества V, имеет следующий вид:

N

V = Ц^'Ч а = 1, г , г е N .

1=1

Тогда отображение множества шифрве-личин в множество шифробозначений можно представить как семейство биекций: ( а : и  ,..., Vа(N)}, для которых

(а (и, ) = V(), I = ЪМ .

Рассмотрим также произвольное отображение у : К х N  Nr*, где Nг ={1,2,..., г}, такое, что для любых

к е К , I е N , у(к,I) = а<к)...а(к),

а(к) е Nг, у = 1,1 . Последовательность

У(к, I) является распределителем, отвечающим данным значениям к е К , I е N . В случае г=1 шифр замены называют од-ноалфавитным или шифром простой замены, в противном случае - многоалфавитным.

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

пусть х е X , х = х1...х1, х, е и , , = 1,1; к е К и у(к,/) = а1к)...а(к), тогда Ек (х) = У , где у = У1... у,,

Уу е()(ху), у = и [1].

В качестве уу. можно выбрать любой

элемент множества (() (х. ) . Всякий раз

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

ность при зашифровании не препятствует расшифрованию, так как V{al) I V(a 1) = 0

при IФ1.

4 Однозначные и многозначные шифры замены

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

"а, I:

у«)

=1

Для многозначных шифров замены:

За, /:

а

> 1

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

5 Шифр пропорциональной замены и нейросетевой алгоритм

Рассматриваемый нейросетевой алгоритм шифрования во многом подобен шифру пропорциональной замены, что обусловлено алгоритмом формирования нейронной сети на предварительном этапе. Можно выделить следующие основные составляющие предварительного этапа [Гридин, Солодовников, Евдокимов, 2011]:

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

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

Для создания обучающего множества используется информация о частотности появления символов (групп символов) из исходного алфавита A. Если такие данные отсутствуют, то необходимо произвести анализ исходного текста и рассчитать частоты вхождения каждого символа в шифруемом сообщении х(п1...п{) , где ^ - количество различных символов в исходном тексте, ni - число вхождения 1-го символа в исходный текст. В дальнейшем осуществляется формирование областей (кластеров) пространства шифрования, в границах которых будет осуществляться выбор шиф-робозначений (кодов символов). Данная особенность гарантирует равномерное распределение символов входной последовательности х = х1...х1 в области шифрования, что делает затруднительным применение к алгоритму методов частотного криптоанализа. Режим работы распределителя у (к, I) состоит из следующих шагов:

1. Выделение очередного символа или группы символов (шифрвеличины) используемого алфавита А.

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

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

Результатом работы алгоритма будет

вектор у = У1...у,, где У} е <Рау) (х}) , который соответствует полученному зашифрованному тексту. Данный подход позволяет шифровать одни и те же символы или группы символов различными кодовыми последовательностями, причем находиться они могут в несвязанных областях пространства шифрования.

6 Классические методы криптоанализа

Криптоанализ представляет собой набор математических методов вскрытия алгоритмов шифрования [Панасенко, 2006], ос-

новной целью которых является решение следующих задач:

1. Получение открытого текста из зашифрованного;

2. Вычисление ключа шифрования.

Вторая задача является более общей, но в

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

• Полный взлом - криптоаналитик извлекает секретный ключ.

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

• Частичная дедукция - криптоанали-тику удается расшифровать или зашифровать некоторые сообщения.

• Информационная дедукция - криптоаналитик получает некоторую информацию об открытом тексте или ключе.

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

Атаки на алгоритмы шифрования принято классифицировать в зависимости от того набора информации, который имеет злоумышленник перед осуществлением своей атаки. Брюс Шнайер [Шнайер, 2002] выделяет 4 основных и 3 дополнительных метода криптоанализа, при этом предполагается, что криптоаналитик обладает всей полнотой знания об используемом алгоритме шифрования. К основным методам криптоанализа относятся:

1. Атака на основе шифротекста;

2. Атака на основе открытых текстов и соответствующих шифротекстов;

3. Атака на основе подобранного открытого текста (возможность выбрать текст для шифрования);

4. Атака на основе адаптивно подобранного открытого текста.

Дополнительные методы криптоанализа включают:

1. Атака на основе подобранного шиф-ротекста;

2. Атака на основе подобранного ключа;

3. Бандитский криптоанализ.

Теоретически, возможности криптоана-

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

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

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

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

операции 1 т 1

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

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

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

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

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

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

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

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

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

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

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

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

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

7 Заключение

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

Благодарности

Работа выполняется в рамках программы фундаментальных научных исследований ОНИТ РАН «Архитектурно-программные решения и обеспечение безопасности су-

перкомпьютерных информационно-

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

Список литературы

Алферов А. П., Зубов А. Ю., Кузьмин А. С., Че-ремушкин А. В. Основы криптографии. // М.: Гелиос АРВ, 2005.

Гридин В.Н., Солодовников В.И., Евдокимов И. А. Применение нейросетевого подхода на основе LVQ-сети для шифрования текстовой информации // Системы высокой доступности. - М.: Радиотехника, 2011 - №1, т.7 - С. 65-68.

Каллан Р. Основные концепции нейронных сетей. М.: Издательский дом «Вильямс», 2001.

Ежов А., Шумский С., Нейрокомпьютинг и его применение в экономике и бизнесе, 1998.

Панасенко С.П. Современные методы вскрытия алгоритмов шифрования, часть 1. // СЮ^огИ. - 23.10.2006 г.

Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си— М.: Триумф, 2012.