Raspberry Pi: Vollverschlüsselte SD-Karte mit Betriebssystem
Einige von euch habe ich wahrscheinlich durch den Titel auf den Beitrag geleitet. Vorab sei gesagt eine fertige, verwendbare Anleitung zur Vollverschlüsselung/Full encryption der SD-Karte des Raspberry Pi gibt es hier nicht zu sehen, aus den Gründen, die ich im Folgenden erläutern werde.
Ich hatte die Vorstellung nicht nur ein paar Daten, wie mit einem Truecrypt Container auf dem Raspberry Pi möglich, zu verschlüsseln, sondern z.B. gleich die ganze Raspbian Distribution auf der SD-Karte, die in dem Raspberry Pi steckt. Nachdem ich persönlich den Raspberry Pi ohne Bildschirm, sondern ausschließlich über SSH, steuere, sollte die Eingabe des Passwortes auch per SSH möglich sein. Erst nach der Eingabe dieses Passwortes sollte es möglich sein, das Betriebssystem auf dem Raspberry Pi zu verwenden, da davor ja alles verschlüsselt sein sollte.
So weit die Idee. Ich habe einige Artikel zu dieser Thematik gelesen, um ein Tutorial darüber schreiben zu können (Link zu einigen der Artikel am Ende dieses Beitrags). Schlussendlich habe ich mich dagegen entschieden, eine Anleitung dazu zu schreiben, da die Praktikabilität fraglich ist.
Um kurz auf die angedachte Technik einzugehen: Mit crypto-dm-modules und crypto-modules ist es wohl möglich, die gesamte verwendete Festplatte (folglich SD-Karte) mit LVM zu verschlüsseln. Um diese wieder entschlüsseln zu können, wäre mittels initramfs-tools ein vorläufiges root-Dateisystem eingebunden worden. Auf diesem würde dropbear, eine alternative zum OpenSSH-Server, laufen, über den wir uns mit dem Raspberry Pi verbinden könnten. Als eingeloggter Benutzer könnten wir unter Eingabe einer Passphrase, mit der das eigentliche root-Dateisystem verschlüsselt ist, dieses entschlüsseln und mounten.
Zunächst muss ich zugeben: So ganz habe ich es nicht zum Laufen bekommen. Woran das im Konkreten lag konnte ich trotz längerer Suche nicht vollkommen nachvollziehen. Des Weiteren ist der Raspberry Pi, wie wir alle wissen, nicht der Leistungsstärkste. Gleichzeitig nehme ich an, dass eine Verschlüsselung des ganzen Systems in dieser Form prinzipiell schon gut Performance kostet, was sich bei einem leistungsschwachen System um so mehr bemerkbar macht. Folglich würde das sowieso schon etwas träge Arbeiten auf dem Raspberry Pi noch einmal wesentlich verlangsamt werden.
Entsprechend gibt es heute keine Step-by-Step Anleitung, sondern diese kurze Erläuterung, wie eine Vollverschlüsselung der SD-Karte des Raspberry Pis wahrscheinlich möglich wäre. Wer sich mit dem Thema auf eigene Faust trotzdem befassen möchte, der kann gerne in den folgenden Artikeln, die ich während der Recherchen für diesen Beitrag gelesen habe, ein wenig stöbern.
Artikel mit Bezug auf den Raspberry Pi:
- Project Gus: Unlocking an encrypted rootfs over ssh with Debian wheezy
- The daily nerdism: Encrypted root on Raspberry Pi
Artikel, die diese Problematik im Bezug auf Debian im Allgemeinen behandeln:
- Thomas-Krenn.com: Voll-verschlüsseltes-System via SSH freischalten
Darkstar: Debian Server Verschlüsselung(nicht mehr verfügbar)
7 Kommentare. Hinterlasse eine Antwort
Ja auch ich wurde durch die bewusst interessierend geschriebene Überschrift neugierig gemacht. (Als ständiger Mitleser hätte ich den Beitrag aber auch sonst gelesen … .)
Mich hat wirklich interessiert, was da der Jan zu diesem Thema schreiben wird. Und ich war froh über das, was ich dann lesen konnte!
Im Unterschied zu einer Vollverschlüsselung auf mobilen Geräten betrachte ich diese auf einem 24/7 laufenden Server(chen) als recht sinnfrei.
Selbstverständlich ist die Festplatte meines dienstlichen Notebooks vollverschlüsselt (Hardware-Kryptokarte und Schlüssel auf Mikroprozessor-Chipkarte …) und auch die SSD meines privaten Notebooks ist mit den unter Linux üblichen Methoden (wie in diesem Beitrag angedeutet) gesichert. Und selbstverständlich laufen alle Verbindungen zum „Firmen“-Netz und zu meinem Homenet nur über VPN. Bei einem mobilen Gerät schützen wir damit die darauf befindlichen Daten vor den Folgen des leider sehr häufig auftretenden Falles des Diebstahls oder des sonstigen unberechtigten Zugriffs auf die Hardware.
Etwas völlig anderes ist es bei einem „durchlaufenden“ Server!
Sobald der Server gestartet ist (und das wird unser RasPi mit den entsprechenden Anwendungen wie Owncloud ja fast immer sein), ist das physisch verschlüsselte Dateisystem gemountet und somit logisch entschlüsselt. Der gewünschte Schutz tritt also erst dann ein, wenn das Teil vom Strom getrennt wird. Will mir hier jemand weis machen, dass er bei jedem Klingeln an der Wohnungstür blitzschnell das Netzteil zieht? Wohl kaum! Ein „dummer“ Dieb, welcher bei dir wegen deines RasPi eingestiegen ist 😉 wird ihn vielleicht einfach so einstecken. Ermittlungsbeamte usw. wissen, dass man laufende Rechner nicht einfach so vom „Strom“ trennt, bzw. sie werden sich die Daten online holen wollen.
Und dann, noch einmal auch wenn das in dem Beitrag schon erwähnt wurde, der bei jedem Lese- und Schreibvorgang tätige Kryptotreiber belastet die CPU. Das bemerkt man bei einem modernen PC oder Notebook kaum – auf dem RasPi (und auch auf einen preiswerten Einsteiger-NAS) aber schon.
Fazit: nicht zu empfehlen! (Was ja auch der heutige Blog-Beitrag aussagt.)
MfG Peter
Das es nicht sinnvoll ist, da stimme ich dir voll und ganz zu. Jedoch denke ich würde es wahrscheinlich gar nicht so schwer sein einen Kippschalter (z.B. aussehend wie ein Lichtschalter) zur Stromunterbrechung des Raspis umzubauen. Insbesondere, wenn man „paranoid“ aus dem Titel des Aktionsmonats wörtlich nimmt 😉
Moin 🙂
Wenn ich mich recht erinnere, dann bietet Ubuntu die Verschlüsselung des Home- bzw. des Userverzeichnisses an. Die ganze Distri verschlüsseln macht vielleicht wenig Sinn, es geht wohl eher um die eigenen und privaten Dateien, die in der Regel im Home/User-Verzeichnis liegen, die dem Zugriff durch Dritte entzogen werden sollen.
Vielleicht gibt es ja eine Möglichkeit, im nachhinein das Homeverzeichnis zu verschlüsseln? Wäre das nicht ausreichend?
Gruß,
Kandinsky
Das ganze System zu verschlüsseln macht in sofern Sinn, dass dadurch auch Pfade zu temporären Dateien, die immer irgendwann irgendwo bestehen, auch geschützt sind. Das Homeverzeichnis zu verschlüsseln denke ich ist im Rahmen des Möglichen.
Soweit ich das feststellen konnte bedeutete eine Komplett-Verschlüsselung immer einen Performance-Verlust.
Ich hatte sowohl mein Smartphone, als auch die Platte meines Notebooks verschlüsselt und beide Male habe ich es aufgegeben, weil es einfach nicht mehr flüssig lief…
Es kommt immer auf die Leistung der verwendeten Komponenten an. Bspw. wäre es an meinem Tower Computer mit einer SSD und einem Intel i7-3770 denke ich möglich, ohne dass man viel davon bemerken sollte. Aber natürlich hat man nicht immer so ein Power Pack zur Hand – insbesondere wenn es mobil sein soll.
Zunächst einmal Kompliment für dieses Blog! Vor allem das Thema „Truecrypt auf dem RPi“ hat mir sehr weitergeholfen. Weiter so!!!
Zum Thema „Vollverschlüsselung der SD-Karte“ empfehle ich die Lektüre dieses Links: http://paxswill.com/blog/2013/11/04/encrypted-raspberry-pi/
Mit dieser Anleitung habe ich seit ca. 10 Tagen meinen „Medienraspi“ in verschlüsselter Version Betrieb (was natürlich völlig unsinnig ist). Es hängen 2 externe mittels Truecrypt verschlüsselte 3,5″-HDs am RPi. Zusammenfassend kann ich sagen, dass der Medienplayer nicht der Schnellste ist, aber absolut gut benutzbar. Bei der Verschlüsselung ist mir aufgefallen, dass mangels passendem Modul Twofish nicht möglich ist. Aber aes-cbc-essiv:sha256 dürfte wohl für den Hausgebrauch stark genug sein 😀