Рейтинг:1

Почему SHA384 используется в наборах шифров TLS для AES_256_GCM вместо SHA256?

флаг es

Наборы шифров TLS используют SHA256 в качестве хэша при использовании AES_128_GCM и CHACHA20_POLY1305, но SHA384 при использовании AES_256_GCM.

Реестр набора шифров TLS не содержит наборов шифров, использующих AES_256_GCM_SHA256 вместо AES_256_GCM_SHA384.

Согласно с RFC 8446, этот хэш «используется как с функцией получения ключа, так и с кодом аутентификации сообщения рукопожатия».

Что может быть мотивом для использования SHA384 вместо SHA256 в качестве HMAC-хэш для HKDF при установке ключа AES_256_GCM?

kelalaka avatar
флаг in
[Для предполагаемого 128-битного квантового сопротивления] (https://crypto.stackexchange.com/a/75241/18298)
knaccc avatar
флаг es
@kelalaka Спасибо, отличная ссылка. Согласны ли вы с тем, что при использовании AES_256_GCM полезно обновить SHA384 для части MAC-адреса рукопожатия, но не будет дополнительной выгоды от обновления до SHA384 для HKDF для получения ключа AES_256_GCM?
kelalaka avatar
флаг in
Разве уже не используется хэш-алгоритм наборов шифров? [rfc8446#section-7.1](https://datatracker.ietf.org/doc/html/rfc8446#section-7.1) `Хэш-функция, используемая Transcript-Hash и HKDF, является шифром набор алгоритмов хеширования.
knaccc avatar
флаг es
@kelalaka Я знаю, что он используется обоими, и вы не можете использовать один хеш для хэша стенограммы и другой хеш для HKDF. Я имею в виду, согласны ли вы с тем, что обновление до SHA384 имеет смысл, чтобы сделать хэш расшифровки более надежным, чтобы повысить его квантовую стойкость одновременно с повышением квантовой стойкости симметричного шифра. Но такое использование SHA384 является полезным обновлением хэша расшифровки, но не очень полезным в качестве обновления части HKDF.
knaccc avatar
флаг es
@kelalaka Проще говоря: я спрашиваю, согласны ли вы с тем, что SHA384 помогает в качестве квантового обновления для предотвращения коллизий для расшифровки MAC-адреса рукопожатия, но не дает никаких преимуществ по сравнению с SHA256 для целей HKDF в общем секрете ECDHE. чтобы получить ключ AES256GCM.
kelalaka avatar
флаг in
Ну, AFAIK TLS 1.3 упростил вещи, вместо того, чтобы использовать два хэша в наборе, используйте один...
knaccc avatar
флаг es
@kelalaka Я не уверен, согласны вы с моим последним комментарием или нет, но спасибо за квантовое понимание. Я одобрю это как ответ, если вы хотите его отправить.
knaccc avatar
флаг es
@kelalaka Ага, отлично, спасибо!
Рейтинг:1
флаг in

Предположим, что кто-то построил Криптографический квантовый компьютер (CQC) который специально может запускать алгоритм Гровера.Алгоритм Гровера асимптотически оптимален, т.е. $\mathcal{O}(\sqrt{n})$-время для $n$ бит безопасности для атаки по предварительному изображению или поиска ключа. То есть иметь 128-битную защиту из 256-битного пространства ключей. Это реклама алгоритма Гровера, да $\mathcal{O}(\log{n})$-space, однако, этого недостаточно.

Чего обычно не хватает, так это $\mathcal{O}(\sqrt{n})$ вызов алгоритма Гровера, считайте, что вы хотите сломать 128-бит, тогда вам нужно запустить алгоритм Гровера $2^{64}$-время. Если мы предположим, что вы можете выполнить один алгоритм Гровера на машине за одну нону секунду, тогда вам нужно $\около 585$ лет, чтобы найти ключ. Это довольно оптимистично в том смысле, что можно подготовить QCQ за одну наносекунду.

Алгоритм Гровера, как классический алгоритм можно распараллелить, тоже. Ну и интересно, для $к$ параллельно Гроверу у нас нет квадратичного увеличения, у нас есть $\sqrt{к}$ ускорить. Это плохо масштабируется.

На этом все про Гровера, теперь еще одна работа от Брассард и др. для хеш-функций для обнаружение столкновения, имеет $\mathcal{O}(\sqrt[3]{2^{256}})$-время и $\приблизительно \mathcal{O}(2^{85})$-пространство. Это все еще асимптотически оптимально, и на этот раз у нас есть 128-битная защита от 384-битной хэш-функции с $2^{128}$-пространственные требования.

С этим мы можем утверждать, что даже 256-битные хэш-функции и даже 128-битные блочные шифры безопасны для CQC. Более реалистичный расчет, сделанный из

Сохраняя детали статьи, давайте придерживаться НИСТ и предположим, что нам нужно $384$-битная хеш-функция против CQC, чтобы иметь 128-битную устойчивость к коллизиям, сопротивление предварительного изображения $192$-кусочек .

Если мы используем 256-битный HKDF, он будет иметь 128-битное сопротивление предварительного изображения CQC. Это означает, что 256-битного хеша будет достаточно.

Начиная с TLS 1.3 упростил почти все;

Хеш-функция, используемая Transcript-Hash и HKDF, представляет собой хеш-алгоритм набора шифров.

Значимое объяснение заключается в том, что SHA-384 выбран из-за 128-битной устойчивости к коллизиям, которая соответствует 128-битной стойкости AES-256. Упрощенно можно сказать, что AES_256_GCM_SHA384 имеет 128-битную защиту от противников Quantum.

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

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