Шифрование: LUKS, VeraCrypt и когда что использовать

konstrukt

МИГАЛКИ КЛУБ
Проверенный продавец
Продавец
Подтвержденный
Регистрация
19.09.18
Сообщения
852
Реакции
41
Продаж
3
Telegram
Всем привет. Хочу разобрать тему шифрования подробно — большинство людей используют какой-то инструмент не понимая что именно он защищает и от какого противника. Это приводит к ложному чувству безопасности которое хуже чем отсутствие защиты вообще.

Что такое шифрование и зачем оно нужно

Шифрование это математическое преобразование данных в нечитаемый вид с помощью ключа. Без ключа данные выглядят как случайный набор байт. С ключом читаются нормально. За этим стоит столетие математики и криптографии.

Важно понять с самого начала — шифрование защищает данные в покое и в движении. Данные в покое это файлы на диске. Данные в движении это трафик между устройствами. Разные инструменты решают разные задачи и путать их опасно.

Симметричное шифрование

Один и тот же ключ используется для шифрования и расшифровки. Быстро и эффективно для больших объёмов данных.

AES — стандарт де-факто. Принят правительством США после открытого конкурса в 2001 году. Используется везде — в LUKS для шифрования дисков, в TLS для веб трафика, в мессенджерах. AES-128 достаточен для большинства задач. AES-256 используется там где нужна защита на десятилетия вперёд в том числе от будущих квантовых компьютеров.

ChaCha20 — современная альтернатива AES. Используется в TLS 1.3, WireGuard, Signal. Быстрее AES на устройствах без аппаратного ускорения. Одинаково надёжна при правильной реализации.

Главная проблема симметричного шифрования — как безопасно передать ключ другой стороне? Эту проблему решает асимметричное шифрование.

Асимметричное шифрование

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

RSA — классический алгоритм основанный на сложности факторизации больших чисел. Используется в PGP, SSL, SSH. Требует больших ключей — минимум 2048 бит, рекомендуется 4096 бит.

Elliptic Curve Cryptography (ECC) — современная альтернатива RSA. Даёт тот же уровень безопасности при значительно меньшем размере ключа. 256-битный ключ ECC эквивалентен 3072-битному ключу RSA. Используется в современных мессенджерах, TLS 1.3, Signal Protocol.

Асимметричное шифрование медленнее симметричного поэтому на практике используется гибридный подход — асимметричное шифрование для обмена ключами, симметричное для шифрования самих данных.

Защита ключей — самое важное

Алгоритм шифрования это математика. Взломать AES-256 брутфорсом невозможно при любом существующем железе. Но сам ключ нужно откуда-то взять — обычно из пароля пользователя.

Здесь появляется функция выведения ключа (KDF). Она берёт твой пароль и превращает его в криптографический ключ так чтобы перебор паролей был максимально дорогостоящим.

PBKDF2 — старый стандарт. Простые итерации хеширования. Хорошо параллелизируется на GPU — уязвим к атакам с видеокартами.

bcrypt — требует больше памяти чем PBKDF2. Лучше защищает от GPU атак.

Argon2id — победитель Password Hashing Competition 2015 года. Требует огромного количества RAM на каждую попытку. Делает атаки через GPU и специализированное железо экономически невыгодными. Это лучший выбор для защиты ключей в 2026 году.

LUKS vs VeraCrypt — подробное сравнение

Это два инструмента которые часто сравнивают но они решают немного разные задачи.

LUKS (Linux Unified Key Setup)

LUKS это стандарт полнодискового шифрования на Linux. Не отдельная программа а спецификация формата зашифрованного раздела поддерживаемая ядром Linux напрямую.

Что делает LUKS хорошим. Интеграция с ядром Linux на уровне dm-crypt означает максимальную производительность — шифрование и расшифровка происходят прозрачно без заметной потери скорости на современном железе с аппаратным AES. До 8 ключевых слотов — можно добавить несколько паролей для разных целей, включая duress пароль который уничтожает данные. LUKS2 поддерживает Argon2id — самую сильную защиту ключа от брутфорса.

Для чего LUKS лучший выбор. Шифрование системного диска на Linux — это единственный правильный инструмент для этой задачи. Шифрование внешних дисков и флешек под Linux. Ситуации где нужна максимальная производительность и интеграция с операционной системой.

Слабая сторона LUKS. Метаданные заголовка видны — сам факт что диск зашифрован через LUKS можно определить без знания пароля. Нет нативной поддержки скрытых томов. Привязан к экосистеме Linux.

VeraCrypt

VeraCrypt это форк TrueCrypt разработанный после того как проект TrueCrypt был закрыт при подозрительных обстоятельствах в 2014 году. Кроссплатформенный — работает на Windows, macOS, Linux.

Что делает VeraCrypt уникальным. Скрытые тома — это главная особенность которой нет у LUKS. Создаёшь зашифрованный контейнер с двумя паролями. Один открывает обычный том с безобидными данными. Второй открывает скрытый том с реально важными данными. Математически доказать существование скрытого тома невозможно без знания второго пароля — это называется plausible deniability. Зашифрованные контейнеры в виде файлов — можно создать зашифрованный файл-контейнер который хранится внутри уже зашифрованного диска, создавая дополнительный слой защиты. Кроссплатформенность — контейнер VeraCrypt можно открыть на Windows, macOS и Linux одним и тем же паролем.

Для чего VeraCrypt лучший выбор. Хранение чувствительных файлов внутри уже зашифрованной системы — двойной слой защиты. Ситуации где нужна plausible deniability — скрытый том защищает при принуждении к выдаче пароля. Кроссплатформенные контейнеры которые нужно открывать на разных операционных системах. Хранение файлов на облачных сервисах — шифруешь контейнер локально и загружаешь зашифрованный файл в облако.

Слабая сторона VeraCrypt. Медленнее LUKS из-за работы в пространстве пользователя а не на уровне ядра. Итерации при вводе пароля занимают несколько секунд — это намеренно для защиты от брутфорса но неудобно.

Как выбрать правильный инструмент

Вопрос не в том какой инструмент лучше — вопрос в том какую угрозу нужно закрыть.

Шифруешь системный диск Linux — только LUKS. Это его родная среда. Максимальная производительность и интеграция.

Хранишь чувствительные файлы внутри зашифрованной системы — VeraCrypt контейнер. Двойной слой. Если кто-то получил доступ к системе — файлы в контейнере всё равно зашифрованы отдельным ключом.

Нужна plausible deniability — только VeraCrypt со скрытым томом. LUKS этого не умеет.

Шифруешь флешку для переноса данных между устройствами включая Windows — VeraCrypt. LUKS флешку не откроешь на Windows без дополнительных инструментов.

Максимальная связка для параноика — LUKS на системном диске плюс VeraCrypt контейнер внутри для особо чувствительных данных. Два независимых слоя шифрования с разными паролями.

Практические рекомендации

Первое — сила пароля важнее выбора алгоритма. AES-256 с паролем "password" взламывается за секунды. AES-128 с паролем из шести случайных слов через Diceware невзламываем за разумное время.

Второе — Argon2id в LUKS2 обязателен. Если установили LUKS со стандартными настройками — параметры KDF могут быть слабее чем нужно. Проверить и усилить можно через cryptsetup.

Третье — физическая безопасность важнее криптографии. Включённое устройство с расшифрованным диском нивелирует любое шифрование. Ключи в RAM доступны при cold boot атаке. Выключенное устройство с LUKS и сильным паролем — математически защищено.

Четвёртое — шифрование это не анонимность. Зашифрованный диск скрывает содержимое данных но не скрывает сам факт их существования, время создания и метаданные файловой системы. Для анонимности нужны отдельные инструменты.
 
Сверху Снизу