Gibt es eine Möglichkeit, die Dateien auf einer SSD zu verschlüsseln, die unbeaufsichtigt gebootet werden muss?

377
Chriszuma

Mein Unternehmen entwickelt ein Produkt, bei dem es sich im Wesentlichen um einen Linux-PC mit kundenspezifischer Software in einer schicken Box handelt.

Da für das Dateisystem eine handelsübliche SSD verwendet wird, befürchte ich, dass ein skrupelloser Kunde das Gerät zerlegen, die gesamte Software von der SSD herunterladen und ein eigenes System erstellen könnte.

Die naheliegende Antwort wäre die Verwendung eines Kennworts für die BIOS-Festplatte, das System muss jedoch vollständig unbeaufsichtigt gestartet werden. Gibt es Möglichkeiten, unsere Daten zu verschlüsseln, aber trotzdem ohne Eingabe von Kennwörtern booten? Möglicherweise etwas mit der CPU-Seriennummer oder der MAC-Adresse verbunden?

1
Wenn Sie sich mit dem Reverse-Engineering des Geräts beschäftigen, sollten Sie ihm dann für jedes hergestellte Gerät eine eindeutige ID zuweisen und diese ID in den Code einbetten, damit sie zurückverfolgt werden kann, falls jemand das Reverse-Engineering durchführt. bwDraco vor 10 Jahren 0
Ich habe noch nie eine Linux-Implementierung gesehen, aber Sie fragen im Grunde, wofür das TPM entwickelt wurde. Hat Ihr System ein TPM? Theoretisch werden die Laufwerksverschlüsselungsschlüssel auf das TPM übertragen und können theoretisch nicht extrahiert werden. (Siehe Bitlocker) Zoredache vor 10 Jahren 2

2 Antworten auf die Frage

3
LPChip

Sie können keine gesamte Festplatte verschlüsseln und trotzdem von dieser booten, ohne auf die Daten zugreifen zu können. Ich meine, wenn der Bootloader darauf zugreifen kann, kann das jeder. Sie möchten einen Bootloader erstellen, der Zugriff auf das Booten hat und den Rest sicherer macht.

Vorzugsweise möchten Sie Ihr Betriebssystem / Ihr Programm in einen Zustand kompilieren, in dem das Dekompilieren so zeitaufwendig wird, dass Sie lieber selbst etwas entwickeln. Vielleicht ist es eine Idee, den Code nur für bestimmte Hardware-Tags ausführen zu lassen. Wenn die Hardware nicht vorhanden ist, wird ein seltsamer Fehler ausgegeben.

Das dachte ich auch. Ich denke, meine Folgefrage wäre, welches nicht fudgable Hardware-Tag ich als Schloss verwenden könnte. Chriszuma vor 10 Jahren 0
@ Chriszuma: Die klassische Lösung für dieses Problem ist [Code-Verschleierung] (https://en.wikipedia.org/wiki/Obfuscation_%28software%29). Achten Sie auf die Worte "seltsamer Fehler": Wenn es für den Benutzer offensichtlich ist, dass die Software nicht ausgeführt wird, weil sie sich auf nicht autorisierter Hardware befindet, kann der Benutzer versuchen, die Hardware selbst zu entwickeln. Wenn Sie dem Benutzer die Ursache des Fehlers nicht bewusst machen, wird er seltener versuchen, das Gerät rückzuentwickeln. bwDraco vor 10 Jahren 2
0
yorodm

Wenn Sie Linux als Betriebssystem verwenden, sollten Sie LUKS auschecken . Es ist bekannt, auch auf mobilen Geräten zu arbeiten

Und wie kann das System ** unbeaufsichtigt ** gebootet werden? AFAIK luks erfordert, dass Sie an der Eingabeaufforderung ein Kennwort oder eine nicht verschlüsselte Schlüsseldatei angeben. Zoredache vor 10 Jahren 0
Meiner Meinung nach klingt "unverschlüsselte Schlüsseldatei" wie ein guter Anfang. Überprüfen Sie [this] (http://www.howtoforge.com/automatically-unlock-luks-encrypted-drives-with-a-keyfile) und [this] (http://www.gno.org/~gdr/sysadmin) / centos / 5 / kryptoplatte /) yorodm vor 10 Jahren 0