Научная статья на тему 'Улучшение криптостойкости нейросетевого алгоритма симметричного шифрования за счет использования комитетов нейронных сетей'

Улучшение криптостойкости нейросетевого алгоритма симметричного шифрования за счет использования комитетов нейронных сетей Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
431
58
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Солодовников В. И.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Улучшение криптостойкости нейросетевого алгоритма симметричного шифрования за счет использования комитетов нейронных сетей»

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

нейронных сетей

Солодовников В.И.

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

[email protected]

Аннотация

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

1 Введение

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

криптографических алгоритмов.

2 Нейросетевой алгоритм симметричного шифрования

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

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

3 Математическая модель

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

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

[Алферов, Зубов, Кузьмин, Черемушкин, 2005].

Для описания произвольного шифра замены в модель ЕА может быть внесен ряд дополнений. Так открытые и шифрованные тексты X и Y являются словами в алфавитах

А и В, где: X с А*, У с В*, |А| = п,

|В| = т . Знак «*» обозначает множество слов

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

представляют собой слова из АА и В*

и = {#!,..., им } -

множество

V = &,..., ум}

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

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

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

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

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

соответственно. Пусть

возможных шифрвеличин, множество возможных

представить в виде объединения V = \ V

г=1

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

V = ^^ , а = 1, г, г е N.

г=1

Тогда отображение множества

шифрвеличин в множество шифробозначений можно представить как семейство биекций:

Ра : и ^ {Га(1),..., V ^)}, для которых

^а ) = V«, I = .

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

е N., j = 11

является

Лк) Лк)

а

I е N, у (к, I) = а[к )...а1

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

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

вид: пусть х е X, х = х1...х1, xi е и, / = 1,1 ; к е К и у (к ,1) = а[к )...а (к), тогда Ек (х) = У, где у = у1.. .у г, у} е р^, (х-) ,

j = 1,1

[Алферов, Зубов, Кузьмин,

Черемушкин, 2005]. В качестве у- можно

выбрать любой элемент множества р ^) (X-) .

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

расшифрованию, так как V(a') П V(a 11 = 0 при ^ * 1.

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

V«,I: У(= 1;

?

Для многозначных шифров замены: За,I: > 1

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

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

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

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

X — Xi .. .Xi л 1

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

соответствовать построению

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

определенному алфавиту, т.е. обеспечивать собственное преобразование (ра : U ^ V .

Выбор той или иной сети на каждом шаге шифрования/дешифрования может

осуществляться как последовательно, так и по определенному правилу.

4 Криптоанализ нейросетевого алгоритма шифрования

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

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

Вообще в криптографии рассматривают два подхода, подразумевающие

теоретическую стойкость и практическую (вычислительную) стойкость. Теоретическая стойкость шифров определяется

принципиальной возможностью получения некоторой информации об открытом тексте или использованном ключе без учета реальных временных и сложностных затрат по вскрытию шифра. Практическая стойкость шифров по Шеннону использует рабочую характеристику шифра, представляющую собой средний объем работы W(N), необходимый для определения ключа по криптограмме, состоящей из N букв. Будем подразумевать, что сам алгоритм шифрования атакующему известен, а неизвестен только ключ, т.к. стойкость шифрования должна определяться лишь секретностью ключа шифрования [Панасенко, 2006].

Атаки на алгоритмы шифрования принято классифицировать в зависимости от того набора информации, который имеет злоумышленник перед осуществлением своей атаки. Можно выделить четыре основных варианта [Шнайер, 2002].

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

У1 = Екх (Х1 Ут = Ekm (Хт ) , отвечающими неизвестным открытым текстам различных сообщений. Требуется определить хотя бы одно из сообщений х;, / = 1..т или соответствующий ключ ki, исходя из необходимого числа т криптограмм, или убедиться в своей неспособности сделать это.

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

располагает парами (х1, у1),...,( хт, ут) открытых и отвечающих им шифрованных текстов. Требуется определить ключ ki для хотя бы одной из пар. В частном случае, когда ^ = ... = km, требуется определить ключ k или, убедившись в своей неспособности сделать это, определить открытый текст Хт+1 еще одной

криптограммы У т+1 = Ек (Хт+1 ) ,

зашифрованный на том же ключе.

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

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

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

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

зашифрованных данных.

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

(дифференциального) и линейного криптоанализа.

Атака методом грубой силы (ЬгШ;е-£эгсе-айаск), которая предполагает полный перебор всех возможных ключей шифрования, применима для всех типов

криптографических алгоритмов. Ее эффективность зависит от размера ключа шифрования и если ключ состоит из N бит, то

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

такой поиск потребует 2N 1 тестовых операций шифрования.

Для нейросетевого алгоритма ключом является сама сеть и ее структурные характеристики. Оценить размер такого ключа можно через подсчет объема требуемой памяти для хранения всех весовых коэффициентов. Если используется двухслойная нейронная сеть, то можно говорить о двух матрицах Wl и W2, а размер ключа вычисляется по формуле:.

N = s • q • Ь + q • с • Ь

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

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

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

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

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

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

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

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

5 Варианты улучшения криптостойкости

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

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

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

Еще одним способом улучшить криптостойкость может служить

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

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

6 Заключение

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

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

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

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

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

вычислительных комплексов новых поколений».

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

Алферов А. П., Зубов А. Ю., Кузьмин А. С.,

Черемушкин А. В. Основы криптографии. // М.:

Гелиос АРВ, 2005.

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

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

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

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

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

i Надоели баннеры? Вы всегда можете отключить рекламу.