Толик Панков
hex_laden
............ .................. ................

November 2020
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

Толик Панков [userpic]
tcplay, замена TrueCrypt для Linux. Работа с криптоконтейнерами. Часть I.

И просто краткие заметки от склероза.
Часть I. Общие положения.

0. Зачало.

TrueCrypt уже довольно давно почил, однако добрые люди не оставили в беде параноика и начинающего линуксоида в одном лице и форкнули создали независимую реализацию замечательного проекта. TCplay представляет собой утилиту командной строки (для Linux), поддерживающую все основные функции TrueCrypt – создание томов-криптоконтейнеров, открытие контейнеров, созданных в TrueCrypt, создание скрытых шифрованных разделов на томе с обычным шифрованным разделом, поддержку ключевых файлов и т.д.

1. Установка.

1.1. Устанавливаем src2pkg [копия статьи] с помощью installpkg (если не установлена)
1.2. Качаем исходники tcplay
1.3. В каталоге со скаченным архивом выполняем
src2pkg -C tc-play-2.0.tar.gz
и после завершения процесса получаем пакет slackware, который устанавливаем с помошью installpkg

2. Всякие мелочи

tcplay –v
или tcplay –-version – версия программы
tcplay –h или tcplay –-help или запуск без параметров – справка.


3. О генерации ключевых файлов.

Вообще, tcplay, как и TrueCrypt в качестве ключевых файлов может использовать любой файл, точнее первый его мегабайт. Так что генерировать ключевые файлы большего размера смысла не имеет. Конечно, нежелательно использовать в качестве ключевых файлов системные файлы, фотографии своего любимого кота, тещи или Джиллиан Андерсон и т.д. Есть вероятность, что злоумышленник подберет, а уж при использовании системных файлов вероятность близка к 100%.
Простейший способ сгенерировать ключевой файл – воспользоваться командой dd и устройством /dev/random

dd if=/dev/random of=/путь/к/файлу/имя_файла bs=1 count=256

Данная команда сгенерирует ключевой файл размером 256 байт.

Команда dd подробно описана, например, здесь копия

4. Подготовка файла-контейнера.

Чтобы создать новый файл-контейнер (неважно, содержащий лишь один обычный том TrueCrypt или же обычный и скрытый) нам понадобится файл нужного размера, создать его также можно при помощи команды dd:

dd if=/dev/zero of=/path/to/file/disk01.crypt bs=1024M count=1

Команда создаст файл размером 1 Гб (1024 Мб) заполненный нулями, естественно, /path/to/file/disk01.crypt нужно заменить на путь к файлу-контейнеру.

5. Представляем файл-контейнер в виде блочного устройства.

Далее, нужно сделать так, чтобы система представила созданный файл-контейнер в виде блочного устройства, проще говоря, смогла работать с ним, как с диском, для чего нужно «повесить» наш файл на петлевое устройство loop
Для начала определим первое свободное петлевое устройство:
losetup -f
В моем дистрибьютиве loop-устройства ничем не использовались, поэтому команда выдала
/dev/loop0
В других дистрибьютивах может быть и не loop0, например, дистрибьютивы Puppy Linux при загрузке занимают первых два (0 и 1) петлевых устройства, на одном из которых висит основной образ ОС, а на втором файл пользовательской сохраненки.

Вешаем файл-контейнер на свободное петлевое устройство:
losetup /dev/loop0 /path/to/file/disk01.crypt
первый параметр команды – петлевое устройство, второй – путь к файлу-контейнеру.

Продолжение

Comments

Почему не LUKS?

Можно и LUKS, но мне хотелось TrueCrypt'овое что-то, я им и на винде пользовался, так что можно сказать, что исторически сложилось. Потом про LUKS написано уже дофига, а про tcplay не написано, плюс кроссплатформенность еще, делаешь контейнер в линуксе, а потом его открыть можно и на Маке и в винде. Про LUKS для винды я чего-то не слышал. Ну и возможность создавать скрытые тома, о чем позже я тоже напишу, если лень писалку не съест.

tcplay — не форк, а независимая реимплементация.

И правда что...
tcplay is a free (BSD-licensed), pretty much fully featured (including multiple keyfiles, cipher cascades, etc) and stable TrueCrypt implementation.
Сам путаю иногда эти понятия, и других запутываю. Если уж кто читает, что вряд-ли правда.