Tag: linux

  • Использование Truecrypt

    \"\"Загрузка

    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