Оракул сжатия
Если данные сжимают перед шифрованием, длина шифртекста показывает атакующему, похожа ли его догадка на секрет, лежащий рядом.
Шифрование скрывает содержимое, но не длину, а сжатие делает длину функцией содержимого. Если атакующий может подмешать текст, который сжимается вместе с секретом — cookie, CSRF-токеном, — результат слегка уменьшается, когда догадка повторяет часть секрета. Это атака с выбранным открытым текстом, где измерительный прибор — линейка.
Принцип описал Джон Келси в 2002 году, после чего он лежал без дела, пока кому-то не стало не всё равно. CRIME в 2012-м украл сессионные cookie через сжатие TLS; BREACH в 2013-м сделал то же через сжатие HTTP-ответов. Сжатие в TLS отключили везде. От HTTP-сжатия нельзя отказаться, не замедлив веб, поэтому там токены маскируют свежей случайностью в каждом ответе.