====== EncFS - Transparentní šifrování adresáře s FUSE ======
V dnešním článku bych vás rád seznámil s několika nejjednodušeji aplikovatelnými (ale samozřejmě účinnými a profesionálními) metodami šifrování, dozvíte se například jak připojit šifrovaný obraz disku jako znakové zařízení či disk, nebo jak šifrovat libovolný adresář, to vše "on-the-fly" (za letu nebo také transparentně). Bezpečnost především...
===== Úvod =====
Ačkoli každý z nás občas měl nějaká data, které chtěl skrýt (ať už ve správném a OPODSTATNĚNÉM patologickém schizofrenním paranoidním strachu před black-haty, veřejností, nebo policií), málo kdo se nějakým způsobem zabýval pokusem o jejich šifrování. Musím upozornit, ze těm, kdo potřebují na svém disku ukrývat nějaké věci, před svým nejbližším (převážně Linuxově negramotným) okolím, dostatečně postačí dát na začátek názvu adresáře tečku: mv pr0n .mami_sem_mi_nelez ;D, ale protože tady se zabýváme obraně před orgány s mnohem sofistikovanějšími technologiemi a znalostmi než má pravděpodobně někdo, kdo by mohl ve vašem počítači hledat materiály této povahy...
===== Přehled různých nástrojů =====
název/popis/algoritmy/deb/další/další zdroje
==== EncFS ====
- připojí zašifrovaný adresář do specifikovaného mountpointu, je postavený na FUSE
- AES, Blowfish, Blowfish-Compat
- ano (encfs + fuse, libfuse2, rlog, OpenSSL)
- já po instalaci musel ještě kompilovat FUSE ze staženého tarrballu (naleznete na oficiálním webu), pomocí balíčku libpam-encfs lze připojovat disky automaticky při přihlášení pomocí PAMu
- Oficialní web
==== TrueCrypt ====
- připojí zašifrovaný obraz disku do specifikovaného mountpointu
- AES, Blowfish, CAST5 (CAST-128), Serpent, Triple DES, Twofish, kombinace předešlých
- ne
- Velikost zašifrovaného disku se nedá změnit, umožňuje brute-force útok (alespoň u slabých hesel), existuje verze pro Windows (pouze GUI) a přenosná pro flashdisky...
- truecrypt.org, root.cz: úvod, více
==== CryptoLoop (LoSetup) ====
- Kryptografický wrapper mezi dvě znaková zařízení (nebo znakové zařízení a soubor)
- AES, XOR, (lze doplnit další, např. DES)
- ano - já (Etch - 1CD verze), jsem ho měl již předinstalovaný
- zastaralý, jednoduchý
- Encryption HOWTO, man losetup
eCryptFS (SF) [Doplněno 1.11. 2oo7], systém ne nepodobný EncFS. Připojení oddílu ale probíhá takto:
# mount -t ecryptfs ~/crypt ~/crypt
pro používání bez roota potřebujete balíčky ecryptfs-userspace a ecryptfs-utils, pak se pravděpodobně opět mountuje přes dodanou utilitku pomocí FUSE. eCryptFS se sám označuje jako "An Enterprise-class Cryptographic Filesystem for Linux" a patří do rodiny GNUPGFS. S tímto systémem nemám žádné zkušenosti a uvádím ho jen pro úplnost.
Další informace
- Také jsou dostupné další kvalitní systémy jako dm-crypt a LUKS, nebo můžete šifrovat jednotlivé soubory nějakou jednoduchou utilitkou... Tyto možnosti jsem ale již tolik nerozebíral (vzhledem ke své spokojenosti s EncFS).
- Wikipedia/List_of_cryptographic_file_systems
- Wikipedia/Full_disk_encryption
harvie@harvie-srv:~$ encfsctl
encfsctl version 1.2.5
Usage:
encfsctl (root dir)
-- displays information about the filesystem, or
encfsctl info (root dir)
-- zobraz informace (Implicitní příkaz)
encfsctl passwd (root dir)
-- změnit heslo pro svazek
encfsctl autopasswd (root dir)
-- change password for volume, taking password from standard input.
No prompts are issued.
encfsctl showcruft (root dir)
-- ukázat nerozkódovatelná jména souborů ve svazku
encfsctl cat (root dir) path
-- decodes the file and cats it to standard out
encfsctl decode (root dir) encoded-name
-- rozkódovat jméno a ukázat jeho čitelnou verzi
encfsctl encode (root dir) [plaintext-name]
-- encodes a filename and print result
encfsctl export (root dir) path
-- decrypts a volume and writes results to path
encfsctl --version
-- vypiš číslo verze a ukonči běh
Example:
encfsctl info ~/.crypt
harvie@harvie-srv:~$ encfsctl info ~/.crypt
Version 5 configuration; created by EncFS 1.2.5 (revision 20040813)
Filesystem cipher: "ssl/aes", version 2:1:1
Filename encoding: "nameio/block", version 3:0:1
Key Size: 256 bits
Block Size: 512 bytes, including 8 byte MAC header
Each file contains 8 byte header with unique IV data.
Filenames encoded using IV chaining mode.
File data IV is chained to filename IV.
harvie@harvie-srv:~$
harvie@harvie-ntb:~$ encfs ~/.crypt ~/crypt
The directory "/home/harvie/.crypt/" does not exist. Should it be created? (y,n) y
The directory "/home/harvie/crypt/" does not exist. Should it be created? (y,n) y
Creating new encrypted volume.
Please choose from one of the following options:
enter "x" for expert configuration mode,
enter "p" for pre-configured paranoia mode,
anything else, or an empty line will select standard mode.
?> x
Manual configuration mode selected.
The following cipher algorithms are available:
1. AES : 16 byte block cipher
-- Supports key lengths of 128 to 256 bits
-- Supports block sizes of 64 to 4096 bytes
2. Blowfish : 8 byte block cipher
-- Supports key lengths of 128 to 256 bits
-- Supports block sizes of 64 to 4096 bytes
3. blowfish-compat : algorithm compatible with EncFS 0.2-0.6
-- key length 160 bits
-- block size 64 bytes
Enter the number corresponding to your choice: 1
Selected algorithm "AES"
Please select a key size in bits. The cipher you have chosen
supports sizes from 128 to 256 bits in increments of 64 bits.
For example:
128, 192, 256
Selected key size: 256
Using key size of 256 bits
---------------- Zkráceno ----------------