Шифрование с помощью Truecrypt

Posted on 07/29/2010 by   |   Filed under templates, internet    Comments 11

Для шифрования данных можно использовать разные методы. В этой статье будет описан процесс шифрования данных с помощью Truecrypt, который служит для кодирования жестких дисков, разделов жестких дисков, файлов, USB-устройств.

Необходимые файлы

Скачать необходимые файлы для установки можно на http://www.truecrypt.org/downloads. или здесь: http://cyberside.planet.ee/truecrypt/ Причем лучше качать версю 7.1а - т.к. с версией 7.2 - какая-то лажа (и нет возможности создать контейнер). Эта инструкция написана для console-версии. В архиве не исходники, это инсталлятор, нужно его рапаковать и запустить.

tar xvzf archive.tar.gz

Предисловие

Для начала нужно будет создать так называемый контейнер, в котором будут содержаться файлопапки, предназначенные для шифрования. Контейнером будет служить файл с произвольным названием или даже целый раздел диска (что довольно заманчиво). Для доступа к контейнеру обязательно нужно будет указать пароль (придумываете сами), а также можно сделать файл ключа (необязательная опция), с помощью которого будет шифроваться информация. Учтите сразу, что размер контейнера не резиновый, так что придётся подумать над его размером. И последнее: GUI для Truecrypt'а нет, поэтому весь процесс будет проходить в терминале.

Создание зашифрованных разделов/файлов

Создаём файл ключа:

truecrypt --create-keyfile /home/user/test/file

, где file - название файла - ключа. Учтите, что директория /home/user/test должна существовать.

Создаём контейнер, в моём случае раздел:

sudo truecrypt -k /home/user/test/file -c /dev/sda9

Вместо раздела /dev/sda9 вполне можно указать и файл, например /home/user/test/cryptofile, но в этом случае нужно будет указать его размер, это делается параметром --size=5G до параметра -c. В указанном примере создастся файл cryptofile размером 5 ГигаБайт.
Иногда (всегда?) truecrypt принимает размер только в байтах, для 5 Гбайт можно или высчитать значение заранее и указать --size=5368709120, или добавить немножко терминальной магии вот так: --size=`echo 1024^3*5 | bc`.
Для «любителей» информатики: 1 ГБ = 1024 МБ, 1 МБ = 1024 кБ, 1 кБ = 1024 Байт.

Для шифрования будет использоваться сделанный уже файл - ключ.

Вам предложат выбрать тип контейнера (нормальный / скрытый) - выберете (я работал только с нормальным),

Volume type:
 1) Normal
 2) Hidden
Select [1]: 1

Также вам предложат выбрать алгоритм шифрования (например, AES),

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]: 1

а так же hash-алгоритм (например, SHA-1) для шифрования потоков данных.

Hash algorithm:
 1) RIPEMD-160
 2) SHA-512
 3) Wirlpool
Select [1]: 2

также - файловую систему (FAT, ext2/3/4 или без ФС), мы выберем «без ФС», можно создать её и позже.

Filesystem:
 1) None
 2) FAT
 3) Linux Ext2
 4) Linux Ext3
 5) Linux Ext4
Select [2]: 1

Truecrypt используется для шифрования данных налету, то есть вы можете, под монтировав контейнер, работать с находящимися в нём файлами как обычно (открывать/редактировать/закрывать/создавать/удалять), что очень удобно, просто это, естественно, будет медленнее, чем обычно.

Шифрованный раздел/файл создали. Теперь, если нужно его внутреннюю файловую систему (далее ФС) отформатировать под нужную, делаем следующее. Цепляем его Truecrypt'ом:

truecrypt -k /home/user/test/file /dev/sda9

По умолчанию будет задействован созданный Truecrypt'ом девайс /dev/mapper/truecrypt0, можно поменять девайс на другой (читайте man truecrypt).  и если будет писать что не понимает формата, то указать параметр  --filesystem=none

По обращению к этому девайсу, можно менять например ФС в шифрованном контейнере. В нашем примере это нужно сделать. Делаем:

sudo mkfs.ext3 -v /dev/mapper/truecrypt0

Этим самым мы сделали ФС ext3 внутри нашего шифрованного контейнера.

Далее, т.к. наш контейнер уже «прикреплён» к девайсу /dev/mapper/truecrypt0, то осталось его просто примонтировать к какой-нибудь директории. Эта директория для монтирования должна уже существовать в системе. Монтируем:

sudo mount /dev/mapper/truecrypt0 /mnt/crypto

, где /mnt/crypto - директория, к которой примонтировали шифрованный контейнер.

Далее, чтобы что-то зашифровать, нужно теперь просто кинуть информацию в папку /mnt/crypto. А чтобы скрыть шифрованную информацию от чужих глаз, выполняем команду размонтирования, но с помощью Truecrypt'а:

truecrypt -d

Вот и всё, теперь без знания файла-ключа и пароля никто не сможет прочесть спрятанную информацию.

Проверка работы

Чтобы проверить акт размонтирования, наберём:

truecrypt -v -l

Нам покажут примонтированные Truecrypt'ом контейнеры, если такие (примонтированные) имеются.

Чтобы снова получить доступ к информации, подключим контейнер:

truecrypt -k /home/user/test/file /dev/sda9 /mnt/crypto

 

Для проверки снова наберём:

truecrypt -v -l

Эта команда выведет что-то вроде:

/dev/mapper/truecrypt0:
Volume: /dev/sda9
Type: Normal
Size: 22709965312 bytes
Encryption algorithm: AES
Mode of operation: LRW
Read-only: No
Hidden volume protected: No

Далее работаем с файлами в контейнере, обращаясь к ним как обычно.

Отключаем контейнер командой:

truecrypt -d

После этого команда

truecrypt -v -l

выведет:

No volumes mapped

Возможные проблемы и их решение

К сожалению, Truecrypt поддерживает в своих контейнерах в полной мере только файловую систему fat. Поэтому иногда не монтируются контейнера с ФС ext3, например.

Подключаем контейнер командой:

truecrypt -k /home/user/test/file /dev/sda9

Проверяем ФС:

>sudo fsck -t ext3 /dev/mapper/truecrypt0

Затем уже монтируем его для работы:

sudo mount /dev/mapper/truecrypt0 /mnt/crypto

Возможно, разработчики это уже исправили.

Источник: http://help.ubuntu.ru/wiki/%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81_truecrypt

Image Gallery

Services Overview

Curabitur sed urna id nunc pulvinar semper. Nunc sit amet tortor sit amet lacus sagittis posuere cursus vitae nunc.Etiam venenatis, turpis at eleifend porta, nisl nulla bibendum justo.

Contact Us

Nullam quam lorem, tristique non vestibulum nec, consectetur in risus. Aliquam a quam vel leo gravida gravida eu porttitor dui.

Address: 1458 TemplateAccess, USA
Telephone: +123-1234-5678
FAX: +458-4578
Others: +301 - 0125 - 01258
E-mail: mail@yoursitename.com