dm-crypt
Onderwerp: dm-crypt | |
---|---|
Beginners | |
Onderdeel van | Linux |
dm-crypt is een subsysteem in Linux (vanaf kernel 2.6) voor transparante encryptie. Het maakt onderdeel uit van de device-mapper infrastructuur en maakt gebruik van de Crypto API in de kernel.
Deze pagina is een beginnetje. Voeg informatie toe door deze pagina te bewerken. |
Contents
USB-stick versleutelen
Deze handleiding gaat uit van een modern Linux-systeem waar we een enkele USB-stick willen versleutelen met gebruik van dm-crypt. De tool die we gebruiken om de USB-stick klaar te maken is cryptsetup
en zal als eerste geinstalleerd moeten worden:
sudo apt-get install cryptsetup
Cryptovolume formatteren
Daarna kunnen we het volume klaarmaken voor encryptie. In het voorbeeld hieronder moet /dev/sdz
vervangen worden door het volume dat versleuteld moet worden. Het is vaak wenselijk om een partitie te versleutelen in plaats van het gehele device, maar in geval van een USB-stick is dit laatste een prima optie:
sudo cryptsetup luksFormat /dev/sdz
Tijdens deze stap wordt gevraagd om het wachtwoord waarmee de USB-stick versleuteld moet worden. Later kunnen er tot 10 wachtwoorden of sleutelbestanden worden toegevoegd.
N.B.: Wat deze stap niet doet, is alle informatie die in het volume stond onleesbaar maken of overschrijven.
elmer@Penrose:~$ sudo cryptsetup luksFormat /dev/sdz WARNING! ======== This will overwrite data on /dev/sdz irrevocably. Are you sure? (Type uppercase yes): YES Enter LUKS passphrase: Verify passphrase:
Cryptovolume openen
Nu we een versleuteld volume hebben aangemaakt, moeten we het openen en er een bestandsysteem op plaatsen. Openen gaat met cryptsetup als volgt:
sudo cryptsetup luksOpen /dev/sdz kittens
Ons versleuteld volume is nu beschikbaar als /dev/mapper/kittens
. Hier vervolgens een bestandssysteem op plaatsen werkt als normaal:
sudo mkfs.ext4 /dev/mapper/kittens
elmer@Penrose:~$ sudo cryptsetup luksOpen /dev/sdz kittens Enter passphrase for /dev/sdz: elmer@Penrose:~$ sudo mkfs.ext4 /dev/mapper/kittens mke2fs 1.42 (29-Nov-2011) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 61440 inodes, 245504 blocks 12275 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=251658240 8 block groups 32768 blocks per group, 32768 fragments per group 7680 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Allocating group tables: done Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done
Laatste stappen
Als laatste stap sluiten we het crypto-volume:
sudo cryptsetup luksClose kittens
Als we de stick nu uit te computer halen en later er weer in steken zullen we gevraagd worden voor het wachtwoord dat we eerder hebben opgegeven. Wanneer een van de juiste wachtwoorden wordt opgegeven (de interactieve versie ondersteunt geen sleutelbestanden) is de stick bruikbaar als willekeurig welke andere USB-stick.
Ubuntu installeren op een encrypted disk
Extra cryptovolumes
Keyfile aanmaken
Als eerste maken we een keyfile aan:
dd if=/dev/urandom count=10 bs=1024 of=cryptdisk.key
/etc/crypttab
Volumes die bij het opstarten van de computer aanwezig zijn, en altijd gestart moeten worden, kunnen aangegeven worden in /etc/crypttab
. Wanneer de derde kolom "none" bevat wordt het volume ontsleuteld met een ingevoerd wachtwoord. Een bestandsnaam wijst naar een crypto-sleutel. Een voorbeeld hiervan, waar de root-partitie versleuteld is (met in te typen wachtwoord), en en 'home' mount met een sleutelbestand op het 'root' bestandssysteem:
# <name> <device> <passwordfile> <type> root /dev/sda2 none luks home /dev/sda3 /luks_home.key luks
N.B.: Een crypto-sleutel plaatsen op een niet-versleuteld volume is een slecht idee, tenzij fysieke toegang beperkt kan worden.