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

Схема разделения секрета для потоков данных маршрутизируемой сети Текст научной статьи по специальности «Математика»

CC BY
150
53
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАРШРУТИЗИРУЕМАЯ СЕТЬ / МАРШРУТ / РАЗДЕЛЕНИЕ СЕКРЕТА

Аннотация научной статьи по математике, автор научной работы — Лавров Д. Н.

Scheme of division of secret for dataflows of network is offered.

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

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

Математические структуры и моделирование 2002, вып. 10, с. 192-197

УДК 621.316.5

СХЕМА РАЗДЕЛЕНИЯ СЕКРЕТА ДЛЯ ПОТОКОВ ДАННЫХ МАРШРУТИЗИРУЕМОЙ СЕТИ

Д.Н. Лавров

Scheme of division of secret for dataflows of network is offered.

Введение

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

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

(1) Отправляющая сторона генерирует строку случайных битов, Fi, такой же длины, что и сообщение, S.

(2) Выполнением «исключающее или» (ф) над S и R создается F2,

R Ф M = F2.

(3) Далее по первому маршруту передается Fi, а по второму - F2. Чтобы получить сообщение, принимающая сторона должна выполнить единственное действие:

Fi ф F2 = S.

Этот метод при правильном выполнении абсолютно безопасен. Никакие вычислительные средства не смогут восстановить сообщение только по одной его части [2].

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

Идея разделенной передачи с использованием стека протоколов TCP/IP описана Р.Т. Файзуллиным и В.И. Ефимовым в статье настоящего журнала [1].

© 2002 Д.Н. Лавров

E-mail: lavrov@univer.omsk.su Омский государственный университет

Математические структуры и моделирование. 2002. Вып. 10.

193

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

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

В технической реализации требуется два промежуточных узла транслирую-тттих IP-адреса. Система, таким образом, состоит из шести ключевых узлов: двух промежуточных пунктов, двух маршрутизаторов (проход которых определяет разделение или объединение маршрутов), передающей и приемной станций.

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

1. Система с двумя маршрутами

Пусть S = (si, s2,... , s2N), S Є = {0,1}2N — исходное сообщение, упорядо-

ченный набор нулей и единиц, |S| = 2N - длина сообщения.

Алгоритм приема-передачи сообщения состоит из 5 этапов.

1. Расщепление. Возможны несколько вариантов деления сообщения на две

части. Используется в данной схеме побитовое расщепление, так что S1 = (s1, s3,... , s2N-1) и S2 = (s2, s4,... , s2N) — две части передаваемого со-

общения.

2. Преобразования. Зададим две функции

Fi(Si, S2) = Si ф S2,

F2(Si, S2) = S2 ф (Si^ 1),

где ф - побитовая операция «исключающее ИЛИ»; X1 - циклический битовый сдвиг X вправо на одну позицию.

3. Прием-передача сообщений. Последовательность Fi передается по первому маршруту, a F2 — по второму маршруту. Вариант технической реализации, не использующий промежуточных активных узлов, описан в разделе 4.

Принимающая сторона получает в свое распоряжение пару (Fi,F2), по которой необходимо восстановить исходное сообщение S.

194

Д.Н. Лавров. Схема разделения секрета...

4. Восстановление частей сообщения. Пусть P = Fi ф F2. Вычисляем F\ ф F2 = Si ф S2 ф S2 ф (Si^ 1) = Si ф (Si^ 1). Получаем уравнение

Si ф (Si^ 1) = P (1)

относительно Si. Как будет показано в следующем разделе, если данное уравнение имеет решение Si (а в нашем случае оно заведомо имеется в силу конструкции Fi и F2), то оно может принимать лишь два значения Si = Si или Si =-Si, где -X означает побитовую инверсию.

Найдем S2 по формуле S2 = Fi ф S^ В зависимости от значений, которые может принимать Si; получим либо Fi ф Si = Si ф S2 ф Si = S2, либо F^-Si = Si ф S2ф-Sl = -S2.

5. Сборка. S получается объединением Si и S2 по правилу обратному расщеплению. В зависимости от того, какое из решений было выбрано на четвертом этапе, получаем либо S = S, либо S =-S. Исходное сообщение восстанавливается с точностью до побитовой инверсии.

2. Теоретическое обоснование

Теорема 1. Пусть X = (xi,... , xn) и P = (pi,... ,pn), X, P Є ЖП, тогда уравнение

X ф (X^ 1) = P (2)

либо не имеет решений, либо имеет единственное решение с точностью до битовой инверсии.

Доказательство.

1. Пусть А = (ai,...,an) - решение уравнения (2). Рассмотрим тождество x ф у =-хф-у Ух, у Є Z2. Если положить x = ф и у = (A ^ 1 ф i = 1 ,n и воспользоваться тождеством, то в точности получим побитовое выполнение уравнения (2), но уже для элементов -А.

2. Решение будем искать по следующей схеме: положим ai = 1, тогда

(А^ 1)2 = ai ^ a2 = Р2 ф ai,

(А^ 1)3 = a2 ^ аз = рз ф a2,

(А^^ 1)n - an-i an -- pn ф an-i.

Если pi = an ф ai, то данная система рекуррентных соотношений дает нам решение, удовлетворяющее (2). Второе решение получается, если взять другое начальное условие ai = 0.

3. Докажем единственность решения. Пусть А - решение уравнения (2) и существует решение B, отличное от А и инверсии А, то есть B = А и B =-А. Добавив к обеим частям соотношений А, видим, что А ф B = O и А ф B = E, где O - последовательность, целиком состоящая из нулей, E - последовательность,

Математические структуры и моделирование. 2002. Вып. 10.

195

целиком состоящая из единиц. В Ф (B » 1) = P, А ф (A» 1) = P. Сложим последние два уравнения:

B ф (В» 1) ф A ф (А» 1) = P ф P,

В ф А = (В» 1) ф (А» 1),

А ф В = (А ф В)» 1.

Последнее соотношение возможно тогда и только тогда, когда А ф В = O или А ф В = E. Полученное противоречие доказывает единственность решения.

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

Легко увидеть, что если p1 = an ф ai, то решения не существует вне зависимости от начальных условий рекурсии. ■

Рекурсивная процедура, приведенная в доказательстве дает нам алгоритм решения уравнений вида (1) и завершает построение схемы разделения первого раздела.

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

Следствие 1. Пусть X = (x1,... ,xn) и P = (p1,... ,pn), X, P Є ЖП,

X ф (X» k) = P (3)

не имеет решений или имеет единственное решение с точностью до битовой инверсии, если (k,n) = 1, то есть k и n взаимно просты.

Доказательство. В этой перестановке х1 переходит в x1+k, x1+k в x1+2fc, x1+2fc в x1+3fc и т.д. Из теории чисел известно, что tk, t Є Z пробегает полную систему вычетов по модулю n, тогда и только тогда, когда (k,n) = 1. Следовательно, в этом случае будет существовать ровно один цикл в разложении перестановки циклического сдвига (X^^ k). Таким образом, все доказательство будет идентично доказательству теоремы 1 с соответствующими изменениями в схеме поиска решения, где индексы будут пробегать полную систему вычетов:

(А» k)і = ar-i(i) ^ ar-2(i) = pi ф aT-ід),

(А^» k)T— 1(1) aT—2(1) ar~3(1) рт— 1(1) ф aT~2(1Д

и т.д,

где т-1 Є Sn - перестановка обратная к k), действующая на множестве

индексов {1,2, 3,... , n}.

Единственность следует из теоремы 1. ■

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

196

Д.Н. Лавров. Схема разделения секрета...

Теорема 2. Пусть X = (xi,... , xn) и P = (pi,... ,pn), X, P Є ЖП, п Є Sn — элемент симметрической группы перестановок, действующий на упорядоченное множество X, тогда уравнение

X 0 п(Х) = P (4)

либо не имеет решений, либо имеет не более 2d, где d - число циклов в разложении перестановки п. ■

Доказательство повторяет доказательство теоремы 1, но для каждого цикла перестановки п в отдельности.

В частности, если п = (1) (2) (3)... (n) - тождественная перестановка, то уравнение (4) превращается X 0 X = P, имеющее 2n решений только для P = 0000... 0, для остальных значений P решений не существует.

Теорема 2 фактически использует понятие ключа шифра простой перестановки — им является перестановка п.

3. Многомаршрутная схема

Используя результаты раздела 2, построим схему многомаршрутной системы передачи данных.

Пусть S = (si, s2,... , sN), S Є Z// = {0,1}N — исходное сообщение, упо-

рядоченный набор нулей и единиц, |S| = N - длина сообщения, n - число маршрутов. Будем считать, что n|N, в противном случае дополним сообщение S случайными битами, так чтобы n было делителем N.

1. В начало сообщения дописываем 1. Используем побитовое расщепление, так что Si = (si,si+n ,...,SN-n+ i), S2 = (s2,S2+n ,...,Sn-n+2), ... ,

Sn (sn, sn+n, . . . , sN).

2. Зададим функции

Fi — Si 0 S2, F2 — S2 0 S3,

Fn = Sn 0 (Si^ 1).

3. Fi передается по первому маршруту, a F2 — по второму маршруту и т.д. Принимающая сторона получает в свое распоряжение набор (Fi, F2,... , Fn), покоторому необходимо восстановить исходное сообщение S.

4. Пусть P = Ф™=і Fi. Легко проверить, что P = Si 0(Si^ 1). Решаем полученное уравнение относительно Si (символ Т опускаем, так как решение единственно: старший бит сообщения установлен в единицу).

Находим остальные части исходного сообщения

S2 = Fi 0 Si , S3 = F2 0 S2 ,

5. Собираем S из полученных частей.

Sn

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

Fn 0 Sn.

4. Техническая реализация

Система передачи реализована [1] в сети с двумя маршрутами, организованной на основе стека протоколов TCP/IP. Предложенная в предыдущих пунктах схема разделения может быть применена к ней непосредственно.

Предлагаем следующую схему, состоящую всего из четырех узлов (1):

Математические структуры и моделирование. 2002. Вып. 10.

197

1) передающая станция делит сообщение на две части, создает два соединения двумя сетевыми интерфейсами принимающей стороны. Пакеты первой части сообщения в IP-заголовке имеют адрес первого интерфейса, пакеты второй части - второго сетевого интерфейса;

2) маршрутизатор №1, статическая таблица маршрутизации настроена так, что пакеты на первый интерфейс принимающей стороны направляются через серийный порт S0, а на второй — через S1;

3) маршрутизатор №2 принимает пакеты и пересылает их принимающей станции;

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

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

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

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

ЛИТЕРАТУРА

1. Ефимов В.И. Файзуллин Р.Т. Система мультиплексирования разнесенного TCP/IP трафика. Математические структуры и моделирование. №10. 2002.

2. Шнаейр Б. Прикладная криптография. М.: Триумф. 2002. 816 с.

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