Рейтинг:0

Использование AES-CBC в TLS1.2

флаг us

Является ли AES-CBC все еще уязвимым в TLS1.2 или эта уязвимость работает только для более ранних версий TLS? Если нет, то почему он был удален в TLS 1.3?

kelalaka avatar
флаг in
Отвечает ли это на ваш вопрос? [Почему AES CBC был удален в TLS 1.3?] (https://crypto.stackexchange.com/questions/52566/why-was-aes-cbc-removed-in-tls-1-3)
Maarten Bodewes avatar
флаг in
Вкратце: это небезопасно, если вы используете любую реализацию AES-CBC по умолчанию, что достаточно плохо, чтобы исключить ее.
флаг us
@MaartenBodewes где-то указаны реализации не по умолчанию? Какая часть реализации по умолчанию будет уязвима?
Maarten Bodewes avatar
флаг in
Те, которые сообщают об исключениях заполнения PKCS#7. TLS использует MAC-затем-шифрование, поэтому он уязвим для атак оракула.
флаг us
@MaartenBodewes, так что в целом TLS 1.2 по-прежнему позволяет использовать небезопасную реализацию AES-CBC по умолчанию?
Maarten Bodewes avatar
флаг in
$ $ Да, верно.
dave_thompson_085 avatar
флаг cn
(@MaartenBodewes) для оракула заполнения «lucky13» существует ВАРИАНТ для шифрования, затем MAC, rfc7366 в 2014 году, но я не знаю ни одной реализации, которая добавляла бы EtM без добавления 1.3, что, конечно, обычно предпочтительнее. . _Другая_ уязвимость CBC в версии 1.0 и SSL3, экспонированная-IV, атакованная BEAST (в результате чего люди на некоторое время перешли на!! RC4), была исправлена ​​в версии 1.1 (и 1.2).
Maarten Bodewes avatar
флаг in
@ dave_thompson_085 Я упоминаю общую атаку на CBC с дополнением в этом протоколе. Атаки, зависящие от времени, полезны только тогда, когда оракул заполнения недоступен напрямую из-за условий ошибки и тому подобного. И да, я не могу припомнить, чтобы где-нибудь видел EtM...
Gilles 'SO- stop being evil' avatar
флаг cn
@dave_thompson_085 OpenSSL начал добавлять поддержку шифрования, а затем MAC [в 2013 году] (https://github.com/openssl/openssl/commit/5e3ff62c345c976cd1ffbcc5e6042f55264977f5), GnuTLS [в 2014 году] (https://gitlab.com/gnutls /gnutls/-/tree/e93cef18471962b001dac0f792cb569f1a4cde58), Mbed TLS [в 2014 году] (https://github.com/ARMmbed/mbedtls/commit/699cafaea27c72ea68aa85bd8a4e18afb879e272). Он не поддерживается повсеместно, но намного старше, чем TLS 1.3. Однако он более поздний, чем TLS 1.2, который был первой версией, имеющей хорошую альтернативу CBC (GCM).
Рейтинг:2
флаг cn

Я могу вспомнить только одну слабость AES-CBC в TLS 1.1 и более поздних версиях: Счастливая Тринадцатая атака. Это атака на плохо спроектированный способ заполнения сообщений, что делает его особенно уязвимы к атака оракула из-за использования MAC-затем шифрование (со схемой заполнения, которая делает атаку довольно легкой).

Первоначальная атака основывалась на получении decryption_failed предупреждение, когда заполнение было неправильным, что было исправлено в TLS 1.1 продолжая со случайным ключом сеанса при ошибке заполнения (и реализации TLS 1.0 также применяли эту контрмеру). Однако наивные реализации TLS 1.2 по-прежнему уязвимы для этой атаки из-за времени: злоумышленнику нужно знать, сколько байтов заполнения является правильным, и время, необходимое для обработки сообщения, приводит к утечке этой информации, если разработчик не был очень осторожным. .

Современные версии основных реализаций TLS защищают от Lucky Thirteen, поэтому, как правило, вы можете безопасно использовать наборы шифров CBC. Однако эта контрмера снижает производительность: реализация в основном должна обрабатывать все возможных длин отступов, которых может быть до 256, а затем объединить результаты. Имейте в виду, что старые реализации или реализации, не предназначенные для обеспечения высокого уровня безопасности, могут быть уязвимы.

Некоторые реализации TLS (по крайней мере, OpenSSL, GnuTLS и Mbed TLS) поддерживают расширение encrypt-then-MAC что полностью защищает от этой уязвимости.

В любом случае, единственная причина использовать Наборы шифров CBC предназначены для взаимодействия со старыми системами, которые не поддерживают наборы шифров AEAD (с использованием GCM, CCM или Chacha-Poly). Наборы шифров AEAD быстрее и менее подвержены сбоям в безопасности. Как правило, наборы шифров CBC до сих пор существуют ради систем, которые имеют криптографический механизм, который практически невозможно обновить (например, потому что он был сертифицирован, и никто не хочет платить за сертификацию реализации GCM или CCM). Если причиной отказа от GCM и Chacha-poly является наличие ускорения AES, CCM воспользуется этим преимуществом и, как правило, будет быстрее, чем наборы шифров CBC (которые требуют вычисления HMAC).

Наборы шифров CBC были удалены в TLS 1.3 потому что их сложно правильно реализовать (и невозможно реализовать одновременно с высокой производительностью и высокой безопасностью), и единственной причиной их сохранения была совместимость со старыми системами. С более новой версией протокола не было никаких существенных причин для их сохранения. И поскольку TLS 1.3 стремился исключить все криптографические механизмы, которые трудно реализовать безопасным образом, комплекты шифров CBC определенно должны были уйти.

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

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