Stell dir vor alle deine Geräte sind weg. Was nun? Wie kommst du an deine Daten? Wie wirst du wieder produktiv?
Als es im Jahr 2018 zahlreiche Durchsuchungen im Chaos-Umfeld, besonders bei den Zwiebelfreunden gab, habe ich mir erstmals Gedanken über geeignete Bootstrapping-Techniken gemacht. Also was passiert, wenn Beispielsweise die Polizei alle deine Geräte beschlagnahmt? Das ist heute nicht mal mehr so abwegig und kann schnell passieren. Hausdurchsuchungen finden immer wieder aus scheinbar belanglosen Gründen statt. Die Hardware kann dann für lange Zeit erst mal weg sein.
Ein weiterer Grund für Bootstrapping ist, dass es auch passieren kann, das dir etwas zustößt. Also wie kommst du an Accounts und Passwörter für Server, Passwortmanager, Festplatten und Co, wenn du auf den Kopf gefallen bist und dich einfach nicht mehr erinnern kannst? Oder wie kommen evtl. auch Hinterbliebene an diese Daten, um evtl. noch Dinge regeln zu können?
Das alles sind gute Gründe eine geeignete Bootstrapping-Strategie zu erstellen. Hier möchte ich (zumindest einen Teil) meiner Strategie vorstellen.
Das Hauptproblem: Verschlüsselte Backups
Verschlüsselte Backups sind wichtig. Das Problem dabei ist allerdings, dass ich die Schlüssel für die Backups nicht kenne. Sie sind zu komplex und zu zahlreich. Darum lagern diese wiederum in Passwortdatenbanken auf anderen verschlüsselten Geräten. Sollten bestimmte Geräte weg sein oder sollte mir etwas zustoßen entsteht ein Henne-Ei-Problem: Ich kann die Backups ohne Zugriff auf bestimmte andere Backups oder Geräte nicht wiederherstellen, da ich die Schlüssel nicht kenne. Es ist verflixt.
Ein Zentrales kritisches Backup
Aus diesem Grund habe ich neben allen anderen Backups ein zentrales kritisches Backup eingerichtet. Es handelt sich dabei um eine verschlüsselte Datei, die alle kritischen Daten (SSH-Schlüssel, Passwortdatenbanken, Zertifikate, Skripte, etc…) enthält. Diese kritischen Daten werden an einem geheimen Ort aufbewahrt und regelmäßig aktualisiert. Ort und Schlüssel sind allerdings auch so konzipiert, dass diese nicht für mich merkfähig sind.
Kritische Daten auf Papier
Das ist der Grund, weshalb ich die Zugangsdaten zu diesen kritischen Daten zusätzlich auf Papier aufbewahre. Auf diesem Dokument, ist neben vielen anderen wichtigen Passwörtern, der geheime Ort des Backups, sowie der Schlüssel dazu verzeichnet.
Die Daten stehen aber nicht einfach nur im Klartext lesbar auf einem Zettel. Sie wurden mit einem simplen aber unbrechbaren kryptografischen Verfahren codiert und auf mehrere Zettel verteilt.
Das One-Time-Pad
Das One-Time-Pad (OTP) ist eine der einfachsten und zugleich sichersten Verschlüsselungstechniken, die es gibt. Ich habe es gewählt, weil ich die Entschlüsselung zur Not auch mit einem Stift und Papier bewerkstelligen könnte. Außerdem können Teile des Pads auch dann noch entschlüsselt werden, wenn ein Teil beschädigt ist, was für die Aufbewahrung auf Papier ein echter Pluspunkt ist. Zudem kann es (richtig verwendet) auch durch beliebig hohe Rechenleistung und Zeitaufwand nicht gebrochen werden, da es sich nicht um ein mathematisches, sondern um ein informationstechnisches Problem handelt. So ist hier nicht die Frage welcher Schlüssel überhaupt der richtige ist, sondern welche der zahlreichen möglichen Schlüssel die falschen sind, ausschlaggebend. Aber das werde ich in einem weiteren Post noch mal genauer behandeln. Ich habe hier ein GitHub-Repository (PHP) eingerichtet, das ich für die Ver- und Entschlüsselung nutzen kann.
Und wie komme ich nun an die Daten?
Mithilfe des One-Time-Pad kann ich meine Daten in zwei Blöcke spalten: Ein zufällig generiertes Pad und der darauf basierende verschlüsselte Text. Beide Blöcke sind gleich lang. Erst wenn die Informationen aus den beiden Blöcken wieder zusammen kommen, können die Daten wiederhergestellt werden. Das OTP bietet mir darüber hinaus die Möglichkeit die Daten mit einem weiteren Pad noch mal zu verschlüsseln. Dann sind es also drei Zettel, die wieder zusammenkommen müssen. Das Pad und den chiffrierten Text habe ich mir jeweils an verschiedenen Orten selbst ausgedruckt. Jeder Zettel ist ohne das passende Gegenstück völlig nutzlos.
Im Notfall kann ich mir das Pad schnappen, zu meinen geheimen Orten gehen und die Daten mithilfe des OTP wiederherstellen. Dazu muss ich die Zeichen einfach nur abtippen oder einscannen und bekomme die Daten wieder. Darauf basierend habe ich dann wieder alle Passwörter, SSH-Schlüssel und sonstigen Zugänge verfügbar und kann meine Produktivität schnell wieder hochfahren.
Das alles ist natürlich nur eine mögliche Lösung für das Problem. Wichtig ist nur, dass du dir um solche Sachen allgemein Gedanken machst, und so deine eigene Lösung für dieses Problem findest. Denn auch eine schlechte Vorbereitung ist immer noch besser als keine Strategie zu haben.
Dabei solltest du auch an Zwei-Faktor-Authentifizierung denken. Was machst du zum Beispiel, wenn dein Telefon weg ist? Bekommst du schnell Ersatz? Kannst du es schnell wiederherstellen?
Titelbild: https://pixabay.com/de/photos/festplatte-disco-computer-775847/