XTS-AES шифрует диск, но не ловит подмену: где заканчивается защита

XTS-AES защищает конфиденциальность данных на накопителе, но не обеспечивает их криптографическую целостность. Без ключа содержимое зашифрованных блоков остаётся скрытым, однако сам режим не проверяет аутентификационную метку и не сообщает, что шифротекст был заменён.
Это не делает дисковое шифрование бесполезным: оно решает задачу защиты данных от чтения, но не создаёт доверия к содержимому носителя. Если противник может не только скопировать диск, но и изменить его либо вернуть прежнее состояние, необходимы отдельные механизмы контроля подлинности и свежести.
Что именно гарантирует XTS-AES
XTS-AES предназначен для данных на блочных накопителях. Он сохраняет длину данных и позволяет обрабатывать отдельные логические единицы без добавления аутентификационной метки к каждой из них. Параметр, зависящий от положения данных, меняет преобразование блока, поэтому одинаковое открытое содержимое в разных позициях не обязано давать одинаковый шифротекст.
Описание одобренных режимов NIST относит XTS-AES к режимам конфиденциальности для блочных накопителей без аутентификации: сохранение длины было одной из причин такого устройства. NIST одновременно отмечает некоторую защиту от злонамеренных манипуляций, но это ограниченное свойство нельзя приравнивать к проверке целостности.
Граница проходит не по стойкости самого AES, а по конструкции режима. XTS-AES может скрывать содержимое блока и затруднять осмысленное изменение открытого текста, но не доказывает, что прочитанные данные записала доверенная сторона и что после записи они не менялись.
Три сценария: кража, изменение и повтор блока

- Кража носителя. Противник получает накопитель и пытается прочитать его без ключа. Здесь XTS-AES выполняет основную задачу: скрывает содержимое защищённых блоков. Эта гарантия не распространяется на данные вне зашифрованной области, доступный вместе с устройством ключ или уже разблокированную систему.
- Изменение шифротекста. Противник перезаписывает часть накопителя, не зная ключа. После расшифрования данные изменятся, но встроенной криптографической проверки подмены не произойдёт. Файловая система или приложение иногда заметят повреждённую структуру, однако такой сбой зависит от формата данных и не заменяет аутентификацию.
- Повтор старого блока. Противник сохраняет прежний шифротекст, а затем возвращает его в ту же логическую позицию. При неизменных ключах и контексте расшифрования система снова получит прежние данные. У XTS-AES нет доверенного счётчика версий, поэтому он самостоятельно не отличает актуальный блок от корректно зашифрованного старого.
Перенос сохранённого блока в другую позицию отличается от его возврата на прежнее место: позиционно зависимое преобразование мешает простой перестановке воспроизвести тот же открытый текст. Но положение блока не сообщает его возраст, поэтому снимок прежнего состояния остаётся основой для атаки отката.
Почему стойкость к манипуляциям не равна целостности
Для аутентифицированного шифрования нужен проверяемый признак, связанный с шифротекстом и его контекстом, — обычно метка, вычисленная с секретным ключом. Несовпадение должно приводить к явному отказу до передачи открытых данных приложению. В формате XTS-AES такой метки нет, поэтому расшифрование само по себе не отвечает на вопрос о подлинности блока.
В комментариях Ericsson к пересмотру SP 800-38E отдельно названы отсутствие аутентификации и атаки повторного воспроизведения блоков; для будущих систем компания предлагает аутентифицированное шифрование с защитой от повторов. Это позиция внешнего комментатора, которую NIST опубликовал в составе обсуждения, а не действующее предписание института.
Обычная контрольная сумма решает другую задачу. Она помогает обнаруживать случайное повреждение, но активный противник, способный заменить и данные, и незащищённую сумму, может пересчитать её. Для проверки злонамеренной подмены нужен механизм с секретным ключом либо цифровая подпись; для обнаружения отката дополнительно требуется доверенная информация о версии.
Какой дополнительный уровень нужен хранилищу

Выбор определяется возможностями противника и тем, что именно система должна отвергать при ошибке:
- Риск — только чтение потерянного носителя. XTS-AES соответствует задаче конфиденциальности, если ключ защищён отдельно. Аутентификация данных не заменяет защиту ключа, загрузочной цепочки и работающей разблокированной системы.
- Носитель могут изменить и вернуть. Нужна криптографическая проверка целостности на выбранном уровне: сектора, файла, объекта или записи приложения. От этой границы зависит, какой объём данных придётся отклонить при неудачной проверке.
- Нужно обнаруживать откат. Одной метки недостаточно: старая пара из шифротекста и корректной метки тоже остаётся подлинной. Версия, счётчик или корень проверяемой структуры должны сверяться с актуальным состоянием, которое противник не может откатить вместе с диском.
- Допустимы метаданные на сектор. Можно применять аутентифицированное дисковое шифрование с отдельными метками, заранее учитывая дополнительное место, атомарное обновление данных и меток, восстановление после сбоя и влияние на производительность.
Документация Linux по dm-integrity описывает посекторные метки и совместную работу с dm-crypt: при изменении зашифрованного устройства такая конфигурация возвращает ошибку ввода-вывода вместо изменённых расшифрованных данных. Для согласованной записи сектора и его метки dm-integrity может использовать журнал, что показывает практическую цену проверки целостности — дополнительные сведения требуется хранить и обновлять атомарно.
Где провести границу доверия
Перед выбором схемы нужно разделить чтение, запись и откат. Затем определить единицу проверки: сектор удобен для блочного устройства, а файл, объект или запись приложения могут лучше соответствовать тому, как программа обрабатывает отказ. Чем мельче единица, тем точнее локализуется ошибка, но тем больше метаданных и сложнее согласованное обновление.
Целостность, подлинность и свежесть также нельзя считать синонимами. Ключевая метка позволяет выявить несанкционированное изменение, но не обязательно отличает новую версию от старой корректной. Защита от отката появляется только тогда, когда система располагает доверенным актуальным состоянием вне контроля атакующего.
Поэтому XTS-AES следует оценивать как специализированный режим конфиденциальности с сохранением длины, а не как законченную систему доверия к диску. Он остаётся полезен против чтения данных без ключа; активная подмена и возврат прежнего состояния требуют отдельно спроектированных проверок.
Читайте также:
Подпишитесь на рассылку
Получайте свежие новости Web3, AI и криптовалют прямо на вашу почту.