Um deinen Raspberry Pi mit einer USB-basierten Schlüsseldatei zu verschlüsseln, kannst du die Festplatte mit LUKS (Linux Unified Key Setup) verschlüsseln und den Entschlüsselungsschlüssel auf einen USB-Stick legen. Der Raspberry Pi wird beim Starten nur dann erfolgreich booten, wenn der USB-Stick angeschlossen ist. Hier ist eine Übersicht der Schritte:
Voraussetzungen:
- Ein Raspberry Pi mit einem Betriebssystem wie Raspberry Pi OS.
- Ein USB-Stick, der als Schlüsselträger verwendet wird.
- Ein verschlüsseltes LUKS-Volume auf der SD-Karte oder einem externen Laufwerk.
Vorgehensweise:
1. Installiere die notwendigen Pakete:
Stelle sicher, dass dein Raspberry Pi über die benötigten Werkzeuge verfügt:
sudo apt update
sudo apt install cryptsetup-initramfs
2. Erstelle eine Partition und verschlüssele sie mit LUKS:
Angenommen, die SD-Karte des Raspberry Pi hat zwei Partitionen: /boot
und /
. Die /
-Partition soll verschlüsselt werden.
sudo cryptsetup luksFormat /dev/mmcblk0p2
Achtung: Dies löscht alle Daten auf der Partition. Ersetze mmcblk0p2
durch den korrekten Pfad deiner Partition.
3. Erstelle eine Schlüsseldatei auf dem USB-Stick:
Formatiere den USB-Stick und erstelle darauf eine Schlüsseldatei:
sudo dd if=/dev/urandom of=/media/usb/keyfile bs=1024 count=4
Speichere die Schlüsseldatei auf dem USB-Stick, beispielsweise im Pfad /media/usb/keyfile
.
4. Füge die Schlüsseldatei zur LUKS-Verschlüsselung hinzu:
sudo cryptsetup luksAddKey /dev/mmcblk0p2 /media/usb/keyfile
5. Richte das System so ein, dass es mit der Schlüsseldatei entschlüsselt wird:
Bearbeite die Datei /etc/crypttab
und füge eine Zeile hinzu, die das entschlüsselte LUKS-Laufwerk beschreibt:
cryptroot /dev/mmcblk0p2 /media/usb/keyfile luks
6. Passe den Bootvorgang an:
Bearbeite die Datei /etc/fstab
, um sicherzustellen, dass das entschlüsselte Laufwerk nach dem Booten korrekt eingebunden wird. Die Zeile für die Root-Partition (/
) sollte auf das entschlüsselte Volume verweisen, beispielsweise:
/dev/mapper/cryptroot / ext4 defaults 0 1
7. Initialramdisk aktualisieren:
Um sicherzustellen, dass der Raspberry Pi den USB-Stick beim Bootvorgang erkennt, musst du die Initramfs neu generieren:
sudo update-initramfs -u
8. Testen und USB-Stick nach dem Boot entfernen:
Nun sollte dein Raspberry Pi nur dann booten, wenn der USB-Stick eingesteckt ist. Nach dem erfolgreichen Booten kannst du den Stick entfernen, da das entschlüsselte Laufwerk weiterhin gemountet bleibt.
Optional: Sicherungsmechanismus
Du kannst eine alternative Methode einrichten, um den Raspberry Pi im Notfall ohne den USB-Stick zu entsperren, indem du z. B. ein Passwort als zweiten Entschlüsselungsweg einrichtest.
Diese Methode sorgt dafür, dass dein Raspberry Pi nur mit dem speziellen USB-Stick starten kann, und nach dem Start der USB-Stick nicht mehr benötigt wird.