Об оценке стойкости аелб-криптосистемы типа GCM

2016 Математические методы криптографии №2

УДК 519.1

ОБ ОЦЕНКЕ СТОЙКОСТИ АЕЛБ-КРИПТОСИСТЕМЫ ТИПА GCM

А. Ю. Зубов

Московский государственный университет им. М. В. Ломоносова, г. Москва, Россия

Обсуждается методика доказуемой стойкости криптосистем, обеспечивающих конфиденциальность и аутентичность информации. Предлагается упрощённый вариант известной оценки доказуемой стойкости AEAD-криптосистемы GCM с вектором инициализации фиксированной длины. В тех же условиях получена оценка доказуемой стойкости модификации GCM. Приводится сравнительный анализ криптосистем.

Ключевые слова: AEAD-криптосистема, GCM, доказуемая стойкость. DOI 10.17223/20710410/32/4

ON THE SECURITY OF AEAD-CRYPTOSYSTEM OF THE GCM TYPE

A. Yu. Zubov

Lomonosov Moscow State University, Moscow, Russia E-mail: Zubovanatoly@yandex.ru

A provable security methodology for the cryptosystems ensuring information privacy and authenticity is discussed. A simplified version of the well-known estimates for the provable security of the AEAD-cryptosystem GCM with an initialization vector of fixed length is proposed. Under the same conditions an estimate for the provable security of GCM modification is obtained. A comparative analysis of the considered cryptosystems is provided.

Keywords: AEAD-cryptosystem, GCM, provable security.

1. Необходимые сведения

Пусть G = {f : S ^ A} — семейство функций, |S| = k, |A| = n, n < k, |G| = b. Назовём G (b; k, n)-семейством функций. Нас будет интересовать свойство функций f из G иметь коллизии, под которыми понимается совпадение f (si) и f (s2) для различных элементов s1, s2 из S.

Определение 1. Пусть A = {0,1}n; (b; k, п)-семейство G называется eXOR-уни-версальным (кратко — eXU-семейством), если для любых s1,s2 G S и любого a G A справедливо неравенство

|{f G G : f (si) 0 f (s2) = a}| ^ eb.

Система MAC типа Wegman — Carter (WC-MAC) основана на eXU-семействе функций. Известно большое число таких систем. Нам понадобятся введённые в [1] системы WC[G] и WC[G, F].

Определение 2. Пусть С = {/ : Б ^ {0,1}""} — семейство функций и Р = = РъР2,... — случайная равновероятная строка векторов р^ Е {0,1}п . Пусть сП — целочисленная переменная (счётчик). Система Ж С[С] снабжает сообщение в Е Б на ключе {/, Р} меткой т = (сп£,рсга: ф /(в)). Для проверки аутентичности сообщения (в, т), где т = (г,г), вычисляется сумма р^ ф /(в), которая сравнивается с г. Совпадение — критерий аутентичности.

Определение 3. Пусть Г : {0,1}к х {0,1}1 ^ {0,1}п и С = {/ : Б ^ {0,1}п} — семейства функций. Пусть сП — целочисленная переменная (счётчик). Система Ж С[С, Г] снабжает сообщение в € Б меткой т(в) = (сп£, (сп£) ф /(в)), где сП — текущее значение счётчика, К Е {0,1}к, / Е С. Ключом служит пара (К, /). При аутентификации каждого следующего сообщения алгоритм генерации МАС увеличивает значение сП и проверяет условие сп£ < 2П — 1. Если неравенство не выполняется, то изменяется значение ключа. Если выполняется, то вычисляется метка по указанной формуле. Для верификации сообщения (в, т(в)), где т(в) = (г, г), проверяющий вычисляет сумму Гк(г) ф /(в) и сравнивает её с г. Равенство — критерий аутентичности.

Реализуемые системами Ж С[С] и Ж С[С, Г] семейства функций можно рассматривать как псевдослучайные семейства функций (РИР). Мерой их псевдослучайности служит свойство неотличимости случайно выбранного представителя семейства от случайной функции по входам-выходам. Случайной называется функция, значение которой от любого аргумента выбирается случайно и равновероятно из её области значений. Другими словами, это функция, выбранная из семейства функций всех функций Б ^ А случайно равновероятно. В рассматриваемом случае А = {0,1}п. Количественно указанное свойство неотличимости произвольного семейства функций Ф = {/ : Б ^ А} определяется следующим образом. Проводится атака различения, в которой принимают участие различитель и оракул. Различитель А (вероятностный алгоритм) может обращаться к оракулу О^ функции ^ : Б ^ А с запросами относительно выбранных аргументов х из Б, получая от оракула значения <^(х). На основании полученных ответов А решает, какая гипотеза имеет место:

— Ш0 : функция выбрана случайно равновероятно из

— W1 : функция ^ выбрана случайно равновероятно из Ф.

Выбор Ж0 или произведён заранее, до начала обмена вопросами и ответами.

Результатом работы алгоритма А является различающий бит равный 0, если А делает выбор в пользу Ж0, и 1 в противном случае. Эффективность работы различи-теля А определяется величиной А^фгА, называемой prf-преимуществом семейства Ф для различителя А. Она определяется формулой

Аа<А = |Р И = 1|Жо] — р И = 1|вд,

представляющей собой модуль разности условных вероятностей того, что различающий бит равен 1, при условии, что имеет место гипотеза Ж0 или Ж1.

При теоретико-информационном подходе затраты различителя не учитываются.

Определение 4. Семейство функций Ф называется £-псевдослучайным, если величина

в которой максимум берётся по всем различителям А, удовлетворяет неравенству ^ £. Величина называется prf-преимуществом семейства Ф.

При теоретико-сложностном подходе величина prf-преимущества зависит от объёма затрат. К ним относятся число запросов к оракулу, их общий объём и время работы, под которым понимается действительное время выполнения алгоритма.

Определение 5. Для любых t, q, ^ G N prf-преимущество семейства Ф — это максимум

Adv|rf (t, q, = max j Adv|I'A|

по всем различителям A, имеющим временную сложность t и использующим не более q запросов к оракулу, суммарная длина которых не превосходит ^ битов. Ф называется e(t, q, псевдослучайным, если выполняется неравенство Adv^,rf (t, q, ^ e. Чем меньше e (при допустимом объёме затрат), тем «более псевдослучайным» является семейство Ф (и тем более стойким к атаке различения).

Аналогично определяется prp-преимущество Adv|rp семейства подстановок Ф.

Замечание 1. Prf-преимущество семейства функций определяется как prf-пре-имущество «лучшего» различителя. Если для некоторого различителя выражение под модулем в (1) отрицательно, то для различителя, который принимает противоположный различающий бит, это выражение будет положительным. Второй различитель «лучше» первого. Поэтому, оценивая преимущество семейства функций, можно опускать модуль в определении (1), что обычно и делается.

Замечание 2. Различитель характеризуется набором вероятностей принять различающий бит 1 для каждой последовательности запросов X и последовательности у ответов на них. Для семейства Rand всех функций для каждого x допустим какой угодно у. «Хороший» различитель семейства Ф ограничивает для каждого x число вариантов у, для которых указанная вероятность отлична от нуля. Поэтому гипотезам W1 и Wo отвечают разные распределения вероятностей, Pu и Py, принять различающий бит 1 на множестве M возможных пар (X, у). Пусть для «лучшего» различителя такими распределениями Pи, Py на (конечном) множестве M определены случайные переменные U и V. Тогда, как показано, например, в [2], преимущество «лучшего» различителя можно записать в виде

max |P [f (U) = 1] - P [f (V) = 1]| = 0,5 E |Pu(m) - Py(m)| ,

f-.M^i0,1} meM

где максимум берётся по всем отображениям из M в {0,1} . Правая часть этого равенства называется расстоянием по вариации (или статистическим расстоянием) между распределениями Pu, Py. Это равенство даёт другое представление о понятии преимущества.

Определение 6. Система MAC называется e-стойкой, 0 < e < 1, если противник, наблюдая ряд аутентифицированных (на одном ключе, выбранном случайно равновероятно) сообщений, может составить новое аутентифицированное (на том же ключе) сообщение с вероятностью, не превосходящей e.

Утверждение 1. Пусть G — это eXU-семейство функций. Тогда система MAC WC[G] является e-стойкой.

Доказательство. Пусть противник имеет сообщения (s1, т^1),..., (sq, Tq), где т — метки, полученные системой WC[G] при использовании ключа (f, P). Оценим вероятность того, что противник сможет составить новое сообщение s* и снабдить его меткой т*, полученной на том же ключе для подходящего значения счётчика — i*.

Противник обязан произвести значение счётчика — i*. При этом имеется две возможности: i* ^ q и i* > q. Если i* > q, то pi* —случайный вектор, не коррелирующий с наблюдаемыми значениями. Поэтому суммаpi* ф/(s*) = т* также представляет собой вектор, выбранный случайно. Значение т* противник может лишь угадать с вероятностью 2-n. Пусть i* ^ q. Это означает, что противник выбирает значение счётчика, использованное ранее при вычислении метки Ti* сообщения si*. Теперь ему нужно произвести s* = si* и т*, такие, что

Т* = / (S*) Ф Pi* = / (Si* ) Ф pi* = Ti*.

Из этих соотношений получаем равенство /(s*) ф /(si*) = т* ф Ti*.

Пусть c = т* ф ri*. Поскольку G образует eXU-семейство, имеем неравенство

P [/ (S*) ф / (Si* ) = c] ^ е. Таким образом, и искомая вероятность не превосходит е.

Усилим утверждение 1, предоставив противнику возможность аутентифицировать адаптивно подобранные сообщения и проверить корректность их меток.

Утверждение 2. Пусть G — это eXU-семейство функций. Тогда при использовании не более чем q запросов к оракулу проверки метки и к оракулу генерации метки система WC[G] является eq-стойкой.

Доказательство. В серии подделок (si, т^), i ^ 1, успех в атаке определяется путём запросов к оракулу проверки метки. Перед каждым таким запросом допускаются запросы к оракулу генерации метки относительно подобранных сообщений.

Пусть Ui — событие, означающее неуспех в подделке при i-м запросе к оракулу проверки метки. Если имеет место событие Ui П ... П Ui, то, согласно утверждению 1, вероятность успеха следующей подделки ограничена e. Поэтому имеет место неравенство

P [Ui+i| (Ui П ... П Ui)] ^ 1 - е.

Поскольку

P [Ui П ... П Ui] = P [Ui| (Ui П ... П Ui-i)]  P [Ui-i| (Ui П ... П U1-2)] ...  P [Ui] и каждый сомножитель в правой части не меньше 1 - e, получаем неравенство

P [Ui П ... П Uq ] ^ (1 - e)q . Таким образом, вероятность успеха атаки не превосходит величины

1 - (1 - e)q ^ eq.

Утверждение доказано.

2. AEAD-криптосистемы, GCM

В последние годы уделяется большое внимание построению и исследованию новых режимов блочного шифрования, обеспечивающих конфиденциальность и аутентификацию данных [3-7]. В связи с этим возникли новые термины, соответствующие названиям новых режимов шифрования: Authenticated Encryption (кратко — AE) и Authenticated Encryption with Associated Data (AEAD). В AEAD-системах (в отличие от AE-систем) используются так называемые ассоциированные данные (associated

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

AEAD-криптосистема GCM основана на блочном шифровании в режиме счётчика (CTR) и системе аутентификации типа WC[G, F], разработана в 2004 г. [8]. Система GCM стандартизована NIST в документе SP800-38D, имеет доказуемую стойкость, эффективную программную и аппаратную реализацию, широко используется в популярных криптографических протоколах IPSec, MACSec, P1619.1, TLS. Алгоритм GCM имеет четыре входа:

— ключ K ;

— вектор инициализации iv длины до 264 битов (рекомендуется iv длины 96 битов);

— открытый текст P длины до (232 — 2) n битов (n — длина блока шифрования);

— ассоциированные данные A длины до 2n/2 битов.

Алгоритм GCM имеет два выхода:

— шифртекст C, длина которого совпадает с длиной открытого текста;

— метка аутентификации T длины до n битов; длина метки обозначается т. Вектор iv должен меняться с каждым открытым текстом. Не требуется, чтобы iv

был случайным или непредсказуемым. Он передаётся вместе с шифртекстом. Открытый текст и ассоциированные данные разбиваются на n-битовые блоки:

Блоки P* и A* могут быть неполными. Шифртекст имеет вид C = C1|| ... ||Cm-1|| C*, где длина блока / (P*) = / (C*). Пусть

/(P) = (m — 1)n + u, 1 ^ u ^ n; /(A) = (r — 1)n + v, 1 ^ v ^ n.

Схема алгоритма GCM изображена на рис. 1.

Рис. 1. Схема алгоритма GCM

Алгоритм использует счётчиковую последовательность Y = Y01| Y11| ... , в которой Y = incr (Y-1). Функция incr(Y) изменяет младшие 32 бита Y, добавляя единицу по модулю 232 :

incr (L||R) = L|| (R +1) mod 232.

Алгоритм GCM состоит в выполнении следующих операций:

H = Ек (0n);

fiv||03i1, если l(iv) = n - 32,

— Y =

I GHASH (H, {} , iv) в противном случае;

— У = тег (Уг-1), г = 1,..., т;

— Сг = Р ф Ек (У), г =1,...т — 1;

— Ст = Рт ф МБВи (Ек (Ут));

— Т = МБВГ (СЯАБЯ (Я, А, С) ф Ек (Уо)).

В описании алгоритма ) обозначает старшие £ битов вектора {} — пустую

строку, Ек (^) —результат зашифрования Z на ключе К. Зашифрованное сообщение передаётся в виде вектора (¿V, А, С, Т). Функция СЯАБЯ определяется формулой

СЯАБЯ (Я, А, С) = Хт+г+1,

в которой Хг, г = 0,1,... , т + г + 1, задаются рекуррентным соотношением

Xi

0,

(Xi-i ф Ai)  H, (Xr-i ф (A*||0n-v))  H, (Xi-i ф Ci-r)  H, (Xm+r-i ф (C*||0n-u))  H,

если i = 0,

, r - 1,

если i = 1 , если i = r,

если i = r + 1,..., m + r - 1, если i = m + r,

, (Xm+r ф (l(A) ф /(C)))  H, если i = m + r + 1,

где операции сложения и умножения выполняются в поле GF(2i28) , порождённом над полем GF(2) неприводимым многочленом xi28 + x7 + x2 + x + 1.

3. Стойкость GCM

Оценка стойкости GCM, как и других АЕ-систем, проводится с позиции доказуемой стойкости (provable security). Известна иерархия понятий доказуемой стойкости, отражающих как статистический (или теоретико-информационный), так и теоретико-сложностной подходы [3, 6, 9, 10]. Второй подход предпочтительнее, поскольку позволяет регулировать выбор параметров криптосистем, обеспечивающих требуемый уровень стойкости. В связи с такой возможностью используется термин практически-ориентированная доказуемая стойкость (practice-oriented provable security) [9].

В 2004 г. было показано [10], что для АЕ-систем оценка стойкости типа (IND-CPA)+(AUTH) является адекватной мерой стойкости в смысле различных понятий доказуемой стойкости. Понятие (IND-CPA)+(AUTH)-стойкости означает следующее.

Стойкость шифрования системы оценивается стойкостью к атаке различения на основе подобранного открытого текста. Стойкость аутентификации системы оценивается стойкостью к активной атаке на основе подобранного открытого текста, в которой атакующий имеет доступ к оракулу генерации метки и оракулу проверки метки. Запросы к оракулам можно как угодно чередовать по усмотрению атакующего. После серии запросов и получения ответов на них атакующий вырабатывает «подделку» — пару текст — метка, в которой текст отличен от всех текстов, используемых в запросах. Атака достигает успеха, если метка признаётся корректной. Мерой стойкости служат значения функции преимущества, введённой в определениях 4 и 5 и прокомментированной в замечаниях 1 и 2. В [8] для оценки стойкости GCM использован именно такой

подход. Приведём доказательство оценки стойкости GCM в случае, когда / (iv) = n -t, где 2* — максимальное число сообщений, которые можно зашифровать на одном ключе (для GCM n = 128, /(iv) = 128 - 32). В этом случае фактор наличия коллизий функций семейства GHASH можно не учитывать, что упрощает получение оценки. Этот упрощённый вариант доказательства мы приводим с целью иллюстрации методики.

Теорема 1. Пусть C — противник, имеющий преимущество Cgcm в атаке различения семейства функций, реализуемого GCM, или в активной атаке против GCM, при числе запросов к оракулам, не превосходящем q. Пусть для каждого запроса (iv, A, P) выполняются условия /(C) + / (A) < / и /(iv) = n - t. Тогда существует различитель B базового шифра Е, имеющий преимущество Be , где

cgcm ^ be + q

n + 1

n

т + q(q - 1) + 2™+i '

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

Пусть и Ж0 — события, соответствующие использованию в атаке различения для В семейства функций Е или случайной функции. После серии запросов С строит подделку. Если С достигает успеха в подделке, то В делает выбор в пользу Ж1, иначе — в пользу Ж0.

Выразим преимущество Вряр = А<1уЕГв различителя В через преимущество Сосм = = Аау£гСмС противника С. Согласно (1) и замечанию 1,

Вркр = Р [^ = 1|^] — Р [^ = 11^0] ,

где — различающий бит, вырабатываемый В. Из описания действий В и определения преимущества СоСм следует, что

Сосм = Р = 1|^1 ] .

Оценим вероятность Р = 1|Ж0] .

Лемма 1. С = СЯАБЯ образует |7/п + 1] 2-тХи-семейство функций, где т — длина метки и 1 определяется неравенством /(А) + / (С) ^ 1.

Доказательство. Напомним, что СЯАБЯ (Я, А, С) = Хт+г+1, где Хг определяется формулой (2). Рассмотрим два различных входа (А, С), (А', С') и оценим вероятность события

С

где а — фиксированная т-битовая строка; г — (п — т)-битовая переменная (отсекаемая часть выхода).

Согласно описанию алгоритма ОСМ, строки А, С, А', С' разбиваются соответственно на г, т, г',т' п-битовых блоков. Последние блоки имеют длины соответственно. Пусть К = тах {т + г, т' + г'} — число блоков в более длинном входе.

Di

Определим блоки:

Ai, если i = 1,...,r — 1,

A;||0n-v, если i = r,

Ci-r, если i = r + 1,..., r + m — 1,

C*m||0n-u, если i = r + m,

l(A)||1 (C), если i = r + m + 1,

^0n, если i = r + m + 2,..., h + 1.

Аналогично определим блоки D' для пары (A', C').

Равенство (5) можно записать в виде R(H) = 0, где R — многочлен степени, не превосходящей h +1, над полем GF(2n) :

R(H) = (a||z) 0 Е (Di 0 Di)  Hi.

i=1

Поскольку A||C = A'||C', многочлен R — ненулевой и, следовательно, имеет не более h +1 корней. Если H выбирать случайно и равновероятно из GF(2n) , то вероятность того, что R(H) = 0, не превосходит (h + 1)2-n ^ [//n +1] 2-п при условии, что суммарная длина входов ограничена / битами.

Нетрудно видеть, что имеется взаимно-однозначное соответствие между блоками D и парами (A, C). Поэтому вероятность того, что R(H) = 0, для любых двух данных пар (A, C), (A',C') и данного вектора a||z равна вероятности события (5). А так как имеется 2п-т различных значений z, событие (5) выполняется с вероятностью, не превосходящей

[//n + 1] 2-п2п-т = [//n + 1] 2-т для любых пар (A, C), (A', C') и a G {0,1}т , что и требуется.

Вернёмся к доказательству теоремы. Заметим, что при условии W0 система MAC типа WC[G, E] модифицируется в систему MAC типа WC[G], поскольку E заменяется случайной функцией. Такая система MAC, согласно утверждению 1 и лемме 1, является [//n + 1] 2-т-стойкой.

Из утверждения 2 получаем неравенство

P [dB = 11Wo] ^ q [//n +1] 2-т.

Следующее утверждение, известное под названием PRF-PRP-switching lemma [11], связывает BPRF и BPRP = BE.

Лемма 2. Пусть Aprf (Aprp) —преимущество различителя блочного шифра с n-битовым блоком и случайной функции (случайной подстановки). Пусть разли-читель использует не более чем q запросов к оракулу. Тогда

Aprf ^ Aprp + .

Утверждение теоремы о стойкости аутентификации следует из (2), (4), (6) и (7): Cgcm = Bprp + P [dB = 1|Wo] ^ Bprp + q [//n + 1] 2-т ^ ^ Be + q [//n +1] 2-т + .

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

Пусть и Ж0 — события, соответствующие использованию в атаке различения для В семейства функций Е и случайной функции, а и1 и и0 — события, соответствующие использованию в атаке различения для С семейства функций ССМ и случайной функции. Согласно (1) и замечанию 1, преимущество С выражается формулой

Сосм = Р = 1^] - Р = 1|Цо] .

В свою очередь, преимущество В выражается формулой (3). Из описания действий различителя С следует, что

Р = 1|^1] = Р = 1|Ж1] .

Оценим вероятность Р = 1|и0] .

Каждый запрос различителя использует счётчиковую последовательность У0, У1,... Обозначим через Q событие, означающее, что значения счётчика во всех запросах различны, а через Я — событие, означающее, что С не достигает успеха. Лемма 3. Справедливо неравенство

Доказательство. Событие Ж0 П Q означает, что в атаке реализуется система 5, которая получается из ССМ заменой функции шифрования случайной функцией, и счётчиковые последовательности в запросах С не имеют коллизий. Поскольку выход Б равносилен выходу случайной функции, событие = 1| (и0 П Q)) означает, что С принимает случайную функцию за ССМ. Отсюда и из того, что Р [и0] = Р [Ж0] = 0,5, получаем следующие соотношения:

Г К ч] г , п Р [(^ =1) П Ж0 П Q]  Р [Ж0 П Q] Р [<г" = 1 П Q)] Р ИМ = 11 Р^, п с/Р-^ =

= Р ^ ^^П^ = Р ^ =Р1|1П]и0П^ = Р [(* = И п«|ГЛ>] < Р [/ = ^.

Отсюда следует неравенство (10).

Выразим Вряр через Сосм. С учётом (8)-(10) имеем

Вррр = Р = 1^] - Р [^ = 1|Ж0] = = Р = ВД] - Р [(^ = 1) | (Же П Q)]  Р |(?|Ж0] - Р [(^ = 1) | (Ж0 П ё)]  Р [ё|^0] ^ ^ Р = 1|и[ - Р = 1|Цс] - Р [(^ = 1) | (Ж0 П д)]  Р [^0] = = Сосм - Р [(^ = 1) | (Же П д)]  Р [фЖ0] ^ Сосм - Р [9|Ж0] ^ ^ Сосм - Р рЖ)] - Р [Я|Жс] .

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

Bprp ^ Cgcm - P [R|Wo] .

Заметим, что в условиях W0, l (iv) = n — t работает система S[ для которой можно использовать утверждение 2, согласно которому вероятность P [R|W0] не превосходит eq, а e оценивается в лемме 1. С учётом этого, из (11) и леммы 2 получаем нужную

оценку: Cgcm ^ Bprp + q R/n + 1] 2-т ^ Be + q R/n + 1] 2-т + .

Теорема доказана.

Приведём числовой пример, иллюстрирующий полученную оценку. Базовым алгоритмом шифрования для GCM является AES. При этом Z(iv) = 96, т = 96, n = 128. Пусть размер сообщения не превышает 1500 байтов (т.е. / ^ 12000). Тогда из теоремы 1 следует, что если AES неотличим от случайной подстановки при защите не более чем 232 сообщений на одном ключе (т.е. при этом Be практически равно 0), то преимущество атакующего AES-GCM не превосходит 5,17 • 10-18.

4. Оценка стойкости модификации GCM

Рассмотрим модификацию GCM, в которой система MAC типа WC[G, F] заменяется другой системой WC-MAC. В таких системах вместо eXU-семейства G может использоваться семейство функций с более слабым требованием к свойству иметь коллизии.

Определение 7. (b; k, ^-семейство функций G называется е-универсальным (eU-семейством), если для любых s1, s2 из S, s1 = s2, и положительного числа е справедливо неравенство |{f G G : f (s1) = f (s1)}| ^ eb.

Определение 8. Пусть G = |f : S ^ {0,1}г| и R = Rand1^". Ключом системы MAC FH[G] служит пара (f, p), f G G, p G R, а меткой сообщения s G S — значение P (f (s)).

Определение 9. Пусть G = |f : S ^ {0,1}г} и F : {0,1}r x {0,1}1 ^ {0,1}" —

семейства функций. Ключ системы FH[G, F] —пара (f, FK), f G G, K G {0,1}r . Меткой сообщения s G S служит FK (f (s)) .

Утверждение 3. Пусть G — это eU-семейство функций и q — максимальное число сообщений, которые можно аутентифицировать на одном ключе. Тогда система MAC FH[G] является eq(q + 1)/2-стойкой.

Доказательство. Пусть противник наблюдает сообщения (s1, Т1),..., (sq, Tq) , где т — метки, полученные с помощью FH[G] при использовании ключа (f, p). Оценим вероятность того, что противник сможет снабдить новое сообщение s* корректной меткой т*.

Пусть Ф = {f (s1) ,...,f (sq)}, T = {T1,...,Tq} . Если f (s*) G Ф, то p (f (s*)) с равной вероятностью может принимать любое из 2" значений (так как p — случайная функция). Поэтому вероятность того, что для некоторого т* выполняется равенство т* = p(f (s*)), равна 2-". Таким образом, вероятность русп успеха атаки равна

Русп = 2-".

Рассмотрим случай, когда f (в*) Е Ф. В этом случае т* должно принадлежать Т. Тогда в рассматриваемых условиях

русп Р

В свою очередь,

и

ЕР [т *

т, |f (в*) = f (*)] .

Р[т* = т, ^(в*) = f (*)] = Р[т* = т, ^(в*) = f (*) = f (в,)]  Р[/(в*) = f (*) = f (в,)] +

+ Р [т * Поскольку

т, |f (в*) = f (*) , f (*) = f (в,)]  Р [/ (в*) = f (вг) = f (в,)]

получаем формулу

Р [т* = т, |f (в*) = f (*) ,f (*) = f (в,)] Р [т* = т, |f (в*) = f (вг) ,f (*) = f (в,)]

Русп = Е Р [f (в*) = f (*) = f (в,)] .

1, 0,

Г13)

Пусть — событие, означающее первое появление коллизии функции f в последовательности аргументов ... , , в* на г-м месте. Поскольку f выбирается случайно из еР-семейства функций, из (13) получаем соотношения

9+1 9+1 я

Русп ^ Е Р [А] ^ Е (г - 1) е = е Е г = ед(д + 1)/2.

г=1 г=1 г=0

Поскольку 2_п ^ е ^ д(д + 1)/2, в любом случае из (12) и (13) получаем оценку Русп ^ ед(д + 1)/2.

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

Утверждение 4. Пусть С — это еР-семейство функций. Тогда при использовании не более чем д запросов к оракулу проверки метки и к оракулу генерации метки система ЕН[С] является ед(д — 1)/2-стойкой.

Доказательство. В серии подделок (в, тг), г = 1, 2,..., д, успех в атаке определяется путём запросов к оракулу проверки метки. Пусть д = д1 + д2, где д1 —число запросов к оракулу генерации метки; д2 — число запросов к оракулу проверки метки.

Пусть и — событие, означающее неуспех при г-м запросе к оракулу проверки метки, и — число запросов к оракулу генерации метки, произведённое перед г-м запросом к оракулу проверки метки. Если имеет место событие и1 П ... П [/¿, то, согласно утверждению 3, вероятность успеха в следующей подделке ограничена числом ерг+1(рг+1 + 1)/2. Это означает, что имеет место неравенство

Р [ит| (и П ... П Рг)] ^ 1 —

ерг+1 (Рг+1 + 1) 2 '

Поскольку

Р [Р1 П ... П Рг] = Р [и|и П ... П Рг_1]  Р [иг_1|Р1 П ... П и_2]

получаем неравенство

P [Ul П ... П Uq2 ] ^ 1 -

ep1 (P1 +1) 2

1 -

gP2 (Р2 + 1) 2

1

ePq2

Поскольку pi+1 ^ pi и pq2 ^ q1, вероятность 1 — P [U1 П превосходит величины

ц_ fii (9i + D ^

П Uq2 ] успеха атаки не

2

которая, в свою очередь, меньше eq1(q1 + 1)q2/2.

Так как q1 + q2 = q, q1 ^ q — 1 и функция q1(q1 + 1)(1 — q1) принимает максимальное значение при q1 = q — 1, получаем отсюда, что вероятность успеха атаки не превосходит eq(q — 1)/2, что и требуется доказать.

Рассмотрим АЕ-систему GCM', которая отличается от GCM лишь тем, что на шаге вычисления метки сумма GHASH(H, A, C) ф Ek(Y0) заменяется результатом зашифрования EK(GHASH(H, A, C)). Это соответствует замене системы WC[G, F] системой FH[G, F].

Как и в теореме 1, ограничимся случаем, когда вектор iv имеет фиксированную длину. В этих условиях имеет место следующий аналог теоремы 1.

Теорема 2. Пусть C — противник, имеющий преимущество Cgcm' в атаке различения семейства функций, реализуемого GCM', или в активной атаке против GCM', при числе запросов к оракулам, не превосходящем q. Пусть для каждого запроса (iv, A, P) выполняются условия l(A) + Z(C) ^ l и /(iv) = n — t. Тогда существует различитель B базового шифра E, имеющий преимущество Be , где

С,

GCM'

^ Be +

q(q + 1) 2«+1

А + 1

n

2n-T + 1

Доказательство. Воспользуемся схемой доказательства теоремы 1. Получим сначала оценку стойкости аутентификации. Пусть C — противник, имеющий преимущество Cgcm1 в активной атаке против GCM', и B — различитель семейства функций E, построенный так же, как в доказательстве теоремы 1. Преимущество Bprf определяется формулой (3). Из описания действий различителя B следует, что CGCM' выражается формулой (4).

При получении оценки вероятности P[dB = 1|W0] заметим, что при условии W0 реализуется система MACFH[G]. Согласно лемме 1, G = GHASH образует eXU-семейство функций (следовательно, и eU-семейство), где e=R/n + 1]2-T; 1(A)+ Z(C)^ l.

Из утверждения 4 получаем неравенство

P [dB = 1|W0] ^

П + 1

n

q

2T+1 '

Теперь из (8) и (9), с учётом леммы 2, получаем соотношения

R/n +1] q

С,

GCM'

В

PRF

+ P [dB = 1|Wo] ^ B PRF +

2T+1

<r, + R/n + 1] q

^ Be +----г

2t+1

2«+1

2

откуда следует искомое неравенство.

Оценка стойкости шифрования GCM' получается так же, как в теореме 1, с той лишь разницей, что в (12) ссылка на утверждение 2 заменяется ссылкой на утверждение 4.

Проиллюстрируем полученную оценку. Пусть длина каждого сообщения не превосходит 12000 битов, l(iv) = 96, т = 96, n = 128. Тогда преимущество атакующего GCM' не превосходит 1,1 • 10-8, если базовый блочный шифр неотличим от истинно случайной подстановки при защите не более чем 232 сообщений на одном ключе (т. е. если при этом Be практически равно нулю).

Отметим, что аналогичную оценку стойкости криптосистемы GCM' в общем случае (когда вектор iv имеет произвольную длину) можно получить, используя подход, предложенный в [12].

Как видим, оценку стойкости GCM' можно считать удовлетворительной, хотя она уступает оценке стойкости GCM. Вместе с тем GCM' защищена от атаки Фергюсо-на [13], которая, по мнению ряда специалистов, представляет собой основную известную угрозу для GCM. Это делает криптосистему GCM' интересной для дальнейшего изучения.

ЛИТЕРАТУРА

1. Black J. Message authentication codes. PhD Dissertation. Dept. of Comp. Sciences, US Davis, 2000. 126p. http://www.cs.colorado.edu/~jrblack/

2. Stinson D. Universal hash families and the leftover hash lemma, and applications to cryptography and computing //J. Combin. Math. Combin. Comput. 2001. V. 42. No. 3. 29 p.

3. Bellare M. and Namprempre C. Authenticated encryption: relations among notions and analysis of the composition paradigm // Asiacrypt 2000. LNCS. 2000. V. 1976. P. 541-545.

4. CAESAR: competition for authenticated encryption: security, applicability, and robustness. 2012. http://competitions.cr.yp.to/caesar.html

5. Chakraborty D. and Sarkar P. On modes of operations of a block cipher for authentication and authenticated encryption. Cryptology ePrint Archive: report 627/14. 2014. 51 p.

6. Rogaway P. Authenticated-encryption with associated-data. ACM CCS, ACM Press, 2002. 10 p.

7. Svenda P. Basic Comparison of Modes for Authenticated-Encryption (IAPM, XCBC, OCB, CCM, EAX, CWC, GCM, PCFB, CS). 2005. 16p. https://www.fi.muni.cz/~xsvenda/ docs/AE_comparison_ipics04.pdf

8. McGrew D. A. and Viega J. The security and performance of Galois/Counter mode of operation // LNCS. 2004. V.3348. P. 343-355.

9. Bellare M. Practice-oriented provable-security // LNCS. 2003. V. 1561. P. 1-15.

10. Shrimpton T. A characterization of authenticated-encryption as a form of chosen-ciphertext security. Cryptology ePrint Archive: 2004/272. 2004. 7 p.

11. Bellare M., Kilian J., and Rogaway P. The security of the cipher block chaining // LNCS. 1994. V. 839. P. 341-358.

12. Iwata T., Ohashi K., and Minematsu K. Breaking and repairing GCM security proofs // Crypto 2012. LNCS. 2012. V.7417. P. 31-49.

13. Ferguson N. Authentication weaknesses in GCM. Public Comments to NIST. http://csrc. nist.gov/CryptoToolKit/modes/comments, May 2005.

REFERENCES

1. Black J. Message authentication codes. PhD Dissertation. Dept. of Comp. Sciences, US Davis, 2000. 126p. http://www.cs.colorado.edu/~jrblack/

2. Stinson D. Universal hash families and the leftover hash lemma, and applications to cryptography and computing. J. Combin. Math. Combin. Comput., 2001, vol.42, no. 3. 29 p.

3. Bellare M. and Namprempre C. Authenticated encryption: relations among notions and analysis of the composition paradigm. Asiacrypt 2000, LNCS, 2000, vol. 1976, pp. 541-545.

4. CAESAR: competition for authenticated encryption: security, applicability, and robustness. 2012. http://competitions.cr.yp.to/caesar.html

5. Chakraborty D. and Sarkar P. On modes of operations of a block cipher for authentication and authenticated encryption. Cryptology ePrint Archive: report 627/14. 2014. 51 p.

6. Rogaway P. Authenticated-encryption with associated-data. ACM CCS, ACM Press, 2002. 10 p.

7. Svenda P. Basic Comparison of Modes for Authenticated-Encryption (IAPM, XCBC, OCB, CCM, EAX, CWC, GCM, PCFB, CS). 2005. 16p. https://www.fi.muni.cz/~xsvenda/ docs/AE_comparison_ipics04.pdf

8. McGrew D. A. and Viega J. The security and performance of Galois/Counter mode of operation. LNCS, 2004, vol.3348, pp. 343-355.

9. Bellare M. Practice-oriented provable-security. LNCS, 2003, vol. 1561, pp. 1-15.

10. Shrimpton T. A characterization of authenticated-encryption as a form of chosen-ciphertext security. Cryptology ePrint Archive: 2004/272. 2004. 7 p.

11. Bellare M., Kilian J., and Rogaway P. The security of the cipher block chaining. LNCS, 1994, vol. 839, pp. 341-358.

12. Iwata T., Ohashi K., and Minematsu K. Breaking and repairing GCM security proofs. Crypto 2012, LNCS, 2012, vol.7417, pp. 31-49.

13. Ferguson N. Authentication weaknesses in GCM. Public Comments to NIST. http://csrc. nist.gov/CryptoToolKit/modes/comments, May 2005.