Wie einfach wäre es, dieses Setup zu unterbrechen (das Root-Dateisystem zu entschlüsseln und von einer SD-Karte booten zu lassen)?
Wie schwer es ist, Ihr Setup zu "brechen", hängt von der Anzahl der Entropiebits in der Methode ab, mit der Sie das Dateisystem selbst signieren / verschlüsseln (da dies die Gesamtzahl der eindeutigen Kombinationen bestimmt, die für das Brute-Force-Verfahren verwendet werden können) das Passwort).
Was sind die schwächsten Teile?
Ohne Zweifel verwenden Sie eine vordefinierte CID als Kennwort sowie eine benutzerdefinierte Pseudozufallszahlen-Generierungsfunktion.
Die CID einer SD - Karte wird nur angenommen, schreibgeschützt werden, aber es ist nicht ungewöhnlich, nicht-konforme Flash - Speichergeräte in der heutigen Zeit zu finden. Einige Leute haben sogar die Fähigkeit demonstriert, das CID mit bestimmten SD-Karten zu überschreiben . Dies würde es einfacher machen, das Passwort brutal zu erzwingen, vor allem, wenn eine SD-Karte nach dem Klonen einer emuliert wird (was Sie vielleicht in Betracht ziehen).
Schließlich hat die Verwendung eines beliebigen Pseudozufallszahlengenerators bereits einige intrinsische Fehler, weil es nicht zufällig ist - es gibt einen Grund, warum es Pseudozufallszahlen genannt wird . Es ist möglicherweise besser, einen vorgefertigten, verschlüsselten Bootloader (wie TrueCrypt oder LUKS, die beide auf dem Raspberry Pi funktionieren) zu verwenden, und keine manuellen Kernel-Änderungen vornehmen zu müssen.
Wie einfach ist es, den Kernel zu dekompilieren und die benutzerdefinierten Verschlüsselungsfunktionen zu finden?
Es ist sehr schwierig, etwas zu dekompilieren. Umgekehrt ist die Demontage einer kompilierten Anwendung oftmals trivial, und es gibt viele Werkzeuge, die dazu verwendet werden können, um die umgekehrte Konstruktion wieder in eine andere übergeordnete Sprache umzuwandeln. Wenn ein Angreifer sogar Zugriff auf einen kompilierten Kernel hat, ist die Analyse eines Pseudo-Zufallszahlengenerators wahrscheinlich trivial, wenn der Code nicht absichtlich verschleiert wird.
TL, DR : Das Rad muss nicht neu erfunden werden, wenn es um Verschlüsselung und Sicherheit geht. Bleiben Sie beim Bewährten. Es gibt verschiedene Verschlüsselungsoptionen für Festplatten, die bereits auf dem Raspberry Pi einwandfrei funktionieren. Ich würde vermeiden, die CID der SD-Karte als eine Art "Passwort" zu verwenden - selbst wenn es nicht geändert werden kann, gibt es Möglichkeiten, diesen Wert zu fälschen.
Der Kopierschutz ist in der SD-Kartenspezifikation bereits als CPRM enthalten .