УДК 519.6
А. В. Александров
устойчивость SMT-протокола к атакам противника в модели безопасности долева—яо
Устанавливаются свойства конфиденциальности SMT-протокола (Secure Message Transmission Protocols) с общей памятью. Конфиденциальность понимается как устойчивость протокола передачи к атакам активного или пассивного противника в обобщенном канале связи, подчиненного модели безопасности Доле-ва—Яо.
Ключевые слова: криптографические протоколы передачи, схема разделения секрета, модель безопасности Долева—Яо.
Введение. Практическая стойкость, которая лежит в основе современных криптосистем и криптографических протоколов, обеспечивает противодействие взлому закрытого текста или протокола передачи данных на время, большее времени сохранения конфиденциальности и жизни самого передаваемого документа. Возрастание вычислительной мощности компьютеров, появление новых видов криптографических атак на ключи шифрования и криптографические протоколы [1, 2] могут резко снизить порог практической стойкости современных криптографических средств. При создании практически стойких криптографических схем используется теория сложности алгоритмов и, в частности, так называемые односторонние функции. Доказательство существования односторонних функций опирается на не доказанную гипотезу о несовпадении классов алгоритмически Р-сложных и NP-сложных задач: Р * NP.
В криптографии востребован конфиденциальный обмен, обладающий параметрами стойкости и надежности в абсолютном или почти абсолютном смысле. В работе К. Шеннона [3] решен вопрос о существовании абсолютно стойкого шифра, обеспечивающего противодействие пассивному противнику. Современные исследования по абсолютно или почти абсолютно секретной и надежной связи развиваются в рамках так называемых SMT-протоколов (Secure Message Transmissions Protocols) и обобщают результаты К. Шеннона по нескольким важным направлениям. На основе этого возникла современная модель безопасности Долева— Яо [4], в соответствии с которой возможность противостоять противнику в канале связи переносится на сетевой граф. Кроме того, противник помимо прослушивания трафика может производить быструю подмену сообщений в определенных ветвях графа. Последнее, в частности означает, что воздействие противника приравнивается к воздействию некоторого шума в обобщенном канале связи.
(я,я)-пороговые и (&,я)-пороговые схемы разделения секретного сообщения. Основным инструментом в SMT-протоколах выступают пороговые схемы разделения секретного сообщения (секрета), работающие в конечных полях. Схема предложенная А. Шамиром, представляет собой классическую (п,п)-пороговую схему разделения секрета, позволяющую вычислять доли секрета S для любых значений п. Схема разделения секрета Шамира использует многочлены степени п-1 над полем Галуа GFp:
pn-1 (x) = anxn-1 +... + a1 x + S, an-1,...,a1 e rand GFp . (1)
Долей секрета Sharet (S) является упорядоченная пара:
Sharei (S) = (i, pn-1 (i)), i * 0 .
Устойчивость БЫТ-протокола к атакам противника 61
Теорема о полиномиальной интерполяции для многочленов (1) над полем ОЯР сохраняет свою силу, поэтому при наличии не менее п совокупностей попарно различных долей секрет Б восстанавливается по интерполяционной формуле Лагранжа:
п-1 х - X
Рп-1(х) = П , Рп-1(0) = Б .
г=1,] х] х
Можно показать, что при количестве долей секрета мощностью менее п значение Б не только неопределенно, но и с равной вероятностью распределено по всему полю, так что любой элемент поля может приобрести значение Б. Аналогичным образом, на основе многочленов над полем строятся (к,п)-пороговые схемы разделения секрета к>п. В работе [5] отмечено, что (к,п)-пороговые схемы разделения для к=3п+1 эквивалентны кодам Рида—Соломона, исправляющим ошибки в канале связи.
8МТ-протоколы. Современные работы по SMT-протоколам обширны (см. обзоры [3, 4]). Свойства конфиденциальности SMT-протоколов с нулевой общей памятью и некоторыми дополнительными условиями на пути в канале связи, а также их криптоанализ приведены в [4].
В настоящей статье рассматривается протокол конфиденциального обмена с общей памятью между абонентами А и В. Абоненты расположены в вершинах ориентированного графа и связаны между собой, по крайней мере, п>1 непересекающимися путями. Такие графы называются графами высокого порядка связности. Степень активности противника в рамках модели Долева—Яо предполагается такой, что он может контролировать почти все каналы связи в режиме прослушивания и некоторую часть каналов — в режиме перехвата и быстрой замены проходящего трафика. Эти случаи различаем терминами „пассивный противник" и „активный противник" соответственно.
Основные определения. Пусть G (V, Я) — ориентированный граф, с множеством вершин V, включающим в себя элементы {А, В} и ребра Я = {Г1,..., Гп, q}, п>1 такие, что:
Г1,..., Гп — ориентированы от А к В, q — ориентирован от В к А.
Все ребра попарно не пересекаются, за исключением своих концов в А и В, и их ориентация задает в графе направление передачи трафика в сети.
Передаваемый секрет Б считаем элементом числового поля ОЯР (р — простое, достаточно большое число), Б находится в А. Множество пересылки сообщений Б = {й^....,йк) назовем историей переписки между А и В. Это множество всех сообщений, которыми обмениваются А и В в рамках действия протокола. Случай пустого множества Б не исключается.
Обозначим П(А,В,Б,Б) — протокол обмена сообщениями между А и В, в результате которого в точке В должно быть получено числовое значение Б е ОЯр . Во время работы всего
протокола П в графе G(V, Я) действует к-активный противник Р (к<п). Это означает, что Р
прослушивает, вообще говоря, трафик протокола в графе G \ {А, В} в к каналах связи. Более
точно — противник контролирует в режиме подмены сообщений не более к каналов, и это множество противник не может изменять на протяжении выполнения всего протокола.
Определение 1. Пусть 0 < 5 < 2. Назовем протокол П 5-надежным, если в точке В в результате выполнения протокола с вероятностью не менее 1 -5 ^0 < 5 < 2^ появляется сообще-
ние
БВ = Б
Определение 2. Протокол П называется абсолютно надежным, если 5 = 0 . Следуя работе [5], введем вероятностную функцию adv, отражающую активность соперника. Более точно — функция adv(S,r) отражает количество наблюдений r противника P за выполнением протокола, необходимых для получения S=SA вне точки В с вероятностью с.
Определение 3 (см. [5]). Пусть 0 < s < 1. Назовем протокол П s-секретным, если для любых двух сообщений S0, S1 и для любого r:
2 | [adv(S0, r) = c] - [adv(S1, r) = c] \ < 2s .
c
Определение 4. Протокол П назовем абсолютно секретным, если он 0-секретен в смысле определения 3.
Определение 5. Назовем протокол П (5, s)-безопасным, если он 5-надежен и s-секретен. Протокол П(0,0) называем совершенным.
В протоколе П(A,B,S,D,Р) выделим три этапа. Первый предназначен для создания проверяемого и согласованного непустого множества D в точках А и В, а также определения тех элементов сети, которые контролируются противником P. Основным инструментом первого элемента для создания D является проверяемая схема разделения секрета Шамира [6].
В результате выполнения второго этапа на основе множества D в точке А решается задача „укладка рюкзака" с некоторым модулярным слагаемым в поле GFp, и необходимый
набор битов (обозначим его E) для сборки решения пересылается в точку В.
На завершающем протокол третьем этапе модулярное слагаемое А передается в точку B. В силу того что величины А и S независимы, справедливо следующие равенство:
H (А | S) = H (S), (2)
где H(x | y) — условная энтропия по Шеннону.
Описание SMT-протокола с общей памятью
Этап I. Формирование истории переписки D и передача ее абоненту B. В начале выполнения протокола у абонентов А и В множество переписки — пустое. Абонент А формирует случайным образом множество D = (db...,dk}, где di e GFp. Для передачи dt e GFp , i = 1,...,k, используем проверяемое разделение секрета Шамира [6] порядка (k +1,n) на доли dij, где j = 1,...,n — номер провода, по которому отправлена доля dij из Г. Абонент В получает доли dj и при помощи проверяемой интерполяции пытается вычислить
d 'i = dt. Провода с номерами j, для которых интерполяция проведена неуспешно, признаются ошибочными или контролируемыми активным противником и в дальнейшей работе протокола не участвуют. Список ошибочных проводов абонент В отправляет по каналу обратной связи q абоненту А. Этот этап соответствует первому этапу SMГ(0,0)-протокола, описанному и изученному в работе [6], за тем исключением, что в [6] история переписки D после выполнения этапа I отбрасывается.
Этап II. Выбор абонентом А коэффициентов „рюкзачной схемы" и передача их абоненту В. Отправитель А выбирает коэффициенты e1,...,ek, где et = (0,1}, такие что:
¿de = s+А. (3).
i=1
Здесь операция сложения по mod p, А — некоторый элемент из GFp, подчиненный свойству (2). Набор битов e1,...,ek передается абоненту B.
Устойчивость SMT-протокола к атакам противника
63
Этап III. Сборка секрета абонентом В. Абонент В получает коэффициенты e^,...,ek, вычисляет значение S + Д и передает его абоненту A по обратному каналу q. После получения сообщения от В абонент А отправляет Д любым способом по достоверным каналам. Абонент В получает Д и вычисляет секретное сообщение S. На этом заканчивается выполнение протокола П.
Теорема: Пусть противник P является k-активным (k<n), при этом не имеет доступа к обратному каналу связи q. Тогда условие
k < 2n +1 (4)
необходимо для того, чтобы протокол П( A, B, D, S, P) был (0,0)-безопасным.
Доказательство: Представим действие протокола П(A, B, D, S, P) в виде композиций протоколов П(А,B,D,S,P) = П1 оП2 °П3(А,B,D,S,P), где /=1,..,3 соответствует этапу протокола П. Свойство идеальности протокола П1 хорошо известно [7]. Отсюда следует, что противник P может восстановить или угадать элементы множества D с вероятностью H\GFp\, где \GFp\ — мощность числового поля. Если трафик прослушивается E = (eb...,ek}, то H(E | D) = H(D). Последнее равенство доказывает совершенность протокола П2. Свойство совершенности протокола П3 вытекает из (3), что завершает доказательство теоремы.
Нетрудно показать, что однократное применение схемы разделения секрета Шамира эквивалентно применению n шифров Вернама по каждому из путей R = {Г1,...,Гп}с попарно различными ключами, определяемыми по значениям многочлена pn (Xj ) - S в схеме разделения секрета. Из этого, с учетом абсолютной стойкости однократного шифрования Вернама [3], следует 0-секретность по Шеннону протокола П1 , его композиций, а следовательно, и всего протокола П(A, B, D, S, P) = П1 ° П2 ° П3 (A, B, D, S, P).
Ограничение на доступ противника P к обратному каналу q в теореме является необходимым. Криптоанализ протокола П1 [8] показывает, что в случае активного доступа противника к обратному каналу q успешно проводится криптографическая атака „человек посередине" ("Man in the middle"). Этот факт, вообще говоря, приводит к понижению стойкости протокола П1, а следовательно и П( A, B, D, S, P), до (0, в)-безопасного, где s удовлетворяет не-
1 5 равенству — < в < — .
Р Р
список литературы
1. Панасенко С. Алгоритмы шифрования. СПб: БХВ, 2008. 563 с.
2. Черемушкин А. В. Криптографические протоколы: основные свойства и уязвимости. М.: Изд. центр Академия, 2009. 272 с.
3. Shannon C. Communication theory of secrecy systems // Bell System Techn. J. 1949. Vol. 28, N 4. P. 656—715.
4. Dolev D. D., Yao A. // IEEE Transact. on Inform. Theory. 1983. Vol. IT-29, N 2. P. 198—208.
5. Franklin M., Wright R. Secure communication in minimal connectivity models // J. Cryptology. 2000. Vol. 13, N 1. P. 9—30.
6. Shamir A. How to share a secret // Communication of ACM. 1979. Vol. 22, N 11. P. 612—613.
7. Dolev D., Dwork C. Perfectly Secure Message Transmission // Proc. 31st Annu. Symp. on Found. of Comput. Sci. 1990. P. 36—45.
8. Yang Q., Desmedt Y. Cryptanalysis of Secure Message Transmission Protocols with Feedback // ICITS. 2009. P. 159—176.
64
М. В. Белоусов, A. B. Александров
Алексей Викторович Александров
Сведения об авторе
канд. физ.-мат. наук, доцент; Владимирский государственный университет им. А. Г. и Н. Г. Столетовых, кафедра информатики и защиты информации; E-mail: alex_izi@mail.ru
Рекомендована ВлГУ
Поступила в редакцию 17.04.12 г.
УДК 519.6
М. В. Белоусов, A. B. Александров
особенности реализации SMT-протокола на базе языка PYTHON 3
Описана реализация 8МТ-протокола на основе схемы разделения секретного сообщения Шамира, исследованы характеристики протокола, такие как алгоритмическая сложность, скорость работы и надежность.
Ключевые слова: SMT-протокол, схема разделения секрета, модель Долева—Яо.
Рассмотрим реализацию SMT-протокола (Secure Message Transmission), принадлежащего к группе 0-секретных протоколов передачи сообщений [1], в обобщенном канале связи.
Под обобщенным каналом связи понимается ориентированный граф с множеством вершин и путей (каналов), таких что:
1) все пути Ci (i = 1,..., n) попарно не пересекаются, за исключением оконечных точек A
и B, задающих направление передачи данных в канале связи;
2) П(A, B, C, S) — протокол обмена сообщениями между вершинами A и B. В рамках протокола секретное сообщение (секрет) S должен быть передан в точку B по обобщенному каналу C = {Q,..., Cn}.
3) секрет S является элементом числового поля GFp (p—большое простое число), изначально находящимся в точке A ;
4) подчиненный модели безопасности Долева—Яо [2] протокол предусматривает противодействие противника на протяжении всей работы.
В классических вариациях SMT-протокола всегда можно выделить два этапа: разделение сообщения S на криптографические части — тени Share1(S), ..., Sharen(S) с отправкой Share(S) по каналам Ci, и сборка сообщения S из необходимого набора теней в другой точке сетевого графа.
Свойства конфиденциальности SMT-протоколов изучены в работах [1, 3, 4] для различных реализаций схем разделения и сборки секрета из теней. В частности, в статье [1] вводится понятие надежности. Надежность работы протокола П( A, B, C, S) определяется вероятностью P того, что по окончании работы протокола переданное и полученное сообщения одинаковы:
В работе [4] для контроля надежности П(A, B, C, S) предлагается дополнительно использовать обратный канал связи (feedback).
В рамках нашей реализации протокола схема разделения секрета представляет собой классическую (п,п)-пороговую схему, позволяющую вычислять теневые копии для больших
SA = SB, P ~1.
(1)