Raspberry SD Karte schützen vor Auslesen
Hallo zusammen,
Ich habe ein Programm auf einem Raspberry und würde gerne verhindern das jemand das kopiert.
Kann ich eine SD Karte so schützen das ich z.B. ein EEPROM auf eine Platine löte und dann per I2C den Key auslese und dann on the fly die Karte entschlüssle.
So als TPM Ersatz auf dem Raspberry wie der Zymkey von Zymbit.
Funktioniert mein Ansatz?
Gibt es Beispiele?
Ich habe ein Programm auf einem Raspberry und würde gerne verhindern das jemand das kopiert.
Kann ich eine SD Karte so schützen das ich z.B. ein EEPROM auf eine Platine löte und dann per I2C den Key auslese und dann on the fly die Karte entschlüssle.
So als TPM Ersatz auf dem Raspberry wie der Zymkey von Zymbit.
Funktioniert mein Ansatz?
Gibt es Beispiele?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 650814
Url: https://administrator.de/contentid/650814
Ausgedruckt am: 21.11.2024 um 17:11 Uhr
11 Kommentare
Neuester Kommentar
Moin,
ggf. hilft dir das weiter: https://community.zymbit.com/t/encrypting-your-root-file-system-on-raspb ...
VG
ggf. hilft dir das weiter: https://community.zymbit.com/t/encrypting-your-root-file-system-on-raspb ...
VG
@BirdyB
Entschuldigen Sie wenn ich jetzt Frage wie Sie das auf einer Standard Installation , wo Teile des BS auf einer FAT32 Partition liegen umsetzen wollen ?
Wo oder Wie können Sie auf Teilen des FAT32 Systems Zugriffsrechte anwenden ?
Entschuldigen Sie wenn ich jetzt Frage wie Sie das auf einer Standard Installation , wo Teile des BS auf einer FAT32 Partition liegen umsetzen wollen ?
Wo oder Wie können Sie auf Teilen des FAT32 Systems Zugriffsrechte anwenden ?
Zitat von @147448:
@BirdyB
Entschuldigen Sie wenn ich jetzt Frage wie Sie das auf einer Standard Installation , wo Teile des BS auf einer FAT32 Partition liegen umsetzen wollen ?
Wo oder Wie können Sie auf Teilen des FAT32 Systems Zugriffsrechte anwenden ?
Was hat das jetzt mit der Fragestellung zu tun? Es geht doch darum, den ext4-Part zu schützen, wenn ich den TO richtig verstanden habe.@BirdyB
Entschuldigen Sie wenn ich jetzt Frage wie Sie das auf einer Standard Installation , wo Teile des BS auf einer FAT32 Partition liegen umsetzen wollen ?
Wo oder Wie können Sie auf Teilen des FAT32 Systems Zugriffsrechte anwenden ?
Dann schauen sie mal auf Ihre Micro SD Card ! Und schauen was wo liegt !
Und wenn ich den Eingangs-Post lese will er die gesamte SD Card schützen !
"Kann ich eine SD Karte so schützen das ich z.B. ein EEPROM auf eine Platine löte und .. "
Ich lese hier die SD Card als ganzes, und nicht eine einzelne Datei auf einer EXT4 Partition ;)
Dann muss er CHOWN benutzen.
Aber selbst mit nur Root Leserechten, lässt sich dann immer noch der Dateiinhalt via Zwischenablage des Terminals kopieren !
Und dann weiter ? Das Modul ab, und weg , und die Karte als Image Copy selbst mit dem Verschlüsselungsteil in einem KVM ! Und dann ?
Jetzt müsste man erst einmal wissen wie weit der Schutz reichen soll ! Solange man physikalisch an die Karte ran kommt, ist es wie bei jeder Datenspeicherung ! Man hat Zeit !
Geht es nur um den punktuellen Schutz einzelner Dateien in einem laufenden System, die auch auf der EXT4 Partition liegen bringt der Linux Kernel alles mit !
Und wenn ich den Eingangs-Post lese will er die gesamte SD Card schützen !
"Kann ich eine SD Karte so schützen das ich z.B. ein EEPROM auf eine Platine löte und .. "
Ich lese hier die SD Card als ganzes, und nicht eine einzelne Datei auf einer EXT4 Partition ;)
Dann muss er CHOWN benutzen.
Aber selbst mit nur Root Leserechten, lässt sich dann immer noch der Dateiinhalt via Zwischenablage des Terminals kopieren !
Und dann weiter ? Das Modul ab, und weg , und die Karte als Image Copy selbst mit dem Verschlüsselungsteil in einem KVM ! Und dann ?
Jetzt müsste man erst einmal wissen wie weit der Schutz reichen soll ! Solange man physikalisch an die Karte ran kommt, ist es wie bei jeder Datenspeicherung ! Man hat Zeit !
Geht es nur um den punktuellen Schutz einzelner Dateien in einem laufenden System, die auch auf der EXT4 Partition liegen bringt der Linux Kernel alles mit !
Ja das geht theoretisch !
Ich habe es selber auf einem PI noch nicht versucht. Aber unter Linux auf einer PC Maschine ist dieses möglich.
Wenn es dir gelingt die Installationsroutine so umzuschreiben, dass während der Installationsroutine ein LVM genutzt wird, ist das möglich dass du auf einer Partition, die vollständig verschlüsselt ist, und an die Geräte ID gebunden ist und beim Systemstart an ein Anmeldepasswort gebunden ist.
Erst mit der Eingabe des LVM Passwortes und der über einen Script auszulesende Geräte ID wäre das dann so möglich. Damit wird diese Karte ohne einen Kyptografischen Hack für andere PI Geräte unbrauchbar, oder zumindest wichtigen Daten bleiben geschützt.
Ich habe es selber auf einem PI noch nicht versucht. Aber unter Linux auf einer PC Maschine ist dieses möglich.
Wenn es dir gelingt die Installationsroutine so umzuschreiben, dass während der Installationsroutine ein LVM genutzt wird, ist das möglich dass du auf einer Partition, die vollständig verschlüsselt ist, und an die Geräte ID gebunden ist und beim Systemstart an ein Anmeldepasswort gebunden ist.
Erst mit der Eingabe des LVM Passwortes und der über einen Script auszulesende Geräte ID wäre das dann so möglich. Damit wird diese Karte ohne einen Kyptografischen Hack für andere PI Geräte unbrauchbar, oder zumindest wichtigen Daten bleiben geschützt.
Moin,
prinzipiell wäre erstmal zu klären, gegen welche Art Angreifer man sich schützen will:
Der "Käufer" dervielleicht mal weiß, wie man eine SD-Karte kopiert oder der Linux-Guru, der sich an der Kiste anmeldet und ggf die "automatisch" entschlüsselten Daten ausliste und sich dann einen neue Karte mit einem angepaßten System "backt".
Wird das System schon vorinstalliert geliefert oder schickt man dem Angreifer nur die SD-Karte", damit er sie in "seinen" RasPI einsteckt?
Da wären noch viele weitere Fragen, um sich dann das richtige Verfahren herauszusuchen. Wen Du die Software selbst programmierts, köntnest Du z.B. Lizenzmanagementsystem wie z.B. von WIBU nehmen. Dann kannst Du per Dongle, ggf. über Netzwerk, kontrollieren, "wie oft" udn wo Deine Software laufen darf.
lks
prinzipiell wäre erstmal zu klären, gegen welche Art Angreifer man sich schützen will:
Der "Käufer" dervielleicht mal weiß, wie man eine SD-Karte kopiert oder der Linux-Guru, der sich an der Kiste anmeldet und ggf die "automatisch" entschlüsselten Daten ausliste und sich dann einen neue Karte mit einem angepaßten System "backt".
Wird das System schon vorinstalliert geliefert oder schickt man dem Angreifer nur die SD-Karte", damit er sie in "seinen" RasPI einsteckt?
Da wären noch viele weitere Fragen, um sich dann das richtige Verfahren herauszusuchen. Wen Du die Software selbst programmierts, köntnest Du z.B. Lizenzmanagementsystem wie z.B. von WIBU nehmen. Dann kannst Du per Dongle, ggf. über Netzwerk, kontrollieren, "wie oft" udn wo Deine Software laufen darf.
lks
Zitat von @Lochkartenstanzer:
prinzipiell wäre erstmal zu klären, gegen welche Art Angreifer man sich schützen will:
Erstens das und dann ist die Frage was er vor hat und ob das in der Form überhaupt sinnvoll ist. Meiner Erfahrung nach ist das Problem meist irgendwo anders, wenn man den Code schützen will wie z.B. PWs im Code die niemand anders extrahieren können soll. Bei guten Anwendungen muss man den Code i.d.R. gar nicht unbedingt schützen. Sieht man an den vielen und stetig wachsenden OS Projekten, die ihren Code sogar freiwillig für jeden ins Internet stellen.prinzipiell wäre erstmal zu klären, gegen welche Art Angreifer man sich schützen will:
Die Ära der Obfuscatoren ist auch vorbei, heutzutage macht man so was wie z.B. Minifying im Web Bereich eher aus Performance Gründen und nicht weil man Angst hat jemand anders sieht den Code (was sowieso immer möglich ist, das ist nur eine Frage des Aufwandes).
So jetzt mal paar Fakten um Thema !
Solange ich als potentieller Angreifer körperlich an die SD Karte komme, hast du schon verloren. Mit allen möglichen und gängigen Linux Tools kann man von jedem Datenträger ein Image, und damit eine Kopie erzeugen !
Soviel zu dem Traum Kopierschutz !
Also bleibt dir nur der Weg eine LVM mit einer verschlüsselten Partition einzurichten, so das auch der zu schützende Code so gut es nur möglich geschützt ist.
Solange ich als potentieller Angreifer körperlich an die SD Karte komme, hast du schon verloren. Mit allen möglichen und gängigen Linux Tools kann man von jedem Datenträger ein Image, und damit eine Kopie erzeugen !
Soviel zu dem Traum Kopierschutz !
Also bleibt dir nur der Weg eine LVM mit einer verschlüsselten Partition einzurichten, so das auch der zu schützende Code so gut es nur möglich geschützt ist.
Sehr viele Infos... für all zu viel Aufwand halte ich es nicht wenn der Schlüssel auf dem System liegen muss aber gut wenn du meinst, dann verschlüssel halt:
http://www.debian.org/doc/manuals/debian-reference/ch09.en.html#_data_e ...
http://wiki.debian.org/TransparentEncryptionForHomeFolder
http://www.debian.org/doc/manuals/debian-reference/ch09.en.html#_data_e ...
http://wiki.debian.org/TransparentEncryptionForHomeFolder