Защита информации в телекоммуникационных сетях

УДК 517.9

Э. М. Габидулин, Н. И. Пилипчук, О. В. Трушина,

Московский физико-технический институт

Защита информации в телекоммуникационных сетях

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

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

1. Введение

Первой основополагающей работой на тему сетевого кодирования в телекоммуникационных сетях является статья Алсведе, Кэя, Ли и Июнга [1], опубликованная в 2000 году. В ней показано, что на промежуточных узлах сети можно выполнять линейные алгебраические операции в конечном поле и благодаря этому повысить пропускную способность сети. Однако вскоре было замечено, что при этом наблюдается эффект распространения ошибок. Кроме того, как известно, в сетях могут присутствовать нелегальные пользователи-злоумышленники. Возможны ситуации, при которых злоумышленники могут переписывать, подслушивать передаваемые сообщения или вводить свои сообщения. Поэтому вскоре появились работы, посвященные проблемам надежной и секретной передачи информации по сети с сетевым кодированием. Первой такой работой была работа Кэя и Июнга, опубликованная в 2002 году [2]. С этого времени эта тема активно и успешно разрабатывается многими учёными в разных странах, преимущественно зарубежных. К настоящему времени имеется огромное число публикаций, включая большие аналитические обзоры. Например, обзор Фрагули и Солянин 2007 года [3] включает около 100 ссылок на цитируемые работы. В 2009 году нами также был представлен аналитический обзор работ по сетевому кодированию [4], в который вошли основные работы, опубликованные к тому времени. Исследования по сетевому кодированию успешно продолжаются и в настоящее время. В этот обзор вошли работы недавних лет по обеспечению защиты информации в сети при использовании сетевого кодирования.

2. Модель злоумышленника — доступ к линии связи

Проблема защиты информации в сети исследуется при определённой модели передачи сообщений и при определённом сценарии действий злоумышленника. Во всех описанных здесь случаях модель сети представлена в виде ациклического направленного графа. В этой части обзора рассматривается когерентное сетевое кодирование, когда на узлах сети выполняются определённые линейные операции над входящими сообщениями. Сценарий злоумышленника здесь таков: имеются подмножества линий связи, доступных злоумышленнику, то есть он может подслушивать или записывать передаваемые по ним сообщения с намерением определить сообщения источников. Такая проблема впервые рассматривалась в работе 2002 года [2] Кэем и Июнгом (Са1, Yeung), которые входили в авторский коллектив

первой основополагающей работы но сетевому кодированию 2000 года [11- В последующие годы эти исследования продолжены, дополнены и обобщены в работах Июнга в соавторстве с другими учеными (см. например, [7], [8], [9], [10], [11], [12], [13], [14]).

Кэй и Июнг обратили внимание на то, что систему совершенной секретности Шеннона [6] можно рассматривать как схему распределения и передачи секрета но двум непересекающимся каналам. Действительно, но одному каналу передастся сеансовый ключ (у Шеннона это секретный канал), а но другому каналу передастся зашифрованное сообщение, представляющее собой сумму двух последовательностей, соответствующих открытому тексту и ключу. Если злоумышленник имеет доступ только к одному из каналов, то он не может получить передаваемое сообщение. В работе [2| эта модель была обобщена следующим образом: в сети имеется несколько подсетей из г каналов, злоумышленник может иметь доступ к одной из этих подсетей, чтобы записывать передаваемые пакеты сообщений. При построении своей схемы передачи Кэй и Июнг опирались на работы 1979 года Блекли [15] и Шамира [16], в которых показана возможность распределения секрета с порогом (к, г) при определённых условиях па параметры: г < к. Секрет распределяется между к пользователями таким образом, чтобы любые г пользователей могли восстановить секрет, но никакие коалиции из г — 1 или меньше пользователей восстановить секрет не могли. Используя эти идеи, Кэй и Июнг показали, что можно построить когерентный сетевой код, удовлетворяющий условиям секретности и декодируемоети на узле получателя. Принцип распределения секрета Кэй и Июнг в работе [13] поясняют с помощью рисунков.

Рис. 1. Распределение секрета Рис. 2. Когерентное сетевое кодирование

Сеть состоит из источника трех промежуточных узлов а\,02,03, и трех узлов-получателей и\, ь,2, из. На рис. 1 5 - это источник, обладающий секретом. Он делит секрет на 3 части, из которых любые 2 части полностью определяют секрет, но никакая одна часть не несет информации о секрете. Каждая из частей секрета в виде некоторого сообщения поступает по своей линии связи на промежуточный узел сети. Всего 3 узла — а\, 02, 03. От каждого промежуточного узла выходит две непересекающиеся линии связи к двум получателям секрета; всего три получателя — и,\, щ, из- В результате каждый из получателей имеет 2 части секрета и, значит, может восстановить секрет. Промежуточные узлы восстановить секрет не могут, так как у них только одна из трех частей. Другое применение этого принципа показано на рис. 2 для передачи по сети типа «бабочка». Здесь 5 — источник, ао, а\, а,2, & - промежуточные узлы, и,\, и,2 - получатели. Все узлы сети, включая источник и получателей, могут осуществлять заданные линейные преобразования с приходящими данными. Источник 5 генерирует сообщение т\ и секретный сеансовый ключ к\,

а также осуществляет разделение секрета, состоящего из этой пары сообщений, на такие две части: т\ — к\ и т\ + к\. Каждая из этих частей передаётся по непересекающимся каналам в промежуточные узлы а\ж а,2 соответственно. Из этих узлов выходят также два непересекающихся канала, один к «своему» получателю -иг или и,2, а другой - к общему промежуточному узлу ао- Чтобы определить сеансовый ключ, на узле ао выполняется преобразование поступивших сообщений:

_

кг = ^ •

Сообщение-ключ передаётся на другой промежуточный узел Ь, далее по двум непересекающимся каналам поступает к каждому из получателей. Получатель щ принимает два сообщения (тг — кг) и кг. Получатель «2 принимает два сообщения (тг+кг) и кг. Выполнив соответствующие операции сложения-вычитания, каждый из получателей определяет переданное источником сообщение тг. Если в сети есть злоумышленник, который захочет получить сообщение тг, ему необходимо иметь доступ к двум определённым каналам, например к тем же каналам, которые идут к получателям, то есть аг ^ иг и Ь ^ иг или а2 ^ «2 и Ь ^ и2. Другие варианты - аг ^ а0 и а0 ^ аь, а также аг ^ щ и а0 ^ Ь или й2 ^ и2 и ао ^ Ь. Выполнив определенные линейные алгебраические операции, злоумышленник в каждом из этих случаев мог бы определить сообщение тг. Если возможности злоумышленника ограничены одним каким-либо каналом, в данной схеме любым, то получить сообщение он не сможет.

Пусть теперь в общем случае сеть связи представлена направленным графом С(и,е), где V - талы, е - линии связи (каналы). В этой работе конструкция сетевого кода состоит из нескольких операций. Выбирают подходящие целые числа (п,г). Источник генерирует сообщение т из общего множества М, представляющее собой последовательность символов над полем СР(п-г\ц). Источник генерирует также сеансовый ключ к из множества К, представляющий собой последовательность символов над полем СР (%). Передаваемое сообщение X = (т, к) является конкатенацией двух этих последовательностей. Выбирают подходящий п-мерный сетевой код, каждому каналу е приписывают некоторый вектор /е, который укажет, какие линейные операции надо выполнить над входящим сообщением. В каждый канал поступает символ Х/е. Использован теоретико-информационный критерий совершенной секретности - статистическая независимость передаваемого сообщения Х/е от исходного сообщения из М. В этом случае средняя взаимная информация между случайными данными, доступными злоумышленнику, и данными источника равна нулю. Кроме того, поставлено условие декодируемости, которое состоит в том, что поступающие к получателю зашифрованные сообщения не должны совпадать, если исходные сообщения источника различные. Предполагается, что в сети имеется несколько подсетей из г каналов и злоумышленник во время одной из передач имеет доступ к одной из этих подсетей. Было показано, что для данной модели злоумышленника и сети с несколькими пользователями поставленные условия можно выполнить. Можно обеспечить требуемый уровень защиты сообщений при условии

г

Н

п — г

где Н (К), Н (М) — энтропия ключа, энтропия сообщения со ответственно, п — общее число каналов, определяющее пропускную способность, г — число каналов, доступных злоумышленнику. Как видно из этого условия, этот результат для предложенной модели с несколькими получателями перекликается с основным результатом Шеннона для системы совершенной секретности с одним источником и одним получателем. Здесь длина сообщения, представляющего собой ключ, зависит от параметров п и г. На практике значение г должно быть существенно меньше п. Как видно из приведенного соотношения, например при г = т2, длина ключа не должна быть меньше длины сообщения, что для практических целей мало пригодно. Поэтому следует задавать параметр п > 2г. Результаты получены при большом значении числа элементов поля д, когда это значение больше числа линий

связи сети. Здесь рассмотрено также понятие несовершенной секретности. Оно определено следующим образом:

I

где 0 < i < г. В отличие от условия совершенной секретности (г = 0) взаимная информация I(М; Уд) между передаваемым сообщением и сообщением, перехваченным злоумышленником, может быть неравной нулю при г > 0. Показано, что при таком условии можно увеличить среднюю длину передаваемых сообщений на г log q символов и уменьшить среднюю длину ключевого сообщения на то же число символов.

В работе Чжана и Июнга 2009 года [12] рассмотрена схема передачи сообщений от нескольких источников нескольким получателям. Считается, что вероятности передачи сообщений источников могут быть как положительными, так и нулевыми, а также, что сообщения источников могут быть корродированы. Остальные моменты модель злоумышленника, постановка задачи принципиально такие же, как в самой первой работе на эту тему Кэя и Июнга [2|. Принципы и особенности решения этой задачи авторы поясняют с помощью рис. 3.

© ©

m1'vV

Рис. 3. Передача от двух источников двум получателям

Здесь 5*1, 52 - источники сообщений, У\, У2, Уз и и — промежуточные узлы. На узлы и У2 поступают сообщения Ш1, Ш2 от источников ^1, 52 соответственно, причём на узел и поступает сообщение-ключ, вводящее избыточность, ¿1 и ¿2 — получатели. Из VI сообщение в виде вектор-строки (ш1 0 0), умноженное на вектор-столбец (1 0 0)т, показанный па рисунке, передается одновременно на один из входов промежуточного узла Уина один из трёх входов получателя ¿1. Аналогично, из сообщение в виде вектор-строки (0 Ш2 0),

на другой вход промежуточного узла и и па один из трёх входов получателя ¿2 • На узле и генерируется сообщение-ключ к. В этом примере все сообщения — символы базового поля (0,1, 2). На узле и все сообщения преобразуются в вектор-столбцы, которые суммируются, после чего преобразуются в вектор-строку (т1 т2 к). На выходе узла и образуется 3 типа сообщений, создаётся разделение секрета на 3 части путём умножения вектор-строки Ш1 Ш2 к па один из трёх вектор-столбцов (1 0 1)т, (1 1 2)т, (1 2 1)т, показанных на рисунке. Создаются следующие сообщения (т1 + к), (т1 + т2 + 2к), (т1 + 2т2 + к), ни одно из которых не совпадает с передаваемым сообщением (ш1 Ш2 к). Все эти сообщения, являющиеся различными частями секрета, передаются по различным непересекающимся

линиям связи. Сообщение (тг + к) поступает на второй вход узла-получателя ¿г, сообщение (тг + т,2+2к) поступает на промежуточный узел Уз, сообщение (тг +2т,2+к) поступает на второй вход узла-получателя ¿2- Все эти три канала связи входят в подмножество каналов, один из которых (любой) может быть доступен злоумышленнику. Следовательно, он может перехватить одно из этих сообщений. Но это не даст возможности определить передаваемое сообщение. Из промежуточного узла Уз сообщение путём умножения вектор-строки (тг + т,2 + 2к) поступает по различным непересекающимся каналам на третий вход узлов-получателей ¿г и ¿2- Таким образом, получателю на узел ¿г по трём каналам доставлены следующие три сообщения-символа троичного поля 0,1, 2: тг, (тг + к), (тг + т,2 + 2к). Чтобы определить передаваемое сообщение (тгШ2&), получатель ¿г составляет уравнение

(1 1 Л

{тг тг + к тг + т2 + 2к) =

012

Аналогично, на узле ¿2 другой получатель составляет уравнение

(0 1 1\

{тг тг + 2т2 + к тг + т2 + 2к) = {тг т2 к) I 1 2 1 I .

012

Чжан и Июнг доказали, что их система обеспечивает безошибочную и абсолютную секретность не только для независимых сообщений тг и Ш2, но даже для коррелированных сообщений. В приведённом примере в троичном поле это могут быть следующие сообщения тг т2' {02,11, 21, 20}. Здесь получено необходимое и достаточное условие секретности передачи, обобщающее аналогичное условие, найденное Июнгом и Кэем в 2007 году при определенных ограничениях [9]. В работе 2011 года [14] Ченг и Июнг дополнили опубликованные ранее результаты, расширив модель злоумышленника. Были опубликованы также и другие интересные работы на эту тему (см, например, [17], [18], [19], [20], [5], в которых имеется много общего и в то же время принципиальные различия).

3. Защита информации с помощью ранговых кодов

Серию публикаций по использованию ранговых кодов для сетевого кодирования и защиты информации от ошибок, внесённых нелегальным пользователем, начали в 2008 году три автора Силва, Кёттер и Кшишанг работой [5]. В этой работе авторы рассматривают одноадресную передачу в сети и применяют случайное сетевое кодирование на базе ранговых кодов. Модель злоумышленника такова: он имеет возможность вставлять в передачу свои сообщения. На приемной стороне надо извлекать информацию, передаваемую от источника, игнорируя ошибочные сообщения. Для решения этой задачи авторы предложили существенно новый подход, который основан на подпространственной метрике. Они показали, что проблемы кодирования в подпространственной метрике могут быть сведены к известным проблемам алгебраического кодирования, то есть к построению кодов с заданной метрикой. Они предложили семейство кодов с подпространственной метрикой, основанное на ранговых кодах. Было показано, что ранговые коды, предложенные в [21], достаточно эффективно работают в схеме лифтинговой конструкции кодовой матрицы. Они имеют хорошо разработанные алгоритмы исправления ошибок и стираний [22, 23]. В 2009 году алгоритмы декодирования были обновлены в работе [24], в 2010 году подробно описаны для разных вариантов ошибок и стираний в работе [25].

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

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

В работе 2011 года [27] Силва и Кшишанг усилили полученные ранее результаты. Здесь представлена универсальная схема многоадресной передачи по сети произвольной конфигурации. Задача поставлена следующим образом. Источник 5 за один такт передачи формирует п пакетов сообщений, каждый из которых представляет последовательность длины т и является элементом поля СР(д). Из этих пакетов составляется матрица X, которая передаётся по сети. На промежуточных узлах сети составляются линейные комбинации пакетов. Имеется два варианта сетевого кодирования: матрица преобразования А известна или неизвестна. В первом случае сетевое кодирование называется когерентным, во втором случае - некогерентным. В основном рассмотрен когерентный вариант. В сети имеется злоумышленник, который имеет доступ к у линиям связи и записывает передаваемые по этим линиям сообщения, а также имеется другой злоумышленник, который вносит в сеть £ своих, ошибочных для получателя сообщений. Поставлена задача обеспечить безошибочную связь с совершенной секретностью по типу, определённому Шенноном [6]. Для обеспечения секретности использован метод Озарова-Вайнера [28], в котором передаваемым сообщением является синдром для случайно выбранного элемента смежного класса. В работе 2013 года [29] рассмотрены два типа атак злоумышленников: один включает в сетевой поток свои сообщения, а другой записывает (или подслушивает) сообщения из основного потока. Против атак обоих злоумышленников использована криптосистема с открытым ключом ГПТ [30] - [34], название которой образовано из начальных букв фамилий трёх авторов -Габидулин, Парамонов, Третьяков. Как случайное сетевое кодирование, так и криптосистема ГПТ основаны на ранговых кодах. Это дало возможность соединить в одну процедуру задачи расшифрования и декодирования, дополнив их промежуточным преобразованием принятых сообщений. Показано, что при определенном выборе параметров рангового кода система обеспечивает защиту информации в сети: случайные сетевые коды в определенной степени противостоят включению ошибочных сообщений злоумышленником, а криптосистема ГПТ защищает передаваемые сообщения от дешифрования их криптоаналитиком-злоумышленником.

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

4. Задача обеспечения анонимности

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

Авторы работы [36] предлагают разделить на три уровня условия обеспечения анонимности: передача должна быть организована таким образом, чтобы скрыть сам факт передачи, такую ситуацию определяют как ненаблюдаемость; надо обеспечить анонимность отправителя/получателя сообщения, то есть установлено, что идёт процесс передачи сообщения, но невозможно определить, кто отправитель и получатель; надо обеспечить анонимность сеанса связи, то есть невозможно установить связь отправителя с получателем. Условия обеспечения анонимной передачи можно задать следующим образом: информация о маршруте доступна только участвующим в передаче узлам сети; передача сообщения должна происходить так, чтобы злоумышленник не смог проследить его маршрут. При маршрутизации сообщения каждому промежуточному узлу известны идентификаторы отправителя и получателя этого сообщения. Для анонимной передачи сообщения каждому

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

Известны два подхода обеспечения анонимности передачи сообщений в сетях с сетевым кодированием: разделение сообщений на части; преобразование кодирующих) вектора. В первом случае части исходного сообщения передаются по различным маршрутам, конечной точкой которых является получатель сообщения. Этот подход интересен тем, что можно обеспечить анонимность без шифрования. Во втором случае учитывают, что при использовании сетевого кодирования самой уязвимой частью передаваемого сообщения является кодирующий вектор, то есть вектор, определяющий правила преобразования сообщений на промежуточных узлах. Можно решить задачу обеспечения анонимности в сетях с сетевым кодированием, приспособив к этим сетям методы обеспечения анонимности, которые себя хорошо показали на сетях с традиционном способом ретрансляции на узлах. Примером такого подхода является метод АИОС [37]. Этот метод обеспечивает анонимность сеанса связи.

Основу метода АИОС составляет луковая маршрутизация [38]. Луковой маршрутизацией называется метод обеспечения анонимности, при котором сообщение для передачи последовательно шифруют с помощью открытых ключей всех узлов, входящих в маршрут, начиная с последних). Маршрут устанавливается заранее. Промежуточные узлы выполняют над поступившими сообщениями операцию сложения по модулю два. Это не позволяет корректно осуществлять шифрование/расшифрование, присущее луковой маршрутизации. Для разрешения этого конфликта в АИОС вводятся дополнительные операции распределения сессионных ключей для симметричной системы шифрования и дополнительное расшифрование. Рассмотрим пример схемы передачи, представленный на рис. 4. Каждый узел имеет открытый ключ рк, к примеру ркс — открытый ключ принадлежащий узлу С. Этап 1. Узлу б! необходимо передать секретные сессионные ключи кС и к^ узлам С и Иг соответственно. Для этого 5г отправляет С сообщение Еркс (Еркп1 (к1п 1 ),к1С,1П1), где Е^(-) - функция асимметричного шифрования. Расшифровав это сообщение, узел С извлекает свой секретный ключ кС- Идентифика тор /^указывает у злу С на то, что следующим узлом в маршруте будет Узел С отправит сообщение Еркв (к1В1) узлу Иг, который извлечет свой секретный ключ к^ . Аналогичным об разом Б2 установит секретные сессионные ключи к"С и к^ с тала ми С и И2

соответственно. Этап 2. Теперь если узел й! хочет передать сооб щение тг тал у Иг, то он передает сообщение ((Рг)) = Ек1 (Ек1 (тг)), которое будет получен о узлом С, а также

С

узлом И2, который прослушивает эфир. Чтобы перед ать сообщение т^ тал у И2, узел Б2 отправит сообщение [[Р2]] = Е^ (Е^ (ш2)), которое получат узлы С и Иг. Этап 3. Узел

СО 2

С снимает один уровень шифрования с получен пых сообщений ((Рг)), [[Р2]] и отправляет узлам И2 сообщение вида (Рг) Ф [Р2 ] = Ек1 (тг) Ф Ек2 (т2). Узел имея сообщения

[[Р2]] и (Рг) Ф [Р2]) не сможет получить тг. Аналогиино И2 из сообщений ((Рг)) и (Рг) Ф [Р2] не получит т,2- Этап 4. Узел С широковещательно отправляет свои секретные ключи

Рис. 4. Схема работы метода А>ТОС

к1, к% соседним узлам. Узел Di с помощью ключа к% го сообщения [[Рг]] = Ек2

С D 2

извлекает [Рг] = Ек2 (тг)- Сложив то модулю два сообщение (Pi) ф [Рг] с сообщением [Рг],

он получит (Pi) = Eki (mi). Расшифрование этого сообщения на узле Di даст сообщение Di

mi. Аналогично узел D2 получает сообщение т2-

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

Идея расщепления информации с помощью метода SIS (Source Information Slicing) была впервые предложена в работе [39] для сетей с традиционным способом передачи данных. Здесь достигается анонимность как отправителя, так и получателя. Предполагается, что отправитель имеет более одного /Р-адреса для доступа в Интернет. Дополнительные адреса образуют псевдоисточники сообщений. Основной источник сообщения может установить секретный канал со всеми псевдоисточниками. Расщепление информации позволяет передать сообщение секретно без использования шифрования. Если секретно передавать сообщения, содержащие адреса следующих узлов, то можно построить маршрут для анонимной передачи. Рассмотрим работу метода на примере (рис. 5). Части информации должны передаваться по непересекающимся маршрутам. Для того чтобы образовать нужное количество непересекающихся маршрутов, строится граф передачи. Отправитель Алиса имеет псевдоисточник Алиса'. Алиса строит граф передачи, выбирая некоторое количество промежуточных узлов и организуя их каскадно, таким образом, чтобы в каждом каскаде было по два узла. Узлы соседних каскадов связаны между собой.

Рис. 5. Граф для анонимной передачи

Чтобы анонимно отправить сообщение Бобу, Алиса должна сообщить узлам У и Ш адреса следующих за ними узлов маршрута, то есть X и У, а узлам X и У надо сообщить адреса следующих за ними узлов 2 и Боб. Для этого она делит каждый из адресов X, У, 2, Боб на две части Х\ Хг, У\ Уг, и БобгБобг соответственно (индексы ¿и г обо-

значают левую и правую части) и получает части сообщения:

где А - произвольная инвертируемая матрица размером 2 х 2. Части сообщения X представляют собой пары Х^,Аг и Xд,А2 (Аг и А2 - первая и вторая строки матрицы А соответственно). Аналогично задаются части других сообщений. Узел У получает от Алисы сообщение {Х^,Ув}{2^,Бобд} (предполагается, что соответсвующие строки матрицы А в этом сообщении передаются), а от Алисы' — сообщение {Х^,Уь}• Получив все части, он может вычислить адреса следующих за ним узлов X жУ\

Теперь узел У может отправить оставшуюся у него часть сообщения Бобд}, дополнив ее произвольными битами, узлам X и У. Узел Ш аналогичным с У образом определяет адреса узлов X и У. После этого он отправит им сообщение Боб^}, дополненное произвольными битами. Узлы X и У, получив от узлов У и Ш соответствующие сообщения, будут иметь достаточно информации, чтобы определить адреса узлов 2 и Боб. Узлы X и У, также как узлы У и Ш, не могут определить, кто является источником сообщений и кто получателем. Теперь маршруты для передачи сообщений Бобу определены. Алиса может расщеплять свои сообщения на две части и отправлять Бобу по непересекающимся путям графа передачи. Если злоумышленник может контролировать один из промежуточных узлов, то он обладает частью информации о маршруте. Контролирование одного узла на каждом из й маршрутов не может привести к компрометации отправителя, но может существенно уменьшить множество возможных получателей. Вернемся к примеру на рис. 5. Если злоумышленник контролирует узлы Ш и X, то он может сделать вывод о том, что получателем является либо либо Боб.

Другой метод расщепления информации АС — 1ТИС предложен в [40]. В этом методе способность узлов кодировать поступающие сообщения используется только в процессе формирования маршрутов для анонимной передачи. Передача сообщений производится с помощью луковой маршрутизации и симметричного шифрования. Злоумышленник считается пассивным. Он может быть как внешним, так и внутренним. Внутренние злоумышленники контролируют узлы сети и могут взаимодействовать между собой, обмениваясь полученными сообщениями. Это взаимодействие направлено на более успешную атаку. Процесс передачи сообщений поясним с помощью рис. 6. Для того чтобы анонимно передать сообщение по выбранному маршруту 5 ^ Рг ^ Р2 ^ • • • ^ Рт ^ Р-, отправитель 5 должен сообщить каждому промежуточному узлу Рь этого маршрута адрес следующего узла Рг+г- Для этого отправитель 5 строит граф передачи. Этот граф используется для конфиденциальной передачи сообщения М, содержащего адрес следующего узла и секретный ключ кх, предназначенный некоторому промежуточному узлу X = Ръ. Пусть отправитель 5 расщепляет сообщение М на й частей Мг, М2, • • •, М^ одинаковой длины I. Для каждой части сообщения Мг выбирается двоичный кодирующий вектор Сг:о длины ¿.Сообщение Мг кодируется как м(0) = С\ о Ф М^ Все векторы С%о также делятся на d частей С1}0 = (^,0,г, с%0о,2,   , и формируют кодирующую матрицу

^ С1,О\ / СЛ,0,1 сЛ,0,2 • • • Сг,о,^ С2,0 с2,0,1 с2,0,2 • • • С2,04

^1,0

С2,0

\С<1,о) \с

Источник Б посылает сообщение {М(0\ У^} (где у^ г-й столбец матрицы У3) тал у Oi,l, при этом узел Ог, 1 не может восстановить сообщение Мг (см. рис. 6). Каждый промежу-

точный узел Oi,j (j > 1) получив сообщение {М( l\v( i\ci,j-i,i} от Oi,j-i и d — 1 коэффициентов {ck,j-i,i} от Ok,j-i (k = 1, 2,... ,d,k = i), выполняет следующие действия:

1) кодирует сообщение ^ с помощью произвольно выбранного вектора Ci,j, то есть Miíj) = Сг,3 ф Mii3-1)]

2) вычисляет V^ = C'j-1i ф V¡>j-l) (где C'j-1i = (cij-i,i, C2,j-i,i,..., cd,j-i,í));

3) пересылает сообщение {M^, Ci,j¿} следующему узлу Oi¿+i, а части вектopa Ci¿, то есть Ci¿,k, пересылает узлам Ok,j+i (к = 1,2,... ,d, к = i).

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

Рис. 6. Передача сообщения в сети из d х п узлов

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

Чтобы восстановить одну часть сообщения, злоумышленник должен контролировать несколько узлов, находящихся на определенных позициях графа передачи. На рис. 7 для графа 5 х 6 в случае (а) можно восстановить часть сообщения М\, если злоумышленник атаковал два последовательных узла на первом пути (отмечены черным цветом) и хотя бы один узел из узлов серого цвета всех других путей. Контролирование узлов, отмеченных черным цветом на рис. 7(6), не даст возможности восстановить М\.

о О • • О О О

- о о о о •

• о о о о

б)

Рис. 7. Возможные сценарии компрометации узлов сети

Методы 5/5 и АС — 1ТИС избавляют от необходимости использования асимметричного шифрования. Необходимость иметь несколько источников для отправки сообщения делает метод БТБ менее практичным то сравнению с методом АС — 1ТИС. Гораздо более

а)

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

При использовании сетевого кодирования основные усилия направлены на защиту кодирующего вектора. В работе [41] представлен метод ALNCode. Здесь каждый промежуточный узел строит кодирующий вектор определенным образом. Новый кодирующий вектор должен принадлежать пространству, базис которого является общим для пространств кодирующих векторов всех информационных потоков, входящих в этот узел. Пассивный внешний злоумышленник в этом случае не может найти связь между сообщениями, входящими в узел и выходящими из узла. В этом методе предполагается, что маршруты для анонимной передачи уже установлены. Задача состоит в том, чтобы передавать сообщения по этим маршрутам таким образом, чтобы прослушивание и анализ сообщений не позволили определить ни отправителя, ни получателя сообщения, а также не дали бы возможности проследить маршрут сообщения. Метод ALNCode обеспечивает анонимность отправителя и получателя. Каждый промежуточный узел собирает закодированные сообщения, принадлежащие одному информационному потоку, поступившие в течение заданного количества временных слотов. Пусть V^ - множество кодирующих векторов сообщений потока г, а V' = Ui=iVi - множество кодирующих векторов сообщений других потоков, поступающих в этот узел. Новый кодирующий вектор Vi сообщений из по тока г является линейной комбинацией вектора из пространства L(Vi) и вектора го пространства L(Vi) П L(V'), где L(-) - линейная оболочка множества. Отследить сообщение с кодирующим вектором Vi трудно, поскольку вектор Vi связан с кодирующими векторами всех потоков, поступающих в промежуто чный узел.

а ~ [1,0,1,0]^ b = [1,1,0,1^

с = [0,1,1,0] = [0,1,1,1]

-* СЮ-

d = [1,0,1,1]

-

е = [1,1,1,1] -**

f - [0,1,0,1]

Рис. 8. Пример использования метода АЬКСойе [41]

На рис. 8 показано три потока ^ йг, г € {1, 2, 3}, которые проходят через общий узел к. В узел к поступает по два закодированных сообщения каждого потока с кодирующими векторами а = [1, 0,1, 0], Ь = [1,1, 0,1] от первого потока, с = [0,1,1, 0], й = [1, 0,1,1] от второго потока, е = [1,1,1,1], / = [0,1, 0,1] от третьего потока. Новый кодирующий вектор для первого потока может быть получен как д = а + Ь = [0,1,1,1^. Вектор [0,1,1,1] также может быть получен или как а + с + или как Ь + е + /, или как с + d + е + /. Сложность операции установления связи между выходящим и входящими кодирующими векторами экспоненциально растет с увеличением количества входящих в узел кодирующих векторов. Таким образом, компрометация корреспондентов является вычислительно трудной задачей. Недостатком метода ALNCode является то, что ему необходим некото-

рый другой метод, с помощью которого конфиденциально устанавливаются маршруты для анонимной передачи. Методы SIS, AC — ITNC и ALNCode не нуждаются в шифровании. Это делает их более эффективными, освобождая от необходимости производить операции шифрования/расшифрования для каждого сообщения на каждом промежуточном узле. Также освобождает от необходимости поддерживать инфраструктуру открытых ключей в случае использования асимметричного шифрования и от задачи распределения ключей в случае использования симметричного шифрования. Другой способ защиты кодирующего вектора — шифрование. Шифрование на ключе, общем для отправителя и получателя, невозможно, поскольку промежуточные узлы могут перемешивать сообщения, и на стороне получателя нельзя будет правильно восстановить сообщение.

В работе [42] предлагается использовать гомоморфное шифрование для защиты кодирующего вектора. Промежуточные узлы при этом могут осуществлять линейные операции над кодирующими векторами, не расшифровывая их. В этом методе так же, как и в методе ALNCode, предполагается, что маршруты для анонимной передачи уже установлены. Задача состоит в том, чтобы передача по этим маршрутам была организована так, чтобы злоумышленник не мог определить путь с помощью анализа трафика. Отправитель кодирует сообщения [mi,...,mh} с помощью векторов [v1, ...,vh} в виде m\ — ^j=imjVij. Затем он шифрует кодирующие векторы в виде Ci — Epk(Vi), 1 < i < h, где pk - открытый ключ получателя, Е() - функция гомоморфного шифрования, обладающая свойством Е(mi)E(m2) — E(mi + m2)- Получив сообщения [Ci,m'i}, 1 < г < h, промежуточный узел выбирает произвольный вектор I — (11,..., lh) и кодирует с его помощью поступившие сообщения в виде m" — ^ ihm Кодирующий вектор имеет вид g — ^ik^i- Гомоморфное шифрование позволяет вычислить Ерк(g), не зная Vi, а зная только Epk(vi) — Ci. Это можно сделать следующим образом:

w — Epk(g) — Epk (Tl!=i hvi) — Ui=iEpk (kvi) — (vz) — Uti ПРИ восстановле-

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

Имеется похожий метод, называемый Р—сode [43]. Он предполагает использование перестановочного шифра, удовлетворяющего следующим условиям: Ek(m + п) — Ek(m) + Ek(п) и Ek(tm) — tEk(m). Использование гомоморфного шифрования не требует производить операции шифрования/расшифрования на каждом промежуточном узле. Поэтому по эффективности этот метод можно сравнить с SIS, АС — ITNC и ALNCode. Также, как и ALNCode, этот метод имеет недостаток, заключающийся в том, что необходимо наличие другого метода, который бы решал задачу конфиденциального установления маршрутов для передачи. Причем этот метод маршрутизации должен быть применим в сетях с сетевым кодированием.

5. Заключение

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

ников - пассивного и активного.

Рассмотрены также методы обеспечения анонимности ANOC, SIS, ALNCode, а также методы с шифрованием кодирующего вектора. Произведена их сравнительная оценка. Показано, что ALNCode и методы, основанные на шифровании кодирующего вектора, решают задачу обеспечения анонимной передачи не полностью. Для них надо предварительно установить маршруты передачи. Методы AN ОС и SIS решают задачу обеспечения анонимности полностью. Методы, шифрующие кодирующий вектор, имеют более ограниченные приложения по сравнению с ALNCode. Метод SIS эффективнее метода ANOC, поскольку не использует шифрования. Он практичнее, так как учитывает возможность отказа узлов и обеспечивает стойкость к действиям злоумышленника. Его недостаток заключается в требовании к источнику иметь некоторый набор псевдоисточников, с которыми нужно установить секретные каналы связи.

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

Работа выполнена при частичной финансовой поддержке РФФИ, грант 12-07-00122-а. Литература

1. Ahlswede R., Cat N., Li S.R., Yeung R. W. Network information flow // IEEE Trans. Inform. Theory. - 2000. - V. 47, N 7. - P. 1204-1216.

2. Cat N., Yeung R. W. Secure network coding // IEEE Intern. Svmpos. on Information Theory (ISIT'2002). Lausanne, Switzerland. June 30-July 5, 2002. - P. 323.

3. Fragouli C, Soljanin E. Network coding. Foundations and Trends // Networking. — 2007.

- V. 2, N. 1. - P. 1 13 i.

4. Габидулин Э.М., Пилипчук H.И., Колыбельников А.И., Уривский A.B., Владимиров С.М., Григорьев A.A. Сетевое кодирование // Труды МФТИ. — 2009. — Т. 1, № 2. — С. 3-28.

5. Silva D., Kschischang F. R., Koetter R. A Rank-Metric Approach to Error Control in Random Network Coding 11 IEEE Trans. Inform. Theory. - 2008. - V. 54, N 9. - P. 3951 3967.

6. Shannon K.A. Mathematical Theory of Communications // Bell System Techn. J. — 1948.

— V. 27. — P. 379-423, 623-656. Русский перевод: Шеннон К. Математическая теория связи // Работы по теории связи и кибернетике: сб. ст. - М.: ИЛ, 1963.

7. Li S.R., Yeung R.W., Cai N. Linear Network coding // IEEE Trans. Inform. Theory. — 2003. - V. 49, N 2. - P. 371-381.

8. Yeung R.W., Li S.R., Cai N., Zhang S. Networking Theory // Foundations and Trends in Commun, and Inf. Th. - 2005. - NOS 4, 5. - P. 241-381.

9. Cai N., Yeung R. W. A Security Condition for Multi-Source Linear Network Coding // Proc.

2007 IEEE Int. Svmpos. on Information Theory (ISIT'2007).

10. Yeung R. W., Cai N. On the Optimalitv of a Construction of Secure Network Codes // Proc.

2008 IEEE Int. Svmpos. on Information Theory (ISIT'2008), Toronto, Canada.

11. Ngai C.-K., Yeung R.W. Secure Error-Correcting (SEG) Network Codes // Proc. of 2009 Workshop on Network Coding. Theory and Applications, Lausanne, Swizeland, 2009.

12. Zhang S., Yeung R.W. A General Security Condition for Multi-Source Linear Network Coding 11 Proc. 2009 IEEE Int. Svmpos. on Information Theory (ISIT'2009), Korea. -P. 1155-1158.

13. Cai N., Yeung R.W. Secure Network Coding on a Wiretap Network//IEEE Trans, on Inf. Theory. - 2011. - V. 57, N 1. - P. 424-435.

14. Cheng F., Yeung R.W. Performance Bounds on Secure Network Coding // Proc. of Workshop on Network Coding. DOI: 10.1109/ISNETCOD.2011.5978913

15. Blakley G.R. Safeguarding Cryptographie Keys // Proc. of the National Computer Conference. - 1979. - V. 48. - P. 313-317.

16. Shamir A. How to Share a Secret // Commun. ACM. - 1979. - V. 22. - P. 612-613.

17. Ho T., Leong В., Koetter R., Medard M., Effros M., Karger D. Byzantine Modification Detection in Multicast Network with Random Network Coding // IEEE Trans. Inform. Theory. - 2008. - V. 54, X 6. P. 2798-2803.

18. Jaggi S., Langberg M., Katti S., Ho T., D. Katabi, Medard M., Effros M. Resilient Network Coding in the Presence of Byzantine Adversaries // IEEE Trans. Inform. Theory. — 2008.

- V. 54, X C>. P. 2596-2603.

19. Tao T.F., Bingtao Z., Jiangfeng M. Security Random Network Coding Model Against Byzantine Attack Based on CBC // Proc. 2011 Fourth Intern. Conf. Intelligent and Computation Technology and Automation. — P.1178-1181.

20. Tao T.F., Shuang W., Zhan-Ting Y. US Secure Network Coding Against Pollution Attacks 11 Information Technology Journal. - 2012. - V. 11(9). - P. 1175-1183.

21. Габидулин Э.М. Теория кодов с максимальным ранговым расстоянием // Пробл. передачи информ. — 1985. — Т. 21. — № 1. — С. 3-16.

22. Gabiduïin Е.М. A Fast Matrix Decoding Algorithm for Rank-Error-Correcting Codes // Proc. 1st French-Soviet Workshop on Algebraic Coding. Paris, France. July 22-24, 1991. Lecture Notes in Computer Science. — V. 573. — Berlin: Springer, 1992. — P. 126-133.

23. Gabiduïin E.M., Pilipchuk N.I. Error and Erasure correcting algorithms for Rank Codes // Designs, Codes and Cryptography. — 2008. — V. 49. — N 1-3. — P. 105-122.

24. Silva D., Kschischang F. R. Fast Encoding and Decoding of Gabiduïin Codes // Proc. Intern. Svmpos. on Information Theory (ISIT'2009). Seoul, Korea. June 28 - July 3, 2009.

- P. 2858-2862.

25. Габидулин Э.М., Пилипчук H.П., Boccepm M. Декодирование случайных сетевых кодов // Пробл. передачи информ. — 2010. — Т. 46, № 4. — С. 33-55.

26. Silva D., Kschischang F. Universal Secure Error-Correcting Schemes for Network Coding // Proc. 2010 IEEE Int. Svmpos. on Information Theory (ISIT'2010). Austin, Texas, U.S.A. June 13-18, 2010. - P. 2428-2432.

27. Silva D., Kschischang F. Universal Secure Network Coding via Rank Metric Codes // IEEE Trans, on Inf. Theory. - 2011. - V. 57, N 2. - P. 1124-1135.

28. Ozarow L.H., Wyner A.D. Wire-tap channel II // Proc. EUROCRYPT 84 Workshop on Adv. Cryptologv: Theory and Appl. Cryptograph. Tech. New York. — 1985. — P. 35-51, Springer-Verlag.

29. Габидулин Э.М., Пилипчук H.П., Хонери В., Рашван X. Защита информации в сети со случайным сетевым кодированием // (принято к печати в журнале Проблемы передачи информации).

30. Gabiduïin Е.М., Paramonov A.V., Tretjakov О. V. Ideals over a Non-commutative Ring and Their Application in Cryptologv // Advances in Cryptologv — Eurocrvpt '91, 1991. Lecture Notes in Computer Science. — V. 547. Berlin: Springer, 1991. — P. 482-489.

31. Kschevetskiy A. Security of GPT-like Cryptosvstem Based on Linear Rank Codes // Proc. 2007 IEEE IWSDA, 2007. - P. 143-147.

32. Rash,wan H., Gabidulin E.M., Honary B. A Smart Approach for GPT Cryptosvstem Based on Rank Codes // IEEE Intern. Svmpos. on Information Theory (ISIT'2010). Austin, Texas, U.S.A. June 13-18, 2010. - P. 2463-2467.

33. Gabidulin E.M., Rashwan H., Honary B. On Improving Security of GPT Cryptosvstems // Proc. IEEE Intern. Svmpos. on Information Theory (ISIT'2009). Seoul, Korea. June 28 -July 3, 2009.- P. 1110-1114.

34. Rashwan H., Gabidulin E.M., Honary B. Security of GPT Cryptosvstems and its Applications to Cryptography // J. of Security and Communication Networks. — 2011.

- V. 4, N 8. - P. 937-946.

35. Gabidulin E.M., Paramonov A.V., Tretjakov O.V. Rank Errors and Rank Erasures Correction // Proc. of the 4th International Colloquium on Coding Theory, 30 Sept. — 7 Oct. 1991, Dilijan, Armenia. — P. 11-19. — Yerevan, 1992.

36. Pfitzmann A., Hansen M. A terminology for talking about privacy by data minimization: Anonymity, Unlinkabilitv, Undetectabilitv, Unobservabilitv, Pseudonvmity, and Identity Management // http://dud.inf.tu-dresden.de/literatur/Anon_terminologv_vO.34.pdf — 2010.

37. Zhang P., Jiang Y., Lin C., Lee P., Lui J. ANOC: Anonymous Network-Coding-Based Communication with Efficient Cooperation // IEEE Journal on Selected Areas in Communications. - 2012. - V. 30, N 9. - P. 1738-1745.

38. Goldschlag D.M., Reed M.G., Syverson P.F. Hiding routing information // Proceedings of the First International Workshop on Information Hiding. — 1996. — P. 137-150.

39. Katti S., Cohen J., Katabi D. Information Slicing: Anonymity Using Unreliable Overlays // Proc. of the 4th USENIX Symposium on Network Systems Design and Implementation.

- 2007. - P. 4-18.

40. Wang W., Duan G., Wang J., Chen J. An Anonymous Communication Mechanism without Key Infrastructure based on Multi-paths Network Coding // Proceedings of the 28th IEEE conference on Global telecommunications. — 2009. — P. 832-837.

41. Wang J., Wang J., Wu C., Lu K., Gu N. Anonymous Communication with Network Coding against Traffic Analysis Attack // Proceedings IEEE International Conference on Computer Communications INFOCOM. - 2011. - P. 1008-1016.

42. Fan Y., Jiang Y., Zhu H., Chen J., Shen X. Network Coding Based Privacy Preservation against Traffic Analysis in Multi-Hop Wireless Networks // IEEE Transactions on Wireless Communication. - 2011. - V. 10, X 3. P. 834-843.

43. Zhang P., Jiang Y., Lin C., Fan Y., Shen X. P-Coding: secure network coding against eavesdropping attacks // Proceedings of the 29th IEEE International Conference on Computer Communications INFOCOM'IO. - 2010. - P. 1-9.

Поступим в редакцию 09.04-2013.