Gibt es eine Möglichkeit, einen "Hardware-Fingerabdruck" zu verwenden, um beim Booten automatisch ein eCryptFS-Verzeichnis einzuhängen?

787
Canuk

Ich möchte, dass ein eCryptfs-Verzeichnis "sicher" beim Booten automatisch gemountet wird, ohne mich einzuloggen. Mein Szenario ist folgendes: Ich habe einen eingebetteten ArchLinux-Server (ARM-basiert), der eine entfernbare microSD-Karte für den dauerhaften Speicher und das Dateisystem verwendet.

Ich hätte gerne ein verschlüsseltes Verzeichnis auf der microSD-Karte, damit jemand, der die microSD-Karte herausfängt und versucht, sie zu kopieren, nicht auf die Dateien im verschlüsselten Verzeichnis zugreifen kann.

Mein Gedanke war folgender:

Verwenden Sie dmidecodediese Option, um die ID und den "Hardware-Fingerabdruck" eines Servers abzurufen, und verwenden Sie einen Hash der dmidecodeAusgabe als Passphrase, um das Verzeichnis zu verschlüsseln.

Was ich also tun möchte, ist, beim Booten dmidecodedie Informationen abzurufen, zu hashieren und dann eCryptfs für das Automount zu verwenden, wobei der Hash als Passphrase verwendet wird.

Die Passphrase wird also nirgendwo gespeichert, sie wird beim Booten gezogen und zum Entsperren verwendet. Die offensichtliche Schwachstelle besteht darin, dass jemand, der die Startsequenz betrachtet, herausfinden kann, wie er funktioniert, und dann die Passphrase erhält, wenn er physischen Zugriff auf den Server hat. Da es spezifisch für den Server ist (unter der Annahme einer eindeutigen Seriennummer für den Prozessor), erhalten sie keine ähnliche Embedded-Server-Hardware. Sie benötigen die an die jeweilige microSD-Karte gebundene.

Dies dient in erster Linie als Abschreckung für jemanden, der die microSD-Karte (aber nicht den eingebetteten Server) stiehlt und diese kopiert.

Ich denke, meine unterste Zeile lautet: Wie würde ich das zur Startsequenz hinzufügen? Ich verwende Arch Linux v3 auf ARM-basierter Hardware.

1
Beachten Sie, dass mit dmidecode (wenn überhaupt) nur sehr wenig Entropie verbunden ist. Daher ist die Sicherheit minimal. Jeder, der Ihre Hardwarekonfiguration erraten kann (oder eine Reihe von Möglichkeiten auflistet), kann den Verschlüsselungsschlüssel ziemlich schnell herausfinden. Zumindest der Intel-Prozessor hatte lange Zeit keine eindeutigen Seriennummern. Ich bin nicht sicher über Armgeräte. Joshua Warner vor 8 Jahren 0
Vielen Dank. Was ich eigentlich herausfand, war, dass jedes Gerät eine Seriennummer von 00000000 hatte. Daher ist `dmidecode` out. Ich bin daran interessiert herauszufinden, ob es eine eindeutige, gerätespezifische Hardware-Nummer gibt, die ich dazu verwenden könnte. Canuk vor 8 Jahren 0

0 Antworten auf die Frage