Распределение износа блоков (Wear-Leveling)
Некоторые устройства хранения (например, твердотельные SSD-накопители, включая флеш-накопители USB) и некоторые
файловые системы используют так называемые механизмы распределения износа, чтобы продлить срок службы устройства
хранения или носителя. Суть работы этих механизмов в том, что даже если какое-либо приложение многократно записывает
данные в один и тот же логический сектор, в действительности данные распределяются равномерно по всему носителю
(то есть логические сектора переназначаются на разные физические сектора). Отсюда следует, что неприятелю могут
оказаться доступны несколько "версий" одного сектора. А это может повлечь за собой различные проблемы с безопасностью.
Например, когда вы изменяете у тома пароль и/или ключевые файлы, то – в нормальных условиях – заголовок тома
перезаписывается новым, заново зашифрованным заголовком. Если же том находится на устройстве, в котором применяется
wear-leveling, VeraCrypt не может гарантировать, что старый заголовок окажется действительно перезаписан.
Если неприятель обнаружит в устройстве старый заголовок тома (который должен был быть перезаписан), он сможет
воспользоваться им для монтирования тома, указав старый, рассекреченный пароль (и/или скомпрометированные ключевые
файлы, служившие для монтирования этого тома до того, как был заново зашифрован заголовок тома). Из соображений
безопасности мы не рекомендуем создавать/хранить
тома VeraCrypt на устройствах (или в файловых системах), в которых применяется механизм wear-leveling
(и не применять VeraCrypt для шифрования любых разделов в таких устройствах или файловых системах).
Если вы решили не следовать этой рекомендации и намереваетесь использовать шифрование "на месте" на устройстве,
использующем механизмы wear-leveling, то перед тем как полностью зашифровать раздел/устройство, убедитесь, что
в нём не содержится никаких секретных данных (на таком устройстве VeraCrypt не может надёжно выполнить безопасное
шифрование имеющихся данных "на месте"; тем не менее, после того, как раздел/диск будет полностью зашифрован,
любые записываемые на него новые данные будут надёжно шифроваться "на лету"). При этом нужно соблюдать следующие
меры предосторожности.
Прежде чем запускать VeraCrypt для настройки предзагрузочной аутентификации, отключите файлы подкачки и
перезагрузите операционную систему (после того, как системный раздел/диск будет полностью зашифрован,
файлы подкачки можно будет снова включить). На период между запуском VeraCrypt для настройки предзагрузочной
аутентификации и моментом, когда системный раздел/диск будет полностью зашифрован, необходимо отключить
гибернацию. Учтите, однако, что даже при соблюдении этих мер предосторожности
нельзя гарантировать отсутствие утечек данных и то, что содержащаяся в устройстве
секретная информация будет безопасно зашифрована. Более подробную информацию см. в разделах
Утечки данных,
Файл подкачки,
Файл гибернации и
Файлы дампа памяти.
Если требуется возможность
правдоподобного отрицания наличия шифрования, нельзя использовать VeraCrypt ни для шифрования любой части
устройства (или файловой системы), ни для создания на нём зашифрованных контейнеров, если в этом устройстве
применяется механизм wear-leveling.
Выяснить, используется ли в устройстве механизм wear-leveling, можно в документации на это устройство или
у его поставщика/производителя.