http://www.truecrypt.org/download/truecrypt-7.1-linux-console-x64.tar.gz
# tar xzvf truecrypt-7.1-linux-console-x64.tar.gz
Получаем исполняемый файл truecrypt-7.1-linux-console-x64.
Установка Truecrypt
Для работы truecrypt’а надо установить дополнительные пакеты:
# aptitude install libfuse2 fuse-utils dmsetup
После установки запускаем, ранее извлечённый из архива, файл truecrypt-7.1-linux-console-x64:
# ./truecrypt-7.1-setup-console-x64 TrueCrypt 7.1 Setup ____________________ Installation options: 1) Install truecrypt_7.1_console_amd64.tar.gz 2) Extract package file truecrypt_7.1_console_amd64.tar.gz and place it to /tmp To select, enter 1 or 2: 1 Before you can use, extract, or install TrueCrypt, you must accept the terms of the TrueCrypt License. Press Enter to display the license terms... Press Enter or space bar to see the rest of the license. TrueCrypt License Version 3.0
Читаем лицензионное соглашение до самого конца и вводим yes
Do you accept and agree to be bound by the license terms? (yes/no): yes Requirements for Running TrueCrypt: ----------------------------------- - FUSE library and tools - device mapper tools Press Enter to continue... Uninstalling TrueCrypt: ----------------------- To uninstall TrueCrypt, please run 'truecrypt-uninstall.sh'. Installing package... usr/bin/truecrypt usr/bin/truecrypt-uninstall.sh usr/share/truecrypt/doc/License.txt usr/share/truecrypt/doc/TrueCrypt User Guide.pdf Press Enter to exit...
Шифрование раздела и создание контейнера
Шифрование раздела и создание контейнера мало чем отличаются. В первом случае, как аргумент команды, указывается раздел, а во втором случае — файл.
При шифровании раздела все данные на нём уничтожаются.
Раздел не надо форматировать перед шифрованием.
Пример:
Шифрование файла:
# truecrypt -c /var/file.txt
Шифрование раздела:
# truecrypt -c /dev/sda8
Volume type: 1) Normal 2) Hidden Select [1]: 1
На этом этапе выбирается тип создаваемого тома. Normal — обычный, полностью зашифрованный, том. Hidden — незаметный, скрытый том, внутри реального отформатированного раздела. Для реального раздела-донора желательно выбирать раздел с файловой системой FAT32, чтобы внутрь раздела поместилось больше информации и уменьшилась вероятность повреждения скрытого тома.
Encryption algorithm: 1) AES 2) Serpent 3) Twofish 4) AES-Twofish 5) AES-Twofish-Serpent 6) Serpent-AES 7) Serpent-Twofish-AES 8) Twofish-Serpent Select [1]:
Алгоритм шифрования AES самый быстрый и его, вероятно, лучше выбрать для томов, с которых будут запускаться программы. Для хранения информации можно выбрать любой алгоритм из представленного списка.
Hash algorithm: 1) RIPEMD-160 2) SHA-512 3) Whirlpool Select [1]:
Просто нажимаю Enter. Первая хэш-функция в самый раз.
Filesystem: 1) None 2) FAT 3) Linux Ext2 4) Linux Ext3 5) Linux Ext4 Select [2]: 5
Файловая система для нового тома. Выбрал ext4.
Enter password: Re-enter password:
Вводим достаточно длинный пароль. Надо заметить, что лучший пароль это действительно случайный набор символов или псевдослучайный.
Enter keyfile path [none]:
Хорошая мысль создать ключевой файл на удаленном носителе и указать его при шифровании. Главное в дальнейшем его не потерять. Но можно в качестве ключевого файла использовать простой текстовый файл с широко известным текстом.
Please type at least 320 randomly chosen characters and then press Enter: Done: 100.000% Speed: 58 MB/s Left: 0 s The TrueCrypt volume has been successfully created.
При первом использовании у меня возникла ошибка:
Error: fuse: device not found, try 'modprobe fuse' first
Решается все, соответственно:
# modprobe fuse # modprobe -l | grep fuse kernel/fs/fuse/fuse.ko kernel/fs/fuse/cuse.ko
Процесс завершился и зашифрованный том создан.
Монтирование зашифрованного файла или раздела
Монтирование зашифрованного файла:
# truecrypt /var/file.txt /mnt/secure Enter password for /var/file.txt: Enter keyfile [none]: Protect hidden volume (if any)? (y=Yes/n=No) [No]: n
Монтирование зашифрованного раздела:
# truecrypt /dev/sda8 /mnt
Раздел или файл зашифрован?
Некоторые задают этот вопрос приводя в пример, например, строку из статьи википедии посвящённой Truecrypt’у: Ни один том TrueCrypt не может быть идентифицирован (тома TrueCrypt невозможно отличить от набора случайных данных, то есть файл нельзя связать с TrueCrypt как с программой, его создавшей, ни в какой форме и рамках).
Ещё раз отвечаю, что в этой фразе заключён другой смысл. Тут ясно написано, что увидев раздел или файл со случайными данными нельзя сказать, что он точно зашифрован с применением программы Truecrypt. Просто читать надо до конца фразы.
Шифрованный раздел или файл можно легко отличить от нешифрованного просто глянув на него каким-либо низкоуровневым редактором. Если мы увидим слишком случайные данные, то это уже повод задуматься о шифрованном контенте.
Если очень упростить, то можно сказать, что случайные данные представляют собой набор повторяющихся последовательностей символов, огрызков читаемых данных от каких-то файлов, пустые промежутки. Слишком случайные данные — это набор неповторяющихся символов. Это шум, хаос, всплеск энтропии. Сжать такие «слишком случайные» данные каким-либо архиватором не представляется возможным. Ни один обычный раздел на винчестере не будет содержать в себе кластеры, полностью забитые слишком случайными данными.
Некоторое подобие шифрованных файлов — архивы. Но у архивов есть заголовки, по которым можно идентифицировать программу-архиватор, при помощи которой был создан архив.
Вариант использования
Свои разделы для фото- и видео-архивов закриптованы с помощью truecrypt на основе ключевого файла; ключевой файл лежит, например, на постоянно подсоединённой флэшке; в rc.local помещена команда truecrypt для монтирования томов.
Монтирование томов случилось только при явном указании отсутствия пароля и hidden-раздела:
$ /usr/bin/truecrypt -t -p "" --protect-hidden=no --keyfiles=/media/flashka/file /dev/sdc2 /media/photos $ /usr/bin/truecrypt -t -p "" --protect-hidden=no --keyfiles=/media/flashka/file /dev/sdc3 /media/videos
