Найти тему
2+2pda

Защищаем данные от тайного правительства и прочих

Ты, наверное, уже видел множество туториалов по использованию VeraCrypt. К сожалению, подавляющее их большинство нацелено на обычных пользователей. Как выразился один специалист, существует два вида шифрования: то, которое защитит твои файлы от любопытной сестры и то, которое защитит их от наглого правительства.

В этом туториале речь будет идти о втором случае: допустим, тебе нужно максимально скрытно передать информацию. Не буду распинаться о принципах работы криптографических алгоритмов, потому как тема сложная, матана много; вся информация максимально практическая. Все ссылки на скачивание будут в конце! В этой статье я расскажу о том, как создать максимально устойчивый ко взлому контейнер.

Почему VeraCrypt без правильного подхода достаточно быстро взламывается полицией? Всё просто: программы для форензики, как правило, настроены на взлом контейнеров с параметрами по умолчанию. Причем длина пароля, конечно, имеет значение, но в распоряжении спецслужб имеются, во-первых, время, а во-вторых, огромные вычислительные ресурсы: даже какой-нибудь Hashcat, который ты можешь найти в открытом доступе, поддерживает GPU-ускоренные вычисления. Представь себе, что будет, если натравить на тебя что-то помощнее! Делаем вывод: настройки по умолчанию в нашем параноидальном сценарии использовать ну никак нельзя. Переходим к действиям.

Итак, сначала создаём контейнер. Он может быть скрытый или стандартный, решай сам. Думаю, ты уже наслышан о преимуществах и особенностях скрытых контейнеров.

После этого VC спросит нас об алгоритме шифрования. Здесь нужное небольшое пояснение.

VeraCrypt предлагает на выбор шифрование одним алгоритмом и варианты каскадного (один ключ шифруется другим, и при вводе правильного пароля и указания правильной схемы идет расшифровка сначала одного, затем другого, и только потом VC получает доступ к ключу, которым шифруется непосредственно наш контейнер). По умолчанию стоит надежный алгоритм AES-256... Он нас не устраивает по одной причине: он, собственно, выставлен по умолчанию. Атака на контейнер, зашифрованный AES-256, проходит более чем в 100 раз быстрее, чем атака на контейнер с тем же паролем, но использующий нестандартную схему шифрования. Поэтому выбираем двойное или тройное каскадное шифрование(если потеря скорости чтения с/записи на контейнер(а) в 2 раза не смущает, лучше тройное). Выбор алгоритмов оставлю за тобой, но есть один нюанс: "Кузнечик" не раз светился в статьях, где рассматривалась неслучайность его таблицы перестановок(читай, наличие закладок от ФСБ), и в конце концов его взломали. Так что для максимальной безопасности он не подходит. А вот какой-нибудь AES(Twofish(Serpent)) — вполне.

После выбора алгоритма шифрования стоит обратить внимание на алгоритм хеширования. Если на тебя вышли недоброжелатели с тремя буквами на модном бронежилете, они могут попробовать стащить ключ с оперативной памяти. Если ты не настроил себе "красную кнопку", то тебя ждет печаль-беда. Но дополнительно усложнить жизнь недоброжелателям и защититься от каких-нибудь троянов ты можешь, выбрав хэш-функцию Whirlpool. Она не дефолтная, хэширование выполняется помедленнее, но и шанс того, что какой-нибудь троян стащит у тебя ключ, в этом случае пониже. Однако я бы советовал не подхватывать трояны, так как такая мера неабсолютна, и может только замедлить поиск ключа в 6-8 раз.

Далее выбираем пароль — чем длиннее и рандомнее, тем лучше. Но в случае, когда у тебя память не Intel Optane объемом 1 ТБ, ты, скорее всего, не сможешь запомнить длинный ключ шифрования с высокой энтропией, а записи, сам понимаешь, могут выдать. Поэтому лучше всего использовать парольные фразы (например, this was the last moment we saw the sky), а между словами ставить спецсимволы; можешь, конечно, буквы позаменять а-ля 1337, тут все упирается в фантазию. И обязательно поставь галочку "Use PIM"!

PIM — это константа в формуле количества циклов, необходимых для того, чтобы твоим паролем расшифровать ключ контейнера (которым VC уже будет шифровать/расшифровывать файлы). Формула выглядит так: N = 15000 + (PIM * 1000). По умолчанию ключ расшифровывается 500000 итерациями, то есть PIM = 485.
Нам нужно поставить значение, большее 485. Учитывай, что чем больше значение, тем дольше будет длиться расшифровка ключа при монтировании, которую VC выполняет в 1 поток. Поэтому здесь стоит придержать внутреннего фанатика и поставить что-то в районе 500-2000. Любой множитель PIM больше 485 невероятно усложняет атаку, даже если твой пароль — 8841.
Запомни свой PIM! Потеряешь его — не сможешь расшифровать контейнер (хотя в теории сможешь, но это будет очень сложно и затратно по времени).

Жмем "Next" и выбираем тип файловой системы. Тут все на вкус и цвет. Отмечу только, что на FAT нельзя создавать файлы больше или равные 4 ГБ (1 ГБ = 1024 МБ). Так что коллекцию трехчасовых криповых роликов лучше заливать на ExFAT или Ext4.
Далее водим от балды мышкой; чем рандомнее, тем лучше: можешь замочек пообводить, порисовать знак сатанистов...

На этом создание окончено. Всё несложно, но расшифровать такой контейнер — задача не из простых, даже при наличии огромной вычислительной мощности.

Рекомендую прочитать:
Recuva: восстановит невосстанавливаемое
Программы для реверс-инженеринга Android
Как могут взломать ваш WiFi

Скачать VC с оффициального сайта