Атака Bleichenbacher
Что такое Атака Bleichenbacher?
Атака BleichenbacherАдаптивная атака с выбранным шифротекстом (Bleichenbacher, 1998), восстанавливающая открытый текст RSA, если сервер раскрывает валидность PKCS#1 v1.5.
Даниэль Bleichenbacher представил эту атаку на CRYPTO 1998 против SSL-рукопожатия с шифрованием RSA-PKCS#1 v1.5. Сервер невольно действует как оракул паддинга: любой различимый ответ (код alert TLS, сброс соединения или тайминг) сообщает атакующему, расшифровывается ли подделанный шифротекст в значение, начинающееся с байтов 0x00 0x02. Поскольку RSA мультипликативно гомоморфен, атакующий умножает захваченный шифротекст на выбранные значения s, отправляет результат и использует каждый ответ «паддинг валиден», чтобы сузить множество возможных открытых текстов. Примерно после миллиона запросов интервал схлопывается до единственного значения, и зашифрованный RSA premaster-секрет восстанавливается, при этом закрытый ключ ни разу не затрагивается, что позволяет атакующему расшифровать сессию или подделать подпись RSA.
Уязвимость трудно устранить, потому что снятие паддинга PKCS#1 v1.5 сопротивляется реализации с постоянным временем. Она вернулась в виде DROWN (CVE-2016-0800), использовавшей оракул SSLv2 для взлома современных TLS-сессий, и в виде ROBOT (Return Of Bleichenbacher's Oracle Threat, 2017): исследователи Böck, Somorovsky и Young обнаружили, что F5 (CVE-2017-6168), Citrix, Cisco и другие всё ещё уязвимы, и продемонстрировали это против Facebook и PayPal. Меры защиты: одинаковая обработка ошибок для корректного и некорректного паддинга, предпочтение RSA-OAEP, отключение наборов шифров с обменом ключами RSA и переход на TLS 1.3, который полностью убирает RSA-шифрование из рукопожатия.
flowchart TD
A[Attacker captures RSA ciphertext c] --> B["Pick multiplier s, send c·s^e mod n"]
B --> C{Server padding check}
C -->|"Starts 0x00 0x02 → valid"| D[Narrow plaintext interval]
C -->|"Invalid → distinct response"| E[Discard this s]
D --> F{Interval = 1 value?}
E --> B
F -->|No| B
F -->|Yes| G[Premaster secret recovered]● Примеры
- 01
Восстановление SSL premaster на сервере 1990-х, выдававшем разные alerts при ошибке паддинга.
- 02
DROWN и ROBOT повторно используют этот оракул против современных TLS-стеков.
● Частые вопросы
Что такое Атака Bleichenbacher?
Адаптивная атака с выбранным шифротекстом (Bleichenbacher, 1998), восстанавливающая открытый текст RSA, если сервер раскрывает валидность PKCS#1 v1.5. Относится к категории Атаки и угрозы в кибербезопасности.
Что означает Атака Bleichenbacher?
Адаптивная атака с выбранным шифротекстом (Bleichenbacher, 1998), восстанавливающая открытый текст RSA, если сервер раскрывает валидность PKCS#1 v1.5.
Как защититься от Атака Bleichenbacher?
Защита от Атака Bleichenbacher обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия Атака Bleichenbacher?
Распространённые альтернативные названия: Million Message Attack.