Шифрование данных · 9 min read · Jan 04, 2026

TrueCrypt Tutorial: Truly Portable Data Encryption

TrueCrypt Tutorial: Truly Portable Data Encryption

Краткое представление функций программы

TrueCrypt — это бесплатное программное обеспечение, которое шифрует данные “на лету”. В настоящее время последняя выпущенная версия — версия 4.3. Вы можете создать зашифрованный жесткий диск, отдельный раздел или каталог с помощью TrueCrypt. Он не просто шифрует содержимое файлов, но и их имена, а также имена каталогов, в которых они находятся. Более того, нет способа проверить размер зашифрованного каталога/жесткого диска/раздела. TrueCrypt доступен для Windows и Linux.

Преимущества TrueCrypt:

  • создает зашифрованный жесткий диск и монтирует его,
  • шифрует весь диск, выбранный раздел/каталог и даже USB-накопитель,
  • шифрование автоматическое, на лету и прозрачно для пользователя,
  • нет способа проверить размер зашифрованного раздела/каталога,
  • использует такие алгоритмы шифрования, как: AES -256, Serpent, Twofish,
  • позволяет создавать скрытый том,
  • в использовании нельзя отличить созданный том от обычных данных,
  • очень прост в использовании,
  • виртуальные диски, созданные с помощью TrueCrypt, полностью независимы от операционной системы,
  • ключи авторизации могут храниться на USB-накопителе.
  • и многое другое…

Существует три способа защитить зашифрованные данные:

  • с помощью пароля,
  • с помощью специального ключа,
  • с помощью пароля и ключа.

Что такое этот ключ? Ключом может быть любой файл с вашего жесткого диска, например: *.avi, *.mpg или *.txt и даже целый каталог, содержащий несколько файлов. Предупреждение! Будьте осторожны, используя *.txt файл в качестве ключа, потому что если вы измените его, ключ изменится, и вы не сможете расшифровать свои данные. Что произойдет, если вы потеряете свой ключ? Вы никогда не восстановите свои данные! Вот почему я предлагаю использовать и ключ, и пароль как лучший способ. В этом случае, если вы потеряете свой ключ, вы сможете изменить его, введя правильный пароль, и наоборот. Естественно, нет идеального решения, потому что вы можете забыть свой пароль и потерять свой ключ одновременно.

Краткое сравнение TrueCrypt и DM-Crypt

На самом деле очень трудно сказать, какая из этих программ лучше. После тщательного изучения описаний их опций и размышлений о обеих, я понял, что лучшим решением будет их сочетание. Обе программы позволяют создать так называемый “контейнер“, который является зашифрованным файлом, работающим как каталог, в котором вы можете хранить свои личные файлы (очень полезная функция, когда вы не хотите шифровать весь раздел). Большое преимущество этих программ заключается в том, что они могут шифровать данные во время записи их на CD/DVD. Небольшим недостатком TrueCrypt может быть то, что после перезагрузки ядра вам может понадобиться снова установить модуль TrueCrypt. С другой стороны — в TrueCrypt вы можете одновременно использовать разные алгоритмы шифрования! Он также работает под Windows, так что если вы используете обе системы, TrueCrypt будет лучшим выбором.

Как выбрать лучший ключ?

Лично я не рекомендую выбирать любой файл или каталог с вашего жесткого диска в качестве ключа. Лучший способ — использовать специальный генератор ключей, встроенный в TrueCrypt. RNG - Генератор случайных чисел - это функция, которая создает случайные данные максимального размера 320 байт и сохраняет их в заранее выбранный файл. Как генерируются случайные данные? Если это Linux, RNG использует /dev/random или /dev/urandom, которые представляют собой весь шум, генерируемый устройствами, подключенными к вашему ПК, такими как мышь и клавиатура.

Как работает TrueCrypt?

Весь процесс шифрования прозрачен для пользователя. При копировании файла на зашифрованный диск его составные фрагменты (если это большой файл, например, фильм) копируются в ОЗУ, затем шифруются и сохраняются в целевой файл. Процесс расшифровки такой же. Сначала файл по фрагментам расшифровывается в ОЗУ, а затем передается пользователю. TrueCrypt никогда не сохраняет нешифрованные данные на диске, зашифрованные данные всегда хранятся в ОЗУ. Это очень безопасный метод, который предотвращает случайный доступ к вашим файлам.

Скачивание TrueCrypt

Самую последнюю версию программы вы всегда можете найти на http://www.truecrypt.org. TrueCrypt нуждается в инструменте под названием dmsetup для правильной работы. Dmsetup — это инструмент, позволяющий работать с логическими дисками, смонтированными с помощью драйвера device-mapper. Самая последняя версия dmsetup доступна на http://sources.redhat.com/dm/. Первое, что вам нужно сделать после загрузки исходного кода, — это установить dmsetup:

tar -zxvf device-mapper.*your_version_no*  
cd device-mapper.*your_version_no*  
./configure  
make  
make install (как root или sudo)

Если все прошло хорошо, попробуйте установить TrueCrypt:

tar -zxvf truecrypt-*your_version_no*  
cd truecrypt-*your_version_no*

Введите каталог linux и установите:

cd linux  
./build.sh
Проверка требований сборки...  
Сборка модуля ядра... Готово.  
Сборка truecrypt... Готово.

Сначала скрипт проверит, соответствует ли ваша система всем требованиям, он выведет информацию, если не сможет найти расположение пакета. Предупреждение! Чтобы правильно установить TrueCrypt, у вас должна быть версия ядра 2.6.5 или новее.

Далее вы запускаете:

./install.sh *(как root или sudo)*

Проверка требований установки…
Тестирование truecrypt… Готово.

Установить бинарные файлы в [/usr/bin]: нажмите [Enter]
Установить страницу man в [/usr/share/man]: нажмите [Enter]
Установить руководство пользователя и модуль ядра в [/usr/share/truecrypt]: [Enter]
Разрешить неадминистраторским пользователям запускать TrueCrypt [y/N]: чтобы разрешить пользователям, не являющимся root, использовать TrueCrypt, нажмите [y], иначе [N]
Установка модуля ядра… Готово.
Установка truecrypt в /usr/bin… Готово.
Установка страницы man в /usr/share/man/man1… Готово.
Установка руководства пользователя в /usr/share/truecrypt/doc… Готово.
установка резервного модуля ядра в /usr/share/truecrypt/kernel… Готово.

Если все прошло как описано выше, вы можете продолжить.

Генерация ключа

Чтобы сгенерировать ключ, введите:

truecrypt --keyfile-create key.txt

Конечно, вы можете выбрать другое имя ключа и расширение.

Ваш мышь подключена напрямую к компьютеру, на котором работает TrueCrypt? Нажмите “Y”, тогда вам будет предложено двигать мышью.

Если все было в порядке, будет отображен следующий текст: Ключевой файл создан.

Создание виртуального тома

Чтобы создать новый том, вам нужно учесть его имя и тип. Существует только два типа таких томов: нормальный и скрытый. В чем разница между ними? Скрытый — это именно то, что скрыто (расположение другое - более подробная информация на домашней странице TrueCrypt).

В терминале введите:

truecrypt -c home.txt

Вы создаете том с именем home.txt. Расширение на усмотрение пользователя, я выбрал *.txt, потому что потенциальному хакеру будет сложнее обнаружить, что это том.

Тип тома:

  1. Нормальный
  2. Скрытый
    Выберите [1]: выберите 1

Файловая система:

  1. FAT
  2. Нет
    Выберите [1]: выберите 2, потому что вы создадите другую файловую систему, чем FAT
    по вашему тому, по умолчанию FAT

Введите размер тома (байты - размер/размерK/размерM/размерG): 10M -
теперь вы указываете размер вашего тома, я выбрал 10 МБ

Алгоритм хеширования:

  1. RIPEMD-160
  2. SHA-1
  3. Whirlpool
    Выберите [1]: выберите хеш, я предлагаю SHA-1, по умолчанию RIPEMD-160

Алгоритм шифрования:
1 ) AES
2 ) Blowfish
3 ) CAST5
4 ) Serpent
5 ) Triple DES
6 ) Twofish
7 ) AES-Twofish
8 ) AES-Twofish-Serpent
9 ) Serpent-AES
10 ) Serpent-Twofish-AES
11 ) Twofish-Serpent Выберите [1]: выберите алгоритм, по умолчанию AES

Введите пароль для нового тома ‘home.txt’: нажмите [Enter], если не хотите устанавливать пароль

Повторите ввод пароля: нажмите [Enter] снова

Введите путь к ключевому файлу [none]: здесь введите полный путь к ключу или оставьте пустым, если у вас нет ключа

Введите путь к ключевому файлу [finish]: вам снова будет предложено ввести путь. Если у вас несколько ключей, введите другой путь, и если вы ввели все пути к ключам, оставьте пустым и нажмите [Enter]

TrueCrypt теперь соберет случайные данные.

Ваш мышь подключена напрямую к компьютеру, на котором работает TrueCrypt? Нажмите “Y”, если ваша мышь подключена напрямую к вашему ПК, но попробуйте нажать “n” и посмотрите, что произойдет

Пожалуйста, введите как минимум 320 случайно выбранных символов и затем нажмите Enter: если вы введете меньше, чем требуется, программа покажет вам, сколько не хватает

Теперь программа начнет создавать ваш том. Время, необходимое для этой операции, зависит от вашего процессора и размера тома. Скрипт сообщит вам, когда он будет завершен (Том создан). В домашнем каталоге root должен быть файл home.txt. Вы можете попробовать открыть его в текстовом процессоре, мои поздравления, если вам удастся что-то прочитать из него.

Сопоставление тома и создание файловой системы.

Как вы помните, вы не выбрали файловую систему для вашего тома во время процесса создания. Поэтому вам нужно сделать это сейчас. Это необходимо, потому что TrueCrypt использует инструмент Linux mount для монтирования тома, которому нужно передать файловую систему в качестве параметра.

Введите:

truecrypt /root/home.txt -k /root/key

Введите пароль для ‘/root/home.txt’: если у этого тома нет пароля, просто нажмите [Enter]

Хорошо. Чтобы проверить, правильно ли прошло сопоставление, введите:

truecrypt -vl

(показывает информацию о смонтированных устройствах)

Если информации нет, это означает, что что-то пошло не так.

Теперь вы создаете файловую систему:

mkfs.ext3 /dev/mapper/truecrypt0

Вы можете выбрать любую файловую систему

Файловая система была создана.

Монтирование созданных томов

Теперь, когда вы создали файловую систему на вашем томе и смонтировали его, вы можете смонтировать его в любой каталог.

Для этого введите:

truecrypt -d /dev/mapper/truecrypt0

размонтирует том

mkdir encrypted -

создает каталог с именем “encrypted”, это каталог, в который вы собираетесь смонтировать том

truecrypt /root/home.txt -k /root/key /root/encrypted

монтирует том в зашифрованные каталоги

Готово! С этого момента все данные, сохраненные в каталоге “encrypted”, будут зашифрованы.

Но что делать, чтобы зашифровать уже существующий каталог? Это очень просто. Просто переместите данные из этого каталога, затем смонтируйте том в этот каталог и переместите данные обратно в этот каталог. Не забудьте сделать том подходящего размера, указывая его размер, потому что в противном случае он не сможет вместить все данные. Размер тома должен быть немного больше, чем размер каталога.

Автоматическое монтирование после перезагрузки.

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

  • добавление скрипта в /etc/init.d или /etc/rc.d,
  • создание в домашнем каталоге конфигурационного файла с именем .profile и его правильное редактирование.

Я предлагаю использовать второй способ, который я описываю ниже. Почему? Есть одна простая причина. Допустим, вы защитили том ключом и паролем или даже только паролем. В этом случае, запуская скрипты загрузки, размещенные в директориях init.d или rc.d, вам придется инициализировать TrueCrypt с параметром -p, и пароль будет явно записан там, что не является самым разумным решением. Таким образом, любой мог бы прочитать ваш пароль.

Возможно, в вашем домашнем каталоге уже есть файл .profile, но если нет:

touch .profile - создает новый файл .profile

Откройте .profile в редакторе и добавьте следующую строку:

truecrypt /root/home.txt -k /root/key /root/encrypted

Сохраните изменения и выйдите из редактора. Теперь каждый раз, когда вы входите в систему, TrueCrypt запросит ваш пароль (которого у вас нет, потому что в этом примере вы идентифицированы только по ключу, так что просто нажмите [Enter]) и виртуальный том будет смонтирован.

Могу ли я хранить ключ на флешке/USB-накопителе?

Да, такая опция есть, и поверьте мне, это не так сложно. Первое, что вам нужно сделать, это автоматически монтировать USB-накопитель при запуске. Для этого вам нужно отредактировать /etc/fstab. Затем создайте новый каталог для флешки в /mnt:

mkdir /mnt/pendrive

Сначала вам нужно увидеть, где флешка находится в системе. Вставьте флешку в USB-порт и выполните следующую команду:

dmesg > output.txt

В конце файла должна быть строка, похожая на эту:

usb 1-1: configuration #1 chosen from 1 choice  
uba: uba1

Как видите, на моем ПК USB-накопитель находится по адресу /dev/uba1. У вас он может быть по адресу /dev/sda*. Теперь вам нужно изменить /etc/fstab. Добавьте эту строку:

/dev/uba1  /mnt/pendrive  auto  defaults  0  0

Затем введите:

mount /mnt/pendrive

Следующий шаг — переместить ключ на USB-накопитель и изменить строку в вашем .profile, содержащую путь к ключу на /mnt/pendrive. Готово!

Теперь система автоматически монтирует виртуальный том после перезагрузки. Каковы недостатки автоматического монтирования? Допустим, у вас есть очень любопытный брат или сестра, и вы не хотите, чтобы они имели доступ к некоторым частям вашей системы (независимо от того, работаете ли вы на Windows или Linux). Если вы авторизуетесь только с помощью ключа, и он находится где-то на жестком диске, то после загрузки данные расшифровываются. “Но я держу свой ключ на USB-накопителе”. Что, если вы забудете вынуть его из ПК после работы?

Будущее

В ближайшем будущем разработчики TrueCrypt планируют расширить его возможности:

  • версия для MAC OS,
  • добавление внешней авторизации (так что будет возможность расшифровки через сеть/Интернет),
  • создание официального GUI для TrueCrypt,
  • и многое другое…

Существуют ли неофициальные графические интерфейсы для TrueCrypt? Конечно, существуют. Я предлагаю вам взглянуть на следующую веб-страницу: TruecryptGUI на GoogleCode. Для получения дополнительной информации посетите форум TrueCrypt.

Перевод на английский: Borys Musielak

Коррекция: T_ziel

Автор: Marcin Lipiec aka “lipiec”

Этот текст был впервые опубликован на polishlinux.org

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.