Шифрование или тюрьма, что веберешь ты? VeraCrypt, PIM, ОЗУ.
Сложный пароль в VeraCrypt уже делает перебор паролей непосильной задачкой, но с увеличением вычислительных мощностей и появлением квантовых компьютеров я не уверен, что безусловная защита сохранится и завтра. Поэтому необходимо менять количество итераций. В VeraCrypt при создании нового тома есть галочка "Use PIM".
Количество итераций по умолчанию 485, это значит, что при каждом вводе пароля VeraCrypt выполняет 485 кратных циклов функции вывода ключа, прежде чем вообще приступить к расшифровке заголовка тома, а значение PIM линейно может увеличить это число. Чем больше количество циклов, тем дороже становится каждая попытка проверки пароля и тем бесполезнее становится мощное железо для перебора. При этом, увеличенное количество PIM не влияет на скорость работы вашего тома, но он будет немного дольше монтироваться. На мой взгляд мелочь, учитывая, что ввод пароля занимает две секунды вместо долей секунды, это нормальная и оправданная плата за свежесть ваших портков.
Я уже упоминал, что по умолчанию VeraCrypt использует около 500 000 итераций PBKDF2 (PIM 485) для одного ввода пароля. Эти полмиллиона итераций - не абстрактная цифра и не 500к проверок. Это 500к последовательных криптографических шагов, каждый из которых зависит от результата предыдущего. Их нельзя пропустить и нельзя ускорить железом. Если первая попытка оказалась неверной, то программа не узнаёт об этом сразу. Сначала она выполнит все итерации, чтобы получить возможный мастер ключ, затем попытается расшифровать заголовок тома, проверит криптографию и только после этого поймет, что пароль пустышка. Ошибка на первом символе пароля стоит ровно столько же вычислений, сколько и почти правильный пароль. Для атакующего каждая неудача это боль и повторение цикла.
Теперь посмотрим, как это масштабировать с помощью PIM. При стандартном PIM, количество итераций составляет: 15 000 + (485 × 1000) = 500 000 итераций. Это означает, что одна попытка пароля - полмиллиона последовательных криптографических операций. Если увеличить PIM, например, до 1000, формула становится: 15 000 + (1000 × 1000) = 1 015 000 итераций. Для наглядности: при PIM 1000, одна неверная попытка пароля требует выполнения более одного миллиона последовательных криптографических итераций. Сто ошибок — сотни миллионов вычислений. Тысяча — миллиарды. Миллион неверных попыток превращаются в триллионы операций, которые нельзя пропустить, ускорить или проверить заранее.
В конечном итоге, даже если сложить все доступные вычислительные мощности мира и дать атакующему тысячу лет на перебор, это всё равно не даёт никакой гарантии, что зашифрованный том падет в будущем. Именно поэтому никто не станет ломать криптографию напрямую. Они попытаются достать мастер ключ из оперативки.
К сожалению, VeraCrypt не шифрует оперативную память в привычном понимании. Программа защищает данные на диске, но в момент работы системы ключи и чувствительные данные неизбежно живут в ОЗУ. Да, они могут быть размыты, распределены и неприступны для простых дампов, но в классической модели, без аппаратной поддержки, память остаётся доверенной средой. А доверенная среда - это всегда слабое место при физическом доступе.
Но чтобы мы не огорчались, для нас придумали технологии AMD SME / SVE и Intel TME, которые шифруют содержимое оперативки в моменте, на уровне контроллера памяти. Физически извлечённая ОЗУ в таком случае содержит криптографический мусор, а дамп памяти - набор случайных битов без ключа, который никогда не покидал пределы процессора.
При таком подходе, ваши данные не могут быть украдены. VeraCrypt с высоким PIM делает перебор паролей экономически и физически бессмысленным. Аппаратное шифрование ОЗУ шлет в задницу попытки обойти перебор через память. Атакующему просто не остаётся пространства для атаки. В результате защита перестаёт быть набором разрозненных мер и превращается в структурированную систему. Пароль защищает от угадывания. PIM — от роста вычислительных мощностей и будущих ускорений, а аппаратное шифрование оперативной памяти — от хитрых атак, которые пытаются игнорировать криптографию целиком. Каждый уровень закрывает ровно ту дыру, которую неизбежно оставляет предыдущий.
📝 Инструкция по включению аппаратного шифрования оперативной памяти на примере процессоров AMD с BIOS от ASUS:
2️⃣ Переключаемся в Advanced Mode (F7)
3️⃣ Advanced → AMD CBS → CPU Common Options
6️⃣ Сохраняем и перезагружаемся (F10)
Включенная гибернация на вашем ПК перестает нести практическую ценность для плохиша при зашифрованной ОЗУ. Тем не менее, для спокойствия, я предпочитаю отключать данную функцию, дабы исключить лишнее пространство для атаки.
powercfg /hibernate off
powercfg /a
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
cat /sys/power/state
Больше интересного в канале - https://t.me/alienist_collections
Поднять автору настроение - https://t.me/Alienist_Collections_Donate