SD-Karte verschlüsseln und automatisch entschlüsseln

  • Hallo zusammen,


    ich hab Hobbymäßig eine Software, welche ich auf Raspberry Pis verleihen will, damit sie auch andere nutzen können.

    Diese Software will ich aber schützen, dass nicht jeder darin rummurksen kann (PHP, ne MySQL-DB, Java-Dateien). Klar, das könnte ich zuerst mit einfachen Passwörtern auf dem Raspberry selbst verhindern.

    Ich will aber auch nicht, dass wenn jemand die SD-Karte in ein PC-Lesegerät steckt, an meine Software ran kommt.

    Dies würde sich ja auch mit einer Verschlüsselung lösen lassen.. da wäre dann aber das Problem, dass jeder den Key beim Start des Pis kennen müsste - somit wäre es wieder sinnlos.

    Ich hab schon drüber nachgedacht, einen USB-Stick als Dongle zu verwenden - ist dann aber das selbe wie bei der Passwortverschlüsselung.


    Hätte jemand ne Idee, wie ich das lösen kann?


    Liebe Grüße


    Fipsi

  • Servus Fipsi ,

    vergiß es ... der Aufwand, das wirklich einigermassen sicher hin zu bekommen steht imho in keinem Verhältnis zum Nutzen.


    Im Gegenteil: ich würde das sogar als Open Source unter einer entsprechenden Lizenz in einem Online-Repo hosten.

    Es gibt so viele kluge Köpfe auf der Welt ... und wenn die Software interessant ist, bekommst Du sicher auch Anregungen für Verbesserungen oder Erweiterungen.


    Die Zeiten von closed source sind imho schon lange vorbei ... und das ist auch gut so.

    Nicht umsonst wird im Zusammenhang mit Linux das Geld durch massgeschneiderte Hardware und Produkt-Support verdient.


    //EDIT

    btw:wenn das eine wirklich hyper-superduper innovative Software ist, dann wird sie sowieso schneller gehackt, als Du pieps sagen kannst. Ansonsten interessiert sich kein Mensch dafür ...

    Macht also in beiden Fällen irgendwie keinen Sinn, da Zeit und Energie zu investieren ...


    cu,

    -ds-

  • Die ganze /root Partition verschlüsseln geht am Pi (noch ?) nicht. Du kannst aber eine eigene (verschlüsselte) Partition anlegen, die aber bei aktiver Verwendung (also nach Passworteingebe) unverschlüsselt sichtbar wird.


    Eine automatische Entschlüsselung (gemeint wohl Freigabe der verschlüsselten Daten/Partition/Verzeichnis) ist zwar möglich, aber ziemlich sinnbefreit, weil sich zumindest der Hashwert des Verschlüsselungspasswortes wieder auf dem Datenträger befinden muß.



    Servus !

    RTFM = Read The Factory Manual, oder so

  • Danke ihr beiden für eure Antworten.


    Es geht mir bei dem Gedanken, die Software unzugänglich zu machen weniger darum, dass die Software bösartig gehackt werden könnte. Davor kann man eh nie sicher sein.

    Meine Software läuft auf meinem Onlineserver, wird aber auch öfter an Orten ohne Internetzugang verwendet, weshalb ich eben die Offline-Variante mit dem Pi anbieten will. Den Datenaustausch zwischen dem Pi und dem Onlineserver werd ich vmtl. mit cURL machen und natürlich nur mit passwortgeschützen Zugangsberechtigungen.

    Ich arbeite viel und eng mit meinen Nutzern zusammen, sodass ich deren Wünsche und Vorschläge - soweit möglich und sinnvoll - umsetze.

    Ich will ehrlich gesagt einfach nicht, dass da noch jemand in meiner Software mitmischt, ohne, dass ich davon weiß.


    Meine Software ist für Turniere und Meisterschaften einer Randsportart, als für die meisten überhaupt gar nicht interessant, weshalb es als OpenSource auch gar nicht so viel Input bekommen würde.


    Liebe Grüße


    Fipsi

  • Ich persönlich find es immer schade, wenn jemand im Forum um Unterstützung bittet und dann das Ergebnis doch der Allgemeinheit vorenthalten möchte. Trotzdem verstehe ich deine Intention, glaube aber auch dass du mit vertretbarem Aufwand keinen richtigen Schutz realisieren kannst.

  • Micky, das kommt leider aus meiner Erfahrung:

    in einem anderem Forum hatte ich mal um Unterstützung gefragt, zu einem Hardwareprojekt mit einem Arduino.. hat auch zu diesem großen Projekt gehört. Das Ende vom Lied:

    Im Forum haben sich welche das Teilprojekt abgeschaut und das dann mit einem riesen Profit an den Bundesverband verkauft. Auf meine Reaktion hieß es dann nur: "selbst schuld, wenn du zu sowas öffentlich um Hilfe bittest".


    Zumal auf den Pis auch ne Java-Software laufen soll, die dann auch Hardware (LED-Strips über I²C und GIPO-Pins) steuern soll, die ich nur gegen ein kleines Entgelt hergeben will (oder vllt. später doch mal als Open Source, wenn ich das dann mal fertig hab).

  • Ich will aber auch nicht, dass wenn jemand die SD-Karte in ein PC-Lesegerät steckt, an meine Software ran kommt.

    Dies würde sich ja auch mit einer Verschlüsselung lösen lassen.. da wäre dann aber das Problem, dass jeder den Key beim Start des Pis kennen müsste - somit wäre es wieder sinnlos.

    Baue halt in die Ver- / Entschlüsselung ein Paar Informationen aus der Gerätehardware des RPi mit ein, welche quasi im Hintergrund mit dem Passwort des User zusammen, den Key zur Ver- bzw. Entschlüsselung ergeben. Damit sollte es nicht mehr so einfach sein, an die Daten auf einem geschützten Bereich auf der SD Karte zu kommen. Aber einen ultimativen Schutz wird es wohl nicht geben.

  • Baue halt in die Ver- / Entschlüsselung ein Paar Informationen aus der Gerätehardware des RPi mit ein, welche quasi im Hintergrund mit dem Passwort des User zusammen, den Key zur Ver- bzw. Entschlüsselung ergeben.


    Auf sowas hatte ich gehofft:

    Ich würde das ganze ohne Passworteingabe lösen wollen: Wenn die SD-Karte sozusagen erkennt, sie steckt in einem Pi und wird von diesem gebootet.

    Ich hab nur mit der Administration von nem Pi, bzw. Linux generell, noch nicht so viel Ahnung/Erfahrung, sodass ich hierfür ein paar google-fähige Stichwörter oder Links zu Tutorials benötigen würde.

  • Ich hab nur mit der Administration von nem Pi, bzw. Linux generell, noch nicht so viel Ahnung/Erfahrung, sodass ich hierfür ein paar google-fähige Stichwörter oder Links zu Tutorials benötigen würde.

    Da wäre ich vorsichtig. Nicht, dass andere hier das Problem für dich lösen und mit riesen Profit verkaufen.

    :lol:

  • Da wäre ich vorsichtig. Nicht, dass andere hier das Problem für dich lösen und mit riesen Profit verkaufen.

    :lol:

    ich hab mittlerweile so viel Zeit und Geld in mein Projekt reingesteckt, da kann mir niemand böse sein, wenn ich dafür eine Kleinigkeit verlang.. ;)
    Also meinen momentanen Berechnungen zufolge, hab ich in etwa 20 Jahren mein bisher Investiertes Geld wieder drin.. ;):shy::^^:

    Ich glaube, da kann mir niemand Gewinnabsicht vorwerfen..


    Während die anderen mit meinem Teilprojekt ne knapp unter 5-stellige Summe Plus damit gemacht haben.. :neutral:

  • Meine Software ist für Turniere und Meisterschaften einer Randsportart, als für die meisten überhaupt gar nicht interessant, weshalb es als OpenSource auch gar nicht so viel Input bekommen würde.

    Aber wenn dann jemand Deine SW irgendwo einsetzt und sie unter der GPL steht muessen aller Erweiterungen auch gemäß GPL allgemein in Source verfügbar sein. Das ist haeufig ein Hinderungsgrund fuer kommerzielle Verwendung. In wieweit dann die FSF bei kleinen Projekten hilft die GPL-Rechte durchzusetzen ist natuerlich die Frage.

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert =O Bei mir tut das raspiBackup automatisch ;)

  • Aber wenn dann jemand Deine SW irgendwo einsetzt und sie unter der GPL steht muessen aller Erweiterungen auch gemäß GPL allgemein in Source verfügbar sein. Das ist haeufig ein Hinderungsgrund fuer kommerzielle Verwendung. In wieweit dann die FSF bei kleinen Projekten hilft die GPL-Rechte durchzusetzen ist natuerlich die Frage.

    ich muss zugeben, dass ich mich mit diesen Lizenzrechten gar nicht so genau auskenn. Ich nutze aber auch so gut wie keine Frameworks oder ähnliches, sondern hab zu 99,9 % des Codes selbst geschrieben.


    Dann siehe es halt als Lehrgeld. :lol:

    kommt auf den Betrag an, ob ich darauf eingehen würde.. 8o

  • ich muss zugeben, dass ich mich mit diesen Lizenzrechten gar nicht so genau auskenn.

    "Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet."

    ..... Hast Du bei Deiner Anmeldung hier akzeptiert.

    Und ist auch nicht überraschend unüblich im kostenlosen Web 2.0


    Servus !

    RTFM = Read The Factory Manual, oder so

  • "Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet."

    ..... Hast Du bei Deiner Anmeldung hier akzeptiert.

    Und ist auch nicht überraschend unüblich im kostenlosen Web 2.0


    Servus !

    ich hab jetzt zwei mögliche Interpretationen, was du mir damit sagen willst.. falls du mich meinst:


    Ich hab keine Gewinnabsicht, also ist es nicht zum kommerziellen Gebrauch.


    Falls du meine Nutzer meinst:


    Hab ich in meinen Nutzungsbedingungen sinngemäß drinstehen.

  • Ich würde das ganze ohne Passworteingabe lösen wollen: Wenn die SD-Karte sozusagen erkennt, sie steckt in einem Pi und wird von diesem gebootet.

    Und wie stellst du dir das vor? Die SD-Karte ist ein Datenspeicher, die kann nichts "erkennen". Das booten wiederum geschieht vom Pi aus, der sich die benötigten Dateien einfach von der SD-Karte liest.

  • Ich hab Hobbymäßig eine Software, welche ich auf Raspberry Pis verleihen will, damit sie auch andere nutzen können.

    https://www.gnu.org/licenses/quick-guide-gplv3
    GNU GPLv3, meiner Meinung nach eine gute Lizenz.

    Quote

    Grundlagen der GPL

    Niemand sollte durch die genutzte Software beschränkt werden. Es gibt vier Freiheiten, die jeder Nutzer haben sollte:

    • die Freiheit, das Programm für jeden Zweck auszuführen,
    • die Freiheit, das Programm eigenen Bedürfnissen anzupassen,
    • die Freiheit, die Software mit Freunden und Mitmenschen auszutauschen und
    • die Freiheit, gemachte Änderungen mit anderen auszutauschen.

    Wenn ein Programm Benutzern alle diese Freiheiten bietet, nennen wir es Freie Software.

    Wenn jemand Nutznießer von kostenloser "Freier Software" ist, die nur dadurch lebt und leben kann, weil sie von vielen Idealisten mit großem Engagement, viel Arbeit und teilweise hohem Aufwand erstellt wurde und wer der dann dieser Gemeinschaft etwas beisteuern oder zurückgeben kann, dann finde ich das richtig klasse. Alles andere nicht......

  • Und wie stellst du dir das vor? Die SD-Karte ist ein Datenspeicher, die kann nichts "erkennen". Das booten wiederum geschieht vom Pi aus, der sich die benötigten Dateien einfach von der SD-Karte liest.

    Das war unglücklich ausgedrückt:

    Ich meinte damit, dass, statt das Passwort einzugeben, erkannt wird, ob von einem Raspberry gebootet wird.

  • Micky, das kommt leider aus meiner Erfahrung:

    in einem anderem Forum hatte ich mal um Unterstützung gefragt, zu einem Hardwareprojekt mit einem Arduino.. hat auch zu diesem großen Projekt gehört. Das Ende vom Lied:

    Im Forum haben sich welche das Teilprojekt abgeschaut und das dann mit einem riesen Profit an den Bundesverband verkauft. Auf meine Reaktion hieß es dann nur: "selbst schuld, wenn du zu sowas öffentlich um Hilfe bittest".

    ....


    ach komm ... das ist doch Unsinn, was Du uns da erzöhlst.

    Entweder hattest Du das Projekt dort vorgestellt - dann hast Du auf alle das Copyright drauf. Oder jemand hat lediglich eine Idee aufgegriffen - das ist halt Pech aber ganz normal.

    Jedenfalls hättest Du im Zweifelsfall problemlos nachweisen können, dass Dein Projekt der Ursprung ist und z.B. beim "Bundesverband" darauf inweisen können.

    Das "selbst schuld, wenn du zu sowas öffentlich um Hilfe bittest" hast Du Dir imho aus den Fingern gesogen ... so eine Aussage trifft niemand, der abkupfert, denn damit gibt er den Mißbrauch ja direkt zu.


    Ist zwar eine nette "Weihnachtsgeschichte" ... aber so läuft das in der Realität nun mal nicht ab.


    cu,

    -ds-