Kopierschutz Raspberry PI

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Gemeinde,

    gibt es eine Möglichkeit einen Kopierschutz zu integrieren?
    Habe mich schon mit Dongles beschäftigt, aber sobald ich an das Dateisystem komme, kann ich natürlich alles was mit dem Dongle zu tun hat entfernen.

    Hat jemand noch andere/bessere Ansätze?

    Danke schon mal im Voraus!
    :bravo2:

  • Na das ist einfach,

    Ich habe ein Projekt mit dem Raspberry PI (im Bereich Spannungsüberwachung) erstellt und mag jetzt nicht, daß jeder der im Internet ein Raspberry kaufen kann die SD-Karte kopiert.

    Das ist eigentlich alles

    • Offizieller Beitrag

    Dann richte für dein Programm oder was auch immer das ist ein Lizenzmanagment ein. Generell lehne ich sowas ab. Die Informationen für dein Projekt hast du auch aus dem Internet (und diesem Forum) gekriegt (kopiert) ohne das sich die Informationsgeber darüber beschweren.

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

  • Hallo MB_LTRX,

    mein Ansatz, mit dem ich meine Projekte geschützt habe, ist folgender:

    Stufe 1:
    Jeder Datenträger besitzt eine eindeutige Kennung (nachdem er formatiert wurde). Deine Software fragt diese Kennung ab und verschlüsselt diese nach einem beliebigen (aber sichereren Algorithmus). In Deiner Software steht jetzt nicht diese Kennung, sondern die verschlüsselte Version der Kennung. Wenn die verschlüsselte Kennung des Datenträgers mit der Kennung aus der Software identisch sind, dann liegt der Original-Datenträger vor, für den Du Deine Solftware zu laufen erlaubst - in jedem anderen Fall liegt eine von Dir nicht authorisierte Kopie vor - die Software bricht ab.

    Bsp.: Die Kennung sei ABCD, ABCD verschlüsselt sei WXYZ

    Dann ist WXYZ entschlüsselt auch ABCD.

    Verschlüsseln: ABCD ==> WXYZ
    Entschlüsseln: WXYZ ==> ABCD


    Stufe 2:
    Ähnliche Theorie wie in Stufe 1.

    Kennung sei ABCD.

    Verschlüsseln: IJKL ==> ABCD ==> WXYZ
    Entschlüsseln: WXYZ ==> ABCD ==> IJKL

    In Deiner Software steht die entschlüsselte Version (IJKL) Deiner Datenträger-Kennung (ABCD) und die verschlüsselte Version (WXYZ) Deiner Datenträger-Kennung (ABCD). Wenn die entschlüsselte Version von WXYZ identisch ist mit der verschlüsselten Version von IJKL und dies identisch mits mit der ausgelesenen Datenträgerkennung, dann liegt der Original-Datenträger vor.


    Was Du jetzt brauchst:
    1. Herausfinden, wie Du die Datenträger-Kennung auslesen kannst
    2. einen Verschlüsselungs-Algorithmus
    3. einen zu 2. passenden Entschlüsselungs-Algorithmus

    Es gibt 4.294.967.296 verschiedene Datenträger-Kennungen. Die Wahrscheinlichkeit, dass jemand anders einen Datenträger mit der gleichen Kennung hat, UND der Deine Software illegal nutzen möchte, ist wohl vernachlässigbar.

    Diese Vorgehensweise hat sich bei compilierten Programmen bewährt - bei Skripten dürfte dies nicht funktionieren, da diese beliebig änderbar sind. Je größer das compilierte Programm ist, umso schwieriger wird es, Verschlüsselungs- und Entschlüsselung als solche zu identifizieren.

    Gutes Gelingen und beste Grüße

    Andreas

    P.S. 1: Denke noch mal darüber nach, was dbv geschrieben hat. Das Betriebssystem hast Du kostenlos erhalten - wie auch so ziemlich alle andere Software, die auf dem Raspberry Pi läuft (Programmiersprachen, Office-Paket, Zeichenprogramme, ..., ...). Eigentlich läuft alles unter der GNU Public Licence (GPL). Wenn du all diese Software kostenlos nutzt, um dann eine Anwendung zu scheiben, die durch einen sonstwie gearteten Schutz die Funktion auf einem anderen Raspberry Pi verhindert, dann verstößt du gegen diese GPL.

    P.S. 2: Ich habe solche Schutzfunktionen nur auf meinen Entwicklungen auf Windows-PC eingebaut. :wallbash:

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (20. März 2014 um 10:23)

  • Hallo MB_LTRX,

    hmm ... unter Linux würde ich das über ein KLM und ein entsprechendes Gegenstück lösen, und dann per ioctl() eine Abfrage machen.

    Andererseits:
    Fairerweise wäre es imho sicher nicht verkehrt, Dein Projekt als Open Source zu deklarieren. Immerhin profitierst Du nicht unerheblich von den Open Source Projekten anderer - ja ohne die wäre Dein Projekt vermutlich gar nicht zustande gekommen.
    Oder wie fändest Du es, wenn Du zukünftig - wie bei Microsoft - für jeden Furz etliche Euronen abdrücken musst :fies: ?
    Das ist ein Nehmen und Geben, so wie auch hier das Forum. Wenn es irgendwann zu einseitig wird, stirbt die Idee.
    Ich kann mir ehrlich gesagt nicht vorstellen, dass Dein Programm sooo top-secret, aufwändig und kompliziert ist, dass es unbedingt schützenswert ist. Schau Dir mal die RPi- und Linux-Entwickler an: die stecken jeder richtig Arbeit in dieses "Projekt".

    just my 2 cent,
    -ds-

  • Eigentlich habt ihr recht!
    Open Source ist Open Source.

    Ich werde also keinen Kopierschutz einbauen.
    Es wäre echt nicht fair.

    Dennoch Danke für die Anteilnahme dieses Themas.

    Eine andere Möglichkeit ist die MAC-Adresse abzufragen.
    Ich werde jetzt das Thema auf erledigt setzen

    :danke_ATDE:


  • ...
    Bsp.: Die Kennung sei ABCD, ABCD verschlüsselt sei WXYZ
    ...

    Hi Andreas,
    nix für ungut aber das klingt für mich nach "Security by Obscurity" ...
    -ds-

    Sehr schön, daß Du Dich hast überzeugen lassen :thumbs1: - das freut mich als Verfechter von Open Source ganz besonders.
    Um noch mal kurz auf Dein ursprüngliches Anliegen inzugehen: MAC-Adressen kann man türken ;) ...

    -ds-


  • [quote='Andreas','http://test.forum-raspberrypi.de/forum/index.ph…71253#post71253']
    ...
    Bsp.: Die Kennung sei ABCD, ABCD verschlüsselt sei WXYZ
    ...

    Hi Andreas,
    nix für ungut aber das klingt für mich nach "Security by Obscurity" ...
    -ds-

    Hi Dreamshader,

    "Security by Obscurity" gefällt mir :thumbs1: - aber es funktioniert! Und ist nur zu umgehen, wenn man den Quellcode durch einen Disassembler jagt. Und wenn eine Anwendung z.B. 2 MB groß ist, dann ist der Code nicht so schnell geknackt.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!