Рейтинг:1

Уязвим ли AES GCM без GMAC к атаке с известным открытым текстом?

флаг in

Уязвим ли AES GCM без GMAC к атакам с переворотом битов? Предположим, что открытый текст по какой-то причине известен (например, его можно угадать). На мой взгляд, я могу перевернуть биты в зашифрованных блоках и таким образом сгенерировать открытый текст, который перевернут в той же позиции.Таким образом, было бы легко изменить 0x01 на 0x00 в открытом тексте, даже если я не знаю ключ или вектор инициализации.

Я что-то просмотрел? введите описание изображения здесь

Martin Thompson avatar
флаг za
Вы имеете в виду «Давайте предположим, что * открытый текст * известен»?
Marc Ilunga avatar
флаг tr
HMAC обеспечивает целостность, без него у получателя нет возможности проверить, не был ли зашифрованный текст подделан. Поэтому применяется ряд атак и, в частности, простые битфлипы.
MichaelW avatar
флаг in
Извините, я имею в виду «Давайте предположим, что открытый текст известен»
MichaelW avatar
флаг in
Я говорю о GMAC, а не о HMAC.
Martin Thompson avatar
флаг za
Насколько я понимаю, режим GCM * определен * для включения кода аутентификации - из спецификации «Две функции, входящие в состав GCM, называются аутентифицированным шифрованием и аутентифицированным дешифрованием» ... поэтому без GMAC он потенциально уязвим для всех виды атак. Но ты не должен этого делать :)
MichaelW avatar
флаг in
Я работаю над реальным проектом.Там можно выбрать использование только шифрования (GCM) или шифрования + аутентификации (GCM/GMAC). Было обсуждение использования GCM без GMAC, но я думаю, что по вышеуказанным причинам это довольно опасно.
Marc Ilunga avatar
флаг tr
Кажется, моя автозамена предпочитает HMAC GMAC. В любом случае, утверждение должно оставаться в силе. Дополнением может быть то, что без GMAC мы отступаем от CTR.
poncho avatar
флаг my
Если они обсуждают «давайте сделаем GCM без передачи или проверки тега», они фактически говорят «давайте использовать неработающую версию GCM». Если они не могут/не могут использовать полосу пропускания для отправки тега GCM, им вообще не следует использовать GCM.
Рейтинг:2
флаг in

Как аутентифицированное шифрование со связанными данными, AES-GCM внутренне использует режим CTR, а GCM добавляет аутентификацию и целостность. Без GCM можно иметь только безопасность Ind-CPA.

CTR в AES-GCM начинается с приращения IV ($inc_{32}(J_0)$ в формате NIST, и если размер IV не 96-битный, IV обрабатывается). Начальный $J_0$ используется при расчете тега аутентификации.

В остальном обычный режим CTR. Если кто-то знает сообщение, он может изменить сообщение на любое сообщение, которое он хочет. Просто x-or (атака с переворотом битов) нужных битов.

введите описание изображения здесь

Рассмотрим шифрование. Никто не контролирует выходной поток. С другой стороны, если изменяется зашифрованный текст, изменяется только открытый текст. Или см. в уравнении;

$$C_i = O_i \oplus P_i$$ Выходной поток $O_i$ фиксируется блочным шифрованием, поэтому изменение $C_i$ изменяет $P_i$.

Однако это не атака по известному открытому тексту! При атаке по известному открытому тексту человек имеет пары известный открытый текст и пытается определить ключ. Режим CTR защищен от атак KPA, и на самом деле это меньшая атака, чем Ind-CPA.

MichaelW avatar
флаг in
Ах... и что за атака может быть переворотом битов, который изменяет известный открытый текст, переворачивая биты в зашифрованном тексте? Или это не атака, потому что банально?
kelalaka avatar
флаг in
В общих чертах, это активная атака, которая изменяет зашифрованный текст. В частности, это атака с переворотом битов, даже [в режиме CBC есть атака с переворотом битов] (https://crypto.stackexchange.com/a/66086/18298)
MichaelW avatar
флаг in
Но в любом случае, с практической точки зрения я могу заявить, что GCM без GMAC небезопасен, когда можно угадать простой текст? Правильно?
kelalaka avatar
флаг in
Помните, что основной целью злоумышленников при шифровании является доступ к сообщению, что не означает, что ключ был получен методом грубой силы или другими способами. В общем, раскрывается с помощью ключа. В вашем случае, как только вы раскрываете сообщение, теперь у вас есть пара известный открытый текст для атаки, по крайней мере, с помощью KPA. Помните о безопасном режиме CTR Ind-CPA.
kelalaka avatar
флаг in
Угадывание сообщения облегчает атаку в том случае, если IV-переиспользовать под одним и тем же ключом. Это покажет другое сообщение, а не ключ.
MichaelW avatar
флаг in
Допустим, есть команда для передачи на электростанцию, которая может быть «Установить статус = 0» и «Установить статус = 1». Если Мэллори в середине может догадаться, что первая команда передана, он может, просто перевернув бит, изменить 0 на 1, не зная ключа и не используя IV. Если «1» означает, например, «выключить электростанцию», Мэллори легко может причинить большой вред. Однако, когда команда дополнительно защищена тегом аутентификации и каждый IV используется только один раз, такой сценарий невозможен. Это простая версия моей реальной проблемы. Как вы думаете, мои опасения реальны?
kelalaka avatar
флаг in
[Игры, в которые мы играли в Ind-CPA, Ind-CCAx] (https://crypto.stackexchange.com/q/26689/18298), мы говорим об одном бите с несколькими попытками противника. Мы ожидаем, что преимущество противника составит $1/2+\epsilon$, где $\epsilon$ — пренебрежимо малая величина. Так что шансы на успех у противника ничтожно малы.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.