Рейтинг:0

CTR HMAC SHA1 и управление ключами GCM

флаг cn

Протокол СРТР по умолчанию использует AES в режиме CTR с HMAC-SHA1. Для моей диссертации я хочу исследовать, будет ли GCM лучшим вариантом. Поэтому я читаю следующее обсуждение.

Там ответ заключался в том, что режим GCM лучше, помимо прочего, потому что GCM просто нужен один ключ для шифрования и аутентификации сообщений, а CTR + SHA1 для этих вещей нужно два.

Но нельзя ли использовать только один ключ для CTR+SHA1? Не мог бы я повторно использовать один и тот же ключ для шифрования в режиме CTR, а затем, возможно, обрезать или расширить тот же ключ, чтобы использовать его с SHA1 для аутентификации сообщения.

Есть ли недостатки безопасности или другие вещи, которые я забыл учесть?

kelalaka avatar
флаг in
Вы можете найти границы подделки GCM [здесь] (https://crypto.stackexchange.com/a/67367/18298), и использование одного и того же ключа в CTR и HMAC не является проблемой, и помните, что AES-GCM использует один ключ, однако ключ для CTR и GHash не одно и то же...
Рейтинг:2
флаг my

Есть ли недостатки безопасности или другие вещи, которые я забыл учесть?

Да, у GCM есть проблемы с безопасностью из-за того, как SRTP хотел бы его использовать.

SRTP спроектирован так, чтобы иметь как можно более низкую нагрузку на полосу пропускания (то есть размер пакета); SRTP иногда используется в беспроводной сети, и размер пакета здесь довольно высок. IIRC, единственная полоса пропускания, которую добавляет SRTP, — это тег целостности (IV, если для режима требуется тот, который никогда не повторяется, может быть функцией позиции в потоке, которая уже включена в незашифрованный раздел пакета); мы хотели бы уменьшить тег, чтобы он был как можно короче (как для снижения стоимости, так и для SRTP, когда кто-то вводит один фиктивный пакет, это не так уж плохо - для использования аудио они могут модифицировать 20 мс из голосовое соединение на не слишком высоком уровне ($<10^{-6}$) вероятность, и это считалось допустимым для этого варианта использования).

Когда мы добираемся до GCM, у нас возникает проблема с короткими тегами. GCM имеет это свойство: если у нас есть зашифрованное сообщение GCM с IV, зашифрованный текст/тег $(IV,С,Т)$ и кто-то находит фиктивное сообщение $(IV, С', Т')$ это принято (примечание: использовался тот же IV, зашифрованный текст и тег были изменены произвольно), то для любого будущего зашифрованного сообщения $(IV", C", T")$, то сообщение $(IV", C" \oplus C \oplus C', T" \oplus T \oplus T')$ также будет принято. То есть, обнаружив единственную подделку, злоумышленник может с этого момента вводить подделки.

И, если у вас короткий тег, то у злоумышленника есть приличные шансы найти принятое поддельное сообщение. $(IV, С', Т')$ просто угадывая различные $Т'$ ценности.

Единичная подделка считалась допустимой; позволяя злоумышленнику генерировать непрерывный поток подделок, в меньшей степени. С GCM мы можем избежать этой проблемы, используя длинный тег (где вероятность его случайного угадывания достаточно мала), однако варианты использования SRTP не любят длинные теги.

HMAC не имеет этого свойства; если злоумышленник обнаружит подделку $(С', Т')$ (У HMAC нет IV), это не помогает ему создавать какие-либо подделки в будущем.

kelalaka avatar
флаг in
После моего ответа ОП пояснил, что они рассматривают SRTP. Я удалил свой ответ (не буду восстанавливать), и вы можете использовать любые подходящие идеи.

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

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