Предотвращение атаки "отступающего оракула", если данные передаются в потоковом режиме или слишком велики для HMAC?

Я знаю, что лучшее решение против атаки оракула - это обернуть и добавить HMAC к полному зашифрованному сообщению. Но какие еще есть решения? Что если мои данные настолько велики, что мне нужно их передать? Я могу проверить HMAC в самом конце, но я не могу позволить себе загрузить весь файл дважды, сначала проверить HMAC, а затем передать и расшифровать его для пользователя?

Есть ли разные способы?

Может ли злоумышленник также выполнять атаки оракула, если я использую AES_CBC(zlib(data))? zlib будет выдавать ошибки, если сжатые данные будут в конечном итоге искажены. Может ли злоумышленник использовать эту ошибку zlib для получения одного бита информации?

1 ответ

Решение

Предложенное исправление для атак оракула дополнения - это Encrypt-Then-MAC. Это означает, что вы можете разбить зашифрованный текст на блоки удобного размера (скажем, 4096 байт) и MAC каждый по отдельности.

Другие вопросы по тегам