В криптографии атака с использованием водяных знаков представляет собой атаку на методы шифрования диска , при которой злоумышленник может обнаружить наличие специально созданного фрагмента данных, не зная ключа шифрования .
Наборы для шифрования дисков обычно работают с данными в секторах размером 512 байт , которые индивидуально шифруются и дешифруются. Эти 512-байтовые секторы сами по себе могут использовать любой режим работы блочного шифра (обычно CBC ), но поскольку произвольные сектора в середине диска должны быть доступны индивидуально, они не могут зависеть от содержимого своих предыдущих/последующих секторов. Таким образом, с CBC каждый сектор должен иметь свой собственный вектор инициализации (IV). Если эти IV предсказуемы злоумышленником (и файловая система надежно начинает содержимое файла с того же смещения относительно начала каждого сектора, и файлы, вероятно, будут в значительной степени смежными), то существует атака с выбранным открытым текстом , которая может раскрыть существование зашифрованных данных.
Проблема аналогична проблеме использования блочных шифров в режиме электронной кодовой книги (ECB) , но вместо целых блоков идентичны только первые блоки в разных секторах. Проблему можно относительно легко устранить, сделав IV непредсказуемыми, например, с помощью ESSIV . [1]
В качестве альтернативы можно использовать режимы работы, специально разработанные для шифрования дисков (см. теорию шифрования дисков ). Эта уязвимость затронула многие программы шифрования дисков , включая старые версии BestCrypt [2] , а также ныне устаревший cryptoloop . [3]
Для проведения атаки создается специально созданный файл открытого текста для шифрования в атакуемой системе, чтобы " NOP-out " IV [4] таким образом, чтобы первый блок шифротекста в двух или более секторах был идентичен. Для этого требуется, чтобы входные данные для шифра (открытый текст, , вектор инициализации XOR , ) для каждого блока были одинаковыми; т. е . . Таким образом, мы должны выбрать открытые тексты, такие, чтобы .
Сгенерированные таким образом шаблоны блоков зашифрованного текста выдают существование файла, при этом нет необходимости в предварительной расшифровке диска.