close

Вход

Забыли?

вход по аккаунту

?

675.Прикладная дискретная математика. Приложение №2 2009

код для вставкиСкачать
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ПДМ. Приложение. 2009. № 2.
ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ПРИКЛАДНОЙ
ДИСКРЕТНОЙ МАТЕМАТИКИ
5–17
Токарева Н. Н. Бент-функции и их обобщения // ПДМ. Приложение. 2009. № 2. C. 5–17.
18–42
Шоломов Л. А. Элементы теории недоопределенной информации // ПДМ. Приложение. 2009. № 2. C. 18–42.
МАТЕМАТИЧЕСКИЕ МЕТОДЫ КРИПТОГРАФИИ
43–73
Агибалов Г. П. Конечные автоматы в криптографии // ПДМ. Приложение. 2009. № 2. C. 43–73.
74–114
Скобелев В. Г. Комбинаторно-алгебраические модели в криптографии // ПДМ. Приложение. 2009. № 2. C.
74–114.
115–150
Черемушкин А. В. Криптографические протоколы: основные свойства и уязвимости // ПДМ. Приложение.
2009. № 2. C. 115–150.
МАТЕМАТИЧЕСКИЕ ОСНОВЫ КОМПЬЮТЕРНОЙ
БЕЗОПАСНОСТИ
151–190
Девянин П. Н. Обзорные лекции по моделям безопасности компьютерных систем // ПДМ. Приложение.
2009. № 2. C. 151–190.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА
№2
ПРИЛОЖЕНИЕ
Ноябрь 2009
ТЕОРЕТИЧЕСКИЕ ОСНОВЫ
ПРИКЛАДНОЙ ДИСКРЕТНОЙ МАТЕМАТИКИ
УДК 519.7
БЕНТ-ФУНКЦИИ И ИХ ОБОБЩЕНИЯ1
Н. Н. Токарева
Институт математики им. С. Л. Соболева СО РАН, г. Новосибирск, Россия
E-mail: tokareva@math.nsc.ru
Лекция посвящена бент-функциям — булевым функциям, максимально удаленным в метрике Хэмминга от множества всех аффинных функций. Это экстремальное свойство определяет большое число приложений бент-функций в самых
разных областях. Рассматриваются также обобщения бент-функций.
Ключевые слова: бент-функция, обобщения бент-функций.
Введение
Бент-функции впервые были введены О. Ротхаусом в 60-х годах XX века. Выпускник Принстонского университета Оскар Ротхаус (1927–2003) после службы во
время Корейской войны в войсках связи поступил на работу математиком в Агентство Национальной Безопасности США. С 1960 по 1966 г. он работал в Институте оборонного анализа (IDA). Его криптографические работы того времени оценивались руководством IDA достаточно высоко. Как и его преподавательская деятельность: «he was one of the most important teachers of cryptology to mathematicians and
mathematics to cryptologists» [8]. На это же время приходится и его первая работа о
бент-функциях [36]. В открытой печати она появилась только в 1976 г. [37]. В ней были
установлены базовые свойства бент-функций, предложены их простейшие конструкции и намечена классификация бент-функций от шести переменных.
В настоящее время бент-функции и их приложения изучаются очень активно.
Семейства бент-последовательностей из элементов +1 и −1, построенные на основе бент-функций, имеют предельно низкие значения как взаимной корреляции, так и
автокорреляции (достигают нижней границы Велча). Такие семейства успешно применяются в коммуникационных системах коллективного доступа, а также в работе со
стандартом CDMA. Технология цифровой сотовой связи CDMA (Сode Division Multiple Access — множественный доступ с кодовым разделением каналов) была стандартизована в 1993 г. американской телекоммуникационной промышленной ассоциацией
(US TIA) в виде стандарта IS–95. В настоящее время технология используется большинством поставщиков беспроводного оборудования во всем мире согласно стандартам
IMT–2000 мобильной связи третьего поколения (в России — стандарты IMT–MC 450
или CDMA–450). В системах CDMA для предельного снижения отношения пиковой и
1
Работа выполнена при финансовой поддержке гранта Президента РФ для молодых российских ученых (МК-1250.2009.1), Российского фонда фундаментальных исследований (проекты 07-0100248, 08-01-00671, 09-01-00528), Фонда содействия отечественной науке, ФЦП «Научные и научнопедагогические кадры инновационной России» на 2009-2013 гг. (гос. контракт 02.740.11.0429).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
6
Н. Н. Токарева
средней мощностей сигнала (peak-to-average power ratio) используются коды постоянной амплитуды. Их построение напрямую связано с выбором специального подмножества бент-функций.
В блочных и поточных шифрах бент-функции и их векторные аналоги способствуют предельному повышению стойкости этих шифров к линейному и дифференциальному методам криптоанализа. Стойкость достигается за счет использования сильно нелинейных булевых функций в S-блоках (см., например, шифр CAST). Бентфункции и их обобщения находят свое применение также в схемах аутентификации,
хэш-функциях (см. HAVAL) и псевдослучайных генераторах. См. также пример использования бент-функций в поточном шифре Grain.
Несмотря на высокий интерес к бент-функциям, прогресс в их изучении самый
минимальный. Для мощности класса бент-функций не найдена асимптотика, не установлено приемлемых нижних и верхних оценок. Мало изучены и их обобщения, возникающие из новых постановок прикладных задач.
Данная лекция построена на основе двух обзоров автора [5, 6] и по сути является их кратким конспектом. Приводятся основные свойства, конструкции, эквивалентные представления бент-функций. Значительное внимание уделяется обобщениям
бент-функций. В конце статьи приводятся открытые вопросы в этой области.
Нам потребуются следующие определения и обозначения:
q, n — натуральные числа;
+ — сложение по модулю q;
x = (x1 , . . . , xn ) — q-значный вектор;
Znq — множество всех q-значных векторов длины n;
Fqn — поле Галуа порядка q n ;
hx, yi = x1 y1 + . . . + xn yn — скалярное произведение векторов;
f : Zn2 → Z2 — булева функция от n переменных;
f — вектор значений длины 2n функции f . Будем считать, что аргументы функции
(т. е. векторы длины n) перебираются в лексикографическом порядке;
dist(f, g) — расстояние Хэмминга между функциями f и g, т. е. число позиций,
в которых различаются векторы f и g;
АНФ — алгебраическая нормальная форма функции;
deg(f ) — степень нелинейности булевой функции f , т. е. число переменных в самом
длинном слагаемом
ее АНФ;
P
(−1)hx,yi+f (x) — преобразование Уолша—Адамара булевой функции f ;
Wf (y) =
x∈Zn
2
Nf — нелинейность булевой функции f , т. е. расстояние Хэмминга от данной функции до множества всех аффинных функций;
максимально нелинейная функция — булева функция с максимально возможным
значением Nf ;
бент-функция (n чётное) — булева функция, такая, что все её коэффициенты
Уолша—Адамара равны ±2n/2 ;
Bn — класс бент-функций от n переменных;
аффинно эквивалентные функции f и g от n переменных: существуют невырожденная n × n-матрица A, векторы b, c длины n и константа λ ∈ Z2 , такие, что
g(x) = f (Ax + b) + hc, xi + λ.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Бент-функции и их обобщения
7
1. Критерии и свойства
I Следующие утверждения эквивалентны:
(i) булева функция f от n переменных является бент-функцией;
(ii) матрица A = (ax,y ), где ax,y = 2−n/2 Wf (x + y), является матрицей Адамара;
(iii) матрица D = (dx,y ), где dx,y = (−1)f (x+y) , является матрицей Адамара;
(iv) для любого ненулевого вектора x функция f (y) + f (x + y) сбалансирована, т. е.
принимает значения 0 и 1 одинаково часто.
I Степень нелинейности deg(f ) любой бент-функции f от n > 4 переменных не
превосходит числа n/2.
I Бент-функции любой степени 2 6 deg(f ) 6 n/2 существуют.
I Любая квадратичная бент-функция от n переменных аффинно эквивалентна
функции f (x1 , . . . , xn ) = x1 x2 + x3 x4 + . . . + xn−1 xn .
I Класс бент-функций замкнут относительно
(i) любого невырожденного аффинного преобразования переменных;
(ii) прибавления любой аффинной функции.
2. Эквивалентные представления бент-функций
I Бент-функции могут быть описаны в терминах элементарных адамаровых разностных множеств и симметричных блок-схем [19].
I (Описание В. В. Ященко, 1997 [7].) Любая булева функция f от n переменных
может быть представлена в виде линейного разветвления f (x0 , x00 ) = hx0 , h(x00 )i +
+g(x00 ), где x0 ∈ Zr2 , x00 ∈ Zk2 для подходящих чисел r и k, таких, что n = r + k,
отображения h : Zk2 → Zr2 и булевой функции g от k переменных. Максимально возможное значение r в таком представлении называется индексом линейности булевой
функции f . Подмножество M пространства Zn2 называется бент-множеством, если
его мощность равна 22` при некотором ` и для любого ненулевого вектора z ∈ Zn2 множество M ∩ (z + M ) либо пусто, либо имеет четную мощность. Пара (g; M ), где g —
булева функция от k переменных, M — бент-множество, называется частичной бентфункцией, если для любого y 0 ∈ Zr2 и ненулевого y 00 ∈ Zk2 функция g(x00 ) + g(x00 + y 00 )
сбалансирована на множестве M ∩ ((y 0 , y 00 ) + M ).
Функция f в виде линейного разветвления является бент-функцией тогда и только
тогда, когда n > 2r и для любого вектора x0 ∈ Zr2 выполняются условия:
(i) мощность множества h−1 (x0 ) равна 2n−2r ;
(ii) множество h−1 (x0 ) является бент-множеством;
(iii) пара (g; h−1 (x0 )) является частичной бент-функцией.
I (Описание К. Карле и Ф. Гуилло, 1998 [15].) Пусть f — булева функция от n
переменных. Пусть IndS : Zn2 → Z2 — характеристическая функция подмножества
S ⊆ Zn2 , т. е. IndS принимает значение 1 на элементах из S и значение 0 на остальных
элементах.
Функция f является бент-функцией тогда и только тогда, когда существуют подпространства E1 , . . . , Ek размерностиP
n/2 или (n/2) + 1 пространства Zn2 и ненулевые
k
(n/2)−1
целые числа m1 , . . . , mk , такие, что
Ind{0} (y) + f (y) для
i=1 mi IndEi (y) = ±2
n
любого y ∈ Z2 . Можно ввести ограничения на способ выбора пространств E1 , . . . , Ek ,
при которых можно говорить об однозначности такого представления.
I (Описание А. Бернаскони, Б. Коденотти и Дж. Ван-дер-Кама, 1999 [10, 11].)
Пусть f — булева функция от n переменных. Через supp(f ) обозначим ее носитель,
т. е. множество всех двоичных векторов длины n, на которых функция f принимает
значение 1. Рассмотрим граф Кэли Gf = G(Zn2 , supp(f )) булевой функции f . Вершина-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
8
Н. Н. Токарева
ми графа являются все векторы длины n. Две вершины x, y соединяются ребром, если
вектор x + y принадлежит множеству supp(f ). Граф G называется сильно регулярным
(strongly regular), если существуют неотрицательные целые числа λ, µ, такие, что для
любых двух вершин x, y общее число смежных им вершин равно λ или µ в зависимости
от того, соединены вершины x, y ребром или нет.
Булева функция f является бент-функцией тогда и только тогда, когда граф Gf
является сильно регулярным, причем λ = µ.
I (Описание С. В. Агиевича, 2000 [9].) Пусть f — булева функция от n переменных, n = r + k. Вектор W f коэффициентов Уолша—Адамара назовем спектральным
вектором функции f . Представим двоичный вектор f в виде f = (f (1) , . . . , f (2r ) ),
где каждый вектор f (i) имеет длину 2k . Пусть f(i) — булева функция от k переменных, для которой f (i) является вектором значений, i = 1, . . . , 2r . Свяжем с функцией
f матрицу Mf размера 2r × 2k , строками которой являются спектральные векторы
W f(1) , . . . , W f(2r ) . Матрица размера 2r × 2k называется бент-прямоугольником, если
каждая ее строка и каждый столбец, домноженный на 2r−(n/2) , являются спектральными векторами для подходящих булевых функций. Согласно [9], выполняется следующая теорема.
Булева функция f является бент-функцией тогда и только тогда, когда матрица Mf является бент-прямоугольником.
3. Оценки числа бент-функций
Число бент-функций от n переменных неизвестно. Существует большой разрыв
между нижней и верхней оценками этого числа. Асимптотически он имеет вид
n/2
n
C1 · 22
6 |Bn | 6 C2 · 22 . Нижняя оценка получается из конструкции Мэйорана—
МакФарланда (некоторое ее улучшение см. в [9]). Верхняя оценка приводится в [16].
Сократить этот разрыв — серьезная задача.
4. Нелинейность произвольной булевой функции
В 1998 г. Д. Оледжар и М. Станек [32] исследовали криптографические свойства
случайной булевой функции от n переменных. В частности, они показали, что существует константа c, такая, что при достаточно больших n почти
для каждой булевой
√ n/2
n−1
функции f от n переменных выполняется Nf > 2
− c n 2 . То есть с ростом
n нелинейность случайной булевой функции от n переменных становится достаточно
высокой и даже сопоставимой с нелинейностью бент-функции!
Для криптографических приложений булева функция кроме нелинейности должна
обладать целым рядом других свойств. Приведенный факт позволяет сказать, что
есть «гарантированная возможность» выбора функции с высокой нелинейностью не
в ущерб этим свойствам. Но хотя нелинейность почти всех булевых функций высока,
это не означает, что такие функции легко построить.
Задача описания всех бент-функций от n переменных решена лишь при малых
значениях n. Приведем эти результаты (см. таблицу). Количество бент-функций при
n = 8 равно 29 × 193 887 869 660 028 067 003 488 010 240 ' 2106,29
5. Конструкции бент-функций
I Функция f (x0 , x00 ) = g(x0 ) + h(x00 ), где векторы x0 , x00 имеют четные длины r, k
соответственно, является бент-функцией тогда и только тогда, когда функции g, h —
бент-функции.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Бент-функции и их обобщения
9
Бент-функции от малого числа переменных
Число
Число
Представители классов эквивалентности
n
функций
кл. экв.
x 1 x2
2
8
1
x 1 x2 + x3 x4
4
896
1
Представители степени 2
x 1 x2 + x3 x4 + x5 x6 ,
представители степени 3
5 425 430 528 '
x 1 x2 x3 + x1 x4 + x2 x5 + x3 x6 ,
6
4
' 232,3
x1 x2 x3 + x2 x4 x5 + x1 x2 + x1 x4 + x2 x6 + x3 x5 + x4 x5 ,
x1 x2 x3 + x2 x4 x5 + x 3 x4 x6 + x1 x4 + x2 x6 + x3 x4 +
+x3 x5 + x3 x6 + x4 x5 + x4 x6
Представители степени 2
x 1 x2 + x3 x4 + x5 x6 + x7 x8 ,
представители степени 3
x1 x2 x3 + x1 x4 + x2 x5 + x3 x 6 + x7 x8 ,
x1 x2 x3 + x 2 x4 x5 + x3 x4 + x2 x6 + x1 x7 + x5 x8 ,
x1 x2 x3 + x2 x4 x5 + x 1 x3 + x1 x5 + x2 x6 + x3 x4 + x7 x8 ,
x1 x2 x3 + x2 x4 x5 + x3 x4 x6 + x 3 x5 + x2 x6 + x2 x5 +
+x1 x7 + x4 x8 ,
x1 x2 x3 + x2 x4 x5 + x3 x4 x6 + x3 x5 + x1 x 3 + x1 x4 +
8
' 2106,29
> 536
+x2 x7 + x6 x8 ,
x1 x2 x3 + x2 x4 x5 + x3 x 4 x6 + x3 x5 + x2 x6 + x2 x5 +
+x1 x2 + x1 x3 + x1 x4 + x7 x8 ,
x1 x2 x3 + x2 x4 x 5 + x3 x4 x6 + x3 x 5 + x1 x6 + x2 x7 + x4 x8 ,
x1 x2 x7 + x3 x4 x7 + x5 x6 x 7 + x1 x4 + x3 x6 + x2 x5 +
+x4 x5 + x7 x8 ,
x1 x2 x3 + x2 x4 x5 + x 3 x4 x6 + x1 x4 x7 + x3 x5 + x2 x7 +
+x1 x5 + x1 x6 + x4 x8 ,
представителей степени 4 см. в [26, 27]
> 10
???
??? ???
I Пусть n = r + k, где r и k четны, f — булева функция от n переменных. Пусть x0 ,
x пробегают Zr2 и Zk2 соответственно. Предположим, что функции fx00 (x0 ) = f (x0 , x00 )
0
являются бент-функциями при любых x00 . Определим gx0 (x00 ) = ff
x00 (x ). Тогда f —
бент-функция, если и только если gx0 — бент-функция для любого x0 .
I (Конструкция Мэйорана—МакФарланда, 1973 [29].) Пусть h — любая перестаn/2
новка на Z2 , пусть g — произвольная булева функция от n/2 переменных. Тогда
функция f (x0 , x00 ) = hx0 , h(x00 )i + g(x00 ) является бент-функцией от n переменных.
I (Partial Spreads, Дж. Диллон, 1974 [20].) Пусть IndS : Zn2 → Z2 — характеристическая функция подмножества S ⊆ Zn2 . Пусть число q равно 2(n/2)−1 или 2(n/2)−1 + 1.
Пусть L1 , . . . , Lq — линейные подпространства размерности n/2 пространства Zn2 , такие, что любые два из них пересекаются лишь по нулевому вектору. Тогда функция
q
L
f (y) =
IndLi (y) является бент-функцией. Различают классы бент-функций PS + и
00
i=1
PS − (при q = 2(n/2)−1 и q = 2(n/2)−1 + 1 соответственно).
I (Степенные или мономиальные бент-функции — power/monomial bent functions.)
Пусть векторное пространство Zn2 отождествляется с полем Галуа F2n . Булевы функ-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
10
Н. Н. Токарева
ции от n переменных можно рассматривать как функции из F2n в F2 , сопоставляя каждому вектору y соответствующий элемент поля F2n , который будем обозначать тем же
n−1
символом. Пусть tr : F2n → F2 — функция следа, т. е. tr(y) = y + y 2 + · · · + y 2 . Бентфункции, имеющие вид f (y) = tr(ay d ), где a ∈ F∗2n — некоторый параметр, называются степенными или мономиальными, а целое число d называется бент-показателем.
Здесь F∗2n — множество ненулевых элементов поля. Пусть gcd(·, ·) — наибольший общий делитель двух чисел. Известны следующие бент-показатели: 2n/2 − 1, 2i + 1 (если
n/gcd(n, i) четно), 22k − 2k + 1 (при gcd(k, n) = 1), (2k + 1)2 (если n = 4k, k нечетно),
22k + 2k + 1 (при n = 6k).
I Пусть булева функция представлена в виде f (y) = tr(a1 y d1 + a2 y d2 ) для подходящих элементов a1 , a2 ∈ F2n и показателей d1 , d2 . Будем рассматривать специальные
степенные показатели — показатели Нихо вида d ≡ 2i mod (2n/2 − 1). Без ограничения общности [21] пусть первый показатель равен d1 = (2(n/2) − 1) 21 + 1. Тогда [23] если
d2 = (2(n/2) − 1)λ + 1, где λ равно 1/6, 1/4 или 3, то существуют элементы a1 , a2 ∈ F2n ,
такие, что f является бент-функцией.
I Общий алгебраический подход к описанию бент-функций мог бы основываться
на том, что любая булева функция f : F2n → F2 может быть представлена
спо
P
ad y d =
мощью следа (в так называемой trace form), т. е. в виде f (y) = tr
d∈CS
P
=
tr(ad y d ) для подходящих элементов ad ∈ F2n , где CS — множество представитеd∈CS
лей циклотомических классов по модулю 2n − 1. Эволюционный алгоритм на основе
такого представления был предложен М. Янгом, К. Менгом и Х. Жангом [39]. На основе многочисленных компьютерных исследований авторы делают в этой работе некоторые предположения, например о том, что бент-функцию — представителя класса
аффинной эквивалентности — можно представить в trace form с участием небольшого
числа мономов. Причем более вероятными ненулевыми коэффициентами ad считаются
те, для которых d является бент-показателем.
6. Алгебраические обобщения бент-функций
Приведем обобщения, в которых рассматриваемые функции отличаются от булевых. Как правило, это отображения из одной алгебраической системы в другую. В этом
и других пунктах обобщения приводятся на уровне определений. О том, в каких случаях доказано существование этих обобщений, см. подробнее в [6].
I (ВЕКТОРНЫЕ БЕНТ-ФУНКЦИИ.) С 90-х годов XX века стали исследоваться
функции f : Zn2 → Zm
2 , получившие название векторных булевых функций, или (n, m)функций. Нелинейные такие функции имеют непосредственные криптографические
приложения. Например, в шифрах они используются в качестве S-блоков. Преобразованием Уолша—Адамара (n, m)-функции f называется отображение Wfvect : Zn2 ×Zm
2 → Z,
P
vect 0
00
hx0 ,yi+hx00 ,f (y)i
заданное равенством Wf (x , x ) = y∈Zn (−1)
. Векторная (n, m)-функция
2
∗
называется бент-функцией, если |Wfvect (x0 , x00 )| = 2n/2 для каждых x0 ∈ Zn2 , x00 ∈ (Zm
2 ) .
Но векторные бент-функции существуют тогда и только тогда, когда n четно и
m 6 n/2 [31]. При m > n/2 (в частности при m = n) рассматриваются аналоги бентфункций, такие, как APN- и AB-функции.
I (q-ЗНАЧНЫЕ БЕНТ-ФУНКЦИИ, q-ARY BENT FUNCTIONS, П. В. Кумар,
√
Р. А. Шольц и Л. Р. Велч, 1985 [25].) Пусть q > 2 — натуральное число, i = −1
— мнимая единица. Пусть ω — примитивный комплексный корень степени q из
единицы, ω = e2πi/q . Рассмотрим q-значную функцию f : Znq → Zq . Преобра-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Бент-функции и их обобщения
11
зованием
Уолша—Адамара функции f называется комплексная функция Wf (y) =
P
= x∈Znq ω hx,yi+f (x) , y ∈ Znq , где скалярное произведение и сложение + рассматриваются
по модулю q. Пусть |c| обозначает модуль комплексного числа c. Функция f : Znq → Zq
называется q-значной бент-функцией, если |Wf (y)| = q n/2 для каждого y ∈ Znq .
I (БЕНТ-ФУНКЦИИ НАД КОНЕЧНЫМ ПОЛЕМ, А. С. Амбросимов, 1994 [1].)
Пусть q = p` , где p — простое, ` — натуральное. Пусть ω — примитивный комплексный корень степени p из единицы, ω = e2πi/p . Пусть f : Fqn → Fq — q-значная функция. При фиксированном
q преобразование Уолша—Адамара функции f опредеP z ∈ Fhhx,yi+f
(x),zi
, где z рассматривается как вектор над Fp
ляется как Wf, z (y) =
x∈Fqn ω
длины ` и внешнее скалярное произведение берется по модулю p (внутреннее — по
модулюP
q). Для любой функции f и любого ненулевого z выполняется равенство Парсеваля y∈Fqn |Wf, z (y)|2 = q 2n , из которого следует, что max |Wf,z (y)| > q n/2 . Функция
y∈Fqn
f : Fqn → Fq называется бент-функцией, если при любых векторах z ∈ Fq \{0}, y ∈ Fqn
выполняется |Wf, z (y)| = q n/2 . Заметим, что при q = p, ` = 1 данное определение
q-значной бент-функции совпадает с определением Кумара, Шольца и Велча.
I (ОБОБЩЕННЫЕ БУЛЕВЫ БЕНТ-ФУНКЦИИ, К. Шмидт, 2006 [38].) Они возникли в связи с построением обобщенных кодов постоянной амплитуды для систем
CDMA. Пусть q > 2 — натуральное число, ω — примитивный комплексный корень
степени q из единицы, ω = e2πi/q . Функция f : Zn2 → Zq называется обобщенной булевой функцией.
Ее преобразованием Уолша—Адамара называется комплексная функция
P
Wf (y) = x∈Zn (−1)hx,yi ω f (x) , y ∈ Zn2 .
2
Функция f : Zn2 → Zq называется обобщенной бент-функцией, если для каждого
y ∈ Zn2 выполняется |Wf (y)| = 2n/2 .
I (БЕНТ-ФУНКЦИИ ИЗ КОНЕЧНОЙ АБЕЛЕВОЙ ГРУППЫ В МНОЖЕСТВО КОМПЛЕКСНЫХ ЧИСЕЛ ЕДИНИЧНОЙ ОКРУЖНОСТИ, О. А. Логачев,
А. А. Сальников и В. В. Ященко, 1997 [2].) Пусть (A, +) — конечная абелева группа
порядка n и максимальный порядок ее элементов (или экспонента группы) равен q.
Пусть Tq = {e2πik/q | k = 0, 1, . . . , q − 1} — группа корней степени q из единицы. Через
b обозначим группу гомоморфизмов χ : A → Tq . Она называется группой характеров
A
b изоморфны; пусть
группы A (или ее дуальной группой). Известно, что группы A и A
y → χy — некоторый фиксированный изоморфизм, y ∈ A. Вместо преобразования
Уолша—Адамара удобно ввести преобразование
P Фурье комплекснозначной функции
f : A → C. Оно определяется как fb(y) =
x∈A f (x)χy (x). Далее рассматриваются
только такие функции из A в C, все значения которых лежат на единичной окружности S1 (C) с центром в нуле.
Функция f : A → S1 (C) называется бент-функцией, если |fb(y)|2 = n при любом
y ∈ A. Заметим, что если A — элементарная абелева 2-группа, т. е. q = 2, n = 2m
для целого m, то данное понятие совпадает с понятием обычной бент-функции от m
переменных. Если q, m — целые числа, то q-значные бент-функции Кумара, Шольца и
Велча от m переменных являются частным случаем данных бент-функций при A = Zm
q
и n = q m . Для этого необходима лишь небольшая модификация: от функций вида
0
m
0
f (x)
f : Zm
. А
q → Zq нужно перейти к функциям f : Zq → Tq ⊂ C, где f (x) = ω
b выбрать соответствие
в качестве изоморфизма между A и ее группой характеров A
hx,yi
2πi/q
y → χy (x) = ω
, где ω = e
.
В 2005 г. Л. Поинсо [33] предложил многомерное обобщение этих бент-функций.
Пусть Cm — m-мерное унитарное пространство с обычным скалярным произведением
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
12
Н. Н. Токарева
P
2
m
hx, yi = m
j=1 xj y j , нормой kxk = hx, xi и метрикой d(x, y) = ky − xk. Пусть S1 (C ) —
множество его точек, лежащих на сфере радиуса 1 с центром в нуле. Преобразованием
m
Фурье
следующая функция из A в Cm : fb(y) =
P функции f : A → C называется
= x∈A f (x)χy (x). Функция f : A → S1 (Cm ) называется многомерной бент-функцией,
если ||fb(y)||2 = n для каждого y ∈ A. При m = 1 данное определение полностью
совпадает с определением Логачева, Сальникова и Ященко.
I (БЕНТ-ФУНКЦИИ ИЗ КОНЕЧНОЙ АБЕЛЕВОЙ ГРУППЫ В ДРУГУЮ КОНЕЧНУЮ АБЕЛЕВУ ГРУППУ, В. И. Солодовников, 2002 [3].) Это наиболее общий
подход к алгебраическому обобщению бент-функций. Следует отметить, что в 2004 г.
К. Карле и К. Динг [14] повторили результаты В. И. Солодовникова, к сожалению, без
ссылки на предшественника. Пусть (A, +) и (B, +) — конечные абелевы группы порядков n и m соответственно, a и b — максимальные порядки элементов в этих группах.
bиB
b — группы характеров групп A и B. Зафиксируем изоморфизмы y → χy
Пусть A
b B и B
b соответственно, где χy : A → Ta и ηz : B → Tb —
и z → ηz между A и A,
характеры. Пусть f : A → B — произвольная функция. Следующие определения из [3]
приведем в несколько иной форме (введем нормировочные множители), не искажая
при этом их смысл. Преобразованием Фурье
P характера функции f при фиксированном z ∈ B называется функция fbz (y) = x∈A ηz (f (x))χy (x), где y ∈ A. При любом z
P
выполняется равенство Парсеваля y∈A |fbz (y)|2 = n2 .
Функция f : A → B называется бент-функцией, если для любого z ∈ B, z 6= 0
и произвольного y ∈ A справедливо |fbz (y)|2 = n. Заметим, что функция f : A → B
является бент-функцией тогда и только тогда, когда при каждом z 6= 0 функция ηz ◦ f
— бент-функция в смысле Логачева, Сальникова и Ященко2 .
I (ВЕКТОРНЫЕ G-БЕНТ-ФУНКЦИИ, Л. Поинсо и С. Харари, 2004 [34].) Идея
этого обобщения для функций вида f : A → B впервые была предложена
В. И. Солодовниковым в работе [3] 2002 г. Л. Поинсо и С. Харари подробно ее рассмотрели для случая A = (Zk2 , +) и B = (Zr2 , +), т. е. векторных булевых функций.
Основу обобщения составляет возможность иначе определить производную функции
f : A → B.
А именно, пусть S(A) — симметрическая группа A в мультипликативной записи.
Перестановка σ ∈ S(A) называется инволюцией, если σσ = e, где e — тождественная
перестановка. Перестановка σ без неподвижных точек, если для любого x ∈ A справедливо σ(x) 6= x. Множество всех инволюций σ без неподвижных точек обозначим
через Inv(A). Подгруппа G группы S(A), такая, что G ⊆ Inv(A) ∪ {e}, называется
группой инволюций группы A. Пусть A = Zk2 , B = Zr2 . Любая группа инволюций G
группы Zk2 является абелевой и |G| 6 2k . Будем рассматривать только группы G максимального порядка 2k . Пусть f : Zk2 → Zr2 , G — максимальная группа инволюций
группы Zk2 . Обобщенной производной f по направлению σ ∈ G называется функция
Dσ f (x) = f (σ(x)) − f (x). Отметим, что если G — группа трансляций (т. е. состоящая
из всех перестановок σy , y ∈ Zk2 , таких, что σy (x) = x + y), то обобщенная производная
совпадает с обычной, Dy f (x) = f (x + y) − f (x).
Функция f : A → B называется G-бент-функцией, если обобщенная производная
Dσ f (x) по каждому направлению σ ∈ G для σ 6= e уравновешена.
2
Здесь запись g ◦ f (x) означает функцию g(f (x)).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Бент-функции и их обобщения
13
7. Комбинаторные обобщения бент-функций
В этом разделе рассматриваются довольно естественные обобщения. Можно сказать, что в основу каждого из них заложена простая комбинаторная идея.
I (ЧАСТИЧНО ОПРЕДЕЛЕННЫЕ БЕНТ-ФУНКЦИИ.) Пусть S ⊆ Zn2 — произвольное подмножество, f : S → Z2 — частично определенная булева функция.
ЕеP
неполным преобразованием Уолша—Адамара называется отображение
Wf,S (y) =
P
2
(y) =
= x∈S (−1)hx,yi+f (x) , y ∈ Zn2 . Справедлив аналог равенства Парсеваля: y∈Zn Wf,S
2
n
= 2 |S|. Булева
частично определенной бент-функцией, если
p функция f называется
n
Wf,S (y) = ± |S| для любого y ∈ Z2 . Отметим, что условия на множество S, при
которых частично определенные бент-функции существуют, пока не известны.
I (ПЛАТОВИДНЫЕ ФУНКЦИИ.) Булева функция называется платовидной, если все ее ненулевые коэффициенты Уолша—Адамара равны по модулю. Из равенства
Парсеваля следует, что ненулевые коэффициенты должны иметь вид ±2n−h для некоторого целого h, где 0 6 h 6 n. Количество таких ненулевых коэффициентов должно
быть равно 22h . Показатель 2h и величину 2n−h называют соответственно порядком
и амплитудой платовидной функции. Бент-функции и аффинные функции являются
крайними частными случаями платовидных функций (порядков n и 0 соответственно).
Часто платовидные функции максимального порядка n − 1 от нечетного числа
переменных называют почти бент-функциями. Такие функции интересны для обеспечения защиты от так называемой soft output joint attack на генераторы псевдошумовых последовательностей (PN-generators) [28]. Такие генераторы используются в уже
упоминавшемся выше стандарте IS–95 технологии CDMA. Почти бент-функции используются также для построения криптографически стойких S-блоков [18].
I (Z-БЕНТ-ФУНКЦИИ, Х. Доббертин, 2005 [22].) Не будем различать обычную
булеву функцию f (x), где x ∈ Zn2 , и целочисленную функцию F (x) = (−1)f (x) . ПреобраP
зование Фурье функции F : Zn2 → Z определяется как Fb(y) = 2−n/2 x∈Zn (−1)hx,yi F (x).
2
Тогда ±1-значная функция F является бент-функцией, если и только если Fb также
±1-значная. Пусть T ⊆ Z — любое подмножество. Функция F : Zn2 → T называется
T -бент-функцией, если все значения функции Fb принадлежат множеству T . Доббертин выделил естественную цепочку вложенных друг в друга множеств: T0 = {−1, +1};
Tr = {w ∈ Z | − 2r−1 6 w 6 2r−1 } (при r > 0). Tr -бент-функция называется Z-бентфункцией уровня r, а все такие бент-функции (при r ∈ Z) составляют класс Z-бентфункций.
I (ОДНОРОДНЫЕ БЕНТ-ФУНКЦИИ (HOMOGENEOUS BENT F.), Ч. Ку,
Дж. Себерри и Й. Пипджик, 2000 [35].) Этот подкласс бент-функций был выделен
как состоящий из функций с относительно простыми алгебраическими нормальными
формами. Бент-функция называется однородной, если все одночлены ее алгебраической нормальной формы имеют одинаковые степени. Открытым вопросом является
задача определения точной верхней оценки степени нелинейности однородной бентфункции. Пока есть только предположение [30] о том, что для любого k > 1 найдется
такое N > 2, что однородная бент-функция степени k от n переменных существует
при каждом n > N .
8. Криптографические обобщения бент-функций
Как известно, одной высокой нелинейности для хорошей криптографической функции недостаточно. В этом разделе рассматриваются обобщения, которые возникли путем наложения на множество булевых функций других дополнительных ограничений.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
14
Н. Н. Токарева
I (УРАВНОВЕШЕННЫЕ БЕНТ-ФУНКЦИИ.) Известно, что криптографические
критерии часто противоречат друг другу. Бент-функции являются максимальнонелинейными, удовлетворяют критерию P C(n), но не являются уравновешенными.
Довольно естественно возникает следующее определение.
Булева функция f от n переменных называется уравновешенной бент-функций,
если она уравновешена и имеет при этом максимально возможную нелинейность.
В 1994 г. С. Чи, С. Ли и К. Ким [17] предложили способ построения уравновешенных
бент-функций от нечетного числа переменных, имеющих при этом почти равномерную корреляцию с линейными функциями и удовлетворяющих критерию P C(k) для
достаточно большого k.
I (ЧАСТИЧНО БЕНТ-ФУНКЦИИ (PARTIALLY BENT F.), К. Карле, 1993 [12].)
Бент-функции не являются ни уравновешенными, ни корреляционно-иммунными.
К. Карле предложил свой способ расширить класс Bn функциями, обладающими данными свойствами
и имеющими при этом достаточно высокую нелинейность. Пусть
P
f (x)+f (x+y)
∆f (y) =
(−1)
— автокорреляция булевой функции f по направлению y.
x∈Zn
2
Пусть N Wf и N ∆f — количества ненулевых коэффициентов Уолша—Адамара и
коэффициентов автокорреляции булевой функции f соответственно. Известно, что
N Wf · N ∆f > 2n для любой булевой функции.
Булева функция f , для которой N Wf · N ∆f = 2n , называется частично бентфункцией.
I (ГИПЕРБЕНТ-ФУНКЦИИ (HYPER-BENT FUNCTIONS), А. М. Йоссеф и
Г. Гонг, 2001 [40].) Их работе предшествовала статья С. В. Голомба и Г. Гонга [24]
1999 г., в которой алгоритм шифрования DES рассматривался как регистр сдвига с
нелинейными обратными связями и проводился анализ его S-блоков. При таком подходе авторы [24] предложили использовать для приближения координатных функций
S-блоков вместо линейных булевых функций собственные мономиальные функции.
Эта идея и была развита в [40].
Булеву функцию от n переменных можно рассматривать как функцию из F2n в F2 ,
сопоставляя каждому вектору x соответствующий элемент поля F2n . Известно, что любая линейная функция hx, yi может быть представлена как tr(ax y) для подходящего
элемента ax ∈ F2n , где tr : F2n → F2 — функция следа. Тогда преобразование
Уолша—
P
(−1)tr(yx)+f (x) .
Адамара приобретает следующий, эквивалентный, вид: Wf (y) =
x∈F2n
Функция вида tr(ax y s ), где 1 6 s 6 2n − 1 и gcd (s, 2n − 1) = 1, называется собственной мономиальной функцией. Расширенное
преобразование Уолша—Адамара булевой
P
s
(−1)tr(yx )+f (x) .
функции f имеет вид Wf,s (y) =
x∈F2n
Булева функция f называется гипербент-функцией , если для любого y ∈ F2n и
любого целого s, gcd (s, 2n − 1) = 1, выполняется |Wf,s (y)| = 2n/2 .
I (БЕНТ-ФУНКЦИИ БОЛЕЕ ВЫСОКОГО ПОРЯДКА НЕЛИНЕЙНОСТИ.) Это
довольно естественное направление, тесно связанное с нелинейными обобщениями различных методов криптоанализа. Известно, что эффективность приближения бентфункции любой линейной функцией является самой низкой. Расширяя класс линейных функций, естественно рассматривать для приближения булевы функции степени
не выше r, где 2 6 r 6 n − 1. При этом возникает понятие нелинейности r-го порядка
Nr (f ) булевой функции f как расстояния Хэмминга от f до всех таких функций. Булева функция, удаленная от всех функций степени не выше r на максимальное расстояние, называется бент-функцией порядка r. Но трудность заключается в определении
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
15
Бент-функции и их обобщения
этого максимального возможного значения для Nr (f ). При r > 2 это нерешенная задача, более известная в теории кодирования как определение радиуса покрытия кода
Рида—Маллера порядка r. Известны пока некоторые оценки для Nr (f ), его асимптотическое значение, связь с другими криптографическими параметрами и т. п. Подробнее
на эту тему см. обзор К. Карле [13].
I (k-БЕНТ-ФУНКЦИИ, 2007 [4].) Основная идея обобщения — рассмотреть аппроксимирующие функции, отличные от линейных, но являющиеся в каком-то смысле
их аналогами. Пусть x, y — двоичные векторы длины n. Пусть k — любое целое число,
такое, что 1 6 k 6 n/2. Определим бинарную операцию
k X
k
X
hx, yik =
(x2i−1 + x2i )(x2j−1 + x2j )(y2i−1 + y2i )(y2j−1 + y2j ) + hx, yi,
i=1 j=i
(k)
которая служит нелинейным аналогом скалярного произведения. Функция Wf (y) =
P
= x∈Zn (−1)hx,yik +f (x) называется k-преобразованием Уолша—Адамара булевой функ2
ции f . При k = 1 имеем эквивалентную запись обычного
Уолша—
преобразования
2
P
(k)
Адамара. Справедливо равенство Парсеваля: y∈Zn Wf (y) = 22n . Булева функция
2
f от n переменных называется k-бент-функцией, если для произвольной подстановки
(j)
π ∈ Sn , любого j = 1, . . . , k и любого вектора y выполняется Wf ◦π (y) = ±2n/2 .
9. Открытые вопросы
Приведем серию нерешенных задач в области бент-функций, представляющихся
наиболее интересными:
Получить аффинную классификацию бент-функций (от 10, 12 и т. д. переменных).
Получить алгебраическую классификацию бент-функций (от 10, 12 и т. д. переменных).
Получить асимптотику числа бент-функций от n переменных.
Улучшить нижнюю и верхнюю оценки числа бент-функций.
Предложить новые конструкции бент-функций, в частности — векторных.
Разработать эффективные алгоритмы порождения бент-функций.
Исследовать взаимосвязи между нелинейностью и другими криптографическими
характеристиками булевой функции.
Разработать эффективные методы построения уравновешенных булевых функций
с высокой нелинейностью (и др. криптографическими свойствами) из бент-функций.
Исследовать максимально нелинейные функции от нечетного числа переменных.
Исследовать группы автоморфизмов бент-функций.
Исследовать метрическую структуру класса бент-функций.
Получить конструкции оптимальных кодов, кодовые слова которых являются векторами значений бент-функций.
Исследовать взаимосвязи между различными обобщениями бент-функций.
Получить новые конструкции обобщенных бент-функций, исследовать их свойства.
Получить новые эквивалентные представления бент-функций, полнее отражающие
содержательную сторону этих объектов.
Предложить более общие подходы к исследованию бент-функций за счет установления взаимосвязей с другими дискретными (и не только) объектами.
Исследовать новые приложения бент-функций в криптографии, теории кодирования и т. д.
Каждому неравнодушному читателю предлагается принять участие в сокращении
этого «проблемного» списка!
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
16
Н. Н. Токарева
ЛИТЕРАТУРА
1. Амбросимов А. С. Свойства бент-функций q-значной логики над конечными полями //
Дискретная математика. 1994. Т 6. № 3. С. 50–60.
2. Логачев О. А., Сальников А. А., Ященко В. В. Бент-функции на конечной абелевой группе // Дискретная математика. 1997. Т. 9. № 4. С. 3–20.
3. Солодовников В. И. Бент-функции из конечной абелевой группы в конечную абелеву
группу // Дискретная математика. 2002. Т. 14. № 1. С. 99–113.
4. Токарева Н. Н. Бент-функции с более сильными свойствами нелинейности: k-бентфункции // Дискрет. анализ и исслед. операций. Сер. 1. 2007. Т. 14. № 4. С. 76–102.
5. Токарева Н. Н. Бент-функции: результаты и приложения. Обзор работ //
Прикладная дискретная математика. 2009. Т. 2. № 1. С. 15–37. Доступен на
http://mi.mathnet.ru/pdm50.
6. Токарева Н. Н. Обобщения бент-функций. Обзор работ // Дискрет. анализ и исслед. операций. 2009. Т. 16.
7. Ященко В. В. О критерии распространения для булевых функций и о бент-функциях //
Пробл. передачи информации. 1997. Т. 33. Вып. 1. С. 75–86.
8. http://www.math.cornell.edu/News/AnnRep/AR2002-2003.pdf — Cornell
University.
Department of Mathematics. Annual Report 2002–2003.
9. Agievich S. V.
On the representation of bent functions by bent rectangles //
Fifth Int. Petrozavodsk conf. on probabilistic methods in discrete mathematics
(Petrozavodsk, Russia, June 1–6, 2000). Proc. Boston: VSP, 2000. P. 121–135. Available at
http://arxiv.org/abs/math/0502087.
10. Bernasconi A., Codenotti B. Spectral analysis of Boolean functions as a graph eigenvalue
problem // IEEE Trans. Computers. 1999. V. 48. No. 3. P. 345–351.
11. Bernasconi A., Codenotti B., VanderKam J. M. A characterization of bent functions in terms
of strongly regular graphs // IEEE Trans. Computers. 2001. V. 50. No. 9. P. 984–985.
12. Carlet C. Partially-bent functions // Designs, Codes and Cryptography. 1993. V. 3. No. 2.
P. 135–145.
13. Carlet C. On the higher order nonlinearities of Boolean functions and S-boxes, and their
generalizations // The Fifth Int. Conf. on Sequences and Their Applications — SETA’2008
Proc. (Lexington, Kentucky, USA. September 14–18, 2008). Berlin: Springer, 2008. P. 345–367
(Lecture Notes in Comput. Sci. V. 5203).
14. Carlet C., Ding C. Highly nonlinear mappings // J. Complexity. 2004. V. 20. No. 2–3.
P. 205–244.
15. Carlet C., Guillot P. An alternate characterization of the bentness of binary functions, with
uniqueness // Designs, Codes and Cryptography. 1998. V. 14. P. 133–140.
16. Carlet C., Klapper A. Upper bounds on the numbers of resilient functions and of bent
functions // 23rd Symposium on Information Theory (Benelux, Belgium. May, 2002). Proc.
2002. P. 307–314. The full version will appear in Lecture Notes dedicated to Philippe Delsarte.
Available at http://www.cs.engr.uky.edu/∼klapper/ps/bent.ps.
17. Chee S., Lee S., Kim K. Semi-bent Functions // Advances in Cryptology — ASIACRYPT ’94
— 4th International Conference on the Theory and Applications of Cryptology. (Wollongong,
Australia. November 28 – December 1, 1994). Proc. Berlin: Springer, 1995. P. 107–118 (Lecture
Notes in Comput. Sci. V. 917).
18. Detombe J., Tavares S. Constructing large cryptographically strong S-boxes // Advances in
Cryptology — AUSCRYPT’92. (Gold Coast, Queensland, Australia. December 13–16, 1992)
Proc. Berlin: Springer, 1993. P. 165–181 (Lecture Notes in Comput. Sci. V. 718).
19. Dillon J. F. A survey of bent functions // The NSA Technical J. 1972. Special Issue.
P. 191–215.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Бент-функции и их обобщения
17
20. Dillon J. F. Elementary Hadamard Difference sets // Ph. D. Thesis. Univ. of Maryland,
1974.
21. Dobbertin H., Leander G. A survey of some recent results on bent functions // Sequences
and their applications. – SETA 2004. Third Int. conference (Seoul, Korea, October 24–28,
2004). Revised selected papers. Berlin: Springer, 2005. P. 1–29 (Lecture Notes in Comput.
Sci. V. 3486).
22. Dobbertin H., Leander G. Cryptographer’s Toolkit for Construction of 8-Bit Bent Functions
// Cryptology ePrint Archive, Report 2005/089, available at http://eprint.iacr.org/.
23. Dobbertin H., Leander G., Canteaut A., et al. Construction of Bent Functions via Niho
Power Functions // J. Combin. Theory. Ser. A. 2006. V. 113. No. 5. P. 779–798. Available
at http://www-rocq.inria.fr/secret/Anne.Canteaut/Publications/index-pub.html.
24. Gong G., Golomb S. W. Transform Domain Analysis of DES // IEEE Trans. Inform. Theory.
1999. V. 45. No. 6. P. 2065–2073.
25. Kumar P. V., Scholtz R. A., Welch L. R. Generalized bent functions and their properties //
J. Combin. Theory. Ser. A. 1985. V. 40. No. 1. P. 90–107.
26. http://langevin.univ-tln.fr/project/quartics/ — Classification of Boolean Quartics
Forms in eight Variables (Langevin P.). 2008.
27. Langevin P., Leander G. Counting all bent functions in dimension 8 // Workshop on Coding
and Cryptograpy. 2009. to appear.
28. Leveiller S., Zemor G., Guillot P., and Boutros J. A new cryptanalytic attack for PNgenerators filtered by a Boolean function // Selected Areas of Cryptography — SAC 2002.
Proc. P. 232–249 (Lecture Notes in Comput. Sci. V. 2595).
29. McFarland R. L. A family of difference sets in non-cyclic groups // J. Combin. Theory.
Ser. A. 1973. V. 15. No. 1. P. 1–10.
30. Meng Q., Zhang H., Yang M. C., Cui J. On the degree of homogeneous bent functions //
Available at http://eprint.iacr.org, 2004/284.
31. Nyberg K. Perfect nonlinear S-boxes // Advances in cryptology — EUROCRYPT’1991. Int.
conference on the theory and application of cryptographic techniques (Brighton, UK, April
8–11, 1991). Proc. Berlin: Springer, 1991. P. 378–386 (Lecture Notes in Comput. Sci. V. 547).
32. Olejár D., Stanek M. On cryptographic properties of random Boolean functions //
J. Universal Computer Science. 1998. V. 4. No. 8. P. 705–717.
33. Poinsot L. Multidimensional bent functions // GESTS International Transactions on
Computer Science and Engeneering. 2005. V. 18. No. 1 P. 185–195.
34. Poinsot L., Harari S. Generalized Boolean bent functions // Progress in Cryptology —
Indocrypt 2004 (Chennai (Madras), India. December 20 – 22, 2004). Proc. Springer.
P. 107–119 (Lecture Notes in Comput. Sci. V. 3348).
35. Qu C., Seberry J., Pieprzyk J. Homogeneous bent functions // Discrete Appl. Math. 2000.
V. 102. No. 1–2. P. 133–139.
36. Rothaus O. On bent functions // IDA CRD W. P. 1966. No. 169.
37. Rothaus O. On bent functions // J. Combin. Theory. Ser. A. 1976. V. 20. No. 3. P. 300–305.
38. Schmidt K-U. Quaternary Constant-Amplitude Codes for Multicode CDMA // IEEE
International Symposium on Information Theory — ISIT’2007. (Nice, France. June 24–29,
2007). Proc. 2007. P. 2781–2785. Available at http://arxiv.org/abs/cs.IT/0611162.
39. Yang M., Meng Q., Zhang H. Evolutionary design of trace form bent functions // Cryptology
ePrint Archive, Report 2005/322, available at http://eprint.iacr.org/.
40. Youssef A., Gong G. Hyper-bent functions // Advances in cryptology — EUROCRYPT’2001.
Int. conference on the theory and application of cryptographic techniques (Innsbruk, Austria,
May 6–10, 2001). Proc. Berlin: Springer, 2001. P. 406–419 (Lecture Notes in Comput. Sci.
V. 2045).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА
№2
ПРИЛОЖЕНИЕ
Ноябрь 2009
УДК 519.728
ЭЛЕМЕНТЫ ТЕОРИИ НЕДООПРЕДЕЛЕННОЙ ИНФОРМАЦИИ1
Л. А. Шоломов
Институт системного анализа РАН, г. Москва, Россия
E-mail: sholomov@isa.ru
Изложены результаты, относящиеся к информационным свойствам недоопределенных данных. Введены и изучены их информационные характеристики, для них
получено обобщение ряда результатов классической теории информации, рассмотрены некоторые свойства, специфичные только для недоопределенных данных.
Ключевые слова: недоопределенный источник, доопределение, энтропия, W -энтропия, принцип Шеннона, теорема кодирования, эффект Нечипорука, правило
сложения энтропий.
Введение
Методы эффективного использования недоопределенной информации важны для
многих разделов информатики. С недоопределенными данными имеют дело в задачах распознавания, управления, принятия решений, логического синтеза схем, сжатия
и передачи данных, криптографии, генетики. Разнообразные применения указывают
на целесообразность изучения недоопределенных данных в качестве самостоятельного
объекта подобно тому, как это делается в теории информации для полностью определенных данных. Это предполагает создание единой системы понятий, введение и исследование информационных характеристик недоопределенных данных, развитие и модификацию применительно к ним принципов, методов и результатов классической теории
информации, выявление закономерностей, характерных только для недоопределенных
данных, создание исчисления для формального преобразования выражений с участием разных информационных характеристик, изучение эквивалентных преобразований
недоопределенных данных, разработку теоретически обоснованных алгоритмов обращения с ними.
Ниже приводятся результаты, полученные в этих направлениях. Как будет видно,
некоторые результаты и методы теории информации переносятся на недоопределенные данные, некоторые модифицируются соответствующим образом, а в некоторых
случаях возникают новые эффекты. Установленные факты оказались полезными при
исследовании задач, связанных с синтезом схем [12], процедурами голосования [14],
распознаванием текстов [15].
1. Недоопределенные данные и их энтропия
Под недоопределенными данными будем понимать последовательности недоопределенных символов. Каждому из них соответствует некоторое множество символов основного алфавита, одним из которых он может быть замещен (доопределен). Дадим
формальные определения.
1
Работа выполнена при поддержке Отделения нанотехнологий и информационных технологий
РАН по программе фундаментальных исследований (проект «Теория и методы эффективного использования недоопределенных данных»).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
19
Элементы теории недоопределенной информации
Пусть M = {0, 1, . . . , m − 1} — некоторое множество и каждому непустому подмножеству T ⊆ M сопоставлен символ aT . Алфавит всех символов aT обозначим через
A, а его подалфавит {a0 , a1 , . . . , am−1 }, символы которого соответствуют элементам
множества M , — через A0 . Символы из A0 будем называть основными, из A — недоопределенными. Доопределением символа aT ∈ A назовем всякий основной символ ai ,
i ∈ T , а доопределением последовательности в алфавите A — любую последовательность в алфавите A0 , полученную из исходной заменой всех ее символов некоторыми доопределениями. Символ aM , доопределимый любым основным символом, играет
особую роль. Его будем называть неопределенным и обозначать ∗.
Пусть имеетсяP
источник X, порождающий символы aT ∈ A независимо с вероятностями p(aT ) > 0, T p(aT ) = 1. Набор вероятностей (p(aT ), T ⊆ M ) обозначим через
P и для источника X будем использовать обозначение (A, P ). Такой источник будем
называть недоопределенным, а при выполнении условия p(aT ) = 0 для aT ∈
/ A0 — полностью определенным. В случае p(aT ) = 0 для aT ∈
/ A0 ∪ {∗} источник называется
частично определенным. Подчеркнем, что мы различаем термины «недоопределенный» и «частично определенный». Иногда вместо обозначения (A, P ) источника X
будем использовать (A0 , P 0 ), где алфавит A0 получен из A удалением всех или некоторых символов aT с p(aT ) = 0, а P 0 образован из P удалением соответствующих нулевых
компонент. В этих обозначениях полностью определенный источник может быть записан как (A0 , (p0 , . . . , pm−1 )), а частично определенный — как (A0 ∪{∗}, (p0 , . . . , pm−1 , p∗ )),
где обозначения pi и p∗ использованы вместо p(ai ) и p(∗) = p(aM ).
Зададимся некоторым набором вероятностей Q = (qi , i ∈ M ) символов ai ∈ A0
(qi > 0, q0 + . . . + qm−1 = 1) и введем функцию
X
X
H(P, Q) = −
p(aT ) log
qi .
(1)
T ⊆M
i∈T
Здесь и дальше логарифмы двоичные. Энтропией источника X назовем величину
H(P ) = min H(P, Q).
Q
(2)
Наряду с H(P ) будем использовать обозначение H(X). Указанная формула энтропии
была предложена М. М. Бонгардом [1, с. 92] из некоторых эвристических соображений
в качестве меры неопределенности задач с несколькими ответами.
Для полностью определенного источника (A0 , (p0 , . . . , pm−1 )), в силу известного соотношения
X
X
min (−
pi log qi ) = −
pi log pi ,
(3)
(q0 ,...,qm−1 )
i
i
P
величина H(P ) совпадает с энтропией Шеннона H(P ) = − i pi log pi . Вместо источников можно говорить об энтропии случайных опытов с недоопределенными исходами.
2. Вычисление энтропии
Энтропия недоопределенного источника задана неявно, как минимум по Q функции (1). Для нахождения точек минимума полезен следующий критерий.
Теорема 1. Набор вероятностей Q минимизирует функцию H(P, Q) тогда и только тогда, когда при каждом i, i ∈ M , выполнено
X p(aT )
X 6 1,
(4)
q
j
T : i∈T
j∈T
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
20
Л. А. Шоломов
где строгое неравенство может иметь место лишь при тех i, для которых qi = 0.
Доказательство. Вогнутая по Q функция −H(P, Q) удовлетворяет условиям
теоремы 4.4.1 из [3]. По этой теореме необходимым и достаточным условием ее максимума в точке Q является существование такого λ, что −∂H(P, Q)/∂qi 6 λ, i ∈ M ,
где строгие неравенства могут соответствовать лишь нулевым значениям qi . В нашем
случае эти соотношения приобретают вид
X p(aT )
X 6 λ, i ∈ M.
log e
(5)
qj
T : i∈T
j∈T
Поскольку равенства могут нарушаться лишь при нулевых qi , домножив на qi , получаем равенства
X p(aT )qi
λ
X
=
qi , i ∈ M.
(6)
log e
qj
T : i∈T
j∈T
P
p(aT ) = i qi = 1 и того, что
X
qi
X X p(aT )qi X
X
i∈T
X
=
p(aT ) X =
p(aT ),
qj
qj
i∈M T : i∈T
T
T
Просуммировав их по i ∈ M с учетом
P
T
j∈T
j∈T
находим, что λ = log e. Подставив значение λ в (5), получаем требуемое утверждение.
На базе этой теоремы может быть указан численный метод нахождения H(P ) [9].
Введем оператор Q0 = U(Q), сопоставляющий набору Q = (q0 , q1 , . . . , qm−1 ) набор
0
Q0 = (q00 , q10 , . . . , qm−1
), где
qi0 =
X p(aT )qi
P
,
q
j
T : i∈T
i = 0, 1, . . . , m − 1.
j∈T
Нетрудно проверить непосредственно, что оператор U переводит наборы вероятностей
в наборы вероятностей. Домножив обе части (4) на qi и учитывая, что строгое неравенство в (4) может иметь место лишь при qi = 0, получаем равенства
X p(aT )qi
X
= qi , i ∈ M,
(7)
q
j
T : i∈T
j∈T
означающие, что минимизирующий набор Q является неподвижной точкой оператора U. Приведем без доказательства утверждение из [9], дающее алгоритм вычисления H(P ).
(0)
(0)
Теорема 2. Если Q(0) = (q0 , . . . , qm−1 ) — произвольный набор вероятностей с положительными компонентами и Q(ν) = U(Q(ν−1) ), ν = 1, 2, . . ., то при ν → ∞ последовательность H(P, Q(ν) ) сходится к H(P ).
Таким образом, нахождение численного значения энтропии трудностей не вызывает. В некоторых содержательно важных случаях может быть получено явное выражение энтропии. Это относится, например, к частично определенным источникам,
энтропия которых может быть найдена на основе следующего утверждения.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Элементы теории недоопределенной информации
21
Теорема 3. Имеет место равенство
H(P ) = (1 − p(∗))H(P 0 ),
где P 0 = (p0 (aT ), T ⊂ M ) (включение строгое) — набор, полученный из P = (p(aT ),
T ⊆ M ) отбрасыванием компоненты p(aM ) = p(∗) и пересчетом вероятностей p0 (aT ) =
= p(aT )/(1 − p(∗)).
Доказательство. Для любого набора вероятностей Q = (qi , i ∈ M ) выполнено
P
log i∈M qi = 0, поэтому
−
X
p(aT ) log
T ⊆M
X
qi = −(1 − p(∗))
i∈T
X
T ⊂M
X
p(aT )
log
qi .
1 − p(∗)
i∈T
Взяв минимум по Q, получаем нужное утверждение.
Следствие 1. Энтропия частично определенного источника X = (A0 ∪{∗}, (p0 , . . . ,
pm−1 , p∗ )) задается выражением
p
X
pm−1 0
H(X) = (1 − p∗ )H
,...,
= (1 − p∗ ) log(1 − p∗ ) −
pi log pi .
1 − p∗
1 − p∗
06i6m−1
Это вытекает из теоремы, поскольку в рассматриваемом случае набор вероятностей P 0 соответствует всюду определенному источнику с вероятностями символов
p(ai )
.
1 − p(∗)
Теорема 3 обобщается на случай, когда неопределенные символы не устраняются
полностью, а понижается их вероятность.
Утверждение 1. Для любого r, 0 6 r 6 p∗ , справедливо равенство
H(P ) = (1 − r)H(P (r) ),
где P (r) = (p(r) (aT ), T ⊆ M ), p(r) (aT ) =
p(∗) − r
p(aT )
(r)
для T 6= M , p∗ =
.
1−r
1−r
Доказательство.
С учетом того, что для набора вероятностей Q = (qi , i ∈ M )
P
выполнено r log i∈M qi = 0, имеем
−
X
T ⊆M
p(aT ) log
X
i∈T
n X p(a )
X
X o
p(∗) − r
T
qi = −(1 − r)
log
qi +
log
qi .
1
−
r
1
−
r
T ⊂M
i∈T
i∈M
Остается взять минимум по Q.
3. Связь с принципом Шеннона
Задача сжатия недоопределенных данных состоит в том, чтобы каждой недоопределенной последовательности сопоставить двоичный код по возможности малой длины,
позволяющий восстановить какое-либо ее доопределение (но не саму последовательность). Точная постановка задачи и результаты будут приведены в последующих разделах.
Эта задача может быть описана в терминах более общей задачи кодирования источников при заданной точности воспроизведения. Приведем соответствующие понятия [3, 18] применительно к дискретным (конечным) источникам. Пусть некоторый
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
22
Л. А. Шоломов
источник X порождает символы b конечного алфавита B независимо с вероятностями p(b), и они должны быть представлены у адресата символами c конечного алфавита C. Условия на точность воспроизведения задаются указанием множества W допустимых совместных распределений (p(b, c), b ∈ B, c ∈ C). Теоретико-информационной
мерой неопределенности источника X при точности воспроизведения W считают
W -энтропию [2]
HW (X) =
X
inf
(p(b,c))∈W
p(b, c) log
b,c
p(b, c)
X
.
p(b)
p(b0 , c)
b0
Она обобщает понятие ε-энтропии (скорости создания сообщений в терминологии
К. Шеннона [3, 18]). Согласно принципу Шеннона, W -энтропия характеризует степень
сжимаемости сообщений источника X с точностью W . Это содержательный принцип, который для многих типов источников и мер точности доказан. Формулировку,
обоснование и обсуждение этого принципа (применительно к задачам квантования
сообщений) можно найти в [4].
Для недоопределенных данных алфавитам B и C соответствуют A и A0 , а допустимое множество, которое в этом случае будем обозначать
через D, состоит из совместP
ных распределений (p(aT , ai ), T ⊆ M , i ∈ M ), i p(aT , ai ) = p(aT ), удовлетворяющих
условию p(aT , ai ) = 0 для i ∈
/ T . Соответствующую D-энтропию для недоопределенных данных будем обозначать через Ȟ(P ). Поскольку D — компакт, вместо инфинума
можно использовать минимум:
Ȟ(P ) = min
D
X
p(aT , ai ) log
T,i
p(aT , ai )
X
.
p(aT )
p(aU , ai )
(8)
U
Следующая теорема [9] показывает, что H(P ) и Ȟ(P ) являются различными представлениями одной и той же функции.
Теорема 4. Имеет место равенство
Ȟ(P ) = H(P ).
Доказательство. Пусть значение
P 0Ȟ(P ) достигается на совместном распределе0
нии (p (aT , ai )) ∈ D. Положим qi = T p (aT , ai ).
При заданном T , воспользовавшись для выпуклой
.Pфункции f (x) = x log x неравенP
P
0
ством Иенсена i αi f (xi ) > f ( i αi xi ) при αi = qi
j∈T qj , xi = p (aT , ai ) /(p(aT )qi ),
получаем с учетом p0 (aT , ai ) = 0, i ∈
/ T,
X
i
!
= p(aT )
X
j∈T
qj
X
p0 (aT , ai )
=
p (aT , ai ) log
p(aT )qi
0
qi
X
i
p0 (aT , ai )
p0 (aT , ai )
1
log
> p(aT ) log X .
p(aT )qi
qj p(aT )qi
qj
j∈T
Просуммировав эти неравенства по T , заключаем, что Ȟ(P ) > H(P ).
j∈T
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Элементы теории недоопределенной информации
23
0
Обратно, пусть величина .
H(P ) в (2) достигается на наборе Q0 = (q00 , q10 , . . . , qm−1
).
P
0
/ T . Учитывая
Положим p(aT , ai ) = p(aT )qi0
j∈T qj при i ∈ T и p(aT , ai ) = 0 при i ∈
P
0
равенства T p(aT , ai ) = qi , вытекающие из (6), получаем
X
p(aT , ai )
X
Ȟ(P ) 6
p(aT , ai ) log X
=
p(a
,
a
)
p(a
,
a
)
T
j
U
i
T,i
j
=
X
p(aT , ai ) log
T,i
p(aT , ai )
=
p(aT )qi0
X
U
1
p(aT , ai ) log X
T,i
qj0
= H(P ).
j∈T
Теорема доказана.
Из нее и теоремы 5 (см. дальше) будет следовать справедливость принципа Шеннона для недоопределенных данных.
4. Комбинаторная энтропия
Будем рассматривать последовательности длины
n в алфавите A. Для набора наP
туральных чисел l = (lT , T ⊆ M ), такого, что T lT = n, обозначим через Kn (l) множество всех последовательностей, в которых символ aT , T ⊆ M , встречается lT раз.
Скажем, что некоторое множество последовательностей в алфавите A0 доопределяет класс Kn (l), если в нем найдется доопределение для каждой последовательности
из Kn (l). Обозначим через Nn (l) минимальную мощность множества, доопределяющего Kn (l). Величину log Nn (l) назовем комбинаторной энтропией класса Kn (l). Она
указывает наименьшее число двоичных символов, достаточное для кодирования последовательностей класса Kn (l), позволяющего восстанавливать некоторое их доопределение.
Теорема 5. Существует константа c = c(m), такая, что комбинаторная энтропия
класса Kn (l) заключена в пределах
nH(l/n) − c log n 6 log Nn (l) 6 nH(l/n) + c log n.
Доказательство. В е р х н я я о ц е н к а. Воспользуемся методом случайного кодирования. Для этого зададимся некоторым набором вероятностей Q = (q0 , . . . , qm−1 )
и возьмем N > 1 случайных последовательностей длины n в алфавите A0 , компоненты которых независимо с вероятностями qi принимают значения ai (i = 0, . . . , m − 1).
Вероятность того, что случайная последовательность доопределяет фиксированную
lT
Q P
последовательность из Kn (l), составляет T
q
, а вероятность того, что ни
i
i∈T
одна из N случайных последовательностей не является ее доопределением, равна
lT N
Q P
1− T
q
. Вероятность p(N ) отсутствия доопределения хотя бы у одной
i∈T i
последовательности из Kn (l) не превосходит


!lT N
!lT N
Y X
Y X
 < 2mn 1 −

|Kn (l)| 1 −
qi
qi
T
i∈T
T
i∈T
(| · | означает мощность множества). Непосредственный подсчет с учетом соотношения
ln(1 − x) 6 −x показывает, что при всяком N , удовлетворяющем условию
X
X
log N > log n + log ln m −
lT log
qi = log n + log ln m + nH(l/n, Q),
T
i∈T
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
24
Л. А. Шоломов
выполнено p(N ) < 1 и потому существует доопределяющее множество мощности N .
Это справедливо для любого Q, и в частности, для которого H(l/n, Q) = H(l/n).
Н и ж н я я о ц е н к а. Обозначим через t(l) максимальное число последовательностей из Kn (l), которое может быть доопределено одной последовательностью. Рассмотрим последовательность y, являющуюся доопределением некоторой последовательности x ∈ Kn (l). Пусть y имеет параметры s0 , s1 , . . . , sm−1 (s0 +. . .+sm−1 = n). Обозначим
через wT i число символов aT последовательности x, доопределенных в y символом ai .
Числа wT i удовлетворяют условиям
X
X
wT i = si (i ∈ M ),
wT i = lT (T ⊆ M ), wT i = 0 для i ∈
/ T.
(9)
i
T
При фиксированных wT i последовательность y доопределяет
Y
si !
s0 !
sm−1 !
Y
... Y
= Yi
wT 0 !
wT,m−1 !
wT i !
T
T
T,i
последовательностей из Kn (l), а всего она доопределяет
Y
si !
X
i
Y
ts0 ...sm−1 (l) =
wT i !
wT i ,(9)
T,i
последовательностей из этого класса, где сумма берется по всем наборам неотрицательных чисел wT i , удовлетворяющих условиям (9). В силу 0 6 wT i 6 n и того, что количества индексов i и множеств T ограничены константами (зависящими от m), имеем
Y
si !
ts0 ...sm−1 (l) 6 nc1 max Yi
wT i ,(9)
,
wT i !
T,i
где c1 = c1 (m) — константа. Отсюда
t(l) =
max
max ts0 ...sm−1 (w) 6
s0 ,...,sm−1 wT i ,(9)
!
Y
6 nc1
max
max Yi
s0 ,...,sm−1 wT i ,(9)
T,i
Y X
si !
wT i !
6 nc1 max
wT i
i
YT
wT i !
,
(10)
T,i
где для целых неотрицательных wT i выполнены условия
X
wT i = lT (T ⊆ M ), wT i = 0 для i ∈
/ T.
i
wT i !
(11)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Элементы теории недоопределенной информации
25
Q
Класс Kn (l) содержит n! / T lT ! последовательностей. Отсюда и из (10) заключаем,
что минимальная мощность Nn (l) доопределяющего множества для класса Kn (l) удовлетворяет оценке
Y
n!
wT i !
|Kn (l)|
T,i
!
!.
Nn (l) >
> n−c1 min
(wT i ),(11) Y X
t(l)
Y X
wT i !
wT i !
i
T
i
T
Из формулы Стирлинга следует, что для любых целых z, z1 , . . . , zk (z > 2,
z1 + . . . + zk = z) выполнено
X
z!
= z log z −
zj log zj + θ log z,
log Y
zj !
j
j
где −c2 6 θ 6 c2 , c2 = c2 (k) — константа. С учетом этого получаем
!
!
X
X X
log Nn (l) > min
wT i log
wT i −
n log n −
(wT i ),(11)
−
i
T
wT i log
i
!T
!
X X
X
wT i
+
X
!i
wT i log wT i
− c log n.
T,i
T
Минимизируемое выражение может быть преобразовано к виду
!
!
!
!
X X wT i
X X wT i
X wT i
X wT i
n −
log
−
log
+
n
n
n
n
i
i
i
T
T
T
wT i
!
X wT i
X wT i
X wT i
+
log
=n
log X wU inX wT j .
n
n
n
T,i
T,i
T,i
n j n
U
В силу (11) выполнено wT i /n = 0, i ∈
/ T, и
P
i (wT i /n)
= lT /n, поэтому
log Nn (l) > nȞ(l/n) − c log n.
Остается воспользоваться теоремой 4, по которой Ȟ(l/n) = H(l/n).
Для указания параметров класса Kn (l) (и даже просто для задания n) требуется порядка log n единиц информации. Будем рассматривать случай, когда энтропия
log Nn (l) класса Kn (l) существенно больше log n; тогда log Nn (l) ∼ nH(l/n). Этот результат, записанный с учетом теоремы 4 в виде log Nn (l) ∼ nȞ(l/n), означает, что для
частично определенных данных справедлив принцип Шеннона.
С классом Kn (l) свяжем функционал hn (l) = nH(l/n). Оценки теоремы 5 могут
быть переписаны в виде
hn (l) − c log n 6 log Nn (l) 6 hn (l) + c log n.
(12)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
26
Л. А. Шоломов
5. Эффект Нечипорука
Пусть Kn (l), l 6 n, — класс всех последовательностей длины n с l булевыми символами (0 и 1) и n − l неопределенными символами ∗, а Nn (l) — минимальная мощность
множества, содержащего для каждой последовательности из Kn (l) некоторое доопределение. Э. И. Нечипорук [7] установил, что
l 6 log Nn (l) 6 l + c log n.
(13)
Этот факт допускает следующую интерпретацию, которую будем использовать и в более общих ситуациях и называть эффектом Нечипорука. Если рассматривать двоичное кодирование недоопределенных последовательностей, при котором по коду восстанавливается какое-либо доопределение, то недоопределенные последовательности
и последовательности меньшей длины, полученные из них удалением неопределенных символов, могут быть представлены кодами одинаковой с точностью до O(log n)
длины.
Теорема 5 позволяет распространить этот эффект на произвольные недоопределенные последовательности. Рассмотрим класс Kn (l). Класс, полученный из Kn (l) путем
удаления из его последовательностей всех символов ∗, обозначим Kn0 (l0 ), где n0 = n−l∗ ,
l0 — результат отбрасывания в l компоненты l∗ . Следующий факт обобщает (13) на
случай недоопределенных данных общего вида и означает справедливость для них
эффекта Нечипорука.
Теорема 6. Комбинаторная энтропия классов Kn (l) и Kn0 (l0 ) удовлетворяет соотношениям
log Nn0 (l0 ) 6 log Nn (l) 6 log Nn0 (l0 ) + c log n,
(14)
где c = c(m) — константа.
Доказательство. Применив теорему 3 при p(aT ) = lT /n, p(∗) = l∗ /n, p0T = lT /n0
и домножив обе части на n, приходим к равенству nH(l/n) = n0 H(l0 /n0 ), означающему
hn (l) = hn0 (l0 ). Отсюда в силу (12)
log Nn (l) 6 hn (l) + c0 log n = hn0 (l0 ) + c0 log n 6 log Nn0 (l0 ) + c log n.
Чтобы убедиться в справедливости нижней оценки, достаточно заметить, что если
взять доопределяющее множество для последовательностей класса Kn (l), содержащих
символы ∗ в l∗ последних позициях, и удалить в доопределениях l∗ последних символов,
получится доопределяющее множество для Kn0 (l0 ). Это дает Nn0 (l0 ) 6 Nn (l).
Эффект Нечипорука распространяется также на кодирование с заданным критерием верности. Пусть последовательности в конечном алфавите B = {bi , i ∈ I} должны быть представлены последовательностями (той же длины n) в конечном алфавите
C = {cj , j ∈ J} при выполненении некоторых условий верности воспроизведения. В общем случае можно считать, что на B n × C n задано отношение допустимости ω и bωc
означает допустимость воспроизведения последовательности c ∈ C n вместо b ∈ B n .
Будем полагать, что отношение ω не зависит от нумерации разрядов последовательностей: если σ — некоторая перестановка разрядов 1, . . . , n, а σb и σc образованы из
b и c соответствующей перестановкой символов, то bωc ⇒ (σb)ω(σc). Для заданных
b и c обозначим через wij (b, c) число позиций последовательностей, в которых вместо
символа bi воспроизводится cj , и положим w(b, c) = (wij (b, c), i ∈ I, j ∈ J). Отношение ω может быть задано множеством W допустимых наборов w = (wij , i ∈ I, j ∈ J)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
27
Элементы теории недоопределенной информации
соотношением bωc ⇔ w(b, c) ∈ W . При выполнении условия w(b, c) ∈ W последовательность c будем называть W -допустимой для b, а если необходимо указать значение
w = w(b, c), то w-допустимой.
P
Пусть задан набор натуральных чисел l = (li , i ∈ I), i li = n, и ему соответствует класс Kn (l) всех последовательностей длины n в алфавите B, в которых символ bi , i ∈ I, встречается li раз. Пусть, кроме того, задано некоторое множество W
допустимых наборов w = (w
Pij , i ∈ I, j ∈ J), согласованных с классом Kn (l), т. е.
удовлетворяющих условиям j wij = li . Обозначим через Nn,W (l) минимальную мощность множества последовательностей длины n в алфавите C, в котором для каждой
последовательности из Kn (l) имеется W -допустимая последовательность. Величину
log Nn,W (l) назовем комбинаторной W -энтропией классаPKn (l).
Для заданных l = (li , i ∈ I) и w = (wij , i ∈ I, j ∈ J), j wij = li , положим
hn (l, w) =
X
wij log
i,j
nw
P ij .
li wi0 j
i0
С классом Kn (l) и заданным множеством W допустимых наборов для этого класса
свяжем функционал
hn,W (l) = min hn (l, w).
(15)
w∈W
Нетрудно видеть, что он может быть записан в терминах W -энтропии в виде
hn,W (l) = nHW/n (l/n),
(16)
где множество допустимых распределений W/n образовано всеми w/n, w ∈ W .
Теорема 7. Комбинаторная W -энтропия класса Kn (l) удовлетворяет оценкам
hn,W (l) − c log n 6 log Nn.W (l) 6 hn,W (l) + c log n,
где c = c(|I|, |J|) — константа.
Доказательство. В е р х н я я о ц е н к X
а. Пусть минимум в (15) достигается на наборе w = (wij , i ∈ I, j ∈ J). Положим sj =
wij , s = (sj , j ∈ J) и занумеруем послеi
n!
n!
довательности b ∈ Kn (l) и c ∈ Kn (s) индексами r = 1, 2, . . . , Q и q = 1, 2, . . . , Q
li !
sj !
i
j
соответственно. Образуем таблицу kaqr k, строки которой соответствуют последовательностям cq , столбцы — последовательностям br , положив
1, если cq w-допустима для br ,
aqr =
0, в противном случае.
В матрице из 0 и 1 с u строками и v столбцами,
имеющей
s единиц в каждом
u vs
столбце, можно выделить множество из не более
ln + 1 + 1 строк, содержащих 1
s
u
в каждом столбце [8]. Применив этот результат при
Q
li !
n!
n!
i
u= Q , v= Q , s= Q
,
sj !
li !
wij !
j
i
i,j
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
28
Л. А. Шоломов
получаем оценку
Q
n! wij !
i,j
Nn,W (l) 6 c0 n Q Q .
li ! sj !
i
j
Из нее преобразованиями, подобными использованным при доказательстве нижней
оценки теоремы 5, приходим к неравенству
log Nn,W (l) 6 hn (l, w) + c log n,
из которого с учетом того, что на w достигается (15), получаем требуемую оценку.
Н и ж н я я о ц е н к а доказывается аналогично нижней оценке теоремы 5 с тем отличием, что вместо доопределяющих последовательностей следует рассматривать допустимые.
Распространим понятие «неопределенного символа» на кодирование с заданным
критерием верности, связывая с этим понятием несущественность (для отношения допустимости) того, какими символами алфавита C воспроизводятся неопределенные
символы. Символ bs ∈ B назовем неопределенным (при отношении допустимости ω),
если для любых b, c и ĉ, таких, что ĉ и c отличаются лишь в разрядах, где b содержит
символы bs , выполнено bωc ⇔ bωĉ. Поскольку разные неопределенные символы можно не различать, считаем, что такой символ в B единствен, и для его обозначения будем
использовать ∗. Укороченным для набора w = (wij , i ∈ I, j ∈ J) назовем набор w0 , образованный из w удалением всех компонент w∗j = wsj . Легко видеть, что допустимость
последовательностей c и наборов w полностью определяется укороченными наборами:
если w0 (b1 , c1 ) = w0 (b2 , c2 ), то b1 ωc1 ⇔ b2 ωc2 и w(b1 , c1 ) ∈ W ⇔ w(b2 , c2 ) ∈ W .
Рассмотрим класс Kn0 (l0 ), последовательности которого получены из последовательностей класса Kn (l) удалением символов ∗. Для него n0 = n − l∗ , набор l0 образован
из l устранением компоненты l∗ . Множеством W 0 допустимых наборов для Kn0 (l0 ) считаем множество всех укороченных наборов w0 для w ∈ W , где W — множество допустимых наборов для Kn (l). Следующая теорема, обобщающая (13) и (14), означает
справедливость эффекта Нечипорука при кодировании с произвольным отношением
допустимости, не зависящим от нумерации разрядов.
Теорема 8. Комбинаторная W -энтропия класса Kn (l) и комбинаторная W 0 -энтропия класса Kn0 (l0 ) связаны соотношениями
log Nn0 ,W 0 (l0 ) 6 log Nn,W (l) 6 log Nn0 ,W 0 (l0 ) + c log n,
(17)
где c = c(|I|, |J|) — константа.
Доказательство. В последующих выкладках считаем, что i ∈ I, j ∈ J, u ∈
I \ {s}, где bs = ∗.
Пусть значение hn0 ,W 0 (l0 ) достигается
на наборе w0 , т. е. hn0 ,W 0 (l0 ) = hn0 (l0 , w0 ),
P
w0 = (wuj ). Положим m0j =
u wuj и образуем набор w = (wij ), дополнив набор
0
l
m
∗ j
. Для него
w0 компонентами w∗j =
n0
mj =
X
i
wij =
X
u
wuj + w∗j = m0j +
l∗ m0j
m0j n
=
.
n0
n0
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
29
Элементы теории недоопределенной информации
С учетом этого вычислим hn (l, w), игнорируя тот факт, что значения w∗j могут быть
нецелыми:
hn (l, w) =
X
wij log
i,j
nwij
=
li mj
X
wuj log
u,j
nwuj
+
m0j n
lu 0
n
X l∗ m0j
j
n0
l∗ m0j
n
0
log n 0 .
mj n
l∗ 0
n
Это выражение преобразуется к виду
X n0 wuj
u
lu m0j
+
X l∗ m0j
j
n0
log 1 = hn0 (l0 , w0 ),
откуда hn (l, w) = hn0 (l0 , w0 ) = hn0 ,W 0 (l0 ).
Округлим компоненты wP
∗j набора w до ближайших целых (больших или меньших)
ŵ∗j c соблюдением условия j ŵ∗j = l∗ , в результате чего w переходит в допустимый
набор ŵ. Выражение для hn (l, w) может быть представлено как сумма и разность
ограниченного числа членов вида v log v, v 6 n (см. доказательство нижней оценки
в теореме 5). При переходе от w к ŵ величины v изменятся не более чем на константу,
а значение v log v — не более чем на c1 log v 6 c1 log n. Отсюда hn (l, ŵ) 6 hn (l, w)) +
+c2 log n. С учетом полученных соотношений, используя теорему 7, находим
log Nn,W (l) 6 hn,W (l) + c3 log n 6 hn (l, ŵ) + c3 log n 6 hn (l, w) + c4 log n =
= hn0 ,W 0 (l0 ) + c4 log n 6 log Nn0 ,W (l0 ) + c5 log n.
Это дает верхнюю оценку теоремы.
Нижняя доказывается аналогично нижней оценке в (14).
Теорему 3 можно рассматривать как теоретико-информационный аналог теоремы 6. Подобный аналог имеется и у теоремы 8.
Пусть источник X порождает символы bi конечного алфавита B = {bi , i ∈ I}
независимо с вероятностями p(bi ), и они должны быть представлены у адресата символами cj конечного алфавита C = {cj , j ∈ J}. Условия точности задаются указанием
множества W допустимых совместных распределений p(bi , cj ), i ∈ I, j ∈ J. Пусть в алфавите B имеется неопределенный символ bs = ∗. Наряду с X рассмотрим источник
X 0 = (B 0 , P 0 ), порождающий символы bu алфавита B 0 = B \ {∗} с вероятностями
p(bu )
, u ∈ I \ {s}. В качестве W 0 для него возьмем множество распределеp0 (bu ) =
1 − p(∗)
p(bu , cj )
, u ∈ I \ {s}, j ∈ J, соответствующих распределениям p(bi , cj ),
ний p0 (bu , cj ) =
1 − p(∗)
i ∈ I, j ∈ J, из множества W .
Для W -энтропии имеет место соотношение
HW (P ) = (1 − p(∗))HW 0 (P 0 ),
(18)
доказательство которого опускаем. Оно является теоретико-информационным аналогом теоремы 8, ибо влечет равенство hn,W (l) = hn0 ,W 0 (l0 ). Эффект Нечипорука проявляется и для более сложных информационных характеристик (см. дальше утверждение 6).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
30
Л. А. Шоломов
6. Свойства энтропии
Рассмотрим некоторые свойства энтропии H(P ) и сравним их со свойствами энтропии Шеннона H(P ).
Теорема 9. Энтропия H(P ) неотрицательна, причем H(P ) = 0 тогда и только
тогда, когда пересечение всех T , для которых p(aT ) > 0, непусто.
Доказательство. Неотрицательность очевидна. Пусть минимум H(P, Q) в (2)
достигается на наборе Q0 . Положим T 0 = {iP
∈ M | qi0 > 0}. Если H(P ) = H(P, Q0 ) = 0,
0
0
и
то для любого T с p(aT ) > 0 выполнено
t∈T qt = 1, а потому T содержит T
пересечение всех таких T непусто. Обратно, если пересечение непусто, то, назначив
qi = 1 для некоторого i из этого пересечения и qj = 0 для всех j 6= i, получим набор Q,
для которого H(P, Q) = 0.
Таким образом, энтропия H(X) недоопределенного источника X равна 0, лишь если
порождаемые им последовательности могут быть доопределены до последовательностей из одинаковых символов. Этот факт обобщает известный результат для полностью
определенного источника, энтропия которого равна 0, лишь если он порождает последовательности, образованные одинаковыми символами.
Укажем верхнюю границу энтропии источника X = (A, P ) в функции от распределения (p(t), 1 6 t 6 m) числа t доопределений символов источника:
X
p(t) =
p(aT ).
T : |T |=t
Теорема 10. Справедлива оценка
H(P ) 6 log m −
X
p(t) log t,
16t6m
достижимая для любого распределения (p(t), 1 6 t 6 m).
Доказательство.
= (1/m, . . . , 1/m),
H(P ) 6 −
X
T
Эту оценку получим, вычислив H(P, Q) на наборе Q =
p(aT ) log
XX
X
|T |
= log m −
p(aT ) log t = log m −
p(t) log t.
m
t
t
|T |=t
Оценка достигается на наборе P , в котором
всем t-элементным множествам T соn
, 1 6 t 6 m. Из соображений симметответствуют равные вероятности p(t)
t
рии [3] следует, что в этом случае H(P, Q) минимизируется набором вероятностей
q0 = . . . = qm−1 = 1/m.
Если источник полностью определен, то p(1) = 1, p(t) = 0 для t > 2, и оценка
теоремы превращается в известную оценку H(P ) 6 log m.
Теорема 11. Функция H(P ) вогнута, т. е. для любых P = (p(aT ), T ⊆ M ), P 0 =
= (p0 (aT ), T ⊆ M ) и числа α, 0 6 α 6 1, выполнено
H(αP + (1 − α)P 0 ) > αH(P ) + (1 − α)H(P 0 ).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
31
Элементы теории недоопределенной информации
Доказательство. Пусть минимум функции H(αP + (1 − α)P 0 , Q) достигается
на наборе Q. Тогда
X
X
X
X
H(αP + (1 − α)P 0 ) = −α
p(aT ) log
qi − (1 − α)
p0 (aT ) log
qi >
T
i∈T
T
i∈T
0
> αH(P ) + (1 − α)H(P ),
что и требовалось.
В отличие от обычной энтропии H(P ), функция H(P ) не является строго вогнутой. Из доказательства видно, что при α 6= 0, 1 равенство в утверждении теоремы
имеет место лишь тогда, когда существует Q, минимизирующее H(P, Q) и H(P 0 , Q)
одновременно. Поскольку минимум в (3) достигается только при Q = P , для полностью определенных источников условием равенства является P = P 0 и функция H(P )
строго вогнута.
Произведение XX 0 недоопределенных источников X = (A, P ) и X 0 = (A0 , P 0 ) представляет собой источник, порождающий пары (aT , a0T 0 ) с некоторыми вероятностями
p(aT , a0T 0 ). При этом выполнены условия согласования
X
X
p(aT , a0T 0 ) = p(aT ),
p(aT , a0T 0 ) = p(a0T 0 ).
(19)
T0
T
Доопределением символа (aT , a0T 0 ) источника XX 0 считается всякий символ (ai , a0i0 ),
i ∈ T , i0 ∈ T 0 . Источники статистически независимы, если p(aT , a0T 0 ) = p(aT )p(a0T 0 ).
Энтропия H(XX 0 ) определяется аналогично (1)–(2)
n X
o
X
0
0
H(XX ) = min −
p(aT , aT 0 ) log
qii0 ,
Q
T,T 0
i∈T,i0 ∈T 0
P
где Q = (qii0 , i ∈ M, i0 ∈ M 0 ), qii0 > 0, i,i0 qii0 = 1.
Теорема 12. Для любых недоопределенных источников X и X 0
H(XX 0 ) 6 H(X) + H(X 0 ),
а если X и X 0 статистически независимы, то
H(XX 0 ) = H(X) + H(X 0 ).
Доказательство. Пусть величины H(X) и H(X 0 ) в (2) достигаются на наборах
Q = (qi , i ∈ M ) и Q0 = (qi00 , i0 ∈ M 0 ). Для всех i и i0 положим qii0 = qi qi00 . Тогда
!
!
X
X X
X
X
qi00 =
H(XX 0 ) 6 −
p(aT , a0T 0 ) log
qi qi00 = −
p(aT , a0T 0 ) log
qi
T,T 0
=−
T,T 0
i∈T,i0 ∈T 0
X
p(aT ) log
T
X
i∈T
qi −
X
p(a0T 0 log
T0
X
i∈T
i0 ∈T 0
qi00 = H(X) + H(X 0 ).
(20)
i0 ∈T 0
Если X и X 0 статистически независимы, то p(aT , a0T 0 ) = p(aT )p(a0T 0 ), и в силу теоремы 1,
примененной к X и X 0 , для всех пар (i, i0 ) выполнено
X
T 3i,T 0 3i0
X p(aT )p(a0 0 )
X p(aT ) X p(a0 0 )
p(aT , a0T 0 )
T
X
X
X
XT 6 1.
=
=
qjj 0
qj qj 0
qj T 0 3i0
qj0 0
T 3i
T 3i,T 0 3i0
j∈T,j 0 ∈T 0
j∈T,j 0 ∈T 0
j∈T
j 0 ∈T 0
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
32
Л. А. Шоломов
Строгое неравенство имеет место, лишь когда оно справедливо для хотя бы одного
сомножителя. В этом случае qi = 0 либо qi00 = 0, а потому qii0 = 0. По теореме 1,
примененной к источнику XX 0 , заключаем, что
X
X
H(XX 0 ) = −
p(aT , a0T 0 ) log
qii0 ,
T,T 0
i∈T,i0 ∈T 0
и неравенство (20) обращается в равенство.
В отличие от обычной энтропии H, независимость источников не является необходимой для равенства H(XX 0 ) = H(X) + H(X 0 ). В частности, оно справедливо, когда
области определения источников X и X 0 не пересекаются, т. е. p(aT , a0T 0 ) > 0, лишь
если aT = ∗ или a0T 0 = ∗ [10].
7. Теорема кодирования
Существенное место в теории информации отводится результатам о сжатии данных, формулируемым в терминах кодирования последовательностей, порождаемых
источниками. Согласно им, нельзя добиться, чтобы средняя длина кода, приходящаяся на символ источника, была меньше энтропии, и возможно закодировать так, чтобы
средняя длина на символ превосходила энтропию сколь угодно мало [3]. Аналогичный
факт оказывается верным и для недоопределенных источников рассматриваемого вида. Напомним, что в случае недоопределенных последовательностей требуется по коду
восстановить не саму последовательность, а какое-либо ее доопределение.
Последовательности длины n будем называть n-блоками (либо просто блоками) и
обозначать символом B. Будем рассматривать следующий способ кодирования недоопределенного источника X = (A, P ). Возьмем некоторое множество D ⊆ (A0 )n , содержащее доопределения всех блоков из An , и каждому блоку B ∈ An сопоставим
некоторое его доопределение D = DB из D (разным B могут соответствовать одинаковые DB ). Закодируем блоки множества D двоичными наборами с соблюдением условия
однозначного декодирования (разделимости кода) [17]. Кодом блока B будем считать
код его доопределения DB . Последовательность, порождаемая источником X, кодируется путем разбиения ее на n-блоки и приписывания друг к другу кодов полученных
n-блоков. Кодирование источника X = (A, P ) называется универсальным, если оно не
зависит от набора вероятностей P .
Обозначим через lB длину слова, кодирующего блок B. Качество кодирования будем характеризовать средним числом кодовых символов на символ источника
X
¯ln = 1
p(B)lB ,
n B
где p(B) = p(aT1 )p(aT2 ) . . . p(aTn ) — вероятность блока B = aT1 aT2 . . . aTn , а сумма берется по всем n-блокам. Ставится задача оценки минимального значения ¯ln по всем
кодированиям источника X.
Следующий результат обобщает на недоопределенные источники теорему кодирования полностью определенных источников.
Теорема 13.
1. При любом n и любом способе кодирования
¯ln > H(X).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
33
Элементы теории недоопределенной информации
2. Существует универсальное кодирование, для которого
¯ln 6 H(X) + O log n .
n
Из результата Р. Е. Кричевского [6] следует, что при универсальном кодировании
понизить порядок остаточного члена в п. 2 нельзя.
Доказательство. Н и ж н я я о ц е н к а. Блоки (n-блоки) ai1 . . . ain в алфавите A0 будем обозначать через Di , i = (i1 , . . . , in ), а блоки aT1 . . . aTn в алфавите A —
через DT , T = T1 × · · · × Tn . Для вероятности блока DT будем использовать обозначение pT .
Каждому блоку DT соответствует единственный блок Di(T) , взятый в качестве его
доопределения. Положим для i ∈ M n и T ⊆ M n
1, i = i(T),
δTi =
(21)
0, i 6= i(T)
и введем величины
qi =
X
i ∈ M n.
pT δTi ,
(22)
T
Для них выполнено
X
qi =
X
pT
X
T
i
δTi =
X
pT = 1.
(23)
T
i
Пусть I = {i | qi > 0}, тогда
X
qi = 1.
(24)
i∈I
Через li обозначим длину кода для Di . Согласно определению и (21),
X
δTi li .
lDT = li(T) =
i∈T
Отсюда и из (22) с учетом введенных обозначений получаем
X
X X
X
n¯ln =
pT lDT =
pT
δTi li =
qi li .
T
T
i∈I
i∈i
Набор длин li , i ∈ I, удовлетворяет неравенству Макмиллана — Крафта [17]
и по свойству (3) энтропийной функции выполнено
X
X
X
X
qi li = −
qi log 2−li > −
qi log qi = −
pT δTi log qi =
i∈I
i∈I
= −
X
T
i∈I
pT log qi(T) > −
X
T
(25)
P
i
2−li 6 1,
T,i∈I
pT log
X
qi .
(26)
i∈T
Используя определение энтропии применительно к источнику X n и утверждение 2,
заключаем, что правая часть в (26) не превосходит H(X n ) = nH(X). Отсюда, из (25)
и (26) получаем утверждение п. 1 теоремы.
В е р х н я я о ц е н к а. Для каждого класса Kn (l) возьмем доопределяющее множество мощности Nn (l) и в соответствии с теоремой 5 занумеруем входящие в него блоки
двоичными наборами α̃ длины nH(l/n) + O(log n). Сами классы Kn также занумеруем
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
34
Л. А. Шоломов
двоичными наборами β̃ одинаковой длины, которую можно взять равной O(log n). Блоку B припишем кодовое слово β̃ α̃, где β̃ соответствует классу Kn (l), содержащему B,
а α̃ — номер некоторого доопределения блока B. Тогда
lB = l(β̃ α̃) 6 nH(l/n) + O(log n).
(27)
Нетрудно видеть, что построенное кодовое множество является префиксным и, следовательно, разделимым [17].
Обозначим
суммарную вероятность блоков класса Kn (l), равную
Q
Q через p(P, l, n) P
(n!/ T lT !) T plTT . Поскольку l p(P, l, n) = 1, из (27) получаем
X
X
log n
l
¯ln = 1
p(B)lB 6
+O
.
(28)
p(P, l, n)H
n B
n
n
l
По свойству полиномиального распределения [2] выполнено
X
p(P, l, n)
l
lT
= pT ,
n
(T ⊆ M ),
(29)
где lT и pT – компоненты наборов l и P . Применив к вогнутой функции H (теорема 11)
неравенство Иенсена, получим с учетом (29)
!
X
X
l
l
p(P, l, n)H
= H(P ).
6H
p(P, l, n)
n
n
l
l
Отсюда и из (28) следует утверждение п. 2.
8. Лучшее доопределение
Доопределение Ẋ источника X представляет собой полностью определенный источник, который строится по X применением операции доопределения (см. ниже). Чтобы различать символы ai источников X и Ẋ, символ ai в доопределении Ẋ будем
обозначать через ȧi . Операция доопределения задается набором переходных вероятностей p(ȧi |aT ), T ⊆ M , i ∈ M , где p(ȧi |aT ) = 0 для i ∈
/ T . Ее P
применение к X дает
источник Ẋ, порождающий символы ȧi с вероятностями p(ȧi ) = p(aT )p(ȧi |aT ). Пара
T
(aT , ȧi ) имеет в X Ẋ вероятность p(aT , ȧi ) = p(aT )p(ȧi |aT ). Дальше считаем p(ȧi ) > 0,
ибо символы ȧi с p(ȧi ) = 0 не участвуют в доопределении и их можно исключить из
рассмотрения.
Функция Ȟ из (8) может быть записана в виде
Ȟ(X) = min I(X, Ẋ),
Ẋ
где
I(X, Ẋ) =
X
T,i
p(aT )p(ȧi |aT ) log
p(ȧi |aT )
p(ȧi )
— величина взаимной информации [3], a минимум берется по всем доопределениям Ẋ
источника X. Отсюда и из теоремы 4 следует
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Элементы теории недоопределенной информации
35
Утверждение 2. Для любого доопределения Ẋ источника X
I(X, Ẋ) > H(X),
и существует доопределение X̂, для которого
I(X, X̂) = H(X).
(30)
Доопределение X̂, удовлетворяющее условию (30), назовем лучшим. Этот термин
возник из следующей сложностной интерпретации. Пусть недоопределенный источник X имеет единственное лучшее доопределение X̂ (такая ситуация типична — см.
дальше). Рассмотрим кодирование «достаточно длинных» последовательностей в алфавите A, содержащих символы aT с частотами p(aT ). Можно доказать, что если средняя длина кода асимптотически минимальна, то для почти всех последовательностей
символы aT замещаются в доопределениях символами ai с частотами, асимптотически
равными вероятностям пар (aT , âi ) в произведении X X̂.
Следующая теорема указывает параметры лучшего доопределения.
Теорема 14. Доопределение X̂ является лучшим тогда и только тогда, когда оно
задается переходными вероятностями
q̂i
p(âi |aT ) = P ,
q̂j
i ∈ T,
(31)
j∈T
где Q̂ = (q̂i , i ∈ M ) — один из наборов, на которых достигается H(X).
Доказательство. Рассмотрим произвольное доопределение Ẋ. Положим Ṗ =
= (p(ȧj ), j ∈ M ) и J + = {j | p(a0j ) > 0}. При заданном T введем для i ∈ T ∩ J +
величины
p(ȧi )
p(ȧi |aT )
(T )
(T )
αi = P
,
xi =
.
(32)
p(ȧj )
p(ȧi )
j∈T
Поскольку
P
P
p(ȧi ) =
i∈T ∩J +
P
p(ȧi ), выполнено
(T )
αi
= 1. Воспользуемся для вы-
i∈T ∩J +
i∈T
пуклой функции f (x) = x log x неравенством Иенсена
X
X (T )
(T )
(T ) (T )
αi f (xi ) > f
α i xi .
i∈T ∩J +
i∈T ∩J +
Учитывая, что
X
p(ȧi |aT ) =
i∈T ∩J +
X
p(ȧi |aT ) = 1,
i∈T
находим
X
i∈T ∩J +
(T ) (T )
α i xi
=
X p(ȧi |aT )
1
P
= P
.
p(ȧj )
p(ȧj )
+
i∈T ∩J
j∈T
j∈T
Подстановка этого значения в (33) дает неравенство
X p(ȧi |aT )
p(ȧi |aT )
1
1
P
log
> P
log P
.
p(ȧj )
p(ȧj )
p(ȧj )
p(ȧi )
+
i∈T ∩J
j∈T
j∈T
j∈T
(33)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
36
Л. А. Шоломов
Принимая во внимание, что p(ȧi |aT ) = 0 для i ∈
/ J + , заменим в этом неравенстве
+
суммирование по
P i ∈ T ∩ J суммированием по i ∈ T . После этого, домножив обе
части на p(aT )
p(ȧj ) и просуммировав по T , получим
j∈T
I(X, Ẋ) > H(P, Ṗ ) > H(X).
Отсюда видно, что равенство (30) возможно, лишь если на наборе P̂ , соответствующем доопределению X̂, достигается энтропия H(X). Пусть Q̂ — произвольная точка
минимума функции H(P, Q), J + = {j | q̂j > 0} и доопределение X̂ таково, что P̂ = Q̂.
В этом случае равенство (30) имеет место тогда и только тогда, когда при каждом T
(T )
неравенство (33) обращается в равенство. Поскольку для i ∈ T ∩ J + все αi поло(T )
жительны, условием равенства является совпадение всех xi , i ∈ T ∩ J + . Обозначив
их величину через γT , получаем p(âi |aT ) = γT q̂i . Это равенство
Pсправедливо для всех
i ∈ T , ибо при i ∈
/ J + обе части обращаются в 0. Отсюда и из
p(âj |aT ) = 1 находим
j∈T
1
γT = P , что приводит к (31). Чтобы можно было назначить p(âi |aT ) указанным
q̂j
j∈T
P
образом, необходимо выполнение равенств p(aT )p(âi |aT ) = p(âi ), i ∈ M . Их справедT
ливость следует из того, что при условиях (31) они совпадают с (7).
Недоопределенный источник назовем категоричным, если он имеет единственное
лучшее доопределение.
Следствие 2. Источник категоричен тогда и только тогда, когда его энтропия
достигается в единственной точке.
Частично определенный источник (A0 ∪ {∗}, P ), P = (p0 , . . . , pm−1 , p∗ ) назовем
нетривиальным, если p∗ < 1.
Следствие 3. Всякий нетривиальный частично определенный источник категоричен и для него Q̂ = P/(1 − p∗ ).
Действительно, с учетом q̂0 + . . . + q̂m−1 = 1 неравенства (4) в рассматриваемом
случае имеют вид pi /q̂i + p∗ 6 1. Если pi = 0, то имеет место строгое неравенство
и q̂i = 0. В случае pi > 0 выполнено q̂i > pi /(1 − p∗ ) > 0, неравенство заменяется
равенством и дает q̂i = pi /(1 − p∗ ). Приведем без доказательства достаточные условия для того, чтобы энтропия H(X)
недоопределенного источника X достигалась в единственной точке. Обозначим через T систему множеств, состояющую из всех T с p(aT ) > 0 и множества M . Положим
χi,T равным 1 при i ∈ T и равным 0 при i ∈
/ TP
и образуем наборы χP
i = (χi,T , T ∈ T ),
i ∈ M . Рассмотрим выпуклый многогранник
µi χi , 0 6 µi 6 1,
µi = 1, натянуi∈M
i
тый на точки χi . Пусть M 0 — множество всех i, для которых χi принадлежат границе
многогранника.
Утверждение 3. Если χi , i ∈ M 0 , линейно независимы, то энтропия H(P ) достигается на единственном наборе Q.
«Типичным» следует считать случай, когда лежащие на границе многогранника не
более m точек χi (размерность которых может доходить до 2m ) линейно независимы.
Это обеспечивает единственность набора Q, на котором достигается энтропия H(X),
и, следовательно, — категоричность источника X.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Элементы теории недоопределенной информации
37
9. Условная энтропия недоопределенных данных
Пусть произведение XY недоопределенных источников с алфавитами A = {aT ,
T ⊆ M } и B = {bU , U ⊆ L}, L = {0, 1, . . . , l − 1}, задано совместным распределением
(p(aT , bU ), T ⊆ M, U ⊆ L).
Если, как обычно, считать меру информации I(X, Y ) в X о Y связанной с условной
энтропией H(Y |X) соотношением
I(X, Y ) = H(Y ) − H(Y |X),
то для введения меры информации достаточно дать определение условной энтропии.
В теории информации важную роль играет правило сложения энтропий H(XY ) =
= H(X) + H(Y |X). Оно (в более слабом варианте) включено К. Шенноном в число
свойств, аксиоматически определяющих вид энтропийной функции. Поэтому при введении условной энтропии H(Y |X) будем существенное внимание уделять этому свойству.
Рассмотрим вначале случай, когда X полностью определен, т. е. совместное распределение имеет вид p(ai , bU ), i ∈ M , U ⊆ L. Тогда
p(ai ) =
X
p(ai , bU ),
p(bU |ai ) =
U
p(ai , bU )
p(ai )
(34)
(cчитаем p(ai ) > 0, ибо при p(ai ) = 0 символ ai может быть исключен из рассмотрения).
Условную энтропию введем обычным равенством [3]
X
H(Y |X) =
p(ai )H(Y |ai ),
i
где величины H(Y |ai ) находятся подобно (1)–(2) с заменой вероятностей условными
вероятностями
)
(
X
X
qj ,
(35)
p(bU |ai ) log
H(Y |ai ) = min −
Q
U ⊆L
j∈U
Q = (qj j ∈ L), qj > 0, j qj = 1. Применительно к набору Q(i) , на котором достигается
минимум, условия (4) теоремы 1 приобретают вид
P
X p(bU |ai )
X
6 1,
qu(i)
U : j∈U
j ∈ L.
(36)
u∈U
Теорема 15. В случае полностью определенного источника X введенная указанным образом условная энтропия удовлетворяет правилу сложения энтропий
H(X) + H(Y |X) = H(XY ).
(i)
Доказательство. Положим qij = p(ai )qj и Q̃ = (qij , i ∈ M, j ∈ L). Выполнено
X
i,j
qij =
X
i
p(ai )
X
j
(i)
qj = 1.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
38
Л. А. Шоломов
Убедимся, что набор Q̃ удовлетворяет аналогам неравенств (4) для XY . Имеем для
i ∈ M, j ∈ L с учетом (36)
X p(ai , bU )
X p(ai )p(bU |ai )
X p(bU |ai )
P
=
=
P
P (i) 6 1.
(i)
qiu
p(ai )qu
qu
U : j∈U
U : j∈U
U : j∈U
u∈U
u∈U
u∈U
Если выполнено строгое неравенство, то строгим является и неравенство (36), а потому
(i)
(i)
qj = 0 и qij = p(ai )qj = 0.
Это означает, что H(XY ) достигается в точке Q̃ и
X
X
X
X
(i)
H(XY ) = −
p(ai , bU ) log
qij = −
p(ai , bU ) log
p(ai )qj =
i,U
=−
X
=−
X
j∈U
p(ai , bU ) log p(ai ) −
i,U
X
i
i,U
i
p(ai ) log p(ai ) +
X
p(ai )
X
U
j∈U
p(bU |ai ) log
X
(i)
qj =
j∈U
p(ai )H(Y |ai ) = H(X) + H(Y |X).
i
Теорема доказана.
Введенное понятие H(Y |X) для полностью определенного X оказывается согласованным с колмогоровской интерпретацией [5] условной энтропии в терминах относительной сложности (подробнее см. в [11, 13]). Оно служит основой для определения
условной энтропии в общем случае.
Если опыт X, участвующий в произведении XY , недоопределен, применим
к X некоторое преобразование доопределения. Переходные вероятности p(ȧi |aT ), задающие
доопределение Ẋ, позволяют найти совместные вероятности p(ȧi , bU ) =
P
= T p(aT , bU )p(ȧi |aT ) пар (ȧi , bU ) в произведении ẊY . Поскольку Ẋ полностью определен, может быть вычислена условная энтропия H(Y |Ẋ). Эта величина зависит от
доопределения Ẋ. Выделим содержательно важный случай, когда такой зависимости
нет.
Будем говорить, что символ aT конкретней bU , если aT является основным (т. е.
принадлежит A0 ) либо bU является неопределенным (т. е. совпадает с ∗ = bL ), и что
опыт X конкретней Y , если p(aT , bU ) > 0, лишь когда aT конкретней bU . В частности,
полностью определенный опыт X конкретней (нестрого) любого опыта Y . Имеет место
следующий факт.
Утверждение 4. Если опыт X конкретней Y , то величина H(Y |Ẋ) не зависит
от выбора доопределения Ẋ.
Доказательство. Пусть X конкретней Y . Учитывая лишь компоненты p(ai , bU )
набора совместных вероятностей для XY , соответствующие одноэлементным множествам {T }, введем p(bU |ai ) и H(Y |ai ) теми же выражениями (34), (35), что и для опыта X с полностью определенными исходами, и положим
X
HX (Y ) =
p(ai )H(Y |ai ).
i
Отметим,
P что HX (Y ) не является математическим ожиданием величин H(Y |ai ), поскольку i p(ai ), вообще говоря, меньше 1. Покажем, что при любом доопределении Ẋ
имеет место равенство H(Y |Ẋ) = HX (Y ). Этим утверждение будет доказано.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Элементы теории недоопределенной информации
39
Так как X конкретней Y , то p(ȧi , bU ) = p(ai , bU ) при U =
6 L и p(ȧi , ∗) = p(ai , ∗) +
p(ai )
+p(ȧi ) − p(ai ). С учетом этого, введя обозначение ri = 1 −
, получаем p(bU |ai ) =
p(ȧi )
p(bU |ȧi )
p(∗|ȧi ) − ri
=
при U 6= L и p(∗|ai ) =
. По утверждению 3 заключаем, что
1 − ri
1 − ri
(1−ri )H(Y |ai ) = H(Y |ȧi ). Это эквивалентно соотношению p(ai )H(Y |ai ) = p(ȧi )H(Y |ȧi ),
суммированием которого по i получаем требуемое равенство.
Поскольку в рассматриваемом случае величина H(Y |Ẋ) не зависит от доопределения Ẋ, под условной энтропией H(Y |X) можно понимать H(Y |Ẋ) при произвольном Ẋ. Явное выражение H(Y |X) через параметры произведения XY исходных источников задается формулой для HX (Y ).
Имеет место следующий факт, доказательство которого приведено в [11, 13].
Утверждение 5. Если источник X конкретней Y , справедливо правило сложения энтропий
H(XY ) = H(X) + H(Y |X).
Отметим также, что если источник X конкретней Y , то условная энтропия H(Y |X)
допускает колмогоровскую интерпретацию [5] (модифицированную применительно
к недоопределенным данным) в терминах относительной сложности [11, 13].
В общем случае величина H(Y |Ẋ) зависит от Ẋ. Будем считать, что источник X
категоричен , т. е. имеет единственное лучшее доопределение X̂ (такая ситуация «типична» — см. утверждение 3). Положим по определению H(Y |X) = H(Y |X̂).
Содержательные соображения в пользу выбора лучшего доопределения для вычисления условной энтропии поясним на простом примере. Пусть в произведении XY
источников с алфавитами {0, 1, ∗} и {0, 1} пары (0, 0) и (∗, 1) порождаются с ненулевыми вероятностями, а вероятности остальных пар равны 0. Энтропия H(X) = 0
достигается на лучшем доопределении X̂, в котором все ∗ заменены символом 0. Для
него H(Y |X̂) = H(Y ). Если же доопределить все ∗ символом 1, получим источник Ẋ,
совпадающий с Y . В этом случае H(Y |Ẋ) = 0. Таким образом, существует возможность
уменьшения величины H(Y |Ẋ) за счет «усложнения» доопределения Ẋ. Правило сложения энтропий имеет дело с суммой H(X) + H(Y |X) и вычисление слагаемых на
основе разных доопределений может привести к «искусственному» занижению суммы
(в данном примере можно получить нулевую сумму). Поскольку H(X) вычисляется
на основе лучшего доопределения, то и в H(Y |X) следует использовать лучшее доопределение.
10. Обобщенное правило сложения энтропий
Продолжением доопределения Ẋ на XY называется полностью определенный источник ẊY 0 , построенный по XY Ẋ применением некоторого набора переходных вероятностей p(b0j |aT , bU , ȧi ) и порождающий пары (ȧi , b0j ) с вероятностями
p(ȧi , b0j ) =
X
p(aT , bU , ȧi )p(b0j |aT , bU , ȧi ).
T,U
Подчеркнем разницу между доопределением источника ẊY и продолжением доопределения Ẋ на XY . Доопределение строится по ẊY и не использует информацию о X,
в то время как продолжение строится по XY Ẋ и тем самым предоставляет более
широкие возможности.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
40
Л. А. Шоломов
Величину
Ĥ(XY ) = min I(XY ; X̂Y 0 ),
X̂Y 0
где I(·, ·) — величина взаимной информации и минимум берется по продолжениям X̂Y 0
лучшего доопределения X̂, назовем энтропией произведения XY при лучшем доопределении источника X. В общем случае недоопределенных данных правило сложения
энтропий заменяется более сложным соотношением [16].
Теорема 16. Имеет место следующее обобщенное правило сложения энтропий
H(X) + H(Y |X) = Ĥ(XY ).
(37)
Из теоремы 14 следует, что
H(XY ) = min
I(XY ; X 0 Y 0 ),
0 0
X Y
где минимум по всем доопределениям X 0 Y 0 произведения XY . В случае, когда минимум по X 0 Y 0 = X̂Y 0 совпадает с минимумом по всем доопределениям X 0 Y 0 , обобщенное
правило сложения энтропий превращается в обычное. Это имеет место, например, если
X конкретней Y .
Величины, входящие в обобщенное правило, заданы неявно как минимумы некоторых выражений, в связи с чем его доказательство в общем виде требует громоздких
выкладок (эскиз доказательства имеется в [16]). Но в содержательно важном случае —
для частично определенных данных (когда используются лишь полностью определенные и неопределенные символы) — эти величины представимы в явном виде, что
позволяет дать для этого случая более простое прямое доказательство. Ограничимся
доказательством обобщенного правила для частично определенных данных.
Пусть произведение XY частично определенных источников X и Y с алфавитами
{a0 , . . . , am−1 , ∗} и {b0 , . . . , bl−1 , ∗} задано совместным распределением
p(ai , bP
j ) = pij ,
P
p(∗, bj ) = p∗j , p(ai , ∗) = pi∗ и p(∗, ∗) = p∗∗ . Тогда p(ai ) = j pij = pi , p(∗) = j p∗j =
= p∗ . В силу следствия 3 H(X) достигается на единственном наборе Q̂ = (q̂i , i ∈ M ),
pi
и
q̂i =
1 − p∗
X
X
H(X) = −
pi log q̂i = (1 − p∗ ) log(1 − p∗ ) −
pi log pi .
(38)
i
i
По теореме 14 лучшее доопределение X̂ задается переходными вероятностями
p(âi |ai ) = 1, p(âi |∗) = q̂i , и произведению X̂Y соответствует совместное распределение
p(âi , bj ) = pij + q̂i p∗j = πij , p(âi , ∗) = pi∗ + q̂i p∗∗ = πi∗ . С учетом того, что p(bj |âi ) = πij /q̂i
и источник Y |âi частично определен, используя следствие 1, находим
X
X X πij
X
πij
πij
H(Y |X) =
q̂i H(Y |âi ) = −
q̂i
log P
=−
πij log P .
(39)
q̂i
πiv
πiv
i
i
j
i,j
v
v
Для вычисления Ĥ(XY ) понадобится утверждение, которое возникает как более
сложное проявление эффекта Нечипорука, рассмотренного в разд. 13 (ср. с теоремой 3
и соотношением (18)). Оно справедливо для недоопределенных источников общего
вида. Пусть в произведении XY пара (∗, ∗) встречается с вероятностью p(∗, ∗) > 0.
p(aT , bU )
Рассмотрим произведение X 0 Y 0 , в котором p0 (∗, ∗) = 0 и p0 (aT , bU ) =
.
1 − p(∗, ∗)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Элементы теории недоопределенной информации
41
Утверждение 6. Имеют место равенства
H(X) = (1 − p(∗, ∗))H(X 0 ),
H(Y |X) = (1 − p(∗, ∗))H(Y 0 |X 0 ),
Ĥ(XY ) = (1 − p(∗, ∗))Ĥ(X 0 Y 0 ).
В силу этих соотношений, при доказательстве обобщенного правила сложения энтропий можно ограничиться случаем, когда неопределенных пар (∗, ∗) нет. Вернемся
к частично определенным источникам и будем считать, что p∗∗ = 0.
Рассмотрим продолжение X̂Y 0 лучшего доопределения X̂ на XY . Пусть оно соответствует переходным вероятностям p(b0j |ai , ∗, âi ) = xi,j . Тогда p(ai , bj , âi , b0j ) = pij ,
p(ai , ∗, âi , b0j ) =P
pi∗ xi,j , p(∗, bj , âi , b0j ) = q̂i p∗j , p(âi , b0j ) = pij + pi∗ xi,j + q̂i p∗j = πij + pi∗ xi,j .
Отметим, что j∈J xi,j = 1.
Вычислим
0
I(XY, X̂Y ) =
X
i,j
+p(∗, bj , âi , b0j ) log
p(ai , bj , âi , b0j ) log
p(ai , bj , âi , b0j )
+
p(ai , bj )p(âi , b0j )
p(∗, bj , âi , b0j )
p(ai , ∗, âi , b0j ) 0
+
p(a
,
∗,
â
,
b
)
log
.
i
i j
p(∗, bj )p(âi , b0j )
p(ai , ∗)p(âi , b0j )
Подставив
указанные значения и осуществив сокращения, получаем I(XY, X̂Y 0 ) =
P
= i Fi , где
Fi =
1
xi,j
q̂i
=
+ pi∗ xi,j log
+ q̂i p∗j log
π
+
p
x
π
+
p
x
π
+
p
x
ij
i∗
i,j
ij
i∗
i,j
ij
i∗
i,j
j
X
=
−(πij + pi∗ xi,j ) log(πij + pi∗ xi,j ) + pi∗ xi,j log xi,j + q̂i p∗j log q̂i .
X
pij log
j
Для разных i функции Fi зависят от разных переменных, поэтому минимум
I(XY, X̂Y 0 ) достигается минимизацией каждой из функций Fi . Отметим, что декомпозиция задачи стала возможной благодаря сведению к случаю p∗∗ = 0 применением
утверждения 6.
При x > 0 рассмотрим функцию f (x) = −(a + bx) log(a + bx) + bx log x, a, b > 0. Она
ab log e
> 0 при a, b, x > 0, а при a = 0 или b = 0 функция
выпукла, ибо f 00 (x) =
x(a + bx)
f (x) линейна. Следовательно, функция Fi от переменных xi,j , j ∈ J, также выпукла.
Осуществив ее дифференцирование и выполнив ряд преобразований, находим
∂Fi
xi,j
= pi∗ log
.
∂xi,j
πij + pi∗ xi,j
πij
∂Fi (α(i) )
. После
Рассмотрим точку α(i) = (αij , j ∈ J), где αij = P
, и вычислим
∂xi,j
v πiv
некоторых преобразований имеем
X
∂Fi (α(i) )
= −pi∗ log
πiv + pi∗ .
∂xi,j
v
P
Это значение не зависит от j; обозначим его через λi . Поскольку
v πiv + pi∗ =
= q̂i < 1, выполнено λi > 0. Отсюда в силу теоремы 4.4.1 из [2] заключаем, что
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
42
Л. А. Шоломов
минимум выпуклой функции Fi на множестве векторов вероятностей (xi,j , j ∈ J) достигается в точке α(i) . Учитывая, что в этой точке
πij X
πij
πij + pi∗ xi,j = P
πiv + pi∗ = q̂i P
,
π
iv
v πiv
v
v
после некоторых преобразований приводим Fi (α(i) ) к виду
X
X
πij
πij
Fi (α(i) ) =
+ q̂i p∗j log q̂i −
.
−q̂i P
πij log P
v πiv
v πiv
j
j
P
Преобразовав первую сумму к −(q̂i − q̂i j p∗j ) log q̂i = −pi log q̂i , получаем Fi (α(i) ) =
P
P
πij
(i)
. Это в силу (38) и (39) дает Ĥ(XY ) =
= −pi log q̂i − j πij log P
i Fi (α ) =
π
v iv
= H(X) + H(Y |X). Тем самым обобщенное правило сложения энтропий для частично
определенных источников доказано.
ЛИТЕРАТУРА
1. Бонгард М. М. О понятии «полезная информация» // Проблемы кибернетики. Вып. 9.
М.: Физматгиз, 1963. С. 71–102.
2. Вероятность и математическая статистика. Энциклопедия. М.: Большая Российская Энциклопедия, 1999.
3. Галлагер Р. Теория информации и надежная связь. М.: Сов. радио, 1974.
4. Добрушин Р. Л. Единые способы оптимального квантования сообщений // Проблемы
кибернетики. Вып. 22. М.: Наука, 1970. С. 107–156.
5. Колмогоров А. Н. Алгоритм, информация, сложность. М.: Знание, 1991.
6. Кричевский Р. Е. Сжатие и поиск информации. М.: Радио и связь, 1989.
7. Нечипорук Э. И. О сложности вентильных схем, реализующих булевские матрицы с
неопределенными элементами // ДАН СССР. 1965. Т. 163. № 1. С. 40–42.
8. Сапоженко А. А., Асратян А. С., Кузюрин Н. Н. Обзор некоторых результатов по задачам о покрытии // Методы дискретного анализа в решении комбинаторных задач.
Вып. 30. Новосибирск: ИМ СО АН СССР, 1977. С. 46–75.
9. Шоломов Л. А. Информационные свойства функционалов сложности для систем недоопределенных булевых функций // Проблемы кибернетики. Вып. 34. М.: Наука, 1978.
С. 133–150.
10. Шоломов Л. А. Сжатие частично определенной информации // Нелинейная динамика и
управление. Вып. 4. М.: Физматлит, 2004. С. 385–399.
11. Шоломов Л. А. О мере информации нечетких и частично-определенных данных // Докл.
Академии наук. 2006. Т. 410. № 1. С. 321–325.
12. Шоломов Л. А. О сложности последовательной реализации частичных булевых функций
схемами // Дискрет. анализ и исслед. опер. Сер. 1. 2007. Т. 12. № 3. С. 110–139.
13. Шоломов Л. А. Информационные свойства недоопределенных данных // Дискретная математика и ее приложения: сб. лекций молодежных научных школ. Вып. IV. М.: ИПМ
РАН, 2007. С. 26–50.
14. Шоломов Л. А. Исследование одного класса динамических процедур коллективного выбора // Нелинейная динамика и управление. Вып. 5. М.: Физматлит, 2007. С. 287–308.
15. Шоломов Л. А. О собственной информации нечетких текстов // Нелинейная динамика
и управление. Вып. 6. М.: Физматлит, 2008. C. 305–314.
16. Шоломов Л. А. Обобщенное правило сложения энтропий для недопределенных данных // Докл. Академии наук. 2009. Т. 427. № 1. С. 28–31.
17. Яблонский С. В. Введение в дискретную математику. М.: Высшая школа, 2006.
18. Berger T. Rate distortion theory. A mathtmatical basis for data compression. New Jersey:
Prentice-Hall, 1971.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА
№2
ПРИЛОЖЕНИЕ
Ноябрь 2009
МАТЕМАТИЧЕСКИЕ МЕТОДЫ КРИПТОГРАФИИ
УДК 519.7
КОНЕЧНЫЕ АВТОМАТЫ В КРИПТОГРАФИИ
Г. П. Агибалов
Томский государственный университет, г. Томск, Россия
E-mail: agibalov@isc.tsu.ru
Сообщается о применениях конечных автоматов в качестве криптоалгоритмов и
их компонент, известных из открытой литературы, в том числе в поточных и автоматных шифрсистемах, в симмметричных шифрах и криптосистемах с открытым
ключом. Как автоматная шифрсистема описывется японская шифровальная машина времён Второй мировой войны Purple. Даются оценки числа попарно неэквивалентных ключей в шифре Закревского, построенного на основе сильносвязного
конечного автомата с функцией выходов, биективной в каждом состоянии. Излагаются элементы теории симметричных поточных и автоматных шифрсистем,
демонстрирующие функциональную эквивалентность их классов и неотличимость
самосинхронизирующихся таких систем от регистровых.
Ключевые слова: конечные автоматы, криптоавтоматы, генераторы ключевого потока, комбайнеры, клеточные автоматы, хеш-функции, симметричные
шифры, последовательностные шифры, поточные шифрсистемы, автоматные
шифрсистемы, регистровые шифрсистемы, самосинхронизирующиеся шифрсистемы, конечно-автоматные криптосистемы с открытым ключом, шифр Закревского, пурпурная машина.
Введение
Конечные автоматы в криптографии распространены столь же широко, сколь и,
скажем, целые числа, подстановки, булевы функции. Достаточно заметить, что все
поточные шифры, ориентированные на аппаратную реализацию, допускают конструктивное описание как конечные автоматы канонической системой уравнений. Многочисленные примеры таких описаний поточных шифров конца прошлого века и их применения в криптоанализе можно найти, в частности, в [1, 2]. Вместе с тем в открытой
научной литературе по современной криптографии конечные автоматы ещё не получили такого же широкого отражения, какое имеют другие дискретные структуры —
те же целые числа или булевы функции. Особенно это касается теории автоматных
криптосистем. Так, в отечественной литературе постсоветского периода можно указать лишь два источника монографического характера [3, 4], в которых хоть как-то
упоминаются шифрующие автоматы.
В построении криптосистем конечные автоматы находят применение как в роли
отдельных их компонент, начиная с регистров сдвига, так и в качестве полнофункциональных криптоалгоритмов — шифрования, цифровой подписи и т. п. В одних криптосистемах они выступают в чистом виде, в других — как криптографические автоматы
(коротко: криптоавтоматы), конечно-автоматное поведение которых определяется ещё
и в зависимости от ключа, выбираемого из некоторого конечного множества. Ключом
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
44
Г. П. Агибалов
криптоавтомата могут быть и начальное состояние автомата, и некоторые элементы
его таблиц переходов и выходов или сами эти таблицы — одна или обе сразу, и др.
В этой работе приводятся из открытой литературы последнего времени примеры
употребления конечных автоматов и криптоавтоматов в роли генераторов ключевого
потока и схем комбинирования (комбайнеров) в них, излагаются принципы построения
клеточно-автоматных генераторов псевдослучайных последовательностей и ключевого
потока и клеточно-автоматных хеш-функций, описываются конечно-автоматные симметричные шифры и криптосистемы с открытым ключом, демонстрируется функциональная эквивалентность поточных и автоматных шифрсистем и неотличимость самосинхронизирующихся таких систем от регистровых. Вопросы, относящиеся к криптоанализу, здесь не затрагиваются.
Предполагается знакомство читателя с основами теории автоматов и криптографии. В изложении, касающемся элементов теории автоматов, придерживаемся терминологии и обозначений из [5], а в употреблении криптографических понятий следуем
за [6]. Кроме того, для любой функции f , для любого подмножества U её аргументов
и для любого набора σ значений этих аргументов через fσ обозначается функция (от
остальных аргументов f ), которая получается из f подстановкой под её знак вместо
аргументов в U их значений в наборе σ.
1. Конечные автоматы
Конечный (полностью определённый) автомат M с множествами входных символов X, выходных символов Y и состояний Q и c функциями переходов ψ : X × Q → Q
и выходов ϕ : X × Q → Y записывается как M = <X, Q, Y, ψ, ϕ>. В нём зависимость
между входными символами, состояниями и выходными символами в дискретном времени t выражается системой канонических уравнений
(
y(t) = ϕ(x(t), q(t)),
t = 1, 2, . . . ,
q(t + 1) = ψ(x(t), q(t)),
где q(1) — начальное состояние автомата. Если здесь α = x(1)x(2) . . . x(m), β =
= y(1)y(2) . . . y(m) и δ = q(2)q(3) . . . q(m + 1), то пишем: δ = ψ̄(α, q(1)) — последовательность состояний, которую автомат M пробегает из состояния q(1) под действием входного слова α; β = ϕ̄(α, q(1)) — выходное слово, которое он при этом вырабатывает; q(m + 1) = ψ(α, q(1)) — состояние, в которое он при этом переходит,
и y(m) = ϕ(α, q(1)) — выходной символ, который он выдаёт по завершении этого
перехода.
В случае X = An , Q = Ak , Y = Am для натуральных n, k, m и алфавита A автомат M называется структурным, или автоматом в структурном алфавите A. В этом
случае числа n, k и m называются размерностями соответственно входного символа,
состояния и выходного символа, функции ψi : An × Ak → Ak для i = 1, 2, ..., k и
ϕj : An × B k → Am для j = 1, 2, . . . , m, определяемые для любых x ∈ An и q ∈ Ak
как (ψ1 (x, q)ψ2 (x, q) . . . ψk (x, q)) = ψ(x, q) и (ϕ1 (x, q)ϕ2 (x, q) . . . ϕm (x, q)) = ϕ(x, q), —
структурными функциями соответственно переходов и выходов автомата M . Его каноническая система уравнений может быть записана в виде
(
yj (t) = ϕj (x1 (t)x2 (t) . . . xn (t), q1 (t)q2 (t) . . . qk (t)), j = 1, 2, . . . m,
t = 1, 2, . . .
qi (t + 1) = ψi (x1 (t)x2 (t) . . . xn (t), q1 (t)q2 (t) . . . qk (t)), i = 1, 2, . . . k,
Начальное состояние автомата в ней есть q1 (1)q2 (1) . . . qk (1).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
45
Конечные автоматы в криптографии
В случае, если |X| = 1 или функции в автомате M зависят фиктивно от входного
символа, автомат M является автономным и записывается как M = <Q, Y, ψ, ϕ>, где
ψ : Q → Q и ϕ : Q → Y . Его канонические уравнения имеют вид
(
y(t) = ϕ(q(t)),
t = 1, 2, . . . ,
q(t + 1) = ψ(q(t)),
или, в структурном алфавите,
(
yj (t) = ϕj (q1 (t)q2 (t) . . . qk (t)), j = 1, 2, . . . m,
qi (t + 1) = ψi (q1 (t)q2 (t) . . . qk (t)), i = 1, 2, . . . k,
t = 1, 2, . . .
Если в M функция ϕ(x, q) зависит от x фиктивно, т. е. если M есть автомат Мура, то
мы считаем, что фактически ϕ является отображением из Q в Q и пишем ϕ(q) вместо
ϕ(x, q).
Наконец, если |Q| = 1, то автомат M называется комбинационным, или автоматом
без памяти, и записывается как M = <X, Y, ϕ>, где ϕ : X → Y .
В частичном автомате M = <X, Q, Y, ψ, ϕ> функции ψ и ϕ являются частичными
отображениями вида ψ : Dψ ⊆ X × Q → Q и ϕ : Dϕ ⊆ X × Q → Y .
2. Криптоавтоматы
Криптоавтомат определяется формально как набор из шести объектов
C = <X, Q, Y, K, ψ, ϕ>, в котором X, Q, Y, K — конечные множества, K = Q0 × K0 ,
Q0 ⊆ Q, ψ, ϕ — функции, ψ : K0 × X × Q → Q и ϕ : K0 × X × Q → Y . Множества X, Q,
Y и функции ψ и ϕ играют по существу ту же роль, что и в конечном автомате M , и называются так же, как в M , — входным алфавитом, множеством состояний, выходным
алфавитом и функциями переходов и выходов соответственно. Элементы в множестве
K = Q0 × K0 называются ключами. В произвольном ключе k = (q0 , k0 ) ∈ K компонента k0 выступает в роли параметра, выделяющего в криптоавтомате C автомат
Ck = <X, Q, Y, ψk , ϕk >, где функции ψk : X × Q → Q и ϕk : X × Q → Y для любых
x ∈ X и q ∈ Q определяются как ψk (x, q) = ψ(k0 , x, q) и ϕk (x, q) = ϕ(k0 , x, q) и называются соответственно функциями переходов и выходов криптоавтомата C на ключе k.
Автомат Ck называется проекцией криптоавтомата C на ключе k. Компонента q0
в ключе k используется в качестве начального состояния автомата Ck .
В случае |Q0 | > 1 говорят, что криптоавтомат C инициализируется по ключу, или
имеет инициализирующий ключ. В этом случае q(1) ∈ Q0 . Если, кроме того, |K0 | = 1
или каждая из функций ψ(k0 , x, q), ϕ(k0 , x, q) зависит от k0 фиктивно, то криптоавтомат C записывается как C = <X, Q, Y, Q0 , ψ, ϕ>, подразумевая, что функции ψ и ϕ
являются отображениями из X × Q в Q и Y соответственно. Говорят, что такой криптоавтомат C имеет чисто инициализирующий ключ, и множество ключей K в нём
отождествляют с Q0 . Если же |Q0 | = 1, т. е. если криптоавтомат C не инициализируется по ключу, то предполагается, что |K0 | > 1 и хотя бы одна из его функций зависит
существенно от k0 . Такой криптоавтомат C записывается как C = <X, Q, Y, K0 , ψ, ϕ>,
и множество ключей K в нём отождествляется c K0 .
Нередко результаты теоретических исследований с участием понятия криптоавтомата не предполагают обязательности инициализируемости или неинициализируемости криптоавтомата по ключу, но обязательно предполагают, что |K0 | > 1 и хотя бы
одна из его функций зависит существенно от k0 ∈ K0 . За таким криптоавтоматом
естественно сохранить обозначение произвольного криптоавтомата, но в отличие от
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
46
Г. П. Агибалов
последнего называть его свободно инициализируемым — по ключу или нет и под K
подразумевать только множество не инициализирующих ключей — K0 . Таким образом, свободно инициализируемый криптоавтомат — это C = <X, Q, Y, K, ψ, ϕ>, где
|K| > 1, ψ : K × X × Q → Q, ϕ : K × X × Q → Y и ψ(k, x, q) или ϕ(k, x, q) существенно
зависят от k. В нём q(1) ∈ Q.
Автономный криптоавтомат определяется аналогично автономному автомату и
записывается в общем случае как C = <Q, Y, Q0 × K0 , ψ, ϕ>. В нём, естественно,
ψ : K0 × Q → Q и ϕ : K0 × Q → Y , ψk : Q → Q и ϕk : Q → Y и ψk (q) = ψ(k0 , q) и
ϕk (q) = ϕ(k0 , q) для любых k = (q0 , k0 ) ∈ K и q ∈ Q. Автономный криптоавтомат C,
не инициализируемый по ключу, задаётся как C = <Q, Y, K0 , ψ, ϕ>, имеющий чисто
инициализирующий ключ — как C = <Q, Y, Q0 , ψ, ϕ> и свободно инициализируемый —
как C = <Q, Y, K, ψ, ϕ>.
В случае, если все множества в криптоавтомате состоят из слов в некотором алфавите A, криптоавтомат называется структурным, или криптоавтоматом в алфавите A. Любой структурный криптоавтомат в некотором алфавите может быть задан
подобно структурному автомату канонической системой уравнений со значениями переменных в этом алфавите.
Аналогично автомату Мура определяется криптоавтомат Мура, и как криптоавтомат он может быть инициализируемым или не инициализируемым по ключу, с чисто
инициализирующим ключом, свободно инициализируемым или автономным и записываться соответствующим образом. Комбинационный криптоавтомат, или криптоавтомат без памяти, задаётся четвёркой C = <X, Y, K, ϕ>, где ϕ : K × X → Y .
3. Конечные автоматы и криптоавтоматы как компоненты криптосистем
3.1. Г е н е р а т о р ы к л ю ч е в о г о п о т о к а
Генераторы ключевого потока (ГКП) бывают синхронные, или без обратной связи,
и асинхронные — с обратной связью. В первых ключевой поток вырабатывается в зависимости только от ключа шифра, а во вторых очередной символ ключевого потока
зависит ещё и от нескольких предшествующих ему во времени символов шифртекста.
Конечно-автоматный ГКП является некоторым криптоавтоматом, который в случае
синхронного ГКП автономный, а в случае асинхронного ГКП — криптоавтомат Мура.
Примером синхронного конечно-автоматного ГКП может служить генератор
MUGI [7], представляющий собой автономный криптоавтомат с чисто инициализирующим ключом C = <Q, Y, Q0 , ψ, ϕ>, в котором Q = S ×B, S = A3 , B = A16 , A = {0, 1}64 ,
Y = A, q = (s, b) ∈ S × B, s = a0 a1 a2 ∈ A3 , b = b0 b1 . . . b15 ∈ A16 , элементы в Q0 ⊆ Q вычисляются с помощью некоторой процедуры инициализации по возможным значениям
ключа шифра и вектора инициализации. Его канонические уравнения имеют вид


y(t) = a2 (t),




a0 (t + 1) = a1 (t),





a1 (t + 1) = a2 (t) ⊕ F (a1 (t), b4 (t)) ⊕ C1 ,



a (t + 1) = a (t) ⊕ F (a (t), b (t) <<< 17) ⊕ C ,
2
0
1
10
2
t > 1,

b
i (t + 1) = bi−1 (t), i 6= 0, 4, 10,





b0 (t + 1) = b15 (t) ⊕ a0 (t),





b4 (t + 1) = b3 (t) ⊕ b7 (t),



b10 (t + 1) = b9 (t) ⊕ (b13 (t) <<< 32),
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Конечные автоматы в криптографии
47
где ⊕ есть побитное сложение по mod 2, c <<< r — результат циклического сдвига
числа c на r разрядов влево, C1 = BB67AE8584CAA73B, C2 = 3C6EF372FE94F82B
и F (u, v) для u, v в A определяется как F (u, v) = π(µ(σ(u ⊕ v))), где σ — простая побайтная замена, µ — линейное преобразование (умножением на матрицу) и
π(B0 B1 . . . B7 ) = B4 B5 B2 B3 B0 B1 B6 B7 для последовательности байт B0 , B1 , . . . , B7 .
В качестве примера асинхронного конечно-автоматного ГКП рассмотрим генератор
KNOT [8]. Он представляет собой не инициализируемый ключом криптоавтомат Мура
C = <X, Q, Y, K0 , ψ, ϕ> с X = Y = {0, 1}, Q = {0, 1}128 , K0 = {0, 1}96 . В нём каждое
состояние q ∈ Q является булевым вектором с компонентами qij для всех ij ∈ I,
где I = {ij : i = 1, 2, . . . , 88, j = 0; i = 89, 90, 91, 92, j = 0, 1; i = 93, 94, j = 0, 1, 2, 3;
i = 95, j = 0, 1, . . . , 7; i = 96, j = 0, 1, . . . , 15}. Его каноническая система уравнений
имеет следующий вид:
(
y(t) = R8 (· · · R2 (R1 (q(t)))),
qij (t + 1) = fij (aij (t), bij (t), cij (t), dij (t)), ij ∈ I,
где Ri : {0, 1}ni−1 → {0, 1}ni для i = 1, 2, . . . , 8; n0 = 128, n1 = n2 = 64, n3 = n4 = 32,
n5 = n6 = 16, n7 = 8, n8 = 1; Ri (x0 x1 . . . xni−1 −1 ) = g(x6i x6i+3 x6i+1 x6i+2 ) для i = 1, 3, 5, 7,
Ri (x0 x1 . . . xni−1 −1 ) = g(x5i x6i+3 x5i+1 x5i+2 ) для i = 2, 4, 6 со сложением в индексах по
модулю ni и R8 (x0 x1 . . . x7 ) = x0 ⊕ x1 (x2 ⊕ 1) ⊕ 1;
fij ∈ {g, h}, ij ∈ I;
g(a, b, c, d) = a ⊕ b ⊕ c(d ⊕ 1) ⊕ 1, h(a, b, c, d) = a(b ⊕ 1) ⊕ c(d ⊕ 1);
aij (t), bij (t), cij (t), dij (t) ∈ {qij (t) : ij ∈ I} ∪ {k0 , k1 , . . . , k95 } ∪ {0, ct }, t > 1;
k0 k1 . . . k95 ∈ K0 и ct есть t-й символ шифртекста; t = 1, 2, . . .
3.2. К о м б а й н е р ы в г е н е р а т о р а х к л ю ч е в о г о п о т о к а
Комбайнер является обязательной составляющей всякого генератора ключевого
потока комбинирующего типа. С его помощью в таком генераторе несколько последовательностей символов «комбинируются» в некоторые другие (одну или более) посредством некоторого преобразования (функции). В этом смысле такая разновидность
генератора ключевого потока, как фильтрующий генератор, является по существу
комбайнером: в нём в одну комбинируются последовательности символов, снимаемых
с разрядов некоторого регистра. Далее фильтрующие генераторы рассматриваются не
отдельно от комбинирующих, но как их частный случай. В конечно-автоматном комбайнере символы всех последовательностей, участвующих в комбинировании, принадлежат обычно некоторому одному алфавиту A, а сам комбайнер представляет собой
автомат вида M = <An , Q, Am , ψ, ϕ>, где n > 2, m > 1.
Примером простейшего такого комбайнера служит последовательностный сумматор. В нём A = {0, 1}, Q = {0, 1, . . . , n − 1}, m = 1, ψ(x1 x2 . . . xn , q) = bσ/2c,
ϕ(x1 x2 . . . xn , q) = σ mod 2, где σ = x1 + x2 + . . . + xn + q.
В комбайнере M генератора Bluetooth [9] A = {0, 1}, n = 4, Q = {0, 1}4 , входной
символ и состояние являются булевыми векторами x = x1 x2 x3 x4 и q = q1 q2 q3 q4 соответственно, ϕ(x, q) = x1 ⊕ x2 ⊕ x3 ⊕ x4 ⊕ q3 и ψ(x, q) = (q3 , q4 , s1 ⊕ q1 ⊕ q2 ⊕ q3 , s2 ⊕ q1 ⊕ q4 ),
где s1 s2 есть двоичное представление числа b(x1 + x2 + x3 + x4 + q3 + 2q4 )/2c.
Комбайнер в ГКП VEST [10] представляет собой последовательное соединение двух
автоматов Мура M1 × M2 — линейного автомата M1 = <{0, 1}16 , {0, 1}10 , {0, 1}10 , δ, λ>,
в котором для входного символа x = x0 x1 . . . x15 и состояния q = d0 d1 . . . d9 выполня-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
48
Г. П. Агибалов
ются равенства
λ(q) = q, δ(x, q) = δ0 (x, q)δ1 (x, q) . . . δ9 (x, q),
δ0 (x, q) = d1 ⊕ x1 ⊕ x4 ⊕ x5 ⊕ x11 ⊕ x13 ,
δ1 (x, q) = d2 ⊕ x0 ⊕ x2 ⊕ x6 ⊕ x8 ⊕ x14 ,
δ2 (x, q) = d3 ⊕ x3 ⊕ x4 ⊕ x7 ⊕ x10 ⊕ x15 ,
δ3 (x, q) = d4 ⊕ x0 ⊕ x3 ⊕ x5 ⊕ x9 ⊕ x12 ,
δ4 (x, q) = d5 ⊕ x1 ⊕ x4 ⊕ x6 ⊕ x12 ⊕ x15 ⊕ 1,
δ5 (x, q) = d6 ⊕ x0 ⊕ x7 ⊕ x9 ⊕ x13 ⊕ x14 ,
δ6 (x, q) = d7 ⊕ x1 ⊕ x8 ⊕ x11 ⊕ x14 ⊕ x15 ,
δ7 (x, q) = d8 ⊕ x2 ⊕ x5 ⊕ x6 ⊕ x10 ⊕ x12 ⊕ 1,
δ8 (x, q) = d0 ⊕ x0 ⊕ x3 ⊕ x7 ⊕ x8 ⊕ x9 ⊕ 1,
δ9 (x, q) = d9 ⊕ x8 ⊕ x10 ⊕ x12 ⊕ x13 ⊕ x15 ⊕ 1,
и нелинейного автомата M2 = <{0, 1}10 , {0, 1}w , {0, 1}m , ψ, ϕ>, в котором для входного
символа x = d0 d1 . . . d9 и состояния q = q0 q1 . . . qw−1 имеют место равенства
ϕ(q) = ϕ0 (q)ϕ1 (q) . . . ϕm−1 (q),
ψ(q) = ψ0 (x, q)ψ1 (x, q) . . . ψw−1 (x, q),
ϕj (q) = qj0 ⊕ qj1 ⊕ . . . ⊕ qj5 , j = 0, 1, . . . , m − 1,
ψpi (x, q) = fi (q0 , q1 , q2 , q3 , q4 ) ⊕ di , 0 6 i < 5,
ψpi (x, q) = fi (qi0 , qi1 , qi2 , qi3 , qi4 ) ⊕ qi ⊕ di , 5 6 i < 10,
ψpi (x, q) = fi (qi0 , qi1 , qi2 , qi3 , qi4 ) ⊕ qi , 10 6 i < w,
для некоторых различных j0 , j1 , . . . , j5 в {0, 1, . . . , w − 1}, различных i0 , i1 , . . . , i4
в {0, 1, . . . , w − 1}, различных p0 , p1 , . . . , pw−1 в {0, 1, . . . , w − 1}, fi : {0, 1}5 → {0, 1}
и (w, m) ∈ {(83, 4), (211, 8), (331, 16), (587, 32)}.
4. Клеточные автоматы как компоненты криптосистем
Говорят, что задан клеточный автомат CA (сокращённо от Cellular Automaton),
если заданы:
1) натуральные l и r, такие, что l > r > 2, числа 1, 2, . . . , l суть номера ячеек в CA
и r — мощность окрестности любой его ячейки;
2) булева функция η : {0, 1}r × {0, 1} → {0, 1}, называемая функцией переходов
ячейки в CA;
3) для каждого i ∈ {1, 2, . . . , l} множество θ(i) = {i1 , i2 , . . . , ir } номеров i1 < i2 <
< · · · < ir всех ячеек в окрестности ячейки с номером i.
Состояниями ячейки в CA являются элементы множества {0, 1}, а состояниями
самого CA — элементы множества Q = {0, 1}l . Функцией переходов CA является
функция ψ : Q → Q, определяемая для любого состояния q1 q2 . . . ql как ψ(q1 q2 . . . ql ) =
= s1 s2 . . . sl ∈ Q, где si = η(qi1 qi2 ... qir , qi ) и {i1 , i2 , . . . , ir } = θ(i), i = 1, 2, . . . , l. Функции
ψ t : Q → Q, определяемые для всех натуральных t > 1 индукцией по t как ψ 1 = ψ и
ψ t+1 (q) = ψ(ψ t (q)) для любого q ∈ Q, называются операциями CA.
Клеточно-автоматный генератор псевдослучайной последовательности (ПСП)
строится на базе CA как некоторый автономный автомат M = <Q, Y, ψ, ϕ>, в котором
Q и ψ суть соответственно множество состояний и функция переходов CA, Y = {0, 1}m ,
ϕ : Q → Y , ϕ(q1 . . . ql ) = qj1 . . . qjm для некоторых m > 1 и 1 6 j1 < · · · < jm 6 l.
Синхронный клеточно-автоматный ГКП [11] в общем случае является некоторым
автономным криптоавтоматом C = <Q, Y, K, ψ, ϕ>, где Q и ψk для каждого k ∈ K =
= Q0 × K0 суть соответственно множество состояний и функция переходов некоторого CA. В частном случае криптоавтомат C здесь может быть не инициализируемым по
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Конечные автоматы в криптографии
49
ключу или иметь чисто инициализирующий ключ, а алфавит Y и функции ϕk , k ∈ K,
в нём — такими же, как Y и ϕ в генераторе ПСП.
Бесключевые хеш-функции вида f : {0, 1}∗ → {0, 1}m строят обычно по следующей
общей схеме. Подлежащий хешированию текст α ∈ {0, 1}∗ предварительно расширяют
до длины, кратной некоторому числу n, и разбивают на блоки длины n, представляя
его, таким образом, конкатенацией P1 P2 . . . PN блоков разбиения. Затем, выбрав некоторое H0 ∈ {0, 1}m и применяя некоторую функцию h : {0, 1}n × {0, 1}m → {0, 1}m ,
называемую функцией сжатия, выполняют итеративно вычисления
Hi = h(Pi , Hi−1 ), i = 1, 2, . . . , N − 1,
после чего полагают f (α) = g(HN ) для некоторой функции g : {0, 1}m → {0, 1}m , называемой функцией выхода.
Разные хеш-функции получаются по этой схеме с разными функциями сжатия и
выхода. В схемах для построения клеточно-автоматных хеш-функций [12] процедуры,
определяющие функции сжатия и выхода, наряду с другими (логическими и арифметическими) операциями используют операции CA.
5. Конечно-автоматные симметричные шифры
5.1. П у р п у р н а я м а ш и н а
Японская шифровальная машина времён Второй мировой войны Angooki Taipu,
известная в криптографии под названием Purple (пурпурная), является, по-видимому,
первым шифром, построенным на конечных автоматах. И хотя в ту пору понятия конечного автомата ещё не существовало, и первое представление о нём как о дискретном
преобразователе с конечным числом возможных состояний, применимом в качестве
схем кодирования и декодирования информации, появилось только в 1948 г. в знаменитой статье Клода Шеннона [13], а современные источники (см., например, [14]) подают эту машину по-прежнему на архаичном языке, — несмотря на всё это, адекватное
и значительно более простое описание машины Purple возможно именно в конечноавтоматных терминах, более близких современному специалисту.
Схема шифрования машины Purple изображена на рис. 1.
В ней, кроме входной и выходной коммутационных панелей для простой замены
символов открытого текста и символов шифртекста соответственно, центральное место занимают блоки L, M , R, S и stepping, являющиеся конечными криптоавтоматами,
причём L = M = R. Первые четыре криптоавтомата имеют чисто инициализирующие ключи и выступают в роли автоматов-преобразователей, а последний (stepping)
является комбинационным криптоавтоматом и служит в роли управляющего автомата, определяющего порядок смены состояний в первых трёх. В автоматах L, M ,
R, S состояниями являются целые 0, 1, . . . , 24, и в каждом из них состояние q под
действием входного символа может либо сохраниться, либо измениться к состоянию
q+1 mod 25. В зависимости от ключа шифра криптоавтоматы L, M , R подразделяются на «быстрый» — f , «средний» — m и «медленный» — s. Криптоавтомат S изменяет
своё состояние под действием каждого входного символа, а среди криптоавтоматов L,
M , R это делает только один, выбираемый управляющим криптоавтоматом stepping в
зависимости от состояний S и «среднего» так, что «быстрый» изменяет своё состояние
всякий раз за исключением следующих двух случаев:
1) если S находится в состоянии 24, то состояние меняет «средний»;
2) если S в состоянии 23, а «средний» — в 24, то состояние меняет «медленный».
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
50
Г. П. Агибалов
Рис. 1. Шифрование в Purple
Соответственно этому все каналы связи между компонентами машины подразделяются на информационные и управляющие. По первым передаются символы латинского алфавита, являющегося алфавитом шифра, а по вторым — символы состояний
(от L, M , R, S к stepping) и логические 0, 1 (от stepping к L, M , R). Последние два
символа взяты нами произвольно для обозначения управляющих команд «сохранить
состояние», «изменить состояние» соответственно. По информационным каналам, связанным с автоматом S, передаются гласные латинские буквы, а по информационным
каналам, связанным с L, M , R, — согласные латинские буквы.
Функция информационного выхода каждого автомата-преобразователя при любой
фиксации его состояния и символа управляющего входа, если он есть, является некоторой биекцией на соответствующем информационном алфавите (составленном из букв
на информационных каналах этого автомата).
Перейдём теперь к формальному описанию всех перечисленных криптоавтоматов
в машине Purple.
Каждый из криптоавтоматов C ∈ {L, M, R, S} имеет вид C = <XC , Q, Q0 , YC , ψC ,
ϕC >, где Q0 = Q = Z25 ; XS = A6 = {A, E, I, O, U, Y} — множество латинских гласных,
YS = A6 ×Q; XC = A20 ×{0, 1}, YC = A20 ×Q, где A20 = ({A, B,. . . , Z}\A6 ) — множество
латинских согласных, — для C ∈ {L, M, R};
(
q, если C ∈ {L, M, R}, x = a0 и a ∈ A20 ,
ψC (x, q) =
q + 1 mod 25 в противном случае, т. е. если C = S, либо x = a1 и a ∈ A20 ;
(
(δ(a, q), q), если C ∈ {L, M, R}, x = au ∈ XC и q ∈ Q,
ϕC (x, q) =
(ε(x, q), q), если C = S, x ∈ XS и q ∈ Q,
для некоторых функций δ : A20 × Q → A20 и ε : A6 × Q → A6 , таких, что для всех q ∈ Q
функции δq : A20 → A20 и εq : A6 → A6 суть различные биекции.
В комбинационном криптоавтомате stepping <X, Y, K, ϕ>: X = Q4 , Y = {001,
010, 100}, K = {f ms, f sm, mf s, msf, sf m, smf },
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Конечные автоматы в криптографии
51


001, если k = f ms, qM = 24, qS = 23; k = f sm, qS = 24;




k = mf s, qL = 24, qS = 23;





k = msf, qS 6= 24 и (qL , qS ) 6= (24, 23);





k = sf m, qS = 24; k = smf, qs 6= 24 и (qM , qS ) 6= (24, 23);





010, если k = f ms, qS = 24; k = f sm, qR = 24, qS = 23;




k = mf s, qS 6= 24 и (qL , qS ) 6= (24, 23);
ϕ(k, qL qM qR qS ) =

k = msf, qL = 24, qS = 23;





k = sf m, qs 6= 24 и (qR , qS ) 6= (24, 23); k = smf, qS = 24;




100, если k = f ms, qS 6= 24 и (qM , qS ) 6= (24, 23);





k = f sm, qS 6= 24 и (qR , qS ) 6= (24, 23);





k = mf s, qS = 24; k = msf, qS = 24;




k = sf m, qR = 24, qs = 23; k = smf, qM = 24, qS = 23.
Расшифрование в машине Purple выполняется по схеме, которая получается из
схемы на рис. 1 поворотом стрелок на информационных каналах в противоположную
сторону и заменой автоматов L, M, R, S обратными (на информационных каналах) автоматами L−1 , M −1 , R−1 , S −1 соответственно, получаемыми из первых заменой функций δ и ε функциями δ 0 и ε0 соответственно, где для σ ∈ {δ, ε} функция σ 0 определяется
как σ 0 (x, q) = y, если σ(y, q) = x.
5.2. Ш и ф р З а к р е в с к о г о
Как другой пример симметричного конечно-автоматного шифра рассмотрим
шифр, предложенный А. Д. Закревским в рукописи от 1959 г., опубликованной впервые
в [15]. В наших терминах шифр Закревского является инициализируемым по ключу
криптоавтоматом C = <X, Q, Y, K, ψ, ϕ>, в котором множество ключей K = Q × K0
таково, что Υ = {Ck = <X, Q, Y, ψk , ϕk > : k ∈ K} есть множество всех сильносвязных автоматов с фиксированными алфавитами X, Q, Y и биективными функциями
ϕkq : X → Y , определяемыми при любых k ∈ K и q ∈ Q как ϕkq (x) = ϕ(k, x, q) для всех
x ∈ X. На ключе k = (q0 , k0 ) ∈ K сообщение α ∈ X ∗ зашифровывается автоматом Ck
из «ключевого» (определяемого ключом k) начального состояния q0 ∈ Q в криптограмму β = ϕ̄k (α, q0 ) ∈ Y ∗ , которая расшифровывается в сообщение α = ϕ̄0k (β, q0 )
автоматом Dk = <Y, Q, X, ψk0 , ϕ0k >, где функции ψk0 и ϕ0k определяются по правилу:
если ψk (x, q) = s и ϕk (x, q) = y, то ψk0 (y, q) = s и ϕ0k (y, q) = x для всех x ∈ X, y ∈ Y ,
q ∈ Q.
Пусть в C здесь |X| = |Y | = m и |Q| = n. Тогда непосредственно подсчитывается,
что |Υ| > n(m−1)n nm! .
Два ключа k и k 0 в K называются эквивалентными, если автоматы Ck , Ck0 в Υ
осуществляют одно и то же отображение из X ∗ в Y ∗ из своих «ключевых» начальных
соостояний q0 , q00 ∈ Q соответственно, т. е. если ϕ̄k,q0 = ϕ̄k0 ,q00 . Обозначим κ количество
всех классов эквивалентности ключей в K, или, что то же самое, число всех попарно
неэквивалентных ключей рассматриваемого шифра.
(mn)mn
.
Теорема 1. κ 6
(n − 1)!
Доказательство. Автомат с m входными символами, n состояниями и r выходными символами называется (m, n, r)-автоматом. Пусть далее Cm,n,r есть класс всех
сильно-связных приведенных и попарно не эквивалентных (m, l, r)-автоматов с общим
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
52
Г. П. Агибалов
входным алфавитом, с общим выходным алфавитом и с l состояниями 1, 2, . . . , l для
всевозможных l 6 n. Имеем: κ 6 n · |Cm,n,m |. Оценим число |Cm,n,r |. Для этого установим некоторые вспомогательные предложения.
Для автомата M = <X, Q, Y, ψ, ϕ> и биекции h : Q → Q определим автомат
hM = <X, Q, Y, ψ 0 , ϕ0 >, где ∀x ∈ X∀q ∈ Q(ψ 0 (x, hq) = hψ(x, q) ∧ ϕ0 (x, hq) = ϕ(x, q)).
Назовём его изоморфным по состояниям автомату M (при изоморфизме h). По определению, hM получается из M перестановкой состояний в соответствии с h, а именно: на месте q в M стоит hq в hM . Индукцией по |α| непосредственно проверяется,
что ∀α ∈ X ∗ ∀q ∈ Q(ψ 0 (α, hq) = hψ(α, q) ∧ ϕ0 (α, hq) = ϕ(α, q)), откуда следует, что
состояние q в M и состояние hq в hM эквивалентны и, следовательно, M ∼ hM .
Из последнего также следует, что изоморфность по состояниям автоматов влечет
их эквивалентность и что приведенность M равносильна приведенности hM . Кроме того, для приведённого M и нетождественной h верно M 6= hM , так как иначе
∀α ∈ X ∗ ∀q ∈ Q(ϕ(α, hq) = ϕ0 (α, hq) = ϕ(α, q)), т. е. для каждого q ∈ Q состояния q и hq неотличимы в M , что при hq 6= q противоречит приведённости M . Это
утверждение, в свою очередь, влечёт следующее: h1 M 6= h2 M , если h1 6= h2 , так как
иначе h−1
2 h1 M = M . Обозначим I(M ) множество автоматов, изоморфных по состояниям автомату M при всевозможных изоморфизмах h : Q → Q. Если |Q| = n, то
количество последних равно n! и в силу последнего утверждения для приведённого
автомата M с n состояниями |I(M )| = n!. Наконец для автоматов M1 и M2 , не изоморфных по состояниям, I(M1 ) ∩ I(M2 ) = ∅, так как иначе для некоторого автомата
M ∈ I(M1 )∩I(M2 ) и некоторых изоморфизмов h1 и h2 будем иметь h1 M1 = M = h2 M2 ,
откуда h−1
2 h1 M1 = M2 и M2 изоморфен M1 .
Обозначим Rm,n,r множество всех сильносвязных приведённых и попарно не изоморфных по состояниям (m, l, r)-автоматов с общим входным алфавитом, с общим
выходным алфавитом и с l состояниями 1, 2, . . . , l для всевозможных l 6 n. Имеем:
Cm,n,r ⊆ Rm,n,r и |Cm,n,r | 6 |Rm,n,r |. Оценим последнее число. Для этого воспользуемся методом Э. Ф. Мура из [16]. Для любого (m, l, r)-автомата M с l 6 n определим (m, n, r)-автомат M 0 по следующим правилам: 1) если l = n, то M 0 = M ;
2) если l < n, то M 0 получается из M присоединением к M новых n − l состояний
l + 1, . . . , n и новых переходов: для каждого входного символа с выдачей некоторого
выходного — из состояния i в состояние i + 1 для i = l + 1, . . . , n − 1 и из состояния n в некоторое состояние в M . По определению, если M приведён, то приведён и
M 0 . В этом случае |I(M 0 )| = n!. Каждому автомату M ∈ Rm,n,r поставим в соответствие множество автоматов I(M 0 ). Ввиду приведенности и попарной неизоморфности
автоматов в Rm,n,r , разным автоматам в Rm,n,r будут тем самым сопоставлены непересекающиеся множества (m, n, r)-автоматов с n! автоматами в каждом. Следовательно,
n!|Rm,n,r | 6 (nr)mn — число всех (m, n, r)-автоматов с общими соответственно входны(nr)mn
. Таким образом,
ми, выходными и внутренними алфавитами. Отсюда |Rm,n,r | 6
n!
mn
(mn)
κ 6 n · |Cm,n,m | 6 n · |Rm,n,m | 6
.
(n − 1)!
Теорема 2. mn 6 κ.
Доказательство. Зафиксируем целые m, n > 2, алфавиты X, Y одной мощности — m, Q = {1, 2, . . . , n} и слово α = a1 a2 . . . an ∈ X n . Для любого β = b1 b2 . . . bn ∈ Y n
определим такой автомат Mβ = <X, Q, Y, ψ, ϕ> с биективными ϕq : X → Y для всех
q ∈ Q, в котором ψ(ai , i) = i + 1 для i = 1, 2, . . . n − 1, ψ(x, q) = 1 в остальных слу-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Конечные автоматы в криптографии
53
чаях и ϕ(ai , i) = bi для i = 1, 2, . . . n. Пусть Υα = {Mβ : β ∈ Y n }. По определению
ψ̄(α, 1) = 23 . . . n1 и автомат Mβ сильно связен. Следовательно, Υα ⊆ Υ. Кроме того,
если β 6= β 0 , то Mβ 6= Mβ 0 , состояние 1 в Mβ отличимо (входным словом α) от состояния 1 в Mβ 0 , и значит, автоматы Mβ и Mβ 0 в состоянии 1 осуществляют разные
отображения из X ∗ в Y ∗ . Осталось только заметить, что |Υα | = |{β : β ∈ Y n }| = mn .
6. Поточные и автоматные шифрсистемы
6.1. В в е д е н и е
Содержание этого раздела относится исключительно к теории последовательностного шифрования и имеет целью выяснение соотношения между симметричными поточными и конечно-автоматными шифрсистемами, в том числе самосинхронизирующимися с конечной задержкой. Излагаются результаты, полученные в 2006–2008 гг.
студентом И. В. Панкратовым в курсовой и дипломной работах, которые выполнены
им под руководством автора и опубликованы в [17 – 19].
Даются формальные определения симметричных поточных и автоматных шифрсистем и задаваемых ими последовательностных шифров. Показываются неотличимость поточных шифрсистем с неотличимыми генераторами ключевого потока и инъективность функции выходов автомата шифрования в автоматной шифрсистеме при
любой фиксации состояния автомата и ключа шифрсистемы. Устанавливается функциональная эквивалентность классов поточных и автоматных шифрсистем, а именно:
для каждой системы любого из этих классов существует система в другом классе,
которая задаёт то же семейство последовательностных шифров, что и первая. Даются конструктивное и дескриптивное определения самосинхронизирующейся с задержкой поточной шифрсистемы и показывается их равносильность. Первое определение предполагает самосинхронизируемость с задержкой криптоавтомата ключевого
потока системы при каждом значении её ключа, а второе — самосинхронизируемость
с задержкой каждого последовательностного шифра, задаваемого этой шифрсистемой. Определяются регистр сдвига как автомат с конечной входной памятью, регистр
сдвига с ключом и регистровая шифрсистема как частный случай самосинхронизирующейся поточной шифрсистемы. Показываются сильная неотличимость сильносвязного самосинхронизирующегося автомата Мура от регистра сдвига и неотличимость
от регистровой шифрсистемы любой поточной шифрсистемы с сильносвязным генератором ключевого потока при каждом значении ключа. Определяется самосинхронизирующаяся с задержкой автоматная шифрсистема и показывается, что регистровыми
шифрсистемами исчерпываются с точностью до неотличимости и все автоматные самосинхронизирующиеся шифрсистемы с сильносвязными на каждом ключе автоматами
шифрования.
Понятие последовательностного шифра определяется следующим образом.
Определение 1. Последовательностным шифром называется набор из пяти
объектов S = <X, Y, K, f, g>, где X, Y и K — конечные множества, называемые соответственно входным алфавитом, выходным алфавитом и ключевым пространством,
f и g — функции, f : X ∗ × K → Y ∗ , g : Y ∗ × K → X ∗ , называемые функциями соответственно шифрования и расшифрования и связанные отношением обратимости
∀α ∈ X ∗ ∀β ∈ Y ∗ ∀k ∈ K[f (α, k) = β ⇒ g(β, k) = α].
Последовательностные шифры с общей функцией шифрования считаются равными.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
54
Г. П. Агибалов
6.2. П о т о ч н ы е ш и ф р с и с т е м ы
Определение 2. Назовём поточной шифрсистемой набор из шести объектов
ΣS = <X, Y, K, G, e, d>, где G = <Y, Q, Z, K, ψ, ϕ> — свободно инициализируемый
криптоавтомат, называемый генератором ключевого потока (ГКП), такой, что любая
его проекция Gk , k ∈ K, есть автомат Мура, e : X ×Z → Y и d : Y ×Z → X суть правила соответственно шифрования и расшифрования одного символа (открытого текста
и шифртекста) с помощью одного символа ключевого потока, связанные отношением
обратимости
∀z ∈ Z∀x ∈ X∀y ∈ Y [e(x, z) = y ⇒ d(y, z) = x].
Введём для ΣS функции ē : Q × X ∗ × K → Y ∗ и d¯: Q × Y ∗ × K → X ∗ , называемые алгоритмами соответственно шифрования (открытого текста) и расшифрования
(шифртекста), которые по ключу k ∈ K и начальному состоянию q0 ∈ Q определяются
по следующим формулам:
ē(q0 , Λ, k) = Λ,


 zt = ϕk (qt ),
yt = e(xt , zt ), t = 0, 1, . . . , n − 1;
ē(q0 , x0 x1 . . . xn−1 , k) = y0 y1 . . . yn−1 , где


qt+1 = ψk (yt , qt ),
¯ 0 , Λ, k) = Λ,
d(q


 zt = ϕk (qt ),
¯ 0 , y0 y1 . . . yn−1 , k) = x0 x1 . . . xn−1 , где
xt = d(yt , zt ), t = 0, 1, . . . , n − 1.
d(q

 q = ψ (y , q ),
t+1
k t t
Эти уравнения проиллюстрированы схемами на рис. 2 и 3, где D обозначает элемент задержки на единицу дискретного времени. В них последовательности q0 q1 . . . и
z0 z1 . . . называются соответственно последовательностью состояний и ключевым потоком, или гаммой, вырабатываемыми в ГКП G из начального состояния q0 при заданном
ключе k под воздействием входного слова y0 y1 . . .
Рис. 2. Схема алгоритма шифрования в поточной шифрсистеме
По определению функций ē и d¯ легко проверить, что при любых G, q ∈ Q, e и d,
где e и d связаны отношением обратимости, пятерка Sq (ΣS ) = <X, Y, K, ēq , d¯q >, где
¯ β, k) для
ēq : X ∗ × K → Y ∗ , d¯q : Y ∗ × K → X ∗ и ēq (α, k) = ē(q, α, k), d¯q (β, k) = d(q,
∗
∗
всех k ∈ K, α ∈ X и β ∈ Y , будет последовательностным шифром. Множество
S(ΣS ) = {Sq (ΣS ) | q ∈ Q} всех таких шифров называется далее семейством последовательностных шифров, задаваемых шифрсистемой ΣS .
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Конечные автоматы в криптографии
55
Рис. 3. Схема алгоритма расшифрования в поточной шифрсистеме
Определение 3. Поточную шифрсистему ΣS = <X, Y, K, G, e, d> будем называть неотличимой от поточной шифрсистемы Σ0S = <X, Y, K, G0 , e0 , d0 >, где G =
= <Y, Q, Z, K, ψ, ϕ> и G0 = <Y, Q0 , Z 0 , K, ψ 0 , ϕ0 >, если выполняется следующее
условие:
∀k ∈ K∀q ∈ Q∃q 0 ∈ Q0 ∀α ∈ X ∗ [ēq (α, k) = e¯0q0 (α, k)].
Заметим, что неотличимость двух поточных шифрсистем друг от друга в этом
смысле вовсе не означает равенства семейств задаваемых ими последовательностных
шифров. Это было бы так, если бы вместо неотличимости рассматриваемых шифрсистем речь шла об их сильной неотличимости, где ΣS сильно неотличима от Σ0S , если
выполнено условие
∀q ∈ Q∃q 0 ∈ Q0 ∀k ∈ K∀α ∈ X ∗ [ēq (α, k) = e¯0q0 (α, k)].
Последнее отличается от предыдущего только порядком применения кванторов и означает как раз включение S(ΣS ) ⊆ S(Σ0S ). Поскольку для любого предиката P (a, b) из
∃a∀bP (a, b) следует ∀b∃aP (a, b), но не наоборот, то сильная неотличимость (∼
=) шифрсистем влечёт их неотличимость (≈), а обратного может не быть. Таким образом,
S(ΣS ) = S(Σ0S ) ⇔ (ΣS ∼
= Σ0S ) и S(ΣS ) = S(Σ0S ) ⇒ (ΣS ≈ Σ0S ).
Определение 4. Будем говорить, что ГКП G = <Y, Q, Z, K, ψ, ϕ> неотличим
от ГКП G0 = <Y, Q0 , Z, K, ψ 0 , ϕ0 >, если его проекция Gk на любом ключе k ∈ K сильно
неотличима [5] от аналогичной проекции G0k автомата G0 , т. е. каждое состояние в Gk
неотличимо от некоторого состояния в G0k .
Теорема 3. Пусть ΣS = <X, Y, K, G, e, d> и Σ0S = <X, Y, K, G0 , e, d> — две шифрсистемы с разными ГКП G и G0 . Тогда если G неотличим от G0 , то и ΣS неотличима
от Σ0S .
Доказательство. Пусть G = <Y, Q, Z, K, ψ, ϕ>, G0 = <Y, Q0 , Z, K, ψ 0 , ϕ0 >. Возьмём произвольные k ∈ K, q0 ∈ Q, α = x0 x1 . . . xn−1 ∈ X ∗ и состояние q00 ∈ Q0 , неотличимое от q0 ∈ Q.
Будем иметь


 zt = ϕk (qt ),
yt = e(xt , zt ), t = 0, 1, . . . , n − 1;
ē(q0 , x0 x1 . . . xn−1 , k) = y0 y1 . . . yn−1 , где

 q = ψ (y , q ),
t+1
k t t
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
56
Г. П. Агибалов



zt0 = ϕ0k (qt0 ),
0
yt0 = e0 (xt , zt0 ), t = 0, 1, . . . , n − 1.
ē0 (q00 , x0 x1 . . . xn−1 , k) = y00 y10 . . . yn−1
, где

 q 0 = ψ 0 (y 0 , q 0 ),
k t t
t+1
Индукцией по t убедимся в равенстве yt = yt0 для каждого t = 0, 1, . . . , n − 1.
База индукции: t = 0. Имеем: z0 = ϕk (q0 ) = ϕ0k (q00 ) = z00 , y0 = e(x0 , z0 ) = e(x0 , z00 ) =
= y00 .
0
Предположение индукции: y0 y1 . . . yt−1 = y00 y10 . . . yt−1
для некоторого t, n > t > 1.
Шаг индукции. Ввиду неотличимости состояний ψk (y0 y1 . . . yt−1 , q0 ) и ψk0 (y0 y1
. . . yt−1 , q00 ), следующей из неотличимости q0 и q00 , можно записать zt = ϕk (qt ) =
= ϕk (ψk (yt−1 , qt−1 )) = ϕk (ψk (y0 y1 . . . yt−1 , q0 )) = ϕ0k (ψk0 (y0 y1 . . . yt−1 , q00 )) = ϕ0k (ψk0 (y00 y10
0
0
0
)) = ϕ0k (qt0 ) = zt0 и yt = e(xt , zt ) = e(xt , zt0 ) = yt0 .
, qt−1
, q00 )) = ϕ0k (ψk0 (yt−1
. . . yt−1
0
.
Индуктивное заключение: y0 y1 . . . yn−1 = y00 y10 . . . yn−1
Следовательно, ē(q0 , α, k) = ē0 (q00 , α, k).
Ввиду произвольности k ∈ K, q0 ∈ Q, α ∈ X ∗ и определения 3 теорема доказана.
Таким образом, установлено, что при замене в шифрсистеме одного ГКП на другой,
неотличимый от него, получится шифрсистема, неотличимая от исходной.
6.3. А в т о м а т н ы е ш и ф р с и с т е м ы
Определение 5. Назовём автоматной шифрсистемой пятерку объектов
ΣA = <X, Y, K, E, D>, где E = <X, Q, Y, K, ψ, ϕ> и D = <Y, Q∗ , X, K, ψ ∗ , ϕ∗ > суть
свободно инициализируемые криптоавтоматы, называемые автоматами шифрования
и расшифрования соответственно, если для любого состояния q ∈ Q найдется такое
состояние q ∗ ∈ Q∗ , что пятерка Sqq∗ (ΣA ) = <X, Y, K, ϕ̄q , ϕ̄∗q∗ > будет последовательностным шифром, то есть
∀q ∈ Q∃q ∗ ∈ Q∗ ∀k ∈ K∀α ∈ X ∗ ∀β ∈ Y ∗ [ϕ̄q (α, k) = β ⇒ ϕ̄∗q∗ (β, k) = α].
Множество S(ΣA ) = {Sqq∗ (ΣA ) | q ∈ Q} называется далее семейством последовательностных шифров, задаваемых шифрсистемой ΣA .
Теорема 4. Функция выходов автомата шифрования автоматной шифрсистемы
при любых фиксированных значениях состояния и ключа инъективна как функция
одного аргумента — входного символа.
Доказательство. Пусть ΣA = <X, Y, K, E, D> есть автоматная шифрсистема с автоматами шифрования E = <X, Q, Y, K, ψ, ϕ> и расшифрования D =
= <Y, Q∗ , X, K, ψ ∗ , ϕ∗ >. Докажем, что при любых фиксированных значениях состояния q ∈ Q и ключа k ∈ K функция ϕqk : X → Y , определяемая для каждого x ∈ X
как ϕqk (x) = ϕ(k, x, q), инъективна.
Предположим противное: пусть для некоторых состояния q ∈ Q и ключа k ∈ K
∃x1 , x2 ∈ X[(x1 6= x2 ) & (ϕqk (x1 ) = ϕqk (x2 ))].
Тогда по определению автоматной шифрсистемы ΣA найдётся такое q ∗ ∈ Q∗ , что для
любых y1 и y2 в Y
ϕ̄q (k, x1 ) = y1 ⇒ ϕ̄∗q∗ (k, y1 ) = x1 , ϕ̄q (k, x2 ) = y2 ⇒ ϕ̄∗q∗ (k, y2 ) = x2 .
Здесь ϕ̄q (k, x1 ) = ϕqk (x1 ) и ϕ̄q (k, x2 ) = ϕqk (x2 ), поэтому y1 = y2 и, следовательно,
x1 = x2 , что не так.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Конечные автоматы в криптографии
57
Выше, в разд. 5.1 и 5.2, мы видели, что в самых первых шифрах на основе конечных автоматов (пурпурная машина и шифр Закревского) использовались обратимые
автоматы с функциями выходов, биективными в каждом состоянии. Теорема 4 говорит
о том, что других обратимых автоматов не бывает. Вместе с тем ниже (в разд. 7) мы
увидим, что конечно-автоматные шифры можно строить и на автоматах, обратимых
с конечной задержкой, в которых функция выходов не обязана быть инъективной по
входной переменной.
6.4. Р а в н о с и л ь н о с т ь п о т о ч н ы х и а в т о м а т н ы х ш и ф р с и с т е м
Определение 6. Две шифрсистемы (поточные или автоматные) называются эквивалентными, если они задают одно и то же семейство последовательностных шифров (в предположении о равенстве последних с одной и той же функцией шифрования). Два класса шифрсистем (поточных или автоматных) равносильны, если каждая
шифрсистема любого из них эквивалентна некоторой шифрсистеме другого.
Теорема 5. Классы поточных и автоматных шифрсистем равносильны.
Доказательство. Докажем сначала, что каждая поточная шифрсистема эквивалентна некоторой автоматной шифрсистеме. Для этого возьмем произвольную
поточную шифрсистему ΣS = <X, Y, K, G, e, d>, где G = <Y, Q0 , Z, K, ψ 0 , ϕ0 >, и
построим автоматную шифрсистему ΣA = <X, Y, K, E, D>, где криптоавтоматы
E = <X, Q, Y, K, ψ, ϕ> и D = <Y, Q∗ , X, K, ψ ∗ , ϕ∗ > определяются соотношениями
Q = Q∗ = Q0 ,
ψ(k, x, q) = ψ 0 (k, e(x, ϕ0k (q)), q), ϕ(k, x, q) = e(x, ϕ0k (q)),
ψ ∗ (k, y, q ∗ ) = ψ 0 (k, y, q), ϕ∗ (k, y, q ∗ ) = d(y, ϕ0k (q)).
Непосредственно проверяется, что
∀q ∈ Q[(ēq = ϕ̄q ) & (d¯q = ϕ̄∗q )].
Следовательно, Sq (ΣS ) = Sqq∗ (ΣA ) и S(ΣS ) = S(ΣA ). Этим доказано, что поточная
шифрсистема ΣS эквивалентна автоматной шифрсистеме ΣA .
Теперь докажем обратное, а именно: любая автоматная шифрсистема эквивалентна некоторой поточной шифрсистеме. Для этого возьмем произвольную автоматную шифрсистему ΣA = <X, Y, K, E, D>, где E = <X, Q, Y, K, ψ, ϕ> и
D = <Y, Q∗ , X, K, ψ ∗ , ϕ∗ >, и построим поточную шифрсистему ΣS = <X, Y, K, G, e, d>,
где операции e, d и криптоавтомат G = <Y, Q0 , Z, K, ψ 0 , ϕ0 > определяются соотношениями
Q0 = Q, Z = Q × K,
e(x, z) = e(x, (q, k)) = ϕ(k, x, q), d(y, z) = d(y, (q, k)) = ϕ−1
qk (y),
0
ψ 0 (k, y, q) = ψ(k, (d(y, (q, k)), q)) = ψ(k, (ϕ−1
qk (y), q)), ϕ (k, y, q) = (q, k),
где функция ϕ−1
qk (y) является обратной к функции ϕqk (x). Она существует в силу инъективности последней по теореме 4.
Непосредственно проверяется, что
∀z ∈ Z∀x ∈ X∀y ∈ Y [e(x, z) = y ⇒ d(y, z) = x],
∀q ∈ Q[ϕ̄q = ēq & ϕ̄∗q = d¯q ].
Следовательно, Sqq∗ (ΣA ) = Sq (ΣS ) и S(ΣA ) = S(ΣS ). Этим доказано, что автоматная шифрсистема ΣA эквивалентна поточной шифрсистеме ΣS .
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
58
Г. П. Агибалов
6.5. С а м о с и н х р о н и з и р у ю щ и е с я п о т о ч н ы е ш и ф р с и с т е м ы
Определение 7. Назовём автомат A = <X, Q, Y, ψ, ϕ> самосинхронизирующимся с задержкой τ , если выполняется условие
∀q ∈ Q∀α, α0 ∈ X ∗ ∀α̃ ∈ X τ ∀ξ ∈ X ∗ [ϕ̄(ξ, ψ(αα̃, q)) = ϕ̄(ξ, ψ(α0 α̃, q))].
Содержательно это определение можно объяснить так: «В каком бы состоянии q
автомат A ни находился, какую бы последовательность (α или α0 ) входных символов в него ни подали, его выходная последовательность после подачи в него любого
слова α̃ длиной τ будет определяться только этим словом, последующим входным
словом ξ и, может быть, начальным состоянием q». Иначе говоря, происходит следующее: автомат словами α или α0 переводится из состояния q в состояние ψ(α, q)
или ψ(α0 , q) соответственно; затем словом α̃ длиной τ — в состояние ψ(α̃, ψ(α, q)) =
= ψ(αα̃, q) или ψ(α0 α̃, q) соответственно; после этого он будет вести себя одинаково
в обоих случаях (выдавая на входную последовательность ξ одну и ту же выходную),
т. е. синхронизируется словом α̃.
Определение 8. Последовательностный шифр S = <X, Y, K, f, g> называется
самосинхронизирующимся с задержкой τ , если выполняются следующие условия:
1) ∀β ∈ Y ∗ ∀k ∈ K |g(β, k)| = |β|,
2) для любых β, ζ, β 0 в Y ∗ , β̃ в Y τ , α, ξ, α0 , ξ 0 в X ∗ , α̃, α̃0 в X τ и k ∈ K, таких, что
|ξ| = |ξ 0 | = |ζ|, g(β β̃ζ, k) = αα̃ξ и g(β 0 β̃ζ, k) = α0 α̃0 ξ 0 , имеет место ξ = ξ 0 .
Содержательный смысл этого понятия аналогичен предыдущему. Если произвольным образом исказить часть исходного шифртекста β β̃ζ (заменив β на β 0 ), то при
расшифровании искажения распространятся не далее, чем на τ символов от последнего
искаженного символа.
Определение 9 (конструктивное). Назовём поточную шифрсистему ΣS =
= <X, K, Y, G, e, d > самосинхронизирующейся с задержкой τ , если при любом ключе
k ∈ K проекция Gk криптоавтомата G является самосинхронизирующимся автоматом
с задержкой τ .
Определение 10 (дескриптивное). Назовём поточную шифрсистему самосинхронизирующейся с задержкой τ , если все задаваемые ею последовательностные шифры являются самосинхронизирующимися с задержкой τ .
Будем предполагать далее, что в множестве Z любой рассматриваемой поточной
шифрсистемы ΣS нет различных эквивалентных символов, т. е. таких z и z 0 , что z 6= z 0 ,
но ∀x ∈ X[e(x, z) = e(x, z 0 )] и ∀y ∈ Y [d(y, z) = d(y, z 0 )]. Ввиду возможности замены
всех попарно эквивалентных символов гаммы одним из них без изменения результатов шифрования и расшифрования сообщений в системе данное предположение не
приводит к потере общности рассмотрения.
Теорема 6. Дескриптивное и конструктивное определения самосинхронизирующейся поточной шифрсистемы (без эквивалентных символов гаммы) равносильны —
определяют одно и то же множество шифрсистем.
Доказательство. Рассмотрим произвольную поточную шифрсистему ΣS =
= <X, Y, K, G, e, d> и её ГКП G = <Y, Q, Z, K, ψ, ϕ>. Требуется доказать равносильность следующих двух высказываний:
(Д) = «все последовательностные шифры, задаваемые системой ΣS , являются самосинхронизирующимися с задержкой τ »;
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Конечные автоматы в криптографии
59
(К) = «при любом ключе k ∈ K проекция Gk криптоавтомата G является самосинхронизирующимся автоматом с задержкой τ ».
Используем обозначения:
0
0
0
, β̃ = y0 y1 . . . yτ −1 , ζ = yτ yτ +1 . . . yl−1 ,
. . . y−1
y−m+1
β = y−n y−n+1 . . . y−1 , β 0 = y−m
α = x−n x−n+1 . . . x−1 , α̃ = x0 x1 . . . xτ −1 , α0 = x0−m x0−m+1 . . . x0−1 , α̃0 = x00 x01 . . . x0τ −1 ,
ξ = xτ xτ +1 . . . xl−1 , ξ 0 = x0τ x0τ +1 . . . x0l−1 ,
где yi , yi0 ∈ Y , xi , x0i ∈ X.
Докажем сначала, что (К) ⇒ (Д). Для этого нужно доказать следующие два предложения:
1) ∀q ∈ Q∀β ∈ Y ∗ ∀k ∈ K d¯q (β, k) = |β| ;
2) ∀q ∈ Q∀β, β 0 , ζ ∈ Y ∗ ∀β̃ ∈ Y τ ∀k ∈ K[(d¯q (β β̃ζ, k) = αα̃ξ) & (d¯q (β 0 β̃ζ, k) = α0 α̃0 ξ 0 ) ⇒
(ξ = ξ 0 )].
¯ Для доказательства втоПервое предложение следует из определения функции d.
0
∗
τ
рого возьмем произвольные q ∈ Q, β, β , ζ ∈ Y , β̃ ∈ Y , k ∈ K. Пусть для некоторых α, ξ, α0 , ξ 0 в X ∗ , α̃, α̃0 в X τ , таких, что |ξ| = |ξ 0 | = |ζ|, будет d¯q (β β̃ζ, k) = αα̃ξ
и d¯q (β 0 β̃ζ, k) = α0 α̃0 ξ 0 . Вычислим qτ = ψk (β β̃, q), qτ0 = ψk (β 0 β̃, q), γ = zτ zτ +1 . . . zl−1 =
0
= ϕ̄k (ζ, qτ0 ) = ϕ̄k (ζ, ψk (β 0 β̃, q)). В си= ϕ̄k (ζ, qτ ) = ϕ̄k (ζ, ψk (β β̃, q)) и γ 0 = zτ0 zτ0 +1 . . . zl−1
лу (К) имеет место ϕ̄k (ζ, ψk (β β̃, q)) = ϕ̄k (ζ, ψk (β 0 β̃, q)), поэтому γ = γ 0 и xi = d(yi , zi ) =
= d(yi , zi0 ) = x0i для i = τ, τ + 1, . . . , l − 1, т. е. ξ = ξ 0 . Таким образом, действительно
(К) ⇒ (Д).
Обратное следование (Д) ⇒ (К) докажем от противного. Предположим, что не
верно (К), то есть для некоторого ключа k ∈ K проекция Gk ГКП G не является
самосинхронизирующимся автоматом с задержкой τ , и следовательно,
ϕ̄k (ζ, ψk (β β̃, q)) 6= ϕ̄k (ζ, ψk (β 0 β̃, q))
для некоторых q ∈ Q, β, β 0 , ζ ∈ Y ∗ , β̃ ∈ Y τ . Пусть ϕ̄k (ζ, ψk (β β̃, q)) = zτ zτ +1 . . . zl−1
˜ q)) = z 0 z 0 . . . z 0 . Найдем такое t, что τ 6 t 6 l − 1 и
и ϕ̄k (ζ, ψk (yβ 0 yβ,
τ τ +1
l−1
0
zτ = zτ0 , zτ +1 = zτ0 +1 , . . . , zt−1 = zt−1
, zt 6= zt0 . Положим β0 = y−n y−n+1 . . . y−1+t−τ ,
β˜0 = yt−τ y1+t−τ . . . yτ −1+t−τ , ζ0 = yτ +t−τ yτ +1+t−τ . . . yl−1 и β00 = y−m y−m+1 . . . y−1+t−τ . Имеем: β0 β˜0 ζ0 = β β̃ζ, β00 β˜0 ζ0 = β 0 β̃ζ, ϕ̄k (ζ0 , ψk (β0 β˜0 , q)) = zt zt+1 . . . zl−1 , ϕ̄k (ζ0 , ψk (β00 β˜0 , q)) =
0
0
= zt0 zt+1
. . . zl−1
и zt 6= zt0 .
Тем самым показано, что существуют такие k ∈ K, q ∈ Q, β0 , β00 ∈ Y ∗ , β˜0 ∈ Y τ
и yt ∈ Y , что zt = ϕk (yt , ψk (β0 β˜0 , q)) 6= ϕk (yt , ψk (β00 β˜0 , q)) = zt0 , или с учётом того,
что Gk является автоматом Мура, zt = ϕk (qt ) 6= ϕk (qt0 ) = zt0 для qt = ψk (β0 β˜0 , q) и
qt0 = ψk (β00 β˜0 , q).
Пусть для любого y ∈ Y и некоторых α, α0 ∈ X ∗ , α̃, α̃0 ∈ X τ , x, x0 ∈ X
d¯q (β0 β˜0 y, k) = αα̃x, d¯q (β00 β˜0 y, k) = α0 α̃0 x0 .
Тогда по определению d¯ будет x = d(y, ϕk (qt )) = d(y, zt ) и x0 = d(y, ϕk (qt0 )) = d(y, zt0 ), а
в силу (Д) x = x0 . Таким образом, ∀y ∈ Y (d(y, zt ) = d(y, zt0 )), откуда ввиду взаимной
обратимости d и e следует ∀x ∈ X(e(x, zt ) = e(x, zt0 )), что противоречит отсутствию
в Z эквивалентных символов.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
60
Г. П. Агибалов
6.6. Р е г и с т р о в о с т ь с а м о с и н х р о н и з и р у ю щ и х с я к о н е ч н ы х
автоматов
Определение 11. Назовём автомат Мура R = <Y, Y τ , Z, σ, ρ> регистром сдвига длиной τ , если его функция переходов σ есть функция сдвига, определяемая для
β̃ = y1 y2 . . . yτ ∈ Y τ и y ∈ Y как σ(y, β̃) = y2 . . . yτ y.
Теорема 7. Всякий сильносвязный самосинхронизирующийся с задержкой τ
автомат Мура G = <Y, Q, Z, ψ, ϕ> эквивалентен некоторому регистру сдвига
R = <Y, Y τ , Z, σ, ρ> длиной τ .
Доказательство. Требуется построить функцию выходов ρ регистра R со следующим свойством:
∀q ∈ Q∃α̃ ∈ Y τ ∀β ∈ Y ∗ [ϕ̄(β, q) = ρ̄(β, α̃)].
Ввиду самосинхронизируемости с задержкой τ автомата G
∀q ∈ Q∀β, β 0 ∈ Y ∗ ∀β̃ ∈ Y τ ∀ζ ∈ Y ∗ [ϕ̄(ζ, ψ(β β̃, q)) = ϕ̄(ζ, ψ(β 0 β̃, q))],
откуда при ζ = Λ
∀q ∈ Q∀β, β 0 ∈ Y ∗ ∀β̃ ∈ Y τ [ϕ(ψ(β β̃, q)) = ϕ(ψ(β 0 β̃, q))].
Ввиду сильной связности G для любых q, s ∈ Q существует γ ∈ Y ∗ , что ψ(γ, q) = s.
Положим β = Λ, β 0 = γ. Тогда
∀q ∈ Q∀β̃ ∈ Y τ [ϕ(ψ(β̃, q)) = ϕ(ψ(γ β̃, q))],
а так как ϕ(ψ(β̃, q)) = ϕ(β̃, q) и ϕ(ψ(γ β̃, q)) = ϕ(ψ(β̃, ψ(γ, q))) = ϕ(ψ(β̃, s)) = ϕ(β̃, s),
то ∀q, s ∈ Q∀β̃ ∈ Y τ [ϕ(β̃, q) = ϕ(β̃, s)]. Последнее означает, что в G значение ϕ(β̃, q)
в действительности не зависит от состояния q, и можно оределить функцию ρ : Y τ → Z
как ρ(β̃) = ϕ(β̃, q) для любого β̃ ∈ Y τ и некоторого (любого) q ∈ Q.
Кроме того, из сильной связности G следует существование для каждого q ∈ Q
такого β 0 β̃ ∈ Y ∗ , что |β̃| = τ и ψ(β 0 β̃, q) = q. Определённое так для q ∈ Q некоторое
слово β̃ ∈ Y τ и рассматриваемое как состояние требуемого регистра R обозначим β̃q .
Теперь для доказательства теоремы достаточно показать, что для любых q ∈ Q
и β ∈ Y ∗ выполняется равенство ϕ̄(β, q) = ρ̄(β, β̃q ). Сделаем это индукцией по длине
слова β ∈ Y ∗ . Пусть q ∈ Q и β̃q = α̃. Тогда q = ψ(β 0 α̃, q) для некоторого β 0 ∈ Y ∗ .
База индукции: β = Λ. Имеем: ϕ̄(Λ, q) = ϕ(q) = ϕ(ψ(β 0 α̃, q)) = ϕ(α̃, ψ(β 0 , q)) =
= ρ(α̃) = ρ̄(Λ, α̃) = ρ̄(Λ, β̃q ).
Предположение индукции: ϕ̄(β, q) = ρ̄(β, β̃q ) для некоторого β ∈ Y ∗ .
Шаг индуции. Пусть y ∈ Y . Покажем, что ϕ̄(βy, q) = ρ̄(βy, β̃q ). Положим δ β̃ =
= β 0 α̃βy, где |β̃| = τ . Тогда, ввиду определения функции сдвига, β̃ = σ(δ β̃, β̃q )
и ϕ(βy, q) = ϕ(ψ(βy, q)) = ϕ(ψ(βy, ψ(β 0 α̃, q))) = ϕ(ψ(β 0 α̃βy, q)) = ϕ(ψ(δ β̃, q)) =
= ϕ(ψ(β̃, ψ(δ, q))) = ϕ(β̃, ψ(δ, q)) = ρ(β̃) = ρ(σ(δ β̃, β̃q )) = ρ(σ(β 0 α̃βy, β̃q )) =
= ρ(σ(βy, σ(β 0 α̃, β̃q ))) = ρ(σ(βy, α̃)) = ρ(βy, β̃q ). Поэтому ϕ̄(βy, q) = ϕ̄(β, q)ϕ(βy, q) =
= ρ(β, β̃q )ρ(βy, β̃q ) = ρ̄(βy, β̃q ), и шаг индукции доказан.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Конечные автоматы в криптографии
61
6.7. Р е г и с т р о в ы е ш и ф р с и с т е м ы
Определение 12. Назовём регистром сдвига длиной τ с ключом такой свободно
инициируемый криптоавтомат R = <Y, Y τ , Z, K, σ, ρ>, что для любого значения k ∈ K
его проекция Rk = <Y, Y τ , Z, σk , ρk > есть регистр сдвига длиной τ .
Определение 13. Назовем поточную шифрсистему ΣR = <X, K, Y, R, e, d> регистровой, если её ГКП R есть регистр сдвига с ключом. Длина регистра R называется
размерностью шифрсистемы.
Для регистровых шифрсистем алгоритм шифрования ē можно переписать в более
простой форме:
(
zt = ϕk (yt−τ yt−τ +1 . . . yt−1 ),
ē(q0 , x0 x1 . . . xn−1 , k) = y0 y1 . . . yn−1 , где
t = 0, 1, . . . , n − 1.
yt = e(xt , zt ),
Здесь q0 = y−τ y−τ +1 . . . y−1 .
Эти уравнения проиллюстрированы схемой на рис. 4.
Рис. 4. Схема регистровой шифрсистемы
Регистровая шифрсистема размерности τ является самосинхронизирующейся с задержкой τ по конструктивному определению. Ниже показывается, что в некоторой
степени справедливо и обратное.
6.8. Р е г и с т р о в о с т ь с а м о с и н х р о н и з и р у ю щ и х с я п о т о ч н ы х
шифрсистем
Теорема 8. Любая самосинхронизирующаяся с задержкой τ поточная шифрсистема ΣS = <X, Y, K, G, e, d>, у которой все проекции Gk ГКП G суть сильносвязные автоматы, неотличима от некоторой регистровой шифрсистемы ΣR =
= <X, Y, K, R, e, d> размерности τ .
Доказательство. Пусть G = <Y, Q, Z, K, ψ, ϕ>, k ∈ K и Gk = <Y, Q, Z, ψk , ϕk >.
По конструктивному определению самосинхронизирующейся системы ΣS следует,
что Gk есть сильносвязный самосинхронизирующийся автомат с задержкой τ . По
теореме 7 для него можно построить сильно неотличимый регистр сдвига Rk =
= <Y, Y τ , Z, σ, ρk > длиной τ . Возьмём функцию ϕ : K × Y × Y τ → Z, такую, что
ϕ(k, y, β̃) = ρk (β̃), и следовательно, зависящую от аргумента y ∈ Y фиктивно. Построим регистр сдвига с ключом R = <Y, Y τ , Z, K, σ, ϕ> и регистровую шифрсистему
ΣR = <X, Y, K, R, e, d> с регистром R в качестве ГКП.
По построению для любого ключа k ∈ K регистр Rk является проекцией регистра R и автомат Gk сильно неотличим от Rk . По определению 4 ГКП G неотличим
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
62
Г. П. Агибалов
от регистра R. Следовательно, по теореме 3 поточная шифрсистема ΣS неотличима от
регистровой шифрсистемы ΣR размерности τ .
Заметим, что в [6] под самосинхронизирующимися поточными шифрами понимаются именно регистровые шифрсистемы. Теорема 8 служит по существу теоретическим
обоснованием такого понимания.
6.9. С а м о с и н х р о н и з и р у ю щ и е с я а в т о м а т н ы е ш и ф р с и с т е м ы
Определение 14. Назовём автоматную шифрсистему ΣA = <X, Y, K, E, D>
самосинхронизирующейся с задержкой τ , если для её автомата расшифрования
D = <Y, Q∗ , X, K, ψ ∗ , ϕ∗ > выполняется следующее условие:
∀q ∗ ∈ Q∗ ∀β, β 0 , ζ ∈ Y ∗ ∀β̃ ∈ Y τ [ϕ̄∗k (ζ, ψk∗ (β β̃, q ∗ )) = ϕ̄∗k (ζ, ψk∗ (β 0 β̃, q ∗ ))].
Из определений 5, 8 и 14 непосредственно следует, что автоматная шифрсистема
является самосинхронизирующейся с задержкой τ , если и только если этим свойством
обладают все задаваемые ею последовательностные шифры.
Теорема 9. Любая самосинхронизирующаяся с задержкой τ автоматная шифрсистема ΣA = <X, Y, K, E, D>, у которой для каждого k ∈ K проекция Ek шифрующего автомата E = <X, Q, Y, K, ψ, ϕ> является сильносвязным автоматом, неотличима
от некоторой регистровой шифрсистемы ΣR = <X, K, Y, R, e, d> размерности τ .
Доказательство. Следуя доказательству теоремы 5, построим поточную шифрсистему ΣS = <X, Y, K, G, e, d>, эквивалентную шифрсистеме ΣA . Поскольку шифрсистемы ΣA и ΣS эквивалентны и шифрсистема ΣA является самосинхронизирующейся
с задержкой τ , то шифрсистема ΣS также является самосинхронизирующейся с задержкой τ .
Пусть E = <X, Q, Y, K, ψ, ϕ> и G = <Y, Q, Z, K, ψ 0 , ϕ0 >. Зафиксируем любое значение ключа k ∈ K и рассмотрим в ΣS проекцию Gk криптоавтомата G. По построению
в доказательстве теоремы 5 функция переходов ГКП G определяется как
ψ 0 (k, y, q) = ψ(k, (ϕ−1
qk (y), q)).
Соответственно этому функция переходов его проекции Gk определится как
ψk0 (y, q) = ψk (ϕ−1
qk (y), q).
Поскольку по теореме 4 функция ϕqk инъективна, то обратная ей функция
существует и сюрьективна. В этом случае для любых q1 , q2 ∈ Q, α ∈ X ∗ ,
0
β ∈ Y ∗ если ψk (α, q1 ) = q2 и ϕ̄k (α, q1 ) = β, то ϕ̄−1
k (β, q1 ) = α и ψk (β, q1 ) =
−1
= ψk (ϕ̄qk (β), q1 ) = ψk (α, q1 ) = q2 , и из сильной связности автомата Ek следует сильная
связность автомата Gk . Теперь по теореме 8 шифрсистема ΣS , а вместе с ней и шифрсистема ΣA , неотличима от некоторой регистровой шифрсистемы ΣR = <X, Y, K, R, e, d>
размерности τ .
ϕ−1
qk
7. Конечно-автоматные криптосистемы с открытым ключом
7.1. В в е д е н и е
Рассмотрим класс конечно-автоматных криптосистем с открытым ключом, известных под сокращённым названием FAPKC — Finite Automaton Public Key Cryptosystems [20]. В основе их теории лежит понятие автомата, слабо обратимого с конечной
задержкой τ . Так называется конечный автомат, в котором любое слово во входной
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Конечные автоматы в криптографии
63
последовательности однозначно определяется по соответствующим начальному состоянию и слову выходной последовательности и по следующим за этим словом τ выходным символам. Иначе говоря, входная информация автомата восстанавливается по
выходной с задержкой на τ тактов работы автомата, и эту операцию может выполнить
другой автомат, называемый обратным к первому.
В любой FAPKC закрытый ключ состоит из двух слабо обратимых автоматов, обратные к которым могут быть легко (с полиномиальной сложностью) построены, а
открытый ключ представляет собой последовательную композицию автоматов в закрытом ключе, обратный к которой автомат легко строится по автоматам, обратным
к её компонентам. Криптосистема может быть использована как для шифрования (открытым ключом) и расшифрования (автоматом, обратным к открытому ключу), так
и для подписания (этим автоматом) и для проверки подписи (открытым ключом).
Предполагая, что хотя бы одна из компонент в композиции нелинейная, ожидается,
что декомпозиция открытого ключа — с целью получения его закрытых компонент и
построение автомата, обратного к открытому ключу, — с целью дешифрования и подписания без знания закрытого ключа являются трудными задачами (экспоненциальной сложности). Следовательно, любой пользователь криптосистемы может зашифровывать сообщения или проверять подписи, используя открытый ключ, но не может
ни дешифровать криптограммы, ни подделать подписи без знания двух закрытых
компонент. Чтобы скрыть эти компоненты от их прочтения из открытой композиции,
предполагается последнюю выражать системой булевых функций, и тогда возникает
проблема обеспечения умеренного размера открытого ключа, так как размер системы
булевых функций композиции с нелинейной выходной компонентой может достигать
неприемлемо больших размеров.
В этом разделе после введения необходимых элементов теории автоматов описывается общая схема построения FAPKC, указываются параметры некоторых версий
FAPKC и в качестве примера приводится описание простейшей из них. Весь материал в нём, кроме примера, излагается по статье [20]. Изложение ведётся в стиле и
обозначениях, единых для всех разделов.
7.2. О б р а т и м о с т ь а в т о м а т о в
Пусть τ является целым неотрицательным числом. Конечный автомат M =
=<X, Q, Y, ψ, ϕ> называется слабо обратимым с задержкой τ , если
∀q ∈ Q∀δ, ε ∈ X τ ∀a, b ∈ X(a 6= b ⇒ ϕ̄(aδ, q) 6= ϕ̄(bε, q).
Наименьшее такое τ обозначается τ (M ). Поскольку других типов обратимости здесь
мы не рассматриваем, то всюду далее наречие «слабо» и производные от него прилагательные в соответствующем контексте опускаются. Автомат, обратимый с некоторой
задержкой τ > 0, называется обратимым автоматом. Автомат M 0 = <Y, Q0 , X, ψ 0 , ϕ0 >
называется обратным с задержкой τ к автомату M , если
∀q ∈ Q∃q 0 ∈ Q0 ∀α ∈ X ∗ ∀δ ∈ X τ ∃ε ∈ X τ (ϕ̄0 (ϕ̄(αδ, q), q 0 ) = εα);
в этом случае q 0 называется τ -соответствующим состоянию q, а пара (q, q 0 ) — τ -парой
в M × M 0 . Автомат, обратный к автомату M с некоторой задержкой, называется обратным к M .
7.3. К о м п о з и ц и я а в т о м а т о в
(Последовательной) композицией конечных автоматов M1 = <X, Q1 , Y, ψ1 , ϕ1 > и
M2 = <Y, Q2 , Z, ψ2 , ϕ2 > называется автомат M1 ×M2 = <X, Q1 ×Q2 , Z, ψ, ϕ>, в котором
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
64
Г. П. Агибалов
для любых x ∈ X, q1 ∈ Q1 и q2 ∈ Q2
ϕ(x, q1 q2 ) = ϕ2 (ϕ1 (x, q1 ), q2 ) и ψ(x, q1 q2 ) = (ψ1 (x, q1 ), ψ2 (ϕ1 (x, q1 ), q2 ));
в этом случае M1 и M2 называются соответственно первой и второй компонентами
в композиции M1 × M2 .
7.4. А в т о м а т ы с к о н е ч н о й п а м я т ь ю
Автомат M называется автоматом с конечной памятью, если Q = X h × Y k для
некоторых целых h, k > 0 и всех (x−h . . . x−1 x0 ) ∈ X h+1 и (y−k y−k+1 . . . y−1 ) ∈ Y k
ψ(x0 , x−h x−h+1 . . . x−1 y−k y−k+1 . . . y−1 ) =
= (x−h+1 . . . x−1 x0 y−k+1 . . . y−2 y−1 ϕ(x0 , x−h x−h+1 . . . x−1 y−k y−k+1 . . . y−1 ));
(1)
в этом случае числа µ(M ) = max(h, k), h и k называются соответственно памятью,
входной и выходной памятью автомата M , а функция f : X h+1 × Y k → Y , определяемая для всех (x−h . . . x−1 x0 ) ∈ X h+1 и (y−k y−k+1 . . . y−1 ) ∈ Y k как
f (x−h . . . x−1 x0 y−k y−k+1 . . . y−1 ) = ϕ(x0 , x−h x−h+1 . . . x−1 y−k y−k+1 . . . y−1 ),
(2)
— входо-выходной функцией автомата M . Непосредственно проверяется, что в таком
автомате для любого t > 0 и для любых q ∈ Q и x0 x1 . . . xt ∈ X t+1 имеет место
ϕ(x0 x1 . . . xt , q) = f (xt−h xt−h+1 . . . xt ϕ̄(xt−k xt−k+1 . . . xt−1 , ψ(x0 x1 . . . xt−k−1 , q))),
т. е. в любой момент времени t > 0 выходной символ yt = ϕ(x0 x1 . . . xt , q) автомата с конечной памятью вычисляется как значение его входо-выходной функции f от
входных символов xt−h , xt−h+1 , . . . , xt в этот и предыдущие h моментов времени и от набора yt−k yt−k+1 . . . yt−1 = ϕ̄(xt−k xt−k+1 . . . xt−1 , ψ(x0 x1 . . . xt−k−1 , q)) выходных символов
в предыдущие k моментов времени:
yt = f (xt−h xt−h+1 . . . xt yt−k yt−k+1 . . . yt−1 ), t = 0, 1, . . .
(3)
Уравнения (3) называются далее входо-выходными уравнениями автомата M . Выражение в правой части уравнения для t = 0 в них является выражением для f .
Соотношениями (1) и (2) функции ψ и ϕ определяются однозначно по f . Это
значит, что автомат M с конечной памятью может быть задан его входо-выходной
функцией f или входо-выходными уравнениями. В дальнейшем, где это не вызывает двусмысленности, мы пользуемся этой возможностью без дополнительных оговорок, отождествляя такой автомат M с его входо-выходной функцией f или обозначая
его как Mf = <X, Qf , Y, ψf , ϕf >. Полагаем, в частности, µ(f ) = µ(M ). Кроме того, в случае надобности указать параметры автомата f , последний записывается как
<X, Y, h, k, f >.
7.5. А в т о м а т ы с в х о д н о й п а м я т ь ю
Автомат с конечной памятью <X, Y, h, k, f > называется автоматом с входной памятью h, если его выходная память равна 0, т. е. если µ(f ) = h и, следовательно,
его входо-выходная функция является отображением f : X h+1 → Y . Входо-выходные
уравнения для него имеют вид
yt = f (xt−h xt−h+1 . . . xt ), t = 0, 1, . . .
(4)
h0 +1
Произведением автоматов f1 : X h+1 → Y и f2 : Y
→ Z называется автомат
0
h+h0 +1
f1 f2 : X
→ Z, в котором для любого набора α = x−h−h0 x−h−h0 +1 . . . x0 ∈ X h+h +1
f1 f2 (α) = f2 (f1 (x−h−h0 x−h−h0 +1 . . . x−h0 )f1 (x−h0 −h+1 x−h0 −h+2 . . . x−h0 −1 ) . . . f1 (x−h x−h+1 . . . x0 )).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
65
Конечные автоматы в криптографии
Теорема 10. Произведение f1 f2 и композиция f1 × f2 автоматов f1 и f2 с входной
памятью находятся в следующем отношении между собой [21]: любое состояние q =
0
= (x−h−h0 . . . x−2 x−1 ) ∈ X h+h = Qf1 f2 эквивалентно состоянию (q1 , q2 ) ∈ Qf1 × Qf2 , где
q1 = (x−h . . . x−2 x−1 ) ∈ X h = Qf1 ,
0
q2 = ϕ̄f1 (x−h0 . . . x−2 x−1 , x−h−h0 . . . x−h0 −2 x−h0 −1 ) ∈ X h = Qf2 .
Теорема 11. Автомат f : X h+1 → X обратим с задержкой τ , если и только если
∀q ∈ Qf (ϕ̄f (X τ +1 , q) = ϕ̄f (X τ , q) × X), где ∀k > 1(ϕ̄f (X k , q) = {ϕ̄f (α, q) : α ∈ X k }).
Теорема 12. Пусть автомат f = f : X h+1 → X обратим, автомат M 0 = <X,
Q0 , X, ψ 0 , ϕ0 > обратен к Mf с задержкой τ и (q, q 0 ) является τ -парой в Mf ×M 0 . Тогда Mf
обратен к M 0 с задержкой τ и τ -парой в M 0 ×Mf является (q10 , q), где q10 = ψ 0 (ϕ̄f (ξ, q), q 0 )
для произвольного ξ ∈ X τ .
Теорема 13. Пусть автомат f = f : X h+1 → X обратим, τ (f ) = τ , автомат M 0 =
= <X, Q0 , X, ψ 0 , ϕ0 > обратен к Mf с задержкой τ 0 , (q, q 0 ) является τ 0 -парой в Mf × M 0 ,
α = a0 a1 . . . an−1+τ , β = b0 b1 . . . bn−1+τ ∈ X n+τ , n > 0. Тогда уравнение ϕ̄f (α, q) = β
разрешимо относительно α, если и только если b0 b1 . . . bτ −1 ∈ ϕ̄f (X τ , q); в этом случае
0
слово a0 a1 . . . an−1 определяется обнозначно и ϕ̄0 (βζ, q 0 ) = ξα для любого ζ ∈ X τ и
0
некоторого ξ ∈ X τ .
Теорема 14. Для автоматов f1 , f2 с входной памятью автомат f = f1 f2 обратим,
если и только если обратим каждый из автоматов f1 , f2 ; в этом случае
τ (fi ) 6 τ (f ) 6 τ (f1 ) + τ (f2 ), i = 1, 2.
Теорема 15. Пусть автомат f = f : X h+1 → X обратим, τ (f ) 6 τ , Qf = X h ,
s ∈ X h−τ , α, β ∈ X n , ξ ∈ X τ . Тогда уравнение ϕ̄f (α, sξ) = β всегда имеет решение
ξα ∈ X τ +n . Более того, слово ξα ∈ X τ +n есть решение, если и только если ϕ̄f (ξα, as) =
= bβ для некоторых a ∈ X τ , b ∈ ϕ̄f (X τ , as).
Теорема 16. Пусть f = f1 f2 и состояние q ∈ Qf эквивалентно состоянию
(q1 , q2 ) ∈ Qf1 × Qf2 . Пусть также автомат M20 обратен к Mf2 с задержкой τ2 , ϕ02 —
его функция выходов и (q2 , q20 ) является τ2 -парой в Mf2 × M20 . Тогда α есть решение
уравнения ϕ̄f (α, q) = β, если и только если ϕ̄f1 (α, q1 ) = β 0 , где ζβ 0 = ϕ̄0 2 (βξ, q20 ) для
произвольного ξ ∈ X τ2 и некоторого ζ ∈ X τ2 .
Теорема 17. Пусть автомат M 0 = <X, Q0 , X, ψ 0 , ϕ0 > обратен с задержкой τ к автомату f и (s, s0 ) есть некоторая τ -пара в Mf × M 0 . Тогда для любого состояния q ∈ Qf
в Mf также τ -парой в Mf × M 0 будет (q, q 0 ), где q 0 = ψ 0 (ϕ¯f (ξq, s), s0 ) для произвольного
ξ ∈ X d , где d = 0, если h > τ , и d = τ − h, если τ > h.
Пусть далее для любого автомата M = <X, Q, Y, ψ, ϕ> и любого целого τ > 0
автомат M (τ ) = <X, Q × {0, 1, . . . , τ }, Y, ψ (τ ) , ϕ(τ ) > определяется как
(
(
(q,
i
+
1),
0
6
i
<
τ,
y0 ,
0 6 i < τ,
ψ (τ ) (x, (q, i)) =
ϕ(τ ) (x, (q, i)) =
(ψ(x, q), τ ), i = τ,
ϕ(x, q), i = τ
для некоторого y0 ∈ Y .
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
66
Г. П. Агибалов
Теорема 18. Пусть f1 , f2 — обратимые автоматы с входной памятью, f = f1 f2 и
для i = 1, 2 есть автомат, обратный к автомату Mfi с задержкой τi . Тогда автомат
0(τ )
M = M20 ×M1 2 является обратным с задержкой τ = τ1 +τ2 к автомату Mf . Более того,
пусть для произвольного состояния q автомата Mf пара (q1 , q2 ) обозначает состояние
автомата M = Mf1 × Mf2 , которое по теореме 10 эквивалентно q, и пусть (qi , qi0 ) есть
τi -пара в Mfi × Mi0 , i = 1, 2. Тогда (q, (q20 , (q10 , 0))) есть τ -пара в Mf × M 0 .
Mi0
0
Следствие 1. В условиях теоремы если каждое состояние в M эквивалентно
некоторому состоянию в Mf , то автомат M 0 обратен к автомату M с задержкой τ
и ((q1 , q2 ), (q20 , (q10 , 0))) является τ -парой в M × M 0 .
7.6. А в т о м а т ы с к о н е ч н о й п а м я т ь ю н а д к о н е ч н ы м п о л е м
Пусть F есть конечное поле, в частности F = GF (2), и l, m > 1. Предполагается,
что элементы в F l и F m записываются как вектор-столбцы. Будем рассматривать
автоматы с конечной памятью f : X h+1 × Y k → Y , в которых X = F l , Y = F m , и
называть их автоматами над полем F или в алфавите F l , если m = l. Их множество
обозначаем Υl,m (F ).
Множество всех матриц размера m×l над любым кольцом R обозначается Mm,l (R).
Тем самым определены, в частности, Mm,l (F [z]) и Mm,l (F ) — множества всех матриц
размера m × l над кольцом многочленов F [z] и над полем F соответственно.
Автомат f над F называется разделимым, или автоматом с разделимой памятью,
если для некоторых функций f1 : X h+1 → Y и f2 : Y k → Y , называемых компонентами
разделимости, и для любых наборов (x−h . . . x−1 x0 ) ∈ X h+1 и (y−k y−k+1 . . . y−1 ) ∈ Y k
f (x−h . . . x−1 x0 y−k y−k+1 . . . y−1 ) = f1 (x−h . . . x−1 x0 ) + f2 (y−k y−k+1 . . . y−1 );
в этом случае автомат Mf обозначается как Mf1 ,f2 .
Непосредственно проверяется, что автомат Mf1 ,f2 в алфавите F l обратим с задержкой τ , если и только если таковым является автомат Mf1 .
Если в автомате Mf = Mf1 ,f2
f1 (x−h . . . x−1 x0 ) =
h
X
j=0
Aj x−h+j , f2 (y−k y−k+1 . . . y−1 ) =
k
X
Bj y−k+j ,
j=1
где A0 , A1 , . . . , Ah и B1 , B2 , . . . , Bk суть матрицы в Mm,l (F ) и Mm,m (F ) соответственно,
то автомат Mf называется линейным.
7.7. А в т о м а т ы с в х о д н о й п а м я т ь ю н а д к о н е ч н ы м п о л е м
По определению, автомат над полем F с входной памятью h, с размерностью
входа l и с размерностью выхода m задаётся как f : X h+1 → Y , или как Mf =
= <X, Qf , Y, ψf , ϕf >, где X = F l , Y = F m , Qf = X h , ψf (x0 , x−h x−h+1 . . . x−1 ) =
= x−h+1 . . . x−1 x0 , ϕf (x0 , x−h x−h+1 . . . x−1 ) = f (x−h . . . x−1 x0 ). Множество всех таких автоматов обозначается =l,m (F ), а тех из них, которые обратимы, — =0l,m (F ). В линейном
P
автомате f ∈ =l,m (F ) имеем f (x−h . . . x−1 x0 ) = hj=0 Aj x−h+j для некоторых матриц
A0 , A1 , . . . , Ah в Mm,l (F ). Множество всех линейных (обратимых) автоматов в =l,m (F )
обозначается =Ll,m (F ) (соответственно =0 Ll,m (F )).
Каждой матрице A ∈ Mm,l (F [z]) можно поставить во взаимно однозначное соотPh
i
ветствие автомат f ∈ =Ll,m (F ) по следующему правилу. Пусть A =
i=0 Ai z для
некоторых матриц A0 , A1 , . . . , Ah в Mm,l (F ). Последние находятся по A однозначно:
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Конечные автоматы в криптографии
67
элемент в Ai для каждого i = 0, 1, . . . , h на пересечении строки a и столбца b равен
коэффициенту при z i в многочлене
на пересечении строки a и столбца b в матрице A.
P
Тогда f (x−h . . . x−1 x0 ) = hi=0 Ai x−i . Тем самым любой автомат в =Ll,m (F ) можно задать (отождествить с) соответствующей матрицей в Mm,l (F [z]). В дальнейшем, при
необходимости, мы это делаем без дополнительных оговорок. В частности, автомат
f (x−h . . . x−1 x0 ) = x0 задаётся тождественной матрицей I и записывается иногда как 1,
а автомат f (x−h . . . x−1 x0 ) = xi задаётся матрицей z i I и записывается иногда как z i .
Матрицы в Mn,m (F [z]) можно умножать на автоматы в =l,m (F ) для любых n, m, l.
Так, всякий автомат f = f (x−h . . . x−1 x0 )) ∈ =l,l (F ) может быть записан как f = CT ,
где C ∈ Ml,n (F [z]), T = (T1 T2 . . . Tn )t ∈ =l,n (F ), t — оператор транспонирования и
T1 , . . . , Tn суть некоторые различные мономы в переменных x−ij для i = 0, 1, . . . , h;
j = 1, 2, . . . , l. В случае F = GF (2) это представление f называется булевым выражением для f .
Обозначим GLl (R) группу всех обратимых матриц размера l × l над кольцом R.
Таким образом, определены группы GLl (F [z]) и GLl (F ). Любую ненулевую матрицу
B ∈ Ml,l (F [z]) известным алгоритмом преобразования к диагональной форме можно
разложить в произведение вида B = P DQ(1 − zA), где P ∈ GLl (F [z]), Q ∈ GLl (F ),
τ
A ∈ Ml,l (F [z])
Pτи D = diag(In0 , zIn1 , . . . , z Inτ , 0n ) — диагональная матрица размера l × l,
где n = l − i=1 ni , τ > 0, nτ > 0, ni > 0 для i < τ , Ini — тождественная матрица размера ni × ni и 0n — нулевая матрица размера n × n. Набор (n0 , n1 , . . . , nτ ) определяется
однозначно матрицей B и называется её структурным параметром. Число τ назовём
длиной параметра.
Теорема 19. Пусть B ∈ Ml,l (F [z]), B = P DQ(1 − zA) и τ — длина структурного
параметра B. Тогда:
1) автомат B обратим, если и только если det(B) 6= 0, или, равP
носильно, l = τi=0 ni ; в этом случае τ (B) = τ ; 2) если τ (B) = τ , то автомат MB 0 ,zA ,
где B 0 = Q−1 CP −1 и C = z τ D−1 , обратен к автомату B и (0, (0, 0)) является τ -парой
в MB × MB 0 ,zA .
Теорема 20. Пусть f = f (x−h . . . x−1 x0 ) ∈ =l,l (F ). Тогда автомат f обратим с задержкой 0, если и только если ϕP
fq : X → X является биекцией для каждого q ∈ Qf ;
где n > 1, Pi есть биекция
в этом случае f (x−h . . . x−1 x0 ) = ni=1 ci (x−h . . . x−1 )Pi (x0 ), P
на X, ci (x−h . . . x−1 ) ∈ {0, 1}, 0Pi (x0 ) = 0,
1Pi (x0 ) = Pi (x0 ) и ni=1 ci (x−h . . . x−1 ) = 1. БоP
лее того, пусть f 0 = f 0 (x0 y−h . . . y−1 ) = ni=1 ci (y−h . . . y−1 )Pi−1 (x0 ). Тогда Mf 0 ∈ Υl,l (F ),
автомат Mf 0 обратен к Mf с задержкой 0, Qf 0 = Qf и (q, q) является 0-парой в Mf ×Mf 0
для любого q ∈ Qf . В частности, обратимы с задержкой 0 все автоматы следующих трёх типов: 1) биекции на X; 2) 1 + zg для любого g ∈ =l,l (F ); 3) 1 + AgB, где
A, B ∈ Ml,l (F [z]), AB = BA = 0 и g ∈ =l,l (F ).
Обозначим =τl,m (F ) множество всех автоматов в =0l,m (F ), обратимых с задержкой τ .
Следующий результат показывает, что множество =τl,l (F ) замкнуто относительно операции сложения с автоматами вида z τ +1 g для g ∈ =l,l (F ). Для того чтобы увидеть,
как обратный к f + z τ +1 g соотносится с обратным к f , определяется (последовательная) композиция с обратной связью автоматов Mβ для β : X h+1 × Y k → Y и
M = <X, Q, Y, ψ, ϕ> как автомат Mβ ◦ M = <X, Qβ × Q, Y, ψ ◦ , ϕ◦ >, в котором для
любого состояния (s, q) ∈ Qβ × Q и любого входного символа x ∈ X
ϕ◦ (x, (s, q)) = ϕ(ϕβ (x, s), q), ψ ◦ (x, (s, q)) = (ψβ (ϕ◦ (x, (s, q)), s), ψ(ϕβ (x, s), q)).
Теорема 21. Пусть f ∈ =τl,l (F ) и автомат M 0 = <X, Q0 , X, ψ 0 , ϕ0 > обратен к Mf
с задержкой τ . Тогда справедливы следующие утверждения:
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
68
Г. П. Агибалов
1. f − z 1+τ g ∈ =τl,l (F ) для любого g ∈ =l,l (F ) и τ (f − z 1+τ g) = τ (f ).
2. Автомат Mt0 ,zτ +1 g ◦M 0 обратен к f −z 1+τ g с задержкой τ . Для любого состояния q
автомата f − z 1+τ g если (q, q 0 ) является τ -парой в Mf × M 0 , то (q, (q, q 0 )) является
τ -парой в Mf −z1+τ g ×(Mt0 ,zτ +1 g ◦M 0 ), где, естественно, q рассматривается и как состояние
в Mx0 ,zτ +1 g , и как состояние в Mf .
7.8. О б щ а я с х е м а F A P K C
Опишем общую схему FAPKC, в основном cледуя [20]. По этой схеме произвольная
криптосистема FPKC строится так.
Выбираются случайно такие два автомата f1 и f2 в =0l,l (F ), для которых можно
легко (за полиномиальное время) построить обратные к ним с некоторыми задержками τ1 и τ2 автоматы M10 и M20 соответственно. Строится f = f1 f2 по определению.
Выбирается также некоторый автомат g ∈ =l,l (F ). Пусть hi есть память автомата fi
для i = 1, 2; h = h1 + h2 ; τ = τ1 + τ2 ; k = µ(zg); M 0 является автоматом, обратным
0(τ )
с задержкой τ к автомату Mf . По теореме 18 M 0 = M20 ×M1 2 . Выбираются пары (q, r)
и (s, r1 ) в X h × X k для X = F l . В них q, s ∈ Qf . Применяя теоремы 20, 19, 17, 18 и 12,
строятся τ -пары (q, q 0 ) и (s0 , s) в Mf × M 0 и M 0 × Mf соответственно, и s записывается
как s = εσ, где ε ∈ X τ , σ ∈ X h−τ .
Ключи и криптоалгоритмы в FAPKC определяются следующим образом.
Открытый ключ: f, g, q, r, r1 , σ, τ .
Закрытый ключ: M 0 , q 0 , s0 .
Шифрование: для заданного открытого текста α ∈ X n выбирается случайно ξ ∈ X τ
и вычисляется шифртекст β = ϕ̄f +g (αξ, qr) ∈ X n+τ .
Расшифрование: открытый текст α ∈ X n находится из ζα = ϕ̄0 (ϕ̄1−zg (β, r), q 0 ) ∈
∈ X τ +n отбрасыванием несущественного слова ζ ∈ X τ .
Подписание: подписью под сообщением α ∈ X n является слово ζγ = ϕ̄0 (ϕ̄1−zg (αξ,
r1 ), s0 ) ∈ X τ +n для случайно выбранного ξ ∈ X τ ; в ней ζ ∈ X τ , γ ∈ X n .
Проверка подписи: проверяющий принимает подпись ζγ, если δ = α для δ =
= ϕ̄f +zg (γ, (σζ, r1 )), и отвергает её в противном случае.
Заметим, что если g = 0, r = r1 = Λ — пустое слово, то шифрование, расшифрование, подписание и проверка подписи в FAPKC сводятся к вычислениям
β = ϕ̄f (αξ, q); ζα = ϕ̄0 (β, q 0 ); ζγ = ϕ̄0 (αξ, s0 ); δ = ϕ̄f (γ, σζ)
(5)
соответственно. Иначе говоря, в этом случае шифрование состоит в преобразовании
автоматом Mf в состоянии q открытого текста, дополненного суффиксом длиной τ , а
расшифрование — в преобразовании шифртекста автоматом M 0 в соответствующем состоянии q 0 и удалении из результата преобразования префикса длиной τ ; подписание
состоит в преобразовании автоматом M 0 в состоянии s0 подписываемого сообщения,
дополненного суффиксом длиной τ , а проверка подписи под сообщением длиной n —
в сравнении с ним результата преобразования суффикса подписи длиной n автоматом Mf в состоянии, составленном из суффикса соответствующего состояния s длиной
h − τ и префикса подписи длиной τ .
Назовём известные на данный момент частные случаи, или версии, общей схемы
FAPKC, получаемые при различных ограничениях на выбор её параметров. В них
F = GF (2).
1. FAPKC 0 [22], FAPKC 1,2 [23]: автомат f2 линейный, τ (f1 ) = 0.
2. Tao R. J., 1992, цитируется по [20]: автомат f2 линейный, τ (f1 ) > 0, у Mf1
имеется обратный с задержкой автомат вида MA,zu с A ∈ Mll (F [z]) и u ∈ =l,l (F ),
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
69
Конечные автоматы в криптографии
l = 8 и функция f выражается как f (xh , . . . , x1 , x0 ) = CT , где C ∈ M8,16 (F [z]) и
T = (x0,1 , x0,2 , . . . , x0,8 , x0,1 x−1,1 , x0,2 x−1,2 , . . . , x0,8 x−1,8 )t .
3. FAPKC 3 [24]: автомат f2 линейный, l = 8, f = CT , µ(T ) = 2, τ1 = 8, τ2 = 7,
h1 + h2 6 20.
4. [25]: f2 = B2 P2 Q2 , f1 = B1 P1 Q1 или f1 = B1 , где Bi ∈ Ml,l (F [z]), Qi ∈ Ml,l (F ),
a
b
каждое Pi есть биекция на X вида x2 +2 .
В случае нелинейной выходной компоненты f2 булево выражение композиции f1 f2
может иметь непомерно большие размеры, даже если deg f2 = 2. Для того чтобы
удержать размер открытого ключа в приемлемых границах, необходимо, чтобы параметры криптосистемы были очень маленькими, что видно из следующей таблицы [25],
где для некоторых значений параметров l, h1 , h2 демонстрируются соответствующие
размеры в битах N1 и N2 открытого ключа в FAPKC с τ2 6 h2 = µ(f2 ), τ1 6 h1 = µ(f1 )
и соответственно с линейной и нелинейной функцией f1 .
l
(h2 , h1 )
N1
N2
7
(1,14)
8281
105840
7
(7,8)
32948
414512
5
(1,19)
4075
29850
5
(10,10)
20950
181725
3
(1,34)
1593
5400
3
(10,25)
8883
34560
3
(17,18)
13041
51192
7.9. П р и м е р F A P K C
Рассмотрим «игрушечную» FAPKC, построенную по общей схеме со следующими конкретными значениями параметров в ней: l = 1, F = GF (2), g = 0, k = 0,
r = r1 = Λ — пустое слово. Таким образом, операции рассматриваемой криптосистемы
выполняются по формулам (5).
Пусть, кроме того, автомат f2 линейный с характеристиками h2 = 2, τ2 = 1 и входовыходными уравнениями
zt = yt−2 + yt−1 , t > 0;
(6)
автомат f1 нелинейный с характеристиками h1 = 2, τ1 = 0 и входо-выходными уравнениями
yt = xt + xt−1 + xt−2 xt−1 , t > 0.
(7)
Подставляя (7) в (6), получим входо-выходные уравнения для f = f1 f2 :
zt = xt−1 + xt−3 + xt−4 xt−3 + xt−3 xt−2 , t > 0.
(8)
Таким образом, h = 4, τ = 1; Mfi = <{0, 1}, {0, 1}2 , {0, 1}, ψi , ϕi >, i = 1, 2; Mf =
= <{0, 1}, {0, 1}4 , {0, 1}, ψf , ϕf > и функции переходов и выходов этих автоматов заданы следующими таблицами:
x0
0
1
00
00
01
ψ1
x−2 x−1
01 10
10 00
11 01
11
10
11
x0
0
1
00
0
1
ϕ1
x−2 x−1
01 10
1
0
0
1
11
0
1
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
70
Г. П. Агибалов
y0
0
1
00
00
01
x0
0
1
x0
0
1
x0
0
1
x0
0
1
ψ2
y−2 y−1
01 10
10 00
11 01
0000
0000
0001
1000
0000
0001
0000
0
0
1000
0
0
11
10
11
y0
0
1
00
0
0
ϕ2
y−2 y−1
01 10
1
1
1
1
0001
0010
0011
ψf
x−4 x−3 x−2 x−1
0010 0011 0100 0101
0100 0110 1000 1010
0101 0111 1001 1011
0110
1100
1101
0111
1110
1111
1001
0010
0011
ψf , продолжение
x−4 x−3 x−2 x−1
1010 1011 1100 1101
0100 0110 1000 1010
0101 0111 1001 1011
1110
1100
1101
1111
1110
1111
0001
1
1
ϕf
x−4 x−3 x−2 x−1
0010 0011 0100 0101
0
1
1
0
0
1
1
0
0110
0
0
0111
1
1
1001
1
1
ϕf , продолжение
x−4 x−3 x−2 x−1
1010 1011 1100 1101
0
1
0
1
0
1
0
1
1110
1
1
1111
0
0
11
0
0
Видно, что функция ϕ1 биективна в каждом состоянии, поэтому автомат f1 действительно обратим с задержкой τ1 = 0 (см., например, теорему 20). В обратном к нему
с задержкой 0 автомате M10 = <{0, 1}, {0, 1}2 , {0, 1}, ψ10 , ϕ01 > функции ψ10 , ϕ01 получаются по правилу: если ψ1 (x, q) = s и ϕ1 (x, q) = y, то ψ10 (y, q) = s и ϕ01 (y, q) = x.
Полученные так, они показаны в следующих таблицах:
y0
0
1
00
00
01
ψ10
x−2 x−1
01 10
11 00
10 01
11
10
11
y0
0
1
00
0
1
ϕ01
x−2 x−1
01 10
1
0
0
1
11
0
1
Входо-выходные уравнения для автомата M10 получаются непосредственно из (7):
xt = yt + xt−1 + xt−2 xt−1 , t > 0.
(9)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
71
Конечные автоматы в криптографии
Для обращения с задержкой τ2 = 1 автомата f2 воспользуемся теоремой 19. В самом деле, для автомата f2 справедливо f2 (x−2 x−1 x0 ) = x−2 + x−1 , поэтому f2 задаётся
матрицей B =k z 2 + z k∈ M1,1 (F [z]), представимой как B = P DQ(1 + zA) для P =
=k 1 k∈ GL1 (F [z]), Q =k 1 k∈ GL1 (F ), D =k z k∈ M1,1 (F [z]), A =k 1 k∈ M1,1 (F [z]).
Положив, C = z τ2 D−1 и B 0 = Q−1 CP −1 , будем иметь C =k 1 k и B 0 =k 1 k. Тогда по теореме 19 автомат M20 , задаваемый матрицей B 0 + zA =k 1 + z k, является обратным с задержкой τ2 = 1 к автомату f2 и (00,0) есть τ2 -пара в Mf2 ×M20 . Входо-выходная функция
автомата M20 есть f20 (z−1 z0 ) = z−1 + z0 , поэтому M20 = <{0, 1}, {0, 1}, {0, 1}, ψ20 , ϕ02 > и
таблицы функций ψ20 , ϕ02 следующие:
ψ20
z−1
z0 0 1
0 0 1
1 1 0
ϕ02
z−1
z0 0 1
0 0 1
1 1 0
0(τ )
0(τ2 )
В автомате M1 2 = <{0, 1}, {0, 1}2 × {0, 1, . . . , τ2 }, {0, 1}, ψ1
0(τ )
0(τ )
ψ1 2 , ϕ1 2 задаются таблицами
y0
0
1
y0
0
1
000
001
001
000
0
0
010
011
011
010
0
0
100
101
101
ψ10τ2
y−2 y−1 i
110 001
111 001
111 011
011
111
101
101
001
011
111
101
111
100
0
0
2
ϕ0τ
1
y−2 y−1 i
110 001
0
0
0
1
011
1
0
101
0
1
111
0
1
, ϕ0(τ2 )1 > функции
0(τ )
Наконец, автомат M 0 = M20 × M1 2 = <{0, 1}, {0, 1} × ({0, 1}2 × {0, 1, . . . , τ2 }), {0, 1},
0
ψ , ϕ0 > задаётся таблицами переходов и выходов
z0
0
1
z0
0
1
0000
0001
1001
1000
1001
0001
ψ0
z−1 y−2 y−1 i
0110 0001
0111 0001
1111 1011
0010
0011
1011
0100
0101
1101
0011
0111
1101
0101
0001
1011
0111
0101
1111
1010
1011
0011
ψ 0 , продолжение
z−1 y−2 y−1 i
1100 1110 1001 1011
1101 1111 1011 1101
0101 0111 0001 0111
1101
1011
0001
1111
1111
0101
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
72
Г. П. Агибалов
z0
0
1
z0
0
1
0000
0
0
1000
0
0
ϕ0
z−1 y−2 y−1 i
0110 0001
0
0
0
1
0010
0
0
0100
0
0
0011
1
0
0101
0
1
0111
0
1
1010
0
0
ϕ0 , продолжение
z−1 y−2 y−1 i
1100 1110 1001 1011
0
0
1
0
0
0
0
1
1101
1
0
1111
1
0
Пусть q = 0111 ∈ Qf . Пользуясь теоремой 10, найдём (q1 , q2 ) ∈ Qf1 × Qf2 : q1 = 11,
q2 = ϕ̄1 (11, 01) = 01. По теореме 20 (q1 , q10 ) = (q1 , q1 ) = (11, 11) является 0-парой
в Mf1 ×M10 . Имея τ2 -пару (s2 , s02 ) = (00, 0) в Mf2 ×M20 , вычислим q20 = ψ20 (ϕ̄2 (q2 , s2 ), s02 ) =
= ψ20 (ϕ̄2 (01, 00), 0) = ψ20 (00, 0) = 0. По теореме 17 (q2 , q20 ) = (01, 0) является τ2 -парой
в Mf2 × M20 , и по теореме 18 (q, q 0 ) = (q, (q20 , (q10 , 0)) = (0111, 0110) является τ -парой
в Mf × M 0 .
Непосредственно проверяется, что последовательность
α1 = 0100100001100101011011000110110001101111
автомат Mf в состоянии q = 0111 зашифровывает в последовательность
β = 1110110100110010000101100011011000110111,
которую автомат M 0 в состоянии q 0 = 0110 расшифровывает в последовательность 0α.
Помня о недопустимости применения в разных приложениях криптографических
ключей, легко вычислимых один из другого, выберем τ -пару (s0 , s) в M 0 × Mf независимо от выбранной τ -пары (q, q 0 ) в Mf × M 0 . Для этого, аналогично (q, q 0 ), построим ещё одну τ -пару в Mf × M 0 — скажем, (u, u0 ) = (1101, 0010), и по ней, пользуясь теоремой 12, построим τ -пару (s0 , s) в M 0 × Mf , положив s = u = 1101 и
s0 = ψ 0 (ϕ̄(ξ, u), u0 ) = ψ 0 (ϕ̄(0, 1101), 0010) = ψ 0 (1, 0010) = 1011. Представив s как s = βσ
для β ∈ X τ , будем иметь σ = 101.
Непосредственно проверяется, что последовательность α1 автомат M 0 в состоянии
s0 = 1011 преобразует в слово
ζγ = 0γ = 0000101011111001001001010010010100100111,
которое принимается за подпись под сообщением α. Для проверки подлинности этой
подписи убеждаемся, что автомат Mf в состоянии σζ = 1010 действительно преобразует слово γ в сообщение α.
ЛИТЕРАТУРА
1. Агибалов Г. П. Логические уравнения в криптоанализе генераторов ключевого потока //
Вестник Томского госуниверситета. Приложение. 2003. № 6. С. 31–41.
2. Агибалов Г. П. Логические уравнения в криптоанализе сжимающего и самосжимающего
генераторов // Вестник Томского госуниверситета. Приложение. 2004. № 9(I). С. 49–54.
3. Фомичёв В. М. Дискретная математика и криптология. М.: ДИАЛОГ-МИФИ, 2003. 400 с.
4. Бабаш А. В., Шанкин Г. П. Криптография. М.: Солон-Р, 2002. 512 с.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Конечные автоматы в криптографии
73
5. Агибалов Г. П., Оранов А. М. Лекции по теории конечных автоматов. Томск: Изд-во Том.
ун-та, 1984. 185 с.
6. Menezes A., van Oorshot P., Vanstone S. Handbook of Applied Cryptography. CRC Press,
1996. 661 pp.
7. Watanabe D., Furuya S., Yoshida H., Takaragi K., Preneel B. A New Keystream Generator
MUGI // LNCS. 2002. No. 2365. P. 179–194.
8. Joux A., Muller F. Loosening the KNOT // LNCS. 2003. No. 2887. P. 87–99.
9. Golic J. Dj., Bagini V., Morgari G. Linear Cryptanalysis of Bluetooth Stream Cipher //
LNCS. 2002. No. 2332. P. 238–255.
10. O’Neil S., Gittins B., Landman H. VEST. Hardware-Dedicated Stream Cipher //
eSTREAM. October 2005. 63 p.
11. Wolfram S. Cryptography with Cellular Automata // LNCS. 1985. No. 218. P. 429–432.
12. Michaljevic’ M., Zheng Y., Imai H. A Cellular Automaton Based Fast One-Way Hash Function
Suitable for Hardware Implementation // LNCS. 1998. No. 1431. P. 217–233.
13. Шеннон К. Э. Математическая теория связи // Работы по теории информации и кибернетике. М.: ИЛ, 1963. С. 243–332.
14. Stamp M. Low R. M. Applied Cryptanalysis. Breaking Ciphers in the Real World. NJ: John
Wiley & Sons, 2007. 400 p.
15. Закревский А. Д. Метод автоматической шифрации сообщений // Прикладная дискретная математика. 2009. № 2. С. 127–137.
16. Мур Э. Ф. Умозрительные эксперименты с последовательностными машинами // Автоматы / сб. статей под ред. К. Э. Шеннона и Дж. Маккарти. М.: ИЛ, 1956. С. 179–210.
17. Панкратов И. В. К определению понятия самосинхронизирующегося поточного шифра //
Вестник Томского госуниверситета. Приложение. 2007. № 23. С. 114–117.
18. Панкратов И. В. О поточных и автоматных шифрсистемах // Прикладная дискретная
математика. Приложение. 2009. № 1. С. 21–24.
19. Панкратов И. В. О поточных и автоматных шифрсистемах с симметричным ключом //
Прикладная дискретная математика. 2009. № 3. С. 59–68.
20. Dai Z. D., Ye D. F., Lam K. Y. Weak Invertability of Finite Automata and Cryptanalysis on
FAPKC // LNCS. 1998. No. 1514. P. 227–241.
21. Tao R. J. On Invertability of Some Compound Finite Automata // Laboratory for Computer
Science, Institute of Software, Chinese Academy of Sciences, Beijing 10080, China, ISCAS–
LCS–95–06.
22. Tao R. J., Chen S. H. A Finite Automaton Public Key Cryptosystem and Digital Signatures //
Chinese J. of Comptuter. 1985. V. 8. P. 401–409 (in Chinese).
23. Tao R. J., Chen S. H. Two Varieties of Finite Automaton Public Key Cryptosystem and Digital
Signatures // J. of Compt. Sci. and Tech. 1986. V. 1. No. 1. P. 9–18.
24. Tao R. J., Chen S. H., Chen X. M. FPKC3: a New Finite Automaton Public Key
Cryptosystem // Laboratory for Computer Science, Institute of Software, Chinese Academy of
Sciences, Beijing 10080, China, June 1995. ISCAS–LCS–95–07.
25. Chen X. M. The Invertability Theory and Application of Quadratic Finite Automata //
Laboratory for Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing
10080, China, 1996. Doctoral Thesis.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА
№2
ПРИЛОЖЕНИЕ
Ноябрь 2009
УДК 518.6, 681.3
КОМБИНАТОРНО-АЛГЕБРАИЧЕСКИЕ МОДЕЛИ
В КРИПТОГРАФИИ
В. Г. Скобелев
Институт прикладной математики и механики НАН Украины, г. Донецк, Украина
E-mail: skbv@iamm.ac.donetsk.ua
В лекции охарактеризованы дескриптивные, алгоритмические и метрические аспекты применения комбинаторно-алгебраических моделей при решении задач современной криптографии; рассмотрено использование методов хаотической динамики; охарактеризованы линейные и нелинейные автоматы, представленные системой уравнений над кольцом Z pk ; выделены подмножества обратимых автоматов, предназначенных для построения широкого класса симметричных поточных
шифров.
Ключевые слова: булевы функции, конечные автоматы, комбинаторный анализ, конечные алгебраические системы, хаотическая динамика, обратные задачи,
конечные кольца, симметричные шифры.
1. Математические основы
Характерной чертой современной криптологии (как любого научного направления, предназначенного для решения практических задач, определяемых современным
состоянием технических средств) является использование широкого спектра, часто
недостаточно проработанных именно с позиции решения задач криптологии, моделей
и методов из различных разделов математики. К ним относятся классические разделы
математики со своей сложившейся тематикой исследований (комбинаторный анализ,
теория булевых функций, теория автоматов, теория алгоритмов, конечные алгебраические системы), а также формируемые в настоящее время разделы математики (теория
квантовых алгоритмов, теория хаоса динамических систем, теория фракталов).
Именно широкий спектр недостаточно теоретически проработанных с позиции
криптологии, часто плохо сравнимых друг с другом моделей и методов приводит к
тому, что одним из основных методов анализа криптографических алгоритмов является статистический анализ их качества. Упущения, допускаемые при этом, в совокупности с интенсивным развитием средств вычислительной техники являются основной причиной достаточно частого пересмотра криптографических стандартов во всем
мире. Осознание этой ситуации и стимулировало разработку математических основ
современной криптологии. Цель настоящего раздела — попытка охарактеризовать дескриптивные, метрические и алгоритмичесие аспекты комбинаторно-алгебраических
моделей и методов, предназначенных для решения задач современной криптологии,
систематически изложенные в [1].
1.1. Б у л е в ы ф у н к ц и и
В течение последних 20 лет наблюдается интенсивное развитие теории булевых
функций, обусловленное именно исследованием проблем, связанных с криптологией.
Математический анализ этих достижений, основанный на моделях и методах современной конечной алгебры, комбинаторного анализа и теории вероятностей, систематически представлен в [2].
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинаторно-алгебраические модели в криптографии
75
Изложенные в [2] методы исследования криптографических примитивов могут
быть эффективно применены на практике (безусловно, с использованием компьютеров) для анализа булевых вектор-функций
f : En → Em (n, m ∈ N),
где
E = {0, 1},
при относительно небольших значениях числа 2n · m. Существование эффективных
методов «хорошей» декомпозиции (с точки зрения криптографии) графиков булевых
вектор-функций f : En → Em при больших значениях чисел n и m вызывает сомнение.
Тем не менее представленные в [2] методы исследования булевых функций имеют огромное методологическое значение прежде всего потому, что они устанавливают нетривиальные глубокие внутренние связи между теорией булевых функций и современной алгеброй. Сказанное может быть проиллюстрировано следующим образом.
При исследовании свойств булевой вектор-функции всегда можно перейти к булевой
вектор-функции f : En → Em , сохраняющей константу нуль. Для этого достаточно
заменить исходную булеву вектор-функцию g(x) булевой вектор-функцией
f(x) = g(x) ⊕ g(0).
Обозначим график такой булевой вектор-функции f через graph(f), а множество всех
максимальных по включению подпространств линейного пространства En+m , содержащихся во множестве graph(f), обозначим через Lin(graph(f)). В [3] показано, что
имеет место равенство
[
graph(f) =
V.
(1)
V∈Lin(graph(f))
Следовательно, синтез булевой вектор-функции, обладающей заданными свойствами,
по своей сути, сводится к построению множества Lin(graph(f)) с соответствующими
характеристиками.
Отметим, что представление булевой вектор-функции, сохраняющей константу
нуль, в виде системы полиномов Жегалкина также основано на использовании подпространств линейного пространства En+m . Однако такое представление по своей
структуре значительно сложнее, чем представление (1), так как построение полинома
Жегалкина, фактически, представляет собой вариант применения метода включенияисключения. Отсюда вытекает, что любые методы построения системы полиномов Жегалкина для булевых вектор-функций, обладающих заданными значениями криптографических примитивов, заведомо требуют учета нетривиальных соотношений между подпространствами пространства En+m , а также нетривиальных свойств преобразований пространства En+m .
По-видимому, одной из наиболее значимых для анализа и синтеза блочных шифров
является парадигма управляемой подстановочной операции (УПО), для представления которой используется язык схемных реализаций, основанный на использовании
комбинаторно-алгебраических конструкций. Попытка систематического исследования
этой парадигмы предпринята в [4].
Соответствующая математическая модель представляет собой такую булеву
вектор-функцию
f : En+m → El ( m, n, l ∈ N; l > n),
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
76
В. Г. Скобелев
представленную в виде f : En × Em → El , т. е. в виде
y = f(x, v) (x ∈ En , v ∈ Em ),
что для каждого v0 ∈ Em инъекцией является вектор-функция gv0 : En → El , определяемая равенством
gv0 (x) = f(x, v0 ) (x ∈ En ).
Вектор x ∈ En — информационный, а вектор v ∈ Em — управляющий. При этом управляющий вектор формируется из сеансового ключа.
Специальным случаем УПО является блок управляемых перестановок (БУП), характеризуемый тем, что:
1) l = n;
2) для каждого фиксированного v0 ∈ Em вектор-функция gv0 представляет собой
перестановку компонент информационного вектора;
3) если v0 6= v1 (v0 , v1 ∈ Em ), то gv0 и gv1 — различные перестановки компонент
информационного вектора.
Для основных типов БУП и УПО в [4] исследованы эффективность и сложность схемных реализаций, принципы синтеза схем с заданными алгебраическими
и вероятностно-статистическими свойствами, а также принципы, эффективность и
сложность криптоанализа этих схем.
Тем не менее в настоящее время остается много нерешенных задач, связанных с анализом и синтезом как БУП и УПО, так и шифров, основанных на использовании этих
парадигм.
Во-первых, задачи обнаружения и локализации неисправности схем, применяемых
при построении шифров, остаются вне поля зрения криптографов (криптоаналитик,
имея активный доступ к некоторым входам или выходам элементов таких схем, может
успешно имитировать их неисправность, что существенно усложнит работу легального пользователя). Ясно, что эти задачи могут быть решены стандартными методами
технической диагностики. Однако такие тесты будут значительно сложнее, чем оптимальные тесты, так как они не учитывают существенные характеристики соответствующих схем (в частности, свойство БУП и УПО «быть инъекцией при фиксированном
управляющем векторе»). В [1] показано, что для основных типов БУП сложность таких тестов является полиномом не более третьей степени от сложности БУП. В этих
тестах используется «бегущая единица» или «бегущий нуль». Поэтому криптоаналитик, даже имея только пассивный доступ к выходам некоторых элементов этих схем
(т. е. производя пассивный эксперимент), может идентифицировать соответствующие
подстановки или фрагменты ключа методами, отличными от линейного криптоанализа. Отсюда вытекает ряд нерешенных задач анализа вычислительной стойкости и
устойчивости блочных шифров в условиях, когда криптоаналитик имеет доступ к входам или выходам УПО, на основе которых построен исследуемый шифр.
Во-вторых, наличие дешифратора в матричном БУП предполагает реализацию
каждой из используемых перестановок в явном виде. Это обстоятельство существенно
усложняет схемную реализацию БУП. Если же убрать дешифратор, то мы получим
представление используемого семейства перестановок в неявном виде (что существенно упрощает схемную реализацию и усложняет криптоанализ), а именно в виде
αm
S = {f1α1 ◦ · · · ◦ fm
|αi ∈ E (i = 1, . . . , m)},
где fi1 = fi (i = 1, . . . , m) — заданная в явном виде перестановка, fi0 (i = 1, . . . , m) —
тождественная перестановка, а ◦ — операция суперпозиции. При этом возникает ряд
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинаторно-алгебраические модели в криптографии
77
нерешенных задач, связанных с выбором порождающих перестановок f1 , . . . , fm , обеспечивающих заданные алгебраические и вероятностно-статистические свойства семейства S.
1.2. К о н е ч н ы е а в т о м а т ы
Осознание значимости теории конечных автоматов для математического анализа
инъективных дискретных преобразователей информации относится к третьей четверти ХХ века [5 – 7]. Эти и аналогичные им исследования оперировали с абстрактным
автоматом, т. е. моделью
A = (Q, X, Y, δ, λ),
где Q, X, Y — соответственно конечные множество состояний, входной и выходной алфавиты; δ : Q × X → Q — функция переходов; а λ : Q × X → Y — функция выходов.
Так как на практике эффективно могут быть использованы абстрактные автоматы
только при относительно небольших значениях числа |Q| · |X|, то результаты исследований таких автоматов не оказали существенного влияния на разработку поточных
шифров.
Высокая сложность решения задач анализа и синтеза для абстрактных автоматов
(а также сетей, построенных из них) стимулировала исследование достаточно узких
классов автоматов, для которых решение этих задач существенно проще. К таким
классам относится класс линейных автоматов над полем GF (pk ) (p — простое число,
k ∈ N). Систематический анализ этого класса автоматов с позиции классической теории систем представлен в [8, 9]. Однако эти исследования практически ничего не дали
для решения задач криптологии, так как в них не рассматривались задачи исследования вычислительной стойкости поточных шифров, построенных на основе таких
автоматов. Такие задачи, по своей сути, сводятся к задачам идентификации параметрически настраиваемых автоматов и к задачам теории экспериментов с автоматами
над конечными полями. Этот пробел частично ликвидирован в [10 – 12].
Исследованная в [13] связка (посредством обратной связи)
операционный автомат — управляющий автомат
является теоретической основой возможности успешного применения конечных автоматов в процессе построения управляющих систем. При таком подходе естественно
возникает проблема синтеза автомата по его внешнему поведению. Эта проблема является одной из центральных проблем теории конечных автоматов. В [14] выделены
следующие четыре подхода приближенного построения (по своей сути, идентификации) конечного автомата по его внешнему поведению.
Первый подход к построению модели автомата основан на том, что на множестве
всех автоматов с одним и тем же входным и выходным алфавитами вводится функция
близости, использующая расстояние Хемминга между выходными словами. Предполагается, что задано число состояний искомого автомата. Функция близости применяется в процессе поиска наилучшего приближения искомого автомата во множестве всех
автоматов с меньшим числом состояний. Известно, что эта задача решена для класса перестановочных автоматов, которые находят широкое применение в современной
криптографии.
При втором подходе к построению модели автомата также предполагается, что
задано число состояний искомого автомата. Построение модели A = (Q, X, Y, δ, λ) искомого автомата основано на построении его статистического аналога, т. е. такого
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
78
В. Г. Скобелев
автомата A0 = (Q, X, Y, δ 0 , λ0 ), что для любого состояния q ∈ Q вероятности событий
δ(q, x) = δ 0 (q, x) (x ∈ X)
и
λ(q, x) = λ0 (q, x) (x ∈ X)
больше соответственно величин |Q|−1 и |Y |−1 .
При третьем подходе к построению модели автомата предполагается, что имеется дискретный преобразователь, являющийся черным ящиком, обеспечивающий при
идеальных условиях требуемое поведение. Из-за отсутствия идеальных условий (шумы, воздействия внешней среды и т. д.) поведение дискретного преобразователя может отличаться от эталонного поведения. Построение модели автомата основано на
построении его следствия, т. е. автомата, на который поступает входная и выходная
последовательности исследуемого дискретного преобразователя и который, на основе
поведения эталона на подмножестве входных слов фиксированной длины, корректирует выход дискретного преобразователя.
Четвертый подход к построению модели искомого автомата основан на получении
следствий из соотношений, описывающих его функционирование. Для абстрактных
автоматов такие следствия получаются в терминах обобщенных гомоморфизмов автоматов и построении обобщенного образа автомата (т. е., по сути, некоторого класса
автоматов). Обобщение понятия гомоморфизма состоит в рассмотрении (вместо отображений) бинарных отношений, определенных на прямых произведениях автоматных
множеств. В случае, когда автомат представлен системой уравнений над конечной алгебраической системой, построение модели исследуемого автомата сводится к решению
задачи параметрической идентификации соответствующей дискретной динамической
системы.
Задачи анализа и синтеза поточных шифров оказались мощным катализатором появления новых направлений дискретного анализа, в которых переплетаются модели и
методы теории конечных автоматов, современной алгебры и комбинаторного анализа.
Рассмотрим кратко некоторые из таких направлений.
Первым типом модели структурного конечного автомата, часто применяемого при
решении задач криптографии, является специальным образом подобранная комбинаторная структура, находящаяся под управлением псевдослучайного генератора. Основная сложность построения таких моделей конечного автомата связана именно с
выбором комбинаторной структуры, так как здесь переплетаются все три аспекта исследования задач математической кибернетики:
1) дескриптивный аспект, состоящий в формальном определении класса возможных кандидатов;
2) алгоритмический аспект, состоящий в построении соответствующих алгоритмов
и доказательстве их корректности;
3) метрический аспект, состоящий в анализе сложности предложенных алгоритмов
и, в силу специфики криптографии, анализе вычислительной стойкости некоторых
из них.
Проиллюстрируем сказанное на примере.
Пример 1. Естественным обобщением парадигмы УПО является регулярная
комбинаторная структура (РКС), являющаяся, по своей сути, представленным
в неявном виде управляемым бинарным отношением. РКС, по-видимому, впервые введена в [15] и предназначена для математического анализа решения задачи разрушения
частот букв — модельной задачи криптографии. Рассмотрим кратко эти построения.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинаторно-алгебраические модели в криптографии
79
Пусть L ⊆ Σ+ — заданный язык; L(k) = {u ∈ L|d(u) 6 k} (k ∈ N), где d(u) — длина
слова u; n(u, σ) (u ∈ Σ+ , σ ∈ Σ) — число вхождений буквы σ в слово u и
P
n(u, σ)
ν(L(k), σ) =
u∈L(k)
P
d(u)
(k ∈ N, σ ∈ Σ).
u∈L(k)
Предполагается, что для каждого σ ∈ Σ существует предел
lim ν(L(k), σ) = a(σ) > 0,
k→∞
откуда вытекает, что для любого фиксированного положительного числа ε для каждого σ ∈ Σ существует такое число k0 (σ, ε) ∈ N, что для всех k > k0 (σ, ε) (k ∈ N)
|ν(L(k), σ) − a(σ)| < ε.
Зафиксируем такое положительное число ε, что
a(σ) − ε > 0
для всех σ ∈ Σ, и положим k0 (ε) = max k0 (σ, ε).
σ∈Σ
Относительной частотой появления буквы σ ∈ Σ в словах языка L назовем число
f rqnc(L, σ) = ν(L(k0 (ε)), σ).
Отметим, что из приведенных построений вытекает, что:
1) fP
rqnc(L, σ) > 0 для всех σ ∈ Σ;
2)
f rqnc(L, σ) = 1.
σ∈Σ
Предположим, что каждое число f rqnc(L, σ) (σ ∈ Σ) представлено двоичной дробью, вычисленной с точностью до 2−r (r ∈ N), причем выполнены оба приведенных
выше условия.
Алгоритмом побуквенного кодирования назовем алгоритм, вычисляющий значения
фиксированного инъективного отображения
cdng : Σ → El1 (l1 = dlog |Σ|e)
с временной и емкостной сложностью, соответственно равной
Tcdng = O(l1 ) (|Σ| → ∞),
Vcdng = O(|Σ| · l1 ) (|Σ| → ∞).
Ясно, что для всех σ ∈ Σ
f rqnc(cdng(L), cdng(σ)) = f rqnc(L, σ),
т. е. относительные частоты букв в словах языков L и cdng(L) совпадают. Отсюда вытекает корректность построения комбинаторных структур в терминах языка cdng(L)
и относительных частот букв в словах языка L. В дальнейшем, для краткости, вместо
записи f rqnc(L, σ) будем использовать запись f rqnc(σ).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
80
В. Г. Скобелев
Зафиксируем число h ∈ N (h > r) и такое число l2 ∈ N, что l2 > l1 + h. Регулярная
комбинаторная структура для языка L определена в [1, 16] как бинарное отношение
∆ ⊆ El1 × El2 , удовлетворяющее следующим пяти условиям:
1) pr1 ∆ = cdng(Σ);
2) ∆(cdng(σ)) = 2r · f rqnc(σ) для всех σ ∈ Σ;
3) ∆(cdng(σ1 )) ∩ ∆(cdng(σ2 )) = ∅ для всех σ1 , σ2 ∈ Σ (σ1 6= σ2 );
4) каждое множество ∆(cdng(σ)) (σ ∈ Σ) представлено в неявном виде с емкостной
сложностью O(l2 ) (l2 → ∞);
5) существует алгоритм A, который при фиксированной начинающейся с нуля нумерации элементов любого множества ∆(cdng(σ)) (σ ∈ Σ) порождает 0-й элемент
множества ∆(cdng(σ)) и по j-му элементу (j = 0, 1, . . . , |∆(cdng(σ))| − 1) множества
∆(cdng(σ)) порождает (j+1)(mod |∆(cdng(σ))|)-й элемент множества ∆(cdng(σ)) с временной и емкостной сложностью, равной O(l2 ) (l2 → ∞).
В [1, 16] доказано, что множество регулярных комбинаторных структур для языка L непусто. Этот результат является, по своей сути, аналогом доказательства непротиворечивости построенного фрагмента теории и обосновывает исследование возможности построения математической модели дискретного преобразователя, основанного
на использовании таких структур и предназначенного для разрушения частот букв в
языке L. Такой дискретный преобразователь автоматного типа построен в [1, 16]. Псевдослучайный генератор применяется для инициализации значений элементов множеств ∆(cdng(σ)) (σ ∈ Σ). Доказана корректность предложенных алгоритмов. Показано, что при выполнении ряда предвычислений разрушение частот букв в языке
L осуществляется с линейным замедлением. Исследована вычислительная стойкость
реализуемого построенным дискретным преобразователем алгоритма (при его интерпретации в качестве поточного шифра).
Второй тип модели структурного конечного автомата, применяемого при решении
задач криптографии, основан на использовании представленного в неявном виде семейства легко вычислимых перестановок заданного конечного множества, выбор элементов которого управляется посредством заданного быстрого алгоритма. Рассмотрим
общую схему построения таких моделей.
Перестановка f ∈ S элементов конечного множества S называется легко вычислимой, если существует алгоритм Af , реализующий эту перестановку с временной и
емкостной сложностью, соответственно равной
Vf = O(log |S|) (|S| → ∞),
Tf = O(log2 |S|) (|S| → ∞).
Перестановка f элементов конечного множества
S = S1 × · · · × Sl
называется легко вычислимой разложимой перестановкой, если существуют такие легко вычислимые перестановки
f1 , . . . , f l
элементов соответственно множеств S1 , . . . , Sl , что для любого s = (s1 , . . . , sl ) ∈ S
f(s) = (f1 (s1 ), . . . , fl (sl ))
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинаторно-алгебраические модели в криптографии
81
(несложно показать, что если f1 , . . . , fl — легко вычислимые перестановки, то f — легко
вычислимая перестановка множества S, так что это определение корректно).
Пусть в неявном виде задано такое семейство легко вычислимых разложимых перестановок
(i)
(i)
F = {fi = (f1 , . . . , fl )}i∈Zm ,
что:
1) генерация алгоритма Af0 осуществляется за время O(log |S|) (|S|) → ∞);
2) преобразование алгоритма Afj (j ∈ Zm ) в алгоритм Af(j+1)(mod m) осуществляется
за время O(log2 |S|) (|S|) → ∞).
Обозначим через B быстрый алгоритм, который (по заданному входу) генерирует
такую последовательность натуральных чисел
n0 , n1 , n2 . . . ,
(2)
что для всех i ∈ N
ni << m.
Cоответствующий дискретный преобразователь автоматного типа преобразует любую последовательность
s0 , s1 , s2 , . . .
элементов множества S в последовательность
fn0 (s0 ), fn0 +n1 (s1 ), fn0 +n1 +n2 (s2 ), . . .
Проиллюстрируем сказанное на примере.
Пример 2. В [1, 17, 18] предложен следующий подход к построению поточных
шифров. Шифруемая входная последовательность разбивается на тройки байтов, которые интерпретируются как RGB-компоненты bmp-файла. Шифрование каждой такой тройки байтов (по своей сути, изменение цвета соответствующего пикселя) осуществляется посредством семейства легко вычислимых перестановок
F = {fi }i∈Z256 ,
определяемого соотношениями
rn = (r0 + n · |α1n · a1 − α2n · a2 − α3n · a3 |) (mod 256),
gn = (g0 + n · |α2n · a2 − α1n · a1 − α3n · a3 |) (mod 256),
bn = (b0 + n · |α3n · a3 − α1n · a1 − α2n · a2 |) (mod 256),
где r0 , g0 , b0 и rn , gn , bn — соответственно исходные и преобразованные компоненты цвета пикселя, а αi , ai ∈ Z (i = 1, 2, 3) — параметры, играющие роль секретного сеансового
ключа.
Последовательность натуральных чисел (2) вычисляется на основе номеров итераций построения на дисплее точек выбранного псевдофрактала.
Третий тип модели структурного конечного автомата, применяемого при решении
задач криптографии, основан на представлении обратимых автоматов системами уравнений над конечной алгебраической системой. Значимость таких моделей обусловлена
тем, что в последнее десятилетие в криптографии наметилась устойчивая тенденция
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
82
В. Г. Скобелев
перехода от чисто комбинаторных конструкций к конечным алгебраическим системам.
Эта тенденция проявляется в том, что практически во всех современных стандартах шифрования присутствует фрагментарное применение теории конечных полей, а
значительное число схем поточного шифрования, представленных в рамках реализуемых в настоящее время европейского и японского проектов (соответственно NESSIE и
CRYPTREC), основано на использовании автоматов над полем GF (2k ). Известно, что
поле — это специальный случай кольца. При этом наличие в кольце делителей нуля дает возможность охарактеризовать сложность поиска в терминах сложности решения
уравнений над кольцом. Конечные автоматы над конечным кольцом, применяемые
для решения задач криптографии, будут рассмотрены в последующих разделах. Сейчас отметим только, что исследование таких автоматов актуально для современной
криптографии по следующим причинам.
Во-первых, при соответствующих ограничениях на параметры автоматы над конечным кольцом определяют класс поточных шифров, вычислительная стойкость которых может быть теоретически охарактеризована в терминах сложности решения
уравнений над кольцом.
Во-вторых, устанавливается нетривиальная внутренняя связь между современной
криптологией и теорией систем, так как сложность и эффективность успешных атак
для криптоаналитика естественно характеризуется в терминах сложности решения
таких классических задач теории динамических систем, как управляемость, наблюдаемость, параметрическая идентификация.
В-третьих, устанавливается нетривиальная внутренняя связь между современной
криптологией, теорией автоматов и современной алгеброй, что дает возможность при
решении задач криптографии систематически и комплексно использовать модели и
методы этих разделов математики, а также стимулировать формирование некоторых
направлений исследований этих разделов математики, предназначенных именно для
нужд криптографии.
1.3. К о м б и н а т о р н ы й а н а л и з
Об исключительной роли, которую комбинаторные конструкции играли и играют
в криптографии, прежде всего свидетельствуют многочисленные примеры шифров и
криптографических протоколов, основанных на их использовании (см., напр., [19]).
По-видимому, для современной криптографии важными являются следующие особенности, связанные с применением комбинаторного анализа.
Во-первых, это переосмысление известных комбинаторных конструкций в контексте задач современной криптографии.
Пример 3. В качестве регулярных комбинаторных структур, предназначенных
для разрушения частот букв, в [15] использовались:
1) грани куба En , которые, как известно, являются стандартной комбинаторной
конструкцией в теории минимизации ДНФ;
2) система попарно непересекающихся шаров в пространстве En , которая, как известно, применяется в теории кодов, контролирующих ошибки.
Во-вторых, это анализ возможности применения экстремальных и близких к ним
комбинаторных объектов для решения задач криптографии.
Пример 4. В [20] было построено и исследовано семейство связных графов, удовлетворяющих следующим трем условиям:
1) граф имеет почти регулярную структуру (откуда вытекает возможность его
эффективного представления в неявном виде);
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинаторно-алгебраические модели в криптографии
83
2) число гамильтоновых путей между двумя фиксированными вершинами является
субэкспонентой от числа ребер;
3) существует такой алгоритм, который порождает субэкспоненциальное число гамильтоновых путей на графе между этими фиксированными вершинами, причем каждый из этих путей порождается за время O(n) (n → ∞), где n — число вершин графа.
В [15] показано, что такие графы могут быть эффективно применены при решении
задачи диффузии информации — модельной задачи криптографии.
В-третьих, это необходимость метрического анализа комбинаторных конфигураций, определяемых в терминах модульной арифметики, в отличие от классического
подхода комбинаторного анализа, основанного на использовании линейно или частично упорядоченных множеств (см., напр., [21, 22]).
Пример 5. В [23] исследована следующая комбинаторная конфигурация.
Пусть S — непустое конечное множество, а a1 , . . . , an ∈ N — взаимно простые числа.
Положим
Fai (S) = {f |f : S → Zai } (i = 1, . . . , m),
m
F (S) = {f |f : S → Z Q
}.
ai
i=1
Определим отображение fmod ai (f ∈ F (S); i = 1, . . . , m) равенством
fmod ai = f (s)(mod ai ) (s ∈ S).
Зафиксируем подмножества Fc
ai (S) ⊆ Fai (S) (i = 1, . . . , m) и положим
c
Ff
ai (S) = {f ∈ F (S)|fmod ai ∈ Fai (S)} (i = 1, . . . , m).
В [23] доказано, что
|
m
\
i=1
Ff
ai (S)| =
m
Y
|Fc
ai (S).
(3)
i=1
Нетривиальность равенства (3) обусловлена хотя бы тем, что оно дает возможность
найти точное число обратимых матриц над кольцом Zn (n ∈ N), его следствиями
являются китайская теорема об остатках и формула Эйлера для количества чисел,
взаимно простых с данным числом.
1.4. А л г е б р а
К стандартному аппарату алгебры, применяемому в современной криптологии, относятся (см., напр., [24]) ряд разделов теории чисел (методы решения сравнений, использование первообразных корней, сведение задачи к поиску индекса (дискретного
логарифма), применения цепных и подходящих дробей), ряд разделов теории конечных алгебр (конечные группы, конечные поля и векторные пространства над ними,
кольца и модули линейных форм над ними), теория эллиптических кривых, а также
теория алгебраических систем.
Формирование проблематики этих разделов математики осуществлялось без учета
потребностей криптологии, и только в настоящее время начинают выделяться те их
направления, которые существенно опираются на теорию алгоритмов и компьютерную
математику и действительно могут стать мощным инструментом при исследовании
задач защиты информации.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
84
В. Г. Скобелев
По-видимому, одним из самых тонких и сложных моментов, связанных с использованием систем уравнений над конечными алгебраическими системами в криптографии, является теоретическое исследование сложности их решения. Именно эта сложность, в конечном итоге, характеризует сложность идентификации сеансового ключа
для шифра, определяемого этими системами уравнений.
Пример 6. В [25] исследовано семейство легко вычислимых перестановок
(i)
(i)
F = {fi = (f1 , . . . , fl )}i∈Zm ,
которое является нетривиальным обобщением семейства перестановок из [17, 18]. Компоненты этих перестановок определяются уравнениями над кольцом
Z = (Zpk , ⊕, ◦),
где p — простое число. Показано, что параметрическая идентификация этого семейства
перестановок сводится к решению системы высокостепенных уравнений над конечным
кольцом, при этом необходимо решить l задач поиска дискретного логарифма.
По-видимому, заслуживает внимания исследование возможности применения для
решения задачи выбора секретного ключа средней длительности для двух пользователей параметрических диофантовых уравнений (как известно, проблема поиска решения диофантовых уравнений алгоритмически неразрешима). На примерах простейших
параметрических диофантовых уравнений нетрудно убедиться, что структура множества их решений может существенно варьироваться в зависимости от значений параметров. Поэтому даже передача открытым текстом номера решения, определяющего
секретный сеансовый ключ, мало что даст криптоаналитику для идентификации этого
ключа.
Одним из наиболее перспективных методов генерации ключей для электронноцифровой подписи является применение эллиптических кривых над конечным полем. Это направление исследований в настоящее время интенсивно развивается (см.,
напр., [26, 27]). Однако в настоящее время отсутствует систематизация полученных
результатов и системная характеристика тонких мест этого направления именно с позиции современной криптологии.
Наконец, следует отметить, что в последнее время при исследовании различных аспектов решения задачи защиты информации фрагментарно используются те или иные
варианты многоосновных алгебраических систем. К таким исследованиям относятся
анализ структуры гомоморфизмов универсальных многоосновных алгебр, применяемых при минимизации сложности решения уравнений, связанных с анализом блоков шифрования [28], попытка теоретической проработки основ построения системы
компьютерного моделирования системы защиты информации (с применением системы автоматического вывода), предпринятая в [29], а также исследования формальных
моделей систем компьютерной безопасности (см., напр., [30]).
Рассмотренные особенности комбинаторно-алгебраических моделей далеко не исчерпывают всего круга проблем, возникающих при их применении для исследования
задач современной криптографии.
Во-первых, вне внимания криптографии остаются многочисленные комбинаторноалгебраические конструкции, успешно применяемые в теории кодов, контролирующих
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинаторно-алгебраические модели в криптографии
85
ошибки [31]. Применение таких конструкций (после соответствующей их модификации) дает возможность автоматически обнаруживать и исправлять некоторые случайно или преднамеренно внесенные ошибки, что повышает эффективность использования шифрсистем.
Во-вторых, как показал печальный опыт с ранцевым алгоритмом шифрования,
требует самого тщательного теоретического обоснования сужение множества исходных данных N P -полных задач, которые естественно возникают при их применении
в криптографии. Сложность такого теоретического обоснования весьма велика, так
как оно, по своей сути, эквивалентно доказательству утверждения о том, что не существует эффективная атака того или иного типа. По-видимому, единственным эвристическим выходом из этой ситуации является использование семейства однотипных,
имеющих различные размеры, комбинаторных конструкций, определяемых применяемой N P -полной задачей. Такой подход дает возможность в процессе сеанса шифрования динамически варьировать применяемые конструкции (и их размеры) с помощью
псевдослучайного генератора. При таком подходе, по крайней мере, есть надежда, что
криптоаналитик столкнется с трудной проблемой тождества слов.
В-третьих, в настоящее время интенсивно развивается теория квантовых вычислений [32]. Существенной особенностью этой теории является то, что она в корне изменяет взгляд на прикладную теорию алгоритмов, так как, во-первых, ее эффективным
инструментом являются методы, осуществляющие построение решения с заданной вероятностью, а, во-вторых, в ее рамках возможно эффективно реализовать ряд методов
поиска, имеющих экспоненциальную сложность в классической прикладной теории
алгоритмов. По-видимому, серьезным предупреждением для криптографии является
существование полиномиального квантового алгоритма для разложения числа на два
простых сомножителя. Поэтому исследование комбинаторно-алгебраических моделей,
для анализа которых не существует эффективных квантовых алгоритмов, является
актуальным для современной криптографии.
Все сказанное выше, наряду с интенсивным развитием средств вычислительной техники, обосновывает актуальность теоретической проработки математических основ, обеспечивающих адекватное и эффективное применение комбинаторноалгебраических моделей в процессе решения задач современной криптографии.
2. Модели хаотической динамики в анализе шифров
На протяжении последнего двадцатилетия усилия многочисленных коллективов
ученых различных стран привели к значительным успехам в области исследования
свойств детерминированного хаоса динамических систем (см., напр., [33, 34]).
Говоря неформально, динамическая система представляется таким набором
из n динамических переменных, характеризующих состояние системы, что их значения в любой последующий момент времени получаются из набора исходных значений по определенному правилу, называемому оператором эволюции системы. Динамику (иными словами, эволюцию) такой системы можно представить как движение
точки по траектории в n-мерном фазовом пространстве. Динамическую систему,
представленную системой дифференциальных уравнений, часто называют потоком, а
представленную системой рекуррентных соотношений — отображением (отметим, что
при компьютерном моделировании динамических систем всегда происходит переход от
потока к отображению). Динамическая система называется хаотической, если сколь
угодно малое изменение начального состояния системы быстро нарастает во времени. Это означает, что сколь угодно малая неточность в задании начального состояния
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
86
В. Г. Скобелев
системы делает невозможной предсказуемость ее эволюции на достаточно больших
интервалах времени.
Выделим в фазовом пространстве динамической системы некоторую область (ее
часто называют облаком) и рассмотрим эволюцию облака. Если с течением времени
объем облака остается постоянным, то динамическая система называется консервативной (с физической точки зрения консервативность означает сохранение энергии).
Если же с течением времени объем облака изменяется, то динамическая система называется диссипативной. Для диссипативных систем характерно то, что с течением
времени облако съеживается и концентрируется на одном или нескольких аттракторах, т. е. подмножествах фазового пространства, обладающих, как правило, нулевым фазовым объемом (наиболее известные примеры аттракторов — это положение
равновесия и предельный цикл, т. е. замкнутая фазовая траектория, к которой с течением времени стремятся все близкие траектории). Множество всех точек фазового
пространства, из которых траектории приходят к одному и тому же аттрактору, называется бассейном этого аттрактора.
В диссипативных системах хаос часто связан с наличием странных аттракторов, представляющих собой фрактальные множества (или, кратко, фракталы), т. е.
множества, имеющие сложную самоподобную структуру и притягивающие к себе все
траектории, принадлежащие бассейнам этих аттракторов.
В процессе исследования хаотических динамических систем большое внимание уделялось (и уделяется в настоящее время) применениям таких систем к решению задач
преобразования информации. Здесь следует особо отметить исследования, связанные
с разработкой методов записи и восстановления информации, основанные на использовании устойчивых циклов [35 – 38], которые, в конечном счете, привели к парадигме
хаотического процессора [39], т. е. к математической модели, позволяющей работать
с информацией как с траекторией в фазовом пространстве и управлять характером
динамических явлений с целью осуществления базовых операций хаотического процессинга. Именно представление информации траекториями, а также обработка информации посредством хаотических динамических систем и составляют основу применения
моделей и методов хаотической динамики в криптографии.
Подчеркнем, что применение любой схемы представления информации циклами,
порождаемыми в фазовом пространстве хаотической динамической системой, по сути,
приводит к шифрованию исходной информации, причем вычислительная стойкость
такого шифра заведомо не меньше, чем вычислительная стойкость шифра замены,
переводящего элементы исходной информации в циклы.
Цель настоящего раздела — проиллюстрировать основные из подходов, применяемых при использовании моделей и методов хаотической динамики для решения задач
современной криптографии.
2.1. М о д е л ь х а о т и ч е с к о й д и н а м и к и в к р и п т о г р а ф и и
с открытым ключом
В [40 – 42] предложен следующий подход к разработке шифрсистем с открытым
ключом, основанный на неоднозначности обращения кусочно-линейных хаотических
отображений.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинаторно-алгебраические модели в криптографии
87
В качестве кусочно-линейного хаотического отображения выбрано отображение
тент, рекуррентное уравнение которого имеет вид
 xn
 ,
если 0 6 xn < a,
(n ∈ Z+ ),
(4)
xn+1 = 1a− xn

, если a 6 xn 6 1,
1−a
где a ∈ (0; 1) — параметр.
В случае когда a = 0,5, решение рекуррентного уравнения (4) имеет вид
1
· arccos(cos(2n · π · x0 )) (n ∈ Z+ ),
(5)
π
где x0 — начальное значение.
Равенство (5) представляет собой подсемейство однопараметрического семейства
отображений
1
Tk (x) = · arccos(cos(k · π · x0 )) (k ∈ N).
(6)
π
В дальнейшем рассматривается именно семейство отображений (6), что совершенно
не влияет на общность рассуждений.
Отметим, что семейство отображений (6) удовлетворяет полугрупповому свойству
xn =
Tr·s = Tr ◦ Ts (r, s ∈ N),
(7)
где ◦ — операция суперпозиции отображений. Из (7), в свою очередь, вытекает, что
семейство отображений (6) удовлетворяет также свойству коммутативности, т. е.
Tr ◦ Ts = Ts ◦ Tr (r, s ∈ N).
Предполагается, что подлежащее шифрованию сообщение — это m-битовая последовательность, а M — целое число, представляющее эту последовательность.
В [41, 42] исследована следующая математическая модель шифрсистемы с открытым ключом.
Формирование ключей пользователем A осуществляется следующим образом:
1) генерируются такие натуральные числа p и q, что n = p · q > 2m ;
2) ищется неустойчивая неподвижная точка x0 ∈ (0; 2−m ) отображения Tn ;
3) вычисляется открытый ключ y0 = Tp (x0 ).
Пара (x0 , q) — личный секретный ключ пользователя A.
Для того чтобы отправить пользователю A сообщение M , пользователь B вычисляет и отправляет пользователю A шифртекст c = TM (y0 ).
Для того чтобы расшифровать сообщение, пользователь A вычисляет значение
M=
Tq (c)
.
x0
Действительно, с учетом того, что M · x0 6 1, получим
Tq (c)
Tq (TM (y0 ))
Tq (TM (Tp (x0 )))
TM (Tn (x0 ))
=
=
=
=
x0
x0
x0
x0
=
TM (x0 )
arccos(cos(π · M · x0 ))
π · M · x0
=
=
= M.
x0
π · x0
π · x0
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
88
В. Г. Скобелев
В [41] исследована вычислительная стойкость рассмотренного шифра, а в [42] —
точность вычислений, при которых процесс шифрование — расшифрование корректен.
Ясно, что рассмотренный выше подход к построению шифрсистемы с открытым
ключом применим для любых кусочно-линейных хаотических отображений. Однако
как анализ вычислительной стойкости соответствующего шифра, так и поиск условий,
при которых процесс шифрование – расшифрование корректен, существенно зависят
от используемого кусочно-линейного отображения.
2.2. К о м м у н и к а ц и о н н а я с и с т е м а н а о с н о в е
хаотического носителя
В [43] предложена следующая математическая модель вычислительно стойкой коммуникационной системы, содержащей хаотические динамические системы.
Используемая передатчиком управляемая хаотическая динамическая система, играющая роль носителя, предназначенного для маскирования зашифрованного аналогового сообщения m(t), имеет следующий вид:
1) переходы состояний определяются системой уравнений

q̇1 = 0,7 · q1 − q2 − q3 ,



q̇ = q ,
2
1
(8)

q̇
=
3(q
3
1 − q4 ),



q̇4 = 3q3 − 30(q4 − 1)H(q4 − 1) − 30 · een (t);
2) выход определяется уравнением
y(t) = (q4 (t) − 1)H(q4 (t) − 1) +
4
X
ki · qi (t).
(9)
i=1
Обозначения в (8) и (9) следующие : H(z) — функция Хевисайда, а een (t) — функция
шифрования, представляющая собой n-сдвиговый регистр, определяемый уравнением
een (t) = f1 (. . . f1 (f1 (m(t), K(t)), K(t)), . . . , K(t)),
(10)


x + K + 2 · h, если − 2 · h 6 x + K 6 −h,
f1 (x, K) = x + K,
если − h < x + K < h,


x + K − 2 · h, если h 6 x + K 6 2 · h.
(11)
где
В (10) и (11) числа h и n представляют собой параметры шифра, а в качестве ключа
K(t) может быть выбрана любая функция от переменных состояния системы.
Сигнал, передаваемый передатчиком, имеет вид
z(t) = y(t) + een (t).
Используемая приемником управляемая хаотическая динамическая система имеет
следующий вид:
1) переходы состояний определяются системой уравнений


qb˙ 1 = 0,7 · qb1 − qb2 − qb3 ,




qb˙ 2 = qb1 ,
(12)
qb˙ 3 = 3(b
q1 − qb4 ),


4

P


q̇4 = 3b
q3 − 30(z(t) −
ki · qbi (t));
i=1
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинаторно-алгебраические модели в криптографии
89
2) выход определяется уравнением
b q4 − 1) −
eben (t) = z(t) − (b
q4 − 1)H(b
4
X
ki · qbi (t).
i=1
Расшифрование выхода eben (t) осуществляет все тот же n-сдвиговый регистр
b
b
b
m(t)
b
= f1 (. . . f1 (f1 (b
een (t), −K(t)),
−K(t)),
. . . , −K(t)).
Числа ki (i = 1, . . . , 4) подбираются таким образом, чтобы была обеспечена синхронизация систем (8) и (12). В этом случае для достаточно больших значений t
x
bi (t) → xi (t) (i = 1, . . . , 4).
А так как ключи зависят только от переменных состояния, то
b
K(t)
→ K(t).
Следовательно,
eben (t) → en (t),
откуда вытекает, что
m(t)
b
→ m(t).
Высокая вычислительная стойкость рассмотренной коммуникационной системы
обусловлена следующими обстоятельствами.
Во-первых, криптоаналитику достаточно сложно восстановить геометрическую
структуру траектории используемой хаотической динамической системы в 4-мерном
фазовом пространстве.
Во-вторых, даже если криптоаналитик сможет выделять зашифрованное сообщение
een (t) = z(t) − y(t),
у него возникнут проблемы с его расшифрованием, так как ключ не передается по
каналу связи.
2.3. П о т о ч н ы е ш и ф р ы н а о с н о в е х а о т и ч е с к и х
динамических систем
Рассмотренная выше коммуникационная система является системой с памятью
(т. е., по своей сути, поточной системой) и основана на том обстоятельстве, что за
счет синхронизации хаотических динамических систем восстанавливаемое аналоговое
сообщение сходится к исходному. Однако синхронизация хаотических динамических
систем — сложная проблема, исследованию которой посвящено значительное число
конференций по хаотической динамике (см., напр., [44, 45]), и анализ скорости синхронизации требует индивидуального подхода к каждому типу систем. Ситуация еще
более усложняется при компьютерном моделировании таких систем и переходе от аналогового сигнала к дискретному, т. е. при переходе к шифрсистемам в их обычном
смысле в криптографии. Поэтому естественно избежать проблемы синхронизации хаотических динамических систем. Такой подход систематически изложен в [1] и состоит
в следующем.
Рассмотрим хаотическую динамическую систему
q̇ = f(q, a),
(13)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
90
В. Г. Скобелев
где вектор динамических переменных q = (q (1) , . . . , q (n) )T ∈ Rn определяет состояние
системы в момент t ∈ R+ , а вектор a = (a1 , . . . , am )T ∈ Rm определяет значение
параметров системы.
Построение поточного шифра на основе динамической системы (13) осуществляется следующим образом.
Во-первых, осуществляется дискретизация системы (13) (этот этап не нужен, если
исходная динамическая система является дискретной), т. е. приведение системы к виду
qt+1 = h · f(qt , a) + qt ,
(14)
где h (h > 0) — шаг дискретизации, а t ∈ Z+ .
Во-вторых, с целью построения дискретной динамической системы с функцией выхода и с внешним управлением (т. е. модели автоматного типа) в систему (14) адди(1)
(n)
тивно вносится информационная переменная xt+1 = (xt+1 , . . . , xt+1 )T , определяющая
значение блока информации, шифруемого в момент t + 1.
В результате таких построений можно выделить следующие два типа систем:
1) систему типа Мили
(
qt+1 = h · f(qt , a) + qt + h · B · xt+1 ,
(t ∈ Z+ );
(15)
yt+1 = C · qt + D · xt+1 ,
2) систему типа Мура
(
qt+1 = h · f(qt , a) + qt + h · B · xt+1 ,
yt+1 = C · qt+1 ,
(t ∈ Z+ ).
(16)
В (15) и (16) A, B, C, D — n×n-матрицы, q0 — начальное состояние, а yt+1 — результат шифрования блока информации xt+1 .
Истинны следующие утверждения.
Утверждение 1. Динамическая система (15) представляет собой поточный
шифр тогда и только тогда, когда D — невырожденная n × n-матрица.
Следствие 1. Для поточного шифра (15) расшифрование осуществляет динамическая система
(
qt+1 = h · f(qt , a) + (I − h · B · D−1 · C) · qt + h · B · D−1 · xt+1 ,
(t ∈ Z+ ),
(17)
yt+1 = D−1 · (xt+1 − C · qt ),
где I — единичная n × n-матрица.
Утверждение 2. Динамическая система (16) представляет собой поточный
шифр тогда и только тогда, когда B и C — невырожденные n × n-матрицы.
Следствие 2. Для поточного шифра (16) расшифрование осуществляет динамическая система
(
qt+1 = C −1 · xt+1 ,
(t ∈ Z+ ).
(18)
yt+1 = −h−1 · B −1 · (h · f(qt , a) + qt ) + h−1 · B −1 · C −1 · xt+1 ,
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинаторно-алгебраические модели в криптографии
91
Итак, каждый из шифров (15) и (16) представляет собой симметричный поточный
шифр. При этом секретным ключом для шифра (15) являются параметры h, a, B, C, D
и начальное состояние q0 , а для шифра (16) — параметры h, a, B, C и начальное состояние q0 .
Следует особо отметить следующее свойство рассматриваемых шифров: в процессе
шифрование — расшифрование как динамические системы (15) и (17), так и динамические системы (16) и (18) движутся по одной и той же траектории в пространстве
состояний. Это свойство дает возможность за счет одновременного использования
прямой и обратной системы осуществлять контроль (т. е. обнаружение и исправление) некоторых ошибок, возникающих именно в процессе передачи информации по
каналу связи.
Вычисления в поле действительных чисел R (или в поле рациональных чисел Q при
компьютерном моделировании) наталкивается на фактор накопления ошибок округления, в результате проявления которого процесс шифрование — расшифрование теряет
свою корректность. Обеспечение корректности вычислений за счет повышения их точности связано с непростым анализом применяемой системы, приводит к существенному замедлению процесса шифрование — расшифрование в случае линейных систем и
практически неосуществимо для нелинейных систем.
Именно это обстоятельство обосновывает целесообразность нивелирования ошибок
округления за счет перехода к действиям в конечной алгебраической системе. Аргументы в пользу выбора конечного кольца в качестве такой алгебраической системы
были изложены в разд. 1. В результате возникает новый класс симметричных поточных шифров, а именно класс симметричных поточных шифров, построенных на
основе аналогов хаотических динамических систем над конечным кольцом. По своей
сути такие шифры представляют собой конечные автоматы над конечным кольцом.
Таким образом, мы приходим к новому разделу теории автоматов, имеющему нетривиальную область приложений, а именно современную криптологию.
В качестве конечного кольца всюду в дальнейшем выбрано кольцо
Z pk = (Zpk , ⊕, ◦),
где p — простое число, k ∈ N, а операции определены равенствами
a ⊕ b = (a + b) (mod pk ),
a ◦ b = (a · b) (mod pk ).
Проиллюстрируем построение таких шифров на основе модельных нелинейных хаотических динамических систем (см., напр., [34]).
Пример 7. Система Ресслера имеет вид


ẋ = −y − z,
(t ∈ R+ ).
(19)
ẏ = x + a · y,


ż = b + (x − r) · y,
Дискретизируем систему (19), внесем информационную переменную в 1-е уравнение, перейдем к вычислениям в кольце Z pk и к стандартным обозначениям теории
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
92
В. Г. Скобелев
автоматов. Получим инициальный автомат
 (1)
(1)
(2)
(3)
qt+1 = qt h ◦ qt h ◦ qt h ◦ d ◦ xt+1 ,



q (2) = h ◦ q (1) ⊕ (a ◦ h ⊕ 1) ◦ q (2) ,
t
t
t+1
(MR , q0 ) :
(3)
(3)
(1)
(3)

qt+1 = h ◦ b ⊕ (1 h ◦ r) ◦ qt ⊕ h ◦ qt ◦ qt ,



(1)
yt+1 = qt+1 ,
(t ∈ Z+ ),
(20)
где — операция, обратная операции ⊕, а a, b, d, h, r ∈ Zpk , причем d и h — обратимые
элементы кольца Z pk .
Пример 8. 1-я система Спротта имеет вид


ẋ = y,
(t ∈ R+ ).
ẏ = −x + y · z,


2
ż = 1 − y ,
(21)
Дискретизируем систему (21), внесем информационную переменную в 1-е уравнение, перейдем к вычислениям в кольце Z pk и к стандартным обозначениям теории
автоматов. Получим инициальный автомат
 (1)
(1)
(2)
qt+1 = qt ⊕ h ◦ qt h ◦ a ◦ xt+1 ,



q (2) = q (2) h ◦ q (1) ⊕ h ◦ q (2) ◦ q (3) ,
t
t
t
t
t+1
(t ∈ Z+ ),
(22)
(MS , q0 ) :
(3)
(3)
(2) 2

q
=
h
⊕
q
h
◦
(q
)
,

t
t
t+1


(1)
yt+1 = qt+1 ,
где a, h ∈ Zpk — обратимые элементы кольца Z pk .
Пример 9. Система Лоренца имеет вид


ẋ = a1 · (y − x),
ẏ = x · (a2 − z) − y,


ż = x · y − a3 · z,
(t ∈ R+ ).
(23)
Дискретизируем систему (23), внесем информационную переменную во 2-е уравнение, перейдем к вычислениям в кольце Z pk и к стандартным обозначениям теории
автоматов. Получим инициальный автомат
 (1)
(1)
(2)
qt+1 = (1 h ◦ a1 ) ◦ qt ⊕ h ◦ a1 ◦ qt ,



q (2) = (1 h) ◦ q (2) ⊕ h ◦ q (1) ◦ (a q (3) ) h ◦ a ◦ x ,
2
t+1
t
t
t
t+1
(t ∈ Z+ ), (24)
(ML , q0 ) :
(3)
(3)
(1)
(2)

q
=
(1
h
◦
a
3 ) ◦ qt ⊕ h ◦ q t ◦ qt ,

t+1


(2)
yt+1 = qt+1 ,
где a1 , a2 , a3 , a, h ∈ Zpk , причем a и h — обратимые элементы кольца Z pk .
Пример 10. Отображение Эно имеет вид
(
xn+1 = 1 − a · x2n − b · yn ,
yn+1 = xn ,
(n ∈ Z+ ).
(25)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинаторно-алгебраические модели в криптографии
93
Перейдем от (25) к отображению
xt+2 = 1 − a · x2t+1 − b · xt (t ∈ Z+ ).
(26)
Добавим в (26) информационную переменную, перейдем к вычислениям в кольце
Z pk и к стандартным обозначениям теории автоматов. Получим инициальный автомат
(
2
qt+2 = 1 a ◦ qt+1
b ◦ qt ⊕ c ◦ xt+1 ,
(MH , q0 ) :
(t ∈ Z+ ),
(27)
yt+1 = qt+2 ,
где c ∈ Zpk — обратимый элемент кольца Z pk .
Отметим, что теоретический анализ вычислительной стойкости шифров (20), (22),
(24) и (26) сводится к решению задач параметрической идентификации, идентификации начального состояния соответствующего автомата и к анализу множеств неподвижных точек отображений, реализуемых инициальными автоматами.
Выше были рассмотрены некоторые подходы к применению моделей и методов
хаотической динамики для решения задач современной криптографии.
Среди попыток построения шифрсистем с открытым ключом следует также отметить предложенный в [46] протокол обмена ключами, основанный на использовании
фракталов Мандельброта и Жюлиа для порождения открытых и секретных ключей.
Хотя вычислительная стойкость предложенного протокола такая же, как и вычислительная стойкость протокола Диффи — Хеллмана, предложенный протокол использует ключи меньшего размера и работает быстрее, т. е. является более эффективным
с точки зрения вычислений.
При построении коммуникационной системы на основе хаотического носителя в качестве такого носителя может быть выбрана практически любая хаотическая динамическая система. Основная проблема, которая здесь возникает, связана с построением
схемы, обеспечевающей синхронизацию систем, расположенных в приемнике и передатчике. Ряд схем синхронизации модельных нелинейных хаотических динамических
систем исследован в [44].
Исследованию линейных рекуррентных последовательностей над конечным кольцом (такие последовательности являются, по сути, автономными автоматами специального вида над конечным кольцом) посвящено значительное число публикаций. Их
библиография представлена, например, в обзоре [47]. Однако исследования неавтономных автоматов над конечным кольцом, особенно в свете их приложения к решению задач криптографии, практически отсутствуют в настоящее время. В следующем разделе мы рассмотрим некоторые классы автоматов над кольцом Z pk , которым,
в частности, принадлежат автоматы, построенные в примерах 7–9.
3. Автоматы над конечным кольцом
В предыдущих двух разделах было показано, что как для теории автоматов, так и
с точки зрения анализа математических основ современной криптографии актуально
исследование автоматов, представленных системой уравнений над конечным кольцом.
Такое исследование систематически изложено в [1].
В настоящем разделе мы рассмотрим основные характеристики ряда таких моделей
как с точки зрения теории автоматов, так и с точки зрения современной криптографии.
К стандартным задачам теории автоматов относится выделение основных нетривиальных подмножеств автоматов (в терминах критерия принадлежности автомата тому
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
94
В. Г. Скобелев
или иному подмножеству), подсчет или оценка мощности этих подмножеств автоматов, поиск критериев эквивалентности состояний и автоматов, исследование сложности идентификации начального состояния автомата, а также исследование сложности
идентификации автомата, принадлежащего заданному множеству автоматов (для модели, представленной системой уравнений, такое множество естественно определять
в терминах вариации параметров).
Для криптографии объектом исследования является обратимый автомат, т. е. автомат, который при фиксации начального состояния реализует инъективное отображение входной полугруппы в выходную полугруппу. Ясно, что обратимый автомат
и обратный ему автомат определяют симметричный поточный шифр. Поэтому с позиции криптографии представляет интерес выделение для исследуемых моделей подмножеств обратимых автоматов и решение для этих подмножеств автоматов перечисленных выше задач. При этом сложность решения задач идентификации начального состояния автомата и параметрической идентификации автомата характеризует
с теоретической точки зрения сложность атаки криптоаналитика на секретный ключ
соответствующего шифра.
Кроме перечисленных выше задач для криптографии представляет интерес исследование структуры множества неподвижных точек отображения, реализуемого инициальным обратимым автоматом (что дает возможность принять меры для предотвращения возможности появления критических фрагментов открытого текста на выходе
шифра), а также изучение вариации поведения обратимого автомата при вариации его
параметров или вариации начального состояния. Решение последней задачи представляет собой основу для разработки аналогов методов дифференциального и интегрального анализа поточных шифров, определяемых исследуемыми моделями (переход от
булевой функции к словарной является принципиально новым моментом такого анализа для поточных шифров по сравнению с анализом блочных шифров).
В качестве конечного кольца выбрано кольцо Z pk = (Zpk , ⊕, ◦). Такой выбор сделан
только для того, чтобы упростить формулы, определяющие число автоматов, принадлежащих тем или иным подмножествам (остальные результаты истинны для любых
конечных колец).
3.1. И с с л е д у е м ы е м о д е л и
Обозначим через Mn (n ∈ N) множество всех n × n-матриц над кольцом Z pk .
В [1, 48, 49] исследовано множество An,1 линейных автоматов Мили
(
qt+1 = A ◦ qt ⊕ B ◦ xt+1 ,
(M1 , q0 ) :
(t ∈ Z+ )
(28)
yt+1 = C ◦ qt ⊕ D ◦ xt+1 ,
и множество An,2 линейных автоматов Мура
(
qt+1 = A ◦ qt ⊕ B ◦ xt+1 ,
(M2 , q0 ) :
yt+1 = C ◦ qt+1 ,
(t ∈ Z+ ),
(29)
где A, B, C, D ∈ Mn — фиксированные матрицы, а qt , xt , yt ∈ Znpk — вектор-столбцы,
представляющие состояние автомата, входной символ и выходной символ в момент t.
Замечание 1. Интерес к исследованию множеств автоматов An,1 и An,2 обусловлен следующим. Как показывает предыдущий опыт (см., напр., [8, 9], для линейных
автоматов решение многих задач значительно проще, чем в общем случае. Это дает
возможность получить более завершенный (чем в общем случае) фрагмент теории и
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинаторно-алгебраические модели в криптографии
95
понять ту внутреннюю сложность решения задач, которая возникает при переходе от
конечного поля к конечному кольцу.
e l,1 линейных с лагом l одномерных автоматов
В [1, 50] исследовано множество A
Мили

n
L

ai ◦ qt+l−i ⊕ b ◦ xt+1 ,
qt+1 =
i=1
f
e0 ) :
(t ∈ Z+ )
(30)
(M1 , q
n
L

yt+1 =
ci ◦ qt+l−i ⊕ d ◦ xt+1 ,
i=1
e l,2 линейных с лагом l одномерных автоматов Мура
и множество A

n
L

ai ◦ qt+l−i ⊕ b ◦ xt+1 ,
qt+1 =
i=1
f2 , q
e0 ) :
(M
n
L

yt+1 =
ci ◦ qt+l+1−i ,
(t ∈ Z+ ),
(31)
i=1
e0 = (ql−1 , . . . , q1 , q0 )T — начальное состояние
где q ∈ Zpk — переменная состояния; q
автомата; x ∈ Zpk и y ∈ Zpk — соответственно входная и выходная переменная;
ai , ci , b, d ∈ Zpk (i = 1, . . . , l) — параметры.
e l,1 и A
e l,2 обусловЗамечание 2. Интерес к исследованию множеств автоматов A
лен следующим. Применение при построении поточных шифров линейных сдвиговых
регистров, реализующих вычисления в конечном кольце, привело к необходимости систематического анализа свойств линейных и полилинейных рекуррент над конечными
коммутативными кольцами и модулями (см., напр., [47, 51]), а элементы множеств
e l,1 и A
e l,2 являются математической моделью специального класса таких регистров с
A
внешним управлением.
Автоматы (30) и (31) могут быть представлены в матричном виде
(
e◦q
e◦x
et+1 = A
et ⊕ B
et+1 ,
q
f1 , q
e0 ) :
(M
(t ∈ Z+ ),
e◦q
e ◦x
et+1 = C
et ⊕ D
et+1 ,
y
(
e◦q
e◦x
et+1 = A
et ⊕ B
et+1 ,
q
f2 , q
e0 ) :
(M
e◦q
et+1 = C
et+1 ,
y
(t ∈ Z+ ),
где



e
A=

et = (qt+l−1 , . . . , qt+1 , qt )T (t ∈ Z+ ),
q
(32)
et+1 = (xt+1 , 0, 0, . . . , 0)T (t ∈ Z+ ),
x
(33)
et+1 = (yt+1 , 0, 0, . . . , 0)T (t ∈ Z+ ),
y
(34)
a1
0
..
.
0
0 ... 0
a2 . . . 0
..
.
..
. ..
.
0 . . . al






e
, B = 



0 ... 0
0 ... 0 

.. . . ..  ,
. . 
.
0 0 ... 0
b
0
..
.
(35)
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
96
В. Г. Скобелев


e=
C


c1
0
..
.
0 ... 0
c2 . . . 0
.. . .
.
. ..
.
0 0 . . . cl





e =
, D




0 ... 0
0 ... 0 

.. . . ..  .
. . 
.
0 0 ... 0
d
0
..
.
(36)
Отсюда вытекает, что для автоматов (30) и (31) заведомо истинны все результаты, полученные для автоматов (28) и (29), переформулированные с учетом равенств
(32)–(36).
В [1, 52, 53] исследовано:
1) множество An,1 представленных в матричном виде нелинейных автоматов Мили
(
qt+1 = A ◦ qt ◦ qTt ◦ b ⊕ C ◦ qt ⊕ d ⊕ E ◦ xt+1 ,
(t ∈ Z+ )
(M1 , q0 ) :
yt+1 = G ◦ qt ⊕ F ◦ xt+1 ,
и множество An,2 представленных в матричном виде нелинейных автоматов Мура
(
qt+1 = A ◦ qt ◦ qTt ◦ b ⊕ C ◦ qt ⊕ d ⊕ E ◦ xt+1 ,
(M2 , q0 ) :
(t ∈ Z+ ),
yt+1 = G ◦ qt+1 ,
где b, d ∈ Znpk — фиксированные вектор-столбцы; A, C, E, G, F ∈ Mn — фиксированные
матрицы; qt , xt , yt ∈ Znpk — вектор-столбцы, представляющие состояние автомата, входной символ и выходной символ в момент t;
2) множество An,3 представленных в матрично-скалярном виде нелинейных автоматов Мили
 (i)
(i)
T

qt+1 = qt ◦ Ai ◦ qt ⊕ ci ◦ qt ⊕ di ⊕ ei ◦ xt+1 (i = 1, . . . , r),
(i)
(t ∈ Z+ )
(M3 , q0 ) : qt+1
= qTt ◦ Ai ◦ qt ⊕ ci ◦ qt ⊕ di (i = r + 1, . . . , n),

 (i)
(i)
(i)
yt+1 = gi ◦ qt ⊕ fi ◦ xt+1 (i = 1, . . . , r),
и множество An,4 представленных в матрично-скалярном виде нелинейных автоматов
Мура
 (i)
(i)
T

qt+1 = qt ◦ Ai ◦ qt ⊕ ci ◦ qt ⊕ di ⊕ ei ◦ xt+1 (i = 1, . . . , r),
(i)
(t ∈ Z+ ),
(M4 , q0 ) : qt+1
= qTt ◦ Ai ◦ qt ⊕ ci ◦ qt ⊕ di (i = r + 1, . . . , n),

 (i)
(i)
yt+1 = gi ◦ qt+1 (i = 1, . . . , r),
где r (1 6 r 6 n) — фиксированное число; Ai ∈ Mn — фиксированные матрицы; ci ∈ Znpk
(i = 1, . . . , n) — фиксированные векторы; ei , gi , fi ∈ Zpk (i = 1, . . . , r) — фиксированные
обратимые элементы кольца Z pk ; qt , xt , yt ∈ Znpk — вектор-столбцы, представляющие
состояние автомата, входной символ и выходной символ в момент t.
Замечание 3. Интерес к исследованию множеств автоматов An,1 , An,2 , An,3 и An,4
обусловлен тем, что значительное часть автоматов над кольцом Z pk , построенных
на основе модельных хаотических динамических систем, принадлежит именно этим
множествам автоматов. В частности, все автоматы над кольцом Z pk , построенные
в разд. 2, принадлежат множеству An,4 .
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинаторно-алгебраические модели в криптографии
97
В [1, 54, 55] исследовано множество AGH симметричных нелинейных автоматов
Мура
 (1)
(1)
(1)
(2)
(3)
qn+1 = qn ◦ (d ⊕ a ◦ (qn )2 ⊕ b ◦ (qn )2 ⊕ c ◦ (qn )2 ⊕ α1 ◦ xn+1 ,



q (2) = q (2) ◦ (d ⊕ c ◦ (q (1) )2 ⊕ a ◦ (q (2) )2 ⊕ b ◦ (q (3) )2 ⊕ α ◦ x ,
n
n
n
n
2
n+1
n+1
(MGH , q0 ) :
(n ∈ Z+ )
(3)
(3)
(1) 2
(2) 2
(3) 2

q
=
q
n ◦ (d ⊕ b ◦ (qn ) ⊕ c ◦ (qn ) ⊕ a ◦ (qn ) ⊕ α3 ◦ xn+1 ,

n+1

 (i)
(i)
yn+1 = qn+1 (i = 1, 2, 3),
и множество AFR симметричных нелинейных автоматов Мура

(3)
(1)
(1)

qn+1 = f (qn ) ◦ ζ qn ⊕ α1 ◦ xn+1 ,



(1)
(2)
 (2)
qn+1 = f (qn ) ◦ ζ qn ⊕ α2 ◦ xn+1 ,
(MFR , q0 ) :
(n ∈ Z+ ),
(2)
(3)
(3)
qn

q
=
f
(q
)
◦
ζ
⊕
α
◦
x
,

n
3
n+1
n+1


y (i) = q (i) (i = 1, 2, 3),
n+1
(1)
(2)
(3)
n+1
(1)
(2)
(3)
где xn ∈ Zpk , yn = (yn , yn , yn )T ∈ Z3pk и qn = (qn , qn , qn )T ∈ Z3pk — соответственно входной символ, выходной символ и состояние автомата в момент n; отображение
f (x) = a ◦ x ◦ (1 x) представляет собой аналог логистического отображения над
кольцом Z pk ; α1 , α2 , α3 , ζ ∈ Zpk — фиксированные обратимые элементы кольца Z pk ;
a, b, c, d ∈ Zpk — фиксированные элементы кольца Z pk .
Подчеркнем, что автоматы MGH и MFR построены на основе модельных хаотических динамических систем, исследованных в [56], а именно: Guckenheimer and Holmes
cycle (GH) и free-running system (FR).
Замечание 4. Интерес к исследованию автоматов MGH и MFR обусловлен следующими обстоятельствами.
Во-первых, оба автомата имеют нетривиальные группы симметрий, а, как известно,
теория симметрий [57] — мощный аппарат анализа динамических систем.
Во-вторых, изменение динамических переменных Guckenheimer and Holmes cycle
представлено многочленами 3-й степени, а, как известно, решение кубических уравнений над конечным кольцом — сложная задача.
В-третьих, изменение динамических переменных free-running system осуществляется с помощью показательной функции, а, как известно, дискретное логарифмирование (т. е. операция, обратная показательной функции) — базовая конструкция криптографии.
Анализ представленных автоматных моделей показывает, что если M — обратимый
автомат, а M −1 — обратный ему автомат, то упорядоченная пара ((M, q0 ), (M −1 , q0 )) —
симметричный поточный шифр, причем в процессе шифрование— расшифрование автоматы M и M −1 движутся в пространстве состояний по одной и той же траектории.
Отсюда вытекает, что за счет одновременного использования прямого и обратного автоматов возможно осуществлять контроль (т. е. обнаружение или исправление) некоторых ошибок, возникающих в процессе передачи информации по каналу связи.
Подчеркнем, что для шифра ((M, q0 ), (M −1 , q0 )) параметры представляют собой
ключ средней длительности, а начальное состояние q0 — сеансовый ключ.
3.2. К о н е ч н о - а в т о м а т н ы е х а р а к т е р и с т и к и и с с л е д у е м ы х
моделей
Анализ представленных автоматных моделей показывает, что каждое из множеств
An,3 , An,4 , AGH и AFR состоит из обратимых автоматов.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
98
В. Г. Скобелев
e l,1 , A
e l,2 , An,1 , An,2 }) множество всех обратиОбозначим через Xinv (X ∈ {An,1 , An,2 , A
мых автоматов M ∈ X, через Minv
n — множество всех обратимых матриц A ∈ Mn , а через
—
множество
всех
необратимых
матриц A ∈ Mn .
Mnon-inv
n
e l,1 , A
e l,2 , An,1 , An,2 }) хаПринадлежность автомата множеству Xinv (X ∈ {An,1 , An,2 , A
рактеризуется следующим образом:
1) M1 ∈ An,1 — обратимый автомат тогда и только тогда, когда D ∈ Minv
n ;
2) M2 ∈ An,2 — обратимый автомат тогда и только тогда, когда B, C ∈ Minv
n ;
e
f
3) M1 ∈ Al,1 — обратимый автомат тогда и только тогда, когда d ∈ Zpk — обратимый
элемент кольца Z pk ;
e l,2 — обратимый автомат тогда и только тогда, когда c1 , b ∈ Zpk — обратиf2 ∈ A
4) M
мые элементы кольца Z pk ;
5) M1 ∈ An,1 — обратимый автомат тогда и только тогда, когда F ∈ Minv
n ;
6) M2 ∈ An,2 — обратимый автомат тогда и только тогда, когда E, G ∈ Minv
n .
Именно на основании этих критериев и построены соответствующие обратные автоматы.
Пример 11.
1. Автоматы, обратные автоматам Mi ∈ An,i (i = 1, 2), имеют вид
(
qt+1 = A1 ◦ qt ⊕ B1 ◦ xt+1 ,
(M1−1 , q0 ) :
(t ∈ Z+ ),
yt+1 = C1 ◦ qt ⊕ D1 ◦ xt+1 ,
где A1 = A B ◦ D−1 ◦ C, B1 = B ◦ D−1 , C1 = D−1 ◦ C, D1 = D−1 , и
(
qt+1 = B1 ◦ xt+1 ,
(M2−1 , q0 ) :
(t ∈ Z+ ),
yt+1 = C1 ◦ qt ⊕ D1 ◦ xt+1 ,
где B1 = C −1 , C1 = A, D1 = B −1 ◦ C −1 .
2. Автоматы, обратные автоматам Mi ∈ An,i (i = 1, 2), имеют вид
(
qt+1 = A ◦ qt ◦ qTt ◦ b ⊕ C1 ◦ qt ⊕ d ⊕ E1 ◦ xt+1 ,
(t ∈ Z+ ),
(M1−1 , q0 ) :
yt+1 = F −1 ◦ (xt+1 G ◦ qt ),
где C1 = C E ◦ F −1 ◦ G, E1 = E ◦ F −1 , и
(
qt+1 = G−1 ◦ xt+1 ,
(M2−1 , q0 ) :
yt+1 = E −1 ◦ (G−1 ◦ xt+1 (A ◦ qt ◦ qTt ◦ b ⊕ C ◦ qt ⊕ d)),
(t ∈ Z+ ).
Отметим, что построенные в примере 11 обратные автоматы — автоматы типа
Мили.
Основные нетривиальные подмножества исследуемых автоматов характеризуются
следующим образом:
1) граф переходов автомата Mi ∈ An,i (i = 1, 2) — полный граф с петлями тогда и
только тогда, когда B ∈ Minv
n ;
2) если A ∈ Minv
,
то
M
i ∈ An,i (i = 1, 2) — перестановочный автомат;
n
inv
3) если C ∈ Mn , то M1 ∈ An,1 — приведенный автомат, и его степень различимости
равна 1;
4) если A, C ∈ Minv
n , то M2 ∈ An,2 — приведенный автомат, и его степень различимости равна 1;
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинаторно-алгебраические модели в криптографии
99
5) если A, C ∈ Mnon-inv
и система уравнений
n
(
A ◦ u = 0,
C ◦u=0
имеет ненулевое решение, то в автомате M1 ∈ An,1 существуют состояния-близнецы;
6) если A ∈ Mnon-inv
, то в автомате M2 ∈ An,2 существуют состояния-близнецы;
n
e l,j (j = 1, 2) является сильно связным автоматом
fj ∈ A
7) для всех l ∈ N автомат M
тогда и только тогда, когда b ∈ Zpk — обратимый элемент кольца Z pk ;
e l,j (j = 1, 2) является сильно связным
fj ∈ A
8) для всех l ∈ N, если автомат M
автоматом, то диаметр его графа переходов равен l;
e l,j (j = 1, 2) является перестановочным автоматом
fj ∈ A
9) для всех l ∈ N автомат M
тогда и только тогда, когда al ∈ Zpk — обратимый элемент кольца Z pk ;
inv
10) если E ∈ Minv
n , то Mi ∈ An,i (i = 1, 2) — сильно связный перестановочный автомат,
причем диаметр его графа переходов равен 1;
inv
11) если G ∈ Minv
n , то M1 ∈ An,1 — приведенный автомат;
12) M2 ∈ Ainv
n,2 — сильно связный перестановочный автомат, и диаметр его графа
переходов равен 1;
13) если E ∈ Mnon-inv
, то или автомат M1 ∈ Ainv
n
n,1 несвязен, или диаметр его графа
переходов больше чем 1;
14) если r = n, то Mi ∈ An,i (i = 3, 4) — сильно связный перестановочный автомат,
и диаметр его графа переходов равен 1;
15) если r < n, то автомат Mi ∈ An,i (i = 3, 4) не является сильно связным перестановочным автоматом или диаметр его графа переходов больше чем 1;
16) из каждого состояния q ∈ Znpk автомата Mi ∈ An,i (i = 3, 4) в точности pk·r
различных состояний автомата Mi ∈ An,i являются 1-достижимыми;
17) любой автомат MGH ∈ AGH , а также любой автомат MFR ∈ AFR не является
сильно связным автоматом;
18) подавтомат автомата MGH ∈ AGH , а также подавтомат автомата MFR ∈ AFR ,
определяемые множеством состояний
S1 = {q = (q, q, q)T |q ∈ Zpk },
являются приведенными перестановочными автоматами, причем диаметр графа переходов каждого из них равен 1;
19) если d ≡ 0 (mod pd0,5·ke ), то автомат MGH ∈ AGH не является перестановочным
автоматом;
20) автомат MFR ∈ AFR не является перестановочным автоматом. Сформулированные выше утверждения характеризуют подмножества автоматов в терминах обратимых, необратимых и произвольных элементов или матриц над кольцом Z pk . Отсюда
вытекает следующий унифицированный способ оценки мощности подмножеств автоматов: если в характеристике автомата, принадлежащего заданному подмножеству,
фигурирует γ1 обратимых, γ2 необратимых и γ3 произвольных элементов или матриц
над кольцом Z pk , выбор которых осуществляется независимо, а число таких элементов или матриц над кольцом Z pk равно соответственно ρ1 , ρ2 и ρ3 , то оценка мощности
заданного подмножества автоматов имеет вид ργ11 · ργ22 · ργ33 .
Пример 12. Число обратимых и необратимых элементов кольца Z pk равно (см.,
напр., [1]) соответственно (p − 1) · pk−1 и pk−1 , и (см., напр., [23]) верны следующие
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
100
В. Г. Скобелев
равенства:
2
|Mn | = pn ,
|Minv
n |
n
Y
= |Mn | ·
(1 − p−i ),
i=1
|Mnon-inv
|
n
n
Y
= |Mn |(1 − (1 − p−i )).
i=1
На основании этих оценок в [58] установлены следующие оценки мощностей множеств автоматов:
1) для всех n ∈ N истинны равенства
|Ainv
n,i | = |An,i | ·
n
Y
(1 − p−j )i (i = 1, 2),
j=1
где
|An,i | = |Mn |5−i (i = 1, 2);
(1)
2) если Dn — множество всех диагональных матриц X ∈ Mn , на главной диагонали
которых расположены обратимые элементы кольца Z pk ,
inv
(1)
Binv
n,1 = {M1 ∈ An,1 |D ∈ Dn },
inv
(1)
Binv
n,2 = {M2 ∈ An,2 |B, C ∈ Dn },
то для всех n ∈ N истинны равенства
inv
n
(k−1−k·n)·n i
|Binv
) (i = 1, 2);
n,i | = |An,i |((p − 1) · p
3) если Gn,i (i = 1, 2) — множество всех автоматов Mi ∈ An,i , у которых граф переходов — полный граф с петлями, и
inv
Ginv
n,i = Gn,i ∩ An,i (i = 1, 2),
то для всех n ∈ N истинны равенства
|Ginv
n,i |
n
Y
= |An,i | ·
(1 − p−j )2 (i = 1, 2);
j=1
4) если Cn,i (i = 1, 2) — множество всех перестановочных автоматов Mi ∈ An,i и
inv
Cinv
n,i = Cn,i ∩ An,i (i = 1, 2),
то для всех n ∈ N истинны равенства
|Cinv
n,i |
n
Y
= |An,i | ·
(1 − p−j )i+1 (i = 1, 2);
j=1
5) если Dn,i (i = 1, 2) — множество всех приведенных автоматов Mi ∈ An,i и
inv
Dinv
n,i = Dn,i ∩ An,i (i = 1, 2),
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинаторно-алгебраические модели в криптографии
101
то для всех n ∈ N истинны неравенства
n
Y
> |An,i | ·
(1 − p−j )i+1 (i = 1, 2);
|Dinv
n,i |
j=1
6) если En,i (i = 1, 2) — множество всех автоматов Mi ∈ An,i , имеющих состоянияблизнецы, и
inv
Einv
n,i = En,i ∩ An,i (i = 1, 2),
то для всех n > N истинны неравенства
|Einv
n,i | > |An,i | · (1 −
n
n
Y
Y
(1 − p−j ))3−i ·
(1 − p−j )i (i = 1, 2);
j=1
j=1
(2)
7) если Dn — множество всех диагональных матриц X ∈ Mn , у которых на главной
диагонали расположены необратимые элементы кольца Z pk ,
inv
(2)
Finv
n,1 = {M1 ∈ An,1 |A, C ∈ Dn }
и
inv
(2)
Finv
n,2 = {M2 ∈ An,2 |A ∈ Dn },
то для всех n ∈ N истинны равенства
|Finv
n,i |
=
|Ainv
n,i |
·p
(3−i)·n·(k−1−k·n)
n
Y
· (1 − p−j )i (i = 1, 2);
j=1
8) для всех n ∈ N истинны равенства
e inv | = |A
e l,j | · p−j (p − 1)j (j = 1, 2),
|A
l,j
где
e l,j | = pk·(2·l+3−j) (j = 1, 2);
|A
e sc (j = 1, 2) — множество всех сильно связных автоматов M
e l,j и
fj ∈ A
9) если A
l,j
e sc-inv = A
e sc ∩ A
e inv (j = 1, 2),
A
l,j
l,j
l,j
то для всех l ∈ N истинны равенства
sc-inv
e
|A
l,j
e l,j | · (1 − p−1 )2 (j = 1, 2);
| = |A
e p (j = 1, 2) — множество всех перестановочных автоматов M
e l,j и
fj ∈ A
10) если A
l,j
e p-inv = A
ep ∩ A
e inv (j = 1, 2),
A
l,j
l,j
l,j
то для всех l ∈ N истинны равенства
p-inv
−1 j+1
e
e
|A
(j = 1, 2).
l,j | = |Al,j |(1 − p )
Отметим, что оценки мощностей подмножеств обратимых автоматов, установленные в примере 12, дают возможность оценить число ключей средней длительности для
шифров, построенных на основе обратимых автоматов с соответствующей структурой.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
102
В. Г. Скобелев
3.3. Э к в и в а л е н т н о с т ь с о с т о я н и й и с с л е д у е м ы х м о д е л е й
Исследование структуры множеств эквивалентных состояний исследуемых моделей
представляет интерес не только с позиции теории автоматов, но и с позиции криптографии, так как эти результаты дают возможность охарактеризовать структуру множества эквивалентных сеансовых ключей поточных шифров, построенных на основе
обратимых автоматов с соответствующей структурой.
В [1, 48, 49] показано, что:
1) инициальные автоматы (M1 , q0 ) и (M10 , q00 ) (M1 , M10 ∈ An,1 ) эквивалентны тогда
и только тогда, когда выполнены следующие условия:
а) D = D0 ;
б) C 0 ◦ q00 C ◦ q0 = 0;
в) C 0 ◦ (A0 )t ◦ q00 C ◦ At ◦ q0 = 0 (t = 1, . . . , 2 · pk·n − 2);
г) C 0 ◦ (A0 )t ◦ B 0 C ◦ At ◦ B = O (t = 1, . . . , 2 · pk·n − 3) (через O обозначена нулевая
n × n -матрица);
д) C 0 ◦ B 0 C ◦ B = O;
2) инициальные автоматы (M2 , q0 ) и (M20 , q00 ) (M2 , M20 ∈ An,2 ) эквивалентны тогда
и только тогда, когда выполнены следующие условия:
а) C 0 ◦ B 0 C ◦ B = O;
б) C 0 ◦ (A0 )t ◦ q00 C ◦ At ◦ q0 = 0 (t = 1, . . . , 2 · pk·n − 1);
в) C 0 ◦ (A0 )t ◦ B 0 C ◦ At ◦ B = O (t = 1, . . . , 2 · pk·n − 2).
Из этих критериев вытекает, что:
1) состояния q0 и q00 автомата M1 ∈ An,1 эквивалентны тогда и только тогда, когда
выполнены следующие условия:
а) C ◦ (q00 q0 ) = 0;
б) C ◦ At ◦ (q00 q0 ) = 0 для всех t = 1, . . . , pk·n − 2;
2) состояния q0 и q00 автомата M2 ∈ An,2 эквивалентны тогда и только тогда, когда
C ◦ At ◦ (q00 q0 ) = 0 для всех t = 1, . . . , pk·n − 2.
Отметим, что из этих утверждений, в частности, следует, что:
1) если C ∈ Minv
n , то M1 ∈ An,1 — приведенный автомат;
2) если A, C ∈ Minv
n , то M2 ∈ An,2 — приведенный автомат.
В [1, 52, 53] показано, что:
1) если G ∈ Mnon-inv
, то q0 и q00 — эквивалентные состояния автомата M1 ∈ Ainv
n
n,1 тогда
и только тогда, когда выполнены следующие условия:
а) G ◦ (q00 q0 ) = 0;
б) G ◦ (q0t qt ) = 0 (t = 1, . . . , pk·n − 2) для любого входного слова x1 . . . xt ∈ Zn·t
;
pk
inv
2) состояния автомата M2 ∈ An,2 эквивалентны тогда и только тогда, когда они
являются близнецами;
e0 автомата M3 ∈ An,3 эквивалентны тогда и только тогда, когда
3) состояния q0 и q
для всех i = 1, . . . , r выполнены следующие условия:
(i)
(i)
а) qe0 q0 = 0;
(i)
(i)
б) qet qt = 0 для любого входного слова x1 . . . xt ∈ Zr·t
(t = 1, . . . , pk·n − 2);
pk
e0 автомата M4 ∈ An,4 эквивалентны тогда и только тогда, когда
4) состояния q0 и q
(i)
(i)
qet qt = 0 (i = 1, . . . , r) для любого входного слова x1 . . . xt ∈ Zr·t
(t = 1, . . . , pk·n − 1).
pk
В [1, 55] показано, что:
а) состояния автомата MGH ∈ AGH эквивалентны тогда и только тогда, когда они
являются близнецами;
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинаторно-алгебраические модели в криптографии
103
б) состояния автомата MFR ∈ AFR эквивалентны тогда и только тогда, когда они
являются близнецами.
Приведенные выше критерии эквивалентности состояний исследуемых моделей дают возможность для поточных шифров, построенных на основе обратимых автоматов
с соответствующей структурой, представить в виде множества решений систем уравнений над конечным кольцом множество всех состояний автомата, эквивалентных заданному состоянию (т. е., по своей сути, множество всех сеансовых ключей соответствующего поточного шифра, эквивалентных заданному сеансовому ключу).
Пример 13. В [1] показано, что для автомата M2 ∈ Ainv
n,2 множество всех состоe, эквивалентных заданному состоянию q0 , совпадает с множеством решений
яний q
следующей системы нелинейных уравнений:
eT q0 ◦ qT0 ) ◦ b ⊕ ◦(e
A ◦ (e
q◦q
q q0 ) = 0.
Дополнительный учет факторов, вытекающих из структуры уравнений, которые
определяют построенный на основе конкретной модельной хаотической динамической
системы обратимый автомат, дает возможность детализировать приведенные выше
критерии эквивалентности состояний, а также провести более тщательный их анализ.
Проиллюстрируем сказанное на примере автоматов, построенных в разд. 2.
Пример 14.
(1) (2) (3)
(1) (2) (3)
1. Cостояния q0 = (q0 , q0 , q0 )T и qe0 = (e
q0 , qe0 , qe0 )T автомата MR ∈ A3,4 являются эквивалентными состояниями тогда и только тогда, когда
 (1)
(1)
−1

qe0 = q0 (a ⊕ h ) ◦ ∆,
(2)
(2)
qe0 = q0 ⊕ ∆,

 (3)
(3)
qe0 = q0 (a ◦ h−1 ⊕ h−2 ⊕ 1) ◦ ∆,
где ∆ — решение нелинейного уравнения
(3)
(a ◦ h ⊕ 1) ◦ (a ◦ h−1 ⊕ h−2 ⊕ 1) ◦ ∆2 (q0 ◦ (a ◦ h ⊕ 1)⊕
(1)
⊕q0 ◦ (a ⊕ h−1 ⊕ h) ⊕ (1 h ◦ r) ◦ (a ◦ h−1 ⊕ h−2 ⊕ 1)) ◦ ∆ = 0.
Отсюда, в частности, вытекает, что:
(1) (2) (3)
(1) (2) (3)
1) если у двух различных состояний q0 = (q0 , q0 , q0 )T и qe0 = (e
q0 , qe0 , qe0 )T
автомата MR ∈ A3,4 совпадают вторые компоненты, то состояния q0 и qe0 являются
неэквивалентными состояниями автомата MR ∈ A3,4 ;
(1) (2) (3)
(1) (2) (3)
2) любые эквивалентные состояния q0 = (q0 , q0 , q0 )T и qe0 = (e
q0 , qe0 , qe0 )T автомата MR ∈ A3,4 являются близнецами.
(1) (2) (3)
(1) (2) (3)
2. Cостояния q0 = (q0 , q0 , q0 )T и qe0 = (e
q0 , qe0 , qe0 )T автомата MS ∈ A3,4 являются эквивалентными состояниями тогда и только тогда, когда
 (1)
(1)
(2)
(2)

q0 q0 ) ⊕ h ◦ (e
q0 q0 ) = 0,
(e
(2)
(2)
(1)
(1)
(2)
(3)
(2)
(3)
(e
q0 q0 ) h ◦ (e
q0 q0 ) ⊕ h ◦ (e
q0 ◦ qe0 q0 ◦ q0 ) = 0,

 (2) (3)
(2)
(3)
qet ◦ qet qt ◦ qt = 0 (t = 1, . . . , p3·k − 3)
для всех x1 . . . xt ∈ Ztpk .
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
104
В. Г. Скобелев
(1)
(2)
(3)
Из этого утверждения, в частности, вытекает, что состояния q0 = (q0 , q0 , q0 )T
(1) (2) (3)
и qe0 = (e
q0 , qe0 , qe0 )T автомата MS ∈ A3,4 являются близнецами тогда и только тогда,
когда
 (1)
(1)

qe0 = q0 h ◦ ∆,
(2)
(2)
qe0 = q0 ⊕ ∆,

 (3)
(3)
(2)
qe0 = q0 ⊕ 2 ◦ h ◦ q0 ◦ ∆ ⊕ h ◦ ∆2 ,
где ∆ — решение нелинейного уравнения
(2)
(2)
(3)
∆3 ⊕ 3 ◦ q0 ◦ ∆2 ⊕ (2 ◦ (q0 )2 ⊕ h−1 ◦ q0 ⊕ 1 ⊕ h−2 ) ◦ ∆ = 0.
(1) (2) (3)
(1) (2) (3)
3. Cостояния q0 = (q0 , q0 , q0 )T и qe0 = (e
q0 , qe0 , qe0 )T автомата ML ∈ A3,4 являются эквивалентными состояниями тогда и только тогда, когда
(
(1)
(1)
(2)
(2)
(1)
(3)
(1)
(3)
a2 ◦ (e
q0 q0 ) ⊕ (h−1 1) ◦ (e
q0 q0 ) (e
q0 ◦ qe0 q0 ◦ q0 ) = 0,
(1)
(1)
(1)
(3)
(1)
(3)
a2 ◦ (e
qt qt ) (e
qt ◦ qet qt ◦ qt ) = 0 (t = 1, . . . , p3·k − 2)
для всех x1 . . . xt ∈ Ztpk .
(1)
(2)
(3)
Из этого утверждения, в частности, вытекает, что состояния q0 = (q0 , q0 , q0 )T
(1) (2) (3)
и qe0 = (e
q0 , qe0 , qe0 )T автомата ML ∈ A3,4 являются близнецами тогда и только тогда,
когда
 (1)
qe0 = q0(1) ⊕ ∆1 ,

(2)
(2)
qe0 = q0 ⊕ ∆2 ,

 (3)
(3)
qe0 = q0 ⊕ ∆3 ,
где (∆1 , ∆2 , ∆3 ) — решение нелинейной системы уравнений

−1

(h a1 ) ◦ ∆1 ⊕ a1 ◦ ∆2 = 0,
(1)
(3)
(a2 q0 ) ◦ ∆1 ⊕ (h−1 1) ◦ ∆2 q0 ◦ ∆3 ∆1 ◦ ∆3 = 0,

 (2)
(1)
q0 ◦ ∆1 ⊕ q0 ◦ ∆2 ⊕ (h−1 a3 ) ◦ ∆3 ⊕ ∆1 ◦ ∆2 = 0.
4. Cостояния q0 = (q1 , q0 )T и qe0 = (e
q1 , qe0 )T автомата MH ∈ A2,4 являются эквивалентными состояниями тогда и только тогда, когда
(
q0 q0 ) = 0,
a ◦ (e
q12 q12 ) b ◦ (e
b ◦ (e
q1 q1 ) = 0.
Из этого утверждения, в частности, вытекает, что:
1) если b ∈ Zpk — обратимый элемент кольца Z pk , то MH ∈ A2,4 — приведенный
автомат;
2) состояния q0 = (q1 , q0 )T и qe0 = (e
q1 , qe0 )T автомата MH ∈ A2,4 являются близнецами
тогда и только тогда, когда
(
qe1 = q1 ,
b ◦ (e
q0 q0 ) = 0.
В заключение отметим, что из установленных выше критериев вытекает, что для
нелинейных автоматов над кольцом Z pk построение в явном виде множества состояний, эквивалентных заданному состоянию, является трудной задачей, сводимой к решению систем нелинейных уравнений над кольцом Z pk . Такая особенность структуры
множеств эквивалентных состояний, по-видимому, свидетельствует о том, что минимизация нелинейного автомата может существенно усложнить систему уравнений, представляющую такой автомат.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинаторно-алгебраические модели в криптографии
105
3.4. П а р а м е т р и ч е с к а я и д е н т и ф и к а ц и я и с с л е д у е м ы х м о д е л е й
С позиции теории автоматов сложность решения задачи параметрической идентификации исследуемых моделей характеризует сложность решения задачи распознавания автомата в классе, полученном вариацией значений параметров, а с позиции
криптографии — сложность атаки криптоаналитика на ключ средней длительности поточного шифра, построенного на основе соответствующего обратимого автомата.
Именно с позиции криптографии целесообразно рассматривать наиболее сильную
атаку криптоаналитика. В терминах теории систем такие предположения состоят
в том, что:
1) экспериментатор полностью управляет входом и полностью наблюдает выход
исследуемой модели;
2) экспериментатор может осуществлять над исследуемой моделью кратный эксперимент любой кратности, причем под кратным экспериментом понимается возможность установки исследуемой модели в любое требуемое экспериментатору состояние.
В [1, 48, 49] показано, что:
1) для автомата M1 ∈ An,1 :
а) каждая из матриц C и D идентифицируется в результате n-кратного эксперимента высоты 1;
б) если C ∈ Minv
n , то идентификация каждой из матриц A и B сводится к решению n
систем линейных уравнений n-го порядка над кольцом Z pk , построенных в результате
n-кратного эксперимента высоты 2;
, то идентификация матриц A и B сводится к решению высоков) если C ∈ Mnon-inv
n
степенных систем уравнений
i
C ◦ (A ◦ q0 ⊕
i−1
M
Ai−j ◦ B ◦ xj ⊕ xi ) = yi+1 D ◦ xi+1
j=1
для всех q0 ∈ Znpk и x1 . . . xi ∈ Zn·i
(i = 1, . . . , pn·k − 1);
pk
2) для автомата M2 ∈ An,2 идентификация матриц A, B, C сводится к решению
высокостепенных систем уравнений
C ◦ (A
i+1
◦ q0 ⊕
i−1
M
Ai−j ◦ B ◦ xj+1 ⊕ xi+1 ) = yi+1
j=0
для всех q0 ∈ Znpk и x1 . . . xi ∈ Zn·i
(i = 1, . . . , pn·k − 1).
pk
В [1, 52, 53] показано, что:
1) для автомата M1 ∈ Ainv
n,1 :
а) каждая из матриц G и F идентифицируется в результате n-кратного эксперимента высоты 1;
б) идентификация вектора d с точностью, определяемой матрицей G, осуществляется простым экспериментом длины 2;
в) идентификация матрицы E с точностью, определяемой матрицей G, осуществляется n-кратным экспериментом высоты 2;
г) идентификация матриц A, C и вектора b сводится к поиску начального состояния
q0 ∈ Znpk и входного слова x1 . . . xl ∈ Zpn·lk с последующим решением нелинейной системы
уравнений
G ◦ (A ◦ qt−1 ◦ qTt−1 ◦ b ⊕ C ◦ qt−1 ⊕ d ⊕ E ◦ xt ) = yt+1 F ◦ xt+1 (t = 1, . . . , l − 1);
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
106
В. Г. Скобелев
2) для автомата M2 ∈ Ainv
n,2 :
а) идентификация матрицы E осуществляется в результате n-кратного эксперимента высоты 1, причем множество возможных кандидатов на матрицу E определяется
множеством решений (G, d) уравнения
G ◦ d = y1 ;
б) идентификация матриц A, C и вектора b сводится к поиску начального состояния q0 ∈ Znpk и входного слова x1 . . . xl ∈ Zpn·lk с последующим решением нелинейной
системы уравнений
G ◦ (A ◦ qt ◦ qTt ◦ b ⊕ C ◦ qt ⊕ d ⊕ E ◦ xt+1 ) = yt+1 (t = 0, 1, . . . , l − 1).
Ясно, что дополнительный учет факторов, вытекающих из структуры уравнений,
определяющих обратимый автомат, построенный на основе конкретной модельной хаотической динамической системы, дает возможность провести более тщательный анализ сложности решения задачи параметрической идентификации.
Пример 15.
1. В [1, 55] показано, что:
1) для каждого из автоматов MGH ∈ AGH и MFR ∈ AFR идентификация параметров
α1 , α2 , α3 осуществляется простым экспериментом длины 1;
2) для автомата MGH ∈ AGH :
а) идентификация параметров b и c осуществляется кратным экспериментом кратности 2 и высоты 1;
б) для любого простого числа p > 3 идентификация параметров a и d сводится
к решению системы двух линейных уравнений, сформированной в результате простого
эксперимента длины 1;
3) для автомата MFR ∈ AFR для любого простого числа p > 3 идентификация
параметров a и ζ сводится к решению системы двух уравнений, сформированной в результате простого эксперимента длины 1.
2. Для автомата MR ∈ A3,4 задача параметрической идентификации решается следующим образом.
Подав на автомат (MR , q0 ), где q0 = (0, 1, 0)T , входной символ x1 = 0, получим
h = y1 .
Подав на автомат (MR , 0) входной символ x1 = 1, получим
d = h−1 ◦ y1 .
Подав на автомат (MR , 0) входное слово x1 x2 = 00, получим
b = h−2 ◦ y2 .
Подав на автомат (MR , q0 ), где q0 = (0, 0, 1)T , входное слово x1 x2 = 00, получим
r = h−2 ◦ y2 ⊕ 2 ◦ h−1 b.
Подав на автомат (MR , q0 ), где q0 = (0, 1, 0)T , входное слово x1 x2 = 00, получим
a = 2 ◦ h−1 b h−2 ◦ y2 .
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинаторно-алгебраические модели в криптографии
107
3. Для автомата MS ∈ A3,4 задача параметрической идентификации решается следующим образом.
Подав на автомат (MS , q0 ), где q0 = (0, 1, 0)T , входной символ x1 = 0, получим
h = y1 .
Подав на автомат (MS , 0) входной символ x1 = 1, получим
a = h−1 ◦ y1 .
4. Для автомата ML ∈ A3,4 задача параметрической идентификации решается следующим образом.
Подав на автомат (ML , q0 ), где q0 = (0, 1, 0)T , входной символ x1 = 0, получим
h = 1 y1 .
Подав на автомат (ML , 0) входной символ x1 = 1, получим
a = h−1 ◦ y1 .
Подав на автомат (ML , q0 ), где q0 = (1, 0, 0)T , входное слово x1 x2 = 00, получим
a2 = h−1 ◦ y1
и
y2 = (1 h) ◦ h ◦ a2 ⊕ h ◦ a2 ◦ (1 h ◦ a1 ).
Из этого уравнения определяется множество допустимых значений параметра a1 .
Подав на автомат (ML , q0 ), где q0 = (1, 0, 1)T , входное слово x1 x2 = 00, получим
y2 = (1 h) ◦ h ◦ (a2 1) ⊕ h ◦ (1 h ◦ a1 ) ◦ (a2 ⊕ h ◦ a3 1).
Из этого уравнения определяется множество допустимых значений параметра a3 .
5. Для автомата MH ∈ A2,4 задача параметрической идентификации решается следующим образом.
Подав на автомат (MH , 0) входной символ x1 = 1, получим
c = y1 1.
Подав на автомат (MH , q0 ), где q0 = (0, 1)T , входной символ x1 = 0, получим
b = 1 y1 .
Подав на автомат (MH , q0 ), где q0 = (1, 0)T , входной символ x1 = 0, получим
a = 1 y1 .
В заключение отметим, что полученные результаты дают возможность разбить
на следующие два класса параметры, определяющие ключ средней длительности для
поточного шифра, построенного на основе обратимого автомата над кольцом Z pk .
К 1-му классу относятся параметры, идентификация которых не составляет большого труда. Для обеспечения секретности значений этих параметров бесполезно применять существенные меры.
Ко 2-му классу относятся параметры, идентификация которых является трудной
задачей. Именно на обеспечение секретности значений этих параметров и следует направить все усилия.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
108
В. Г. Скобелев
3.5. И д е н т и ф и к а ц и я н а ч а л ь н о г о с о с т о я н и я и с с л е д у е м ы х
моделей
Задача идентификации начального состояния конечного автомата — одна из модельных задач теории экспериментов с конечными автоматами (см., напр., [59]). В [60]
показано, что с позиции теории систем эта задача представляет собой анализ наблюдаемости динамической системы. В [61] показано, что даже для слабоинициальных
абстрактных автоматов с двухбуквенным входным алфавитом длина минимального
диагностического слова может являться субэкспонентой от размера автоматной таблицы. Отсюда вытекает (см., напр., [62]), что заведомо имеет субэкспоненциальную
временную сложность любой алгоритм поиска минимального диагностического слова, который за единицу времени восстанавливает фрагмент диагностического слова,
длина которого — полином от размера автоматной таблицы.
С позиции криптографии сложность решения задачи идентификации начального
состояния автомата характеризует сложность атаки криптоаналитика на сеансовый
ключ поточного шифра, построенного на основе соответствующего обратимого автомата.
Охарактеризуем сложность решения задачи идентификации начального состояния
посредством простого диагностического эксперимента для поточного шифра, построенного на основе обратимого автомата над кольцом Z pk . При этом естественно предположить, что криптоаналитику известны параметры исследуемого автомата, но
он не может управлять этими параметрами.
Замечание 5. Такие предположения характеризуют внутреннюю сложность задачи идентификации начального состояния автомата. При их ослаблении сложность
решения рассматриваемой задачи существенно возрастает, так как возникает тот или
иной вариант задачи построения контрольного эксперимента с автоматом. Если же
предположить, что экспериментатор может управлять параметрами, то возникает совершенно иная новая задача, а именно: идентификация начального состояния автомата посредством кратного эксперимента на основе вариации его параметров.
Исследование этой задачи, по своей сути, представляет собой разработку методов
дифференциального и интегрального анализа для словарных функций, реализуемых
инициальными обратимыми автоматами. Насколько известно автору, решение этой
задачи отсутствует в настоящее время.
В [1, 48, 49] показано, что:
1) для автомата M1 ∈ An,1 :
а) если C ∈ Minv
n , то идентификация начального состояния сводится к решению
системы линейных уравнений над кольцом Z pk , полученной в результате простого
эксперимента длины 1;
б) если C ∈ Mnon-inv
, то идентификация начального состояния (с точностью до
n
множества эквивалентных состояний) сводится к решению при известных матрицах
A, B, C, D систем линейных уравнений
i
C ◦ (A ◦ q0 ⊕
i−1
M
Ai−j ◦ B ◦ xj ⊕ xi ) = yi+1 D ◦ xi+1
j=1
для всех q0 ∈ Znpk и x1 . . . xi ∈ Zn·i
(i = 1, . . . , pn·k − 1);
pk
2) для автомата M2 ∈ An,2 :
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинаторно-алгебраические модели в криптографии
109
а) если C ∈ Minv
n , то идентификация начального состояния сводится к решению
системы линейных уравнений над кольцом Z pk , полученной в результате простого
эксперимента длины 1;
, то идентификация начального состояния (с точностью до
б) если A, C ∈ Mnon-inv
n
множества эквивалентных состояний) сводится к решению при известных матрицах
A, B, C систем линейных уравнений
C ◦ (Ai+1 ◦ q0 ⊕
i−1
M
Ai−j ◦ B ◦ xj+1 ⊕ xi+1 ) = yi+1
j=0
(i = 1, . . . , pn·k − 1).
для всех q0 ∈ Znpk и x1 . . . xi ∈ Zn·i
pk
inv
В [1, 52, 53] показано, что для автомата M1 ∈ Ainv
n,1 ∪ An,2 ∪ An,3 ∪ An,4 идентификация
начального состояния (с точностью до множества эквивалентных состояний) сводится
к поиску входного слова заранее неизвестной длины и решению высокостепенных систем нелинейных уравнений над кольцом Z pk , полученных в результате подачи этого
слова на исследуемый автомат.
В [1, 55] показано, что:
1) для автомата MGH ∈ AGH идентификация начального состояния сводится к последовательности решений систем трех кубических уравнений над кольцом Z pk ;
2) для автомата MFR ∈ AFR идентификация начального состояния сводится к последовательности решений задач дискретного логарифмирования над кольцом Z pk .
В заключение отметим, что высокая сложность решения задачи идентификации
начального состояния обратимых автоматов над кольцом Z pk свидетельствует о том,
что криптоаналитик столкнется с высокой сложностью идентификации секретного сеансового ключа при атаке на шифры, построенные на основе таких автоматов.
3.6. В а р и а ц и я п о в е д е н и я и с с л е д у е м ы х м о д е л е й
В замечании 5 было отмечено, что с позиции криптографии исследование вариации
поведения словарной функции, реализуемой инициальным обратимым автоматом, является актуальной при разработке методов дифференциального и интегрального анализа, предназначенных для исследования сложности атаки криптоаналитика на секретный ключ поточного шифра, построенного на основе соответствующего обратимого
автомата.
Проиллюстрируем некоторые особенности решения этой задачи на примере автомата M1 ∈ An,1 (см., напр., [1, 48, 49]).
Пусть
(
qt+1 = A ◦ qt ⊕ B ◦ xt+1 ,
(M1 , q0 ) :
(t ∈ Z+ ),
(37)
yt+1 = C ◦ qt ⊕ D ◦ xt+1 ,
(
b◦q
b◦x
bt+1 = A
bt ⊕ B
bt+1 ,
q
c1 , q
b0 ) :
(M
(t ∈ Z+ ).
(38)
b
b
bt+1 = C ◦ q
bt ⊕ D ◦ x
bt+1 ,
y
Положим
b = A ⊕ ∆A, B
b = B ⊕ ∆B, C
b = C ⊕ ∆C, D
b = D ⊕ ∆D,
A
bt+1 = qt+1 ⊕ ∆qt+1 , q
bt = qt ⊕ ∆qt , x
bt+1 = xt+1 ⊕ ∆xt+1 , y
bt+1 = yt+1 ⊕ ∆yt+1
q
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
110
В. Г. Скобелев
и вычтем из уравнений системы (38) уравнения системы (37). Получим

∆qt+1 = (A ◦ ∆qt ⊕ B ◦ ∆xt+1 ) ⊕ (∆A ◦ qt ⊕ ∆B ◦ xt+1 )⊕




⊕(∆A ◦ ∆qt ⊕ ∆B ◦ ∆xt+1 ),

∆yt+1 = (C ◦ ∆qt ⊕ D ◦ ∆xt+1 ) ⊕ (∆C ◦ qt ⊕ ∆D ◦ xt+1 )⊕



⊕(∆C ◦ ∆qt ⊕ ∆D ◦ ∆xt+1 ),
(t ∈ Z+ ).
(39)
Таким образом, анализ вариации поведения словарной функции, реализуемой инициальным автоматом M1 ∈ An,1 , сводится к совместному исследованию систем уравнений (37)–(39).
Нетрудно убедиться в том, что для нелинейных автоматов над кольцом Z pk аналог
системы уравнений (39) является значительно более громоздким.
Отсюда вытекает, что, по всей видимости, единственным способом анализа вариации поведения словарной функции, реализуемой инициальным автоматом над кольцом Z pk , является компьютерное моделирование с использованием той или иной системы символьных вычислений.
3.7. М н о ж е с т в о н е п о д в и ж н ы х т о ч е к и с с л е д у е м ы х м о д е л е й
Неподвижной точкой словарной функции
f : X+ → X+
называется такое слово u ∈ X + , что
f (u) = u.
С позиции криптографии актуальность исследования структуры множеств неподвижных точек словарных функций, реализуемых обратимыми автоматами над кольцом
Z pk , обусловлена тем, что учет этой структуры дает возможность разработать меры
по предотвращению ситуации, когда критический фрагмент открытого текста преобразуется в себя поточным шифром, построенным на основе такого автомата.
Рассмотрим результаты исследования структуры множеств неподвижных точек
словарных функций, представленные в [1, 55, 63].
Обозначим через Sf xd (M, q0 ) (M ∈ An,1 ∪ An,2 ∪ AGH ∪ AFR ) множество всех неподвижных точек словарной функции, реализуемой инициальным автоматом (M, q0 ).
Положим
(t)
Sf xd (M, q0 ) = Sf xd (M, q0 ) ∩ (Znpk )t (t ∈ N).
Так как
(t+1)
(t)
Sf xd (M, q0 ) ⊆ {ux|u ∈ Sf xd (M, q0 ), x ∈ Znpk } (t ∈ N),
(1)
то достаточно исследовать структуру множества Sf xd (M, q0 ).
В [1, 63] показано, что:
(1)
1) если M ∈ An,1 , то x ∈ Sf xd (M, q0 ) тогда и только тогда, когда x — решение
уравнения
(I D) ◦ x = C ◦ q0 ;
(1)
2) если M ∈ An,2 , то x ∈ Sf xd (M, q0 ) тогда и только тогда, когда x — решение
уравнения
(I C ◦ B) ◦ x = C ◦ A ◦ q0 .
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинаторно-алгебраические модели в криптографии
111
Отсюда вытекает, что:
1) для любого автомата M ∈ An,1 ∪ An,2 множество Sf xd (M, 0) непусто;
2) для любого автомата M ∈ An,1 , если I D ∈ Minv
n , то Sf xd (M, q0 ) — бесконечное
(t)
множество, причем Sf xd (M, q0 ) — одноэлементное множество для всех t ∈ N;
3) для любого автомата M ∈ An,2 , если I C ◦B ∈ Minv
n , то Sf xd (M, q0 ) — бесконечное
(t)
множество, причем Sf xd (M, q0 ) — одноэлементное множество для всех t ∈ N.
В [55] показано, что:
(1)
1) если M ∈ AGH , то x ∈ Sf xd (M, q0 ) тогда и только тогда, когда x — решение
системы уравнений

(1)
(1) 2
(2) 2
(3) 2

(1 α1 ) ◦ x = q0 ◦ (d ⊕ a ◦ (q0 ) ⊕ b ◦ (q0 ) ⊕ c ◦ (q0 ) ,
(2)
(1)
(2)
(3)
(1 α2 ) ◦ x = q0 ◦ (d ⊕ c ◦ (q0 )2 ⊕ a ◦ (q0 )2 ⊕ b ◦ (q0 )2 ,


(3)
(1)
(2)
(3)
(1 α3 ) ◦ x = q0 ◦ (d ⊕ b ◦ (q0 )2 ⊕ c ◦ (q0 )2 ⊕ a ◦ (q0 )2 ;
(1)
2) если M ∈ AFR , то x ∈ Sf xd (M, q0 ) тогда и только тогда, когда x — решение
системы уравнений

(3)
(1)
q

(1 α1 ) ◦ x = f (q0 ) ◦ ζ 0 ,
(1)
(2)
(1 α2 ) ◦ x = f (q0 ) ◦ ζ q0 ,

(2)

(3)
(1 α3 ) ◦ x = f (q0 ) ◦ ζ q0 .
Из этих уравнений несложно получить критерии непустоты множества Sf xd (M, q0 )
(M ∈ AGH ∪ AFR ) в случае, когда все элементы 1 αi (i = 1, 2, 3) являются обратимыми
элементами кольца Z pk .
В заключение отметим, что хотя учет структуры множества неподвижных точек
словарных функций, реализуемых обратимыми автоматами над кольцом Z pk , дает возможность разработать меры по предотвращению ситуации, когда критический фрагмент открытого текста преобразуется в себя поточным шифром, построенным на основе такого автомата, сама разработка этих мер является достаточно сложной задачей.
Выше был рассмотрен фрагмент теории автоматов над конечным кольцом с позиции их возможного использования при построениии поточных шифров. Некоторые
задачи, требующие дополнительного анализа, были охарактеризованы выше.
Если в качестве элементов секретного ключа кроме параметров автомата и начального состояния автомата использовать также числа p и k, то при атаке, направленной на идентификацию секретного ключа, криптоаналитик столкнется, по-видимому,
с необходимостью решения варианта проблемы тождества слов в свободных полугруппах. Ясно, что вычислительная стойкость таких поточных шифров существенно возрастет. Однако при этом возникает следующая проблема.
Специального исследования требует сравнительный анализ скорости поточных
шифров, построенных на основе обратимых автоматов над кольцом Z pk , со скоростью существующих поточных шифров. Результаты компьютерного моделирования с
использованием стандартных программ, реализующих операции в конечном кольце,
показывают, что скорость шифров, построенных на основе обратимых автоматов над
кольцом Z pk , существенно падает с ростом значений p и k.
Поэтому при использовании обратимых автоматов над кольцом Z pk для построения поточных шифров, по-видимому, придется существенно использовать аппаратнопрограммные реализации операций над фиксированным конечным кольцом, либо выделять мнотонно возрастающую подпоследовательность ki (i ∈ N) значений числа k
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
112
В. Г. Скобелев
и разрабатывать быстрые алгоритмы реализации операций над последовательностью
колец Z pki (i ∈ N).
ЛИТЕРАТУРА
1. Скобелев В. В., Скобелев В. Г. Анализ шифрсистем. Донецк: ИПММ НАН Украины,
2009. 479 с.
2. Логачев О. А., Сальников А. А., Ященко В. В. Булевы функции в теории кодирования и
криптологии. М.: МЦНМО, 2004. 470 с.
3. Скобелев В. Г., Сперанский Д. В. Идентификация булевых функций методами линейной
алгебры // Украинский математический журнал. 1995. Т. 47. № 2. С. 260–268.
4. Молдовян А. А., Молдовян Н. А., Гуц Н. Д., Изотов Б. В. Криптография. Скоростные
шифры. СПб: БХВ-Петербург, 2002. 496 с.
5. Huffman D. A. Canonical forms for information-lossless finite state logical machines // IRE
Transactions Circuit Theory. Special Supplment. 1959. V. CT-6. P. 41–59.
6. Even S. On information-lossless automata of finite order // IEEE Transactions on Electronic
Computers. 1965. V. C-14. No. 4. P. 561–569.
7. Курмит А. А. Автоматы без потери информации конечного порядка. Рига: Зинатне,
1972. 266 с.
8. Гилл А. Линейные последовательностные машины. М.: Наука, 1974. 298 с.
9. Фараджев Р. Г. Линейные последовательностные машины. М.: Сов. радио, 1975. 248 с.
10. Агибалов Г. П. Распознавание операторов, реализуемых в линейных автономных автоматах // Изв. АН СССР. Техническая кибернетика. 1970. № 3. С. 99–108.
11. Агибалов Г. П., Юфит Я. Г. О простых эксперименах для линейных инициальных автоматов // Автоматика и вычислительная техника. 1972. № 2. С. 17–19.
12. Сперанский Д. В. Эксперименты с линейными и билинейными конечными автоматами.
Саратов: СГУ, 2004. 144 с.
13. Глушков В. М. Синтез цифровых автоматов. М.: Физматлит, 1962. 476 с.
14. Бабаш А. В. Приближенные модели конечных автоматов // Обозрение прикладной и
промышленной математики. 2005. Т. 12. Вып. 2. С. 108–117.
15. Скобелев В. В. Построение стойких к частотному анализу криптосистем на основе регулярных комбинаторных структур // Искусственный интеллект. 2004. № 1. С. 88–96.
16. Скобелев В. В. Разрушение частот букв на основе регулярных комбинаторных структур // Труды ИПММ НАНУ. 2008. Т. 17. С. 185–193.
17. Скобелев В. Г., Зайцева Э. Е. Шифры на основе фракталов // Труды ИПММ НАНУ.
2006. Т. 12. С. 63–68.
18. Зайцева Э. Е., Скобелев В. Г. Шифр на основе отображения Мандельброта // Вестник
Томского госуниверситета. Приложение. 2007. № 23. С. 107–113.
19. Шнайер Б. Прикладная криптология. Протоколы, алгоритмы, исходные тексты на языке
СИ. М.: Триумф, 2003. 816 с.
20. Скобелев В. Г. Локальные алгоритмы на графах. Донецк: ИПММ НАН Украины, 2003.
217 с.
21. Сачков В. Н. Введение в комбинаторные методы дискретной математики. М.: Наука,
1982. 384 с.
22. Стенли Р. Перечислительная комбинаторика. М.: Мир, 1990. 440 с.
23. Скобелев В. В. Точная формула для числа обратимых матриц над конечным кольцом //
Труды ИПММ НАНУ. 2009. Т. 18. С. 63–68.
24. Харин Ю. С., Берник В. И., Матвеев Г. В., Агиевич С. В. Математические и компьютерные основы криптологии. Минск: Новое знание, 2003. 382 с.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Комбинаторно-алгебраические модели в криптографии
113
25. Скобелев В. Г., Зайцева Э. Е. Анализ класса легко вычислимых перестановок // Кибернетика и системный анализ. 2008. № 5. С. 12–24.
26. Коблиц Н. Введение в эллиптические кривые и модулярные формы. М.: Мир, 1988. 316 с.
27. Коблиц Н. Курс теории чисел и криптография. М.: Научное изд-во ТВП, 2001. 262 с.
28. Горчинский В. Г. О гомоморфизмах многоосновных универсальных алгебр в связи с
криптографическими применениями // Труды по дискретной математике. Т. 1. М.: Научное изд-во ТВП, 1997. С. 67–84.
29. Lynch N. I/O automaton models for proofs for shared-key communication systems //
Proceedings of the 12th IEEE Computer Security Foundations Workshop (CSFW’99).
Mordana, Italy, 1999. 16 p.
30. Девянин П. Н. Модели безопасности компьютерных систем. М.: Издательский центр
«Академия», 2005. 144 с.
31. Блейхут Р. Теория и практика кодов, контролирующих ошибки. М.: Мир, 1986. 576 с.
32. Нильсен М., Чанг И. Квантовые вычисления и квантовая информация. М.: Мир, 2006.
824 с.
33. Шустер Г. Детерминированный хаос. М.: Мир, 1985. 255 с.
34. Кузнецов С. П. Динамический хаос. М.: Физматлит, 2001. 296 с.
35. Дмитриев А. С. Запись и восстановление информации в одномерных динамических системах // Радиотехника и радиоэлектроника. 1991. Т. 36. № 1. С. 101–108.
36. Дмитриев А. С. Хаос и обработка информации в одномерных динамических системах //
Радиотехника и радиоэлектроника. 1993. Т. 38. № 1. С. 1–24.
37. Андреев Ю. В., Бельский Ю. Л., Дмитриев А. С. Запись и восстановление информации
с использованием устойчивых циклов двумерных и многомерных отображений // Радиотехника и радиоэлектроника. 1994. Т. 39. № 4. С. 114–123.
38. Дмитриев А. С., Старков С. О. Передача сообщений с использованием хаоса и классическая теория информации // Зарубежная радиоэлектроника. Успехи современной
радиоэлектроники. 1998. № 11. С. 4–32.
39. Андреев Ю. В., Дмитриев А. С., Куминов Д. А. Хаотические процессоры // Радиотехника и радиоэлектроника. 1997. Т. 42. № 10. С. 50–79.
40. Костенко П. Ю., Сиващенко С. И., Антонов А. В., Костенко Т. П. Применение методов
хаотической динамики для обеспечения информационной скрытности в коммуникационных системах и сетях // Изв. вузов. Радиоэлектроника. 2006. Т. 49. № 3. С. 63–70.
41. Костенко П. Ю., Антонов А. В., Костенко Т. П. Обратные задачи хаотической динамики и статистический анализ при обеспечении информационной скрытности в коммуникационных системах и сетях // Кибернетика и системный анализ. 2006. № 5. С. 96–106.
42. Костенко П. Ю., Антонов А. В., Костенко Т. П. Развитие концепции односторонних
функций для систем криптографической защиты информации с использованием достижений хаотической динамики // Кибернетика и системный анализ. 2006. № 6. С. 136–146.
43. Grassi G., Mascolo S. Hyperchaos-based secure communications by observer design //
Proceedings of the 7th International Workshop on Nonlinear Dynamics of Electronic Systems,
Ronne, Denmark, July 15–17, 1999. P. 157–160.
44. Proceedings of the 7th International Workshop on Nonlinear Dynamics of Electronic Systems,
Ronne, Denmark, July 15–17, 1999. Technical University of Denmark, Technical University
of Dresden, 1999. 294 p.
45. Synchronization: Theory and applications, Yalta, Crimea, Ukraine, May 19 – June 1, 2002.
NATO Science Series: II. Mathematics, Physics and Chemistry. V. 109. Kluver Academic
Publishers, 2002. 258 p.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
114
В. Г. Скобелев
46. Alia M. A., Samsudin A. B. New key exchange protocol based on Mandelbrot and Julia fractal
sets // IJCSNS International Journal of Computer Science and Network Security. 2007. V. 7.
No. 2. P. 302–307.
47. Кузьмин А. С., Куракин В. Л., Нечаев А. А. Псевдослучайные и полилинейные последовательности // Труды по дискретной математике. Т. 1. М.: Научное изд-во ТВП, 1997.
С. 139–202.
48. Скобелев В. В. Исследование структуры множества линейных БПИ-автоматов над кольцом Z pk // Доповiдi НАНУ. 2007. № 10. С. 44–49.
49. Скобелев В. В. Анализ структуры класса линейных автоматов над кольцом Z pk // Кибернетика и системный анализ. 2008. № 3. С. 60–74.
50. Скобелев В. В. Характеристики линейных одномерных автоматов с лагом l над конечным
кольцом // Труды ИПММ НАНУ. 2008. Т. 16. С. 190–196.
51. Кузьмин А. С., Куракин В. Л., Нечаев А. А. Свойства линейных и полилинейных рекуррент над кольцами Галуа (I) // Труды по дискретной математике. Т. 2. М.: Научное
изд-во ТВП, 1998. С. 191–222.
52. Скобелев В. Г. Нелинейные автоматы над конечным кольцом Z pk // Кибернетика и системный анализ. 2006. № 6. С. 29–42.
53. Скобелев В. Г. О некоторых свойствах нелинейных БПИ-автоматов над кольцом Z pk //
Прикладная радиоэлектроника. 2007. Т. 6. № 2. С. 288–299.
54. Скобелев В. В. Симметрические динамические системы над конечным кольцом: свойства
и сложность идентификации // Труды ИПММ НАНУ. 2005. Т. 10. С. 184–189.
55. Скобелев В. В. О двух типах нелинейных автоматов над конечным кольцом Z pk // Кибернетика и системный анализ. 2009. № 4. С. 57–68.
56. Ashwin P., Ruclidge A. M., Sturman R. Cyclic attractors of coupled cell systems and dynamics
with symmetry // Synchronization: Theory and applications, Yalta, Crimea, Ukraine, May
19 – June 1, 2002. NATO Science Series: II. Mathematics, Physics and Chemistry. V. 109.
Kluver Academic Publishers, 2002. P. 5–23.
57. Голод П. И., Климык А. У. Математические основы теории симметрий. Ижевск: НИЦ
«Регулярная и хаотическая динамика», 2001. 528 с.
58. Скобелев В. В. Анализ комбинаторно-алгебраических моделей инъективных дискретных
преобразователей информации: дис. ... канд. физ.-мат. наук. 01.05.01 — теоретические
основы информатики и кибернетики. Донецк: ИПММ НАН Украины. 2009. 128 с.
59. Гилл А. Введение в теорию конечных автоматов. М.: Наука, 1966. 272 с.
60. Горяшко А. П. Проектирование легко тестируемых дискретных устройств // Автоматика
и телемеханика. 1984. № 7. С. 5–35.
61. Скобелев В. Г. Об оценках длин диагностических и возвратных слов для автоматов //
Кибернетика. 1987. № 4. С. 114–116.
62. Скобелев В. Г. Анализ дискретных систем. Донецк: ИПММ НАН Украины, 2002. 172 с.
63. Скобелев В. В. Характеристика неподвижных точек линейных автоматов над конечным
кольцом // Прикладная дискретная математика. 2008. № 1(1). С. 126–130.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА
№2
ПРИЛОЖЕНИЕ
Ноябрь 2009
УДК 003.26(075.8)
КРИПТОГРАФИЧЕСКИЕ ПРОТОКОЛЫ:
ОСНОВНЫЕ СВОЙСТВА И УЯЗВИМОСТИ
А. В. Черемушкин
Институт криптографии, связи и информатики, г. Москва, Россия
E-mail: avc238@mail.ru
В лекции рассматриваются основные понятия, связанные с криптографическими протоколами, определяются их основные свойства и уязвимости. Приводятся
примеры атак на протоколы. Изложение сопровождается примерами, иллюстрирующими слабости некоторых известных протоколов. Приводится описание некоторых современных систем автоматизированного анализа протоколов.
Ключевые слова: криптографический протокол, аутентификация.
Вводные замечания
Целью настоящей лекции является привлечение внимания к проблематике, связанной с анализом протоколов. Первая ее часть посвящена ознакомлению с основными
задачами, возникающими при анализе криптографических протоколов. Лекция имеет
не столько обзорный, сколько вводный характер. Поэтому основное внимание уделено определению, примерам и основным свойствам протоколов. Понятие безопасности
протокола является очень сложным и многогранным. Современный подход к определению свойств, характеризующих безопасность протокола, заключается в точной формулировке и проверке этих свойств. В современной литературе имеется много различных трактовок этих свойств. Поэтому за основу взят подход, принятый в ряде систем
формального анализа и одобренный комитетом IETF, который определяет 20 таких
свойств. Приводятся примеры наиболее известных атак на протоколы, демонстрирующие нарушение некоторых из заявленных свойств этих протоколов. Более подробно
с этими вопросами можно познакомиться по учебному пособию [1].
В настоящее время имеется очень большое число различных подходов к анализу
протоколов, причем для этого применяется разнообразный математический аппарат.
В обзорной лекции не представляется возможным осветить хотя бы в краткой форме
все многообразие применяемых идей. Поэтому во второй части лекции дается общая
характеристика некоторых современных систем автоматического анализа протоколов
и упоминаются методы, лежащие в их основе.
1. Основные понятия
Определение. Протокол (protocol) — описание распределенного алгоритма, в процессе выполнения которого два участника (или более) последовательно выполняют
определенные действия и обмениваются сообщениями.
В качестве участников (иначе — субъектов, сторон) протокола могут выступать не
только пользователи или абоненты, но и процессы, выполняющие какую-либо функциональную роль, например клиентские и серверные приложения.
Предполагается, что все участники выполняют в нем какую-либо активную роль,
а пассивные наблюдатели не являются участниками протокола.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
116
А. В. Черемушкин
С понятием протокола непосредственно связаны понятия цикла, шага, роли и
сеанса.
Последовательность шагов протокола группируется в циклы.
Цикл (проход) протокола (round, pass of cryptographic protocol) — в криптографических протоколах с двумя участниками — временной интервал, в котором активен
только один из участников.
Цикл (проход) завершается формированием и отсылкой сообщения с последующим переходом активного участника в состояние ожидания и передачей активности
другому участнику.
В протоколах с тремя и более участниками в синхронном случае цикл — период времени между двумя точками синхронизации. К очередной точке синхронизации
каждый участник должен отослать все сообщения, которые ему предписано передать
другим участникам в текущем цикле. В протоколах интерактивного доказательства
циклом (раундом) часто называют комбинацию из трех шагов: заявка, запрос, ответ.
В асинхронном случае понятие цикла условно.
Шаг (протокола) (step of a protocol, protocol action) — конкретное законченное действие, выполняемое участником (протокола) во время одного цикла (прохода) протокола. Например, шагами протокола могут быть:
— вычисление значения некоторой функции;
— проверка правильности сертификата ключа;
— генерация случайного числа;
— отправка сообщения и т. п.
Сеанс (session) — это конкретная реализация протокола с конкретными участниками.
Пример. Рассмотрим протокол конфиденциальнорго обмена.
Цикл 1:
Шаг 1: A формирует текстовую последовательность M1 .
Шаг 2: A вычисляет S1 = EkAB (M1 ).
Шаг 3: A отправляет участнику B сообщение S1 .
Шаг 4: B получает сообщение S1 и из заголовка узнает идентификатор отправителя A.
Шаг 5: B вычисляет текст M1 = DkAB (S1 ).
Цикл 2:
Шаг 1: B формирует текстовую последовательность M2 .
Шаг 2: B вычисляет S2 = EkBA (M2 ).
Шаг 3: B отправляет участнику A сообщение S2 .
Шаг 4: A получает сообщение S2 и из заголовка узнает идентификатор отправителя B.
Шаг 5: A вычисляет текст M2 = DkBA (S2 ).
Схематическая запись этого протокола имеет следующий вид:
(1) A → B : EkAB (M1 ),
(2) A ← B : EkBA (M2 ).
В дальнейшем для краткости будем использовать в основном краткую схематическую запись протоколов. Она не заменяет полного описания, но по ней, как правило,
можно восстановить описание, используя общие интуитивные соображения.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Криптографические протоколы: основные свойства и уязвимости
117
Заметим, что данный протокол использует традиционные криптографические механизмы — шифрование на общих симметричных ключах, причем ключи привязаны
к направлению для защиты от возможности обратной отсылки переданного сообщения.
Вместе с тем этот протокол не защищен от атаки повторением, при которой повторно
передается ранее переданное сообщение от имени того же участника.
Введем еще одно важное понятие. Роль — это та функция, которую выполняет конкретный участник в конкретном сеансе. Роль определяет порядок действий участника.
Набор конкретных реализаций каждой из ролей протокола образует сеанс. В предыдущем протоколе две роли:
— участник A выступает в роли инициатора сеанса протокола:
(1) A → ? :
(2) A ← ? :
EkAB (M1 ),
EkBA (M2 ?);
— участник B выступает в роли ответчика:
(1) ? → B :
(2) ? ← B :
EkAB (M1 ?),
EkBA (M2 ).
Вопросительный знак указывает те моменты, которые могут быть подменены при
реализации конкретного сеанса и которые каждая из сторон должна проверить и получить подтверждение их аутентичности.
Следует заметить, что:
— в описаниях протоколов на самом деле фигурируют не конкретные участники,
а их роли;
— в стенограммах (записях) сеансов фигурируют уже конкретные участники.
Если все участники честно выполняют все предписанные протоколом действия,
то сеанс полностью повторяет описание протокола, отличаясь лишь тем, что в нем
фигурируют имена и идентификаторы конкретных участников.
Если в работу протокола вмешивается противник либо некоторые из участников
пытаются одновременно выступать в нескольких ролях, то в результате могут получаться такие комбинации действий, при которых происходит нарушение одного или
нескольких свойств протокола, что приводит к реализации сценария атаки на протокол.
2. Понятие криптографического протокола
Коммуникационный протокол устанавливает последовательность действий участников при передаче информации или информационном обмене.
Обычный коммуникационный протокол обеспечивает установку соединения/сеанса, выбор маршрута, обнаружение искажений и восстановление передаваемой информации и т. п.
Безопасность протокола выражается в обеспечении гарантий выполнения таких
свойств, характеризующих безопасность, как доступность, конфиденциальность, целостность и др. На системном языке говорят о функциях, выполняемых системой
безопасности, либо о предоставляемых ею сервисах. Чтобы не путать с обычным математическим понятием функции, будем в подобных случаях говорить о функцияхсервисах.
Протокол, обеспечивающий поддержку хотя бы одной из функций-сервисов безопасности, называется защишенным или, точнее, протоколом обеспечения безопасности (security protocol). Защитные механизмы либо дополняют, либо встраиваются
в коммуникационный протокол.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
118
А. В. Черемушкин
Функции-сервисы безопасности. Понятие безопасности распределенных информационных систем в настоящее время конкретизируется как степень надежности реализации разнообразных функций (сервисов) безопасности. Впервые в наиболее
полном виде концепция функций-сервисов безопасности изложена в международном
стандарте: «Базовая эталонная модель взаимодействия открытых систем. Часть 2:
Архитектура безопасности», утвержденном в 1989 г. В 1991 г. этот стандарт был повторен в «Рекомендации X.800: Архитектура безопасности взаимодействия открытых систем, для применений МККТТ». Он содержит описание основных (базовых)
функций-сервисов безопасности для случая взаимодействия двух систем, а также основных механизмов, обеспечивающих эти услуги, включая криптографические средства. Указано также их желательное расположение в эталонной семиуровневой модели
взаимодействия открытых систем.
Функция-сервис безопасности (security services) — защитная функция, выполняемая подсистемой безопасности и определяемая ее целевым назначением.
В соответствии со стандартом ISO 7498.2 для архитектуры безопасности эталонной
модели взаимодействия OSI выделено пять классов таких функций:
— аутентификация сторон и аутентификация источника данных,
— разграничение доступа,
— конфиденциальность,
— целостность,
— невозможность отказа от факта отправления/получения сообщения,
которые могут конкретизироваться для конкретных условий применения. Их определения содержатся в табл. 1.
Определение. Криптографический протокол (cryptographic protocol) — протокол,
предназначенный для выполнения функций криптографической системы, в процессе
выполнения которого участники используют криптографические алгоритмы.
Криптографическая система — система обеспечения безопасности информации
криптографическими методами.
Основными функциями криптографической системы являются обеспечение конфиденциальности, целостности, аутентификации, невозможности отказа и неотслеживаемости.
В качестве подсистем она может включать:
— системы шифрования,
— системы идентификации,
— системы имитозащиты,
— системы цифровой подписи и др., а также ключевую систему.
Для криптографических систем понятие стойкости хорошо известно — их способность противостоять атакам противника и/или нарушителя, как правило, имеющим
целью нейтрализацию одной или нескольких функций безопасности и, прежде всего,
получение секретного ключа.
Пусть далее нарушитель — внутренний нарушитель, т. e. участник протокола, нарушающий предписанные протоколом действия, а противник — внешний субъект (или
коалиция субъектов), наблюдающий за передаваемыми сообщениями и, возможно,
вмешивающийся в работу участников путем перехвата, искажения (модификации),
вставки (создания новых), повтора и перенаправления сообщений, блокирования передачи и т. п. с целью нарушения одной или нескольких функций-сервисов безопасности.
Часто допускается, что противник может образовывать коалицию с нарушителем.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Криптографические протоколы: основные свойства и уязвимости
119
Та б л и ц а 1
Функции-сервисы безопасности
Функция-сервис
Аутентификация источника данных (data origin
authentication service)
Аутентификация сторон
(peer entity authentication
service)
Конфиденциальность
данных (data confidentiality service)
Невозможность отказа
(non-repudiation service)
Невозможность отказа
с доказательством получения (non-repudiation
service with proof of
delivery)
Невозможность отказа
с доказательством источника (non-repudiation
service with proof of origin)
Целостность
данных
(data integrity service)
Обеспечение
целостности соединения без восстановления (connection
integrity service without
recovery)
Обеспечение
целостности соединения с восстановлением (connection
integrity
service
with
recovery)
Разграничение доступа
(access control service)
Назначение
Обеспечивает возможность проверки того, что полученные данные действительно созданы конкретным
источником. Данная функция не обеспечивает защиты от повторного навязывания или модификации
данных
Обеспечивает возможность проверки того, что одна
из сторон информационного взаимодействия действительно является той, за которую она себя выдает. Применяется с целью защиты от атаки типа имитация и
от атаки на протокол с повторной передачей
Обеспечивает невозможность несанкционированного
получения доступа к данным или раскрытия данных
Обеспечивает невозможность отказа одной из сторон
от факта участия в информационном обмене (полностью или в какой-либо его части)
Обеспечивает невозможность отказа получателя от
факта получения сообщения
Обеспечивает невозможность отказа одной из сторон
от факта отправления сообщения
Обеспечивает возможность проверки того, что защищаемая информация не подверглась несанкционированной модификации или разрушению
Обеспечивает возможность проверки того, что все
данные, передаваемые при установленном соединении, не подверглись модификации, без восстановления
этих данных
Обеспечивает возможность проверки того, что все
данные, передаваемые при установленном соединении, не подверглись модификации, с восстановлением
этих данных
Обеспечивает невозможность несанкционированного
использования ресурсов системы. Данный термин понимается в самом широком смысле. На практике
решение о предоставлении доступа основывается на
аутентификации сторон
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
120
А. В. Черемушкин
Заметим, что во многих формальных методах анализа протоколов противник отождествляется с сетью.
3. Свойства, характеризующие безопасность протоколов
Криптографическая система может обеспечивать различные функции безопасности, для реализации которых применяются разнообразные криптографические протоколы.
Свойств, характеризующих безопасность криптографического протокола, также
достаточно много. Обычно свойства протоколов, характеризующие их стойкость к различным атакам, формулируют как цели (goals) или требования к протоколам. Трактовка этих целей со временем меняется и уточняется. Наиболее полное и современное
толкование этих целей дается в документах международной организации IETF.
Под свойствами (целями, требованиями) безопасности в документах IETF в настоящее время понимаются следующие 20 целей, сгруппированные в 10 групп (табл. 2).
Приведем определения некоторых из перечисленных там свойств.
Та б л и ц а 2
Свойства безопасности протоколов
№
1
2
3
4
5
6
7
8
9
10
Код
G1
G2
G3
G4
G5
G6
G7
G8
G9
G10
G11
G12
G13
G14
G15
G16
G17
G18
G19
G20
Название
Аутентификация субъекта
Аутентификация сообщения
Защита от повтора
Неявная (скрытая) аутентификация получателя
Аутентификация источника
Авторизация (доверенной третьей стороной)
Аутентификация ключа
Подтверждение правильности ключа
Защищенность от чтения назад
Формирование новых ключей
Защищенная возможность договориться о параметрах безопасности
Конфиденциальность
Обеспечение анонимности при прослушивании (несвязываемость)
Обеспечение анонимности при работе с другими участниками
Ограниченная защищенность от атак типа отказ в обслуживании
Неизменность отправителя
Подотчетность
Доказательство отправки
Доказательство получения
Безопасное временное свойство
(G1) Аутентификация субъекта (Аутентификация сторон, Peer Entity
Authentication) — проверка с подтверждением подлинности одной из сторон наличия или полномочий (посредством представленных доказательств и/или документов)
идентичности второй стороны, участвующей в выполнении протокола, а также того,
что она действительно принимает участие в выполнении текущего сеанса протокола.
Обычно она осуществляется посредством набора данных, который мог быть сгенерирован только вторым участником (как отклик на запрос, например).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Криптографические протоколы: основные свойства и уязвимости
121
Таким образом, обычно аутентификация субъекта предполагает, что некоторые
данные могут быть безошибочно возвращены некоторому субъекту, что предполагает
аутентификацию источника данных (Data Origin Authentication).
(G2) Аутентификация сообщения (Message authentication) — обеспечение
аутентификации источника данных и целостности передаваемого сообщения.
Аутентификация источника данных (Data Origin Authentication) означает, что протокол должен обеспечивать средства гарантии того, что полученное сообщение или
часть данных были созданы некоторым участником в некоторый (как правило, неопределенный) момент времени, предшествующий получению сообщения, и что эти данные
не были искажены или подделаны, но без предоставления гарантий однозначности и
своевременности.
Поскольку уверенность в том, что данные были созданы некоторым участником,
без гарантии того, что они не были модифицированы, не представляет практического интереса, то обычно полагают, что требование аутентификации сообщения влечет
требование его целостности.
(G3) Защита от повтора (Replay Protection) — гарантирование одним участником того, что аутентифицированное сообщение не является старым.
В зависимости от контекста, это может иметь разный смысл:
— сообщение было сгенерировано в данном сеансе протокола;
— сообщение было сгенерировано в течение известного промежутка времени;
— сообщение не было принято ранее.
(G5) Аутентификация источника (Source Authentication) — законные группы участников должны быть способны аутентифицировать источник и содержание
информации или групповой коммуникации.
Это относится к случаям, когда группы участников не доверяют друг другу.
(G7) Аутентификация ключа (Key Authentication) — это свойство предполагает, что один из участников получает подтверждение того, что никакой другой
участник, кроме заранее определенного второго участника (и, возможно, других доверенных участников), не может получить доступа ни к одному секретному ключу.
(G8) Подтверждение правильности ключа (Key Confirmation, Key Proof
of Possession) — один из участников получает подтверждение того, что второй участник (возможно, неопределенный) действительно обладает конкретным секретным
ключом (либо имеет доступ ко всем ключевым материалам, необходимым для его
вычисления).
(G9) Защищенность от чтения назад / Совершенная секретность в будущем (Perfect Forward Secrecy, PFS) — протокол обладает этим свойством, если
компрометация долговременных ключей не приводит к компрометации старых сеансовых ключей.
(G12) Конфиденциальность (Confidentiality, Secrecy) — свойство, состоящее
в том, что специфический набор данных (обычно посылаемый или полученный как
часть «защищенного» сообщения, а также сформированный на основе данных, полученных в результате обмена) не станет доступным или раскрытым для неавторизованных субъектов или процессов, а останется неизвестным противнику.
Мы принимаем соглашение, что секретность сеансового ключа, сгенерированного
в результате процедуры открытого распределения ключей, рассматривается не здесь,
а в п. «Аутентификация ключа» (см. выше).
Заметим, что секретность долговременного ключа, используемого в протоколе, не
рассматривается как целевое свойство безопасности протокола, а относится к исход-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
122
А. В. Черемушкин
ным предположениям. В табл. 3 указаны свойства безопасности некоторых протоколов.
Та б л и ц а 3
Примеры свойств безопасности, характеризующих протоколы
Протокол \ Цель G
EAP-IKEv2
EKE
IKE
IKEv2
DHCP-IPSec-tunnel
kerberos
SSH
TLS
TLS-v1.1
TLS-SRP
tls-sharedkeys
SET
1
×
×
×
×
×
×
×
×
×
×
×
×
2
×
×
×
×
×
×
×
×
×
×
×
×
3
×
4
5
6
×
7
×
8
9
10
×
11
12
13
14
15
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
×
4. Основные атаки на безопасность протоколов
Определение. Под атакой на протокол понимается попытка проведения анализа
сообщений протокола и/или выполнения не предусмотренных протоколом действий
с целью нарушения работы протокола и/или получения информации, составляющей
секрет его участников.
Атака считается успешной, если нарушено хотя бы одно из заявленных свойств,
характеризующих безопасность протокола.
В основе атак могут лежать различные методы анализа протоколов.
Пример. Рассмотрим протокол передачи секретного ключа k от A к B без использования какой-либо общей секретной информации. Его названия: «бесключевой»
протокол А. Шамира, либо — трехпроходный протокол Шамира – Ривеста – Адлемана:
(1) A → B : EkA (k),
(2) A ← B : EkB (EkA (k)),
(3) A → B : DkA (EkB (EkA (k))) = EkB (k).
Здесь E — коммутирующее шифрующее преобразование
Ek1 (Ek2 (x)) = Ek2 (Ek1 (x))
при всех сообщениях x и произвольных ключах k1 и k2 . Заметим, что в этом протоколе
можно использовать не каждое коммутирующее преобразование E. Например, для
EkA (k) = k ⊕ ΓA
протокол оказывается заведомо нестойким:
(1) A → B : EkA (k) = k ⊕ ΓA ,
(2) A ← B : EkB (EkA (k)) = k ⊕ ΓA ⊕ ΓB ,
(3) A → B : DkA (EkB (EkA (k))) = EkB (k) = k ⊕ ΓB .
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Криптографические протоколы: основные свойства и уязвимости
123
Поэтому в протоколе Шамира рекомендуется использовать преобразование вида
EkA (k) = k a mod p,
в котором константа a определяется ключом kA , а p — большое простое число.
Укажем некоторые слабости и приведем примеры атак на этот протокол.
Слабость 1: отсутствует аутентификация сторон.
Можно применить атаку путем подмены участника.
Атака 1: (impersonation attack)
(1) A → C(B) : EkA (k),
(2) A ← C(B) : EkC (EkA (k)),
(3) A → C(B) : EkC (k).
Противник C блокирует передачу к B, выступая от имени участника B. В результате
C получил от A ключ k для связи с ним от имени B.
Слабость 2: сообщения участников симметричны.
Поэтому протокол не является стойким и к атаке повторением.
Атака 2: (replay attack)
(1) A → C(B) : EkA (k),
(2) A ← C(B) : EkA (k),
(3) A → C(B) : k.
Для ее проведения нарушитель C осуществляет доступ к сети от имени участника B, повторяя первое сообщение участника A. В результате ключ k появляется в
канале связи в явном виде.
Можно защитить протокол от этой атаки, осуществляя проверку на втором шаге с целью отбраковки повторно переданных сообщений. Но, как заметил Карлсен
(Carlsen), все равно можно осуществить аналогичную атаку путем чередования сообщений двух различных сеансов:
Атака 3: (interleaving attack)
(1)
(10 )
(20 )
(30 )
(2)
(3)
A → C(B) :
A → C(B) :
A ← C(B) :
A → C(B) :
A ← C(B) :
A → C(B) :
EkA (k),
EkA (k 0 ),
EkA (k),
k,
M,
DkA (M ).
Здесь M — произвольное фиктивное сообщение.
Стойкость протокола зависит от многих факторов:
— от надежности криптографических механизмов;
— от правильности реализации;
— от точности выполнения порядка предписанных действий участниками протокола и др.
Основное внимание будем концентрировать на тех слабостях протоколов, которые
обусловлены способом формирования и порядком отправки сообщений участниками,
то есть ошибками, допущенными при синтезе самих протоколов, представляющих собой предписания, определяющие порядок действий всех участников.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
124
А. В. Черемушкин
Приведем основные предположения, которые применяют при анализе протоколов.
Предположениe 1. Perfect cryptography assumption — все стандартные криптографические примитивы удовлетворяют условию совершенной стойкости; слабости могут
быть вызваны только непродуманным порядком действий, предписанных самим протоколом.
Предположениe 2. Strong typing assumption (строгое соблюдение типов) — все
участники правильно понимают форматы получаемых сообщений и корректно распознают типы полей в записи передаваемых сообщений.
Предположениe 3. Honest participants (честность участников) — все участники
точно выполняют предписанный согласно протоколу порядок действий.
Предположениe 4. Bounded number of sessions (ограниченное число сеансов) —
для сведения задачи к конечному числу состояний.
Заметим, что при неограниченном числе сеансов проблема безопасности протокола
неразрешима (S. Even, O. Goldreich, 1983).
При классификации атак на безопасность протоколов можно применять различные подходы:
— по способу воздействия (активная, пассивная);
— по цели (на какое свойство протокола осуществляется атака);
— по области применения (универсальные, зависящие от реализации);
— по классу протоколов;
— по применяемому математическому аппарату (без дополнительных средств, например, используя только повтор, отражение или задержку сообщений; статистические; алгебраические и др.);
— по способу применения (число необходимых сеансов, можно ли ограничиться
старыми или нужны вновь открытые параллельные сеансы);
— по требуемым ресурсам (ограниченные или неограниченные вычислительные
возможности);
— по наличию и характеру дополнительной информации (известные сообщения,
сеансовые или долговременные ключи и т. п.), и т. д.
5. Перечень наиболее широко известных атак
на криптографические протоколы
1. Подмена (impersonation) — попытка подменить одного пользователя другим. Нарушитель, выступая от имени одной из сторон и полностью имитируя ее действия,
получает в ответ сообщения определенного формата, необходимые для подделки отдельных шагов протокола.
Методы противодействия состоят в:
— сохранении в тайне от противника информации, определяющей алгоритм идентификации;
— использование различных форматов сообщений, передаваемых на разных шагах
протокола;
— вставка в них специальных идентификационных меток и номеров сообщений.
В протоколах с использованием третьей стороны возможны атаки, основанные на
подмене доверенного сервера.
Например, одна из сторон, имеющая доверительные отношения с сервером, выступает от его имени, подменяет его трафик обмена с другими сторонами и в результате
получает возможность раскрывать значения генерируемых центром ключей.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Криптографические протоколы: основные свойства и уязвимости
125
Эта атака может быть успешной для протоколов, в которых аутентификация при
доступе к серверу основана только на идентификаторах сторон и случайных числах,
генерируемых при каждом взаимодействии.
Для защиты от таких атак применяют средства привязки ключей не к одной, а
к обеим взаимодействующим сторонам путем передачи обоих идентификаторов в зашифрованном виде.
2. Повторное навязывание сообщения (replay attack) — повторное использование
ранее переданного в текущем или предыдущем сеансе сообщения или какой-либо его
части в текущем сеансе протокола.
Например, повторная передача информации ранее проведенного протокола идентификации может привести к повторной успешной идентификации того же самого или
другого пользователя.
В протоколах передачи ключей данная атака часто применяется для повторного
навязывания уже использованного ранее сеансового ключа — атака на основе новизны
(freshness attack).
Методы противодействия состоят в обеспечении целостности сеанса и невозможности вставки в него лишних сообщений. Для этого используется:
— техника типа «запрос — ответ»;
— вставка в передаваемые сообщения временных меток, случайных чисел или возрастающих последовательностей чисел.
3. Еще один тип подобных атак связан с обратной передачей адресату ранее переданных им сообщений и получил название атака отражением (reflection attack). Часто
атаки данного типа относят к классу атак с повторным навязыванием сообщения.
Для защиты от таких атак протоколы специально делают несимметричными, включая в зашифрованные сообщения идентификаторы сторон либо изменяя процедуры
так, чтобы стороны должны были выполнять разные действия, вводят в протокол
идентификационную информацию, используют различные ключи для приема и передачи сообщений.
4. Задержка передачи сообщения (forced delay) — перехват противником сообщения
и навязывание его в более поздний момент времени. Это также разновидность атаки
с повторным навязыванием сообщения.
Методы противодействия включают использование случайных чисел совместно с
ограничением временного промежутка для ответа, использование временных меток.
5. Комбинированная атака (interleaving attack) — подмена или другой метод обмана, использующий комбинацию данных из ранее выполненных протоколов, в том
числе протоколов, ранее навязанных противником.
Метод противодействия состоит в обеспечении целостности сеансов протоколов и
отдельных сообщений.
6. Специальный частный случай предыдущей атаки, в котором противник специально открывает одновременно несколько параллельных сеансов с целью использования сообщений из одного сеанса в другом, получил название атака с параллельными
сеансами (parallel-session attack).
Пример: протокол NSPK (Needham — Schroeder public key protocol). Это протокол осуществления взаимной аутентификации, предложенный Нидхэмом и Шредером
в 1978 г.:
A → B : EB (rA , A),
A ← B : EA (rA , rB ),
A → B : EB (rB ).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
126
А. В. Черемушкин
В данном случае дважды используется техника «запрос — ответ», причем случайные числа спрятаны внутри зашифрованных сообщений.
17 лет он считался стойким, пока G. Lowe в 1995 г. с использованием автоматизированного средства FDR не обнаружил слабость: нарушитель C, используя свой законный обмен с участниками A и B, может открыть второй сеанс протокола с участником B и при этом, чередуя сообщения обоих сеансов (interleaving attack), может найти
случайное число rB , сгенерированное участником B:
(1) A → C :
(10 )
C(A) → B :
0
(2 )
C(A) ← B :
(2) A ← C :
(3) A → C :
(30 )
C(A) → B :
EC (rA , A),
EB (rA , A),
EA (rA , rB ),
EA (rA , rB ),
EC (rB ),
EB (rB ).
В результате C может убедить участника B в том, что он выступает от имени A.
7. Атака с использованием специально подобранных текстов — атака на протоколы типа «запрос — ответ», при которой противник по определенному правилу выбирает
запросы с целью получить информацию о долговременном ключе доказывающего.
Эта атака может включать специально подобранные
— открытые тексты, если доказывающий должен подписать или зашифровать
запрос,
— шифрованные тексты, если доказывающий должен расшифровать запрос.
Методы противодействия этой атаке состоят:
— во включении случайных чисел в запросы или ответы, а также
— в использовании протоколов с нулевым разглашением.
8. Использование противником своих средств в качестве части телекоммуникационной структуры — атака, при которой в протоколе идентификации между A
и B противник входит в телекоммуникационный канал и становится его частью при
реализации протокола между A и B.
При этом противник может подменить информацию, передаваемую между A и B.
Эта атака особенно опасна в случае формирования участниками A и B общего
ключа по протоколу Диффи — Хеллмана. Она известна как «противник в середине»
и заключается в полной подмене всех сообщений между сторонами.
Пример: протокол Диффи – Хеллмана. Первый алгоритм открытого распределения ключей был предложен У. Диффи и М. Хеллманом (Diffie W., Hellman M. E.)
в 1976 г. Для его выполнения стороны должны договориться о значениях большого простого числа p и образующего элемента α мультипликативной группы Z∗p =
= {1, 2, . . . , p − 1}. Для выработки общего ключа k они должны сгенерировать случайные числа x, 1 6 x 6 p − 2, и y, 1 6 y 6 p − 2, соответственно. Затем они должны
обменяться сообщениями.
Протокол DH:
A → B : αx mod p,
A ← B : αy mod p.
Искомый общий ключ теперь вычисляется по формуле
k = (αy )x = (αx )y mod p.
Слабость: отсутствие аутентификации сторон.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Криптографические протоколы: основные свойства и уязвимости
127
Атака: («противник в середине»)
A → C(B) :
C(A) → B :
C(A) ← B :
A ← C(B) :
αx mod p,
∗
αx mod p,
αy mod p,
∗
αy mod p.
Противник C:
— выбирает числа x∗ и y ∗ ;
∗
∗
— подменяет αx и αy на αx и αy∗ соответственно;
∗
— вычисляет ключи kAC = (αx )y mod p и kCB = (αy )x mod p.
В результате C полностью контролирует обмен сообщениями между A и B, A и B
не замечают подмену — они уверены, что связываются непосредственно друг с другом.
Пример. Протокол MTI. Интересный подход к защите протокола DH от атаки «противник в середине» был предложен Т. Мацумото, И. Такашима и Х. Имаи
(Matsumoto T., Takashima Y., Imai H.) в 1986 г. Они предложили серию протоколов,
предполагающих наличие у абонентов открытых ключей и использующих различные
модификации процедуры выработки общего ключа.
Рассмотрим протокол MTI/A0. Предположим, что участники A и B имеют секретные ключи a, 1 6 a 6 p − 2, и b, 1 6 b 6 p − 2, соответственно и публикуют свои
открытые ключи βA = αa mod p и βB = αb mod p. Для выработки общего секретного
ключа k они должны сгенерировать случайные числа x, 1 6 x 6 p−2, и y, 1 6 y 6 p−2,
соответственно, а затем обменяться следующими сообщениями:
A → B : αx mod p,
A ← B : αy mod p.
Теперь участники A и B вычисляют общий ключ k = αxb+ya mod p по формулам
kA = (αy )a βBx mod p,
kB = (αx )b βAy mod p
соответственно.
Любая подмена сообщений приводит к тому, что все стороны получают различные
значения ключа, в результате чего становится невозможным чтение всей передаваемой информации. Тем самым свойство аутентификации ключа протокола при атаке
«противник в середине» не нарушено. Вместе с тем этот протокол не обеспечивает
аутентификации сторон и подтверждения правильности получения ключа.
Покажем, что даже после усиления этого протокола путем добавления к пересылаемым сообщениям сертификатов он остается уязвимым к подмене содержания передаваемых сообщений, а именно, этот протокол не обеспечивает аутентификации сторон.
Атака на протокол MTI/A0, в которой нарушитель C подменяет сертификат
участника A на свой собственный. Пусть участник A получил сертификат
certA = (A, βA , SigT (A, βA )).
Нарушитель C регистрирует для себя сертификат
certC = (C, βAe , SigT (C, βAe )),
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
128
А. В. Черемушкин
где e — произвольное число, предназначенное для того, чтобы скрыть связь с ключом
участника A. Далее он использует следующий протокол:
A → C(B) :
certA , αx mod p,
C
→ B : certC , αx mod p,
C
← B : certB , αy mod p,
A ← C(B) :
certB , (αy )e mod p.
В результате участник B будет уверен, что полученный в результате выполнения
этого протокола ключ
k = αaey+bx mod p
будет общим ключом с участником C, а не с участником A, который ничего об этом не
подозревает. При этом участник A вычислит тот же ключ k. Поэтому вся информация,
полученная от участника A и зашифрованная на этом ключе, будет восприниматься
участником B как полученная от участника C, а не от A.
Таким образом, данный протокол хотя и обеспечивает аутентификацию ключа для
участника A, в то же время не обеспечивает аутентификации сторон, а также аутентификации ключа для участника B.
9. Во многих случаях проведение атаки облегчает дополнительная информация.
Например, атака с известным сеансовым ключом (known-key attack) заключается в попытке получения информации о долговременном ключе или любой другой ключевой
информации, позволяющей восстанавливать сеансовые ключи для других сеансов протокола.
Для защиты от такой атаки обеспечивают независимость между различными применяемыми ключами, которая достигается с помощью протоколов совместной выработки ключа, гарантирующих свойство новизны ключа (freshness) и не позволяющих
ни одному из участников заранее предсказать значение ключа.
10. Атака с неизвестным общим ключом (unknown key-share attack) — атака, при
которой нарушитель C открывает два сеанса с A и B, выступая в первом случае от
имени B, хотя последний может ничего не знать об этом. При этом в результате будет
сформирован общий ключ между A и B, причем A будет уверен, что сформировал
общий ключ с B, а B будет уверен, что сформировал общий ключ с C. Сам ключ
может быть не известен C.
Примерный сценарий может выглядеть так: пусть B — филиал банка и A — держатель счета. Сертификат выдается центральным банком и содержит информацию
о держателе счета. Пусть протокол электронного депозита вкладов должен выработать ключ для филиала. После аутентификации B как отправителя зашифрованный
вклад помещается на счет, указанный в сертификате. Если не проводится никакой последующей аутентификации в зашифрованном сообщении депозита, то при успешно
проведенной атаке вклад будет положен на счет C вместо счета A.
Пример: протокол STS. Попытка построения аутентифцированного протокола
на базе DH была предпринята в протоколе STS (station-to-station), созданном У. Диффи (W. Diffie), П. Ван Ооршотом (P. Van Oorschot) и M. Вейнером (M. Wiener) в 1992 г.
A → B : A, B, mA = αx mod p,
A ← B : B, A, mB = αy mod p, Ek (SigB (mB , mA )),
A → B : A, B, Ek (SigA (mA , mB )).
Здесь SigA и SigB — цифровые подписи пользователей A и B соответственно,
k = αxy mod p — искомый общий ключ.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Криптографические протоколы: основные свойства и уязвимости
129
Вставка во второе и третье сообщения протокола значений цифровых подписей
позволяет гарантировать достоверность получения сообщения именно от того пользователя, от которого это сообщение получено.
Шифрование значений подписей пользователей с помощью симметричного алгоритма E введено для того, чтобы обеспечить взаимное подтверждение правильности
вычисления значения ключа, так как при неверно вычисленном ключе невозможно
получить верные значения цифровых подписей.
Атака: (Lowe G., 1996) (атака с неизвестным общим ключом) (unknown key-share
attack, UKS attack)
A → C(B) :
A, B, mA ,
C → B : C, B, mA ,
C ← B : B, C, mB , Ek (SigB (mB , mA )),
A ← C(B) :
B, A, mB , Ek (SigB (mB , mA )),
A → C(B) :
A, B, Ek (SigA (mA , mB )).
Нарушитель C, используя свой законный обмен с участником B, может применить
против участника A атаку, в результате которой он может убедить A в том, что он выступает от имени B. Нарушитель C использует свой законный обмен с участником B
и убеждает A в том, что он выступает от имени B. Сеанс с участником B остается
незавершенным, так как C, не зная секретного ключа участника A, не сможет подобрать правильный ответ для B. Поэтому любое его сообщение на третьем шаге будет
участником B отвергнуто.
Данная атака не представляет реальной опасности, так как при этом нарушитель не
будет знать секретного ключа k = αxy mod p и поэтому не сможет читать передаваемые
сообщения, передаваемые от A к B. Однако в результате участник A не будет ничего
подозревать и примет участника C за B.
Таким образом, протокол не обеспечивает: аутентификации сторон, аутентификации ключа для участника B, так как последний будет полагать, что сформировал
общий ключ с участником C, а на самом деле — с участником A.
Пример: модифицированный протокол STS. В 2004 г. K. Бойд и А. Матура
предложили следующую модификацию протокола STS:
A → B : A, B, mA = αx mod p,
A ← B : B, A, mB = αy mod p, SigB (mB , mA ), hk0 (mB , mA )
A → B : A, B, SigA (mA , mB ), hk0 (mA , mB ),
где k0 = f (k) — ключевой параметр хеш-функции, вычисляемый как значение некоторой функции от результирующего сеансового ключа k = αxy mod p.
Атака: для данной версии протокола можно применить двустороннюю атаку
с неизвестным общим ключом (bilateral unknown key-share attack, BUKS attack):
A→ C:
C→ D
D
D
C← D
A← C:
A→ C:
C→ D
D
A, B, mA ,
:
A, B, mA ,
→ B : D, B, mA ,
← B : B, D, mB , SigB (mB , mA ), hk0 (mB , mA ),
:
B, A, mB , hk0 (mB , mA )
C, A, mB , SigC (mB , mA ), hk0 (mB , mA ),
A, C, SigA (mA , mB ), hk0 (mA , mB ),
:
A, B, hk0 (mA , mB ),
→ B : D, B, SigD (mA , mB ), hk0 (mA , mB ).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
130
А. В. Черемушкин
В результате участники C и D, вступившие в сговор, вводят в заблуждение участников A и B, сформировавших общий ключ. При этом участник A уверен, что он
сформировал общий ключ с участником C, а участник B уверен, что он сформировал
общий ключ с участником D.
11. Имеется большое число типов атак, которые зависят от конкретной реализации
протокола.
Например, для криптографических протоколов на основе симметричных шифрсистем можно использовать особенности работы самих шифрсистем и, в частности,
реализованных способов и режимов шифрования, синхронизации и т. п.
Чтобы защититься от подобных атак, необходимо провести анализ архитектуры
протокола и структуры передаваемых сообщений с целью определения возможных
уязвимостей, позволяющих, например, осуществить навязывание сообщений с известными или одинаковыми значениями определенных полей, либо с помощью подмены
типа некоторых полей.
12. Для криптографических протоколов, построенных на основе асимметричных
шифрсистем, основной уязвимостью является возможность осуществления подмены
открытого ключа одного из участников на другой открытый ключ с известной противнику секретной половиной этого ключа. В частности, это позволяет противнику
узнавать содержание зашифрованных сообщений, отправляемых данному участнику.
В данном случае нарушается свойство связанности открытого ключа и идентификатора участника. Поэтому атаку данного типа называют атакой на основе связывания (binding attack).
Для защиты от подобных атак вместо открытых ключей используют их сертификаты, создавая специальную инфраструктуру (PKI) для выдачи, отзыва и проведения
проверки их правильности.
Обычно используют следующие сокращенные названия атак:
Сокр.
MITM
Replay
TF
STS
PS
KN
UKS
Название
«Противник в середине» (man-in-the-middle attack)
Атака с повторной передачей (replay attack)
подмена типа (type flaw attack)
Атака с известным разовым ключом (short-term secret)
Атака с параллельными сеансами (parallel-session)
Атака с известным сеансовым ключом (known-key attack)
Атака с неизвестным сеансовым ключом
(unknown key-share attack)
Примеры атак на криптографические протоколы приведены в табл. 4.
6. Мощность пространства атак
При совершении атак участники могут выступать в разных ролях. Кроме того,
одновременно может выполняться несколько сеансов, причем в разных сеансах один
и тот же участник может выполнять различные роли. Каждая роль состоит в последовательном выполнении определенных действий, связанных с отправлением и получением сообщений. Противник «q» может выступать от имени любого из участников
протокола. При проведении атаки может одновременно выполняться несколько сеансов протокола.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Криптографические протоколы: основные свойства и уязвимости
131
Та б л и ц а 4
Примеры атак на криптографические протоколы
Протокол
ISO с симметричными ключами 1-проходный
ISO с симметричными ключами 2-проходный
Andrew Secure RPC
Needham–Shroeder с симметричными ключами
Denning–Sacco с симметричными ключами
Otway–Rees
Wide Mouthed Frog
Yahalom
Woo–Lam с симметричными ключами
Woo–Lam с симметричными ключами
ISO с открытыми ключами 1-проходный
ISO с открытыми ключами 1-проходный
NSPK (Needham–Shroeder Public Key)
NSPK с ключевым сервером
NSL (NSPK, модифицированный Lowe)
Denning–Sacco Key Distr. (с открытыми ключами)
Shamir–Rivest–Adleman 3-проходный
CCITT X.509
EKE (Encrypted Key Exchange)
Атака
Replay
Replay
TF, Replay
STS
TF
TF
PS
TF
Replay, PS
PS
Replay
Replay
MITM
MITM
MITM
MITM
Replay, PS
TF
PS
Поэтому общее описание атаки на протокол представляет собой композицию параллельных процессов, соответствующих различным ролям каждого из сеансов выполнения протокола.
Пространство атак. Общим описанием различных траекторий выполнения протокола с двумя ролями при реализации всевозможных атак на протокол будет запись
q|| r1∗ || r2∗ , где r∗ = r|| r|| r|| . . . Эта запись означает, что одновременно может выполняться несколько процессов, один из которых соответствует противнику, а остальные
— двум ролям, каждая из которых может выполняться произвольное конечное число
раз.
Запись q|| r1∗ || r2∗ задает все пространство всевозможных траекторий выполнения
протокола, которые могут получаться при всевозможных атаках. Будем называть его
пространством поиска атак. Его элементами, называемыми траекториями, являются мультимножества вида {q 1 , r1k1 , r2k2 }. Здесь запись riki означает, что роль ri выполняется ki раз.
Пространство всевозможных траекторий выполнения протокола является бесконечным, поэтому обычно вводят ограничения на число n различных реализаций ролей
протокола (в данном случае это n = k1 + k2 ).
Каждую конкретную реализацию роли называют запуском (run). В различных моделях протокола этому понятию соответствуют термины: «регулярная нить» (regular
strand), «процесс» (process), «нить» (thread) и др. Конкретную реализацию траектории, представляющую собой мультимножество описаний запусков, называют сценарием (scenario). В некоторых моделях для данного понятия используют термин «связка»
(bandle).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
132
А. В. Черемушкин
Будем обозначать участников протокола маленькими буквами a, b, c . . . Для символического описания каждого запуска протокола будем использовать запись (run
description)
ri (x1 , x2 , . . . , xt ),
где ri — роль, выполняемая участником x1 , x1 ∈ {a, b, c . . . }; x2 , . . . , xt ∈ {q, a, b, c . . . }
— другие участники, с которыми участник x1 осуществляет взаимодействие; t — число
ролей протокола.
Участник x1 изначально не знает, с кем он на самом деле осуществляет взаимодействие.
Обычно при анализе протокола предполагается, что имеется два честных участника и один противник.
Мощность пространства атак. Подсчитаем мощность пространства атак при
ограничении на число запусков протокола.
Утверждение 1 (Cas Cremers, Pascal Lafourcade, 2006). Пусть в спецификации
протокола предусмотрено m участников и t ролей. Тогда мощность пространства поиска атак, проводимых при n запусках протокола, равна
tm(m + 1)t−1 + n − 1
.
n
Доказательство. Число M всевозможных запусков протокола равно числу
различных описаний ролей вида r(x1 , x2 , . . . , xt ), где число ролей r равно t, значение
переменной x1 может быть выбрано m способами, значение каждой из переменных
x2 , . . . , xt может быть выбрано m + 1 способом.
Поэтому
M = tm(m + 1)t−1 .
Теперь надо вычислить число сценариев, т. е. мультимножеств порядка n, состоящих из всевозможных описаний запусков протокола. Оно совпадает с числом размещений n элементов по M ящикам и равно
M +n−1
.
n
Пример. При t = m = n = 2 пространство всевозможных сценариев атак на
протокол равно
2 ∗ 2 ∗ 32−1 + 2 − 1
13
=
= 78.
2
2
Данное пространство включает сценарии всех возможных атак. Например, атаке
«противник в середине» соответствует сценарий
{r1 (a, q), r2 (b, q)}.
Не каждому сценарию соответствует реальная атака.
Мощность пространства атак с учетом эквивалентных сценариев с точностью до перестановки участников. Введем отношение эквивалентности на пространстве поиска атак, т. е. множестве различных сценариев. Рассмотрим группу преобразований, действующую путем перестановки участников. Для двух участников она имеет
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Криптографические протоколы: основные свойства и уязвимости
133
порядок два и определяется двумя перестановками:
a, b
a, b
,
.
a, b
b, a
Воспользуемся леммой Бернсайда, которая утверждает, что число орбит при действии группы G на множестве X равно
1 X
i(g),
| G | g∈G
где i(g) обозначает число неподвижных элементов подстановки g ∈ G.
В нашем случае | G | = 2.
Следствие. Число классов эквивалентности мультимножеств равно
t3t−1 + n
−1
2t3t−1 +n−1
2
+
ε
X
n
n
n
1
2
i(g) =
,
| G | g∈G
2
где εn = 1 при четных n и 0 в противном случае.
Действительно, для тождественной подстановки неподвижными будут все мультимножества. Для транспозиции участников неподвижными будут только такие мультимножества, в которых входящие в них запуски разбиваются на пары, отличающиеся в
своей записи заменой {a → b, b → a}. При нечетных n такое разбиение невозможно.
При t = m = n = 2 получаем 42 класса эквивалентности вместо 78 мультимножеств. Например, атаке «противник в середине» соответствует два эквивалентных
сценария {r1 (a, q), r2 (b, q)} и {r1 (b, q), r2 (a, q)}.
7. Виды криптографических протоколов
Есть много подходов к классификации протоколов. Приведем некоторые из них.
— Классификация по числу участников:
— двусторонний,
— трехсторонний и т. п.,
— многосторонний.
— Классификация по числу передаваемых сообщений:
— интерактивный (есть взаимный обмен сообщениями),
— неинтерактивный (только однократная передача). Неинтерактивные протоколы
часто называют схемами.
— Классификация по целевому назначению протокола:
— протокол обеспечения целостности сообщений,
— с аутентификацией источника,
— без аутентификации источника;
— протокол (схема) цифровой подписи,
— протокол индивидуальной / групповой цифровой подписи,
— с восстановлением / без восстановления сообщения,
— протокол цифровой подписи вслепую,
— протокол конфиденциальной цифровой подписи,
— протокол цифровой подписи с доказуемостью подделки;
— протокол идентификации (аутентификации участников),
— односторонней аутентификации,
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
134
А. В. Черемушкин
— двусторонней (взаимной) аутентификации;
— конфиденциальная передача,
— обычный обмен сообщениями,
— широковещательная / циркулярная передача,
— честный обмен секретами,
— забывающая передача,
— протокол привязки к биту (строке);
— протокол распределения ключей,
— протокол (схема) предварительного распределения ключей,
— протокол передачи ключа (обмена ключами),
— протокол совместной выработки ключа (открытого распределения ключей),
— протокол парный / групповой,
— протокол (схема) разделения секрета,
— протокол (распределения ключей для) телеконференции, и др.
Групповые протоколы (group-oriented protocol) предполагают одновременное участие групп участников, например:
— протокол разделения секрета (secret sharing protocol) — если все группы, имеющие на это право, формируют одинаковые ключи;
— протокол телеконференции — если у различных групп должны быть разные
ключи;
— протокол групповой подписи (group signature protocol) — предполагается одновременное участие заранее определенной группы участников, причем в случае отсутствия
хотя бы одного участника из группы формирование подписи невозможно.
Примитивный криптографический протокол (primitive cryptographic protocol) —
это криптографический протокол, который не имеет самостоятельного прикладного
значения, но используется как базовый компонент при построении прикладных криптографических протоколов. Как правило, он решает какую-либо одну абстрактную
задачу. Примеры: протокол обмена секретами, протокол привязки к биту, протокол
подбрасывания монеты (по телефону).
Прикладной криптографический протокол (application cryptographic protocol) предназначен для решения практических задач обеспечения функций — сервисов безопасности с помощью криптографических систем. Следует заметить, что прикладные протоколы, как правило, обеспечивают не одну, а сразу несколько функций безопасности.
Более того, такие протоколы, как IPsec, на самом деле являются большими семействами различных протоколов, включающими много разных вариантов для различных
ситуаций и условий применения.
Примерами прикладных протоколов являются:
— система электронного обмена данными:
— протоколы электронного документооборота;
— система электронных платежей:
— протоколы систем с виртуальными деньгами,
— удаленный платеж по электронным чекам;
— протоколы систем с электронными деньгами,
— протокол удаленного платежа по кредитным картам,
— протокол электронного денежного перевода,
— протокол электронного дебетового поручения;
— протоколы систем с цифровыми деньгами,
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Криптографические протоколы: основные свойства и уязвимости
135
— протокол снятия со счета цифровой наличности,
— платежный протокол с цифровыми деньгами,
— протокол депозита для сдачи цифровых денег в банк,
— протокол с идентификацией повторной траты монеты;
— система электронной коммерции:
— протокол подписания контракта,
— протокол сертифицированной электронной почты,
— протокол электронного аукциона;
— поддержка правовых отношений:
— протоколы голосования (электронные выборы);
— игровые протоколы,
— протокол бросания жребия (по телефону),
— протокол игры в покер (по телефону) и т. д.
Пример. Задача жребия по телефону (coin-flipping by telephone) была впервые достаточно ярко сформулирована в 1982 г. М. Блюмом: «Муж и жена недавно развелись,
живут в разных городах и хотят решить, кому достанется машина. Жребий бросает
жена. Муж загадывает, что выпадет решка и сообщает об этом жене по телефону,
после чего слышит, как жена (на другом конце провода) говорит: “Ну хорошо. . . Я
бросаю . . . Орел! Ты проиграл!”»
Для решения этой задачи может быть применен следующий протокол привязки
к биту:
A → B : γ = f (a, x),
A ← B : b,
A → B : x.
Здесь a — загадываемое A значение; b — угадываемое B значение; γ — свидетельство;
x — случайное значение. Можно подобрать функцию f так, чтобы для этого протокола выполнялись свойства сокрытия и связывания. Первое свойство означает, что B
не может извлечь значение a из полученного сообщения γ, что позволит правильно
«угадать» значение b. Второе свойство гарантирует невозможность подбора значений
x1 и x2 , удовлетворяющих равенству f (0, x1 ) = f (1, x2 ), т. е. позволяющих осуществить
со стороны A подмену выбранного значения.
Классификацию криптографических протоколов можно проводить также и по другим признакам:
— по типу используемых криптографических систем:
— на основе симметричных криптосистем,
— на основе асимметричных криптосистем,
— смешанные;
— по способу функционирования:
— интерактивный / неинтерактивный,
— однопроходный / двух- / трех- и т. д. проходный,
— протокол с арбитром (протокол с посредником),
— двусторонний / с доверенной третьей стороной (с центром доверия), и т. п.
Протокол с арбитром (arbitrated protocol), синоним протокол с посредником —
криптографический протокол, в котором для разрешения споров между участниками требуется арбитраж.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
136
А. В. Черемушкин
Если обмен сообщениями осуществляется с участием специально выделенного
участника, обладающего доверием других участников, то говорят о протоколах с доверенной третьей стороной (T3P) или о протоколах с центром доверия.
Различают протоколы, в которых третья T3P сторона работает в режимах: online — в реальном времени, off-line — в отложенном режиме, in-line — в режиме посредника.
Протоколы доказательства
Доказательство интерактивное (interactive proof) осуществляется путем выполнения протокола с двумя участниками: доказывающий — убеждает проверяющего в
истинности некоторого утверждения; проверяющий — либо принимает, либо отвергает
доказательство. Характеризуется двумя условными вероятностями:
— если доказываемое утверждение верно, то доказательство должно быть верным
с вероятностью, стремящейся к единице при увеличении числа повторений протокола;
— если же доказываемое утверждение ложно, то при увеличении числа повторений
протокола вероятность правильности доказательства должна стремиться к нулю.
Наиболее распространены протоколы доказательства знания (какого-либо факта).
Доказательство знания (proof of knowledge) — доказательство интерактивное, при
котором доказывающий убеждает проверяющего в том, что он владеет секретной информацией, не раскрывая её.
Протокол интерактивного доказательства должен учитывать возможность обмана
со стороны обоих участников. Если участник A (доказывающий) на самом деле не
знает доказываемого утверждения (либо от имени участника A выступает кто-либо
другой), то B должен обнаружить факт обмана. Поэтому доказательство знания характеризуется двумя свойствами: полнотой и корректностью.
Полнота (completeness property) — свойство криптографического протокола, означающее, что при выполнении честными участниками протокол решает ту задачу, для
которой он создан.
Корректность (soundness property) — способность криптографического протокола
противостоять угрозам со стороны противника и/или нарушителя, не располагающего
необходимой секретной информацией, но пытающегося выполнить протокол за участника A, который по определению должен такой информацией владеть.
С другой стороны, протокол должен обеспечить возможность доказательства владения секретной информацией, не раскрывая её. Если проверяющий B захочет получить какую-либо информацию об этом утверждении, помимо самого факта владения
ею, то его попытки сделать это должны быть обречены на неуспех.
Поэтому центральным свойством таких протоколов является разглашение нулевое
(Zero-knowledge property) — свойство протокола доказательства знания, обеспечивающее такое его выполнение, что никакая информация о доказываемом утверждении,
кроме факта его истинности, не может быть получена нечестным проверяющим из
переданных сообщений за время, полиномиально зависящее от суммарной длины этих
сообщений.
Как правило, протоколы доказательства выполняются в виде последовательности
независимых циклов (раундов), каждый из которых состоит из трех шагов определенного вида:
(1) A → B : γ (заявка, witness),
(2) A ← B : x (запрос, challenge),
(3) A → B : y (ответ, response).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Криптографические протоколы: основные свойства и уязвимости
137
После выполнения каждого такого цикла проверяющий принимает решение об истинности доказательства.
К категории доказательства знания относятся, например, протоколы идентификации.
8. Средства автоматизированного анализа
По принципам работы их можно сгруппировать в два основных класса: средства
дедуктивного логического вывода, средства верификации.
Средства первого типа используют дедуктивный подход, основанный на логической проверке корректности рассматриваемого протокола. Свойства формулируются
как утверждения в рамках некоторой логики, и для их проверки ищется логический
вывод этого утверждения. Применяется для доказательства корректности системы,
того, что протокол действительно удовлетворяет определённым требованиям.
Средства первого типа можно подразделить на три основные группы, в основе
которых лежат соответственно: логика доверия и генерация теории; автоматическое
доказательство теорем; логическое программирование.
Средства второго типа основаны на использовании методов верификации, и
прежде всего метода проверки на модели (model checking).
По протоколу строится формальная модель — система переходов, состояниями которой являются множества высказываний о свойствах протокола. Затем она проверяется на удовлетворение некоторому свойству безопасности в каждом своем состоянии,
которого можно достичь, выходя из определенного множества начальных состояний.
Основные трудности такого подхода связаны с бесконечностью числа состояний моделирующей системы, что требует необходимости сведения к конечной поведенческой
модели. С другой стороны, в результате строится контрпример, состоящий из траектории, ведущей к опасному состоянию системы, называемому состоянием атаки, тем
самым явно указывается атака на протокол.
Средства второго типа можно подразделить на следующие основные группы: основанные на автоматах; основанные на пространстве нитей; основанные на логике.
Соберем в табл. 5 сводную информацию о существующих средствах автоматизированного анализа протоколов. В ней использованы следующие обозначения: A — алгебраический подход, TP — автоматическое доказательство теорем (theorem proving),
MC — проверка моделей (model checking), BL — логика доверия (believe logic).
Алгебраический подход. Д. Долев и А. Яо (Dolev, Yao) в 1983 г. предложили алгоритм анализа протоколов, основанный на сведении задачи анализа протокола
к обобщенной проблеме тождества слов в некотором алфавите.
Алгебраический подход для записи сценариев работы протокола состоит в следующем: каждому сценарию выполнения протокола соответствует последовательность
преобразований слов; проблема безопасности сводится к проверке выводимости слов
определенного вида из множества слов, соответствующих возможным сценариям выполнения протокола. Правила преобразования слов определяются на основе модели
противника, в которой для каждого протокола указано, что может и чего не может
делать противник.
Модель противника Долева — Яо. Основные положения этой модели сводятся
к следующему.
1) Противник может использовать любые доступные ему комбинации стандартных
операций для построения новых сообщений из тех, которые ему известны. Предполагается, что, наблюдая в канале связи сообщения, противник всегда знает их структуру.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
138
А. В. Черемушкин
Та б л и ц а 5
Известные средства автоматизации анализа протоколов
Название
DY
BAN
GNY
AT
VO
SvO
AUTLOG
Accountability
Revere (RV)
NRL
Isabelle
PVS
Maude
SPASS
daTac
TA4SP
Athena
Interrogator
Casper/FDR
Murϕ
Cosec
Brutus
Athena
STA
ProVerif
Autofocus
CoProVe
HERMES
CL-AtSe
OFMC
SATMC
Spider
Scyther
Авторы
Dolev-Yao
Burrow, Abadi
Gong и др.
Abadi, Tuttle
van Oorshot
Syverson и др.
Kessler и др.
Kailar
Kindred
Meadows
Paulson
Dutertre и др.
Denker и др.
Weidenbach
Rusinowitch и др.
Genet, Clay и др.
Song и др.
Millen и др.
Lowe
Год
1983
1989
1990
1991
1993
1996
1994
1996
1999
1996
1997
1997
1998
1999
2000
2004
1999
1987
1996
Тип
A
BL
BL
BL
BL
BL
BL
BL
BL
TP
TP
TP
TP
TP
TP
TP
MC
MC
MC
Mitchell и др.
Focardi и др.
1997
1997
MC
MC
Marrero
2001
MC
Song и др.
Boreale
Blanchet
1999
2001
2001
MC
MC
MC
Wimmel и др.
Corin, Etalle
Bozga и др.
Turuani
Basin и др.
Armando и др.
Lenzini и др.
2002
2002
2003
2003
2004
2005
2004
MC
MC
MC
MC
MC
MC
MC
Cremers
2006
MC
Примечание
Множество слов
Генерация теории
Специальное
Универсальное
Универсальное
Универсальное
Универсальное, хорновские выражения
Универсальное
Специальное, древовидные автоматы
Модель пространства нитей
Пространство состояний
Специальное, компилятор Casper,
алгебра процессов CSP
Универсальное
Алгебры процессов
(Security Process Algebra)
Системы переписывания
термов, темпор. логика
Модель пространства нитей
Аппроксимация, Pi-исчисление,
хорновские выражения, PROLOG
Диаграммы переходов состояний
Логики CAPSL, SPL и TTL
Символические модели
Символические модели
Выполнимость, планирование
Темпоральная логика, алгебра
процессов (spi-исчисление)
Симв. анализ, обр. поиск, шаблоны
Неизвестными ему могут быть только конкретные значения отдельных фрагментов
сообщения. В частности, он может выделять части из перехваченных сообщений, составлять из них новые, расшифровывать и зашифровывать сообщения с помощью
известных ему ключей, вычислять значения хеш-функций и т. п.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Криптографические протоколы: основные свойства и уязвимости
139
При этом ключи, случайные метки, идентификаторы абонентов и т. п. всегда рассматриваются противником как неделимые фрагменты, то есть они могут извлекаться
противником из сообщений участников протокола только целиком.
2) Если в некотором сообщении содержится зашифрованная информация, то противник может использовать ее только в данном, зашифрованном виде, либо, чтобы
извлечь ее, противник должен знать соответствующий ключ расшифрования. Более
точно, предполагается, что все криптографические алгоритмы обладают свойством
совершенности:
— если это система с открытыми ключами, все односторонние функции являются
односторонними, общедоступный каталог открытых ключей является общедоступным
и защищенным от подмены, расшифровать сообщение может только тот, кто обладает
секретным ключом;
— если это симметричная шифрсистема, то, не зная ключа, нельзя ни зашифровать,
ни расшифровать сообщение;
— если это система имитозащиты, то нельзя подделать значения кодов аутентичности сообщений;
— если это система цифровой подписи, то нельзя ни подделать значения цифровой
подписи по сообщением, ни сформировать корректно подписанные сообщения, и т. п.
3) Предполагается, что противник обладает полным контролем над всеми каналами связи. Это означает, что противник может прослушивать все сообщения, удалять
сообщения из каналов связи и перенаправлять их другим адресатам, формировать и
отправлять любым участникам сообщения.
4) В общем случае противник может быть как внутренним (если это один
или несколько участников протокола, называемых обычно нарушителями, dishonest
participants), так и внешним (в этом случае он часто отождествляется с сетью), а также коалицией из участников и внешних субъектов (случай сговора). В связи с этим
часто предполагается также, что каждый из участников может получать все сообщения, отправляемые другими участниками. Нечестные участники протокола раскрывают контролирующему каналы связи субъекту всю доступную им информацию, в том
числе ключи. Таким образом, противник может взаимодействовать с другими участниками протокола от лица тех участников, которые вступили с ним в сговор.
Модель знаний противника Долева — Яo. Возможные изменения множества
сообщений, составляющих совокупное знание противника, моделируются в терминах
системы переходов с бесконечным числом состояний. Эта система переходов определяет дерево, представляющее возможные переходы состояний, стандартным образом:
корень — это начальное состояние, а потомки представляют состояния, в которые система может перейти за один переход. Состоянием системы в каждый момент времени
является множество сообщений, которые могут стать известны противнику на этом
этапе выполнения протокола. Дерево переходов имеет бесконечное число состояний,
так как по определению модели Долева — Яo каждый узел имеет бесконечное число
преемников. Это дерево имеет бесконечную глубину, так как мы не можем ограничить
число различных сеансов протокола.
Знания противника можно определить в терминах логических правил вывода. В соответствии с моделью Долева — Яo знание противника (intruder knowledge) представляет собой множество сообщений DY(M ), которые сможет сгенерировать противник,
зная множество сообщений M . Множество сообщений DY(M ) определяется как минимальное множество, замкнутое относительно следующих правил, объединенных в две
группы: правила генерации и правила анализа. Правила генерации показывают, как
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
140
А. В. Черемушкин
противник может составлять сообщения, используя известные ему ключи и фрагменты
сообщений; правила анализа показывают, как противник может разбирать сообщения.
Таким образом, знание противника — это множество термов DY, которые могут быть
выведены из M с помощью определенных выше правил.
Процесс изменения этого множества в ходе реализации различных сценариев выполнения протокола формально описывается как последовательное применение к множеству термов формальных правил, называемых правилами переписывания, которые
строятся на основе определенных выше правил вывода.
Формальная система, описывающая порядок применения этих правил, называется
системой переписывания термов.
NRL Protocol Analyzer
NRL Protocol Analyzer разработан в US Navy Research Laboratory под руководством
Catherine A. Meadows, 1996 г. Он осуществляет автоматическую генерацию инвариантов с целью ограничить потенциально бесконечное пространство состояний. Полученное пространство исследуется на возможность проведения атак на протоколы и для доказательства безопасности протоколов, даже при потенциально неограниченном числе
выполнений протокола или неограниченном числе атак противника.
Небезопасное состояние специфицируется не только в терминах:
— значений переменных локального состояния,
— знаний противника,
— в терминах последовательности событий, которые должны или не должны произойти.
Например, можно запросить осуществить поиск состояния, в котором один и тот же
ключ принят дважды участником (происходят два события), или состояния, в котором
отвечающая сторона B принимает некий ключ для взаимодействия с инициатором A,
в то время как A не инициировал этот протокол.
NRL Protocol Analyzer начинает движение из этого состояния и проходит в обратном направлении все маршруты в пространстве состояний, которые заканчиваются
либо начальным состоянием, либо недостижимым состоянием.
Таким образом, этот анализатор можно использовать для доказательства того, что
никакая сторона не будет аутентифицирована некорректно, но не для того, чтобы
доказать, что аутентификация завершается всегда.
NRL Protocol Analyzer не делает никаких предположений об ограничениях на число сеансов выполнения протокола, на количество участников или на количество применяемых криптографических функций, что приводит к бесконечности пространства
состояний. Однако он обеспечивает средства для специфицирования и доказательства
индуктивных лемм о недостижимости бесконечных классов состояний, что позволяет
во многих случаях проводить исчерпывающее исследование пространства состояний.
NRL Protocol Analyzer снабжен языком темпоральной логики NPATRL (NRL
Protocol Analyzer Temporal Requirements Language) (P. Syverson and C. Meadows, 1993),
позволяющим специфицировать требования к протоколу в терминах желательной или
нежелательной последовательности событий.
NRL Protocol Analyzer и во многом похожий на него Interrogator (J. Millen, S. Clark
and S. Freedman, 1987) были первыми инструментами для анализа протоколов, которые можно отнести к инструментам для исследования пространства состояний в обратном направлении. Движение в пространстве состояний начиналось из небезопасного состояния, и с помощью анализатора делалась попытка обнаружить состояние, из
которого существовал маршрут в это небезопасное состояние и которое бы удовлетво-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Криптографические протоколы: основные свойства и уязвимости
141
ряло начальной конфигурации. Такие средства имели дело с бесконечными моделями
и являлись фактически доказывателем теорем. Во время верификационного процесса
требовалось вмешательство пользователя, кроме того, этот процесс не всегда можно
было завершить.
FDR
G. Lowe (1996) исследовал применение FDR к анализу криптографических протоколов, специфицированных с помощью языка процессов CSP (Communicating sequential
processes) (1980). Каждый участник протокола моделируется с помощью процесса CSP,
который находится либо в состоянии ожидания сообщения, либо посылает сообщение.
Каналы используются для взаимодействия между процессами и моделирования противника. Противник — параллельная композиция нескольких процессов, по одному на
каждый факт или сообщение, из которых он может получить какие-либо сведения о
выполнении протокола. Специально разработанный компилятор Casper (Lowe, 1997)
позволил автоматизировать конструирование противника.
Под безопасным понимается такой процесс, в котором отсутствуют последовательности событий, соответствующие получению противником секретных сведений.
Murϕ
J. Mitchell, M. Mitchell, and U. Stern в 1997 г. описали применение универсального
анализатора моделей Murϕ к анализу криптографических протоколов. В Murϕ состояние системы определяется с помощью набора глобальных переменных состояния,
включая разделяемые переменные, которые используются для моделирования взаимодействия. Вводятся правила, которые описывают, как участники осуществляют переход между состояниями и как новые сообщения поступают в сеть, а также поведение
противника. Эти правила авторами подробно не описываются, только упоминается,
что описание противника выглядит довольно сложным.
Athena
Athena (D. Song, S. Berezin, A. Perrig, 2001) интегрирует подходы на основе проверки на модели и автоматического доказательства теорем. Как и NRL Protocol Analyzer,
Athena работает в обратном направлении, стартуя из запрещенного состояния, и пытается выявить начальные условия, необходимые для достижения этого состояния. Как
и в NRL Protocol Analyzer, состояния поддерживаются как можно более абстрактными, и Athena старается соединить это состояние с правой стороной правила. В случае
NRL Protocol Analyzer — это правило переписывания, в случае Athena — это правило
вывода. По мере продвижения поиска состояния конкретизируются в том смысле, что
все больше переменных становятся связанными.
Athena использует расширение модели пространства нитей (strand space) (F. Thayer
Fabrega, J. Herzog, and J. Guttman, 1998) в качестве модели вычислений. Благодаря
простоте и интуитивности этой модели средство Athena обладает высокой эффективностью.
Isabelle
L. C. Paulson в 1998 г. исследовал применение Isabelle, которое является инструментом для доказательства теорем универсального назначения, для доказательства
корректности протоколов.
Подобно моделям, используемым в Murϕ и NRL Protocol Analyzer, протокол
в Isabelle специфицируется с помощью набора правил, которые описывают поведение
подлинных участников протокола. Эти правила описывают, при каких обстоятельствах
участник создает и посылает сообщение.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
142
А. В. Черемушкин
Murϕ и NRL Protocol Analyzer используют эти правила для описания состояния,
в которое переходит система, когда совершается некое действие или посылается сообщение. В противоположность этому, здесь эти правила используются для индуктивного определения множества возможных траекторий.
Каждое правило имеет форму: «если некая траектория содержит определенные
события, тогда она может быть продолжена с помощью добавления определенного нового события в ее конец». Благодаря тому, что дается индуктивное определение для
множества трасс в протоколе, доказательство корректности справедливо для произвольного числа протокольных сессий, а не только для модели с конечным числом
состояний.
Однако, как и в случае NRL Protocol Analyzer, это средство не гарантирует завершения процесса анализа. К тому же не ясно, как получить информацию о возможных
ошибках в протоколе, для которого доказательство корректности не проходит. Тем
не менее это средство хорошо подходит для проектировщиков протоколов в целях их
отладки.
Все средства, основанные на методе доказательства теорем, имеют общий недостаток, потому что требуют тесного взаимодействия с пользователем и глубокого проникновения в суть проблемы при верификации протоколов.
REVERE
Revere (Kindred, 1999) является инструментом для автоматизированного анализа протоколов, который основан на применении логики доверия RV (от Responsibility
Verification), обобщающей логику доверия BAN. В ее основе лежит алгоритм генерации
теории (theory generation), предназначенный для получения конечного представления
логики доверия, являющегося по сути полным списком всех утверждений, выводимых
из описания протокола и исходных предположений. Сравнивая такие представления
для двух различных протоколов, можно выделять утверждения, справедливые для
одного из протоколов и не справедливые для другого, и, тем самым, выяснять их индивидуальные особенности и уязвимости. Поскольку этот подход является разновидностью метода доказательства теорем, данное средство дает возможность доказывать
положительные утверждения о протоколах, но не находит контрпримеры.
AVISPA
В начале осени 2005 г. появился новый программный продукт — AVISPA (Automated
Validation of Internet Security Protocols and Applications) (A. Armando, D. Basin,
Y. Boichut, Y. Chevalier, L. Compagna, и др.) (http://www.avispa-project.org), разработанный в рамках международного проекта c участием LORIA-INRIA (Франция), ETH
Цюрих (Швейцария), Ai-Lab Univ. Genova (Италия), Siemens AG (Германия).
Главное преимущество AVISPA состоит в том, что ее применение позволяет не
только определить, есть ли недостатки у конкретного протокола, но и найти атаки на
данный протокол, если это возможно. Интегрирует различные современные подходы
к анализу протоколов, такие, как проверка на модели (model-checking), древовидные
автоматы, темпоральная логика. При этом используются последние достижения, полученные после 2000 г. В отличие от других средств, исполняемый программный код
этого средства доступен через Интернет на сайте http://www.avispa-tool.org.
В настоящее время AVISPA включает четыре выходных модуля (рис. 1):
— OFMC (On-the-fly Model-Checker),
— CL-AtSe (CL-based Attack Searcher),
— SATMC (SAT-based Model-Checker),
— TA4SP (Tree Automata-based Protocol Analyser).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Криптографические протоколы: основные свойства и уязвимости
143
Язык спецификации высокого уровня (HLPSL)
?
Транслятор
HLPSL2IF
?
Внутренний формат (IF)
?
?
On-the-fly
Model-Checker
(OFMC)
?
?
?
?
?
?
?
SAT-based Tree Automata-based
CL-based
Attack Searcher Model-Checker Protocol Analyser
(TA4SP)
(SATMC)
(CL-AtSe)
?
Выходной формат (OF)
Рис. 1. Архитектура AVISPA
Данные модули частично дублируют и взаимно дополняют друг друга. Первые три
модуля (CL-AtSe, OFMC и SATMC) реализуют верификацию протокола путем проверки на модели. Приведем их краткое описание. Модуль TA4SP использует технику,
разработанную для систем автоматического доказательства.
Модуль CL-AtSe
CL-AtSe (constraint-Logic-based Model-Searcher) — программа верификации, основанная на логике ограничений. Выполняет трансляцию произвольной спецификации
протокола, записанной в терминах отношений переходов (transition relation) на языке
IF, в множество ограничений (constraints), обязывающих нарушителя к выполнению
определенных действий, которое может быть эффективно использовано для нахождения атак на протоколы. Как трансляция, так и проверка выполняются полностью
автоматически внутри блока CL-AtSe.
Каждый шаг протокола моделируется ограничениями, которые заносятся в список
знаний нарушителя. Например, сообщение, полученное честным участником, рассматривается как ограничение, обязывающее нарушителя к использованию возможности
для подделки. С каждым шагом протокола осуществляется добавление новых ограничений для системы и сокращение/исключение других ограничений соответственно.
Затем на каждом шаге состояние системы тестируется на предмет выполнения необходимого множества свойств безопасности.
Алгоритм анализа, применяемый в CL-AtSe, построен так, что он способен обрабатывать ограниченное число циклов, то есть ограниченное число шагов для любой
траектории.
В процессе чтения IF файла CL-AtSe пытается с помощью выполняемых по умолчанию процедур упростить спецификацию протокола с целью сократить общее число
шагов протокола, подлежащих проверке. Основная идея этого сокращения вариантов
перебора состоит в предварительном выделении тех шагов протокола, которые можно
выполнить в конце, и тех, которые надо выполнить немедленно, и последующем учете
этой информации при проведении перебора. В заключение CL-AtSe пытается создать
хорошо читаемое для человека описание атаки, если таковая найдена.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
144
А. В. Черемушкин
Модуль OFMC
Выходной модуль OFMC (On-the-Fly Model-Checker) (D. Basin, S. Mödersheim, and
L. Viganò, 2003) разработан в Information Security Group ETH Zurich, является анализатором моделей для анализа протоколов защиты. Он комбинирует два метода:
— использование инертных (lazy) типов данных, позволяющих редуцировать бесконечное пространство состояний до конечного;
– применение символического метода для моделирования злоумышленника в модели Долева — Яо, чьи действия воспроизводятся оперативно в стиле управления по
запросу (demand-driven way), т. e. на ходу.
Для сокращения числа вариантов поиска строится редуцированная конечная модель за счет рассмотрения бесконечных типов данных (таких, как потоки и деревья) и
оперирования со свободными переменными. Использование таких типов данных, иначе
называемых инертными (lazy) типами данных, позволяет редуцировать бесконечное
пространство состояний до конечного.
Авторы формализовали применение символического метода для того, чтобы значительно сократить пространство состояний без исключения из рассмотрения каких-либо
атак. Подход, названный авторами методом инертного злоумышленника, использует
символическое представление. Сообщения злоумышленника представляются выражениями с переменными, значения которых не фиксируются.
OFMC может быть применен:
— не только для быстрого определения атак,
— для доказательства корректности протокола при ограниченном числе сессий.
Более того, OFMC имеет встроенную поддержку для алгебраических уравнений, а
именно с использованием OFMC может быть проанализирован протокол с ключевым
обменом по протоколу Диффи — Хеллмана; причем в настоящее время разрабатывается более общая поддержка алгебраических свойств (включая определенные самим
пользователем).
При конкретной реализации метода проверки протокола с применением техники
инертных состояний необходимо решить две проблемы: в каком порядке применять соответствующие правила, как реализовать приведение ограничений к редуцированному
виду. В OFMC разработан новый подход, основанный на символическом задании сеансов протокола: вводится символическое представление инертного нарушителя вместо
перенумерации сеансов протокола; вместо имен вводятся роли участников, обозначаемые переменными. Затем в процессе поиска переменные подвергаются унификации
и принимают значения, равные именам конкретных участников, либо остаются переменными.
Модуль SATMC
SATMC (SAT-based Model-Checker) (M. Abadi, V. Cortier, 2004) строит пропозициональную формулу, кодирующую отношения переходов, специфицированные с помощью языка IF, начальное состояние и множество состояний, представляющих различные варианты свойств безопасности. В результате компиляции спецификации IF
с помощью модуля SATMC осуществляется преобразование комбинации указанных
проблем безопасности в задачи планирования, для решения которых используется современная техника решения задач выполнимости, разработанная для проблем планирования. Пропозициональная формула подается на вход алгоритма проверки выполнимости (SAT-солвера), причем любое найденное решение преобразуется обратно
в атаку.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Криптографические протоколы: основные свойства и уязвимости
145
При разработке SATMC основное внимание было уделено гибкости, модульности
и эффективности. Результатом этого является открытая и гибкая платформа для основанной на задаче выполнимости ограниченной проверки моделей протоколов безопасности. Например, продвижение технологии SAT может быть осуществлено путем интеграции с современными SAT-солверами (например, дающими наилучшую
производительность в соревновании SAT средств, о которых можно узнать на сайте
http://www.satlive.org). Аналогично, преимущества и новые подходы в AI планировании и технике SAT-редуцирования могут быть непосредственно применены в SATMC.
SATMC можно применять не только для открытия новых атак на протоколы, но
и для верификации при ограниченном числе сессий — проблемы, которая, как было
доказано M. Rusinowitch и M. Turuani, 2001, принадлежит тому же классу, что и проблема выполнимости, то есть NP-полная.
На вход выходного модуля (рис. 2) подается спецификация протокола и проблемы
на языке IF, которая затем перекомпилируется с учетом линейного кодирования в проблему планирования. Далее осуществляется попытка решить проблему планирования
с помощью какого-либо современного средства проверки выполнимости. Далее в зависимости от результата проверки либо процесс проверки продолжается при измененных
параметрах, либо выдается результат — свойство выполнено, или же найденное решение анализируется и по нему выписывается найденная атака.
Intermediate Format (IF)
?
Translator
IF2SATE
?
SATE Format (SATE)
?
SATE compiler
Linear encoding
Graphplan
-based
Encoding
-
SAT
solver
interface
?
?
Свойство Атака
Рис. 2. Блок-схема выходного модуля SATMC
Модуль TA4SP
Модуль TA4SP вычисляет для заданного начального состояния как верхнюю, так и
нижнюю аппроксимацию знаний нарушителя с помощью правил переписывания с применением техники аппроксимации древовидных автоматов (языков) при неограниченном числе сессий.
TA4SP использует библиотеку древовидных автоматов Timbuk 2.0, созданную
Th. Genet IRISA, Rennes France и доступную на сайте http://www.irisa.fr/lande/genet/timbuk/.
Верхняя оценка может привести к реальному доказательству проверяемого свойства безопасности для изучаемого протокола при неограниченном числе сессий.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
146
А. В. Черемушкин
В противном случае, в контексте верхнего оценивания TA4SP может только делать
вывод, что свойство конфиденциальности выполняется только для данного начального
состояния.
При нижнем оценивании без каких-либо абстракций средство может показать, что
протокол не удовлетворяет данному свойству безопасности.
Для проверки протокола с помощью TA4SP применяется следующая эмпирическая
стратегия.
1. Пользователь вычисляет верхнюю оценку и проверяет свойство безопасности.
2. Если первый шаг не позволяет сделать вывод о выполнении свойства безопасности, то пользователь вычисляет нижнюю оценку до тех пор, пока не будет получена
атака в приемлемое время. Однако эта эмпирическая стратегия не всегда приводит
к ожидаемому результату.
Промежуточный результат на основе верхнего оценивания не позволяет сделать
вывод, что атака действительно существует.
Сочетает преимущества систем автоматического доказательства теорем с формальной абстрактной интерпретацией, называемой аппроксимацией.
Обладает многими важными для практики свойствами:
— не требуется завершение работы систем переписывания;
— системы переписывания могут включать АС-символы;
— доказательства получаются с помощью выполнения операции пересечения с аппроксимирующим автоматом TR↑ (A0 ) (что быстро выполняется в автоматическом режиме);
— построение TR↑ (A0 ) также выполняется автоматически, монотонно, причем можно гарантировать его завершение при подходящем выборе аппроксимационной функции γ.
Построение функции аппроксимации не требует никакого особого мастерства и
специальных знаний из теории формального доказательства, так как оно заключается
в указании некоторых множеств объектов, представляемых распознающими регулярные множества термов состояниями, которые надо объединять вместе для построения
аппроксимирующей модели. Пока этот шаг выполняется вручную, но в скором времени
он будет автоматизирован.
Scyther
Создан в ETH (Цюрих). Верифицирует ограниченное и неограниченное число сеансов протокола. Использует символический анализ в сочетании с обратным поиском,
основанный на частично упорядоченных шаблонах (C. J. F. Cremers, 2006).
Scyther не требует задания сценария атаки. Необходимо только задать параметры,
ограничивающие либо максимальное число запусков (M axRuns(n)), либо пространство перебираемых траекторий (T races).
В первом случае даже для маленьких значений n всегда дает результат и показывает найденные траектории атаки.
Во втором случае завершение не гарантировано. По умолчанию Scyther использует
значение M axRuns(5), что гарантирует завершение, причем в качестве ответа получаем одну из трех ситуаций:
— установлено, что проверяемое свойство выполнено для M axRuns(5);
— свойство не выполнено, так как найдена атака;
— свойство может быть корректно для пространства траекторий T races.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Криптографические протоколы: основные свойства и уязвимости
147
HERMES
Архитектура HERMES представлена на рис. 3. Он позволяет анализировать ограниченное и неограниченное число сеансов протокола.
Разработан под руководством Liana Bozga французским исследовательским
центром VERIMAG из IMAG в рамках объединенного французского проекта
EVA (Explication et Verification Automatique pour les Protocoles Cryptographiques)
(http://www-eva.imag.fr/). Впервые был представлен на конференции CAV в 2003 г.,
доступ к нему в on-line появился в 2006 г. В настоящее время работа над ним
приостановлена. Имеется две работы, описывающих особенности функционирования HERMES, однако нет теоретического обоснования принципа его действия.
Исполняемых файлов, а также исходных кодов программы в открытом доступе также нет. Доступен в интерактивном режиме on-line на сайте http://wwwverimag.imag.fr/Liana.Bozga/eva/hermes.php.
Скрипт на языке LaEVA
?
Транслятор
EVA
?
Скрипт на языке CPL
?
?
Модуль
CPV
?
?
Модуль
HERMES
?
Др. модули
???
?
?
Модуль
SECURIFY
?
?
?
Проверка на ошибки
Рис. 3. Архитектура HERMES
HERMES использует язык LaEva верхнего уровня для задания спецификаций протоколов и их свойств, аналогичный языку HLPSL. Затем этот язык транслируется во
внутреннее представление на языке cpl, которое является общим языком для нескольких продуктов, таких, как SECURIFY (2001), Cpv (2000) и HERMES.
Для заданных протокола и проверяемого свойства HERMES дает на выходе условия на исходные знания противника, которые гарантируют, что он не сможет узнать
секрета. Работает при неограниченной длине сообщения и неограниченном числе
участников. Строит инварианты для знаний противника, а не все множество сообщений, представляющее знания противника. Если в результате найдена атака, то предоставляет траекторию атаки. В случае, когда в результате получается ответ, что свойство доказано, выдает также дерево полного доказательства, что бывает полезным при
сертификации протокола.
HERMES основывается на понятии безопасного сообщения для данного протокола,
которое защищает секрет K (K-защищающее). Пусть M (K) — множество сообщений,
содержащих секрет. Идея, которая лежит в основе алгоритма, состоит в том, чтобы
описать такое подмножество M ∗ ⊂ M (K), которое позволит не раскрыть секреты,
содержащиеся во всех посылаемых сообщениях. Сообщения из множества M (K) \ M ∗ ,
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
148
А. В. Черемушкин
которые не защищают секреты, назовем K-незащищающими. Оно вычисляется, уже
непосредственно отталкиваясь от самой модели протокола.
Таким образом, в отличие от уже имеющихся методов проверки на модели, в которых каждое формализованное состояние протокола проверяется на удовлетворение
свойству безопасности, HERMES проверяет сообщения — защищают ли они секрет или
нет. После завершения работы алгоритма на выходе получаем множество секретов S
и множество защищающих сообщений H.
Язык EVA, который используется в HERMES, основан на языке CAPSL и сам
по себе легко читаем и довольно прост. Непрограммист может легко разобраться в
особенностях языка, синтаксис языка несложен и интуитивно понятен. Имея в качестве
примеров два-три формализованных протокола, новые протоколы задаются довольно
легко, так как многие куски кода можно использовать практически без изменений.
Поэтому с этих позиций у языка EVA налицо преимущество перед языком в AVISPA.
С другой стороны, HLPSL позволяет выражать свойства безопасности глубже и
лаконичнее. Например, в EVA не существует терминов для задания различных видов
сред, что может стать серьезным препятствием при формализации некоторых протоколов.
Сравнение HERMES и AVISPA
HERMES:
— легче в использовании;
— сложнее интерпретировать полученные результаты в случае обнаружения недостатков в протоколах. Даже малейшая ошибка в протоколе приводит к десяткам непонятных математических правил;
— ошибки в синтаксисе обнаруживаются непосредственно перед компиляцией;
— в случае безопасного протокола не выдается никаких сведений о том, с помощью
каких инструментов был получен этот результат;
— протокол легче формализовать, но сложнее трактовать полученные результаты.
AVISPA:
— язык сложнее, но гибче, позволяет детально задавать протокол;
— требование задать свойства среды также усложняет процедуру проверки протокола;
— процедура отладки, в свою очередь, сложнее, чем в EVA;
— результаты, полученные с помощью AVISPA, более подробны и конструктивны;
— интерпретация полученных результатов не требует специальных навыков или
большого опыта, в отличие от HERMES, в котором опыт играет значительную роль.
Таким образом, HERMES больше подходит для анализа простых протоколов, использующих стандартные криптографические примитивы; AVISPA стоит использовать для анализа сложных и запутанных протоколов (можно самому задавать модель
нарушителя).
ProVerif
Разработан в рамках проекта, финансируемого INRIA. Анализирует неограниченное число сеансов протокола с использованием верхней аппроксимации и представления протокола с помощью хорновских выражений. Архитектура ProVerif представлена
на рис. 4.
ProVerif (B. Blanchet, 2001) предлагает два типа входных файлов: хорновские выражения и подмножество Pi-исчисления.
При использовании Pi-исчисления ProVerif основывается на описании множества
процессов, каждый из которых может выполняться неограниченное число раз.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Криптографические протоколы: основные свойства и уязвимости
149
Позволяет в автоматическом режиме проверять свойство секретности (конфиденциальности), свойство аутентификации.
На выходе возможны четыре ситуации:
— свойство не выполнено;
— доказано, что свойство выполнено;
— есть пример атаки (могут быть найдены ложные атаки);
— работа не завершается.
Заметим, что ProVerif корректно моделирует множество траекторий, соответствующих определенному сценарию, и поэтому осуществляет полный перебор возможных
траекторий.
Примеры, найденные в результате работы ProVerif, как правило, не требовали задания пространства траекторий T races.
Протокол, pi-исчисление, свойства
?
Анализатор
?
Набор правил Пролог
?
?
?
Хорновские выражения
Обработка запросов
Резолюция с выбором
?
?
?
Проверка ошибок
Рис. 4. Архитектура ProVerif
Сравнение AVISPA, ProVerif, Scyther
В заключение приведем диаграммы из работы [5], показывающие в логарифмической шкале трудоемкость проверки свойства секретности на примере протокола Нидхэма — Шредера с помощью программных средств AVISPA, ProVerif, Scyther (см.
рис. 5).
Как видно на рис. 5, наибольший рост трудоемкости при увеличении числа параллельно открытых сеансов протокола наблюдается при использовании модуля SATMC
(AVISPA). При использовании модулей ClStCe и OFMC также наблюдается рост трудоемкости. Модуль TA4SP дает постоянную трудоемкость, но большую, чем при использовании ProVerif, Scyther. Невозрастание трудоемкости в этих случаях объясняется тем, что они осуществляют проверку методом, не зависящим от числа открытых
сеансов протокола.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
150
А. В. Черемушкин
t, с
1000
SATMC
d
s
OFMC
d
CL-AtSe
s
d
100
d
10
d
s
s
d
d
d
d
s
d
s
s
s
s
s TA4SP
s
d
t
td
td
td
td
td
ProVerif
d
t
1
2
3
4
5
6
s
dr
1
Scyther
0,1
7
Число сеансов
Рис. 5. Сравнение программных средств
ЛИТЕРАТУРА
1. Черемушкин А. В. Криптографические протоколы. Основные свойства и уязвимости:
учебное пособие. М.: Изд. центр «Академия», 2009. 272 c.
2. Index of the security protocols repository (SPORE) // Laboratorie Spécification et Vérification.
http://www.lsv.ens-cachan.fr/spore/table.html.
3. Clark J., Jacob J. A Survey of Authentication Protocol Literature: Version 1.0. 17 Nov. 1997.
http://www.cs.york.ac.uk/ jac/papers/drareview.ps.gz, 1997.
4. Menezes A. J., van Oorschot P. C., Vanstone S. A. Handbook of applied cryptography. Boca
Raton, New York, London, Tokyo: CRC Press, 1997. 780 p.
5. Cremers C. J. F., Lafourcade P. Comparing State Spaces in Automatic Security Protocol
Verification. ETH Technical Report. 2007. No. 558. 26 p.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА
№2
ПРИЛОЖЕНИЕ
Ноябрь 2009
МАТЕМАТИЧЕСКИЕ ОСНОВЫ
КОМПЬЮТЕРНОЙ БЕЗОПАСНОСТИ
УДК 004.94
ОБЗОРНЫЕ ЛЕКЦИИ ПО МОДЕЛЯМ БЕЗОПАСНОСТИ
КОМПЬЮТЕРНЫХ СИСТЕМ
П. Н. Девянин
Институт криптографии, связи и информатики, г. Москва, Россия
E-mail: peter_devyanin@hotmail.com
Приводится содержание трех обзорных лекций по дисциплине «Модели безопасности компьютерных систем». Рассматриваются основные свойства классических
моделей дискреционного, мандатного, ролевого управления доступом, безопасности информационных потоков и изолированной программной среды, а также моделей безопасности логического управления доступом и информационными потоками (ДП-моделей). Формулируются наиболее интересные задачи для практических занятий по дисциплине.
Ключевые слова: компьютерная безопасность, модели безопасности, ДП-модели.
Введение
В соответствии с проектом ГОС ВПО третьего поколения модели безопасности
компьютерных систем (КС) преподаются в рамках следующих дисциплин:
— «Теоретические основы компьютерной безопасности» для магистров;
— «Модели безопасности компьютерных систем» специальности «Компьютерная безопасность» квалификации специалист;
— «Безопасность информационных и аналитических систем» специальности «Информационно-аналитические системы безопасности» квалификации специалист;
— «Основы информационной безопасности» для бакалавров и других специальностей направления 090000 — «Информационная безопасность» квалификации специалист.
Исследование формальных моделей, особенно моделей безопасности логического
управления доступом и информационными потоками в КС, создает предпосылки для
развития теории компьютерной безопасности. С применением формальных моделей
возможна разработка научно-обоснованных подходов, использование которых обеспечит гарантии выполнения требований безопасности в существующих или перспективных защищенных КС.
Основными классическими моделями, ориентированными на защиту от угроз конфиденциальности и целостности информации, а также от угрозы раскрытия параметров КС, являются модели дискреционного управления доступом, изолированной
программной среды (ИПС), мандатного управления доступом, безопасности информационных потоков, ролевого управления доступом [1 – 3]. Кроме того, в настоящее
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
152
П. Н. Девянин
время активно развивается семейство моделей безопасности логического управления
доступом и информационными потоками (сокращенно ДП-моделей).
Классические модели и ДП-модели построены с применением следующих основных
понятий: субъект (subject), объект (object), контейнер (container ), сущность (entity),
доступ (access), право доступа (access right), информационный поток по памяти
(information flow by memory) или по времени (information flow by time). При этом в современной теории компьютерной безопасности наибольшее развитие в области формального моделирования безопасности КС получил подход, заключающийся в представлении исследуемой КС в виде абстрактной системы (автомата), каждое состояние
которой описывается доступами, реализуемыми субъектами к сущностям, а переходы
КС из состояния в состояние описываются командами или правилами преобразования состояний, выполнение которых, как правило, инициируется субъектами. В основе данного подхода используется аксиома 1, позволяющая выделить элементы КС,
необходимые для анализа ее безопасности.
Аксиома 1 (основная аксиома компьютерной безопасности). Все вопросы
безопасности информации в КС описываются доступами субъектов к сущностям.
Классификация и взаимосвязь рассматриваемых моделей безопасности КС приведена на рис. 1. Все они войдут в разрабатываемое автором учебное пособие «Модели
безопасности компьютерных систем», второе издание которого планируется в 2010 г.
1. Модели дискреционного управления доступом
и изолированной программной среды
Модель Харрисона — Руззо — Ульмана (ХРУ) является одной из первых формальных моделей. В модели произвольная КС с дискреционным управлением доступом
описывается множеством матриц доступов, каждая из которых соответствует состоянию КС, и командами преобразования матриц доступов. Каждая из команд задается множеством параметров, условием выполнения и конечной последовательностью
примитивных операторов, преобразующих матрицу доступов. Применение команды
переводит КС из состояния в последующее состояние.
В модели ХРУ анализируются условия, при выполнении которых возможна проверка безопасности КС. При этом используется следующее определение.
Определение 1. Начальное состояние системы ХРУ называется безопасным относительно некоторого права доступа r, когда невозможен переход системы в состояние, в котором право доступа r появилось в ячейке матрицы доступов, до этого r не
содержавшей.
Основным фактом, который доказывается в модели ХРУ, является следующая теорема.
Теорема 1. Задача проверки безопасности произвольных систем ХРУ алгоритмически неразрешима.
При доказательстве теоремы 1 используется факт, обоснованный в рамках теории машин Тьюринга: не существует алгоритма проверки для произвольной машины
Тьюринга и произвольного начального слова, остановится ли машина Тьюринга в конечном состоянии или нет. При этом строится гомоморфизм произвольной машины
Тьюринга в соответствующую ей систему ХРУ, для чего все элементы и команды
машины Тьюринга задаются в виде элементов и команд системы ХРУ. Например,
внешний и внутренний алфавиты машины Тьюринга описываются множеством прав
доступа системы ХРУ, пройденный участок ленты машины Тьюринга представляется
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Обзорные лекции по моделям безопасности компьютерных систем
153
Рис. 1. Классификация и взаимосвязь положений моделей безопасности КС
матрицей доступов (рис. 2), команды машины Тьюринга задаются командами системы
ХРУ. Таким образом, остановке машины Тьюринга (переходу в конечное состояние q0 )
соответствует утечка права доступа q0 в системе ХРУ. Значит, задача проверки безопасности произвольных систем ХРУ алгоритмически неразрешима.
Следует отметить, что в современных КС в большинстве случаев при определении
безопасного состояния рассматривается утечка права доступа r не в произвольную, а
в заданную ячейку матрицы доступов. Например, появление у администратора безопасности прав доступа на чтение или модификацию конфигурационных файлов ОС,
как правило, не будет являться нарушением безопасности, однако получение данного
права доступа нарушителем является нарушением безопасности. Таким образом, при
доказательстве теоремы 1 следует рассмотреть вопрос о существовании для произвольной системы ХРУ алгоритма проверки возможности утечки права доступа в заданную
ячейку матрицы доступов. При этом целесообразно использовать следующее рассуждение.
Каждой системе ХРУ поставим в соответствие другую систему ХРУ, в которой
в каждую матрицу доступов M первой системы добавлен специальный субъект s0 ,
обладающий сам к себе специальным правом доступа active ∈ M [s0 , s0 ]; в каждую ко-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
154
П. Н. Девянин
Рис. 2. Заполнение матрицы доступов системы ХРУ
манду первой системы, содержащую примитивный оператор внесения права доступа r,
во второй системе добавлен параметр для обозначения субъекта, который в условии
команды проверяется на наличие у него самого к себе права доступа active, также в команду добавлен примитивный оператор внесения права доступа r в ячейку M [s0 , s0 ].
Таким образом, утечка права доступа r в первой системе происходит тогда и только
тогда, когда во второй системе происходит утечка права доступа r в ячейку M [s0 , s0 ].
Следовательно, если бы для произвольной системы ХРУ существовал алгоритм проверки возможности утечки права доступа в заданную ячейку матрицы доступов, то
существовал бы алгоритм проверки возможности утечки права доступа в произвольную ячейку.
Развитием модели ХРУ является модель ТМД, позволяющая за счет введения типов субъектов и объектов расширить класс КС, для которых существует алгоритм
проверки безопасности. Очевидно, что система модели ТМД является обобщением
системы модели ХРУ, которую можно рассматривать как частный случай системы
модели ТМД с одним единственным типом для всех объектов и субъектов. С другой
стороны, следует обратить внимание на то, что любую систему модели ТМД можно выразить через систему модели ХРУ, введя для обозначения типов специальные
права доступа и заменив проверку типов в командах проверкой наличия соответствующих прав доступа. Описание алгоритма построения для произвольной системы модели ТМД эквивалентной ей системы модели ХРУ является интересной практической
задачей.
В модели ТМД обосновывается, что алгоритм проверки безопасности существует
для ациклических монотонных систем модели ТМД, при этом используются следующие определения и доказывается теорема.
Определение 2. Система монотонной ТМД (МТМД) — система ТМД, в командах которой отсутствуют немонотонные примитивные операторы вида «удалить». . . и
«уничтожить». . .
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Обзорные лекции по моделям безопасности компьютерных систем
155
Определение 3. Каноническая форма системы МТМД (КФМТМД) — система
МТМД, в которой команды, содержащие примитивные операторы вида «создать». . . ,
не содержат условий и примитивных операторов вида «внести». . .
Определение 4. Система МТМД (КФМТМД) называется ациклической
(АМТМД или соответственно АКФМТМД) тогда и только тогда, когда ее граф создания (определение графа создания приводится в [2]) не содержит циклов.
Теорема 2. Для каждой системы МТМД существует эквивалентная ей система
КФМТМД.
В доказательстве теоремы 2 приводится алгоритм построения для произвольной
системы МТМД эквивалентной ей системы КФМТМД. В алгоритме особо рассматриваются специальным образом активизированные объекты и субъекты системы. При
этом при построении из системы МТМД ее канонической формы в нее добавляется
специальный субъект sactive , имеющий специальный тип tactive , который будет обладать
специальным правом доступа active только к активизированным объектам. Кроме того, в параметры каждой команды системы КФМТМД, не содержащей примитивные
операторы вида «создать». . . , добавляется параметр с типом tactive . Таким образом,
наличие специального права доступа active у субъекта sactive к объекту может быть
использовано для обозначения объекта как активизированного.
В результате обосновывается теорема.
Теорема 3. Существует алгоритм проверки безопасности систем АМТМД.
Алгоритм проверки безопасности систем АМТМД состоит из следующих трех
шагов:
1. Для системы АМТМД построить эквивалентную ей систему АКФМТМД.
2. Используя команды, содержащие только примитивные операторы «создать». . . и
не содержащие условий, перейти из начального состояния системы в некоторое «развернутое» состояние, обеспечивающее минимально необходимый и достаточный для
распространения прав доступа состав объектов.
3. Используя команды, не содержащие примитивные операторы «создать». . . , перейти из «развернутого» состояния в «замкнутое» состояние, в котором дальнейшее
применение таких команд не приводит к изменениям в матрице доступов.
В модели T ake-Grant условия передачи прав доступа и реализации информационных потоков рассматриваются с использованием графов доступов, что позволяет
добиться большей наглядности исследуемых положений модели. Модель T ake-Grant
изучается в два этапа. На первом этапе рассматривается классическая модель T akeGrant, в которой анализируются алгоритмически проверяемые условия передачи прав
доступа. На втором этапе рассматривается расширенная модель T ake-Grant, в которой
анализируются условия реализации в КС информационных потоков.
В классической модели T ake-Grant описываются четыре де-юре правила преобразования графов доступов take(α, x, y, z), grant(α, x, y, z), create(α, x, y), remove(α, x, y)
и используются следующие основные определения.
Определение 5. Пусть x, y ∈ O0 , x 6= y — различные объекты графа доступов G0 = (S0 , O0 , E0 ) и α — множество прав доступа. Определим предикат
can_share(α, x, y, G0 ), который будет истинным тогда и только тогда, когда существуют графы G1 = (S1 , O1 , E1 ), . . . , GN = (SN , ON , EN ) и правила op1 , . . . , opN , где N > 0,
такие, что G0 `op1 G1 `op2 . . . `opN GN и (x, y, α) ⊂ EN .
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
156
П. Н. Девянин
Определение 6. Островом в произвольном графе доступов G0 называется его
максимальный tg-связный подграф, состоящий только из вершин субъектов.
Определение 7. Мостом в графе доступов G0 называется проходящий через
вершины-объекты tg-путь, концами которого являются вершины-субъекты и словар→
− ←
− →
−−←
− →
− −←
−
ная запись имеет вид t∗ , t∗ , t∗ →
g t∗ , t∗ ←
g t∗ , где символ «∗» означает многократное
(в том числе нулевое) повторение.
Определение 8. Начальным пролетом моста в графе доступов G0 называется
tg-путь, началом которого является вершина-субъект, концом — объект, проходящий
→
−−
через вершины-объекты, словарная запись которого имеет вид t∗ →
g.
Определение 9. Конечным пролетом моста в графе доступов G0 называется
tg-путь, началом которого является вершина-субъект, концом — объект, проходящий
→
−
через вершины-объекты, словарная запись которого имеет вид t∗ .
Алгоритмически проверяемые необходимые и достаточные условия истинности
предиката can_share(α, x, y, G0 ) обосновываются в следующей теореме.
Теорема 4. Пусть G0 = (S0 , O0 , E0 ) — произвольный граф доступов, x, y ∈ O0 ,
x 6= y. Предикат can_share(α, x, y, G0 ) истинен тогда и только тогда, когда или
(x, y, α) ⊂ E0 , или выполняются условия 1–3:
1. Существуют объекты s1 , . . . , sm ∈ O0 : (si , y, γi ) ⊂ E0 для i = 1, . . . , m и
α = γ1 ∪ . . . ∪ γm .
2. Существуют субъекты x01 , . . . , x0m , s01 , . . . , s0m ∈ S0 :
а) x = x0i или x0i соединен с x начальным пролетом моста в графе G0 , где
i = 1, . . . , m;
б) si = s0i или s0i соединен с si конечным пролетом моста в графе G0 , где i = 1, . . . , m.
3. В графе G0 для каждой пары (x0i , s0i ), где i = 1, . . . , m, существуют острова
Ii,1 , . . . , Ii,ui , где ui > 1, такие, что x0i ∈ Ii,1 , s0i ∈ Ii,ui , и существуют мосты между
островами Ii,j и Ii,j+1 , где j = 1, . . . , ui − 1.
Доказательство достаточности выполнения условий теоремы для истинности предиката can_share(α, x, y, G0 ) является конструктивным и состоит в обосновании возможности передачи прав доступа по пролетам мостов, мостам и островам (фрагмент
доказательства приведен на рис. 3). Формальное доказательство необходимости выполнения условий теоремы для истинности предиката can_share(α, x, y, G0 ) является
достаточно трудоемким.
Однако интересной задачей, реализующей наглядный подход к доказательству
необходимости выполнения условий теоремы для истинности предиката
can_share(α, x, y, G0 ), является обоснование того, что не существует путей между двумя субъектами, отличных от мостов и проходящих через вершины-объекты, по которым возможна передача прав доступа. При ее решении следует рассмотреть все пути
(с учетом симметрии) длины 2 между двумя субъектами, проходящие через вершиныобъекты, по которым возможна передача прав доступа (рис. 4,а) и невозможна передача прав доступа (рис. 4,б ). Любой путь, соединяющий двух субъектов, проходящий
через объекты, по которому возможна передача прав доступа, не должен содержать
фрагменты, приведенные на рис. 4,б. В то же время очевидно, что любой такой путь,
состоящий только из фрагментов, приведенных на рис. 4,а, является мостом.
Для того чтобы обеспечить лучшее усвоение способов применения определения
моста при анализе путей передачи прав доступа, целесообразно рассмотреть графы
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Обзорные лекции по моделям безопасности компьютерных систем
157
Рис. 3. Пример передачи прав доступа по мосту
Рис. 4. Виды путей длины 2 (∗ — или t, или g)
доступов, представленные на рис. 5, с использованием которых следует показать,
что мостами могут являться tg-пути, неоднократно проходящие через один и тот же
объект.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
158
П. Н. Девянин
Рис. 5. «Т-образный» мост
Также представляет интерес решение задачи на непосредственную проверку условий теоремы 4 (рис. 6).
Рис. 6. Проверка условий теоремы 4
В расширенной модели T ake-Grant кроме де-юре правил рассматриваются четыре де-факто правила преобразования графов доступов spy(x, y, z), f ind(x, y, z),
post(x, y, z), pass(x, y, z) и используется следующее определение.
Определение 10. Пусть x, y ∈ O0 , x 6= y — различные объекты графа доступов и информационных потоков G0 = (S0 , O0 , E0 ∪ F0 ). Определим предикат
can_write(x, y, G0 ), который будет истинным тогда и только тогда, когда существуют
графы G1 = (S1 , O1 , E1 ∪ F1 ), . . . , GN = (SN , ON , EN ∪ FN ) и де-юре или де-факто
правила op1 , . . . , opN , где N > 0, такие, что G0 `op1 G1 `op2 . . . `opN GN и (x, y, w) ∈ FN .
Алгоритмически проверяемые необходимые и достаточные условия истинности
предиката can_write(x, y, G0 ) обосновываются в следующей теореме.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Обзорные лекции по моделям безопасности компьютерных систем
159
Теорема 5. Пусть G0 = (S0 , O0 , E0 ∪ F0 ) — граф доступов и информационных
потоков, x, y ∈ O0 , x 6= y. Тогда предикат can_write(x, y, G0 ) истинен тогда и только
тогда, когда существуют объекты o1 , . . . , om ∈ O0 , где o1 = x, om = y, такие, что или
m = 2 и (x, y, w) ∈ F0 , или для i = 1, . . . , m − 1 выполняется одно из условий:
— oi ∈ S0 и или истинен предикат can_share({w}, oi , oi+1 , G0 ), или (oi , oi+1 , w) ∈
∈ E0 ∪ F0 ;
— oi+1 ∈ S0 и или истинен предикат can_share({r}, oi+1 , oi , G0 ), или (oi+1 , oi , r) ∈
∈ E0 ∪ F0 ;
— oi , oi+1 ∈ S0 и или истинен предикат can_share(α, oi , oi+1 , G0 ), или истинен предикат can_share(α, oi+1 , oi , G0 ), где α ∈ {t, g}, или существует объект o0i ∈ O0 , такой,
что либо истинны предикаты can_share({t}, oi , o0i , G0 ), can_share({g}, oi+1 , o0i , G0 ),
либо истинны предикаты can_share({g}, oi , o0i , G0 ), can_share({t}, oi+1 , o0i , G0 ).
Наиболее интересным при доказательстве теоремы 5 является обоснование возможности реализации информационного потока между двумя субъектами в случае, когда
выполнено третье условие теоремы. На рис. 7 приведен пример обоснования возможности реализации информационного потока между двумя субъектами для одного из
случаев.
Рис. 7. Реализация информационного потока на запись
Для лучшего усвоения положений расширенной модели T ake-Grant целесообразно решить задачи на применение теоремы 5 с целью проверки условий истинности
предиката can_write(x, y, G0 ) (рис. 8).
Кроме анализа условий реализации информационных потоков, в рамках расширенной модели T ake-Grant рассматривается алгоритм построения замыкания графа
доступов и информационных потоков. При этом используются следующие определения.
Определение 11. Пусть G = (S, O, E ∪ F ) — граф доступов и информационных потоков, такой, что для каждого субъекта s ∈ S существует объект o ∈ O,
такой, что выполняется условие (s, o, {t, g, r, w}) ⊂ E. Тогда замыканием (или дефакто-замыканием) графа G называется граф доступов и информационных потоков
G∗ = (S, O, E ∗ ∪ F ∗ ), полученный из G применением последовательности правил take,
grant и де-факто правил. При этом применение к графу G∗ указанных правил не
приводит к появлению в нем новых ребер.
Определение 12. Пусть G = (S, O, E ∪ F ) — граф доступов и информационных
потоков, такой, что для каждого субъекта s ∈ S существует объект o ∈ O, такой,
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
160
П. Н. Девянин
Рис. 8. Проверка выполнения условий теоремы 5
что выполняется условие (s, o, {t, g, r, w}) ⊂ E. Тогда tg-замыканием графа G называется граф доступов и информационных потоков Gtg = (S, O, E tg ∪ F ), полученный
из G применением последовательности правил take или grant. При этом каждое ребро
(o1 , o2 , α) ∈ E tg \ E имеет вид (o1 , o2 , t) или (o1 , o2 , g), и применение к графу Gtg правил
take или grant не приводит к появлению в нем новых ребер указанного вида.
Определение 13. Пусть G = (S, O, E ∪ F ) — граф доступов и информационных
потоков, такой, что для каждого субъекта s ∈ S существует объект o ∈ O, для которого выполняется условие (s, o, {t, g, r, w}) ⊂ E. Тогда де-юре-замыканием графа G
называется граф доступов и информационных потоков Gde jure = (S, O, E de jure ∪ F ),
полученный из G применением последовательности правил take или grant. При этом
применение к графу Gde jure правил take или grant не приводит к появлению в нем
новых ребер.
Таким образом, схематично алгоритм построения замыкания графа доступов и информационных потоков состоит из следующих трех шагов:
1. Построение tg-замыкания.
2. Построение де-юре-замыкания.
3. Построение замыкания (де-факто-замыкания).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Обзорные лекции по моделям безопасности компьютерных систем
161
При этом наиболее интересным является алгоритм построения tg-замыкания графа
доступов и информационных потоков G = (S, O, E ∪F ), состоящий из следующих пяти
шагов:
1. Для каждого s ∈ S выполнить правило create({t, g, r, w}, s, o); при этом создаваемые объекты занести в множество O, создаваемые ребра занести в множество E.
2. Инициализировать: L = {(x, y, α) ∈ E : α ∈ {t, g}} — список ребер графа доступов и информационных потоков и N = ∅ — множество вершин.
3. Выбрать из списка L первое ребро (x, y, α). Занести x и y в множество N . Удалить
ребро (x, y, α) из списка L.
4. Для всех вершин z ∈ N проверить возможность применения правил take или
grant на тройке вершин x, y, z с использованием ребра (x, y, α), выбранного на шаге 3.
Если в результате применения правил take или grant появляются новые ребра вида
(a, b, β), где {a, b} ⊂ {x, y, z} и α ∈ {t, g}, занести их в конец списка L и множество E.
5. Если список L не пуст, перейти на шаг 3.
Пример применения алгоритма построения tg-замыкания приведен на рис. 9.
Рис. 9. Пример применения алгоритма построения tg-замыкания
При завершении изучения положений моделей КС с дискреционным управлением
доступом целесообразно решить практическую задачу построения для системы T akeGrant двух эквивалентных ей систем ХРУ и ТМД. При этом следует особо рассмотреть
отличия полученных систем ХРУ и ТМД. В том числе следует обратить внимание на
то, что для обозначения субъектов модели T ake-Grant в модели ХРУ потребуется
использование специального права доступа, а в модели ТМД для этого достаточно
использовать специальные типы. Также целесообразно дать ответ на вопрос, каким
ограничениям должна соответствовать система, построенная в соответствии с положениями модели T ake-Grant, чтобы эквивалентная ей система ТМД была монотонной и
ациклической.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
162
П. Н. Девянин
В основанной на дискреционном управлении доступом субъектно-ориентированной
модели ИПС рассматриваются вопросы определения порядка безопасного взаимодействия субъектов системы, описания и обоснования необходимых условий реализации
ИПС, которая обеспечивает выполнение в КС требований априорно заданной политики безопасности. При этом используются следующие определения и обозначения.
Определение 14. Объект o в момент времени t функционально ассоциирован
с субъектом s, когда состояние объекта o повлияло на вид преобразования данных,
реализуемого субъектом s в следующий момент времени t + 1.
Определение 15. Монитор обращений (МО) — субъект, активизирующийся при
возникновении любого информационного потока между объектами КС. Монитор безопасности объектов (МБО) — МО, который разрешает только потоки, не принадлежащие множеству запрещенных информационных потоков.
Введём следующие обозначения:
[s]t — множество объектов, ассоциированных с субъектом s в момент времени t;
o[t] — состояние объекта o в момент времени t;
Stream(s, o) → o0 — поток информации от объекта o к объекту o0 ;
Create(s, o) → s0 — операция порождения субъектов (из объекта o порожден субъект s0 при активизирующем воздействии субъекта s).
МБО фактически является механизмом реализации политики безопасности в КС.
При изменении функционально ассоциированных с субъектами или с МБО объектов
могут измениться и свойства субъектов или самого МБО, и, как следствие, могут возникнуть потоки, принадлежащие множеству запрещенных информационных потоков
(рис. 10).
Рис. 10. Возможные пути обхода политики безопасности нарушителем s0 : а — изменение функциональности субъекта s; б — изменение функциональности МБО; в — реализация информационного потока в обход МБО
Для противодействия возможности реализации рассмотренных запрещенных информационных потоков в рамках модели предлагается обеспечить корректность субъектов системы друг относительно друга и замкнутость программной среды. При этом
используются следующие определения.
Определение 16. Субъекты s и s0 называются корректными относительно друг
друга, когда в любой момент времени отсутствует поток (изменяющий состояние объ-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Обзорные лекции по моделям безопасности компьютерных систем
163
екта) между любыми объектами o и o0 , ассоциированными соответственно с субъектами
s и s0 . Таким образом, выполняется следующее условие:
o ∈ [s]t , o0 ∈ [s0 ]t , где t > 0, не существует субъекта s00 , такого, что или
Stream(s00 , o) → o0 , или Stream(s00 , o0 ) → o.
Определение 17. Корректные относительно друг друга субъекты s и s0 называются абсолютно корректными, когда множества ассоциированных объектов указанных
субъектов не имеют пересечения. Таким образом, выполняется условие
[s]t ∩ [s0 ]t = ∅, где t > 0.
Определение 18. Монитор порождения субъектов (МПС) — субъект, активизирующийся при любом порождении субъектов. Монитор безопасности субъектов
(МБС) — МПС, который разрешает порождение субъектов только для фиксированного множества пар активизирующих субъектов и объектов-источников.
Определение 19. КС называется замкнутой по порождению субъектов (обладает замкнутой программной средой), когда в ней действует МБС.
Определение 20. Программная среда называется изолированной (абсолютно
изолированной), когда она является замкнутой по порождению субъектов (в ней действует МБС) и субъекты из порождаемого множества корректны (абсолютно корректны) относительно друг друга, МБС и МБО.
Определение 21. Операция порождения субъекта Create(s, o) → s0 называется
порождением с контролем неизменности объекта-источника, когда для любого момента времени t > t0 , в который активизирована операция порождения объекта Create,
порождение субъекта s0 возможно только при тождественности объектов o[t0 ] и o[t].
В субъектно-ориентированной модели ИПС обосновывается следующая лемма.
Лемма 1 (базовая теорема ИПС). Если с момента времени t0 в абсолютной ИПС
действует только порождение субъектов с контролем неизменности объекта-источника
и все порождаемые субъекты абсолютно корректны относительно друг друга и существующих субъектов (в том числе МБО и МБС), то в любой момент времени t > t0
программная среда также остается абсолютной ИПС.
Для учета влияния субъектов в КС на систему защиты целесообразно рассматривать расширенную схему взаимодействия элементов системы. При этом должна быть
особо подчеркнута роль МБС при порождении субъектов из объектов (рис. 11). Взаимодействие субъектов и объектов при порождении потоков уточняется введением
ассоциированных с субъектами объектов. Объект управления МБО (ОУO ) содержит
информацию о разрешенных значениях отображения Stream (о разрешенных и запрещенных информационных потоках) и функционально ассоциирован с МБО, и объект
управления МБС (ОУS ) содержит информацию о значениях отображения Create (об
элементах множества разрешенных объектов-источников) и функционально ассоциирован с МБС. Таким образом, рассмотренная концепция ИПС является расширением
классического подхода к реализации ядра безопасности КС.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
164
П. Н. Девянин
Рис. 11. Ядро безопасности с учетом контроля порождения субъектов
2. Модели мандатного или ролевого управления доступом
и безопасности информационных потоков
Мандатное управление доступом чаще всего описывают в терминах, понятиях и
определениях свойств классической модели Белла — ЛаПадулы и ее основных интерпретаций.
Классическая модель Белла — ЛаПадулы является автоматной моделью, в которой
моделируемая КС представляется абстрактной системой, каждое состояние которой
описывается с использованием:
— множества текущих доступов субъектов к объектам системы;
— функций, задающих для каждого субъекта уровень доступа и текущий уровень
доступа, для каждого объекта его уровень конфиденциальности;
— матрицы доступов, позволяющей в дополнение к мандатному управлению доступом
использовать дискреционное управление доступом.
Описывается множество действий системы, задающих правила перехода системы
из состояния в состояние.
С использованием уровней доступа субъекта и уровня конфиденциальности объекта, видов доступа и матрицы доступов в модели Белла — ЛаПадулы задаются три
базовых свойства безопасности: ss-свойство, ∗-свойство и ds-свойство, которыми должен обладать каждый безопасный доступ субъекта к объекту.
Определение 22. Доступ (s, o, r) обладает ss-свойством относительно f = (fs ,
fo , fc ), где fs — функция уровней доступа субъектов, fo — функция уровней конфиденциальности объектов, fc — функция текущих уровней доступа субъектов, когда выполняется одно из условий:
— r ∈ {execute, append};
— r ∈ {read, write} и fs (s) > fo (o).
Состояние системы (b, m, f ), где b — множество текущих доступов, m — матрица
доступов, обладает ss-свойством, когда в нём все доступы обладают ss-свойством относительно f .
Определение 23. Доступ (s, o, r) обладает ∗-свойством относительно f = (fs ,
fo , fc ), когда выполняется одно из условий:
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Обзорные лекции по моделям безопасности компьютерных систем
—
—
—
—
r
r
r
r
165
= execute;
= append и fo (o) > fc (s);
= read и fc (s) > fo (o);
= write и fc (s) = fo (o).
Состояние системы (b, m, f ) обладает ∗-свойством, когда в нём все доступы обладают ∗-свойством относительно f .
Определение 24. Состояние системы (b, m, f ) обладает ds-свойством, когда в
нём для каждого доступа (s, o, r) выполняется условие r ∈ m[s, o].
В безопасном состоянии все доступы должны быть безопасными. Система является
безопасной, когда все состояния на всех возможных траекториях ее функционирования
являются безопасными.
Таким образом, на безопасных траекториях функционирования система, построенная в соответствии со свойствами классической модели Белла — ЛаПадулы, должна
разрешать получение субъектами только безопасных доступов к объектам.
С использованием требования соответствия ss-свойству всех доступов состояния
системы уровнем доступа субъекта ограничивается максимальный уровень конфиденциальности объектов, к которым субъект потенциально может получить доступ
на чтение. Основным свойством безопасности является ∗-свойство. С использованием
требования соответствия ∗-свойству всех доступов состояния системы предотвращается возможность реализации субъектом информационного потока от объекта с высоким уровнем конфиденциальности к объекту с низким уровнем конфиденциальности,
при этом используется проверка текущего уровня доступа субъекта. Свойство дискреционной безопасности (ds-свойство), в котором используется матрица доступов, как
правило, подробно не рассматривается.
Алгоритмически проверяемые условия выполнения в системе свойств безопасности
формулируются и обосновываются в имеющих схожие формулировки теоремах A1, A2
и A3. В качестве примера приведена формулировка теоремы A1.
Теорема 6 (теорема A1). Система обладает ss-свойством для любого начального состояния z0 , обладающего ss-свойством, тогда и только тогда, когда для каждого
действия (q, d, (b∗ , m∗ , f ∗ ), (b, m, f )), где q — запрос системе, d — ответ системы, (b, m,
f ) — исходное состояние, (b∗ , m∗ , f ∗ ) — последующее состояние, выполняются следующие условия:
1. Каждый доступ (s, o, r) ∈ b∗ \ b обладает ss-свойством относительно f ∗ .
2. Если доступ (s, o, r) ∈ b и не обладает ss-свойством относительно f ∗ , то (s, o,
r) 6∈ b∗ .
При изучении классической модели Белла — ЛаПадулы целесообразно учесть,
что она разрабатывалась для обеспечения безопасности конкретной защищенной
КС Multics. Поэтому некоторые элементы (например, права доступа append, execute,
иерархия объектов, функция текущего уровня доступа субъектов) реализованы в модели только для обеспечения соответствия условиям функционирования КС Multics и
не являются необходимыми для моделирования произвольной КС с мандатным управлением доступом. Поэтому рассмотрение интерпретаций модели Белла — ЛаПадулы
(например, интерпретации «read-write» или интерпретации «безопасность переходов»)
и особенно описанных в них свойств безопасности позволит лучше изучить наиболее
существенные и важные для теории элементы модели Белла — ЛаПадулы. Для того
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
166
П. Н. Девянин
чтобы лучше исследовать свойства классической модели Белла — ЛаПадулы и оценить сложность практической разработки формальной модели управления доступом
для реальной КС, уместно решить задачу: построить пример системы Белла — ЛаПадулы с двумя субъектами и двумя объектами (большее число элементов системы не
повлияет, по сути, на ход построения, но сделает его существенно более трудоемким).
Самым интересным при изучении модели Белла — ЛаПадулы является анализ ее
недостатков, в том числе:
— отсутствие логической увязки условий выполнения системой свойств безопасности,
данных в определениях, с заложенными в модель условиями их проверки, необходимость и достаточность которых доказывается в базовой теореме безопасности
(теореме БТБ);
— модель «статична», то есть в ней отсутствует описание правил перехода системы из
состояния в состояние, а также «статично» анализируются условия возникновения
информационных потоков;
— реализация в КС только свойств безопасности, описанных в модели, не позволяет
обеспечить защиту от возможности возникновения запрещенных информационных
потоков (особенно информационных потоков по времени).
Первый недостаток легко иллюстрируется на примере некорректной интерпретации
модели Белла — ЛаПадулы и имеет в основном теоретическое значение.
Второй недостаток можно рассмотреть на следующих примерах.
Пример 1. В классической модели Белла — ЛаПадулы для безопасности системы
требуется безопасность каждого состояния на любой реализации (траектории) системы. Рассмотрим систему, в которой при переходе из любого состояния в последующее
уровень доступа каждого субъекта устанавливается максимальным, а уровень конфиденциальности каждого объекта — минимальным. Такая система будет безопасна
в смысле определений свойств безопасности классической модели Белла — ЛаПадулы (любой доступ любого субъекта к любому объекту будет, очевидно, удовлетворять
ss-свойству и ∗-свойству). В то же время реализация такой системы вряд ли имеет
какой-либо практический смысл.
Пример 2. Используем интерпретацию low-watermark классической модели Белла — ЛаПадулы, в которой строится пример системы с мандатным управлением доступом. В ней описываются три правила перехода системы из состояния в состояние: Read,
Write, Reset, и доказывается безопасность системы в смысле определений свойств безопасности классической модели Белла — ЛаПадулы. Наиболее важным в примере (на
что следует обратить внимание) является то, что наличие или отсутствие в определении результатов применения правила Write требования стирания информации в объекте в случае реального понижения его уровня конфиденциальности не влияет на логику
доказательства безопасности системы. Таким образом, отсутствие в классической модели Белла — ЛаПадулы описаний правил перехода системы из состояния в состояние
может привести к тому, что в формально безопасной КС будет возможна реализация
запрещенных информационных потоков.
Пример 3. В интерпретации «безопасность переходов» делается попытка устранить второй недостаток модели Белла — ЛаПадулы путем введения в модель функции
переходов, с использованием которой на моделируемую КС накладывается существенное ограничение: за один шаг работы системы (переход из состояния в состояние) вносится только одно изменение в один из параметров, используемый при определении
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Обзорные лекции по моделям безопасности компьютерных систем
167
свойств безопасности. То есть либо изменяется на один элемент множество текущих
доступов, либо одно из значений одной из функций, при этом остальные параметры
остаются неизменными. С использованием интерпретации «безопасность переходов»
можно разработать новые ограничения на функцию переходов, учитывающие особенности реализации механизмов защиты в современных КС (например, механизмов администрирования параметров безопасности).
Условия реализации информационных потоков анализируются в модели Белла —
ЛаПадулы с использованием определения ∗-свойства. При этом предполагается, что
информационный поток возникает в случае, когда в состоянии КС найдется субъект,
который имеет доступ на чтение к одному объекту и доступ на запись к другому
объекту. В то же время функциональность субъекта может быть реализована таким
образом, что наличие описанных двух доступов не приводит к реализации информационного потока.
Третий недостаток модели Белла — ЛаПадулы имеет наибольшее практическое и
теоретическое значение. Примеры запрещенных информационных потоков по времени,
возникающих в результате реализации субъектами доступов к объектам, впервые были
описаны самими авторами модели. В то же время в связи с постоянным усложнением
современных КС, появлением в них новых функциональных возможностей, которые
могут быть эффективно использованы нарушителем для создания запрещенных информационных потоков по памяти и по времени, условия реализации информационных
потоков продолжают исследоваться в теории компьютерной безопасности.
При изучении модели Белла — ЛаПадулы условия реализации в КС запрещенных
информационных потоков целесообразно рассмотреть на примерах.
Пример 4. Классический пример реализации запрещенного информационного
потока по времени от объекта с высоким уровнем конфиденциальности к объекту
с низким уровнем конфиденциальности.
Используем обозначения:
f1 — объект-файл с уровнем конфиденциальности High, который может содержать
запись «A» или запись «B»;
f2 — объект-файл с уровнем конфиденциальности Low < High;
s1 — субъект с высоким уровнем доступа High, работающий по программе:
Process s1 (f1 : f ile)
Open f1 for read ;
While f1 = «A» Do End ;
Close f1 ;
End.
s2 — субъект-нарушитель с низким уровнем доступа Low, работающий по программе:
Process s2 (f1 : f ile, f2 : f ile)
Open f2 for write;
Start s1 (f1 );
If (Stop s1 ) Then
Write «B» to f2 ;
Else
Write «A» to f2 ;
End If
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
168
П. Н. Девянин
Close f2 ;
End.
Схема реализации информационного потока по времени приведена на рис. 12.
Рис. 12. Пример реализации информационного потока по времени c использованием «зависания» субъекта
Субъект-нарушитель s2 действует одновременно с субъектом s1 , проверяя его
состояние. При этом в зависимости от результата работы с конфиденциальным
объектом-файлом f1 субъекта s1 , который либо сразу завершит работу, либо «зависнет», субъект s2 записывает данные в объект-файл f2 с низким уровнем конфиденциальности.
Пример 5. Пример реализации информационного потока по времени c использованием совместного доступа кооперирующих субъектов к файловой директории. Используем следующие обозначения:
f1 — объект-файл с уровнем конфиденциальности High, который может содержать
запись «A» или запись «B»;
f2 — объект-файл с уровнем конфиденциальности Low < High;
s1 — субъект с высоким уровнем доступа High;
s2 — субъект с низким уровнем доступа Low ;
dir — объект-директория с уровнем конфиденциальности Low ;
file — объект-файл в директории dir с уровнем конфиденциальности Low.
Субъекты s1 и s2 кооперируют друг с другом. В согласованный момент времени
субъект s1 считывает из f1 его содержимое. Если оно «A», то он ничего не делает, если
«B», то он открывает объект file на чтение (не нарушая свойств безопасности модели
Белла — ЛаПадулы). В тот же момент времени субъект s2 пытается удалить директорию dir. Если ему это удается, то он записывает в файл f2 запись «A», если нет, то
запись «B» (большинство современных КС не разрешат субъекту удалить директорию
в случае, когда доступ к ее содержимому имеет другой субъект).
Таким образом, возможна реализация запрещенного информационного потока по
времени, схема которого приведена на рис. 13.
Развитием модели Белла — ЛаПадулы является построенная на ее основе модель
систем военных сообщений (СВС). Модель СВС ориентирована на анализ безопасности электронных почтовых систем. В то же время свойства модели СВС могут быть
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Обзорные лекции по моделям безопасности компьютерных систем
169
Рис. 13. Пример реализации информационного потока по времени c использованием совместного доступа кооперирующих субъектов к файловой директории
использованы как основа для построения произвольной КС с мандатным управлением
доступом.
В отличие от модели Белла — ЛаПадулы в модели СВС рассматривается типичная
для современных КС иерархическая структура сущностей (объектов и контейнеров),
при этом определяются условия получения субъектом доступа к сущностям, находящимся внутри сущности-контейнера.
Модель СВС является более сложной для изучения, чем модель Белла — ЛаПадулы, ее описание включает значительный объем обозначений, определений, свойств.
Целесообразно обратить внимание на структуру описания модели СВС — она состоит
из двух частей. В первой части приводится неформальное описание модели, которое
ориентировано на широкий круг пользователей КС. Во второй части дается предназначенное для специалистов по теории компьютерной безопасности формальное описание
модели. Поэтому после изучения модели следует решить задачу: установить соответствие между неформальным и формальным описаниями модели.
Определение ss-свойства в модели СВС соответствует определению ss-свойства
в модели Белла — ЛаПадулы. Для определения ∗-свойства безопасности используется
понятие потенциальной модификации с источником, основанное на понятии информационного потока по памяти (возникающего при переходе системы из состояния в
состояние) от сущности-источника к модифицируемой сущности. Дискреционное свойство безопасности (ds-свойство) реализовано в модели с использованием списков доступа. Таким образом, после изучения модели СВС следует дать ответ на вопрос: где
в определениях свойств модели СВС реализованы свойства безопасности (ss-свойство,
∗-свойство и ds-свойство) классической модели Белла-ЛаПадулы.
Самым сложным в модели СВС является понятие потенциальной модификации
с источником. Его целесообразно проиллюстрировать на примере.
Пример 6. Рассмотрим решение задачи с условием: описать потенциальную модификацию булевой сущности по ссылке r с источником булевой сущностью по ссылке y при запросе i =< and, r, y > на вычисление функции V (rs∗ ) = V (rs ) and V (ys ),
при этом используя следующие обозначения:
V — функция значения сущности;
rs — сущность по ссылке r в состоянии s;
s ∼ρ s1 — эквивалентность состояний s и s1 относительно множества ссылок ρ;
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
170
П. Н. Девянин
(u, i, s) — запрос i пользователя с идентификатором u в состоянии s;
s∗ — состояние, последующее за состоянием s.
В состоянии s возможно, что значение сущности по ссылке r равно 0, и при потенциальной модификации при любом значении сущности по ссылке y изменение значения
сущности по ссылке r не произойдет. Поэтому следует рассмотреть эквивалентное относительно множества ссылок {r} состояние s1 (рис. 14), отличающееся от состояния s
только значением сущности по ссылке r.
Рис. 14. Пример потенциальной модификации с источником
В случае, когда значение сущности по ссылке y в состоянии s1 равно 0, при выполнении запроса (u, i, s1 ) произойдет изменение (модификация) значения сущности
по ссылке r (значение сущности rs∗1 станет равным 0). Чтобы показать, что сущность
по ссылке y является источником потенциальной модификации, следует перейти к эквивалентному относительно множества ссылок {y} состоянию s2 , которое отличается
от состояния s1 только значением сущности по ссылке y. В результате применения
запроса (u, i, s2 ) значение сущности по ссылке r в состоянии s∗2 будет отличаться от ее
значения в состоянии s∗1 . Таким образом, при потенциальной модификации сущности
по ссылке r с источником сущностью по ссылке y реализуется информационный поток
по памяти от сущности по ссылке y к сущности по ссылке r.
Использование понятия потенциальной модификации с источником позволяет более точно установить факт реализации в КС информационного потока. Однако для
этого требуется осуществить анализ функциональности субъектов КС, что труднореализуемо на практике. Более простой является проверка выполнения в КС ∗-свойства
безопасности, описанного в модели Белла — ЛаПадулы.
Моделирование КС с ролевым управлением доступом является в настоящее время
одним из самых динамично развивающихся направлений компьютерной безопасности.
Основой всех ролевых моделей, как правило, является базовая модель ролевого управления доступом (RBAC ). В ней используются следующие основные элементы:
U — множество пользователей;
R — множество ролей;
P — множество прав доступа к объектам КС;
S — множество сессий пользователей;
P A : R → 2P — функция, задающая для каждой роли множество прав доступа;
U A : U → 2R — функция, задающая для каждого пользователя множество ролей,
на которые он может быть авторизован;
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Обзорные лекции по моделям безопасности компьютерных систем
171
user : S → U — функция, задающая для каждой сессии пользователя, от имени
которого она активизирована;
roles : S → 2R — функция, задающая для пользователя множество ролей, на которые он авторизован в данной сессии.
Для обеспечения возможности большего соответствия реальным КС, каждый пользователь которых занимает определенное положение в служебной иерархии, на множестве ролей реализуется иерархическая структура.
Определение 25. Иерархией ролей в базовой модели ролевого управления доступом называется заданное на множестве ролей R отношение частичного порядка 6.
При этом по определению выполняется условие: для пользователя u ∈ U , если роли
r, r0 ∈ R, r ∈ U A(u) и r0 6 r, то r0 ∈ U A(u).
Другим важным механизмом базовой модели ролевого управления доступом являются ограничения, накладываемые на множества ролей, на которые может быть авторизован пользователь или на которые он авторизуется в течение одной сессии. Данный
механизм также необходим для широкого использования ролевого управления доступом, так как обеспечивает большее соответствие используемым в существующих КС
технологиям обработки информации.
Общая структура элементов базовой модели ролевого управления доступом приведена на рис. 15.
Рис. 15. Структура элементов базовой модели ролевого управления доступом
На основе базовой модели ролевого управления доступом RBAC создана модель
ролевого администрирования. В дополнение к используемым элементам базовой модели в этой модели рассматриваются следующие элементы:
AR — множество административных ролей (AR ∩ R = ∅);
AP — множество административных прав доступа (AP ∩ P = ∅);
AP A : AR → 2AP — функция, задающая для каждой административной роли множество административных прав доступа;
AU A : U → 2AR — функция, задающая для каждого пользователя множество административных ролей, на которые он может быть авторизован.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
172
П. Н. Девянин
Кроме того, переопределяется функция:
roles : S → 2R ∪ 2AR — функция, задающая для пользователя множество ролей, на
которые он авторизован в данной сессии.
Как и в базовой модели, в модели администрирования ролевого управления доступом реализуются иерархия административных ролей и механизмы ограничений.
Определение 26. Иерархией административных ролей в модели администрирования ролевого управления доступом называется заданное на множестве ролей AR
отношение частичного порядка 6. При этом выполняется условие: для u ∈ U , если
r, r0 ∈ AR, r ∈ AU A(u) и r0 6 r, то r0 ∈ AU A(u).
При этом административные роли по своему назначению могут быть разделены на
три группы:
— администрирование множеств авторизованных ролей пользователей;
— администрирование множеств прав доступа, которыми обладают роли;
— администрирование иерархии ролей.
Общая структура элементов модели администрирования ролевого управления доступом приведена на рис. 16.
Рис. 16. Структура элементов модели администрирования ролевого управления доступом
Развитием базовой модели ролевого управления доступом RBAC является модель
мандатного ролевого управления доступом. В дополнение к используемым элементам
базовой модели в этой модели рассматриваются следующие элементы:
O — множество объектов;
(L, 6) — решетка уровней конфиденциальности;
c : U → L — функция уровней доступа пользователей;
c : O → L — функция уровней конфиденциальности объектов;
A = {read, write} — виды доступа;
R = {x_read|x ∈ L} ∪ {x_write|x ∈ L} — множество ролей;
P = {(o, read)|o ∈ O} ∪ {(o, write)|o ∈ O} — множество прав доступа.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Обзорные лекции по моделям безопасности компьютерных систем
173
На множестве ролей R задается иерархия. При этом иерархии ролей на множествах
{x_read|x ∈ L} и {x_write|x ∈ L} независимы.
Определение 27. Иерархией на множестве ролей R в соответствии с требованиями либерального мандатного управления доступом называется отношение частичного
порядка 6, где для ролей r, r0 ∈ R справедливо неравенство r 6 r0 , когда выполняется
одно из условий:
— r = x_read, r0 = x0 _read и x 6 x0 ;
— r = x_write, r0 = x0 _write и x0 6 x.
Для задания мандатного управления доступом в рамках ролевого управления доступом используется следующее определение.
Определение 28. Модель ролевого управления доступом соответствует требованиям либерального мандатного управления доступом, когда иерархия на множестве
ролей R соответствует требованиям определения 27, и выполняются ограничения:
— ограничение функции U A: для каждого пользователя u ∈ U роль x_read =
= ⊕(U A(u) ∩ {y_read|y ∈ L}) ∈ U A(u) (здесь x = c(u), ⊕ — наименьшая верхняя граница) и {y_write|y ∈ L} ⊂ U A(u);
— ограничение функции roles: для каждой сессии s ∈ S справедливо равенство
roles(s) = {y_read|y ∈ L, y 6 x} ∪ {x_write};
— ограничение функции P A: должны выполняться условия
• для каждого x ∈ L верно: (o, read) ∈ P A(x_read) тогда и только тогда, когда
(o, write) ∈ P A(x_write);
• для каждого доступа (o, read) ∈ P существует единственная роль x_read, такая, что (o, read) ∈ P A(x_read) (здесь x = c(o)).
В рамках модели мандатного ролевого управления доступом даётся определение
информационного потока и обосновывается, что невозможна реализация запрещенных информационных потоков от объектов с высоким уровнем конфиденциальности
к объектам с низким уровнем конфиденциальности.
Определение 29. Будем считать, что существует информационный поток от
объекта o ∈ O к объекту o0 ∈ O тогда и только тогда, когда существуют роли r, r0 ∈ R,
сессия s ∈ S, такие, что (o, read) ∈ P A(r), (o0 , write) ∈ P A(r0 ) и r, r0 ∈ roles(s).
Теорема 7. Если модель ролевого управления доступом соответствует требованиям либерального мандатного управления доступом, то в ней для любых объектов
o, o0 ∈ O, таких, что c(o) > c(o0 ), невозможно возникновение информационного потока
от o к o0 .
При анализе модели мандатного ролевого управления доступом целесообразно ответить на вопрос о том, каким образом в определениях данной модели реализованы
ss-свойство и ∗-свойство, заданные в классической модели Белла — ЛаПадулы.
Часто в рассматриваемых моделях наряду с исследованием условий передачи прав
доступа анализируется безопасность информационных потоков. В то же время существуют модели, в основном ориентированные только на анализ условий реализации
информационных потоков.
В рамках автоматной модели безопасности информационных потоков анализируются условия информационного невлияния групп пользователей распределенной КС.
В программной модели контроля информационных потоков предлагается механизм
построения системы защиты, реализующей дискреционное управление доступом для
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
174
П. Н. Девянин
командных интерпретаторов. При этом анализируются подходы, позволяющие учитывать зависимость выходного значения программы от её входных параметров.
В вероятностной модели безопасности информационных потоков исследуются КС
с мандатным управлением доступом. При этом в модели рассматривается ряд способов определения возможных информационных потоков между высокоуровневыми
и низкоуровневыми компонентами системы, основанных на вероятностных понятиях
информационной невыводимости и информационного невлияния.
3. Семейство ДП-моделей и направления его развития
Следует отметить, что, как правило, в рассмотренных классических моделях используются оригинальные определения основных элементов и механизмов КС и часто
не учитываются следующие существенные особенности функционирования современных КС:
— возможность кооперации части субъектов при передаче прав доступа и создании
информационных потоков;
— возможность реализации в КС доверенных и недоверенных субъектов с различными условиями функционирования;
— возможность противодействия доверенными субъектами КС передаче прав доступа
или созданию информационных потоков недоверенными субъектами;
— различие условий реализации в КС информационных потоков по памяти и по времени;
— наличие в КС иерархической структуры сущностей и возможность ее использования при создании информационных потоков по времени;
— возможность изменения функциональности субъекта при реализации информационного потока по памяти на функционально ассоциированные с ним сущности или
от параметрически ассоциированных с ним сущностей;
— необходимость в ряде случаев определения различных правил управления доступом и информационными потоками для распределенных компонент КС.
С целью обеспечения возможности теоретического анализа условий утечки прав
доступа и реализации запрещенных информационных потоков по памяти или по времени с учетом приведенных существенных особенностей современных КС построено
семейство формальных моделей безопасности логического управления доступом и информационными потоками (семейство ДП-моделей) [4]. Первоначально в состав этого
семейства вошло десять ДП-моделей КС с дискреционным или мандатным управлением доступом.
Основой всех моделей семейства является базовая ДП-модель, построенная с применением положений расширенной модели T ake-Grant, модели Белла — ЛаПадулы,
модели СВС и субъектно-ориентированной модели ИПС. При этом использован классический подход, состоящий в том, что каждая моделируемая КС представляется абстрактной системой, каждое состояние которой описывается графом доступов, а любой
переход системы из состояния в состояние осуществляется в результате применения
одного из правил преобразования графов доступов.
В рамках базовой ДП-модели рассматриваются следующие основные элементы:
E = O ∪ C — множество сущностей, где O — множество объектов, C — множество
контейнеров;
S ⊂ E — множество субъектов;
Rr = {readr , writer , appendr , executer , ownr } — множество видов прав доступа;
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Обзорные лекции по моделям безопасности компьютерных систем
175
Ra = {reada , writea , appenda } — множество видов доступа;
Rf = {writem , writet } — множество видов информационных потоков, где writem —
информационный поток по памяти на запись в сущность, writet — информационный
поток по времени на запись в сущность;
Rraf = Rr ∪ Ra ∪ Rf — множество видов прав доступа, видов доступа и видов информационных потоков.
Определение 30. Иерархией сущностей называется заданное на множестве сущностей E отношение частичного порядка 6, удовлетворяющее условию: если для сущности e ∈ E существуют сущности e1 , e2 ∈ E, такие, что e 6 e1 , e 6 e2 , то e1 6 e2 или
e2 6 e1 . В случае, когда для двух сущностей e1 , e2 ∈ E выполняются условия e1 6 e2
и e1 6= e2 , будем говорить, что сущность e1 содержится в сущности-контейнере e2 , и
будем использовать обозначение e1 < e2 .
Определение 31. Определим H : E → 2E — функцию иерархии сущностей, сопоставляющую каждой сущности c ∈ E множество сущностей H(c) ⊂ E и удовлетворяющую следующим условиям:
1. Если сущность e ∈ H(c), то e < c и не существует сущности-контейнера d ∈ C,
такой, что e < d, d < c.
2. Для любых сущностей e1 , e2 ∈ E, e1 6= e2 , по определению выполняются равенство H(e1 ) ∩ H(e2 ) = ∅ и условия:
—
—
—
—
если
если
если
если
o ∈ O, то выполняется равенство H(o) = ∅;
e1 < e2 , то или e1 , e2 ∈ E \ S, или e1 , e2 ∈ S;
e ∈ E \ S, то H(e) ⊂ E \ S;
s ∈ S, то H(s) ⊂ S.
Определение 32. Пусть определены множества S, E, R ⊂ S × E × Rr ,
A ⊂ S × E × Ra , F ⊂ E × E × Rf и H. Определим G = (S, E, R ∪ A ∪ F, H) — конечный помеченный ориентированный граф без петель, где элементы множеств S, E
являются вершинами графа, элементы множества R ∪ A ∪ F — ребрами графа. Назовем G = (S, E, R ∪ A ∪ F, H) графом прав доступа, доступов и информационных
потоков или, сокращенно, графом доступов. При этом в графе доступов используются
следующие обозначения:
—
—
—
—
—
—
вершины из множества S в графе доступов обозначаются «•»;
вершины из множества E \ S в графе доступов обозначаются «⊗»;
каждое ребро графа доступов помечено одним из элементов множества Rraf ;
каждое ребро из множества R обозначается стрелкой вида рис. 17,а;
каждое ребро из множества A обозначается стрелкой вида рис. 17,б ;
каждое ребро из множества F , помеченное writem , обозначается стрелкой вида
рис. 17,в, каждое ребро из множества F , помеченное writet , обозначается стрелкой
вида рис. 17,г.
Также в базовой ДП-модели используются следующие обозначения:
Σ(G∗ , OP ) — система, при этом каждое состояние системы представляется графом
доступов; G∗ — множество всех возможных состояний; OP — множество правил преобразования состояний вида: take_right(αr , x, y, z), grant_right(αr , x, y, z), own_take(αr ,
x, y), create_entity(x, y, z), create_subject(x, y, z), rename_entity(x, y, z), access_
read(x, y), access_write(x, y), access_append(x, y), f low(x, y, y 0 , z), f ind(x, y, z), post(x,
y, z), pass(x, y, z) — монотонные правила, remove_right(αr , x, y, z), own_remove(αr , x,
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
176
П. Н. Девянин
Рис. 17. Обозначения ребер графа доступов
y), delete_entity(x, y, z) — немонотонные правила; G `op G0 — переход системы
Σ(G∗ , OP ) из состояния G в состояние G0 с использованием правила преобразования
состояний op ∈ OP ;
Σ(G∗ , OP, G0 ) — система Σ(G∗ , OP ) с начальным состоянием G0 .
Пример применения правила преобразования состояний приведен на рис.18.
Рис. 18. Пример применения правила rename_entity(x, y, z)
В рамках базовой ДП-модели обосновываются необходимые и достаточные условия передачи в КС прав доступа или реализации информационных потоков по памяти
или по времени. Например, при анализе условий возникновения информационных потоков по памяти используются следующие определения и обосновывается следующая
теорема.
Определение 33. Пусть G0 = (S0 , E0 , R0 ∪ A0 ∪ F0 , H0 ) — состояние системы
Σ(G∗ , OP ) и субъект x ∈ S0 , сущность y ∈ E0 , где x 6= y, и пусть α ∈ Rr — некоторое право доступа. Определим предикат can_share(α, x, y, G0 ), который будет истинным тогда и только тогда, когда существуют состояния G1 , . . . , GN = (SN , EN ,
RN ∪ AN ∪ FN , HN ) и правила преобразования состояний op1 , . . . , opN , где N > 0, такие, что G0 `op1 G1 `op2 . . . `opN GN и (x, y, α) ∈ RN .
Определение 34. Пусть G0 = (S0 , E0 , R0 ∪ A0 ∪ F0 , H0 ) — состояние системы
Σ(G∗ , OP ) и сущности x, y ∈ E0 , где x 6= y. Определим предикат can_write_memory(x,
y, G0 ), который будет истинным тогда и только тогда, когда существуют состоя-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Обзорные лекции по моделям безопасности компьютерных систем
177
ния G1 , . . . , GN = (SN , EN , RN ∪ AN ∪ FN , HN ) и правила преобразования состояний
op1 , . . . , opN , где N > 0, такие, что G0 `op1 G1 `op2 . . . `opN GN и (x, y, writem ) ∈ FN .
Теорема 8. Пусть G0 = (S0 , E0 , R0 ∪ A0 ∪ F0 , H0 ) — состояние системы Σ(G∗ , OP )
и сущности x, y ∈ E0 , где x 6= y. Предикат can_write_memory(x, y, G0 ) истинен тогда
и только тогда, когда существует последовательность сущностей e1 , . . . , em ∈ E0 , где
e1 = x, em = y и m > 2, таких, что выполняется одно из условий:
1) m = 2 и (x, y, writem ) ∈ F0 .
2) Для каждого i = 1, . . . , m − 1 выполняется одно из условий:
— ei ∈ S0 и или (ei , ei+1 , writem ) ∈ F0 , или истинен предикат can_share(αr , ei , ei+1 , G0 ),
где αr ∈ {writer , appendr };
— ei+1 ∈ S0 и истинен предикат can_share(readr , ei+1 , ei , G0 );
— ei , ei+1 ∈ S0 и или истинен предикат can_share(ownr , ei , ei+1 , G0 ), или истинен предикат can_share(ownr , ei+1 , ei , G0 ).
Для анализа КС, в которых все субъекты являются либо доверенными, либо недоверенными, когда доверенные субъекты не кооперируют с недоверенными при передаче прав доступа или реализации информационных потоков, построена ДП-модель без
кооперации доверенных и недоверенных субъектов (БК ДП-модель). На ее основе строится ДП-модель с блокирующими доступами доверенных субъектов (БД ДП-модель),
в рамках которой анализируются условия реализации в КС запрещенных информационных потоков по времени для случая, когда доверенные субъекты препятствуют
использованию недоверенными субъектами иерархии сущностей для создания таких
информационных потоков.
На основе БК ДП-модели строится ДП-модель с функционально ассоциированными с субъектами сущностями (ФАС ДП-модель). При этом используются определения.
Определение 35. Пусть G = (S, E, R∪A∪F, H) — состояние системы Σ(G∗ , OP ).
Назовем сущность e ∈ E функционально ассоциированной с субъектом s ∈ S в состоянии G, когда данные в сущности e влияют на вид преобразования данных, реализуемого субъектом s в состоянии G. Всегда по определению субъект s как сущность функционально ассоциирован сам с собой. При этом по определению для каждого субъекта s
в любом состоянии системы задано множество функционально ассоциированных с ним
сущностей ([s] ⊂ E — множество всех сущностей, функционально ассоциированных с
субъектом s, и выполняется условие s ∈ [s]).
Определение 36. Доверенного субъекта y назовем функционально корректным,
когда в множество функционально ассоциированных с ним сущностей [y] не входят
недоверенные субъекты.
Определение 37. Доверенного субъекта y назовем корректным относительно
сущности e, не являющейся доверенным субъектом, когда субъект y не реализует информационный поток по памяти от сущности e к сущности e0 , функционально ассоциированной с некоторым доверенным субъектом y 0 . При этом по определению каждый
доверенный субъект корректен относительно другого доверенного субъекта.
К правилам преобразования состояний базовой и БК ДП-моделей в ФАС
ДП-модели добавлено правило control(x, y, z), которое позволяет недоверенному субъекту получить право доступа владения к доверенному субъекту с использованием реализации недоверенным субъектом информационного потока по памяти к сущности,
функционально ассоциированной с доверенным субъектом. Таким образом, в рамках
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
178
П. Н. Девянин
ФАС ДП-модели правила преобразования состояний обладают следующими свойствами (рис. 19):
— права доступа могут быть применены для получения прав доступа, доступов и
реализации информационных потоков по памяти или по времени;
— информационные потоки по памяти могут быть использованы для получения прав
доступа, для реализации информационных потоков по памяти или по времени;
— информационные потоки по времени могут быть использованы только для реализации новых информационных потоков по времени;
— доступы не применяются для получения новых элементов состояний.
Рис. 19. Зависимость условий и результатов применения правил
преобразования состояний ФАС ДП-модели
На основе ФАС ДП-модели построена ДП-модель для политики безопасного администрирования (ПБА ДП-модель). Такая модель позволяет анализировать условия
обеспечения защиты распределенных КС:
— от захвата нарушителем (недоверенным субъектом) контроля над компьютером,
на котором нарушитель разместил свои ресурсы (запустил процесс или разместил
файлы);
— от захвата нарушителем прав доступа и привилегий доверенного субъекта, обратившегося (с целью получить данные файлов локально или по сетевым коммуникационным каналам) к компьютеру, на котором разметил свои ресурсы нарушитель.
Кроме ПБА ДП-модели, на основе ФАС ДП-модели построена ДП-модель для политики абсолютного разделения административных и пользовательских полномочий
(ПАР ДП-модель). Эта модель направлена на исследование условий обеспечения безопасности рабочих станций пользователей распределенных КС для случая, когда при
наличии на рабочей станции активных недоверенных субъектов возможно блокирова-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Обзорные лекции по моделям безопасности компьютерных систем
179
ние использования любыми субъектами административных прав доступа или привилегий.
Для анализа безопасности КС с мандатным управлением доступом на основе ФАС
ДП-модели построена мандатная ДП-модель, в которой дополнительно используются
следующие обозначения и определения:
(L, 6) — решетка линейно упорядоченных уровней доступа и конфиденциальности;
ES ⊂ E \ S — множество сущностей, которые могут быть применены для создания
новых субъектов (в отличие от дискреционных ДП-моделей, в мандатной ДП-модели
субъект может создать субъекта из сущности, когда сущность принадлежит множеству ES);
fs : S → L — функция, задающая уровень доступа каждого субъекта;
fe : E \ S → L — функция, задающая уровень конфиденциальности каждой сущности системы, не являющейся субъектом, при этом если для двух сущностей e1 , e2 ∈ E
выполняется неравенство e1 6 e2 (сущность e1 содержится в контейнере e2 ), то по
определению выполняется условие fe (e1 ) 6 fe (e2 );
CCR : E \ S → {true, f alse} — функция, задающая способ доступа к сущностям,
не являющимся субъектами, внутри контейнеров. Если сущность e ∈ E является контейнером и доступ к сущностям, содержащимся внутри контейнера e, разрешен без
учета уровня конфиденциальности контейнера e, то по определению выполняется равенство CCR(e) = f alse, в противном случае выполняется равенство CCR(e) = true.
При этом по определению для каждой сущности e ∈ E, являющейся объектом, выполняется условие CCR(e) = f alse.
Определение 38. В состоянии G = (S, E, R ∪ A ∪ F, H, (fs , fe ), CCR) системы
Σ(G∗ , OP ) доступ (s, e, α) ∈ A, где s ∈ S, e ∈ E \ S, α ∈ Ra , обладает ss-свойством,
когда выполняются условия:
— fs (s) > fe (e);
— для каждой сущности-контейнера e0 ∈ E \ S, такой, что e < e0 и CCR(e0 ) = true,
выполняется неравенство fs (s) > fe (e0 ).
Определение 39. В состоянии G = (S, E, R ∪ A ∪ F, H, (fs , fe ), CCR) системы
Σ(G∗ , OP ) доступы (s, e1 , reada ), (s, e2 , α) ∈ A, где s ∈ S, e1 , e2 ∈ E \ S, α ∈ {writea ,
appenda }, обладают ∗-свойством, когда выполняется условие fe (e1 ) > fe (e2 ).
Определение 40. Состояние системы Σ(G∗ , OP ) обладает ss-свойством или
∗-свойством, когда в состоянии все доступы обладают ss-свойством или ∗-свойством
соответственно.
Определение 41. Состояние системы Σ(G∗ , OP ) называется безопасным в смысле Белла — ЛаПадулы, когда оно обладает ss-свойством и ∗-свойством. Система
Σ(G∗ , OP ) называется безопасной в смысле Белла — ЛаПадулы, когда все состояния
системы на всех конечных траекториях ее функционирования безопасны в смысле
Белла — ЛаПадулы.
В рамках мандатной ДП-модели обоснована следующая теорема.
Теорема 9 (теорема БТБ-ДП). Пусть G0 = (S0 , E0 , R0 ∪ A0 ∪ F0 , H0 , (fs0 , fe0 ),
CCR0 ) — начальное состояние системы Σ(G∗ , OP, G0 ), являющееся безопасным в смысле Белла — ЛаПадулы, и A0 = F0 = ∅. Тогда система Σ(G∗ , OP, G0 ) является безопасной в смысле Белла — ЛаПадулы.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
180
П. Н. Девянин
При этом показано, что обеспечения безопасности состояний и функции переходов в смысле Белла — ЛаПадулы (в смысле определений ss- и ∗-свойств безопасности)
недостаточно для противодействия возможности реализации запрещенных информационных потоков двух видов:
— информационных потоков по времени от сущностей с высоким уровнем конфиденциальности информации к сущностям с низким уровнем конфиденциальности
информации;
— информационных потоков по памяти от недоверенных субъектов с низким уровнем
доступа к сущностям, функционально ассоциированным с субъектами с высоким
уровнем доступа.
Пример информационного потока по времени первого вида от сущности x с высоким уровнем конфиденциальности к сущности y с низким уровнем конфиденциальности, реализуемого двумя кооперирующими субъектами sx и sy с использованием
находящихся в одной иерархии сущностей zx и zy , приведен на рис. 20.
Рис. 20. Пример реализации запрещенного информационного потока по времени
Для анализа условий, выполнение которых в КС с мандатным управлением доступом позволит предотвратить возможность реализации этих запрещенных информационных потоков, на основе мандатной, БД и ФАС ДП-моделей построены следующие
три ДП-модели:
— мандатная ДП-модель с блокирующими доступами доверенных субъектов (БДМ
ДП-модель), в которой анализируются условия реализации в КС запрещенных информационных потоков для случая, когда доверенные субъекты препятствуют использованию недоверенными субъектами иерархии сущностей для создания информационных потоков по времени;
— мандатная ДП-модель с отождествлением порожденных субъектов (ОСМ ДПмодель), в которой при определении ∗-свойства безопасности рассматриваются доступы недоверенного субъекта вместе со всеми доступами порожденных им субъектов;
— мандатная ДП-модель КС, реализующих политику строгого мандатного управления доступом (ПСМ ДП-модель), в рамках которой недоверенному субъекту разрешается получать доступы только к сущностям с уровнем конфиденциальности,
совпадающим с его уровнем доступа.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Обзорные лекции по моделям безопасности компьютерных систем
181
С использованием БД, ФАС, ПБА, ПАР, мандатной, БДМ, ОСМ и ПСМ ДП-моделей описаны и теоретически обоснованы пять методов, реализация которых в КС
с дискреционным или мандатным управлением доступом позволяет предотвратить
возможность возникновения некоторых видов запрещенных информационных потоков по памяти или по времени.
Развитие семейства ДП-моделей в настоящее время осуществляется по двум направлениям:
— построение ДП-моделей типовых практически значимых или перспективных КС;
— построение ДП-моделей, содержащих элементы, принципиально новые по сравнению с элементами уже разработанных ДП-моделей.
По первому направлению построена ДП-модель веб-системы [5], в рамках которой
осуществлен анализ защищенности типовых веб-систем от угроз реализации атаки вида межсайтового скриптинга (Cross Site Scripting, XSS ). Граф доступов, описывающий
начальное состояние рассматриваемой системы, приведен на рис. 21. При этом использованы следующие обозначения и определения:
si — доверенный субъект-интерфейс веб-системы;
sh1 , sh2 — доверенные субъекты-процессы HT T P -сервера, реализующие передачу
данных между субъектами рабочих станций пользователей и субъектом-интерфейсом
веб-системы;
ei1 , ei2 — сущности-порты, используемые для обмена данными между субъектамипроцессами HT T P -сервера и субъектом-интерфейсом веб-системы;
eh1 , eh2 — сущности-порты, используемые для обмена данными между субъектамипроцессами HT T P -сервера и субъектами рабочих станций пользователей;
su — доверенный субъект-пользователь веб-системы;
eu — сущность-скрипт, функционально ассоциированная с субъектом-браузером
пользователя веб-системы;
sa — недоверенный субъект-нарушитель;
NS = {sa } — множество недоверенных субъектов;
LS = {si , sh1 , sh1 , su } — множество доверенных субъектов.
Определение 42. Субъектом-нарушителем в веб-системе является недоверенный субъект, имеющий возможность осуществить запрос к интерфейсу веб-системы
с параметрами, содержащими данные (в том числе исполняемые скрипты), которые
помещаются веб-системой в страницу в формате HT M L и передаются доверенному
субъекту-браузеру целевого пользователя веб-системы.
Определение 43. Нарушением безопасности веб-системы является получение
субъектом-нарушителем контроля (права доступа владения) над доверенным субъектом-браузером пользователя.
Определение 44. Назовем траекторию функционирования системы Σ(G∗ , OP )
траекторией без кооперации доверенных и недоверенных субъектов для передачи прав
доступа, когда при ее реализации используются монотонные правила преобразования
состояний, и доверенные субъекты (где u ∈ LS — доверенный субъект; x ∈ NS — недоверенный субъект; e, e0 ∈ E — сущности; r ∈ Rr — право доступа):
— не инициируют выполнения следующих правил преобразования состояний: take_
right(αr , u, x, e), grant_right(αr , u, x, e), control(x, y, z) (доверенные субъекты не
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
182
П. Н. Девянин
Рис. 21. Начальное состояние системы в рамках ДП-модели веб-системы
дают недоверенным субъектам права доступа к сущностям; не берут у недоверенных субъектов права доступа к сущностям; используя информационные потоки по
памяти к сущностям, не получают право доступа владения к субъектам);
— могут выполнять монотонные правила преобразования состояний own_take(αr , u,
e), create_entity(u, e, e0 ), create_subject(u, e, e0 ), rename_entity(u, e, e0 ), access_
read(u, e), access_write(u, e), access_append(u, e), f ind(u, e, e0 ), post(u, e, e0 ), pass(u,
e, e0 ) с условиями и результатами применения, заданными в БК ДП-модели.
Определение 45. Назовем траекторию функционирования системы Σ(G∗ , OP )
траекторией без кооперации доверенных и недоверенных субъектов для передачи прав
доступа и реализации информационных потоков, когда она является траекторией без
кооперации доверенных и недоверенных субъектов для передачи прав доступа и при
ее реализации используются правила преобразования состояний:
— take_right(αr , x, y, z), grant_right(αr , x, y, z), own_take(αr , x, y) с условиями и результатами применения, заданными в базовой ДП-модели;
— create_entity(x, y, z), create_subject(x, y, z), rename_entity(x, y, z), access_read(x,
y), access_write(x, y), access_append(x, y), f low(x, y, y 0 , z), f ind(x, y, z), post(x, y, z),
pass(x, y, z) с условиями и результатами применения, заданными в БК ДП-модели;
— control(x, y, z) с условиями и результатами применения, заданными в ФАС
ДП-модели.
При этом в состояниях траектории по определению отсутствуют информационные
потоки по времени, исходящие из доверенных субъектов.
Определение 46. Пусть G0 = (S0 , E0 , R0 ∪ A0 ∪ F0 , H0 ) — состояние системы
Σ(G∗ , OP ) и недоверенный субъект x ∈ NS ∩ S0 , субъект y ∈ S0 , где x 6= y. Определим
предикат can_share_own(x, y, G0 , LS ), который будет истинным тогда и только тогда,
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Обзорные лекции по моделям безопасности компьютерных систем
183
когда существуют состояния G1 , . . . , GN = (SN , EN , RN ∪ AN ∪ FN , HN ) и правила преобразования состояний op1 , . . . , opN , где N > 0, такие, что G0 `op1 G1 `op2 . . . `opN GN
является траекторией без кооперации доверенных и недоверенных субъектов для передачи прав доступа и реализации информационных потоков, и (x, y, ownr ) ∈ RN .
В результате анализа безопасности веб-системы обоснована следующая теорема.
Теорема 10. Пусть G0 = (S0 , E0 , R0 ∪ A0 ∪ F0 , H0 ) — начальное состояние системы
Σ(G∗ , OP, G0 ), в котором субъект-интерфейс веб-системы si является некорректным
относительно сущности ei1 . Тогда предикат can_share_own(sa , su , G0 , LS ) является истинным, и возможно нарушение безопасности веб-системы в смысле определения 43.
Аналогичный подход [6], использующий ФАС ДП-модель, можно применить
для анализа защищенности веб-систем на основе СУБД от атак с применением
SQL-инъекции.
По второму направлению развития ДП-моделей в [7] рассмотрен случай, когда в КС
могут существовать параметрически ассоциированные с субъектами сущности, реализация от которых информационных потоков по памяти к недоверенным субъектам
позволяет им получить контроль над другими субъектами системы, в том числе доверенными. Например, возможно получение субъектом-нарушителем права доступа
на чтение к конфигурационному файлу операционной системы, в котором хранится
пароль или хеш-образ пароля доверенного субъекта. Наличие такого права позволяет
субъекту-нарушителю получить контроль над доверенным субъектом. В данном случае конфигурационный файл будет являться сущностью, параметрически ассоциированной с доверенным субъектом. Таким образом, на основе ФАС ДП-модели построена ДП-модель c функционально или параметрически ассоциированными с субъектами
сущностями (ФПАС ДП-модель). При этом в ФПАС ДП-модели добавлено правило преобразования состояний know(x, y), позволяющее недоверенному субъекту x при
условии реализации им к себе информационных потоков по памяти от всех сущностей,
параметрически ассоциированных с субъектом y, получить контроль (право доступа
владения ownr ) к субъекту y.
Пример применения правила know(x, y) приведен на рис. 22. При этом использовано обозначение:
]y[∈ E \ S — множество сущностей, параметрически ассоциированных с субъектом
y ∈ S.
В рамках ФПАС ДП-модели выполнен теоретический анализ условий утечки прав
доступа и реализации запрещенных информационных потоков по памяти.
Также по второму направлению на основе ФАС и ФПАС ДП-моделей в [8] построена ДП-модель файловых систем (ФС ДП-модель). В данной модели анализируется
характерный для файловых систем новый вид доверенных субъектов — потенциальных
доверенных субъектов. Из потенциальных доверенных субъектов могут быть созданы
доверенные субъекты, реализующие доступ к сущностям, защищенным механизмами
файловых систем (например, механизмами файловой системы EF S в среде ОС семейства Windows XP /2003/Vista). Создать доверенного субъекта из потенциального
доверенного субъекта могут доверенные или недоверенные субъекты, имеющие доступ на чтение к сущностям, параметрически ассоциированным с потенциальными
доверенными субъектами. Таким образом, в ФС ДП-модели используется следующее
определение.
Определение 47. В рамках ФС ДП-модели по определению выполняются следующие условия.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
184
П. Н. Девянин
Рис. 22. Пример применения правила know(x, y), где справедливо равенство ]y[= {e1 , e2 }
1. В множестве сущностей выделено подмножество сущностей, защищенных ФС и
не являющихся субъектами.
2. В множестве доверенных субъектов выделено подмножество субъектов, обладающих правами доступа и реализующих доступ к сущностям, защищенным ФС, и
кодирование в них данных в случае, когда оно осуществляется ФС. Эти доверенные субъекты реализуют информационные потоки по памяти между каждой сущностью, защищенной ФС, и соответствующей ей сущностью-образом, не являющейся
субъектом.
3. Доверенные или недоверенные субъекты, не реализующие доступ к сущностям,
защищенным ФС, не обладают правами доступа и не могут получать доступ к этим
сущностям. При этом они могут обладать правами доступа или получать доступ
к сущностям-образам сущностей, защищенных ФС.
4. В каждом состоянии системы кроме множества субъектов анализируется множество потенциальных доверенных субъектов (доверенных субъектов, которые могут
быть созданы в процессе функционирования системы для реализации доступа к сущностям, защищенным ФС).
5. Кроме возможности создания новых субъектов из сущностей, недоверенный
субъект может создать доверенного субъекта в случае, когда недоверенный субъект
реализовал к себе информационные потоки по памяти от всех сущностей, параметрически ассоциированных с потенциальным доверенным субъектом. При этом недоверенный субъект получает контроль над созданным доверенным субъектом.
6. Каждый доверенный субъект не обладает правами доступа ко всем сущностям.
7. Доверенные субъекты, не реализующие доступ к сущностям, защищенным ФС,
в процессе функционирования системы не получают новые доступы к сущностям и не
участвуют в создании информационных потоков к или от сущностей, защищенных ФС.
8. Не рассматриваются информационные потоки по времени, право доступа и доступ на запись в конец сущности.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Обзорные лекции по моделям безопасности компьютерных систем
185
9. В начальном состоянии системы недоверенные субъекты не реализуют доступы
к сущностям, к ним не имеют доступы другие субъекты, и отсутствуют информационные потоки по памяти с участием недоверенных субъектов.
Кроме обозначений ФПАС ДП-модели, в ФС ДП-модели используются следующие
обозначения:
F SE ⊂ E \ S — множество сущностей, защищенных ФС;
f s : F SE → E \ S — инъективная функция, которая ставит в соответствие каждой
сущности, защищенной ФС, соответствующую ей сущность-образ;
P S — множество потенциальных доверенных субъектов, реализующих доступ
к сущностям из множества F SE;
F SS ⊂ LS ∩ S — множество доверенных субъектов, реализующих доступ к сущностям из множества F SE.
При этом в ФС ДП-модель добавлено правило преобразования состояний
potential_subject(x, y, z), позволяющее недоверенному субъекту создать доверенного
субъекта из потенциального доверенного субъекта (рис. 23).
Рис. 23. Пример применения правила potential_subject(x, y, z)
В рамках ФС ДП-модели проведён анализ условий реализации информационных
потоков. В том числе приведены и обоснованы достаточные условия, при выполнении которых в КС возможна реализация запрещенных информационных потоков по
памяти от сущностей, защищенных механизмами файловых систем.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
186
П. Н. Девянин
Теорема 11. Пусть G0 = (S0 , E0 , R0 ∪A0 ∪F0 , H0 ) — состояние системы Σ(G∗ , OP )
и сущности x, y ∈ E0 , где x 6= y. Предикат can_write_memory(x, y, G0 ) является
истинным в случае, когда существует последовательность сущностей e1 , . . . , em ∈ E0 ,
где e1 = x, em = y и m > 2, таких, что для каждого i = 1, . . . , m − 1 выполняется одно
из условий:
1) ei ∈ Ls ∩ S0 и или (ei , ei+1 , writem ) ∈ F0 , или (ei , ei+1 , writea ) ∈ A0 .
2) ei ∈ F SS0 ∪ (NS ∩ S0 ) и или (ei , ei+1 , writem ) ∈ F0 , или истинен предикат
can_share(writer , ei , ei+1 , G0 ).
3) ei+1 ∈ LS ∩ S0 и (ei+1 , ei , reada ) ∈ A0 .
4) ei+1 ∈ F SS0 ∪ (NS ∩ S0 ) и истинен предикат can_share(readr , ei+1 , ei , G0 ).
5) ei ∈ NS ∩ S0 , ei+1 ∈ F SS0 ∪ (NS ∩ S0 ) и истинен предикат can_share_own(ei ,
ei+1 , G0 ).
6) ei+1 ∈ NS ∩ S0 , ei ∈ F SS0 ∪ (NS ∩ S0 ) и истинен предикат can_share_own(ei+1 ,
ei , G0 ).
Развитием семейства ролевых моделей RBAC и семейства ДП-моделей КС с дискреционным или мандатным управлением доступом является базовая ролевая ДПмодель (БР ДП-модель) [9, 10]. Данная модель ориентирована на анализ в КС с ролевым управлением доступом условий передачи прав доступа ролей и реализации информационных потоков по памяти и по времени. В ней кроме обозначений дискреционных
ДП-моделей используются следующие обозначения:
U — множество пользователей;
LU — множество доверенных пользователей;
NU — множество недоверенных пользователей;
S ⊆ E — множество субъект-сессий пользователей;
LS — множество доверенных субъект-сессий;
NS — множество недоверенных субъект-сессий;
R — множество ролей;
AR — множество административных ролей;
U A : U → 2R — функция авторизованных ролей пользователей;
AU A : U → 2AR — функция авторизованных административных ролей пользователей;
P A : R → 2P — функция прав доступа ролей;
user : S → U — функция принадлежности субъект-сессии пользователю;
roles : S → 2R ∪ 2AR — функция текущих ролей субъект-сессий;
can_manage_rights : AR → 2R — функция администрирования прав доступа
ролей;
HR : R → 2R — функция иерархии ролей;
HAR : AR → 2AR — функция иерархии административных ролей;
G = (P A, user, roles, A, F, HE ) — состояние системы;
f a : U × E → 2E ∪ 2U — функция, задающая множества сущностей, функционально
ассоциированных с субъект-сессией, при ее создании пользователем (или от имени
пользователя другой субъект-сессией) из сущности;
y(E) ⊂ LS × E — множество пар вида (доверенная субъект-сессия, сущность), относительно которых корректна доверенная субъект-сессия y.
В КС с ролевым управлением доступом право доступа к сущности может быть
получено субъект-сессией только через обладание ролью, содержащей данное право.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Обзорные лекции по моделям безопасности компьютерных систем
187
Реализация субъект-сессией информационного потока по памяти на сущность, функционально ассоциированную с другой субъект-сессией, позволит первой субъект-сессии
получить контроль над второй субъект-сессией, включая возможность использовать
права доступа ее ролей. При этом множество текущих ролей первой субъект-сессии,
как правило, останется неизменным (кроме того, изменение множества текущих ролей может быть заблокировано реализованным в КС механизмом статических и, особенно, динамических ограничений). Таким образом, в рамках БР ДП-модели кроме
ролей, прав доступа ролей и возможностей осуществить действия, которыми явно обладают субъект-сессии, рассматриваются фактические роли, фактические права доступа ролей и фактические возможности осуществить действия, которыми обладают
субъект-сессии за счет получения контроля над другими субъект-сессиями. При этом
используются следующие обозначения:
de_f acto_roles : S → 2R∪AR — функция фактических текущих ролей субъектсессий, при этом по определению в каждом состоянии системы G = (P A, user, roles, A,
F, HE ) для каждой субъект-сессии s1 ∈ S выполняется равенство
de_f acto_roles(s1 ) = roles(s1 ) ∪ {r ∈ R ∪ AR : ∃s2 ∈ S [(s1 , s2 , owna ) ∈ A &
& r ∈ roles(s2 )]};
de_f acto_rights : S → 2P — функция фактических текущих прав доступа субъект-сессий, при этом по определению в каждом состоянии системы G =
= (P A, user, roles, A, F, HE ) для каждой субъект-сессии s ∈ S выполняется равенство
de_f acto_rights(s) = {p ∈ P : ∃r ∈ de_f acto_roles(s) [p ∈ P A(r)]};
de_f acto_actions : S → 2P × 2R — функция фактических возможных действий субъект-сессий, при этом по определению в каждом состоянии системы G =
= (P A, user, roles, A, F, HE ) для каждой субъект-сессии s1 ∈ S выполняется равенство
de_f acto_actions(s1 ) = (P A(roles(s1 )) × can_manage_rights(roles(s1 ) ∩ AR)) ∪
∪ {(p, r) ∈ P × R : ∃s2 ∈ S ∃(s1 , s2 , owna ) ∈ A [r ∈ can_manage_rights(roles(s2 ) ∩
∩ AR) & p ∈ P A(roles(s2 ))]}.
В БР ДП-модели определены следующие правила преобразования состояний:
— монотонные: take_role(x, r), grant_right(x, r, (y, αr )), create_entity(x, r, y, z),
create_f irst_session(u, r, y, z), create_session(x, w, r, y, z), rename_entity(x, y, z),
control(x, y, z), access_own(x, y), take_access_own(x, y, z), access_read(x, y),
access_write(x, y), access_append(x, y), f low(x, y, y 0 , z), f ind(x, y, z), post(x, y, z),
pass(x, y, z), take_f low(x, y);
— немонотонные: remove_role(x, r), remove_right(x, r, (y, αr )), delete_entity(x, y, z).
Зависимость условий и результатов применения правил преобразования состояний
БР ДП-модели показана на рис. 24.
По аналогии с базовой ДП-моделью может быть доказано, что в рамках
БР ДП-модели при анализе условий передачи прав доступа, реализации информационных потоков по памяти или по времени можно обойтись применением только
монотонных правил преобразования состояний.
В настоящее время в рамках БР ДП-модели не удалось завершить исследование КС
с ролевым управлением доступом, на условия функционирования которых не наложено ограничений. В связи с этим обстоятельством анализ необходимых и достаточных
условий передачи прав доступа выполнен для двух случаев. Первый случай — когда
в КС существуют только две субъект-сессии двух пользователей. Второй случай —
когда в КС функционирует произвольное число субъект-сессий, и они не получают
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
188
П. Н. Девянин
Рис. 24. Зависимость условий и результатов применения правил
преобразования состояний БР ДП-модели
доступа владения друг к другу с использованием информационных потоков по памяти к функционально ассоциированным с субъект-сессиями сущностям.
В дальнейшем, в том числе в ходе учебного процесса (например, при выполнении
курсовых и дипломных работ), целесообразно развитие и исследование ролевых ДПмоделей по следующим направлениям:
— разработка моделей, адекватных условиям функционирования существующих КС;
— построение ДП-моделей существующих КС для формального анализа их безопасности;
— анализ условий кооперации доверенных и недоверенных субъект-сессий при реализации информационных потоков;
— построение алгоритмов замыкания графа доступов, описывающего состояние системы;
— анализ условий передачи прав доступа ролей для случая произвольного числа
субъект-сессий, а также анализ условий возникновения информационных потоков
по памяти или по времени;
— исследование способов использования динамических ограничений;
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Обзорные лекции по моделям безопасности компьютерных систем
189
— исследование возможности реализации мандатного ролевого управления доступом
с применением динамических ограничений, не позволяющих порождать запрещенные информационные потоки по времени.
Заключение
При преподавании моделей безопасности КС целесообразно учесть, что бакалавру
следует изучить как минимум следующие модели:
—
—
—
—
—
модель ХРУ;
классическую модель T ake-Grant;
субъектно-ориентированную модель ИПС;
классическую модель Белла — ЛаПадулы;
базовую модель ролевого управления доступом.
Дополнительно специалисту (особенно по специальностям «Компьютерная безопасность» и «Информационно-аналитические системы безопасности») и магистру
целесообразно изучить следующие модели:
—
—
—
—
—
—
модель ТМД;
расширенную модель T ake-Grant;
интерпретации модели Белла — ЛаПадулы;
модель СВС;
модели безопасности информационных потоков;
модель администрирования ролевого управления доступом и модель мандатного
ролевого управления доступом;
— базовую ДП-модель, БК ДП-модель, ФАС ДП-модель и ФПАС ДП-модель.
Кроме того, в случае проведения специалистом или магистром теоретических исследований в области безопасности логического управления доступом или информационными потоками в КС целесообразно изучение других ДП-моделей, соответствующих
выбранному направлению исследований.
ЛИТЕРАТУРА
1. Bishop M. Computer Security: art and science. ISBN 0-201-44099-7. 2002. 1084 p.
2. Девянин П. Н. Модели безопасности компьютерных систем: учеб. пособие для студ.
высш. учеб. заведений. М.: Издательский центр «Академия», 2005. 144 с.
3. Щербаков А. Ю. Современная компьютерная безопасность. Теоретические основы. Практические аспекты: учеб. пособие. М.: Книжный мир, 2009. 352 с.
4. Девянин П. Н. Анализ безопасности управления доступом и информационными потоками в компьютерных системах. М.: Радио и связь, 2006. 176 с.
5. Назаров И. О. Анализ безопасности веб-систем, в условиях реализации уязвимости класса межсайтового скриптинга // Проблемы информационной безопасности. Компьютерные системы / под ред. П. Д. Зегжды. СПб.: СПбГТУ, 2007. Вып. 2. С. 105–117.
6. Назаров И. О. Обеспечение безопасности управления доступом и информационными потоками в веб-системе на основе СУБД // Вестник Казанского государственного технического университета им. А. Н. Туполева. Казань: КГТУ им. А. Н. Туполева, 2008. Вып. 2.
С. 56–59.
7. Колегов Д. Н. ДП-модель компьютерной системы с функционально и параметрически
ассоциированными с субъектами сущностями // Вестник Сибирского государственного аэрокосмического университета им. акад. М. Ф. Решетнева. 2009. Вып. 1(22). Ч. 1.
С. 49–54.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
190
П. Н. Девянин
8. Буренин П. В. Подходы к построению ДП-модели файловых систем // Прикладная дискретная математика. 2009. № 1(3). С. 93–112.
9. Девянин П. Н. Базовая ролевая ДП-модель // Прикладная дискретная математика.
2008. № 1(1). С. 64–70.
10. Девянин П. Н. Анализ условий получения доступа владения в рамках базовой ролевой
ДП-модели без информационных потоков по памяти // Прикладная дискретная математика. 2009. № 3(5). С. 69–84.
1/--страниц
Пожаловаться на содержимое документа